Kamis, 28 April 2011

struktur perulangan

A. pernyataan for
Pernyataan pengulangan yang paling sering digunakan adalah for. Pernyataan ini digunakan jika kita telah mengetahui berapa kali kita akan mengulang satu atau beberapa pernyataan. Bentuk umum pernyataan for adalah sebagai berikut:
for pencacah := nilai_awal to nilai_akhir do
Begin
(pernyataan-pernyataan yang akan diulang)
end;
Sekedar tambahan, blok berisi pernyataan-pernyataan
yang harus diulang sering disebut juga kalang
(loop).

1. Pernyataan For Positif
Contoh :
Perulangan positif untuk satu statement :
uses wincrt;
var
i : integer;
begin
for i := 1 to 5 do
writeln ('Belajar Pemrograman’);
readln;
end.
Maka bila program diatas dicompile
Hasilnya :
Penjelasan : Berati statemen Belajar pemrograman akan diulang sebanyak 5 kali yaitu dengan.
Belajar pemrograman
Belajar pemrograman
Belajar pemrograman
Belajar pemrograman
Belajar pemrograman
Modul Pemrograman Komputer Dasar, Universitas Muhammadiyah Yogyakarta, 2006 43 menghitung nilai i dari i ke 1 sampai nilai i terakhir yaitu i ke 5.

2. Pernyataan For Negatif
Perulangan negatif adalah perulangan dengan menghitung (counter) dari besar ke kecil.
Statement yang digunakan adalah For-DownTo-Do
contoh:
uses wincrt;
var
i : integer;
begin
for i := 10 downto 1 do
write (i:3);
end.


B. pernyataan for bersarang
Kita juga bisa menuliskan pernyataan for di dalam penyataan for. Kontruksi semacam ini sering disebut dengan penyataan for bersarang. Perhatikan contoh berikut:
for x := 1 to 3 do
for y :=1 to 2 do
writeln (x, ‘ ‘ y);
Kalang for yang luar (dengan pencacah variabel x) akan menjalankan kalang yang dalam (dengan pencacah 10 9 8 7 6 5 4 3 2 1 Modul Pemrograman Komputer Dasar, Universitas Gunadarma,2008 y) sebanyak 3 kali. Dan pada setiap pengulangan di layar akan dituliskan nilai x dan y. Berikut ini adalah keluaran dari program di atas:
1 1
1 2
2 1
2 2
3 1
3 2
Pada saat x bernilai 1, y diulang sebanyak 2 kali.
Jadi pada layar akan tertulis 1 1 dan 1 2. Demikian juga pada saat x bernilai 2, y diulang sebanyak 2 kali. Jadi pada layar akan tertulis 2 1 dan 2 2. Hal yang sama terjadi pada saat x bernilai 3, y diulang
sebanyak 2 kali. Sehingga pada layar tertulis 3 1 dan 3 2.

C. pernyataan while
perintah bisa juga berupa blok yang berisi kumpulan perintah-perintah di antara { dan }. perintah ini disebut juga dengan inti perulangan. Inti perulangan akan terus dieksekusi selama suatu_kondisi bernilai true. suatu_kondisi ini disebut juga penguji perulangan.

Ada beberapa hal yang mungkin jadi pertanyaan. Apa yang terjadi jika suatu_kondisi sudah bernilai false sejak pertama kali komputer sampai pada pernyataan ini? Dalam hal ini blok perulangan tidak akan dieksekusi sama sekali. Program akan melompat ke perintah berikutnya di luar blok perulangan.

Lalu apa yang terjadi jika suatu_kondisi bernilai false di tengah-tengah perulangan, apakah program keluar dari perulangan saat itu juga? Dalam hal ini, tentunya tidak. Program akan mengeksekusi semua perintah hingga akhir blok selesai. Setelah itu program akan kembali ke pernyataan while, dan setelah mengevaluasi kembali suatu_kondisi, dan jika hasilnya salah, baru program akan melompat ke perintah berikutnya di luar blok.

Mari kita ubah sedikit algoritma yang kita buat di bagian sebelumnya. Kali ini kita akan membuat program yang menghitung rata-rata dengan cara menanyakan suatu bilangan kepada user, kemudian program akan berhenti jika masih ada data yang akan diproses.

Inisialisasi jumlah dengan 0
Inisialisasi n (berapa data yang dimasukkan user) dengan 0
while (masih ada data yang akan diproses):
Minta input dari user
Tambah jumlah dengan input dari user
Tambah n dengan 1
Bagi jumlah dengan n untuk menghitung rata-rata
Cetak rata-rata ke layar

Pertanyaan berikutnya, bagaimana menentukan masih ada data yang akan diproses? Cara yang paling mudah adalah melihat apakah nilai yang dimasukkan user bernilai 0. Nol di sini bukan termasuk data yang akan dijumlahkan tetapi bertugas sebagai sinyal bahwa tidak ada lagi data yang harus dimasukkan.

Lalu bagaimana kita harus menguji bahwa data yang dimasukkan bernilai 0 atau bukan? (Ingat, kita baru menanyakan data di dalam blok perulangan. Pada saat komputer pertama kali menemui perulangan while, komputer tidak tahu apa-apa.) Dalam hal ini, kita akan sedikit ubah algoritma kita seperti berikut :

Inisialisasi jumlah dengan 0
Inisialisasi n (berapa data yang dimasukkan user) dengan 0
Minta input dari user
while (input tidak sama dengan 0):
Tambah jumlah dengan input dari user
Tambah n dengan 1
Minta input dari user
Bagi jumlah dengan n untuk menghitung rata-rata
Cetak rata-rata ke layar

Pada dasarnya, kita tanyakan user terlebih dahulu sebelum perulangan while. Dengan cara ini, kita bisa mendapat nilai input untuk dievaluasi pada pernyataan while. Di dalam perulangan while, kita tempatkan pertanyaan untuk mendapat input dari user di akhir perulangan. Artinya, setelah kita memproses input dari user, kita akan tanyakan lagi kepada user untuk mendapatkan kondisi untuk mengevaluasi kondisi while berikutnya.

Perhatikan juga bahwa ketika 0 dimasukkan, program tidak akan menghitung nilai 0 lagi. Di algoritma sebelumnya, nilai 0 akan ikut dijumlahkan dan n akan bertambah 1, padahal 0 bukan data. Nol hanya berfungsi sebagai sinyal bahwa perulangan harus selesai. Masalah ini sangat amat umum ditemui oleh programmer, karena menghitung satu demi satu ternyata tidak mudah. Untuk itu debugger diperlukan untuk melihat lebih detail apa yang dilakukan oleh komputer.

D. pernyataan repeat-until
Pernyataan pengulangan ini hampir sama dengan pernyataan pengulangan while, dan biasanya digunakan bila jumlah pengulangan belum dapat ditentukan pada saat program ditulis. Perbedaan pernyataan repeat..until dan while terletak pada letak pengecekan kondisi. Jika pada pernyataan while, kondisi dicek pada awal kalang, sedangkan pada pernyataan repeat..until, kondisi dicek pada akhir kalang. Perbedaan yang lain, bila pernyataan while mengulang pernyataan selama kondisi masih terpenuhi, pernyataan repeat..until mengulang pernyataan selam kondisi belum terpenuhi. Bentuk umum penyataan repeat..until adalah sebagai berikut:
repeat
(pernyataan-pernyataan yang akan diulang)
until kondisi
Contoh :
repeat
x := x – 1;
y := y – 1;
until (x <= 0);
Program ini akan mengulang dua pernyataan (x := x -
1) dan (y := y - 1) sampai nilai x lebih kecil atau
sama dengan 0.


http://arraydalamprogram.blogspot.com/2010/05/pernyataan-while.html
http://latifrudianto.blogspot.com/2010/10/e-pernyataan-repeatuntil.html

Tidak ada komentar:

Posting Komentar