Situs informasi aplokasi, Tips dan trik, Berita, informasi Teknologi, perkembangan Gadget dan internet.

Thursday, November 14, 2019

Tips Dan Trik Kontrol Statement Pada Pl/Sql

Ada 4 macam tipe kontrol statement pada Oracle PL/SQL, yaitu:
1. IF THEN Statement
2. IF THEN ELSE Statement
3. IF THEN ELSIF Statement
4. Nested IF Statement (IF Bersarang)
5. CASE Statement

Kelima kontrol statement diatas akan kita bahas lebih detail di tutorial ini.

IF THEN Statement

Sintak Dasar

Dibawah ini yakni sintak dasar dari IF THEN Statement:

IF condition THEN   statement; END IF; 

Contoh Program #1

Di bawah ini yakni teladan IF THEN Statement dalam kegiatan PL/SQL:

DECLARE   c NUMBER(2) := 5; BEGIN   IF (c < 10) THEN      DBMS_OUTPUT.PUT_LINE('Nilai C kurang dari 10');   END IF;    DBMS_OUTPUT.PUT_LINE('Nilai C yakni '||c); END; / 

Output #1

Output dari kegiatan diatas akan menghasilkan output menyerupai dibawah ini:

Nilai C kurang dari 10 Nilai C yakni 5  PL/SQL procedure successfully completed. 

Contoh Program #2

Pada teladan kegiatan #2, Kita akan menerapkan IF THEN Statement dengan kombinasi query SQL.

DECLARE  id_pegawai pegawai.id%type := 1;  gaji_pegawai pegawai.gaji%type; BEGIN  SELECT gai  INTO gaji_pegawai  FROM pegawai  WHERE id = id_pegawai;    IF (gaji_pegawai <= 1000000) THEN   UPDATE pegawai   SET honor = honor + 100000   WHERE id = id_pegawai;   dbms_output.put_line ('Gaji pegawai berhasil di update');  END IF; END; / 

Output #2

Gaji pegawai berhasil di update  PL/SQL procedure successfully completed. 

IF THEN ELSE Statement

Sintak Dasar

Di bawah ini yakni sintak dasar dari IF THEN ELSE Statement:

IF condition THEN    statement; ELSE    statement; END IF; 

Contoh Program

Di bawah ini yakni teladan IFT THEN ELSE Statement dalam kegiatan PL/SQL

DECLARE   c NUMBER(2) := 5; BEGIN   IF (c < 10) THEN      DBMS_OUTPUT.PUT_LINE('Nilai C kurang dari 10');   ELSE      DBMS_OUTPUT.PUT_LINE('Nilai C lebih dari 10');   END IF;    DBMS_OUTPUT.PUT_LINE('Nilai C yakni '||c); END; 

Output

Nilai C kurang dari 10 Nilai C yakni 5  PL/SQL procedure successfully completed. 

IF THEN ELSIF Statement

Sintak Dasar

Di bawah ini yakni sintak dasar dari IF THEN ELSIF Statement

IF(ekspresi boolean 1)THEN    Statement1; -- statement1 dijalankan apabila lisan boolean 1 bernilai true ELSIF(ekspresi boolean 2) THEN    Statement2; -- statement2 dijalankan apabila lisan boolean 2 bernilai true ELSIF(ekspresi boolean 3) THEN    Statement3; -- statement3 dijalankan apabila eskpresi boolean 3 bernilai true ELSE    Statement4; -- statement4 akan dijalankan kalau tidak ada bernilai true END IF; 

Contoh Program

Di bawah ini yakni teladan IF THEN ELSIF dalam kegiatan PL/SQL:

DECLARE  a number(3) := 100; BEGIN  IF ( a = 10 ) THEN   dbms_output.put_line('Nilai a yakni 10' );  ELSIF ( a = 20 ) THEN   dbms_output.put_line('Nilai a yakni 20' );  ELSIF ( a = 30 ) THEN   dbms_output.put_line('Nilai a yakni 30' );  ELSE   dbms_output.put_line('Tidak ada nilai yang sesuai');  END IF;  dbms_output.put_line('Nilai a yakni : '|| a ); END; / 

Output:
Program PL/SQL diatas akan mengeluarkan output di bawah ini:

Tidak ada nilai yang sesuai Nilai yakni : 100 

Nested IF Stetement

Sintak Dasar

Di bawah ini yakni sintak dasar dari IF Bersarang (Nested IF Statement):

IF(ekspresi boolean 1)THEN  -- statement akan dijalankan kalau lisan boolean 1 TRUE  IF(ekspresi boolean 2) THEN   -- statement akan dijalankan kalau lisan boolean 2 TRUE   statement2;  END IF; ELSE  -- statement akan dijalankan kalau lisan boolean 1 FALSE  else-statements; END IF; 

Contoh Program

DECLARE    a number(3) := 100;    b number(3) := 200; BEGIN    IF( a = 100 ) THEN       -- kalau kondisi diatas bernilai true, maka akan dicek kondisi dibawah       IF( b = 200 ) THEN          -- kalau kondisi bernilai true, maka akan menampilkan output          DBMS_OUTPUT.PUT_LINE('Nilai  a yakni 100 dan b yakni 200' );       END IF;    END IF;    DBMS_OUTPUT.PUT_LINE('Nilai a yakni : ' || a );    DBMS_OUTPUT.PUT_LINE('Nilai b yakni : ' || b ); END; / 

Output:

Nilai  a yakni 100 dan b yakni 200 Nilai a yakni : 100 Nilai b yakni : 200  PL/SQL procedure successfully completed. 

CASE Statement

Sintak Dasar

Di bawah ini yakni sintak dasar dari CASE Statement

CASE selector  WHEN 'value1' THEN Statement1;  WHEN 'value2' THEN Statement2;  WHEN 'value3' THEN Statement3;  ...  ELSE Statement; -- default case END CASE; 

Ada 2 bentuk CASE Statement menyerupai pada kedua teladan kegiatan di bawah ini:

Contoh Progam #1

Di bawah ini yakni teladan CASE Stetement dalam kegiatan PL/SQL:

DECLARE  nilai CHAR(1) := 'A'; BEGIN  CASE nilai   WHEN 'A' THEN DBMS_OUTPUT.PUT_LINE('Sempurna');   WHEN 'B' THEN DBMS_OUTPUT.PUT_LINE('Sangat Baik');   WHEN 'C' THEN DBMS_OUTPUT.PUT_LINE('Baik');   WHEN 'D' THEN DBMS_OUTPUT.PUT_LINE('Cukup');   WHEN 'F' THEN DBMS_OUTPUT.PUT_LINE('Coba Kuliah lagi..');   ELSE DBMS_OUTPUT.PUT_LINE('Gagal');  END CASE; END; /  
Output #1:

Sempurna  PL/SQL procedure successfully completed. 

Contoh Program #2

DECLARE  nilai CHAR(1) := 'A'; BEGIN  CASE    WHEN nilai = 'A' THEN DBMS_OUTPUT.PUT_LINE('Sempurna');   WHEN nilai = 'B' THEN DBMS_OUTPUT.PUT_LINE('Sangat Baik');   WHEN nilai = 'C' THEN DBMS_OUTPUT.PUT_LINE('Baik');   WHEN nilai = 'D' THEN DBMS_OUTPUT.PUT_LINE('Cukup');   WHEN nilai = 'F' THEN DBMS_OUTPUT.PUT_LINE('Coba Kuliah lagi..');   ELSE DBMS_OUTPUT.PUT_LINE('Gagal');  END CASE; END; / 

Output

Sempurna  PL/SQL procedure successfully completed.