LANDASAN TEORI
Keterangan :
Pada gambar 2.3 diatas pada query terdapat perintah DELIMETER
dimana perintah tersebut berfungsi untuk memberi tahu kepada MySQL
delimiter yang digunakan, secara default menggunakan “;” (semicolon) jadi
bila ada tanda “;” MySQL akan mengartikan akhir dari statement, seperti di
atas delimiter yang digunakan $$, jadi akhir statementnya adalah $$.
Selanjutnya terdapat perintah DROP PROCEDURE IF EXISTS,
adalah perintah untuk menghapus jika procedure tersebut sudah ada, jika
belum ada maka akan diabaikan. Kemudian ada perintah CREATE
PROCEDURE ‘restoran`.`TampilNamaMenu` ( ) adalah sebagai header
untuk membuat stored procedure TampilNamaMenu. Isi dari procedurenya
terdapat pada bagian “Begin-End”
Pada isi procedure terdapat perintah SELECT Banyak, NamaMenu
FROM (SELECT SUM(banyak) AS Banyak, NamaMenu FROM
DetailPesan GROUP BY NamaMenu ORDER BY Banyak DESC) AS A
LIMIT 5;
Perintah Select adalah perintah untuk menampilkan isi dari kolom
NamaMenu, sedangkan fungsi SUM digunakan untuk menghitung jumlah
record dari field NamaMenu pada table DetailPesan. Jadi menu yang paling
banyak dipesan dari table DetailPesan merupakan Menu Favorite yang akan
ditampilkan dengan procedure “TampilNamaMenu”. Fungsi Group By
digunakan untuk menyatakan pengelompokan tuple hasil query, disini
pengelompokan hasil query berdasarkan NamaMenu.
Selanjutnya adalah melakukan run procedure “TampilNamaMenu”
dengan mengklik tombol “Execute All Queries”. Maka akan muncul
pemberitahuan bahwa eksekusi query berhasil atau error. Untuk
menampilkan hasil dari procedure yang telah dibuat adalah dengan cara
menggunakan perintah “Call TampilNamaMenu;” pada jendela query
database, adapun hasilnya adalah seperti berikut :
Setelah itu akan muncul tab baru untuk memasukkan kode program dan
isi procedure yaang dibuat.Berikut query / kode program yang diinputkan
pada stored procedure “NoMeja” :
Keterangan:
Pada gambar 2.7 diatas pada query terdapat perintah DELIMETER
dimana perintah tersebut berfungsi untuk memberi tahu kepada MySQL
delimiter yang digunakan, secara default menggunakan “;” (semicolon) jadi
bila ada tanda “;” MySQL akan mengartikan akhir dari statement, seperti di
atas delimiter yang digunakan $$, jadi akhir statementnya adalah $$.
Selanjutnya terdapat perintah DROP PROCEDURE IF EXISTS,
adalah perintah untuk menghapus jika procedure tersebut sudah ada, jika
belum ada maka akan diabaikan. Kemudian ada perintah CREATE
PROCEDURE ‘restoran`.`NoMeja` ( ) adalah sebagai header untuk
membuat stored procedure TampilNamaMenu. Isi dari procedurenya terdapat
pada bagian “Begin-End”.
Pada isi procedure terdapat perintah select NoMeja as 'meja paling
sering di dempati pengunjung', count(NoMeja) from Pembayaran group by
NoMeja;. Perintah Select digunakan untuk menampilkan isi dari field
NoMeja, sedangkan fungsi Count digunakan untuk menghitung jumlah
record dari field NoMeja pada table Pembayaran. Jadi Meja yang paling
sering ditempati pengunjung table Pembayaran merupakan NoMeja yang
akan ditampilkan dengan procedure NoMeja.
Selanjutnya adalah melakukan run procedure “NoMeja” dengan mengklik
tombol “Execute All Queries”. Maka akan muncul pemberitahuan bahwa
eksekusi query berhasil atau error. Untuk menampilkan hasil dari procedure
yang telah dibuat adalah dengan cara menggunakan perintah “Call NoMeja;”
pada jendela query database, adapun hasilnya adalah seperti berikut :
Setelah itu akan muncul tab baru untuk memasukkan kode program dan
isi Function yang dibuat.Berikut query / kode program yang diinputkan pada
Function “BuatNoFaktur” :
Keterangan:
Pada gambar 2.11 diatas pada query terdapat perintah DELIMETER
dimana perintah tersebut berfungsi untuk memberi tahu kepada MySQL
delimiter yang digunakan, secara default menggunakan “;” (semicolon) jadi
bila ada tanda “;” MySQL akan mengartikan akhir dari statement, seperti di
atas delimiter yang digunakan $$, jadi akhir statementnya adalah $$.
Kemudian ada perintah CREATE DEFINER=`root`@`localhost`
FUNCTION `BuatNoFaktur`(Tgl date) RETURNS varchar(10)
CHARSET latin1 adalah header untuk membuat function BuatNoFaktur.
Parameter dari function BuatNoFaktur adalah Tgl dengan tipe datanya date
yang menyimpan nilai berupa tanggal. Parameter adalah suatu nilai yang akan
dimasukan untuk diproses dalam function ini. Perintah Returns adalah
perintah untuk menentukan nilai yang akan dikembalikan oleh function, disini
nilai balik yang direturnkan adalah tipe data varchar yang berisi nilai string.
Isi dari functionnya terdapat pada bagian “Begin-End”.
Pada isi function terdapat query declare yang merupakan bagian
pendeklarasian variable Tahun yang bertipe data char , variable Bulan yang
bertipe data char , variable Tanggal yang bertipe data char dan variable
NoFak yang bertipe data int. Selanjutnya terdapat fungsi substring yang
digunakan untuk mengambil beberapa karakter (dari kanan, kiri atau tengah)
sebuah data string dari tabel. Sebagai contoh untuk query set Tahun =
substr(Tgl,3,2); artinya pada variable Tahun, misal data nya adalah “2018-
10-16” maka data yang akan diambil adalah string ke 3 sebanyak 2 karakter
,jadi yang akan diambil adalah 18 karena 1 adalah string ke-3 karena diambil
sebanyak 2 karakter saja maka yang akan diambil 18. Pada query set Bulan
= substr(Tgl,6,2); string yang akan diambil adalah string ke enam sebanyak
2 karakter maka yang diambil adalah 10,Pada query set Tanggal =
substr(Tgl,9,2); string yang akan diambil adalah string ke sembilan
sebanyak 2 karakter jadi yang diambil 16.
Selanjutnya terdapat query select count(NoFaktur) from Pembayaran
where NoFaktur like concat (Tahun,Bulan,Tgl,"-",'%') into NoFak; kode
program ini akan menampilkan nofaktur pada tabel pembayaran.
Selanjutnya terdapat query return concat(Tahun,Bulan,Tanggal,"-
","0",NoFak+1); kode program ini digunakan untuk menampilkan hasil dari
penggabungan Tahun,Bulan,Tanggal dan NoFak.
Selanjutnya adalah melakukan run function “BuatNoFaktur” dengan
mengklik tombol “Execute All Queries”. Maka akan muncul pemberitahuan
bahwa eksekusi query berhasil atau error. Untuk menampilkan hasil dari
function yang telah dibuat adalah dengan cara menggunakan perintah “Select
BuatNoFaktur (2018-10-16);” pada jendela query database, adapun hasilnya
adalah seperti berikut :
Setelah itu akan muncul tab baru untuk memasukkan kode program
dan isi procedure yaang dibuat.Berikut query / kode program yang
diinputkan pada stored procedure “HitungTotal” :
Keterangan:
Pada gambar 2.15 diatas pada query terdapat perintah DELIMETER
dimana perintah tersebut berfungsi untuk memberi tahu kepada MySQL
delimiter yang digunakan, secara default menggunakan “;” (semicolon) jadi
bila ada tanda “;” MySQL akan mengartikan akhir dari statement, seperti di
atas delimiter yang digunakan $$, jadi akhir statementnya adalah $$.
Selanjutnya terdapat perintah DROP PROCEDURE IF EXISTS,
adalah perintah untuk menghapus jika procedure tersebut sudah ada, jika
belum ada maka akan diabaikan. Kemudian ada perintah CREATE
DEFINER=`root`@`localhost` PROCEDURE `HitungTotal`(Faktur int)
adalah sebagai header untuk membuat stored procedure HitungTotal,
parameter nya adalah Faktur dengan tipe data int. Isi dari procedurenya
terdapat pada bagian “Begin-End”.
Pada isi procedure terdapat perintah select NoFaktur, SUM
(Banyak*Biaya) as 'Hitung Total' from DetailPesan where NoFaktur =
Faktur;Perintah Select digunakan untuk menampilkan isi dari field
NoFaktur, terdapat juga fungsi Sum yang digunakan untuk mendapatkan nilai
total dari field (Harga * Banyak) pada table DetailPesan. Sehingga pada table
Pembayaran dapat ditampilkan Totalnya berdasarkan NoFaktur dengan
procedure HitungTotal.
Setelah itu akan muncul tab baru untuk memasukkan kode program dan
isi Function yang dibuat.Berikut query / kode program yang diinputkan pada
Function “PendapatanPerHari” :
Keterangan: