Statement yang digunakan pada pemberhentian dengan pencacah naik adalah struktur

BAB 4

STRUKTUR PERULANGAN



Apa yang terjadi apabila seorang programmer ingin membuat sebuah proses yang sama
tapi dalam jumlah yang lebih banyak? Apakah dia harus menuliskan nya berulang kali? Ternyata,
untuk menyelesaikan masalah ini, kita hanya perlu menggunakan sebuah struktur control
pengulangan. Lalu apa fungsi dari struktur control pengulangan itu?
Struktur perulangan atau biasa disebut dengan looping digunakan untuk mengatur proses
yang dijalankan secara berulang-ulang. Sehingga programmer tidak perlu menuliskan script nya
secara berulang kali. Struktur kontrol perulangan mengijinkan kita untuk mengeksekusi sebuah
statement atau sekelompok statement dalam jumlah yang banyak.
Pembahasan mengenai apa itu struktur perulangan dalam Algoritma sudah dijelaskan
dengan detail di semester 1, termasuk apa itu perulangan, bagaimna bentuk-bentuknya. Pada bab
ini kita akan mengimplementasikan algoritma perulangan tersebut dalam kode bahasa Pascal

4.1. KEGIATAN BELAJAR 1 PERULANGAN DENGAN KONDISI DIAWAL
4.1.1. Tujuan pembelajaran
4.1. KEGIATAN BELAJAR 1 PERULANGAN DENGAN KONDISI DIAWAL
4.1.1. Tujuan pembelajaran
Coba perhatikan contoh kode program berikut




Ketiga kode program di atas adalah contoh dari perulangan dengan kondisi diawal.

4.1.2.2. Menanya
Dari ketiga contoh kode program di atas, buat pertanyaan yang berkaitan dengannya, misalkan:
1. Apakah yang membedakan 3 souce code di atas?
2. Bagaimana cara kerja dari 3 kode program di atas?
3. Lalu, apa hasil eksekusi dari 3 kode program di atas?
4. Ketiga kode program di atas merupakan contoh dari perulangan dengan kondisi di awal,
lalu kapan kita akan menggunakannya?


4.1.2.3. Mengumpulkan Informasi/Mencoba

jika kita lihat sekilas, maka kita bisa menyimpulkan bahwa kode program pertama dan
kedua memiliki struktur yang hampir sama, yang membedakan hanya yang pertama menggunakan
pernyataan WHILE-DO, sedangkan yang kedua menggunakan pernyataan FOR-DO. Sebagaimana yang pernah dijelaskan pada semster lalu bahwa struktur perulangan
merupakan struktur yang tidak terpisahkan dengan algoritma dan pemrograman

1. Pemberhentian dengan syarat
Pemberhentian dengan syarat artinya ada sebuah kondisi yang akan menyebabkan perulangan
berhenti. Pemberian syarat ini juga dapat dilakukan dengan dua cara, yaitu
a. Syarat diberikan di awal, di mana selama persayaratan dipenuhi maka dilakuakn serangkain
perintah
b. Syarat diberikan di akhir, di mana proses akan diulang-ulang sampai syarat dipenuhi


2. Pemberhentian dengan pencacah
Pemberhentian dengan pencacah, artinya dari awal sudah ditentukan bahwa perulangan akan
dilakukan berapa kali. Pencacah ini juga ada dua macam cara, yaitu
a. Pencacah naik
Pemberhentian dengan pencacah naik artinya untuk suatu pencacah, misalkan i dari 1
sampai 100 lakukan rangkain langkah x. Artinya langkah tersebut akan diulangi sebanyak
seratus kali. Dalam pascal untuk kasus pencacah naik digunakan struktur FOR TO DO.
b. Pencacah turun
Pemberhentian dengan pencacah turun , artinya sebaliknya untuk suatu pencacah i dari
100 sampai 1 lakukan rangkaian langkah x, artinya langkah x akan diulangi sebanyak
seratus kali. Dalam pascal untuk kasus pencacah naik digunakan struktur FOR DOWNTO
DO

