Bab 3 Algoritma Perulangan 181
1 READ n 2 READ a
3 jumlah=a 4 i=1
5 WHILE a =n DO 6
a=a+2i 7
jumlah=jumlah + a 8
i=i+1 9 WRITE jumlah
10 END 2. Output dari algoritma di atas jika dimasukkan nilai n dan a adalah 20 dan 3 adalah ....
a. a. 32
b. 45 c. 55
d. 60 e. 65
3. Jika baris 8 dihilangkan, dengan outpout yang sama dengan nomor 3 yaitu nilai n adan a adalah 20 dan 3, yang terjadi adalah ....
a. Hasilnya tetap sama b. Perulangan tanpa henti
c. Iterasi tidak berjalan d. Outputnya 120
e. Outputnya 99
Perhatikan algoritma berikut untuk no 4 dan 5.
Algoritma ganjilGenap
Variabel n:integer Pilihan:karakter
1 REPEAT 2
READ n 3
IF n MOD 2==0 THEN 4
WRITE “Genap” 5
ELSE 6
WRITE “Ganjil” 7
WRITE “Ingin menghitung lagi? yn” 8
READ pilihan 9 UNTIL pilihan==”n”
10 END
4. Pernyataan yang benar mengenai algoritma di atas adalah .... a. Input pengentian perulangan di dalam perulangan itu sendiri
b. Pengguna dapat menentukan bilangan ganjil genap sebanyak yang dia mau
182 Pemrograman Dasar SMK Kelas X Sem 1
c. Pengguna dapat behenti jika dia tidak mengetikkan karakter „y‟
d. Algoritma di atas dapat diubah dalam struktur WHILE DO e. Iteratornya adalah variabel pilihan
5. Untuk mengantisipasi bahwa pilihan =”N” atau “n” dianggap sama, yaitu pengguna ingin
menghentikan perulangan adalah dengan merubah kondisi sebagai berikut. a.
pilihan”y” b.
pilihan ”y” OR pilihan”Y” c.
pilihan==”N” d.
pilihan ”n” OR pilihan”N” e. p
ilihan ”n” AND pilihan”N”
B.
Essay
Buatlah algoritma untuk menghitung luas persegi panjang secara berulang-ulang dengan struktur WHILE DO
Bab 3 Algoritma Perulangan 183
3.4. KEGIATAN BELAJAR 4 PERULANGAN MENGGUNAKAN PENCACAH NAIK
Sebagaimana penjelasan pada Kegiatan Belajar Pertama Bab 2 ini, pemberhentian dalam suatu perulangan dapat dilakukan dengan menggunakan pencacah. Artinya dari awal sudah
ditentukan bahwa perulangan akan dilakukan berapa kali. Pencacah ini dibagi menjadi dua yaitu pencacah naik dan pencacah turun. Pada kegiatan belajar kali ini kita akan belajar menggunakan
pencacah naik dalam perulangan.
3.4.1. Tujuan Pembelajaran
Dengan kegiatan belajar ini siswa diharapkan memahami algoritma perulangan dengan pencacah naik dan amenerapkannya untuk menyelesaikan masalah nyata.
3.4.2. Aktivitas Kegiatan Belajar
3.4.2.1. Mengamati
Perhatikan dua algoritma berikut.
Algoritma TulisUlang1
Variabel i:integer 1 i=1
2 WHILE i=10 DO 3
WRITE “Hello” 4
i=i+1
5 END Algorima TulisUlang2
Variabel i:integer 1 FOR i=1 TO 10 DO
2 WRITE “Hello”
3 END
3.4.2.2. Menanya
Dari dua algoritma di atas susunlah pertanyaan yang semisal pernyataan berikut: 1 Apa tujuan dari kedua algoritma?
2 Kapan Algoritma TulisUlang1 dan TulisUlang2 berhenti? 3 Manakah yang lebih praktis di antara kedua algoritma di atas?
4 Manakah perulangan yang menggunakan pencacah? 5 Apakah yang dimaksud perulangan dengan pencacah?
3.4.2.3. Mengumpulkan Informasi Mencoba
Kedua algoritma di atas mempunyai keluaran yang sama yaitu mencetak tulisan “Hello” sebanyak 10 kali. Pada algoritma TulisUlang1, perulangan menggunakan kondisi di awal, yaitu
dengan menggunakan struktur WHILE DO, sedangkan pada algoritma TulisUlang2, digunakan struktur FOR i=
1 TO 10. Maksudnya adalah untuk nilai i =1 sampai 10 kerjakan: WRITE “Hello”. Artinya secara otomatis nilai i akan bertambah satu setiap perulangan. Dan dalam tiap perulangan
akan dituliskan kata “Hello”. Kapan berhenti? Sesuai dengan perintahnya bahwa ini dilakukan sampai i=10. Nilai i=10 inilah yang menggantikan sentinel i=10 pada struktur WHILE DO. Variabel
i,s ebagai iterator disebut variabel pencacah karena nilai i dihitung dari 1 sampai 10 maka disebut pencacah naik. Dari namannya, variabel pencacah, tentu sebuah vvariabel pencacah maka tipe
184 Pemrograman Dasar SMK Kelas X Sem 1
data yang bisa dikenakan adalah tipe data ordinal dapat dihitung, yaitu tipe data integer dan karakter.
Jika ada pertanyaan manakah yang lebih praktis menggunakan struktur perulangan dengan kondisi di depanakhir atau menggunakan pencacah, semua tergantung pada masalah yang
dihadapi. Ada permasalahan yang lebih praktis menggunakan pencacah, namun ada juga lebih baik menggunakan struktur perulangan dengan kondisi di awalakhir.
Secara umum, bentuk struktur perulangan dengan pencacah naik dituliskan FOR i=
nilaiAwal TO nilaiAkhir DO
Pernyataan 1 Pernyataan 2
Dst Variabel i dapat diganti dengan variabel lain. Sebagaimna dalam struktur WHILE DO maupun
REPEAT UNTIL, nilai awal dan nilai akhir dalam struktur FOR TO DO dapat ditentukan oleh algoritma maupun ditentukan oleh pengguna.
Penyajian dengan Flowchart
Ada beberapa bentuk penyajian struktur FOR TO DO. Karena pada dasarnya bentuk FOR TO DO adalah bentuk lain dari struktur WHILE DO maka ada yang menuliskannya sama persisi
dengan flowchart pada struktur WHILE DO. Namun demikian ada juga yang mempresentasikan struktur FOR TO DO dalam bentuk berikut.
FOR i=nilaiAwal TO nilaiAkhir
Pernyataan 1 Pernyataan 2
dst
Contoh 1
Perhatikan algoritma berikut.
Algoritma JumlahBilangan
Variabel i, jumlah:integer 1 jumlah=0