Rabu, 07 September 2011

Filosofi Statement IF dalam Pemrograman

Kali ini kita akan mulai masuk ke dunia IT. Dalam Bab pemrograman baik itu Pascal ataupun C++, PHP atau apapun itu dikenal salah satu statement yang hampir serupa dalam semua bahasa pemrograman yang dikenal dengan IF.

Bagi seseorang yang baru mengenal pemrograman komputer, tentunya ingin tahu apa itu statement IF dan apa fungsinya? atau dengan kata lain kapan kita gunakan statement tersebut.

Di kehidupan sehari-hari, tentu sering kita jumpai hal-hal yang berbau sebab akibat. Sebagai contoh perhatikan pernyataan berikut ini:

  1. Jika saya lapar, maka saya makan
  2. Apabila saya punya uang, maka saya akan membeli buku pemrograman. Apabila tidak, maka saya akan memfotokopi bukunya saja.

Dua kalimat di atas menggambarkan sebab akibat. Secara umum, bentuk pernyataan sebab akibat adalah berbentuk

Jika (syarat), maka (akibat)

Apa maksudnya bentuk di atas? Maksudnya adalah apabila syarat tersebut terpenuhi, maka akibat akan terjadi atau dilaksanakan.

Perhatikan kalimat pertama yang telah diberikan sebelumnya. Dalam hal ini, ‘saya lapar’ merupakan syarat dan ‘saya makan’ adalah akibatnya. Dengan demikian, apabila syarat ‘saya lapar’ ini terpenuhi, maka akibatnya ‘saya makan’.

Selanjutnya perhatikan kalimat kedua. Pada kalimat tersebut terdapat alternatif akibat yang muncul. Dalam hal ini syarat yang diberikan adalah ‘saya punya uang’. Bila syarat ‘saya punya uang’ ini terpenuhi, maka akibatnya ‘saya akan membeli buku pelajaran’. Selanjutnya bagaimana jika ‘saya tidak punya uang’? Nah… inilah fungsi alternatif akibatnya. Pada contoh ini, alternatif akibatnya adalah ‘saya akan memfotokopi buku’.

Secara umum, bentuk sebab akibat yang di dalamnya terdapat alternatif akibat berbentuk

Jika (syarat), maka (akibat 1). Jika tidak, maka (akibat 2)

Dalam dunia logika, istilah ‘terpenuhi’ identik dengan nilai ‘TRUE’ atau ‘BENAR’.

Nah… pernyataan sebab akibat yang terjadi di dunia manusia ini dapat diadopsi ke dunia pemrograman komputer, yang sering dikenal dengan statement IF. Lantas apa fungsi statement tersebut? Fungsinya adalah untuk melakukan suatu perintah tertentu bila telah terpenuhinya suatu syarat.

Dalam bahasa pemrograman Pascal, bentuk statement IF ini adalah

1.IF (syarat) THEN
2.BEGIN
3.(akibat)
4.END;

Maksud dari bentuk IF di atas adalah, jika ‘syarat’ terpenuhi (bernilai TRUE), maka ‘akibat’ akan dikerjakan. Bagaimana jika ‘syarat’ tidak terpenuhi (bernilai FALSE)? Dalam hal ini, tidak akan melakukan apa-apa, kecuali bentuk IF seperti berikut

1.IF (syarat) THEN
2.BEGIN
3.(akibat 1)
4.END
5.ELSE BEGIN
6.(akibat 2)
7.END;

Nah… bentuk IF di atas memungkinkan adanya alternatif akibat. Apabila ‘syarat’ tidak terpenuhi (bernilai FALSE), maka ‘akibat 2′ akan dikerjakan.

Sebagai catatan penting dalam penggunaan IF, nilai dari syarat haruslah berupa boolean yaitu hanya bernilai TRUE atau FALSE saja. TRUE berarti syarat terpenuhi, sedangkan FALSE berarti syarat tidak terpenuhi.

Selain bentuk-bentuk IF yang telah diberikan, ada pula bentuk IF seperti berikut

01.IF (syarat 1) THEN
02.BEGIN
03.(akibat 1)
04.END
05.ELSE IF (syarat 2) THEN
06.BEGIN
07.(akibat 2)
08.END
09.ELSE IF (syarat 3) THEN
10.BEGIN
11.(akibat 3)
12.END
13..
14..
15.ELSE BEGIN
16.(akibat n)
17.END;

Wah kok ruwet begitu ya? :-) Jangan khawatir, mudah kok memahaminya. Apabila ‘syarat 1′ terpenuhi, maka ‘akibat 1′ akan dikerjakan. Bila ‘syarat 1′ tidak terpenuhi, maka akan dicek ‘syarat 2′. Bila ‘syarat 2′ terpenuhi, maka ‘akibat 2′ akan dikerjakan, begitu seterusnya… Namun bila semua syarat tidak ada yang terpenuhi, maka ‘akibat n’ baru dikerjakan.

OK… mudah-mudahan sudah paham. Nah… kalau paham, coba saya kasih pertanyaan. Samakah makna kedua bentuk IF berikut ini?

1.IF (syarat 1) THEN
2.BEGIN
3.(akibat 1)
4.END
5.ELSE IF (syarat 2) THEN
6.BEGIN
7.(akibat 2)
8.END;

dengan

01.IF (syarat 1) THEN
02.BEGIN
03.(akibat 1)
04.END;
05.
06.IF (syarat 2) THEN
07.BEGIN
08.(akibat 2)
09.END;

Secara sekilas, kedua bentuk IF memiliki makna sama. Namun dari sudut pandang proses, kedua bentuk adalah berbeda. Untuk bentuk IF pertama, apabila ‘syarat 1′ terpenuhi, maka bagian ELSE tidak akan pernah dijalankan, atau dengan kata lain pengecekan untuk ‘syarat 2′ tidak akan dilakukan. Namun untuk bentuk IF kedua, pengecekan terhadap ‘syarat 2′ tetap akan dilakukan meskipun ‘syarat 1′ terpenuhi.

Dalam contoh-contoh bentuk IF yang diberikan di atas menggunakan format bahasa Pascal. Bagaimana dengan bahasa yang lain, seperti C/C++ dan PHP ?

Pada C/C++ demikian pula dengan PHP, bentuk IF berupa

1.if (syarat)
2.{
3.(akibat)
4.}

atau bisa juga berbentuk

1.if (syarat)
2.{
3.(akibat 1)
4.}
5.else
6.{
7.(akibat 2)
8.}

atau bentuk ketiga

01.if (syarat 1)
02.{
03.(akibat 1)
04.}
05.else if (syarat 2)
06.{
07.(akibat 2)
08.}
09.else if (syarat 3)
10.{
11.(akibat 3)
12.}
13..
14..
15.else
16.{
17.(akibat n)
18.}


Tidak ada komentar:

Posting Komentar