Skip to content Skip to sidebar Skip to footer

Stored Procedure, Trigger, dan Function dengan MySQL



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 tak perlu lagi mengetikkan program kecuali hanya CRUD saja.




Baca Juga
Untuk memulai membuatnya, kita hanya perlu memilih database yang akan kita gunakan. Dalam hal ini saya menggunakan database yang saya buat disini. Pada menu bar bagian atas daftar tabel terdapat beberapa menu. pilihlah routines, lalu add routines.

Menu routines untuk menambah function dan stored procedure


add routine


Hal diatas adalah langkah awal untuk membuat stored procedure, trigger, dan function menggunakan phpMyAdmin. Berikut ini merupakan tutorialnya


1. Stored Procedure

Stored Procedure adalah salah satu object routines 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 SELECT

Seperti yang saya jelaskan sebelumnya. disini saya hanya memberikan tutorial tentang membuat procedure di phpMyAdmin. Untu membuatnya, kita hanya perlu menyiapkan perintah yang akan dijadikan procedure yang kemudian kita buat procedure tersebut di phpMyAdmin menggunakan menu routines.

  • Pada kolom Routine Name, tulislah insert_dosen
  • Pada kolom Type, pilihlah Procedure
  • Setelah itu, ada kolom parameter. 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 tipe data parameter sama dengan tipe data pada tiap kolom tb_dosen. Berikut merupakan parameter yang digunakan.

    DirectionNameTypeLength/ValuesOptions
    INnama_parameterVarchar50Char
    INjkel_parameterVarchar11Char
    INalamat_parameterTextnullChar

    Keterangan : Untuk Direction dan Optionts 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 definition dalam procedure

    INSERT


    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 phpMyAdmin
    BEGIN
        INSERT INTO tb_dosen
                    (nama_dosen,  jkel, alamat)
        VALUES     (nama_parameter,  jkel_parameter,  alamat_parameter);
    END 

    berikut ini merupakan tampilan gambar keseluruhan dalam procedure insert di MySQL. Lalu klik tombol go.
    Cara membuat procedure insert di mysql

    Jika anda ingin membuat secara manual bisa juga dengan menu bar SQL lalu buat program seperti dibawah ini
    CREATE definer=`root`@`localhost` PROCEDURE `insert_dosen`(IN `nama_parameter` varchar(50), IN `jkel_parameter` varchar(11), IN `alamat_parameter` text)
    BEGIN INSERT INTO tb_dosen
                  (
                              nama_dosen,
                              jkel,
                              alamat
                  )
                  VALUES
                  (
                              nama_parameter,
                              jkel_parameter,
                              alamat_parameter
                  );END


    UPDATE


    Untuk Update, kita perlu menambahkan satu parameter lagi. Yaitu id_parameter sebagai WHERE clause. Seperti yang dijelaskan dalam CRUD di MySQL bahwa untuk perintah update, kita perlu untuk memberikan value penentu yang mana data yang akan diubah merupakan data yang memiliki value 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 procedure, bisa membuat Procedure update pada database MySQL menggunakan phpMyAdmin
    DirectionNameTypeLength/ValuesOptions
    INid_parameterintegernullChar
    INnama_parameterVarchar50Char
    INjkel_parameterVarchar11Char
    INalamat_parameterTextnullChar

    BEGIN
        UPDATE tb_dosen
        SET    nama_dosen = nama_parameter,
               jkel = jkel_parameter,
               alamat = alamat_parameter
        WHERE  id_dosen = id_parameter;
    END 

    berikut ini merupakan tampilan gambar keseluruhan dalam procedure insert di MySQL. Lalu klik tombol go.
    Cara membuat procedure update di mysql


    Jika anda ingin membuat secara manual bisa juga dengan menu bar SQL lalu buat program seperti dibawah ini
    CREATE definer=`root`@`localhost` PROCEDURE `update_dosen`(IN `id_parameter` int, IN `nama_parameter` varchar(50), IN `jkel_parameter` varchar(11), IN `alamat_parameter` text)
    BEGIN UPDATE tb_dosen
      SET    nama_dosen = nama_parameter,
             jkel = jkel_parameter,
             alamat= alamat_parameter
      WHERE  id_dosen = id_parameter;END


    DELETE


    berikut merupakan contoh procedure Delete pada MySQL. dengan contoh dibawah ini, mungkin pembaca yang baru mempelajari procedure, bisa membuat Procedure delete 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/ValuesOptions
    INid_parameterintegernullChar

    BEGIN
        DELETE tb_dosen
        WHERE  id_dosen = id_parameter;
    END 


    berikut ini merupakan tampilan gambar keseluruhan dalam procedure insert di MySQL. Lalu klik tombol go.

    cara membuat procedure delete di mysql

    Jika anda ingin membuat secara manual bisa juga dengan menu bar SQL lalu buat program seperti dibawah ini
    CREATE definer=`root`@`localhost` PROCEDURE `delete_dosen`(IN `id_parameter` int)
    BEGIN DELETE
      FROM   tb_dosen
      WHERE  id_dosen = id_parameter;END
  • Setelah semuanya selesai, silahkan run dengan menggunakan perintah CALL [NAMA_PROCEDURE] [Paramter_n]
    Sebagai contoh, saya akan memanggil procedure insert_dosen (nama_parameter, jkel_parameter, alamat_parameter).
    call insert_dosen ('Prof. Dr, Rudi Pangestu S.Pd', 'Laki-laki', 'jl.Monjali') 


    Lalu Klik go dan lihat hasilnya

    tampilan store procedure

