Pages

Saturday, October 9, 2010

STRUKTUR BLOCK ANONYMOUS PL / SQL

Cara–cara membuat script, yaitu :
1. Buat di notepad  (tuliskan scripnya) 
2. Save as  (tempat dokumen pengen disimpan
3. Pilih type All Files pada saat menyimpan 
4. Ekstensi filenya (…….*sql)
Anonymous Block ( Blok Anonimous)
Anonymous Block ( Blok Anonimous) yaitu  blok yang tidak ada nama dan tidak disimpan dalam database ataupun dalam skema.
Struktur script blok anonymous PL / SQL
Declare
……… deklarasi variabel
Begin
……   prosedural dan SQL masuk disini
End;
Contoh : 
1. Hitunglah keliling sebuah segitiga yang mempunyai alas = 12 cm dan tinggi = 7 cm …….
Jawab :
declare
a number;
t number;
luas number;
begin
a:=12;
t:=7;
luas:=a*t*0.5;
dbms_output.put_line('alas adalah '||a||'cm');
dbms_output.put_line('tinggi adalah '||t||'cm');
dbms_output.put_line('luas segitiga adalah '||luas||'cm2');
end;
  Hasil pengeksekusian akan tampak seperti gambar berikut :
NB : apabila saat pengeksekusian program yang kita lakukan berhasil tetapi tidak mengeluarkan OUTPUT maka yang kita lakukan adalah dengan mengetikkan kalimat berikut : 
“SET SERVEROUTPUT ON ;”
Atau dapat kita lihat seperti gambar berikut : 
   1. Hitunglah luas sebuah segitiga, tetapi nilai dari alas dan tinggi di input …….
declare
a number;
t number;
luas number;
begin
a:=&nilai_alas ;
t:=&nilai_tinggi ;
luas:=a*t*0.5;
dbms_output.put_line('alas adalah '||a||'cm');
dbms_output.put_line('tinggi adalah '||t||'cm');
dbms_output.put_line('luas segitiga adalah '||luas||'cm2');
end; 
Hasil pengeksekusian akan tampak seperti gambar berikut :
 
1. buatlah soal pl/sql blok anonymus untuk menghitung total bayar, apabila di inputkan jumlah barang (bilangan bulat) dan harga barang.
Output tampilanya :
nama barang :
harga : Rp.
jumlah :
total biaya : Rp
jawab :
declare
nama_barang varchar2(256);
harga_barang number(8);
jumlah_barang number(8);
total number(8);
begin
nama_barang:=’&input_nama_barang’;
harga_barang:=&input_harga_barang;
jumlah_barang:=&input_jumlah_barang;
total:=harga_barang*jumlah_barang;
dbms_output.put_line ('nama_barang: ' ||nama_barang);
dbms_output.put_line ('harga_barang : Rp ' ||harga_barang);
dbms_output.put_line ('jumlah_barang: ' ||jumlah_barang);
dbms_output.put_line ('total : Rp ' ||total);
end; 
hasil pengeksekusian akan tampak seperti gambar berikut :
 
Struktur script blok anonymous PL / SQL dengan menggunakan exception
DECLARE    deklarasi variabel, type dan subprogram lokal     BEGIN ……    prosedural dan SQL masuk disini   EXCEPTION ……    penanganan eksepsi (ERROR)   END; 
Contoh : 
1. Tampilkan frist_name dan last_name dari tabel pegawai yang employee_id = 100 yang ada pada skema HR…..
declare
vf_name varchar2(256);
vl_name varchar2(256);
begin
select first_name, last_name into vf_name, vl_name
from employees
where employee_id = '100';
dbms_output.put_line(vf_name||' '||vl_name);
exception
when no_data_found then dbms_output.put_line('data tidak ada');
end;
hasil pengeksekusian akan tampak seperti gambar berikut:
Penggunaan IF
IF - THEN - ELSE - END IF
Struktur penggunaan IF :
IF kondisi pertama THEN
…….. baris perintah 1
ELSE
…….  baris perintah 2
END IF;
Contoh 1 :
Declare
a varchar(20);
b varchar(2);
begin
a:='&Nama';
b:='&Jenis_Kelamin';
if (b='l')or(b='L') then
                dbms_output.put_line('Selamat Datang Mas '||a);
else if (b='p')or(b='P') then
                dbms_output.put_line('Selamat Datang Mbak '||a);
          end if;
    end if;
end;
hasil pengeksekusian akan tampak seperti gambar berikut :
Contoh 2:
declare
a number (3);
begin
a:=&masukkan_nilainya ;
if (a >= 75) then
                dbms_output.put_line('Anda mendapatkan nilai A');
else if((a >= 65) and (a < 75)) then
                dbms_output.put_line('Anda mendapatkan nilai B');
else if((a>=55) and (a <65)) then
                dbms_output.put_line('Anda mendapatkan nilai C');
else if((a >= 40) and (a <55)) then
                dbms_output.put_line('Anda mendapatkan nilai D');
else
     if(a <40) then
                dbms_output.put_line('Anda mendapatkan nilai E');        
           end if;
      end if;
     end if;
   end if;
 end if;
end;
apabila kita menginputkan bilangan a > 75, maka hasil pengeksekusian akan tampak seperti gambar berikut :
apabila kita menginputkan bilangan 65 >= a < 75, maka hasil pengeksekusian akan tampak seperti gambar berikut :
apabila kita menginputkan bilangan 55 >= a < 65, maka hasil pengeksekusian akan tampak seperti gambar berikut :
apabila kita menginputkan bilangan 40 >= a < 55, maka hasil pengeksekusian akan tampak seperti gambar berikut :
apabila kita menginputkan bilangan a < 40, maka hasil pengeksekusian akan tampak seperti gambar berikut :
NB : Kalo ada yang kurang tolong diberi komentar yah ...........
Terimakasih

No comments:

Post a Comment