prosedur dan function di mysql

 Prosedur dan function  di mysql


 bayangin kamu punya kotak mainan di rumah. Setiap kali kamu mau bermain, kamu harus ambil mainan dari kotak itu, kan? Nah, di dalam MySQL, prosedur dan fungsi itu mirip dengan kotak mainan yang bisa membantu kamu melakukan sesuatu berulang-ulang, tanpa perlu repot-repot ngulangin hal yang sama.

Prosedur di MySQL itu seperti kotak yang bisa kamu buka dan ambil mainan di dalamnya. Kalau kamu butuh melakukan sesuatu banyak kali, seperti menghitung jumlah mainan atau mencari mainan tertentu, kamu bisa "minta" prosedur itu untuk mengerjakannya setiap kali kamu butuh. Prosedur ini tidak memberikan hasil langsung, tapi dia melakukan sesuatu untuk kamu.

Contoh: Misalnya, kamu punya prosedur yang selalu membersihkan mainan yang sudah dipakai, jadi kamu tinggal bilang, “Tolong bersihkan mainan saya!” tanpa harus bilang satu-satu langkah yang harus dilakukan.

Fungsi, di sisi lain, sedikit berbeda. Fungsi itu seperti kotak yang setelah kamu buka dan ambil mainannya, dia langsung kasih kamu sesuatu sebagai hasil. Misalnya, kamu bisa minta fungsi untuk menghitung berapa banyak mainan yang kamu punya, dan dia akan langsung kasih jawabannya. Fungsi memberi kamu hasil yang bisa langsung kamu pakai.

Contoh: Kamu punya fungsi untuk menghitung berapa banyak mainan yang kamu punya. Jadi, kamu tanya ke fungsi itu, dan dia langsung kasih jawabannya.

Jadi, prosedur itu untuk melakukan sesuatu, dan fungsi itu untuk mendapatkan hasil dari sesuatu yang dilakukan.

tugas trigger siswa

 

Trigger siswa











Trigger adalah sebuah objek database yang berisi sekumpulan perintah SQL yang dieksekusi secara otomatis ketika terjadi suatu peristiwa atau event tertentu di dalam database. Peristiwa ini biasanya terkait dengan operasi DML (Data Manipulation Language) seperti INSERT, UPDATE, atau DELETE. Trigger digunakan untuk melakukan tindakan otomatis yang memastikan aturan bisnis atau konsistensi data tetap terjaga.

Fungsi dari Trigger

Trigger memiliki beberapa fungsi utama, di antaranya:

  1. Menerapkan Aturan Bisnis
    Trigger dapat digunakan untuk memastikan bahwa data yang dimasukkan atau diperbarui sesuai dengan aturan atau kebijakan bisnis tertentu. Misalnya, trigger dapat digunakan untuk memastikan bahwa saldo akun tidak pernah menjadi negatif.

  2. Memvalidasi Data
    Trigger dapat memvalidasi data yang dimasukkan, menghindari adanya data yang tidak sesuai format atau tidak valid. Contoh: trigger dapat memeriksa apakah nilai kolom tertentu berada dalam rentang yang valid atau tidak.

  3. Menghasilkan Nilai Unik untuk Baris yang Baru Dimasukkan
    Trigger dapat digunakan untuk menghasilkan nilai otomatis untuk kolom yang memerlukan data unik, seperti nomor identifikasi (ID) atau kode unik lainnya, saat baris baru dimasukkan ke dalam tabel.

  4. Menyimpan Catatan untuk Tujuan Audit
    Trigger sering digunakan untuk mencatat perubahan data di tabel tertentu, sehingga memungkinkan audit trail (jejak audit). Misalnya, setiap kali data dalam tabel diperbarui, trigger dapat secara otomatis membuat catatan di tabel log yang mencatat siapa yang mengubah data dan kapan.

  5. Menjaga Konsistensi Data
    Trigger dapat digunakan untuk menjaga konsistensi antar tabel yang berhubungan. Misalnya, ketika ada pembaruan atau penghapusan data di satu tabel, trigger bisa mengupdate atau menghapus data yang berkaitan di tabel lain.

