algoritma & programming · • bahasa tingkat tinggi (high level language) bahasa yang...
TRANSCRIPT
Algoritma & ProgrammingAlgoritma & Programming3 sks (2,1)k2 sks: Teori
1 sks: Lab Session
Course material:History
Algorithm
Flowchart atau aliran prosesFlowchart atau aliran proses
Programming (C/C++):codeblock,gnu compiler
Algorithm & Programming • Asal kata Algoritma berasal dari nama Abu Ja’far Mohammed Ibnu Musa al‐
Ja far Mohammed Ibnu Musa alKhowarizmi, ilmuan Persia yang menuliskitab al jabr w’al‐muqabala (rules of restoration and reduction) sekitar tahun 825
History
restoration and reduction) sekitar tahun 825 M
• squares equal roots (ax2 = bx)
• squares equal number (ax2 = c)
t l b (b )• roots equal number (bx = c)
• squares and roots equal number (ax2 + bx = c)
• squares and number equal roots (ax2 + c = bx)
• roots and number equal squares (bx + c = ax2)
Arie Budiansyah, email: [email protected], Informatika ‐ Univ. Syiah Kuala: Oct 2011 2
Algorithm & Programming • 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 setelahseluruh instruksi ditulis. Contoh bahasaPascal, C, C++, Perl, java, dll.
Arie Budiansyah, email: [email protected], Informatika ‐ Univ. Syiah Kuala: Oct 2011 3
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
Arie Budiansyah, email: [email protected], Informatika ‐ Univ. Syiah Kuala: Oct 2011 4
Algorithm & Programming
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 harusSuatu Algoritma yg terbaik (The Best): Suatu algoritma harusmenghasilkan output yg tepat guna (efektif) dlm waktu yg relatif
singkat & penggunaan memori yg relatif sedikit (efesien) dgn langkahyg berhingga & prosedurnya berakhir baik dlm keadaan diperoleh
suatu solusi ataupun tdk ada solusinya.“suatu solusi ataupun tdk ada solusinya.
Arie Budiansyah, email: [email protected], Informatika ‐ Univ. Syiah Kuala: Oct 2011 5
Algorithm & Programming• Bagaimana merencanakan algoritma
• Bagaimana menyatakan suatu algoritma (menulisalgoritma)
• 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 diketahuiadalah 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 dapatdisampaikan/diekspresikan menggunakan gaya bahasa pemrograman tertentu.
• Dengan flowchart / diagram alir
• Program Flowchart, yaitu bagan yang menggambar‐kan urutan logika dari suatuprosedur pemecahan masalah.
Arie Budiansyah, email: [email protected], Informatika ‐ Univ. Syiah Kuala: Oct 2011 6
Algorithm & Programming
Flowchart 1 dari 3Flowchart adalah penggambaran secara grafikdari langkah‐langkah dan urut‐urutanprosedur dari suatu program Flowchartprosedur dari suatu program. Flowchart menolong analis dan programmer untukmemecahkan masalah kedalam segmen‐segmen yang lebih kecil dan menolong dalammenganalisis alternatif‐alternatif lain dalampengoperasian. Flowchart biasanyapengoperasian. Flowchart biasanyamempermudah penyelesaian suatu masalahkhususnya masalah yang perlu dipelajari dandievaluasi lebih lanjut.
Arie Budiansyah, email: [email protected], Informatika ‐ Univ. Syiah Kuala: Oct 2011 7
Algorithm & Programming
Flowchart 2 dari 3Flowchart adalah penggambaran secara grafikdari langkah‐langkah dan urut‐urutanprosedur dari suatu program Flowchartprosedur dari suatu program. Flowchart menolong analis dan programmer untukmemecahkan masalah kedalam segmen‐segmen yang lebih kecil dan menolong dalammenganalisis alternatif‐alternatif lain dalampengoperasian. Flowchart biasanyapengoperasian. Flowchart biasanyamempermudah penyelesaian suatu masalahkhususnya masalah yang perlu dipelajari dandievaluasi lebih lanjut.
Masukkan nilai jmlBrgd 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 kurangdari 10"Masukkan nilai jmlBrg dan hrgSatEND REPEAT
Arie Budiansyah, email: [email protected], Informatika ‐ Univ. Syiah Kuala: Oct 2011 8
END REPEAT
Algorithm & Programming
Flowchart 3 dari 3Flowchart adalah penggambaran secara grafikdari langkah‐langkah dan urut‐urutanprosedur dari suatu program Flowchartprosedur dari suatu program. Flowchart menolong analis dan programmer untukmemecahkan masalah kedalam segmen‐segmen yang lebih kecil dan menolong dalammenganalisis alternatif‐alternatif lain dalampengoperasian. Flowchart biasanyapengoperasian. Flowchart biasanyamempermudah penyelesaian suatu masalahkhususnya masalah yang perlu dipelajari dandievaluasi lebih lanjut.
Masukkan nilai jmlBrgd 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 kurangdari 10"Masukkan nilai jmlBrg dan hrgSatEND REPEAT
Arie Budiansyah, email: [email protected], Informatika ‐ Univ. Syiah Kuala: Oct 2011 9
END REPEAT
Algorithm & Programming
#include <stdio h>
Programming
Menuliskan
#include <stdio.h>
main() {
int jmlhBrg;float hargaSatuan;
algoritma dalambahasa 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();
}
Arie Budiansyah, email: [email protected], Informatika ‐ Univ. Syiah Kuala: Oct 2011 10
Algorithm & Programming #include <stdio.h>
main() {
#include <stdio.h>
main() {
int jmlhBrg;
float hargaSatuan;
int jmlhBrg;
float hargaSatuan;
Programming
MenuliskanTidak sesuai Algoritma !!!
jmlhBrg=0;
hargaSatuan=0;
while (jmlhBrg < 10) {
jmlhBrg=0;
hargaSatuan=0;
while (jmlhBrg < 10) {
algoritma dalambahasa 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();
}}}
Arie Budiansyah, email: [email protected], Informatika ‐ Univ. Syiah Kuala: Oct 2011 11
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 stringThis 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)
Arie Budiansyah, email: [email protected], Informatika ‐ Univ. Syiah Kuala: Oct 2011 12
Algorithm & Programming
Referensi
RTFMRead the Fine Manual
Arie Budiansyah, email: [email protected], Informatika ‐ Univ. Syiah Kuala: Oct 2011 13
Algorithm & Programming
Array
* Mendeklarasian banyak variable yyang sama.
int i1,i2,i3,i4,i5;
int i[5];int i[5];
Code:
Arie Budiansyah, email: [email protected], Informatika ‐ Univ. Syiah Kuala: Oct 2011 14