Tutorial Belajar Pascal Part 43: Perulangan WHILE DO dalam Pascal

Posted on

Melanjutkan panduan mengenai perulangan atau looping di bahasa pemrograman Pascal, kita akan masuk ke perulangan WHILE DO. Disini akan dibahas cara penulisan serta cara pemakaian perulangan WHILE DO dalam Pascal.


Konsep Mendasar Perulangan WHILE DO di Pascal

Perulangan FOR DO dan FOR DOWNTO DO yang saya bahas sebelum ini cocok untuk kondisi dimana kita telah tahu berapa banyak perulangan yang ingin dijalankan. Di FOR DO, nilai awal perulangan dan nilai ahir telah mesti ditulis di awal kode program.

Untuk situasi dimana jumlah perulangan belum dapat dipastikan, kita dapat menggunakan perulangan WHILE DO atau REPEAT UNTIL. Di panduan kali ini saya akan fokus kepada WHILE DO.

Berikut format mendasar penulisan perulangan WHILE DO di bahasa pemrograman PASCAL:

Kunci dari perulangan WHILE DO ada di condition dan kode program untuk mengubah condition. Condition dapat disebut selaku syarat agar perulangan dapat dijalankan. Pada kurun waktu syarat ini terpenuhi (bernilai TRUE), perulangan akan terus dijalankan. Bila syarat ini tak terpenuhi (bernilai FALSE), perulangan tak akan berjalan.

Mari kita lihat contoh kode programnya.


Contoh kode Program Perulangan WHILE DO di Pascal

Agar seragam dengan perulangan FOR DO, saya ingin membangun 10 baris teks “Hello World” menggunakan WHILE DO. Berikut kode programnya:

Di awal program, saya membangun variabel i yang berfungsi selaku variabel counter. Sebelum perulangan, saya memberikan nilai 0 untuk i. Setelah itu kita masuk ke perulangan WHILE DO.

Baris program while i < 10 do ialah awal dari perulangan. Inilah kondisi atau syarat yang mesti dipenuhi supaya perulangan dapat diproses. Ketika kode program jalan pertama-tama kali, nilai variabel i ialah 0, artinya kondisi i < 10 menghasilkan nilai TRUE. Karena tentu saja 0 kurang dari 10.

Karena syarat di penuhi, blok begin hingga end; segera di eksekusi. Baris pertama-tama ialah writeln(‘Hello World’). Ini digunakan untuk menampilkan teks ‘Hello World’. Tak ada masalah.

Baris berikutnya saya membangun i:= i + 1. Bagian ini dikenal pun selaku increment, artinya saya ingin menambah nilai variabel counter i sebanyak 1 angka. Ini dilakukan supaya dapat mengubah kondisi i < 10 yang terdapat di awal perulangan. Bila ini tak ditulis, perulangan tak akan pernah berhenti (infinity loop).

Hingga disini, kode program akan kembali ke awal dan mengecek apakah i < 10? Ingat, variabel i kini telah bernilai 1. Oke, 1 < 10 = benar (TRUE), kembali jalankan writeln(‘Hello World’), yang diikuti dengan i:= i + 1. Karena 1 + 1 = 2, varibel i kini bernilai 2.

Kode program kembali ke awal dan mengecek apakah i < 10? Kini nilai i ialah 2, dan 2 masih kurang dari 10, 2 < 10 = benar (TRUE), sekali lagi kode blok perulangan akan dijalankan.

Proses seperti ini terus berlangsung hingga kondisi i < 10 menghasilkan FALSE. Kapan kondisi ini terjadi? Yakni ketika variabel i = 10. 10 < 10 ialah FALSE. Artinya, perulangan WHILE DO akan dijalankan sebanyak 10 kali, dimana di setiap perulangan, nilai i akan menaik mulai dari 0, 1, 2, 3, 4, 5, 6, 7, 8, hingga 9.

Agar konsep perulangan ini dapat lebih paham, silahkan rekan-rekan bayangkan (kalau perlu ditulis), bagaimana nilai variabel counter i dapat naik dari 1 hingga 9, dan di setiap kenaikan perulangan akan menampilkan teks ‘Hello World’.

Bila kode program diatas masih kurang paham, mari masuk ke contoh kedua:

Kondisi perulangan WHILE DO yang saya gunakan sama persis seperti sebelumnya. Hanya saja kali ini command yang dijalankan di setiap perulangan ialah writeln(‘Variabel i kini bernilai: ‘,i). Ini akan menolong kita melihat nilai variabel counter i yang terus bertambah 1 pada rentang waktu perulangan dijalankan.


