Anda di halaman 1dari 18

Pemrograman Komputer

I Gusti Bagus Budi Dharma, ST., M.Eng.


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:
• Bagilah m dengan n. Kemudian misalkan r adalah
sisanya.
• 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

• Hitung m/n = 30/12 = 2, sisanya r = 6


• Karena r = 6 ≠ 0, maka lanjutkan ke lankah 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:
4. Tuangkan larutan dari bejana A ke
dalam bejana B
5. Tuangkan larutan dari bejana B ke
dalam bejana A
Tidak Logis !!!
Algoritma salah !!
Hasil tidak tercapai !!
Solusi:
Kita memerlukan bejana tambahan, bejana C

Algoritma:
5. Tuangkan larutan dari bejana A ke dalam
bejana C
6. Tuangkan larutan dari bejana B ke dalam
bejana A
7. 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
2. 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.