Anda di halaman 1dari 31

LAPORAN PRAKTIKUM PEMROGRAMAN BASIS DATA MODUL VII PROCEDURE

Disusun Oleh : Gusti Putra Rahmawan 12.12.0132 Tanggal Praktikum : 30 MEI 2013 Asisten Praktikum : Siti Maslikha Berliana Dwi Muidah LABORATORIUM KOMPUTER & JARINGAN SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM PURWOKERTO JL. LET. JEND. POL SUMARTO PURWOKERTO 2013

DAFTAR ISI

COVER MODUL ............................................................................... 1 COVER LAPORAN ........................................................................... 1 DAFTAR ISI ...................................................................................... 2 BAB I DASAR TEORI ....................................................................... 3 I.1 TENTANG PROCEDURE ........................................................... 3 BAB II HASIL DATA ......................................................................... 4 II.1 PENGGUNAAN PROCEDURE DALAM iSQLPLUS .................. 4 BAB III ANALISIS DAN PEMBAHASAN........................................... 17 III. ANALISIS DAN PEMBAHASAN .................................................. 17 BAB VI KESIMPULAN ...................................................................... 27 DAFTAR PUSTAKA

BAB I DASAR TEORI I.1 TENTANG PROCEDURE SQL (Structured Query Language) adalah sebuah bahasa yang dipergunakan untuk mengakses data dalam basis data relasional. Bahasa ini secara de facto merupakan bahasa standar yang digunakan dalam manajemen basis data relasional. PL/SQL Language) fasilitas (Procedural sebuah Language / Structured antara pengguna PL/SQL Query bahasa dapat dapat

merupakan

penggabungan sehingga Dalam

pemrograman prosedural (PL) dan SQL syntax. PL/SQL adalah yang disediakan konsep Oracle memanfaatkan database Oracle Dalam PL/SQL ada Procedure, procedure itu sendiri adalah sebuah blok PL/SQL yang dapat berdiri sendiri serta dikompilasi untuk selanjutnya masuk ke dalam skema database. Didalam procedure ada beberapa macam procedure diantaranya : Procedure Tanpa Parameter, Procedure Dengan Parameter ( Parameter Masukkan, Parameter Keluaran, dan Parameter Masukan dan Keluaran), dan Procedure di dalam Procedure. pemrograman.

digunakan perintah untuk memanipulasi data yang ada dalam

BAB II HASIL DATA

I.1 PL/SQL Hasil Data dari sebuah PL/SQL yang menggunakan exception/eksepsi pada iSQL*PLUS. Dan menghasilkan hasil data sebagai berikut : PROCEDURE TANPA PARAMETER 1. Menghitung Luas Segitiga

2. Menentukan Akar Akar persamaan Kuadrat

3. Menentukan Jumlah Dari Sepuluh buah Bilangan bulat Positif

PROCEDURE DENGAN PARAMETER Parameter Masukan 1. Menambahkan Bilangan Bulat dengan Nilai 2

2. Menentukan Bilangan Prima atau Bukan

3. Menghitung Faktorial

Parameter keluaran 1. Menghitung Penambahan 10

2. Menghitung Luas Segitiga

3. Menghitung Bilangan Berpangkat

10

4. Hasil Pemangkatan

11

Parameter masukan/keluaran 1. Penambahan nilai 10

12

13

2. Menghitung Keliling Lingkaran

14

PROCEDURE DALAM PROCEDURE 1. Mencetak Angka

15

Langkah kedua

16

Langkah Terakhir

17

BAB III ANALISIS DAN PEMBAHASAN Dari hasil data pada sintaq di atas, kita dapat menganalisis. Dalam pembuatan sintaq isqlplus, pertama tama yang harus kita lakukan adalah membuka internet Explorer menggunakan langkah langkah sebagai berikut : 1. Double klik pada icon e ( internet explorer ) 2. Tuliskan alamat isqlplus pada komputer anda Contoh : http://localhost:5560/isqlplus/ 3. Masukkan username dan password Contoh : system dan gusti Setelah kita masuk kedalam isqlplus, kemudian kita koneksikan dengan user hr dengan cara : Jika saat kita masuk kedalam isqplus kita sudah tehubung dengan system maka kita langsung koneksikan dengan user hr saja seperti langkah langkah dibawah ini : 1. Tuliskan alter user hr account unlock; Perintah ini digunakan untuk membuka user hr agar bisa digunkan. 2. Tuliskan alter user hr identified by amikom; Perintah ini digunakan untuk menggubah password lama menjadi password baru 3. Tuliskan connect hr/amikom;

18

Dari hasil data diatas, maka dapat kita analisis Sebagai berikut : Procedur Tanpa Parameter 1. Sintak Menghitung luas segitiga : create or replace procedure hitung_luas_sgitiga AS alas number(5); tinggi number(5); luas number(10); begin alas := 3; tinggi := 6; luas := (alas * tinggi ) / 2; dbms_output.put_line ('Luas = ' || luas); end; / Pada sintak ini Statement Create or Replace digunakan untuk membuat procedure baru atau mengganti isi procedure yang ada sebelumnya. 2. Sintak menentukan akar akar persamaan kuadrat : create or replace procedure cari_akar_kuadrat AS a number(5); b number(5); c number(5); d number(10); x1 number(5); x2 number(10); begin a := 1; b := 0; c := -1; d := power(b,2) - (4*a*c); if d > 0 then x1 := (-b + sqrt (d)) / (2*a);

19

x2 := (-b - sqrt (d)) / (2*a); elsif d = 0 then x1 := (-b + sqrt (d)) / (2*a); x2 := x1; else dbms_output.put_line ('x1 dan x2 imaginer'); end if; if d >= 0 then dbms_output.put_line adalah :'); dbms_output.put_line (' x1 = ' || x1); dbms_output.put_line (' x2 = ' || x2); end if; end; / Pada sintak ini Statement Create or Replace digunakan untuk membuat procedure baru atau mengganti isi procedure yang ada sebelumnya. Sintak diatas digunakan untuk mencari akar kuadrat. ('Akar-akar persamaan kuadratnya

20

3. Sintak untuk Menentukan jumlah 10 bilangan : create or replace procedure jumlah_10_bil AS jumlah integer(10); k integer(2); begin k := 1; jumlah := 0; while k <= 10 loop jumlah := jumlah + k; k := k + 1; end loop; dbms_output.put_line (' Jumlah 10 bilangan positif pertama = ' || jumlah ); end; / sintak diatas digunakan untuk menghitung nilai yang ditambahkan dengan 10. Prosedure Dengan Parameter Parameter Masukan (IN) 1. Sintak untuk Menambahkan 2 nilai Bilangan : create or replace procedure tambah_dua ( a IN integer) AS hasil integer(5); begin hasil := a + 2; dbms_output.put_line ( ' Hasil akhir = ' || hasil ); end; / Sintak diatas digunakan untuk menambahkan 2 nilai pada hasil. IN adalah parameter input atau masukkan

21

2. Sintak untuk mengecek bilangan prima atau bukan : create or replace procedure cek_prima(bil IN integer) AS prima boolean := true; j integer; begin if bil <= 1 then prima := false; end if; for j in 2..(bil / 2) loop if mod(bil,2) = 0 then prima := false; exit; end if; end loop; if prima then dbms_output.put_line (bil || 'merupakan bilangan prima'); else dbms_output.put_line ( bil || 'bukan merupakan bilangan prima'); end if; end; / Sintak diatas digunakan untuk mengecek apakah bilangan yang telah dimasukkan masuk kedalam bilanngan prima atau bukan. 3. Sintak Mengitung Faktorial : create or replace procedure hitung_faktorial (x IN integer) AS hasil integer(5); j integer(3); begin hasil := 1;

22

j := 1; if X = 0 then hasil := 1; else while j <= x loop hasil := hasil * j; j := j + 1; end loop; end if; dbms_output.put_line(x ||'! = ' || to_char(hasil)); end; / Sintak diatas digunakan untuk menghitung faktorial. Disintak ini menggunakan perulangan while. Parameter Keluaran 1. Sintak untuk Menambahkan Nilai 10: create or replace procedure tambah_10 (bil IN integer, x OUT integer) AS begin x := bil + 10; end; / Atau set serveroutput on declare hasil integer; begin tambah_10(5,hasil); dbms_output.put_line('Hasilnya = ' || to_char(hasil)); end; /

23

Sintak diatas digunakan menambahkan nilai 10 pada hasil. OUT adalah parameter yang berfungsi untuk menampung hasil pelaksanaan suatu procedure. 2. Sintak Menghitung Luas segitiga: create or replace procedure hitung_luas_segitiga ( a IN number, t IN number, L OUT number) AS begin L := (a * t) / 2; end; / Atau set serveroutput on declare luas number; begin hitung_luas_segitiga (6, 8, luas); dbms_output.put_line('Luas segitiga = ' || to_char(luas)); end; / Sintak diatas digunakan untuk menghitung Luas segitiga, dimana alas dan tinggi merupakan Parameter masukkan dan Luas itu sendiri merupakan Parameter Keluaran.

24

3. Sintak Untuk pemangkatan : create or replace procedure pangkat ( bil IN INTEGER, pemangkat IN INTEGER, hasil OUT integer) AS j INTEGER; pkt INTEGER; begin pkt := 1; for j IN 1..pemangkat loop pkt := pkt * bil; end loop; hasil := pkt; end; / Atau set serveroutput on declare h integer; begin pangkat(2,5,h); dbms_output.put_line ('hasil perpangkatan =' || to_char (h)); end; / Sintak diatas digunakan untuk memangkatkan bilangan.

25

PARAMETER MASUKAN / KELUARAN 1. Sintak untuk Tambah 10: create or replace procedure tambah_10(x in out integer) AS begin x := x + 10; end; / Atau set serveroutput on declare y integer; begin y := 15; tambah_10 (y); dbms_output.put_line (' Hasil Penambahan = ' || to_char (y)); end; / Sintak diatas digunakan untuk menambahkan 10 kepada hasil. 2. Sintak untuk menghitung Keliling Lingkaran : create or replace procedure keliling_lingkaran (R in out number) AS begin R := 2 * 3.14 * R; end; / Atau set serveroutput on declare bil integer; begin

26

bil := 4; dbms_output.put_line ( ' Jari-jari lingkaran : ' || to_char(bil)); keliling_lingkaran(bil); dbms_output.put_line( ' Keliling Lingkaran : ' || to_char(bil)); end; / Sintak diatas digunakan untuk menghitung keliling lingkaran. Yang dimana R sebagai parameter keluaran dan paramter masukan. PROCEDURE DI DALAM PROCEDURE 1. Langkah pertama membuat cetak angka create or replace procedure cetak_angka (x in integer) AS j integer; begin for j in 1..x loop dbms_output.put_line (to_char(j)); end loop; end; / Pada sintak diatas kita membuat 2 buah prosedur yaitu procedure cetak_angka dan procedure_proc.

27

2. Langkah kedua membuat procedure yang menggukan procedure cetak angka create or replace procedure panggil_proc AS begin cetak_angka (10); dengan parameter 10 end; / Dalam sintak ini procedure akan dicetak sebanyak 10 n ( bilangan) melalui procedure cetak_angka diatas. 3. Langkah 3 Melakukan Eksekusi set serveroutput execute panggil_proc; sintaq ini digunakan untuk mengeksekusi procedure cetak_angka dan procedure_proc. -- memanggil procedure cetak_angka

28

BAB IV KESIMPULAN

Dari hasil data dan pembahasan diatas dapat disimpulkan bahwa : Procedure adalah sebuah blok PL/SQL yang dapat berdiri sendiri Ada beberapa macam procedure : Procedure Tanpa Parameter adalah procedure yang hasilnya diberikan selalu bernilai sama. Procedure Dengan Parameter adalah procedure yang memiliki sifat dinamis karena pada saat pemanggilan procedure tersebut dapat merubah nilai. Procedure Di Dalam Procedure . Pada Procedure Dengan Parameter dibagi menjadi 3 : 1. Parameter Masukan adalah parameter yang dideklarasikan disini sebagai masukan ke dalam badan procedure. 2. Parameter Keluaran adalah parameter yang menampung hasil pelaksanaan suatu procedure. 3. Parameter Masukan / keluaran adalah gabungan dari tipe parameter masukan dan parameter keluaran.

29

DAFTAR PUSTAKA

http://ayunuranggrainy.blogspot.com/2012/05/prosedureplsql.html http://vhyo17.blogspot.com/2010/05/procedure-pada-plsql.html http://giriayoga.com/2010/11/01/pengertian-procedure/

30