Selasa, 11 Januari 2011

Percabangan Dan Looping Pada Pascal

A. Statement Kondisi (percabangan) CASE . . OF
     statement ini digunakn untuk melakukan proses seleksi pada suatu kondisi yang memiliki kondisi lebih dari satu. bentuk statement CASE . . OF ini adalah :
     CASE OF
                < kondisi 1 > : < pernyataan 1 > ;
                < kondisi 2 > : < pernyataan 2 > ;
                 .............
                < kondisi n > : < pernyataan n >;
     ELSE
               < pernyataan >;
     END;
pada statement < pernyataan i >;akan dieksekusi hanya jika nilai dari < syarat pemilih > tercantum pada   < kondisi i > . Namun jika nilai tersebut tidak ada maka pernyataan - pernyataan yang mengikuti ELSE yang akan dieksekusi.
Catatan : ELSE dan tidak perlu ditulis jika tidak ada alternatif pernyataan yang
harus dijalankan jika < syarat pemilih > tidak ada yang memenuhi semua < kondisi >.



B. Statement Perulangan (Looping) REPEAT . . UNTIL
     REPEAT . . UNTIL mempunyai kegunaan yang hampir sama dengan WHILE . . DO yaitu untuk melakukan proses perulangan sampai pada batas yang telah ditentukan. Jumlah yang dilakukan belum diketahui , namun yang pasti, perulangan terus dilakukan selama belum memenuhi syarat/batas yang ditentukan.
Bentuk pernyataan REPEAT . . UNTIL :
    REPEAT
                < pernyataan >
    UNTIL

C. Contoh Program
program Cabang_Looping;
uses crt;
var
 S, P, L, Lp, Lpp, Kp, Kpp : real;
 Menu1, Menu2, Menu3 : integer;
 key : char;
begin
 Clrscr;
 Repeat
  writeln;
  writeln ('===========================');
  writeln ('MENU PROGRAM');
  writeln ('1. MENGHITUNG LUAS');
  writeln ('2. MENGHITUNG KELILING');
  writeln ('3. KELUAR');
  writeln ('===========================');
  write ('Pilih Menu : '); readln (Menu1);
  Case Menu1 of
  1 : begin
      repeat
      writeln;
      writeln ('============================');
      writeln ('MENU MENGHITUNG LUAS');
      writeln ('1. LUAS PERSEGI');
      writeln ('2. LUAS PERSEGI PANJANG');
      writeln ('3. KEMBALI KE MENU PROGRAM');
      writeln ('============================');
      write ('Pilih Menu : '); readln (Menu2);
      Case Menu2 of
       1 : begin
           repeat
             Writeln;
             writeln ('LUAS PERSEGI');
             write ('Masukkan Panjang Sisi : '); Readln(s);
             Lp := S * S;
             writeln ('Luas persegi : ', Lp:4:1);

             Write ('Mau Ulang Lagi [Y/N]?'); Readln (key);
           until upcase(key) = 'N';
           end;
       2 : begin
           repeat
             Writeln;
             writeln ('LUAS PERSEGI PANJANG');
             write ('Masukkan Panjang : '); readln(P);
             write ('Masukkan Lebar   : '); readln(L);
             Lpp := P * L;
             writeln ('Luas Persegi Panjang : ', Lpp:4:1);

             Write ('Mau Ulang Lagi [Y/N]?'); readln(key);
           until upcase(key) = 'N';
           end;
       3 : begin
             writeln ('Terima Kasih');
           end;
      else writeln ('Angka yang anda masukkan salah');
      end;
      readln;
      until Menu2=3;
      end;
  2 : begin
      repeat
        writeln;
        writeln ('=============================');
        writeln ('MENU MENGHITUNG KELILING');
        writeln ('1. KELILING PERSEGI');
        writeln ('2. KELILING PERSEGI PANJANG');
        writeln ('3. KEMBALI KE MENU PROGRAM');
        writeln ('=============================');
        write ('Pilih Menu : '); readln (Menu3);
        case menu3 of
         1 : begin
             repeat
              writeln;
              writeln ('KELILING PERSEGI');
              write ('Masukkan Panjang Sisi : '); Readln(S);
              Kp := 4 * S;
              writeln ('Keliling Persegi : ', Kp:4:1);

              write ('Mau Ulang Lagi [Y/N]?'); readln (key);
             until upcase(key) = 'N';
             end;
         2 : begin
             repeat
              writeln;
              writeln ('KELILING PERSEGI PANJANG');
              write ('Masukkan Panjang : '); readln (P);
              write ('Masukkan Lebar   : '); readln (L);
              Kpp := 2 * (P + L);
              writeln ('Keliling Persegi Panjang : ', Kpp:4:1);

              write ('Mau Ulang Lagi [Y/N]?'); readln (key);
             until upcase(key) = 'N';
             end;
         3 : begin
               writeln ('Terima Kasih');
             end;
        else writeln ('Maaf Angka Yang Anda Masukkan Salah');
        readln;
        end;
      until Menu3 = 3;
      end;
  3 : writeln ('Terima Kasih');
 else writeln ('Maaf Angka Yang Anda MAsukkan Salah');
 end;
 readln;
 until Menu1 = 3;
end.

0 komentar:

Posting Komentar