Anda di halaman 1dari 29

LAPORAN HASIL PRAKTIKUM BASIS DATA II

NAMA : HERLINDA Y SIHOMBING

NIM : 203010503006

KELAS :F

MODUL : I (Stored Procedure dan Function )

Penilai

Asisten Praktikum

Gabriel Dwi Putra Krisma Rusan

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS PALAGKARAYA

2022
BAB I

TUJUAN DAN LANDASAN TEORI

I. Tujuan praktikum
1. Mahasiswa memahami manfaat Stored Procedure dan mampu membuat
Stored Procedure.
2. Mahasiswa memahami manfaat Functions dan mampu membuat
Functions.
II. Landasan teori

Prosedur pada dasarnya adalah sebuah program yang ditulis dalam bahasa
TransactSQL yang disimpan dalam basis data. Prosedur dibentuk dari
perintah, variabel, serta alur logik yang terdapat pada SQL. Pada modul ini
akan digunakan basis data Personalia yaitu contoh basis data suatu
perusahanaan yang mengelola data karyawan dan departemen tempat
karyawan ditempatkan untuk bekerja. Berikut adalah langkah-langkah
pembuatan prosedur pada sebuah tabel Karyawan dari basis data Personalia.

1. Pada folder Stored Procs klik kanan, pilih Create Store Procedure.
2. Masukkan nama procedure “Hapus Karyawan” pada kotak dialog Create
Procedure. kemudian klik Create.

tempat

menuliskan

tempat

menuliskan isi

3. Ketik isi prosedur diantara blok Begin dan End.


4. Berikut adalah query untuk memanggil prosedur hapus karyawan

CALL HapusKaryawan(„123456‟);

Seperti halnya Store Procedure, Function juga merupakan program yang ditulis
dalam bahasa Transact-SQL dan disimpan dalam basis data, tetapi Function dapat
memberikan nilai balik (Return Value). Berikut adalah langkah-langkah untuk
membuat Function pada tabel Karyawan dari basis data Personalia.

1. Pada folder Functions klik kanan, pilih create function


2. Masukkan nama fungsi “TampilkanNama” pada kotak dialog create
function kemudian klik create

3. Isi fungsi diantara blok Begin dan End.

4. Kemudian klik
5. Berikut adalah query untuk memanggil function TampilkanNama.

SELECT TampilkanNama(„12345‟);
BAB II

PEMBAHASAN

TUGAS PRAKTIKUM

2.1.Buatlah database sebuah toko_sepatu dengan tabel-tabel berikut!

Merk sepatu Detail_bayar Header_bayar


Id_merk Id_sepatu Id_detail No_nota
Nama_merk Id_merk Id_sepatu Tanggal
Model_sepatu Ukuran Jumlah_beli Id_detail
Warna Total_pembelian
Harga Bayar
stok Sisa_bayar

Perhatikan ketentuan-ketentuan berikut :

a. Merk
1. Id_merk adalah primary key
b. Sepatu :
1. Id_sepatu adalah primary key
2. Id_merk adalah foreign key dari tabel merk
3. Stok adalah jumlah sepatu yang tersedia di toko
c. Detail_bayar : tabel yang mencatat item-item pembelian sepatu oleh
pelanggan
1. Id_detail adalah primary key
2. Id_sepatu adalah foreign key dari tabel sepatu
3. Jumlah_beli adalah jumlah/banyaknya sepatu yang dibeli oleh
pelanggan.
d. Header_bayar
1. No_nota adalah primary key
2. Tanggal adalah tanggal transaksi dilakukan
3. Id_detail adalah foreign key dari tabel detail_bayar
4. Total_pembelian adalah jumlah_beli x harga
5. Bayar adalah sejumlah uang yang dibayarkan oleh pelanggan
6. Sisa_bayar adalah sisa uang pembayaran pelanggan
(bayar_total_pembelian)

Tentukan tipe data yang ideal bagi tiap field dan perhatikan relasi antar tabel. Isi
data pada tiap-tiap tabel minimal 3 record.