Perulangan dengan struktur WHILE DO
Dalam berbagai bahasa Pascal dikenal struktur WHILE DO, yang berarti selama memenuhi
kriteri/kondisi tertentu, maka dilakukan serangkaian proses. Struktur ini dapat diterapkan pada
contoh di atas sebagai berikut.

Atau jika lebih dari satu pernyataan dapat dituliskan


Untuk lebih jelasnya, perhatikan contoh kode program berikut, beserta dengan hasilnya.
Contoh 1



Perulangan dengan struktur FOR DO
Perulangan dengan pencacah, yaitu menggunakan struktur FOR DO dimasukkan dalam
pembahasan pada kegaiatan Belajar ini. Struktur ini digunakan untuk mengulang statement atau
satu blok statement berulang kali sejumlah yang ditentukan.
Bentuk umum :



Untuk lebih jelasnya, perhatikan contoh kode program berikut, beserta hasilnya.



Penulisan pernyataan yang akan diproses berulang kali tersebut dapat juga ditulis dalam bentuk
blok pernyataan (diawali dengan BEGIN dan diakhiri dengan END), walaupun hanya berisi sebuah
statement saja, sebagai berikut :
Contoh 2



Dalam menyelesaiakan suatu permasalahan kita bisa menggunakan salah satu bentuk
perulangan, apakah While Do ataupun For Do. Manakah yang lebih baik? Keduanya mempunyai
Bab 4 Struktur Kontrol Perulangan 131

kelebihan dan kekurangan sendiri-sendiri. Ada permasalahan yang dapat diubah dalam dua bentuk
eprulangan tapi ada yang lebih mudah menggunakan bentuk For Do, tapi ada juga yang hanya
bisa digunakan bentuk While Do.
Perhatikan dua contoh pertama pada bagian mengamati.


Kedua program di atas mempunyai keluaran yang sama yaitu mencetak Pascal sebanyak 5 kali, yaitu untuk i=1 sampai 5. Dalam While Do,
- pertama i diberi nilai 1, - Periksa apakah i <= 5? Iya maka tuliskan Pascal kemudian nilai i ditambah 1 menjadi 2 - Periksa apakah i<=5? Iya , maka tuliskan Pascal, i=i+1=3
- Periksa apakah i<=5? Iya , maka tuliskan Pascal, i=i+1=4
- Periksa apakah i<=5? Iya , maka tuliskan Pascal, i=i+1=5
- Periksa apakah i<=5? Iya , maka tuliskan Pascal, i=i+1=6
- Periksa apakah i<=5?Tidak, maka STOP
Di sini i berfungsi sebagai iterator dan 5 sebagai nilai sentinel.
Dalam struktur FOR DO, iterator dan sentinel diringkas dalam bentuk for i:=1 to 5, di mana i
otomatis bertambah naik, mulai dari nilai awal 1 menjadi 5. Oleh karena itu struktur For Do disebut
perulangan dengan pencacah.
Contoh berikut kode program dengan dua struktur berbeda untuk masalah yang sama.
Contoh 3.
Buatlah program untuk mementukan suku ke-n dari barisan berikut.

2,7,12,17,22, ....
Jawab:
Barisan di atas adalah barisan aritmatika di mana selisih tiap suku berturutan adalah 5. Dengan
struktur For Do.


Dari kode program di atas dapat dilihat bahwa suku pertama adalah 2, sehingga dinyatakan nilai
awal suku:=2. Berikutnya untuk suku kedua, ketiga dan seterusnya (i=2, 3, 4, ..) dihitung nilai suku
setelahnya adalah suku sebelumnya ditambah 5 (suku:=suku+5). Berikut ini programnya dengan struktur WHILE DO.

