Selasa, November 13, 2012

KONDISI IF dan IF BERSARANG PADA VISUAL PROLOG


 If pada visual prolog memiliki struktur yang sama pada bahasa permorgraman pada umumnya, namun penulisannya sedikit membingungkan karena tidak seperti bahasa pemrograman lainnya, seperti java yang akhir dan awal statement menggunakan { } kurung kurawal, atau visual basic menggunakan then dan end if. 

If pada visual prolog lebih mirip dengan if pada visual basic, namun ada ketentuan khusus seperti penmpatan koma dan tanpa koma di bagian tertentu. Langsung saja kita lihat contoh sederhananya.

Cobaif():-
    if pemain2="B" then
        pemain1:="A"
    end if.

Pada contoh di atas, contoh untuk if yang terdapat dalam sebuaah method, kondisinya adalah jika pemain 2 memiliki nilai B, maka pemain1 akan diberi nilai A,
pada statement pemain1:="A"  tidak di akhiri dengan tanda (,) koma melainkan tanpa tanda, karena posisinya di bagian akhir sebelum end if.
Berbeda jika ada beberapa statement didalamnya.. seperti contoh berikut..

Cobaif():-
    if pemain2="B" then
        pemain1:="A",
                pemain3:=”C”,
                x:=10
    end if.

Jika ada beberapa statement, maka penulisan statement sebelumnya diakhiri dengan tanda (,) koma. Dan statement terakhir tepat sebelum end if, diakhiri tanpa tanda koma.
Akhir penulisan end if, jika dalam satu method cobaif():- terdapat beberapa kondisi if, seperti contoh berikut..

Cobaif():-
    if pemain2="B" then         %if pertama
        pemain1:="A",
                pemain3:=”C”,
                x:=10
    end if,

    if pemain3="A" then         %if kedua
        pemain1:="C",
                pemain3:=”B”,
                x:=10
    end if.

 maka penulisan akhir if pertama menggunakan (,) koma dan if terakhir di akhiri dengan tanda (.) titik, if diatas bukan merupakan if else ataupun if bersarang, melainkan ada dua kondisi pada satu method.

Karena jika if else if else -> jika salah satu kondisi (konsisi teratas) terpenuhi, maka kondisi teratas di eksekusi, kondisi dibawahnya tidak akan tereksekusi.

sedangkan jika terdapat 2 atau lebih if -> jika kondisi teratas terpenuhi akan di eksekusi, jika kondisi dibawah juga terpenuhi, maka kondisi kedua juga akan  di eksekusi  tidak berdasarkan kondisi diatasnya memenuhi kondisi atau tidak.

Sedangkan jika if bersarang -> jika kondisi (1) teratas terpenuhi, maka akan mengeksekusi kondisi (2) didalamnya lagi, dan jika kondisi didalamnya ke (3) terpenuhi juga, maka akan lanjut mengeksekusi, dan jika kodisi (1) sudah tidak terpenuhi, maka kondisi (2) dan (3) tidak akan dicocokkan kondisinya.

Untulk lebih jelasnya, saya lampirkan statement dan penjelasannya sebagai berikut.
    if pemain2="B" then
        pemain1:="A",
        xx:=560,
        temp:=player1

    else
        pemain2:="A",
        xx:=565,
        temp:=player2
    end if.

Pada statement di atas merupakan if –else, dimana statement sebelum else dan sebelum end if ditulis tanpa diakhiri dengan tanda koma,

Jika untuk statement if – elseif – else- end if di tulis sebagai berikut.

    if pemain2="B" then                  
        pemain1:="A",
        xx:=560,
        temp:=player1

    else if
        pemain2:="A",
        xx:=565,
        temp:=player2
    else
        pemain3:="A",
        xx:=570,
        temp:=player3
end if
 end if.

Setiap ada penambahan else if, maka ditambahkan juga end if di bagian akhir, penulisan end if tanpa diakhiri tanda koma. Seperti contoh diatas.


Jika untuk statement if  bersarang di tulis sebagai berikut.
    if pemain2="B" then           %if pertama
        pemain1:="A",
        xx:=560,
        temp:=player1,
                if                           %if bersarang didalam if pertama (if kedua)
                      pemain2:="A",
                      xx:=565,
                      temp:=player2
                else                                  %else untuk (if kedua)
                      pemain3:="A",
                      xx:=570,
                      temp:=player3
               end if
 end if.

Dimana bedanya..? sekilas memang tampak mirip, namun dalam if bersarang penulisan statement sebelum if kedua, menggunakan tanda koma, temp:=player1, jika tanpa tanda koma akan memiliki arti yang berbeda dan if kedua ditulis tanpa menggunakan else, karena jika menggunakan else akan memiliki arti yang berbeda.



untuk melihat semua materi mengenai visual prolog, bisa dilihat disini..


2 komentar:

Unknown mengatakan...

makasih infonya ;)

DAnish Fathurrahman mengatakan...

contoh nested IFnya lengkap sekali om. makasih for sharing.

:)) :)] ;)) ;;) :D ;) :p :(( :) :( :X =(( :-o :-/ :-* :| 8-} ~x( :-t b-( :-L x( =))

Posting Komentar

untuk menggunakan emotion di bawah, silakan masukkan kode di samping emoltion.

Template by : kendhin x-template.blogspot.com