I. ALGORITMA
Definisi Algoritma
Contoh :
Masalah :
Tentukan akar kuadrat dari suatu bilangan bulat positif ! (akarnya
bilangan bulat positif)
Penyelesaiannya :
Semi algoritmanya :
1. Baca bilangan bulat positif y
2. Nyatakan nilai q = 0
3. Hitung p = q x q
4. Jika p = y maka q adalah akarnya, lalu berhenti
5. Q ditambah 1
6. Kembali ke langkah 3
RRM2004
Algoritma dan Pemrograman II A
1. y=4
2. q=0
3. p=0
4. p = y → 0 = 4 ? (salah)
5. q=1
6. kembali ke langkah 3
3. p = 1
4. p = y → 1 = 4 ? (salah)
5. q = 2
6. kembali ke langkah 3
3. p = 4
4. p = y → 4 = 4 ? (benar)
5. berarti q = 2 adalah akarnya.
6. Proses berakhir.
3. p = 9
4. p = y → 9 = 5 ? (salah)
5. q = 3
6. kembali ke 3
……
…..
dan seterusnya
Proses tersebut tidak akan pernah berhenti, karena untuk masalah nilai y = 5 tidak
mempunyai solusi.
Urutan dari barisan langkah-lamgkah tersebut di atas (semi algoritma) dapat diubah
menjadi algoritma. Dengan demikian proses akan berhenti atau berakhir baik dalam
RRM2004
Algoritma dan Pemrograman II A
keadaan ada solusi maupun tidak ada solusi. Hal ini cukup dilakukan dengan
penambahan satu instruksi di antara langkah ke-4 dan ke-5. Sehingga algoritmanya
adalah :
RRM2004
Algoritma dan Pemrograman II A
4. 1 = 5 ? (salah)
5. 1 > 5 ? (salah)
6. q = 2
7. kembali ke langkah 3
3. p = 4
4. 4 = 5 ? (salah)
5 .5 ? (salah)
6. q = 3
7. kembali ke langkah 3
8. p = 9
9. 9 = 5 ? (salah)
10. 9 > 5 ? (benar)
11. berarti tidak punya akar.
Proses berhenti
Sifat-sifat Algoritma :
2. Harus jelas :
Penulisan dari setiap langkah yang terdapat didalam sebuah algoritma harus memiliki
arti yang khusus dan spesifik, karena penulisan langkah bagi komputer berbeda
dengan penulisan langkah bagi manusia.
5. Efektivitas :
RRM2004
Algoritma dan Pemrograman II A
Contoh 1.
Masalah :
Tentukan bilangan terbesar diantara 3 bilangan bulat yang diberikan.
Algoritma :
1. Baca (sebagai input) bilangan yang pertama, sebut sebagai NUM1
2. Baca (sebagai input) bilangan yang kedua, sebut sebagai NUM2
Bandingkan NUM1 dengan NUM2, kita ambil yang lebih besar, jika kedua bilangan
tersebut sama besarnya, kita ambil NUM1, dan sebut bilangan tersebut BESAR
3. Baca (sebagai input) bilangan yang ketiga, sebut sebagai NUM3
4. Bandingkan BESAR dengan NUM3 dan pilih yang lebih besar, jika keduanya sama
besar, pilih BESAR, dan sebut bilangan tersebut BESAR
5. Keluarkan, sebagai output, BESAR
6. Selesai
Contoh 2.
Berikut ini perluasan dari masalah pada contoh 1.
Masalah :
Tentukan bilangan terbesar diantara N buah bilangan yang duberikan, dengan N
lebih besar dari 2.
Algoritma :
1. Input (masukkan) N
2. Input (masukkan) bilangan yang pertama , sebut sebagai NUM1
3. Input (masukkan) bilangan yang kedua ,sebut sebagai BESAR
4. Buatlah pencacah atau counter untuk menghitung banyaknya bilangan yang sudah
dibaca, sebut pencacah tersebut HITUNG. Istilah sebagai harga awal dari HITUNG
adalah 2.
5. Bandingkan NUM1 dengan BESAR, jika NUM1 lebih besar dari pada BESAR,
tempatkan BESAR = NUM1.
6. Jika HITUNG sama dengan N, output adalah BESAR, kemudian berhenti
RRM2004
Algoritma dan Pemrograman II A
7. Jika HITUNG tidak sama dengan N, tambahkan 1 pada nilai HITUNG. Masukkan
bilangan berikutnya sebut NUM1. Kemudian laksanakan lagi langkah ke- 5 ini.
Diagram alur dapat menunjukkan secara jelas arus pengendalian algoritma, dengan
memberikan gambaran berupa simbol-simbol yang masing-masing memiliki fungsi dan
arti.
RRM2004
Algoritma dan Pemrograman II A
START
INPUT N
SET HITUNG = 2
YES NO
NUM1 > BESAR
HITUNG = N
STOP
INPUT
NUM1
RRM2004
Algoritma dan Pemrograman II A
RRM2004
Algoritma dan Pemrograman II A
RRM2004
Algoritma dan Pemrograman II A
RRM2004
Algoritma dan Pemrograman II A
RRM2004
Algoritma dan Pemrograman II A
RRM2004
Algoritma dan Pemrograman II A
RRM2004