Contoh 4.
Buatlah program untuk menentukan suku terbesar yang kurang dari n dari barisan
2, 4, 8, 16, ....
Jawab:
Masalah ini kurang cocok diselesaikan dengan struktur FOR DO karena banyaknya perulangan
tidak diketahui dengan pasti sehingga sulit mementukan ioterator dan nilai sentinelnya. Dengan
menggunakan struktur While Do dapat diperoleh solusi sebagai berikut.

Contoh 4.
Buatlah program untuk menentukan suku terbesar yang kurang dari n dari barisan
2, 4, 8, 16, ....
Jawab:
Masalah ini kurang cocok diselesaikan dengan struktur FOR DO karena banyaknya perulangan
tidak diketahui dengan pasti sehingga sulit mementukan ioterator dan nilai sentinelnya. Dengan
menggunakan struktur While Do dapat diperoleh solusi sebagai berikut.
Misalkan n adalah 50, kita dapat menelusuri program di atas sebagai berikut.
Suku=2, periksa apakah suku<50? Ya, maka suku=suku*2=4
Suku=4, periksa apakah suku<50? Ya, maka suku=suku*2=8
Suku=8, periksa apakah suku<50? Ya, maka suku=suku*2=16
Suku=16, periksa apakah suku<50? Ya, maka suku=suku*2=32
Suku=32, periksa apakah suku<50? Ya, maka suku=suku*2=64
Suku=64, periksa apakah suku<50? STOP, lihat nilai terakhir suku adalah 64, karena ketika
suku=32, pasti masih tetap dikalikan 2, sehigga setelah iterasi berakhir maka perlu dibagi lagi
dengan 2.

Nested Loops (perulangan bersarang)
Dalam beberapa permasalahan sering dijumpai perulangan di dalam perulangan. Bisa
menggunakan berbagai struktur WHILE DO atau FOR DO atau kombinasi dari struktur perulangan
yang berbeda-beda.












Sedangkan bentuk umum untuk perulangan bersarang WHILE DO adalah sebagai berikut














Untuk lebih jelasnya, perhatikan contoh kode program berikut, beserta dengan hasilnya.




















Dalam program di atas diulangai dari i=1 sampai 5. i=1, ulangi dari j=1 sampai 1 tuliskan *, kemudian ganti baris (writeln) i=2, ulangi dari j=1 sampai 2 tuliskan * sehingga ada dua * , kemudian ganti baris (writeln) i=3, ulangi dari j=1 sampai 3 tuliskan * sehingga ada tiga * , kemudian ganti baris (writeln) i=4, ulangi dari j=1 sampai 4 tuliskan * sehingga ada empat * , kemudian ganti baris (writeln) i=5, ulangi dari j=1 sampai 5 tuliskan * sehingga ada lima * , kemudian ganti baris (writeln)

Agar pemahaman kalian jelas mengenai penggunaan struktur perulangan kerjakan LKS berikut.

4.1.2.5. Mengkomunikasikan
Presentasikan jawaban kalian di depan kelas, murid yang lain menanggapi. Jalannya diskusi
dibiimbing oleh Guru.

4.1.3. Rangkuman
1. Stuktur perulangan adalah struktur dalam bahasa pemrograman yang mengulangi sejumlah
perintah sampai batas yang ditentukan
2. Struktur perulangan memerluakn iterator dan sentinel sebagai titik henti
3. Struktur perulangan dengan kondisi di depan menggunakan struktur WHILE DO
4. Struktur perulangan dengan pencacah menggunakan struktur FOR TO DO atai FOR
DOWNTO DO.

4.1.4. Tugas
Buatlah kode program sederhana yang menggunakan struktur kontrol perulangan dengan
kondisi di awal untuk menyelesaikan suatu masalah, boleh menggunakan struktur kontrol FOR
DO, WHILE DO, atau NESTED LOOP. Jelasan atau presentasikan pada pertemuan yang akan
datang.

