While vs. Do-While Loop: Perbandingan Jelas dengan Contoh Praktis
Apa Itu Loop?
Loop menjalankan urutan pernyataan banyak kali sampai kondisi yang dinyatakan menjadi salah. Loop terdiri dari dua bagian, yaitu tubuh loop dan pernyataan kontrol. Pernyataan kontrol adalah kombinasi beberapa kondisi yang mengarahkan tubuh loop untuk dieksekusi sampai kondisi yang ditentukan menjadi salah. Tujuan loop adalah untuk mengulang kode yang sama sejumlah kali.
Apa Itu While Loop?
While loop adalah struktur looping yang paling sederhana. Ini adalah loop yang dikontrol entri. Dalam while loop, kondisi dievaluasi sebelum memproses tubuh loop. Jika kondisi benar, maka baru saja tubuh loop dieksekusi.
Setelah tubuh loop dieksekusi, kontrol kembali ke awal, dan kondisi diperiksa. Jika benar, proses yang sama diulang sampai kondisi menjadi salah. Setelah kondisi menjadi salah, kontrol keluar dari loop.
Dalam while loop, jika kondisi tidak benar, tubuh loop tidak akan dieksekusi, bahkan sekali pun.
Apa Itu Do-While Loop?
Do-while loop mirip dengan while loop kecuali kondisi selalu dievaluasi setelah tubuh loop. Ini juga disebut loop yang dikontrol keluar.
Dalam do-while loop, tubuh loop selalu dieksekusi setidaknya sekali. Setelah tubuh dieksekusi, maka kondisi diperiksa. Jika kondisi benar, maka tubuh loop akan dieksekusi kembali. Jika tidak, kontrol dipindahkan keluar dari loop.
PERBEDAAN UTAMA:
While loop memeriksa kondisi terlebih dahulu dan kemudian mengeksekusi pernyataan, sedangkan do while loop akan mengeksekusi pernyataan setidaknya sekali, kemudian kondisi diperiksa.
While loop adalah loop yang dikontrol entri sedangkan do while adalah loop yang dikontrol keluar.
Dalam while loop, kita tidak perlu menambahkan titik koma di akhir kondisi while tetapi kita perlu menambahkan titik koma di akhir kondisi while dalam do while loop.
Pernyataan while loop dieksekusi nol kali jika kondisi salah sedangkan pernyataan do while dieksekusi setidaknya sekali.
While loop mengizinkan inisialisasi variabel counter sebelum memulai tubuh loop sedangkan do while loop mengizinkan inisialisasi variabel counter sebelum dan setelah memulai tubuh loop.
Sintaks While Loop
Berikut adalah sintaks While loop:
while (condition) { statements; }
Dalam while loop, kita harus menulis kondisi yang perlu dievaluasi. Pernyataan di dalam kurung kurawal menunjukkan kode yang akan dieksekusi.
Sintaks Do While Loop
Berikut adalah sintaks Do while loop:
do { statements } while (expression);
Dalam do-while loop, kita perlu menulis pernyataan di dalam kurung kurawal terlebih dahulu, yang menunjukkan kode yang akan dieksekusi. Setelah itu, kita perlu menyebutkan ekspresi program Java, C, atau C++ yang perlu dievaluasi.
Bagaimana While Loop Bekerja?
While loop bekerja sebagai berikut:
Penjelasan Flow Chart:
Langkah 1) Mulai while loop
Langkah 2) Ekspresi uji atau kondisi dievaluasi
Langkah 3) Selanjutnya, jika ekspresi uji benar, program mengeksekusi tubuh do-while loop
Langkah 4) Jika ekspresi uji salah, program di luar while loop dieksekusi
Bagaimana Do-While Loop Bekerja?
Do-while loop bekerja sebagai berikut:
Penjelasan Flow Chart:
Langkah 1) Mulai do-while loop
Langkah 2) Tubuh do-while loop dieksekusi
Langkah 3) Ekspresi uji atau kondisi dievaluasi
Langkah 4) Jika ekspresi uji benar, compiler mengeksekusi tubuh do-while loop
Langkah 5) Selanjutnya, jika ekspresi uji salah, compiler mengeksekusi pernyataan setelah tubuh loop
Langkah 6) Pernyataan yang datang setelah tubuh loop dieksekusi
Contoh While Loop dalam C
Program berikut mengilustrasikan while loop dalam pemrograman C dengan contoh:
#include<stdio.h> #include<conio.h> int main() { int num=1; //menginisialisasi variabel dengan nilai 1 while(num<=4) //while loop dengan kondisi { printf("%d\n",num); num++; //operasi increment } return 0; }
Output:
1 2 3 4
Program di atas mengilustrasikan penggunaan while loop. Dalam kode di atas, kita mencetak serangkaian angka dari 1 hingga 4 menggunakan while loop.
Kita telah menginisialisasi variabel bernama num dengan nilai 1. Kita akan mencetak dari 1 hingga 4. Oleh karena itu, variabel diinisialisasi dengan nilai 1. Jika kita ingin mencetak dari 0, berikan nilai 0 selama inisialisasi.
Selanjutnya, dalam while loop, kita telah memberikan kondisi (num<=4), yang berarti loop akan mengeksekusi tubuh sampai nilai num menjadi 4. Setelah itu, loop akan diakhiri, dan kontrol akan jatuh di luar loop.
Dalam tubuh loop, kita memiliki fungsi cetak untuk mencetak angka kita dan operator increment untuk menambah nilai per eksekusi loop.
Nilai awal num adalah 1, setelah eksekusi, itu akan menjadi 2, dan selama eksekusi berikutnya, itu akan menjadi 3. Proses ini akan berlanjut sampai nilai menjadi 4, dan kemudian itu akan mencetak deret pada konsol dan mengakhiri loop.
Contoh Do While Loop dalam C
Program berikut adalah contoh Do-while loop untuk mencetak tabel perkalian angka 2 dalam C:
#include<stdio.h> #include<conio.h> int main() { int num=1; //menginisialisasi variabel dengan nilai 1 do //do-while loop { printf("%d\n",2*num); num++; //operasi increment } while(num<=4); return 0; }
Output:
2 4 6 8
Dalam contoh di atas, kita telah mencetak tabel perkalian 2 menggunakan do-while loop. Pertama, kita telah menginisialisasi variabel ‘num’ dengan nilai 1. Kemudian kita telah menulis do-while loop.
Dalam loop, kita memiliki fungsi cetak yang akan mencetak deret dengan mengalikan nilai num dengan 2. Setelah setiap increment, nilai num akan bertambah 1, dan akan dicetak pada layar.
Awalnya, nilai num adalah 1. Dalam tubuh loop, fungsi cetak akan dieksekusi dengan cara ini: 2*num dimana num=1, maka 2*1=2.
Oleh karena itu, nilai 2 akan dicetak. Ini akan berlanjut sampai nilai num menjadi 10. Selanjutnya, loop akan diakhiri, dan pernyataan yang segera setelah loop akan dieksekusi. Dalam hal ini, itu akan mengembalikan 0.
While vs. Do While
Berikut adalah perbedaan penting antara While dan Do While Loop:
While
Do While
Itu memeriksa kondisi terlebih dahulu dan kemudian mengeksekusi pernyataan(s) Loop ini akan mengeksekusi pernyataan(s) setidaknya sekali, kemudian kondisi diperiksa. While loop mengizinkan inisialisasi variabel counter sebelum memulai tubuh loop. Do while loop mengizinkan inisialisasi variabel counter sebelum dan setelah memulai tubuh loop. Ini adalah loop yang dikontrol entri. Ini adalah loop yang dikontrol keluar. Kita tidak perlu menambahkan titik koma di akhir kondisi while. Kita perlu menambahkan titik koma di akhir kondisi while. Dalam kasus pernyataan tunggal, kita perlu menambahkan kurung. Kurung selalu diperlukan. Dalam loop ini, kondisi disebutkan di awal loop. Kondisi loop ditentukan setelah blok dieksekusi. Pernyataan(s) dapat dieksekusi nol kali jika kondisi salah. Pernyataan dieksekusi setidaknya sekali. Secara umum while loop ditulis sebagai:
while (condition) { Statements; // loop body }
Secara umum do while loop ditulis sebagai:
do{ Statements; //loop body } while (condition);
Salah Satu yang Harus Kita Pilih?
Saat memeriksa kondisi, jika iterasi pertama wajib, kita perlu menggunakan while loop. Ini juga dapat digunakan jika jumlah iterasi tidak diketahui atau tidak pasti.
Do while loop terutama diperlukan dalam kasus di mana kita harus mengeksekusi loop setidaknya satu kali. Do-while loop biasanya diperlukan dalam bahasa pemrograman yang dijalankan melalui menu di mana kondisi akhir didasarkan pada pengguna akhir.