UNIVERSITAS BUDI LUHUR
FAKULTAS TEKNOLOGI INFORMASI SEMESTER GENAP TAHUN AJARAN 2023/2024
Mata Kuliah : Pemrograman PL/SQL
Dosen Pengampu : Agus Umar Hamdani, M.Kom Nama Tugas : Tugas 2 Mandiri
Instruksi Tugas :
a) Kerjakan tugas mandiri 2 dalam format pdf.
b) Bila terjadi error pada perintah yang ada di soal, silakan berdiskusi bersama tim untuk menyelesaikan error tersebut.
c) Wajib menuliskan identitas diri berupa : NIM, Nama, Mata Kuliah dan Tipe Soal pada lembar jawaban.
d) WAJIB menyertakan BlokPL/SQL dan screenshot hasil keluaran sebagai bukti praktikum.
e) Upload lembar jawaban dalam bentuk file softcopy atau file situs: http://elearning.budiluhur.ac.id, sebelum batas waktu pengumpulan berkas jawaban berakhir.
f) Screenshot keluaran dari hasil eksekusi perintah Blok PL/SQL dan lampirkan.
1 | Pemrograman PL/SQL FTI Universitas Budi Luhur
Studi Kasus :
1. Buatlah struktur tabel mengunakan database Oracle 10g atau database MySQL seperti dibawah ini :
CREATE TABLE barang (
kdbrg CHAR(3) NOT NULL, nmbrg VARCHAR(50), satuan VARCHAR(15), stok NUMBER(3), harga NUMBER(9), PRIMARY KEY(kdbrg) );
CREATE TABLE penjualan (
nojual CHAR(4) NOT NULL, tgljual DATE,
kdbrg CHAR(3), jumlah NUMBER(3), PRIMARY KEY(nojual, kdbrg) );
2. Buatlah perintah Blok PL/SQL untuk membuat prosedur Simpan_Brg() yang digunakan untuk menyimpan data barang.
3. Buatlah perintah Blok PL/SQL untuk membuat prosedur Simpan_Penjualan() yang digunakan untuk menyimpan data penjualan.
4. Buatlah perintah Blok PL/SQL untuk memanggil prosedur Simpan_Brg() dan menyimpan data ke tabel barang.
2 | Pemrograman PL/SQL FTI Universitas Budi Luhur BEGIN
Simpan_Brg(‘B01’,’Sepatu’,’Pasang’, 100, 75000);
Simpan_Brg(‘B02’,’Sandal’,’Pasang’, 75, 35000);
Simpan_Brg(‘B03’,’Kemeja’,’Setel’, 55, 125000);
Simpan_Brg(‘B04’,’Celana Panjang’,’Pieces’, 100, 95000);
Simpan_Brg(‘B05’,’Topi’,’Buah’, 30, 35000);
END;
SELECT * FROM barang;
5. Buatlah perintah Blok PL/SQL untuk memanggil prosedur Simpan_Penjualan dan menyimpan data ke tabel penjualan.
BEGIN
Simpan_Penjualan(‘NT01’,’18-MAR-2024’,’B01’, 3);
Simpan_Penjualan(‘NT01’,’18-MAR-2024’,’B02’, 5);
Simpan_Penjualan(‘NT02’,’18-MAR-2024’,’B02’, 2);
Simpan_Penjualan(‘NT02’,’18-MAR-2024’,’B03’, 4);
Simpan_Penjualan(‘NT03’,’18-MAR-2024’,’B04’, 3);
Simpan_Penjualan(‘NT04’,’18-MAR-2024’,’B05’, 5);
END;
SELECT * FROM penjualan;
6. Buatlah perintah Blok PL/SQL untuk membuat prosedur GetBrg() yang digunakan untuk memanggil data barang dengan parameter kdbrg dengan query SQL sebagai berikut :
SELECT kdbrg, nmbrg, satuan, stok, harga FROM barang
WHERE kdbrg = ‘B01’;
7. Buatlah perintah Blok PL/SQL untuk memanggil prosedur GetBrg() menggunakan parameter inpuntan kdbrg = ‘B01’;
8. Buatlah perintah Blok PL/SQL untuk membuat prosedur GetPenjualan() yang digunakan untuk memanggil data penjualan dengan parameter nojual dengan query SQL sebagai berikut :
SELECT a.nojual, a.tgljual, a.kdbrg, b.nmbrg, b.satuan, b.harga, a.jumlah b.harga * a.jumlah AS totalharga
FROM penjualan a, barang b WHERE a.kdbrg = b.kdbrg AND a.nojual = ‘NT01’;
9. Buatlah perintah Blok PL/SQL untuk memanggil prosedur GetPenjualan() menggunakan parameter inpuntan nojual = ‘NT02’;
10. Buatlah perintah Blok PL/SQL untuk membuat prosedur GetTagihan() yang digunakan untuk memanggil data tagihan pembayaran dengan parameter nojual dengan query SQL sebagai berikut :
3 | Pemrograman PL/SQL FTI Universitas Budi Luhur SELECT a.nojual, SUM(b.harga * a.jumlah) AS tagihan
FROM penjualan a, barang b WHERE a.kdbrg = b.kdbrg AND a.nojual = ‘NT01’
GROUP BY a.no_jual ;
11. Buatlah perintah Blok PL/SQL untuk memanggil prosedur GetPenjualan() menggunakan parameter inpuntan nojual = ‘NT02’;
Note :
Terdapat perbedaan format tanggal pada database Oracle 10g dan database MySQL.
Format tanggal di database Oracle 10g adalah DD-MON-YY.