pbo(procedure) gustipr

Upload: gigih-yudha-perdana

Post on 11-Feb-2018

267 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/22/2019 Pbo(Procedure) Gustipr

    1/31

    LAPORAN PRAKTIKUM

    PEMROGRAMAN BASIS DATA

    MODUL VII

    PROCEDURE

    Disusun Oleh :

    Gusti Putra Rahmawan12.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

    1

  • 7/22/2019 Pbo(Procedure) Gustipr

    2/31

    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

    2

  • 7/22/2019 Pbo(Procedure) Gustipr

    3/31

    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 (Procedural Language / Structured QueryLanguage) merupakan sebuah penggabungan antara bahasa

    pemrograman prosedural (PL) dan SQL syntax. PL/SQL adalah

    fasilitas yang disediakan Oracle sehingga pengguna dapat

    memanfaatkan konsep pemrograman. Dalam PL/SQL dapat

    digunakan perintah untuk memanipulasi data yang ada dalam

    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.

    3

  • 7/22/2019 Pbo(Procedure) Gustipr

    4/31

    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

    4

  • 7/22/2019 Pbo(Procedure) Gustipr

    5/31

    3. Menentukan Jumlah Dari Sepuluh buah Bilangan bulat Positif

    5

  • 7/22/2019 Pbo(Procedure) Gustipr

    6/31

    PROCEDURE DENGAN PARAMETER

    Parameter Masukan

    1. Menambahkan Bilangan Bulat dengan Nilai 2

    2. Menentukan Bilangan Prima atau Bukan

    6

  • 7/22/2019 Pbo(Procedure) Gustipr

    7/31

    3. Menghitung Faktorial

    7

  • 7/22/2019 Pbo(Procedure) Gustipr

    8/31

    Parameter keluaran

    1. Menghitung Penambahan 10

    8

  • 7/22/2019 Pbo(Procedure) Gustipr

    9/31

    2. Menghitung Luas Segitiga

    9

  • 7/22/2019 Pbo(Procedure) Gustipr

    10/31

    3. Menghitung Bilangan Berpangkat

    10

  • 7/22/2019 Pbo(Procedure) Gustipr

    11/31

    4. Hasil Pemangkatan

    11

  • 7/22/2019 Pbo(Procedure) Gustipr

    12/31

    Parameter masukan/keluaran

    1. Penambahan nilai 10

    12

  • 7/22/2019 Pbo(Procedure) Gustipr

    13/31

    13

  • 7/22/2019 Pbo(Procedure) Gustipr

    14/31

    2. Menghitung Keliling Lingkaran

    14

  • 7/22/2019 Pbo(Procedure) Gustipr

    15/31

    PROCEDURE DALAM PROCEDURE

    1. Mencetak Angka

    15

  • 7/22/2019 Pbo(Procedure) Gustipr

    16/31

    Langkah kedua

    16

  • 7/22/2019 Pbo(Procedure) Gustipr

    17/31

    Langkah Terakhir

    17

  • 7/22/2019 Pbo(Procedure) Gustipr

    18/31

    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

  • 7/22/2019 Pbo(Procedure) Gustipr

    19/31

    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

    http://localhost:5560/isqlplus/http://localhost:5560/isqlplus/
  • 7/22/2019 Pbo(Procedure) Gustipr

    20/31

    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 ('Akar-akar persamaan kuadratnya

    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.

    20

  • 7/22/2019 Pbo(Procedure) Gustipr

    21/31

    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

  • 7/22/2019 Pbo(Procedure) Gustipr

    22/31

    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

  • 7/22/2019 Pbo(Procedure) Gustipr

    23/31

    j := 1;

    if X = 0 then

    hasil := 1;

    else

    while j

  • 7/22/2019 Pbo(Procedure) Gustipr

    24/31

    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

  • 7/22/2019 Pbo(Procedure) Gustipr

    25/31

    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

  • 7/22/2019 Pbo(Procedure) Gustipr

    26/31

    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

  • 7/22/2019 Pbo(Procedure) Gustipr

    27/31

    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

  • 7/22/2019 Pbo(Procedure) Gustipr

    28/31

    2. Langkah kedua membuat procedure yang menggukan procedure

    cetak angka

    create or replace procedure panggil_proc AS

    begin

    cetak_angka (10); -- memanggil procedure cetak_angka

    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.

    28

  • 7/22/2019 Pbo(Procedure) Gustipr

    29/31

    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

  • 7/22/2019 Pbo(Procedure) Gustipr

    30/31

  • 7/22/2019 Pbo(Procedure) Gustipr

    31/31

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