Minggu, 14 Desember 2014

STORED PROSEDUR

1. Pengertian

     Stored procedure adalah sekumpulan perintah SQL yang disusun dalam sebuah procedure (mirip dengan pemograman biasa) yang mempunyai nama dan kegunaan tertentu.

     A. Persamaan dengan prosedur dlm pemrograman:
  1. Menerima parameter input dan mengembalikan beberapa nilai dalam bentuk parameter output ke pemanggil prosedure atau batch.
  2.  Berisi statement pemrograman utk operasi dlm database, termasuk memanggil prosedur lainnya.
  3. Mengembali nilai status ke pemanggil prosedur atau batch untuk menunjukkan keberhasilan atau kegagalan (dan alasan untuk kegagalan).
     B. Cara Membuat Prosedur dan Pemanggilannya
          1. CREATE PROSEDURE nama_sp ( IN | OUT | INOUT  nama_parameter Type                                     Variabel)  isi_prosedur;
                2. Call nama_sp (parameter);



     C. Kelebihan Stored Procedure
1.    Keamanan lebih
a.    stored procedure selalu tersimpan pada database server
b.    Memberikan grant user permission utk menjalankan SP
2.    Mengurangi lalu lintas jaringan
Stored Procedure dapat mengurangi query SQL panjang menjadi satu baris yang ditransmisikan sehingga mengurangi lalu lintas client-server.
3.    Waktu Eksekusi lebih cepat
Bila perlu T-SQL yang banyak dan berulang-ulang, maka SP bisa lebih cepat drpd batch T-SQL code.  SP dicompile sekali, disimpan dalam memory dan digunakan untuk pemanggilan berikutnya (tidak perlu dikompilasi ulang). SQL dapat dioptimasikan oleh DBMS compiler
4.    Berbagi-pakai kode modular berimbas pada:
a.    Mengurangi pekerjaan berlebih – penggunaan ulang kode secara efisien
b.    Standarisasi pemrosesan
c.    Spesialisasi antara developer


Setelah penjelasan yang telah dipapahkan diatas, langsung aja kita praktekan yaaa!!!
disini saya menggunakan tool HeidiSql...mari kita mulaii.,..mulai dari awal membuat database di HeidiSql

1.  Pertama Kita buka HeidiSql nya, seperi gambar di bawah ini (sebelumnya mySql di xampp  di aktifkan terlebih dahulu) jika belum ada sesi,bisa membuat yang baru dengan klik tombol baru yang ada di sebelah pojok kiri.


2.  Setelah itu langsung saja klik tombol  buka, makan akan masuk ke Menu Utama  HeidiSql


3. Setelah masuk ke Menu utama, selanjutkan kita membuat database seperti gambar dibawah ini :



4.  selanjutnya kita beri nama database " belajar_stored_prosedur", kemudian klik tombol OK seperti gambar dibawah ini :


5. setelah di klik OK maka akan masuk ke database yang tadi dibuat, kemudian kita membuat 1 tabel saja sebagai contoh dengan cara seperti di bawah ini :


6. Selanjutnya memberi nama tabel  (saya beri nama tabel data_diri)  dengan diisi atribut seperti gambar di bawah ini (no_ktp int PK , nama varchar(50),  alamat varchar (50), no_telepon int )
kemudiann klik tombol SIMPAN,


7. setelah selesai mebuat database dan tabel, selanjutnya kita membuat stored prosedur nya seperti yang kita bahas sebelumnya.

   7.1  Contoh  Membuat  Prosedur untuk insert ke tabel data_diri dan kita beri nama  "                                    insert_data_diri"  seperti gambar berikut :
        
         


Kemudian kita masuk ke tab parameter untuk menambahkan 3 parameter (nama varchar(50) IN, alamat varchar(50) IN, no_telepon int IN) dan menambahkan syntax selanjutnya klik simpan seperti gambar di bawah ini :


selanjutnya masuk ke tab query untuk pemanggilan prosedur yang telah dibuat tadi, dengan syntax (call insert_data_diri ("imam fahmi f ","SUBANG", 089738 ) kemudian di RUN  (tombol Segitiga berwarna Biru ) lebih jelasnya lihat gambar :


dan untuk melihat hasilnya masuk ke tabel data_diri kemudian masuk ke tabdata seperti gambar dibawah ini (no_ktp terisi otommatis karena menggunakan auto increment sehingga tidak akan ada yang sama )


7.2  Contoh Membuat Prosedur Update ke tabel data_diri dengan nama prosedur "update_data_diri" dan membuat 4 Parameter (IN par_no_ktp int, IN par_nama  varchar(50),IN par_alamat varchar(50), IN par_no_telepon int) dengan syntax ( update data_diri set nama=par_nama, alamat=par_alamat, no_telepon=par_no_telepon where no_ktp=par_no_ktp);
dan kemudian klik simpan seperti gambar dibawah ini;


kemudian masuk ke tab query untuk pemanggilan prosedur yang telat dibuat tadi dengam syntax ( call update_data_diri (0000000004,"LINDA","SUBANG",089649) ) dan kemudian klik tombol  RUN (tombol Segitiga berwarna Biru )


dan untuk melihat hasilnya masuk ke tabel data_diri kemudian ke tab data, lihat gambar dibawah ini :


7.3  Contoh Membuat Prosedur delete ke tabel data_diri dengan nama prosedur (delete_data_diri), dengan menambahkan 1 Parameter (IN par_no_ktp int) dan syntax(delete from data_diri where no_ktp=par_no_ktp); dan selanjutnya klik tombol simpan..


kemudian masuk ke tab query untuk pemanggilan prosedur yang telat dibuat tadi dengam syntax ( call delete_data_diri (0000000004) ) dan kemudian klik tombol  RUN (tombol Segitiga berwarna Biru ),lebih jelasnya lihat gambar berikut ;


dan untuk melihat hasilnya masuk ke tabel data_diri kemudian ke tab data, lihat gambar dibawah ini :


7.4 Contoh membuat Prosedur Pernyataan IF dengan nama (prosedur_logika_if) , menambahkan 3 Parameter (IN input_nilai int, OUT indek varchar(1)) dengan syntax seperti gambar dibawah dan selanjutnya kli tombol simpan


Kemudian masuk ke tab query untuk pemanggilan Prosedur yang telah dibuat tadi, dengan syntax (call prosedur_logika_if (85,@indek)) dan selanjutnya klik tombol  RUN (tombol Segitiga berwarna Biru ).


dan untuk hasil akhirnya masih di tab quey kita ketikkan syntax ini (select @indek) dan hasilnya seperti gambar dibawah ini:


7.5  Contoh membuat Prosedur Pernyataan CASE kita beri  nama (prosedur_case) , menambahkan 2 Parameter (IN indeks varchar(1), OUT keterangan varchar (50)) dengan syntax seperti gambar dibawah dan selanjutnya kli tombol simpan



Kemudian masuk ke tab query untuk pemanggilan Prosedur yang telah dibuat tadi, dengan syntax (call prosedur_case ("B",@keterangan)) dan selanjutnya klik tombol  RUN (tombol Segitiga berwarna Biru ).



 dan untuk hasil akhirnya masih di tab quey kita ketikkan syntax ini (select @keterangan) dan hasilnya seperti gambar dibawah ini:



Referensi

Modul Praktikum Sistem Basis Data, Teknik Informatika UIN Sunan Gunung Djati Bandung (2013)

Tidak ada komentar:

Posting Komentar