Pemahaman Logika untuk Perulangan WHILE DO

Untuk dapat membangun perulangan dengan WHILE DO, kita perlu pemahaman logika. Logika diperlukan untuk menentukan nilai awal dan kondisi ahir.

Selaku latihan soal, saya ingin rekan-rekan membangun kode program yang menghasilkan teks: “Variabel i kini bernilai: 5”, “Variabel i kini bernilai: 6”,
… Hingga “Variabel i kini bernilai: 10”. Yup, hanya 5 baris. Silahkan rekan-rekan modifikasi kode program diatas.

Bagus, berikut kode yang saya gunakan:

Kuncinya ialah bagaimana menentukan kondisi awal variabel i, dan kondisi ahir dari perulangan. Dengan membangun  i:= 5, dan while i <= 10 do, artinya nilai i akan mulai dari 5, 6, 7, 8, 9, dan 10.

Tetapi saya pun dapat menggunakan kode program berikut:

Dapatkah rekan-rekan melihat bedanya? Perhatikan bahwa kali ini saya menggunakan kondisi  while i < 11 do. Hakekatnya ini sama seperti while i <= 10 do. Angka 10 akan TRUE seandainya diperbandingkan dengan “< 11″, maupun “<= 10“.

Konsep seperti ini agar selalu diperhatikan ketika membangun perulangan WHILE DO.


Hati-hati dengan Infinity Loop

Infinity Loop ialah sebuah perulangan yang tak pernah berhenti. Ini terjadi karena variabel kondisi akan selalu bernilai TRUE.

Perhatikan kode program berikut:

Bila rekan-rekan menjalankan kode program diatas, akan terjadi Infinity Loop. Ini karena kondisi while i <= 10 do akan selalu TRUE. Di di perulangan saya tak membangun ‘sesuatu’ yang dapat mengubah nilai variabel i (untuk membangun syarat i <= 10 menjadi FALSE).

Infinity Loop biasanya terjadi karena kesalahan logika dari programmer, terutama untuk perulangan WHILE DO dan REPEAT UNTIL. Untuk menghentikan infinity loop, rekan-rekan dapat menekan kombinasi tombol CRTL + C, atau menutup paksa Free Pascal.


Menyusun Hitung Mundur dengan WHILE DO

Untuk membangun perulangan yang mundur, kita dapat mengubah nilai awal variabel counter dan kondisi syarat dari perulangan WHILE DO. Berikut contohnya:

Disini saya memulai variabel i dari 100. Pengecekan kondisi while i >= 0 do artinya, perulangan akan dijalankan pada rentang waktu nilai i besar dari 100.

Bagaimana agar kondisi ini nantinya dapat bernilai FALSE? Saya menggunakan i:= i – 1, sehingga di setiap perulangan, nilai i selalu berkurang 1 angka, dari 100, ke 99, ke 98, dst hingga berhenti ketika i = 0, yakni ketika syarat i >= 0 menghasilkan FALSE.


Menyusun Perulangan Lompat dengan WHILE DO

Dengan memodifikasi bagian counter, kita dapat membangun perulangan yang “lompat”, yakni tak berurutan dari 1, 2, 3, dst. Kita dapat membangun variabel counter yang naik misalnya dari 3, 6, 9, 12, dst.

Perhatikan kode program berikut, dan dapatkah rekan-rekan menebak urutan angka yang ditampilkan?

Perhatikan bahwa variabel i mulai dari 3, dan perubahannya menggunakan i:= i + 3. Artinya variabel i akan ‘lompat’ 3 angka setiap perulangan. Berikut hasilnya:

Hingga disini saya sarankan rekan-rekan mencoba2 bermacam-macam kombinasi perulangan lain, misalnya membangun perulangan yang lompat setiap 7 angka, atau perulangan yang mundur 4 angka, misalnya dari 100, ke 96, ke 92, ke 88, dst.


Di panduan belajar pascal kali ini kita telah membahas perulangan WHILE DO. Di di pascal masih ada 1 lagi struktur perulangan
, yakni REPEAT UNTIL. Apa bedanya perulangan WHILE DO dengan REPEAT UNTIL? Inilah yang akan kita bahas di panduan berikutnya: Perulangan REPEAT UNTIL dalam Pascal.


Sumber https://www.duniailkom.com/