0% menganggap dokumen ini bermanfaat (0 suara)
378 tayangan6 halaman

Tutorial While Do

Struktur pengulangan while digunakan untuk mengulang instruksi selama syarat terpenuhi. Syarat akan diuji terlebih dahulu sebelum instruksi dijalankan. Pengulangan akan berhenti jika syarat bernilai salah. Contoh penggunaan while untuk mencetak teks sebanyak 10 kali dan menghitung mundur dari 100 ke 0.

Diunggah oleh

ayu uji
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
378 tayangan6 halaman

Tutorial While Do

Struktur pengulangan while digunakan untuk mengulang instruksi selama syarat terpenuhi. Syarat akan diuji terlebih dahulu sebelum instruksi dijalankan. Pengulangan akan berhenti jika syarat bernilai salah. Contoh penggunaan while untuk mencetak teks sebanyak 10 kali dan menghitung mundur dari 100 ke 0.

Diunggah oleh

ayu uji
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 6

Struktur pengulangan dengan instruksi while digunakan untuk mengulang satu baris instruksi

atau satu blok baris instruksi selama syarat yang diberikan masih terpenuhi. Ciri utama
pengulangan while adalah syarat akan uji terlebih dahulu sebelum instruksi yang akan diulang
dikerjakan dengan kata lain dalam instruksi while syarat akan diuji didepan, sehingga ada
kemungkinan baris instruksi yang akan diulang tidak dikerjakan sama sekali (syarat tidak
terpenuhi).

Flowchart struktur while :


Dari gambar diatas dapat dijelaskan bahwa syarat akan diuji terlebih dahulu sebelum masuk blok
yang diulang. Jika syarat yang diuji bernilai benar maka instruksi1, instruksi2,
instruksi3 akan dikerjakan, setelah mengerjakan instruksi1, instruksi2,
instruksi3 maka syarat akan diuji lagi. Jika syarat yang diuji bernilai benar maka
instruksi1, instruksi2, instruksi3 akan dikerjakan lagi, pengulangan akan
berhenti jika syarat yang diuji bernilai salah.

CONTOH 1:
ALGORITMA PSEUDOCODE
Algoritma Perulangan_1
{mencetak kata belajar perulangan}

Deklarasi
Integer i;

Deskripsi
i:=0;
While i<10 do
Begin
Write (‘Belajar Perulangan’);
I:=i+1;
End

Program Pascal
Program perulangan;
Uses crt;
Var i: integer;

Begin
Clrscr;
i:=0;
while i < 10 do
Begin
Writeln(‘Belajar Perulangan’);
i:=i+1;
End;
Readln;
End.
Penjelasan:
Pada awal program, dibuat variabel i yang berfungsi sebagai variabel counter. Sebelum
perulangan, diberikan nilai 0 untuk i. Setelah itu kita masuk ke perulangan WHILE DO.
Baris program while i < 10 do adalah awal dari perulangan. Inilah kondisi atau syarat yang harus
dipenuhi supaya perulangan bisa diproses. Ketika kode program jalan pertama kali, nilai variabel
i adalah 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 adalah
writeln(‘Belajar Perulangan’). Ini digunakan untuk menampilkan teks ‘Belajar Perulangan’.
Tidak ada masalah.

Baris berikutnya dibuat i:= i + 1. Bagian ini dikenal juga sebagai increment, artinya ingin
menambah nilai variabel counter i sebanyak 1 angka. Ini dilakukan supaya bisa mengubah kondisi
i < 10 yang terdapat di awal perulangan. Jika ini tidak ditulis, perulangan tidak akan pernah
berhenti (infinity loop).

Sampai disini, kode program akan kembali ke awal dan mengecek apakah i < 10? Ingat, variabel i
sekarang sudah bernilai 1. Oke, 1 < 10 = benar (TRUE), kembali jalankan writeln(‘Belajar
Perulangan’), yang diikuti dengan i:= i + 1. Karena 1 + 1 = 2, varibel i sekarang bernilai 2.

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

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