Jenis-Jenis Trigger

  1. Trigger AFTER
    Trigger jenis ini dieksekusi setelah aksi (seperti INSERT, UPDATE, atau DELETE) selesai dilakukan. Trigger AFTER cocok digunakan untuk aksi yang perlu dilakukan setelah data benar-benar dimasukkan atau dimodifikasi.
    Contoh: Mengirim email notifikasi setelah data pelanggan berhasil ditambahkan.

  2. Trigger BEFORE
    Trigger jenis ini dieksekusi sebelum aksi dilakukan. Trigger BEFORE berguna untuk memvalidasi data atau melakukan perubahan pada data sebelum disimpan ke dalam tabel.
    Contoh: Memastikan nilai kolom tertentu tidak null atau memastikan data berada dalam format yang benar sebelum memasukkan data ke dalam tabel.

  3. Statement Trigger
    Jenis trigger ini dieksekusi sekali untuk setiap pernyataan DML (misalnya INSERT, UPDATE, atau DELETE) yang terjadi, tanpa memperhatikan jumlah baris yang dipengaruhi oleh pernyataan tersebut.
    Contoh: Mencatat jumlah total transaksi yang berhasil setelah melakukan operasi INSERT pada tabel transaksi.

  4. Row Trigger
    Trigger jenis ini dieksekusi untuk setiap baris data yang dipengaruhi oleh pernyataan DML. Jika pernyataan DML mempengaruhi banyak baris, maka trigger ini akan dijalankan sebanyak jumlah baris yang dipengaruhi.
    Contoh: Menambahkan informasi audit untuk setiap baris data yang diubah dalam tabel.

Manfaat Menggunakan Trigger

  1. Automatisasi
    Trigger dapat mengotomatisasi sejumlah proses yang biasa dilakukan oleh aplikasi, mengurangi kebutuhan untuk menulis kode tambahan dalam aplikasi. Hal ini membantu menyederhanakan kode aplikasi dan mengurangi kemungkinan terjadinya kesalahan.

  2. Konsistensi Data
    Trigger membantu memastikan bahwa data dalam database selalu konsisten dan valid. Misalnya, jika ada batasan atau aturan bisnis yang harus dipatuhi setiap kali data dimasukkan atau diperbarui, trigger akan memastikan aturan tersebut dijalankan tanpa bergantung pada pengembang aplikasi untuk memprogramkannya.

  3. Pengelolaan yang Lebih Mudah
    Dengan trigger, perubahan aturan bisnis atau pengolahan data dapat dilakukan langsung pada level database, sehingga tidak perlu melakukan perubahan besar pada kode aplikasi. Ini memudahkan pengelolaan dan pemeliharaan sistem, terutama ketika ada perubahan kebijakan atau aturan yang harus diterapkan secara konsisten di seluruh aplikasi.



LANGKAH LANGKAG MEMBUAT TRIGGER

 - Langkah 1 persiapkan semua yang anda butuhkan dalam kehidupan karena anda membuat sesuatu yang luar biasa




 - langkah 2 input data siswa 


tbl.utama



tbl.masuk

tabel keluar



 - Langkah 3 menambahkan triger




trigger keluar



trigger masuk



 - Langkah 5 test


original


data tbl.masuk

 


data tbl.keluar



data hasil trigger

 




Tugas JOin tabel 3

 

Tugas JOin tabel 3





ini di atas ada designer nya  bisa dilihat diatas 

tugas nya


1. mencari tanggal pesan dan barang 


2. nama pelanggan dan cari tau berapa jenis barang ?






1. 1. mencari tanggal pesan dan barang 



2.nama pelanggan dan cari tau berapa jenis barang











sudah terakhir nama orang nya

















tugas triger

 Trigger dalam basis data adalah sebuah prosedur otomatis yang dijalankan atau dipicu secara otomatis oleh sistem basis data ketika terjadi perubahan pada data, seperti INSERT, UPDATE, atau DELETE. Trigger digunakan untuk menjalankan aksi tertentu sebagai respons terhadap peristiwa yang terjadi pada tabel atau tampilan dalam database.

Perbedaan Trigger BEFORE dan AFTER

  • Trigger BEFORE:

    • Trigger ini dijalankan sebelum operasi INSERT, UPDATE, atau DELETE diterapkan pada data.
    • Biasanya digunakan untuk memvalidasi atau mengubah nilai sebelum perubahan benar-benar dilakukan pada tabel.
    • Misalnya, dalam trigger BEFORE INSERT, Anda bisa memeriksa atau memodifikasi data yang akan dimasukkan ke dalam tabel sebelum data tersebut disimpan.
  • Trigger AFTER:

    • Trigger ini dijalankan setelah operasi INSERT, UPDATE, atau DELETE selesai dilakukan pada tabel.
    • Biasanya digunakan untuk menangani aksi setelah data benar-benar berubah. Contohnya adalah untuk mencatat riwayat perubahan, memperbarui data terkait, atau mengirimkan notifikasi.
    • Misalnya, dalam trigger AFTER UPDATE, Anda bisa mengupdate data pada tabel lain atau melakukan log perubahan.

