Pemrograman Komputer

advertisement
Pemrograman Komputer
Pendahuluan
• Komputer ≠ Mesin ‘pintar’
• Fakta:
- Komputer vs Gary Kasparov
- Komputer dapat meramal
- Film
Komputer = alat bantu
Komputer perlu instruksi yang ‘dimasukkan’ ke
dalam komputer
Instruksi = program
• Instruksi harus ditulis dalam suatu bahasa
komputer
• Bahasa untuk ‘berkomunikasi’ dengan
komputer = bahasa pemrograman
• Bahasa pemrograman:
- Bahasa tingkat rendah : primitif : sulit
dipahami
- Bahasa tingkat tinggi : bahasa manusia :
bahasa inggris : mudah dipelajari
• Dahulu: sebuah bahasa pemrograman
hanya untuk sebuah sistem operasi
tertentu
• Sekarang: sebaliknya
Ditekankan pada sebuah design suatu
pemecahan masalah.
Design ini berisi langkah-langkah untuk
mencapai penyelesaian.
• Urutan langkah-langkah yang sistematis
untuk menyelesaikan sebuah masalah 
algoritma.
• Notasi untuk menuliskan algoritma 
notasi algoritmik.
• Notasi algoritmik ≠ Notasi bahasa
pemrograman.
Algoritma
• ≠ Logaritma
• Algorism dari buku Arab  Abu Ja’far
Muhammad ibnu Musa al-Khuwarizmi
• al-Khuwarizmi  algorism : proses
menghitung dengan angka arab
Algorism  Algorithm  Algoritma
•1950  ‘algoritma Euclidean’
(Euclid’s algorithm) : proses untuk
menemukan pembagi bersama terbesar
(common greatest divisor) dari dua bilangan
bulat.
“Diberikan dua buah bilangan bulat positif m dan n (m
≥ n). Carilah pembagi bersama terbesar (pbt) dari
kedua bilangan tersebut, yaitu bilangan bulat positif
terbesar yang habis membagi m dan n.”
• Langkah-langkah:
1. Bagilah m dengan n. Kemudian misalkan r adalah
sisanya.
2. Jika r = 0 maka
n adalah jawabannya;
stop.
Tetapi jika r ≠ 0,
lanjutkan ke langkah 3
3. Ganti nilai m dengan nilai n, dan ganti nilai n dengan r,
lalu ulangi langkah 1.
#Contoh m = 30, n = 12
Contoh: m=30 , n=12
1. Hitung m/n = 30/12 = 2, sisanya r = 6
2. Karena r = 6 ≠ 0, maka lanjutkan ke lankah 3.
3. Nilai m = n = 12, dan n = r = 6. Kembali ke
langkah 1.
1. Hitung m/n = 12/6 = 2, sisanya r = 0
2. Karena r = 0, maka n = 6 adalah jawabannya.
Stop
Definisi
• Algoritma adalah urutan langkah-langkah
logis penyelesaian masalah yang disusun
secara sistematis.
Kamus Besar Bahasa Indonesia, 1998
Algoritma adalah urutan logis
pengambilan putusan untuk pemecahan
masalah.
Logis  nilai kebenarannya harus dapat
ditentukan, benar atau salah.
Langkah tidak benar  hasil pasti salah
Contoh
A
B
Kita ingin menukar isi kedua bejana itu sedemikian
sehinga bejana A berisi larutan biru dan bejana B berisi
larutan merah.
Algoritma TUKAR ISI BEJANA
Langkah-langkah:
1. Tuangkan larutan dari bejana A ke dalam
bejana B
2. Tuangkan larutan dari bejana B ke dalam
bejana A
Tidak Logis !!!
Algoritma salah !!
Hasil tidak tercapai !!
Solusi:
Kita memerlukan bejana tambahan, bejana C
Algoritma:
1. Tuangkan larutan dari bejana A ke dalam
bejana C
2. Tuangkan larutan dari bejana B ke dalam
bejana A
3. Tuangkan larutan dari bejana C ke dalam
bejana B
Logis !!!
Algoritma Benar !!!
Hasil tercapai !!!
Ciri penting Algoritma
Donald E. Knuth, The Art of Computer
Programming
1. Algoritma harus berhenti setelah mengerjakan
sejumlah langkah terbatas.
Program yang tidak pernah berhenti 
algoritma salah.
2. Setiap langkah harus didefinisikan dengan tepat
dan tidak ambiguous.
“bagilah p dengan beberapa buah bil. bulat positif”
“bagilah p dengan 10 buah bil. bulat positif”
Ciri penting Algoritma
3. Algoritma memiliki nol atau lebih masukan
(input)  besaran yg diberikan ke
algoritma sebelum algoritma mulai
bekerja.
4. Algoritma memiliki nol atau lebih keluaran
(output).  bisa mempunyai hubungan
dengan input.
5. Algoritma harus efektif.
Download