2.2.Buat Stored Procedure untuk Insert data tabel merk, sepatu, detail_bayar
dan header_bayar.
2.3.Buat Stored Procedure untuk Delete data tabel merk, sepatu, detail_bayar
dan header_bayar.
2.4.Buat Stored Procedure untuk Update data tabel merk, sepatu, detail_bayar
dan header_bayar.
2.5.Buat Fungsi untuk menampilkan Laporan Total Pemasukan Harian pada
Tanggal tertentu. Laporan terdiri atas Data Tanggal, No Nota, Merk dan
Total Pembelian.

Catatan: Simpanlah tugas-tugas yang telah dikerjakan dengan baik, karena


tugas setiap modul pada praktikum ini saling terkait.
Pembahasan praktikum
2.1.Buatlah database sebuah toko_sepatu dengan ketentuan-ketentuan
yang sudah diberikan.

Gambar 2.1 create database toko_sepatu

Gambar 2.1 menampilkan create database toko sepatu dimana database


toko sepatu tersebut akan di isi tabel-tabel sesuai ketentuan yang telah
dituliskan dihalaman sebelumnya dengan ketentuan-ketentuan yang telah
ditetapkan pada tiap tiap tabel. Untuk membuat database itu sendiri kita
hanya perlu memasukkan nama database yang akan kita buat lalu klik
create maka database nya sudah bisa digunakan.

Gambar 2.2 tabel merk


Pembahasan :

Create tabel merk merupakan bagian atau isi dari database toko sepatu .
untuk mambuat tabel merk diatas hanya perlu mengklik tabel yang berada
di bawah database toko sepatu lalu mulai dengan memasukkan apa saja isi
tabel yang perlu di inputkan agar hasil nya sesuai dengan perintah awal,
dan juga perlu diperhatikan setiap data yang kita masukkan kedalam tabel
kita harus menentukan type data apa yang akan digunakan dan harus
sesuai dengan data awal dan data yang akan dimasukkan agar tidak terjadi
eror pada program atau tabel kita.Setelah create tabel selesai maka tabel
akan menampilkan tabel merk yang sudah di isi oleh id_merk,nama_ dan
model_sepatu. Selanjutnya seperti yang kita lihat didalam tabel diatas
ditunjukkan bahwa id_merk merupakan primary key untuk membuat
sebuah kunci primer hanya boleh membuatnya sekali. Jadi, kunci primer
sebenarnya diciptakan untuk menjadi kolom utama sebuah tabel Dengan
demikian data pada kolom kunci utama tidak mungkin kembar. Hal ini
terjadi karena ketika memasukkan data yang sama, proses tersebut akan
ditolak oleh database. Seperti yang telah diungkap di atas, kondisi adanya
data kembar dikenal dengan istilah redudansi data.Syarat utama untuk
menciptakan kunci primer adalah kolom tersebut tidak boleh kosong atau
diset dengan nilai not null. Berikut ini adalah contoh penulisan syntax dari
primary key:

Gambar 2.3 tabel sepatu


Pembahasan :

Sama halnya seperti tabel merk untuk membuat tabel sepatu kita akan mengklik
ulang atau lagi tabel dibawah database namun karna akan membuat tabel yang
baru maka kita akan mengcreate tabel baru yang berada dibawah tabel
sebelumnya yaitu tabel merk, selanjutnya setelah selesai create tabel kita akan
mengisi tabel tersebut dengan data yang dibutuhkan agar tampilan tabel sesuai
denngan yang kita inginkan. Dan sama halnya dengan tabel tabel selanjutnya.

Gambar 2.4 foreign key dari tabel sepatu

Pembahasan :

Dalam sebuah tabel database akan ada yang namanya primary key dan foreign
key. berbeda dengan primary key yang langsung satu tampilan dengan tabel dan
cukup dengan menceklis maka dapat diketahui bahwa itu primary key foreign key
harus di isi pada kolom atau tampilan lain yang berbeda, foreign key memiliki
tempat khusus untuk dimasukkan datanya seperti pada gambar. Pada referensi
kolom kita akan mengisi data mana yang merupakan foreign key dari data dalam
tabel dan untuk referenced tabel itu akan di isi nama tabel apa yang merupakan
tabel tempat data foreign key tersebut diambil.
Gambar 2.5 tabel detail bayar