4.2. KEGIATAN BELAJAR 2 PERULANGAN DENGAN KONDISI DI AKHIR
4.2.1. Tujuan pembelajaran
Dengan Kegiatan Belajar ini diharapkan siswa mampu memahami perulangan dengan kondisi
berada di akhir dan menerapkannya uuntuk menyelesaaikan masalah pemrograman.
4.2.2. Aktivitas belajar siswa
4.2.2.1. Mengamati

Perhatikan Souce code berikut















Kedua contoh di atas adalah contoh kode program dari struktur kontrol yang akan dibahas
selanjutnya

4.2.2.1. Menanya
Dari kedua contoh kode program di atas, buat pertanyaan yang berkaitan dengan keduanya,
misalkan:
1. Apakah hasil/output dari kode program diatas?
2. Bagaimana proses dari kode program diatas sehingga menghasilkan hasil/output tersebut?

4.2.2.3. Mengumpulkan Informasi
Sebagaimana yang dijelaskan pada KB sebelumnya bahwa perulangan dapat dilakukan
dengan menyatakan kondisi di akhir. Berbeda dengan kondisi di awal, di mana selama syarat
(kondisi) dipenuhi maka perintah dijalankan, pada kondisi di akhir, perintah dijalankan sampai
memenuhi kondisi yang diinginkan. Struktur yang digunakan adalah struktur Repeat Until.

4.3. KEGIATAN BELAJAR 3 PERULANGAN DENGAN KONDISI DIINPUTKAN USER

4.3.1. Tujuan Pembelajaran
Siswa memahami perulangan dengan kondisi diinputkan user dan menggunakannya untuk
menyelesaikan masalah pemrograman.

4.3.2. Aktivitas Kegiatan Belajar
Dalam bab ini, hampir sama dengan bab-bab sebelumnya. Tetapi, yang membedakan adalah
dalam bab ini, kita akan belajar bagaimana caranya kita akan menggunakan perulangan dengan
kondisi sesuai dengan apa yang akan di inputkan oleh si user. Sehingga nilai yang akan di hasilkan
pun akan dinamis atau menyesuaikan.

4.3.2.1. Mengamati
Perhatikan Program berikut.



















Program ini diambil dari semester yang lalu mengenai algoritma perulangan dengan kondisi dari
user.

4.3.2.2. Menanya
Dari contoh diatas, buat pertanyaan seperti contoh berikut.
1. Tentukan apa maksud dari program atas!
2. Kapan program berhenti?
3. Variabel apakah yang menjadi iterator?
4. Berapa kali user bisa menghitung volume balok?

4.3.2.3. Mencoba/Mengumpulkan Informasi
Aplikasi pemroograman dalam kehidupan nyata, khususnya yang terkait dengan struktur
perulangan, memerlukan syarat yang diinputkan oleh pengguna. Sebagai contoh, dalam sebuah
aplikasi kasir, ketika melayani pembeli, seorang kasir akan memasukkan data barang-barang yang
dibeli dengan barcode reader, hingga akhirnya kasir akan mengklik sebuah tombol untuk
menghitung total belanjaan. Proses memasukkan data dari barang pertama, kedua, dan ke barang
barang berikutnya, adalah suatu bentuk perulangan. Dan perulangan ini akan berhenti hingga
akhrinya kasir mengeklik tombol untuk menghitung total belanjaan.

4.4. KEGIATAN BELAJAR 4 PERULANGAN DENGAN PERNYATAAN BREAK & CONTINUE

4.4.1. Tujuan Pembelajaran
Siswa memahami penggunaan pernyataan break dan continue dalam perulangan dengan
bahasa Pascal.

4.4.2 Aktivitas kegiatan Belajar

4.4.2.1. Mengamati
Coba perhatikan contoh kode program berikut





























Kedua Kode program diatas adalah contoh penggunaan struktur kontrol yang akan kita behas
berikut ini




































































Video