Agar konsep perulangan ini bisa lebih paham, silahkan dibayangkan (kalau perlu ditulis),
bagaimana nilai variabel counter i bisa naik dari 1 sampai 9, dan pada setiap kenaikan perulangan
akan menampilkan teks ‘Belajar Perulangan’.

Contoh 2:
program while_do;
uses crt;
var
i: integer;
begin
clrscr;
i:= 0;

while i < 10 do
begin
writeln('Variabel i sekarang bernilai: ',i);
i:= i + 1;
end;
readln;
end.
Penjelasan:
Kondisi perulangan WHILE DO yang dipakai sama persis seperti sebelumnya. Hanya saja kali ini
perintah yang dijalankan pada setiap perulangan adalah writeln(‘Variabel i sekarang bernilai:
‘,i). Ini akan membantu kita melihat nilai variabel counter i yang terus bertambah 1 selama
perulangan dijalankan.

Pemahaman Logika untuk Perulangan WHILE DO

Untuk bisa membuat perulangan dengan WHILE DO, perlu pemahaman logika. Logika diperlukan
untuk menentukan nilai awal dan kondisi akhir.

Contoh 3:
program while_do;
uses crt;
var
i: integer;
begin
clrscr;
i:= 5;

while i <= 10 do
begin
writeln('Variabel i sekarang bernilai: ',i);
i:= i + 1;
end;
readln;
end.
Penjelasan:
Kuncinya adalah bagaimana menentukan kondisi awal variabel i, dan kondisi akhir dari
perulangan. Dengan membuat i:= 5, dan while i <= 10 do, artinya nilai i akan mulai dari 5, 6, 7,
8, 9, dan 10.

Contoh 4:

program while_do;
uses crt;
var
i: integer;
begin
clrscr;
i:= 5;

while i < 11 do
begin
writeln('Variabel i sekarang bernilai: ',i);
i:= i + 1;
end;
readln;
end.
Penjelasan:
Dapatkah melihat perbedaanya? Perhatikan bahwa kali ini menggunakan kondisi while i < 11
do. Sebenarnya ini sama seperti while i <= 10 do. Angka 10 akan TRUE jika dibandingkan dengan
“< 11″, maupun “<= 10“.

Infinity Loop adalah sebuah perulangan yang tidak pernah berhenti.


Ini terjadi karena variabel kondisi akan selalu bernilai TRUE.

program while_do;
uses crt;
var
i: integer;
begin
clrscr;
i:= 5;

while i < 11 do
begin
writeln('Variabel i sekarang bernilai: ',i);
end;
readln;
end.

Penjelasan
Jika menjalankan kode program diatas, akan terjadi Infinity Loop. Ini karena kondisi while i <=
10 do akan selalu TRUE. Di dalam perulangan saya tidak membuat ‘sesuatu’ yang bisa mengubah
nilai variabel i (untuk membuat 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, bisa menekan
kombinasi tombol CRTL + C, atau menutup paksa Free Pascal.

Perhitungan mundur
Untuk membuat perulangan yang mundur, bisa mengubah nilai awal variabel counter dan
kondisi syarat dari perulangan WHILE DO
Contoh 5:
program while_do;
uses crt;
var
i: integer;
begin
clrscr;
i:= 100;

while i >= 0 do
begin
writeln('Hitung mundur: ',i);
i:= i - 1;
end;
readln;
end.

Penjelasan:

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

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

Tugas:
1. Menampilkan bilangan kelipatan tiga dari angka 1 s/d 20
2. Menampilkan bilangan ganjil dari angka 1 s/d 100
3. Menampilkan bilangan genap dari angka 1 s/d 50
4. Menampilkan bilangan prima dari angka 1 s/d 20
5. Menampilkan bilangan kelipatan 3 dan kelipatan 5 dari angka 1 s/d 30

Anda mungkin juga menyukai