Kenapa Perlu Membuat Trigger INSERT, UPDATE, dan DELETE?

  1. Integritas Data:

    • Trigger digunakan untuk memastikan bahwa data tetap konsisten dan valid setelah terjadi perubahan. Misalnya, Anda bisa menggunakan trigger BEFORE INSERT untuk memeriksa apakah nilai yang dimasukkan memenuhi kriteria tertentu atau untuk menghentikan operasi jika data tidak valid.
  2. Auditing dan Logging:

    • Trigger sering digunakan untuk mencatat perubahan data (audit trail). Dengan trigger AFTER INSERT, AFTER UPDATE, atau AFTER DELETE, Anda bisa membuat log yang merekam siapa yang mengubah data, kapan perubahan itu terjadi, dan apa yang diubah.
  3. Pembaharuan Otomatis:

    • Trigger dapat digunakan untuk melakukan pembaharuan otomatis pada data terkait. Misalnya, jika ada perubahan pada jumlah stok barang dalam satu tabel, trigger AFTER UPDATE dapat digunakan untuk memperbarui jumlah stok barang yang terkait di tabel lain, seperti tabel transaksi.
  4. Enforcing Business Logic:

    • Dalam beberapa kasus, trigger digunakan untuk memastikan bahwa aturan bisnis tertentu dijalankan. Misalnya, Anda bisa membuat trigger untuk memastikan bahwa total harga dalam transaksi tidak melebihi batas yang ditentukan sebelum data diterima oleh sistem.
  5. Mencegah Data Anomali atau Error:

    • Dengan trigger BEFORE DELETE atau BEFORE UPDATE, Anda bisa mencegah penghapusan atau perubahan data yang tidak diinginkan atau merusak hubungan antar data yang ada.





tugas trigeer tanggal 7
membuat data base
 pertama kita membuat data base di sini saya sengaja buat agak lain dengan db_obat

membuat tabel nya agar bisa melakukan step berikut nya di sini saya membuat data base obatkeluar, obatmasuk dan tabel_obal 
memvbuat trigger ?  saya membuat triger yang fungsi nya adalah  memperbarui jumlah stok obat dalam tabeltabel_obal. Ketika ada perubahan yang terjadi (misalnya, penambahan jumlah obat), kode ini akan menambahkan nilaiNEW.Jumlahke kolomstockuntuk baris yang memilikiid_obatyang sama denganNEW.id_obat

    insert tabel obat masuk



membuat trigeer obat keluar
selesai 

Tugas Entity relation Diagram

 Step 1 kita harus membuat Database dan kebetulan saya membuat file dengan nama fanleyErd

Step 2 kita membuat Database biar cepat kita langsung saja minta ke chat gpt untuk membuat database nya biar cepat

step 3 copas ke database 

step 4 setelah itu Gunakan Metode Erd atau masuk ke desainer setelah itu hubungkan seperti metode erd saya membuat database tentang Mahasiswa dan Buku    








tugas agrerat modul 3

 syntax agrerat






Fungsi agregat dapat dibagi menjadi beberapa jenis yaitu:

  • SUM () : untuk menghitung jumlah/total nilai dari sebuah kolom
  • AVG () : untuk menghitung nilai rata-rata dari sebuah kolom
  • COUNT () : untuk menghitung jumlah baris dalam sebuah tabel / banyaknya nilai pada sebuah kolom.
  • MAX () : mencari nilai tertinggi dalam sebuah kolom
  • MIN () : mencari nilai terendah dalam sebuah kolom

syntax di bawah di gunakan untuk menyeleksi nama_mk dengan order by 




syntax di bawah di gunakan untuk menyeleksi nama_mk dengan order tapi menggunakan distinct yang membuat tidak ada duplikasi di hasilnya



Syntax di bawah di gunakan untuk menghitung seluruh data dalam sebuah tabel


Syntax di bawah di gunakan untuk menjumlah semua data dalam column sks 



Syntax di bawah di gunakan untuk mencari rata rata dalam sebuah tabel


Syntax di bawah di gunakan untuk mencari hasil terkecil dalam sebuah table


Syntax di bawah di gunakan untuk mencari hasil terbesar dalam sebuah table


Syntax di bawah berfungsi untuk menyeleksi dan pengelompok an dari sebuah column


Syntax di bawah berfungsi untuk menyeleksi dan pengelompok an dari sebuah column 
namun di batasi di atas 3























TGUGAS JOIN 2

  INNER JOIN TUGASSSSSSS 




1 ) GABUNGKAN PESANAN DETAIL DAN BARANG

Gunakan rumus diatas untuk menjawab soal nomor 1


2) . Gabungkan pesanan dan pesanan detail 


Gunakan rumus diatas untuk menjawab soal no 2 

3) Gabungkan