Assalamu'alaikum wr. wb
Ketika kita membuat aplikasi berbasis database, kita mulai kesulitan dengan CRUD. Apakah CRUD tersebut error atau tidak, dan kita harus mencari kesalahan tersebut dengan mengikuti alur program yang sudah dibuat. Hal ini tentunya sangat merepotkan. apalagi jika tabel yang kita gunakan cukup banyak. Solusi untuk hal tersebut adalah Stored procedure, Trigger, dan Function. Dengan Stored procedure, Trigger, dan Function, kita bisa membuat program CRUD langsung dari MySQL, sehingga program lebit tertata rapi dan mudah untuk diperbaiki
Stored procedure, Trigger, dan function juga berguna untuk SELECT di MySQL. Karena dengan hal tersebut, kita hanya perlu memanggil stored procedure,Trigger, dan function dari MySQL tanpa perlu mengetik ulang query, sehingga hal tersebut mempercepat pembuatan program dan meringkas program dengan semestinya
Tutorial yang akan saya berikan ini merupakan tutorial tentang cara membuat stored procedure, trigger, dan function di MySQL dengan menggunakan phpMyAdmin. Ketiganya memiliki cara yang sama yaitu ada di menu bar routines. di menu tersebut, kita bisa membuat ketiganya dalam satu fitur. Menurut saya itu sangat efisien. Dengan adanya fitur-fitur ini kita tidak perlu lagi mengetikkan program kecuali hanya CRUD saja
Baca Juga
- Psiphon3, Aplikasi VPN untuk PC
- Membuat Function dan Stored Procedure SQL Server 2014
- Array 1 Dimensi, 2 Dimensi, 3 Dimensi menggunakan bahasa C++
Hal diatas adalah langkah awal untuk membuat stored procedure, trigger, dan function menggunakan phpMyAdmin. Berikut ini merupakan tutorialnya
1. Prosedur Tersimpan
Stored Procedure adalah salah satu object routine yang tersimpan pada database MySQL dan dapat berfungsi untuk menggantikan berbagai kumpulan perintah yang sering kita gunakan. Perintah-perintah tersebut salah satunya adalah CRUD, Sorting tabel, dan SELECTSeperti yang saya jelaskan sebelumnya. disini saya hanya memberikan tutorial tentang membuat prosedur di phpMyAdmin. Untuk membuatnya, kita hanya perlu menyiapkan perintah yang akan dijadikan procedure yang kemudian kita buat procedure tersebut di phpMyAdmin menggunakan menu routines
- Pada kolom Nama Rutin, tulislah insert_dosen
- Pada kolom Type, pilihlah Procedure
- Setelah itu, ada parameter kolom. disini kita hanya perlu memberikan parameter yang dibutuhkan saja. Dalam hal ini kolom di tabel tb_dosen(yang akan kita input adalah tabel tb_dosen). Usahakan parameter tipe data sama dengan tipe data pada tiap kolom tb_dosen. Berikut merupakan parameter yang digunakan
DirectionNameTypeLength/ValuesOptionsINnama_parameterVarchar50CharINjkel_parameterVarchar11CharINalamat_parameterTextnullChar
Keterangan. Untuk Direction dan Option tidak perlu diubah-ubah. biarkan seperti itu saja - Untuk SQL Data Access, pilihlah Containts SQL
- Untuk Definition, disinilah proses CRUD dimasukkan
Berikut merupakan contoh perintah crud yang akan dimasukkan ke definisi dalam prosedurMENYISIPKAN
berikut merupakan contoh procedure insert pada MySQL. dengan contoh dibawah ini, mungkin pembaca yang baru mempelajari procedure, bisa membuat Procedure insert pada database MySQL menggunakan phpMyAdminMULAI
MASUKKAN KE DALAM tb_dosen
(nama_dosen, jkel, alamat)
NILAI (nama_parameter, jkel_parameter, alamat_parameter);
AKHIR
berikut ini merupakan tampilan gambar keseluruhan dalam prosedur insert di MySQL. Lalu klik tombol go
Jika anda ingin membuat secara manual bisa juga dengan menu bar SQL lalu buat program seperti dibawah iniBUAT definer=`root`@`localhost` PROCEDURE `insert_dosen`(IN `nama_parameter` varchar(50), IN `jkel_parameter` varchar(11), IN `alamat_parameter` text)
MULAI MASUKKAN KELUAR tb_dosen
(
nama_dosen,
jkel,
alamat
)
NILAI
(
nama_parameter,
parameter_jkel,
alamat_parameter
); ENDMEMPERBARUI
Untuk Update, kita perlu menambahkan satu parameter lagi. Yaitu id_parameter sebagai klausa WHERE. Seperti yang dijelaskan dalam CRUD di MySQL bahwa untuk perintah update, kita perlu memberikan penentu nilai mana data yang akan diubah merupakan data yang memiliki nilai tertentu. Jika tidak, maka semua data akan diupdate. disini saya memberikan contoh update dengan value id tertentu saja
berikut merupakan contoh procedure update pada MySQL. dengan contoh dibawah ini, mungkin pembaca yang baru mempelajari prosedur, bisa membuat Update prosedur pada database MySQL menggunakan phpMyAdmin
DirectionNameTypeLength/ValuesOptionsINid_parameterintegernullCharINnama_parameterVarchar50CharINjkel_parameterVarchar11CharINalamat_parameterTextnullCharMULAI
UPDATE tb_dosen
SET nama_dosen = nama_parameter,
jkel = jkel_parameter,
alamat = alamat_parameter
DI MANA id_dosen = id_parameter;
AKHIR
berikut ini merupakan tampilan gambar keseluruhan dalam prosedur insert di MySQL. Lalu klik tombol go
Jika anda ingin membuat secara manual bisa juga dengan menu bar SQL lalu buat program seperti dibawah iniBUAT definer=`root`@`localhost` PROCEDURE `update_dosen`(IN `id_parameter` int, IN `nama_parameter` varchar(50), IN `jkel_parameter` varchar(11), IN `alamat_parameter` text)
MULAI PERBARUI tb_dosen
SET nama_dosen = nama_parameter,
jkel = jkel_parameter,
alamat= alamat_parameter
DI MANA id_dosen = id_parameter;ENDMENGHAPUS
berikut merupakan contoh procedure Delete pada MySQL. dengan contoh dibawah ini, mungkin pembaca yang baru mempelajari prosedur, bisa membuat Prosedur hapus pada database MySQL menggunakan phpMyAdmin
Berbeda dengan INSERT dan UPDATE. Untuk DELETE, kita hanya memerlukan satu parameter saja. Yaitu id, karena jika tidak ada value, maka semua data akan terhapus
DirectionNameTypeLength/ValuesOptionsINid_parameterintegernullCharMULAI
HAPUS tb_dosen
DI MANA id_dosen = id_parameter;
AKHIR
berikut ini merupakan tampilan gambar keseluruhan dalam prosedur insert di MySQL. Lalu klik tombol go
Jika anda ingin membuat secara manual bisa juga dengan menu bar SQL lalu buat program seperti dibawah iniBUAT definer=`root`@`localhost` PROCEDURE `delete_dosen`(IN `id_parameter` int)
MULAI HAPUS
DARI tb_dosen
DI MANA id_dosen = id_parameter;END - Setelah semuanya selesai, silahkan jalankan dengan menggunakan perintah CALL [NAMA_PROCEDURE] [Paramter_n]
Sebagai contoh, saya akan memanggil prosedur insert_dosen (nama_parameter, jkel_parameter, alamat_parameter)panggil insert_dosen ('Prof. Dr, Rudi Pangestu S.Pd', 'Laki-laki', 'jl.Monjali')
Lalu Klik go dan lihat hasilnya
2. Pemicu
Trigger adalah sebuah script perintah MySQL yang memicu suatu kejadian dalam MySQL berupa sebuah aksi CRUD setelah syarat tertentu(setelah atau sebelum)Berikut merupakan contoh trigger mysql. Dengan memberikan Contoh ini, semoga saja bisa membuat pembaca semakin paham denan trigger yang ada di MySQL. Contoh yang akan saya berikan ini merupakan contoh membuat trigger menggunakan XAMPP
Untuk memulainya, alangkah baiknya jika kita membuat 1 tabel lagi. yaitu tabel status yang berelasi one to one pada tb_dosen
tb_status
NamaTipe DataIndexid_statusIntegerPrimary key dan foreign key tb_dosen(id_dosen)statusvarchar(12)null
Lalu pilih tb_status di menu sebelah kiri, dan di menu bar pilih trigger. lalu pilih add trigger
- pada Trigger Name, tulislah trigger_insert_status
- Pada Table, pilihlah tb_dosen
- Pada Time, pilihlah After
- Untuk Event, pilihlah INSERT
- Untuk Definisi, disini kita buat script yang merupakan perintah untuk menambah data di tb_status
buatlah script dibawah ini di kolom definisiMULAI
MASUKKAN KE DALAM tb_status
(id_status,
status)
NILAI (baru.id_dosen,
'Aktif');
AKHIR
Berikut ini adalah hasil gambarnya - Apabila ingin membuat trigger secara manual, bisa gunakan script seperti dibawah ini
BUAT TRIGGER `trigger_insert_status` after INSERT
AKTIF `tb_dosen`
UNTUK MASING-MASING baris
mulai
MASUKKAN KELUAR tb_status_dosen
(id_status,
status)
NILAI (baru.id_dosen,
'Aktif');
akhir - Setelah semua hal diatas sudah dilakukan, kita hanya perlu menginput data tb_dosen, karena pada dasarnya trigger tidak bisa dipanggil
telepon insert_dosen('Dr. Maguwoharjo', 'laki-laki', 'Jl.Gamping')
lihatlah pada tb_status_dosen. sudah ada data yang terinput
3. Fungsi
Fungsi adalah suatu bagian dari program yang digunakan untuk mengerjakan suatu tugas tertentu yang mengembalikan suatu nilai untuk dikembalikan ke program pemanggil yang letaknya dipisahkan dari bagian program yang berfungsiberikut ini merupakan cara membuat function di phpMyAdmin. Dengan membuat function tersebut, maka programmer hanya tinggal memanggilnya di program saja. tanpa perlu mengetik ulang. sehingga phpMyAdmin bisa bergunal lebih banyak
Saat ini yang akan saya berikan adalah contoh function di MySQL untuk menampilkan id_mahasiswa, berdasarkan kelas. pernahkah anda melihat id yang memiliki huruf dan angkan seperti "A001", ''10. 12. 0001"? Mungkin memang yang mereka panggil adalah id, namun pengalaman saya ketika pendadaran dulu, saya menggunakan format id seperti itu, dan dosen penguji saya memberikan saran sebaiknya id bertype data integer saja. Karena integer lebih ringan daripada Char, sehingga database dapat memuat data lebih banyak. Lalu bagaimana caranya untuk membuat id seperti itu? . menampilkan data dari beberapa kolom dan dijadikan satu kolom
Nah agar tidak lebih bingung, sebaiknya kita coba saja
- Masuk ke menu routines, sama seperti prosedur
- Pada Routine Name, kita buat saja nama "tampil_id_mahasiswa"
- Untuk Type, kita pilih Function
- Untuk Parameternya adalah sebagai berikut
DirectionNameTypeLength/Valuesid_parameterInteger11null - Pada Return Type, pilih Varchar
- Pada Return Length/Values, tulis 20
- Untuk Return Options, kita biarkan Null saja
- Pada SQL Data Access, pilih CONTAINS SQL
- Seperti biasa, ketikkan script berikut ini ke Definition
MULAI
MENYATAKAN nama_kelas_parameter VARCHAR(10);
PILIH tb_kelas. nama_kelas
INTO nama_kelas_parameter
DARI tb_mahasiswa
GABUNG tb_kelas
AKTIF tb_mahasiswa. id_kelas = tb_kelas.id_kelas
DI MANA tb_mahasiswa. id_mahasiswa = id_parameter