Pascal : Percabangan (Program Control Bagian 1)

Kamis, Mei 28, 2015 Unknown 2 Comments



Dalam postingan kali ini, saya akan membahas beberapa hal yang paling penting dalam dunia pemrograman, yaitu percabangan/decision making menggunakan if-then dan case-of, serta looping yang saya rangkum dalam Program Control. Hal-hal yang dibahas pada topik ini merupakan hal yang general yang ada di setiap Bahasa Pemrograman, pastikan Anda cukup berlatih dan menguasai materi berikut ini. Jadi, pastikan Anda membaca topik seputar Programming Control ini secara menyeluruh dan mendalam. Namun karena bahasannya cukup panjang. Maka akan saya pecah bahasan Program Control ini menjadi beberapa bagian. Check this out! ^^

Decision making dalam bahasa Pascal terdiri dari :

if-then statement
if-then-else statement
nested if statements
case-else statement, dan
case statement
nested case statements

PERCABANGAN-DECISION MAKING

1. If - Then Statement

If-Then Statement merupakan percabangan yang paling simple. Menggunakan ekspresi boolean dan logika untuk menyeleksi kondisi kemudian diikuti oleh satu atau beberapa statement lainnya.
Alur logika dari statement ini dapat digambarkan sebagai berikut :

sumber : www.tutorialspoint.com


syntaxnya :

if (conditon) then (statement);

condition di sini adalah logika yang apabila nilainya valid maka statement selanjutnya dapat dieksekusi. Misalnya :


if (x>3) then
     writeln('Iya');

Apabila nilai x yang kita input lebih besar dari 3, maka program akan menampilkan 'Iya' ke layar. Contoh lainnya :

If (x==2) then
     x:=x+2;

Artinya apabila nilai x sama dengan dua maka x ditambahkan dengan dua. Kondisinya dapat kita ubah sesuai dengan kebutuhan dari program yang sedang kita buat. Saya tidak akan membahas tentang Operator Logika dan Ekspresi Boolean yang dipakai pada kondisi, untuk itu silahkan untuk membaca beberapa artikel tentang logika yang ada dalam Bahasa Pascal, seperti di sini.

Jika ingin mengeksekusi lebih dari satu statement, maka gunakan begin-end untuk membuatnya ke dalam satu blok (dibungkus). Contohnya

If (x==2) then
    begin
         x:=x+1;
         jumlah:=jumlah+x;
    end;

2. If - Then - Else

Walaupun If-Then sangat simple, namun control dari percabangan yang dapat dihandle pun tidak terlalu banyak jenisnya. Pada If-Then statement, kita hanya memproses statement apabila kondisi yang ada valid. lalu bagaimana bila kita juga ingin memproses statement lainnya walaupun kondisi tidak valid? Pascal menyediakan percabangan berjenis If-Then-Else yang syntaxnya :


If (condition) then
      (statement1) else
      (statement2);


Implementasi :

If (x mod 2=1) then
     writeln('Ganjil') else
     writeln('Genap');

Perhatikan bahwa tidak ada semicolon ';' setelah statement pertama. Biasanya, untuk meningkatkan keterbacaan program, kita dapat menggunakan begin-end untuk membungkus statement. Namun yang harus diperhatikan adalah begin-end ini tidak boleh diberikan akhiran '.' karena titik setelah 'End' menandakan akhir dari program. Maka dapat diimplementasikan sebagai berikut :


If (x mod 2 = 1) then
     begin
         writeln('Ganjil');
     end
         else
     begin
         writeln('Genap');
     end;

Sebelum 'else', begin-end tidak diakhiri dengan semicolon, tapi untuk statement terakhir yang dibungkus dengan begin-end, menggunakan semicolon. Diagram alurnya dapat digambarkan sebagai berikut :

sumber : www.tutorialspoint.com

3. Nested If

Nested If ini secara singkat dapat diibaratkan sebagai 'if di dalam if'. Terkadang setelah menyeleksi beberapa kondisi, kita perlu menyeleksinya lagi dengan lebih spesifik untuk mendapatkan hasil yang kita inginkan dan sesuai dengan program yang ingin kita buat. Contoh Syntaxnya :

if (condition1) then
begin
       if (condition2) then
       begin
           statement1;
       end
           else
       begin
           statement2;
       end;
end
      else
begin
      statement3;
end;

Syntax di atas adalah sebuah contoh, bentuk syntax nya dapat berubah sesuai dengan program dan kondisi yang kita buat. Namun perlu diperhatikan, contoh syntax di atas tidak akan sama dengan :

if (condition1) then
begin
     statement1;
end
    else
begin
if (condition2) then
      begin
           statement2;
      end
           else
      begin
           statement3;
      end;
end;


Contoh penggunaan Nested if ini adalah, misalnya kita ingin membuat sebuah program yang dapat mengelompokkan apakah suatu bilangan termasuk ke dalam bilangan yang nilainya lebih besar dari 0 atau lebih kecil daripada 0. Setelah dilakukan seleksi oleh kondisi yang kita tetapkan tersebut, kita dapat menyaringnya kembali, misalnya untuk yang lebih besar dari 0, kita dapat mengelompokkannya lagi menjadi 'apakah bilangan tersebut ganjil' atau 'apakah bilangan tersebut termasuk bilangan genap' dengan cara mengimplementasi percabangan if-then sesuai kebutuhan. Bila bilangan lebih kecil dari 0 maka akan menuliskan 'Bilangan negatif' ke layar. Contoh penerapannya :
if (x > 0 ) then
    begin
         if (x mod 2 == 1 ) then
         begin
           writeln('Bilangan Ganjil');
         end
           else
           writeln('Bilangan Genap');
    end
else
    begin
         writeln('Bilangan negatif');
    end; 
end;
         
Bersambung.

2 komentar:

  1. artikelnya sangat membantu, tapi kalau bisa disertakan link but langsung ke bagian duanya.

    BalasHapus