Senin, 07 Mei 2012

Materi ALGORITMA PEMROGRAMAN 2A - PERTEMUAN 4 (STRUKTUR KONTROL)


REPEATUNTIL DAN WHILE-DO

Digunakan untuk mengulang (repeat) statement-statement atau blok statement sampai (until) kondisi yang diseleksi di Until tidak terpenuhi. Sintaks dari statement ini bila digambarkan dalam bentuk diagram akan berbentuk :
Bentuk Umum    : REPEAT sequence statement UNTIL condition
Bentuk Proses (flow chart) :






    Contoh : (dari persoalan di atas)

     
                  digit := 1;
                  REPEAT
                              write (digit);
                              digit := digit + 1
                  UNTIL   digit > 5 ;


Contoh :
            Var
               I : integer;
            Begin
               I := 0;
               Repeat
                        I := I + 1;
                        Writeln(I);
               Until  I = 5;
            End.

Hasilnya:

                        1
                        2
                        3
                        4
                        5

Perbedaan antara struktur REPEAT-UNTIL dengan WHILE-DO adalah sebagai berikut :
1.    Paling sedikit statement-statement di dalam perulangan REPEAT-UNTIL diproses sekali, karena seleksi kondisi ada pada statement Until yang terletak dibawah. Sedang pada struktur WHILE-DO paling sedikit dikerjakan nol kali, karena seleksi kondisi ada apada statement While yang terletak diatas, sehingga kalau kondisi sudah tidak terpenuhi, maka tidak akan masuk ke dalam lingkungan perulangan.
2.    Pada REPEAT-UNTIL dapat tidak dipergunakan blok statement (tidak diperlukan Begin dan End untuk menunjukkan batas perulangannya), karena batas perulangannya sudah ditunjukkan oleh Repeat sampai dengan Until (Repeat dan Until sebagai pengganti Begin dan End).

Struktur FOR

Digunakan untuk mengulang statement atau satu blok statement berulang kali sejumlah yang ditentukan.
Sintaks  dari statement For dalam bentuk diagram adalah sebagai berikut :

Bentuk Umum :
a.                    FOR id := v1 TO v2 DO statement
b.                    FOR id := v1 DOWNTO v2 DO statement

Bentuk Proses :











 









 













Contoh : (dari persoalan diatas)
                  FOR i := 1 to 20 DO write(i);
                  FOR I := 20 DOWNTO 20 DO write(i);
Contoh :
Var  I : integer;
Begin
                        For I := 1 to 5 Do Writeln(‘Pascal’);
End.
Hasilnya :     Pascal
                        Pascal
                        Pascal
                        Pascal
                        Pascal
Penjelasan :
Berarti statement WriteLn(‘Pascal’) akan diulang sebanyak 5 kali, yaitu dengan penghitung I dari nilai awal 1 sampai dengan nilai akhir 5.
Contoh :
Penulisan statement yang akan diproses berulang kali tersebut dapat juga ditulis dalam bentuk blok statement (diawali dengan Begin dan diakhiri dengan And), walaupun hanya berisi sebuah statement saja, sebagai berikut :

Var
                        I : integer;
Begin
                        For I := 1 to 5 Do
                        Begin
                                    WriteLn(‘Pascal’);
                        End;
End.

Contoh :
Var    Celcius                        : integer;
                        Fahrenheit    : REAL;
Begin
                        WriteLn(‘---------------------------‘);
                        WriteLn(‘Celcius       Fahrenheit’);
                        WriteLn(‘---------------------------‘);
                        Celcius := 0;
                        For Celcius := 5 DownTo 0 Do
                        Begin
                                    Fahrenheit := 1.8 * Celcius + 32;
                                    WriteLn(Celcius:8,Fahrenheit:14:2);
                        End;
                        WriteLn(‘----------------------------‘);
End.

Hasilnya :
            ---------------------------
            Celcius       Fahrenheit
            ---------------------------
                    5                 41.00
                    4                 39.00
                    3                 37.40
                  2                   35.60
                  1                   33.80
                  0                   32.00




0 komentar:

Posting Komentar

Please Leave Your Comment :)