Gambar 2.6 foreign key dari tabel detail bayar

Gambar 2.7 tabel header bayar


Gambar 2.8 foreign key tabel header bayar

2.2.Buat Stored Procedure untuk Insert data tabel merk, sepatu,


detail_bayar dan header_bayar.

gambar 2.9 stored procedure untuk insert data tabel merk


Gambar 2.10 stored procedure insert data tabel sepatu

Gambar 2.11 stored procedure insert data tabel detail bayar

Gambar 2.12 stored procedure insert data tabel header bayar

pembahasan

Stored procedure merupakan sekumpulan dari perintah-perintah SQL yang


tersimpan dalam suatu database, pada umumnya digunakan pada perintah
DML(select, insert, update, dan delete). Pada sebuah stored procedure dapat
diberikan parameter sesuai dengan kebutuhan, sehingga dengan menerapkan
stored procedure yang disimpan idalam suatu database program aplikasi akan
dapat digunakan lebih dinamis berdasarkan parameter yang diberikan, juga stored
procedure dapat dikombinasikan dengan fungsi-fungsi pernyataan bersyarat dan
berkondisi seperti fungsi IF, While.Untuk membuat prosedur tersimpan (stored
procedure) tidak lepas dari perintah-perintah DML (Data Manifulation Language)
atau statement SQL.
Syntaks yang digunakan dalam membuat sored procedur yaitu :

DELIMITER $$

USE `toko_sepatu`$$

DROP PROCEDURE IF EXISTS `insertmerk`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `insertmerk`(merk


INT(11), nama CHAR(15), model CHAR(15))

BEGIN

INSERT INTO merk VALUES (merk,nama,model);

END$$

DELIMITER ;

2.3.Buat Stored Procedure untuk Delete data tabel merk, sepatu,


detail_bayar dan header_bayar.

Gambar 2.13 stored procedure untuk delete data tabel merk


Gambar 2.14 stored procedure untuk delete data tabel sepatu

Gambar 2.15 stored procedure untuk delete data tabel detail bayar

Gambar 2.16 stored procedure untuk delete data header bayar


Pembahasan :

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.

BEGIN

DELETE FROM header_bayar WHERE header_bayar = nota;

END

Setelah semuanya selesai, silahkan run dengan menggunakan perintah CALL


[NAMA_PROCEDURE] [Paramter_n]

Sebagai contoh, saya akan memanggil procedure insert header_bayar


(no_parameter, sisa_parameter, bayar_parameter).

2.4.Buat Stored Procedure untuk Update data tabel merk, sepatu,


detail_bayar dan header_bayar.

Gambar 2.17 stored procedure untuk update data tabel merk


Gambar 2.18 stored procedure untuk update data tabel sepatu

Gambar 2.19 stored procedure untuk update data tabel detail bayar

Gambar 2.20 stored procedure untuk update data tabel header bayar

Pembahasan :

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.

DELIMITER $$

USE `toko_sepatu`$$

DROP PROCEDURE IF EXISTS `updateheader_bayar`$$


CREATE PROCEDURE `updateheader_bayar`(nota INT (10), tanggal DATE )

BEGIN

UPDATE header_bayar SET nota=nota WHERE tanggal=tanggal;

END$$

DELIMITER ;

2.5.Buat Fungsi untuk menampilkan Laporan Total Pemasukan Harian


pada Tanggal tertentu. Laporan terdiri atas Data Tanggal, No Nota,
Merk dan Total Pembelian.

Gambar 2.21 functions untuk menampilkan laporan total pemasukan

Pembahasan :

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.

Untuk memanggil Function, kita gunakan perintah SELECT


[nama_function]([parameter_n]). Sebagai berikut :

