LOOPING (PERULANGAN)
Pertemuan kali ini aku mau share tentang materi looping sederhana. Looping berarti perulangan, naah perulangan itu ibarat kehidupan kita sehari-hari seperti bangun tidur -> makan -> aktivitas dan sampai tidur lagi.. Dengan adanya looping ini lebih mempermudah kita untuk melakukan sesuatu guys, semisal di sini kita ingin mencetak "HELLO" 100 kali, maka gak mungkin kan kita menulis 100 kali :D Maka dari itu kita gunakan looping..
1. Pola yang Berulang
Contoh :
1, 2, 3, 4, 5, ...
x ← x + 1
2. Konstruksi Pengulangan
- Kondisi pengulangan, yakni ekspresi bernilai boolean yang harus dipenuhi untuk melaksanakan pengulangan. Kondisi / syarat ini ada yang dinyatakan secara eksplisit oleh pemrogram atau dikelola sendiri oleh komputer (implisit).
- Badan (body) pengulangan, yakni sekumpulan aksi yang diulang selama kondisi pengulangan terpenuhi.
- Inisialisasi, adalah aksi yang dilakukan sebelum pengulangan dilakukan pertama kali.
- Terminasi, adalah aksi yang dilakukan setelah pengulangan selesai dilaksanakan.
< inisialisasi >
awal pengulangan
badan pengulanganakhir pengulangan
< terminasi >
Pada banyak persoalan, jumlah pengulangan tidak diketahui dengan pasti. Yang dapat ditentukan hanyalah kondisi berhenti pengulangan, artinya instruksi-instruksi di dalam badan pengulangan diulangi sampai kondisi berhenti terpenuhi. Jenis pengulangan ini termasuk ke dalam pengulangan dengan kondisi (conditional looping).
3. Konstruksi FOR
Konstruksi FOR digunakan untuk melakukan pengulangan sejumlah kali yang telah dispesifikasikan sebelumnya. Jumlah pengulangan diketahui atau dapat ditentukan sebelum eksekusi program.Bentuk umum konstruksi FOR ini ada 2 macam:
FOR menaik:Keterangan :
for pencacah ← <nilai_awal> to <nilai_akhir> doaksiend for
- pencacah haruslah peubah dari tipe data yang memiliki predecessor dan successor, dalam hal ini hanya integer atau karakter. Tipe riil tidak dapat digunakan sebagai pencacah.
- aksi dapat berupa satu atau lebih instruksi.
- nilai_awal harus lebih kecil atau sama dengan nilai_akhir. Jika nilai_awal lebih besar dari nilai_akhir, maka badan pengulangan tidak dimasuki.
- pada awal pengulangan, pencacah diinisialisasi dengan nilai_awal. Nilai pencacah secara otomatis bertambah satu setiap kali badan pengulangan tersebut dimasuki, sampai akhirnya nilai pencacah sama dengan nilai_akhir.
- jumlah pengulangan yang terjadi adalah nilai_akhir - nilai_awal + 1.
FOR menurun:Keterangan:
for pencacah ← <nilai_akhir> downto <nilai_awal> doaksiend for
- pencacah haruslah peubah dari tipe data yang memiliki predecessor dan successor, dalam hal ini hanya integer atau karakter. Tipe riil tidak dapat digunakan sebagai pencacah.
- aksi dapat berupa satu atau lebih instruksi.
- nilai_akhir harus lebih besar atau sama dengan nilai_awal. Jika nilai_akhir lebih kecil dari nilai_awal, maka badan pengulangan tidak dimasuki.
- pada awal pengulangan, pencacah diinisialisasi dengan nilai_akhir. Nilai pencacah secara otomatis berkurang satu setiap kali badan pengulangan tersebut dimasuki, sampai akhirnya nilai pencacah sama dengan nilai_awal.
- jumlah pengulangan yang terjadi adalah nilai_awal - nilai_akhir + 1.
4. Konstruksi WHILE
Bentuk umum konstruksi WHILe adalah:while kondisi doKeterangan:
aksiend while
Sebelum memasuki badan pengulangan, kondisi diperiksa dulu apakah masih memenuhi (benar) atau sudah tidak memenuhi (salah). Aksi dikerjakan berulangkali selama kondisi masih benar (true). Jika kondisi salah (false), maka badan pengulangan tidak akan dimasuki, yang berarti pengulangan selesai.
Pengulangan suatu saat harus berhenti. Pengulangan yang tidak pernah berhenti menandakan bahwa ada algoritma yang salah. Pengulangan akan berhenti bila kondisi bernilai false. Agar kondisi berubah menjadi false, maka di dalam badan pengulangan harus ada instruksi yang mengubah nilai kondisi.Sekilas antara FOR dan WHILE sama saja kegunaannya. Namun, WHILE memiliki keunggulan yang tidak dimiliki oleh FOR. Pada kasus-kasus di mana jumlah pengulangan diketahui di awal program, WHILE dapat digunakan sebaik penggunaan FOR. Namun, untuk proses yang jumlah pengulangannya tidak dapat ditentukan di awal, hanya struktur WHILE yang dapat digunakan, sebab kondisi pengulangan diperiksa di awal pengulangan. Jadi, meskipun kita tidak mengetahui kapan persisnya WHILE ini berhenti, tapi kita menjamin bahwa jika kondisi bernilai salah, maka pengulangan pasti berhenti.
5. Konstruksi REPEAT
Bentuk umum konstruksi REPEAT adalah:repeatKeterangan:
aksi
until kondisi
Konstruksi REPEAT mendasarkan pengulangan pada kondisi yang bernilai boolean. Pemeriksaan kondisi dilakukan pada akhir setiap pengulangan. Aksi dikerjakan berulang-ulang sampai kondisi terpenuhi (bernilai true). Dengan kata lain, jika kondisi masih false, proses pengulangan masih terus dilakukan. Karena proses pengulangan suatu saat harus berhenti, maka di dalam badan pengulangan harus ada insruksi yang mengubah nilai peubah kondisi.
Kesimpulan:
1. Gunakan konstruksi WHILE pada kasus yang mengharuskan terlebih dahulu pemeriksaan kondisi objek sebelum objek tersebut dimanipulasi.
2. Gunakan konstruksi REPEAT pada kasus yang terlebih dahulu memanipulasi objek, baru kemudian memeriksa kondisi objek tersebut.
Nah, setelah mengetahui materi tersebut maka kita bisa membuat notasi algoritma nya. Berikut adalah beberapa contoh perulangan dan juga pemrograman nya dalam bahasa C. Berikut notasi nya ↓
1. 1 2 3 4 5 6 7 8 9
//Judul looping penjumlahan bilangan ganjil
//Kamus
d ← integer
jumlah ← integer
//Deskripsi
d ← 5
jumlah ← 0
while (d ≼ 17) do
{
jumlah ← jumlah + d
if ( d < 17) then
{
output (d +)
}
else
{
output (= d)
}
d ← d + 2
} output(jumlah)
5. 19 17 15 13 11 9 7 5 3
//Judul looping ganjil mundur
//Kamus
e ← integer
//Deskripsi
e ← 19
while ( e ≽ 3 ) do
{
output (e)
e ← e - 2
}
Silahkan dicoba ya, kalo ada kritik saran maupun pertanyaan bisa dikomen di kolom komentar 😁
Thank You !! Semoga bermanfaat 🙂