Algoritma & Programming Algoritma & Programming
3 sks (2,1) k
2 sks: Teori 1 sks: Lab Session
Course material:
History
Algorithm
Flowchart atau aliran proses Flowchart atau aliran proses
Algorithm & Programming • Asal kata Algoritma berasal dari nama Abu Ja’far Mohammed Ibnu Musa al‐
Ja far Mohammed Ibnu Musa al
Khowarizmi, ilmuan Persia yang menulis kitab al jabr w’al‐muqabala (rules of
restoration and reduction) sekitar tahun 825
History
restoration and reduction) sekitar tahun 825 M
• squares equal roots (ax 2 = bx)
• squares equal number (ax 2 = c)
t l b (b )
• roots equal number (bx = c)
• squares and roots equal number (ax 2 + bx = c)
• squares and number equal roots (ax 2 + c = bx)
• Bahasa tingkat rendah (low level language)
bahasa yang berorientasi ke mesin
bahasa yang berorientasi ke mesin.
• Bahasa tingkat tinggi (high level language)
bahasa yang berorientasi ke manusia
Programming Language
(seperti bahasa inggris)
• Interpreter : menterjemahkan baris per baris instruksi. Contoh bahasa Basic.
C il j hk l h
• Compiler : menterjamahkan setelah
seluruh instruksi ditulis. Contoh bahasa
Pascal, C, C++, Perl, java, dll.
Algorithm & Programming Urutan langkah‐langkah untuk memecahkan masalah
1. Urutan logis pengambilan keputusan untuk memecahkan
masalah
Urutan langkah logis, berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat‐lompat.
2 Alur pemikiran dalam menyelesaikan suatu pekerjaan yang
Definisi Algoritma
2. Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis.
alur pikiran, yang artinya algoritma seseorang dapat berbeda dari algoritma orang lain.
tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu.
• Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan berbagai masalah pemrograman, terutama dalam komputasi numeris. Tanpa algoritma yang dirancang baik maka proses pemrograman akan menjadi salah, rusak, baik maka proses pemrograman akan menjadi salah, rusak, atau lambat dan tidak efisien.
Algoritma di butuhkan untuk memerintah
komputer mengambil langkah‐langkah tertentu untuk
menyelesaikan masalah
Step for Solution
• Kriteria Pemilihan Algoritma
• Ada Output
• Efektifitas dan Efisiensi
• Jumlah Langkahnya Berhingga B khi
• Berakhir
• Terstruktur
Suatu Algoritma yg terbaik (The Best): “Suatu algoritma harus Suatu Algoritma yg terbaik (The Best): Suatu algoritma harus
menghasilkan output yg tepat guna (efektif) dlm waktu yg relatif singkat & penggunaan memori yg relatif sedikit (efesien) dgn langkah
yg berhingga & prosedurnya berakhir baik dlm keadaan diperoleh suatu solusi ataupun tdk ada solusinya.“
suatu solusi ataupun tdk ada solusinya.
Algorithm & Programming
• Bagaimana merencanakan algoritma
• Bagaimana menyatakan suatu algoritma (menulis
algoritma)
• Bagaimana validitas suatu algoritma.
Sequence of Algorithm
• Bagaimana Menganalisa suatu Algoritma.
• Bagaimana Menguji Program dari suatu Algoritma
• Ad.1. Bagaimana merencanakan algoritma
• Dengan Mendefinisikan masalah.
• Contoh : Permasalahan menghitung luas lingkaran, dengan data yang diketahui adalah diameter lingkaran.
• Rumus : ∏ . r2 dengan Phi = 3.14 atau 22/7.
• Ad.2. Bagaimana menyatakan suatu algoritma (menulis algoritma)
• – Dengan psudocode
• Suatu cara penulisan algoritma agar ide dan logika dari algoritma dapat disampaikan/diekspresikan menggunakan gaya bahasa pemrograman tertentu.
• Dengan flowchart / diagram alir
• Program Flowchart, yaitu bagan yang menggambar‐kan urutan logika dari suatu
prosedur pemecahan masalah.
Flowchart 1 dari 3
Flowchart adalah penggambaran secara grafik dari langkah‐langkah dan urut‐urutan
prosedur dari suatu program Flowchart prosedur dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah kedalam segmen‐
segmen yang lebih kecil dan menolong dalam menganalisis alternatif‐alternatif lain dalam pengoperasian. Flowchart biasanya
pengoperasian. Flowchart biasanya
mempermudah penyelesaian suatu masalah khususnya masalah yang perlu dipelajari dan dievaluasi lebih lanjut.
Algorithm & Programming
Flowchart 2 dari 3
Flowchart adalah penggambaran secara grafik dari langkah‐langkah dan urut‐urutan
prosedur dari suatu program Flowchart prosedur dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah kedalam segmen‐
segmen yang lebih kecil dan menolong dalam menganalisis alternatif‐alternatif lain dalam pengoperasian. Flowchart biasanya
pengoperasian. Flowchart biasanya
mempermudah penyelesaian suatu masalah khususnya masalah yang perlu dipelajari dan dievaluasi lebih lanjut.
Masukkan nilai jmlBrg d h S t
Masukkan nilai jmlBrg dan hrgSat
REPEAT WHILE jmlBrg < 10 dan hrgSat
harga = jmlBrg x hrgSat
Cetak nilai harga
REPEAT WHILE jmlBrg < 10
Cetak pesan "Tidak boleh kurang dari 10"
Masukkan nilai jmlBrg dan hrgSat END REPEAT
END REPEAT
Flowchart 3 dari 3
Flowchart adalah penggambaran secara grafik dari langkah‐langkah dan urut‐urutan
prosedur dari suatu program Flowchart prosedur dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah kedalam segmen‐
segmen yang lebih kecil dan menolong dalam menganalisis alternatif‐alternatif lain dalam pengoperasian. Flowchart biasanya
pengoperasian. Flowchart biasanya
mempermudah penyelesaian suatu masalah khususnya masalah yang perlu dipelajari dan dievaluasi lebih lanjut.
Masukkan nilai jmlBrg d h S t
Masukkan nilai jmlBrg dan hrgSat
REPEAT WHILE jmlBrg < 10 dan hrgSat
harga = jmlBrg x hrgSat
Cetak nilai harga
REPEAT WHILE jmlBrg < 10
Cetak pesan "Tidak boleh kurang dari 10"
Masukkan nilai jmlBrg dan hrgSat END REPEAT
END REPEAT
Algorithm & Programming
#include <stdio h> Programming
Menuliskan
#include <stdio.h>
main() { int jmlhBrg;
float hargaSatuan;
algoritma dalam bahasa program.
float hargaSatuan;
printf("Masukan Jumlah Barang: ");
scanf("%d", &jmlhBrg);
printf("Harga Satuan: ");
p ( g );
scanf("%f", &hargaSatuan);
while (jmlhBrg < 10) {
printf("Jumlah barang tidak boleh kurang dari 10\n");
printf("Masukan Jumlah Barang: ");
scanf("%d", &jmlhBrg);
printf("Harga Satuan: ");
scanf("%f", &hargaSatuan);
}
printf ("Jumlah Barang: 10 < %d < 100", jmlhBrg);
return(0);
getchar();
}
#include <stdio.h>
main() {
#include <stdio.h>
main() {
int jmlhBrg;
float hargaSatuan;
int jmlhBrg;
float hargaSatuan;
Programming
Menuliskan
Tidak sesuai Algoritma !!!
jmlhBrg=0;
hargaSatuan=0;
while (jmlhBrg < 10) { jmlhBrg=0;
hargaSatuan=0;
while (jmlhBrg < 10) {
algoritma dalam
bahasa program
(j g ) {printf("Jumlah barang tidak boleh kurang dari 10\n");
printf("Masukan Jumlah Barang: ");
scanf("%d", &jmlhBrg);
printf("Harga Satuan: ");
(j g ) {
printf("Jumlah barang tidak boleh kurang dari 10\n");
printf("Masukan Jumlah Barang: ");
scanf("%d", &jmlhBrg);
printf("Harga Satuan: ");
printf( Harga Satuan: );
scanf("%f", &hargaSatuan);
}
printf ("Jumlah Barang: 10 < %d < 100" jmlhBrg);
printf( Harga Satuan: );
scanf("%f", &hargaSatuan);
}
printf ("Jumlah Barang: 10 < %d < 100" jmlhBrg);
printf ( Jumlah Barang: 10 < %d < 100 , jmlhBrg);
return(0);
getchar();
}
printf ( Jumlah Barang: 10 < %d < 100 , jmlhBrg);
return(0);
getchar();
}}}
Algorithm & Programming
int main(){ int a;char b;
int main() { int a,b;
a = 5;
int main() { int a;
char b;
int main() { int a,b;
a = 5;
return 0;} ;int main() {
int a,b,c;
; b = a + 3;
a = a - 3;
return 0;
} int main()
; return 0;
} int main()
{
int a,b,c;
; b = a + 3;
a = a - 3;
return 0;
} int main()
Programming
Kenali,
int a,b,c;return 0;} int main()
{
const float pi = 3 14;
int main() { int a;
scanf("%d",&a);
a = a * 2;
printf("The answer is %d",a);
return 0;
int a,b,c;
return 0;
} int main()
{
const float pi = 3 14;
int main() { int a;
scanf("%d",&a);
a = a * 2;
printf("The answer is %d",a);
return 0;
Kenali,
Rasakan, dan
d k !!!
const float pi = 3.14;return 0;
} int main()
{ int a;
}
%d or %i int
%c char
%f float
%lf d bl const float pi = 3.14;
return 0;
} int main()
{ int a;
}
%d or %i int
%c char
%f float
%lf d bl
Bedakan !!!
h !!!!
int a;char b;a = 3;b = 'H';
return 0;
}
%lf double
%s string int a;
char b;
a = 3;
b = 'H';
return 0;
}
%lf double
%s string
This is Basic !!!!
*stdio.h, return(0), getchar()
*integer, float, char, string, const
Operator Operation + Addition
- Subtraction
* Multiplication / Division
Operator Operation + Addition
- Subtraction
* Multiplication / Division
*if, else, elseif, while, do while, for
*prinf, puts, scanf
*%d, %i, %f, %f.2, %f.5, %c, %s
/ Division
% Modulus(Remainder of integer division)
/ Division
% Modulus(Remainder of integer division)