Sunday, 18 June 2017

PENJELASAN TENTANG STORED PROCEDURE DAN PENGGUNAANNYA PADA MYSQL

           

STORED PROCEDURE 


               Stored Procedure adalah sekumpulan perintah SQL yang disusun dalam sebuah procedure (mirip dengan di pemrograman biasa) yang memiliki nama dan fungsi tertentu. Stored procedure merupakan grup transact SQL (T-SQL). Jika anda memiliki kondisi dimana anda harus menuliskan query yang sama berulang kali, maka anda dapat menyimpan query tersebut ke dalam stored procedure dan apabila dibutuhkan tinggan memanggil procedure yang telah dibuat. Store Procedure adalah salah satu objek routine yang tersimpan pada database MySQL dan dapat digunakan untuk menggantikan berbagai kumpulan perintah yang sering kita gunakan, seperti menampilkan informasi dengan kondisi tertentu. Store procedure sangat berguna ketika menginginkan adanya user yang tidak dapat mengakses tabel secara langsung atau dengan kata lain membatasi hak akses user dan mencatat operasi yang dilakukan. Dengan demikian resiko kebocoran dan kerusakan data dapat diminimalisir. 

             Pengertian lain menyebutkan, store procedure adalah program yang disimpan dalam database seperti halnya data. Store procedur memiliki manfaat antara lain :
  1. Dapat digunakan kapanpun Seperti halnya pembuatan procedure pada bahasa pemrograman seperti VB/Java atau bahasa pemrograman lainnya. Apabila sebuah program cukup banyak memiliki proses yang akan dikerjakan, akan lebih baik program tersebut dipecah menjadi bagian-bagian kecil (procedure). Fungsi utama/program utama hanya tinggal memanggil bagian-bagian program tersebut. Seperti halnya pada basis data. 
  2. Lebih cepat dan efisien karena bersifat server side Jika ingin membuat program yang cukup besar, pembuatan program server side akan terasa lebih mudah dibanding client side. Server side akan bersifat netral terhadap semua aplikasi, disisi lain database administrator tidak perlu mengetahui terlalu mendalam terhadap bahasa pemrograman seperti VB/Java/PHP dan lain sebagainya. 3. Mudah dibuat dan dirawat karena kecil tetapi “Power Full” 
contoh gambar


  • Keterangan : 
Dibuat stored procedure dengan nama spBarangPerKategori dengan menambahkan 1 parameter 
yaitu @kategori bertipe VARCHAR(50). Kemudian dibuat query untuk menyeleksi data barang beserta kategori barang dimana kategori barang sesuai dengan inputan pada saat eksekusi procedure.
  
        Selanjutnya eksekusi query tersebut. Jika view menampilkan data/informasi barang yang dibutuhkan tanpa ada filter/kriteria, dengan menggunakan store procedure dapat menampilkan databarang .dengan menambahkan kriteria tertentu. Untuk menjalankan store procedure tersebut maka querynya adalah :

contoh gambar

Contoh 2 STORED PROCEDURE MENGGUNAKAN PARAMETER OUTPUT 
Stored procedure untuk menghitung berapa jumlah barang berdasarkan kategori yang diinputkan.

contoh gambar 

  • Keterangan : 
Variable @kategori merupakan parameter yang digunakan untuk memberikan kondisi kategori 
tertentu (explanation). Variabel @jumlah merupakan variable yang digunakan untuk menampung hasil output.  Untuk menjalankan stored procedure tersebut

contoh gambar

Namun apabila dimodifikasi menjadi : (keyword OUT/OUTPUT pada jumlahBarang dihilangkan) 
contoh gambar

  • Keterangan : 
Dibuat sebuah store procedure untuk menentukan jumlah supplier yang dimiliki dengan 
menggunakan return value. Maka sebelum query tambahkan keyword RETURN. 

contoh gambar
  1. Sp_help procedure_name 
Digunakan untuk melihat tentang informasi berkaitan stored procedure, seperti nama parameter, tipe datanya dan lain sebagainya. Sp_help dapat digunakan untuk beberapa object database seperti tabel, view, trigger dan lainnya. Untuk alternative, anda dapat menekan button ALT + F1, ketika nama object tersebut di highlighted.

      2.Sp_helptext procedure_name 

Untuk menampilkan text dari stored procedure.

      3.Sp_depends procedure_name 

Untuk melihat dependensi dari store procedure. System ini sangat berguna, khususnya jika anda menginginkan untuk mengecek, jika ada beberapa stored procedure yang tereferensi (reference) sebuah tabel yang ingin dihapus. Sp_depends juga dapat digunakan untuk object database seperti tabel.   

  1.  Buat stored procedure untuk menampilkan data barang yang stok minimalnya sesuai dengan angka yang diinputkan ! Misal : stok minimal yang diinputkan 50, maka hasil outputnya : (jumlah baris : 21 rows)  contoh gambar
  2.  Buat stored procedure untuk menampilkan data barang berdasarkan nama supplayer atau kode supplayer yang diinputkan !
  3.  Buat stored procedure untuk menambahkan dan mengubah data category ! 
  4.  Buat stored procedure untuk menampilkan data transaksi penjualan lengkap dengan data konsumen dan data barang berdasarkan rentang waktu tertentu (misal dari tanggal 1 mei 2016 hingga tanggal 30 mei 2016) ! TASK 

4 Comments

makasih infonya gan, ternyata begitu yah fungsi stored procedure, maklum newbie di mysql

Terimakasih infonya, biasanya saya hanya tau CRUD aja. Ini berguna untuk projek besar kayaknya.


EmoticonEmoticon