Jumat, 09 Januari 2015

PENYELEKSIAN KONDISI PADA PASCAL




Hampir setiap program yang kompleks mengandung suatu penyeleksian kondisi. Dengan menyeleksi suatu kondisi, program dapat menentukan tindakan apa yang harus dikerjakan, bergantung dari hasil kondisi yang diseleksi tersebut. Untuk menyeleksi suatu kondisi, di dalam bahasa Pascal dapat dipergunakan pernyataan IF  dan CASE.


1.1              Pernyataan IF
Struktur pernyataan IF  dapat berupa If—Then atau If—Then—Else dengan bentuk umum:

  If ungkapan Then pernyataan

Ungkapan adalah kondisi yang akan diseleksi oleh pernyataan If. Bila kondisi yang diseleksi terpernuhi, maka pernyataan yang mengikuti Then akan diproses. Sebaliknya, bila kondisi tidak terpenuhi, maka yang akan diproses adalah pernyataan berikutnya.

Contoh
Var
     Nilai:real;
     Ket  : string[11];
Begin
     Ket:’Tidak Lulus’;
     Write(‘Nilai Ujian = ‘);
     Readln(Nilai);
    
     {Penyeleksian kondisi}
     If Nilai>60 Then Ket:=’Lulus’;

     Writeln(Ket);
End.
Bila program dijalankan akan menghasilkan:

Nilai Ujian = 70—–à diisi melalui papan ketik
Lulus
If kondisi Then
   pernyataan1;
         Else
   pernyataan2;

Pernyataan1 akan diproses apabila kondisi benarn(terpenuhi) sedang pernyataan2 akan diproses apabila kondisi tidak terpenuhi.

Contoh
Var
     Nilai:Real;
Begin
     Writeln(‘Nilai Ujian = ‘);
     Readln(Nilai);
    
     If Nilai>60 Then
           Writeln(‘Lulus’);
     Else
           Writeln(‘Tidak Lulus’);
End.

1.2              Pernyataan Case
Pernyataan Case dapat berbentuk struktur Case—Of atau Case—Of…. Else.
Struktur Case—Of mempunyai suatu ungkapan logika yang disebut dengan selector dan sejumlah pernyataan yang diawali dengan suatu label permasalahan yang mempunyai tipe sama dengan selector. Pernyataan yang mempunyai label permasalahan yang bernilai sama dengan nilai selector akan diproses sedang pernyataan yang lainnya tidak.
Perberdaan dengan struktur If adalah bila pernyataan If menyeleksi suatu kondisi yang terpenuhi, setelah memproses pernyataan dalam lingkungan yang terpenuhi tersebut, proses penyeleksian masih dilakukan terhadap pernyataan If berikutnya yang lain. Sedang pada struktur Case—Of bila salah satu kondisi terpenuhi dan pernyataan tersebut telah diproses, selanjutnya pernyataan-pernyataan yang lainnya dalam lingkungan Case tidak akan diseleksi lagi.

Bentuk dari struktor Case—Of adalah:

Case ungkapan Of
            daftar case-label1:pernyataan1;
            daftar case-label2:pernyataan2;
            daftar case-label3:pernyataan3;
            daftar case-label4:pernyataan4;
            .
            .
            daftar case-labeln:pernyataann;
End;

Daftar case label (label permasalahan) dapat berupa konstanta, atau range (himpunan) dari konstanta yang bukan bertipe real.

Contoh:
Nilai ujian yang diberikan dalam bentuk huruf A, B, C, D, E mempunyai arti sebagai berikut.

Nilai ‘A’ berarti sangat baik.
Nilai ‘B’ berarti baik.
Nilai ‘C’ berarti cukup.
Nilai ‘D’ berarti kurang.
Nilai ‘E’ berarti kurang sekali.
Nilai ‘F’ berarti gagal.

Var
     Nilai:Char;
Begin
     Writeln(‘Nilai huruf yang didapat = ‘);
     Readln(Nilai);
     Case Nilai of
           ‘A’:Writeln(‘Sangat Baik’);
           ‘B’:writeln(‘Baik’);
           ‘C’:Writeln(‘Cukup’);
           ‘D’:Writeln(‘Kurang’);
           ‘E’:Writeln(‘Gaga’);
     End;
End.

Struktur Case—Of…Else merupakan pengembangan dari struktur Case—Of dan juga merupakan pengembangan dari standar Pascal. Pada struktur Case—Of bila tidak ada kondisi yang terpenuhi berarti tidak ada pernyataan di lingkungan Case—Of yang diproses. Dengan struktur Case—Of…Else, bila tidaka da kondisi yang terpenuhi, maka pernyataan yang akan diproses di dalam lingkungan Case—Of adalah pernyataan yanga da di Else.


Contoh
Pembelian yang mencapai nilai tertentu akan medapatkan potongan pembelian yang besarnya disesuaikan dengan tabel berikut ini.
Total Pembelian (Rp)
Potongan Rp
0-1000
100
1001-5000
200
>5000
500

Akan dihitung besarnya potongan dan nilai yang harus dibayat untuk masing-masing penjualan. Programnya adalah:

Var
     Bersih,Beli,potong:Integer;
Begin
     Writeln(‘Total Pembelian = ‘); Readln(beli);
    
           Case Beli of
                   0..1000:potong:=100;
                1001..5000:potong:=200;
           Else            potong:=500;
           End;
          
           Bersih:=beli-ptong;
           Writeln(‘Potongan       = ‘, potongan);
           Writeln(‘Jumlah Bersih = ‘, Bersih);
End.
 Sumber : http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=9&ved=0CF4QFjAI&url=http%3A%2F%2Fbuyungwisnuadjie.files.wordpress.com%2F2008%2F07%2Fmengenal-turbo-pascal-5.doc&ei=69ivVOq7DM-9ugTKo4GgDg&usg=AFQjCNHQIIqiA2XwOtAVmxQCcoB7Vcp1pg&sig2=GTpkyVh0CIaF9_aWB-5Pcw&bvm=bv.83339334,d.c2E

Tidak ada komentar:

Posting Komentar