2. Trigger

Trigger adalah sebuah script perintah MySQL yang memicu suatu kejadian dalam MySQL berupa sebuah aksi CRUD setelah syarat tertentu(after or before).

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 lagi tabel. yaitu tabel status yang berelasi one to one pada tb_dosen

tb_status
NamaTipe DataIndex
id_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 triger.
  • pada Trigger Name, tulislah trigger_insert_status
  • Pada Table, pilihlah tb_dosen
  • Pada Time, pilihlah After
  • Untuk Event, pilihlah INSERT
  • Untuk Definintion, disini kita buat script yang merupakan perintah untuk menambah data di tb_status.
    buatlah script dibawah ini di kolom definition
    BEGIN
        INSERT INTO tb_status
                    (id_status,
                     status)
        VALUES     (new.id_dosen,
                    'Aktif');
    END 

    Berikut ini adalah hasil gambarnya

    Cara membuat trigger di mysql

  • Apabila ingin membuat trigger secara manual, bisa gunakan script seperti dibawah ini :

    CREATE TRIGGER `trigger_insert_status` after INSERT
    ON `tb_dosen`
    FOR EACH row
    begin
      INSERT INTO tb_status_dosen
                  (id_status,
                   status)
      VALUES     (new.id_dosen,
                  'Aktif');
    end 
  • Setelah semua hal diatas sudah dilakukan, kita hanya perlu menginput data tb_dosen, karena pada dasarnya trigger tidak bisa dipanggil.

    call insert_dosen('Dr.Maguwoharjo', 'laki-laki', 'Jl.Gamping') 


    lihatlah pada tb_status_dosen. sudah ada data yang terinput

    cara menambah data dengan trigger


3. Function

Function 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 menggunakannya.

berikut 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? Jawabannya adalah dengan Function, yang perlu kita lakukan hanyalah memanipulasi data saja. menampilkan data dari beberapa kolom dan dijadikan satu kolom.

Nah agar tidak lebih bingung, sebaiknya kita coba saja

  • Masuk ke menu routines, sama seperti procedure
  • Pada Routine Name, kita buat saja nama "tampil_id_mahasiswa"
  • Untuk Type, kita pilih Function
  • Untuk Parameter adalah sebagai berikut :
    DirectionNameTypeLength/Values
    id_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

    BEGIN
        DECLARE nama_kelas_parameter VARCHAR(10);

        SELECT tb_kelas.nama_kelas
        INTO   nama_kelas_parameter
        FROM   tb_mahasiswa
               JOIN tb_kelas
                 ON tb_mahasiswa.id_kelas = tb_kelas.id_kelas
        WHERE  tb_mahasiswa.id_mahasiswa = id_parameter;

        RETURN Concat(nama_kelas_parameter, '/', id_parameter);
    END 


    Berikut adalah gambarnya

    cara membuat function id varchar di mysql



Untuk memanggil Function, kita gunakan perintah SELECT [nama_function]([parameter_n]). Berikut ini adalah contohnya:

SELECT Tampil_id_mahasiswa(1) 

Keterangan : angka satu didalam kurung merupakan id_mahasiswa di table tb_mahasiswa.

Dan berikut ini merupakan hasilnya

cara memanggil function


Dalam pembelajaran, Ibarat seseorang yang sedang naik tangga, Sebagai seorang yang sudah ahli tentu tidak boleh memarahi orang yang berada dibawahnya. Demikian Tutorial yang saya berikan, terimakasih atas kunjungannya. Assalamu'alaikum wr.wb


2 comments for "Stored Procedure, Trigger, dan Function dengan MySQL"

  1. Stored Procedure, Trigger, Dan Function Dengan Mysql >>>>> Download Now

    >>>>> Download Full

    Stored Procedure, Trigger, Dan Function Dengan Mysql >>>>> Download LINK

    >>>>> Download Now

    Stored Procedure, Trigger, Dan Function Dengan Mysql >>>>> Download Full

    >>>>> Download LINK

    ReplyDelete