DELIMITER $$

USE `toko_sepatu`$$
DROP FUNCTION IF EXISTS `Total_pemasukan`$$

CREATE FUNCTION `Total_pemasukan`(tgl DATE) RETURNS INT(11)

BEGIN

DECLARE total INT (11);

SELECT total_pemebelian INTO total FROM header_bayar WHERE


tanggal=tgl;

RETURN total;

END$$

 DELIMITER = adalah untuk memberi tahu kepada myql soal delimiter


yang digunakan, secara default menggunakan ; jadi bila ada tanda ; mysql
akan mengartikan akhir dari statement, pada contoh di atas delimeter yang
digunakan $$ jadi akhir statementnya adalah $$

 CREATE FUNCTION = adalah header untuk membuat function

 RETURNS = adalah untuk menentukan tipe data yang di return-kan oleh


function

 DETERMINISTIC/ NOT DETERMINISTIC = adalah untuk


menentukan yang bisa menggunakan function ini adalah user pembuatnya
saja (determinisric) atau user siapa saja (not determinisric).

 BEGIN END = adalah body dari function jadi semua SQL nya di tulis
disini.
BAB III

KESIMPULAN

Database adalah kumpulan informasi yang disimpan di dalam komputer


secarasistematik, untuk fungsi dari database yaitu untuk untuk menghindari data
ganda yang tersimpan. Tabel merupakam kumpulan data yang tersusun menurut
aturan tertentu dan berhubungan dengan topik tertentu sebagai sarana
penyimpanan data. Primary key adalah candidate key yang dipilih untuk
mengidentifikasi tupel(baris) secara unik dalam relasi.Untuk menghubungkan data
secara bersama-sama dari tabel yang terpisahketika query sedang disiapkan.

Prosedur pada dasarnya adalah program yang ditulis dalam bahasa


Transact-SQL, yang disimpan dalam database. Prosedur tersebut dibentukdari
perintah, variabel, dan aliran logika yang terdapat dalam SQL.Stored procedure
adalah kumpulan pernyataan/procedure SQL yangdisimpan dalam database.
Dalam Implementasinya, penggunaan stored procedure sering melibatkan
parameter. Di MySQL, parameter stored procedure dibedakan menjadi tigamode
yakni INParameter,OUTMode dan IN-OUTMode yang merupakan kombinasi dari
mode IN danOUT.

Function adalah salah satu fitur dalam SQL, berupa sekumpulan


perintahSQL yang disimpan dalam database SQL. Biasanya function ini
dapatdigunakan bersama dengan stored procedure.Stored Function dengan
parameter merupakan sebuah block PL/SQLyang dapat menerima sebuah
inputan parameter, menjalankan sebuah program tertentu yang kemudian
akan mengembalikan hasil atau nilai tertentu. Stored function disimpan
secara permanen di dalam database.Struktur dari procedure dan function
dengan parameter hampir sama, akan tetapi setiap function harus
mengembalikan nilai atau hasil (paling tidakmempunyai sebuah pernyataan
RETURN) pada block yang memanggil function tersebut.
DAFTAR PUSTAKA

Tim Dosen Basis Data II.Modul Praktikum Basis Data II.2021. Palangka Raya.
Jurusan Teknik Informatika Fakultas Teknik Universitas Palangka Raya (UPR).
(Kamis, 1 April 2021, 15:28).

http://solmet.kemdikbud.go.id/?p=2515

https://www.youtube.com/watch?v=E92IdJjQO-4
LAMPIRAN

Gambar 2.1

Gambar 2.2

gambar 2.3
Gambar 2.4

gambar 2.5

Gambar 2.6
Gambar 2.7

Gambar 2.8

Gambar 2.9
Gambar 2.10

Gambar 2.11

Gambar 2.12
Gambar 2.13

Gambar 214

Gambar 2.15
Gambar 2.16

Gambar 2.17

Gambar 2.18
Gambar 2.19

Gambar 2.20

Gambar 2.21

Anda mungkin juga menyukai