Pencarian global tidak diaktifkan.
Lewati ke konten utama
Penugasan

Praktikum DDL-DML-Query

Syarat penyelesaian
Opened: Senin, 14 Oktober 2024, 07:48
Due: Sabtu, 11 Januari 2025, 23:59

Studi Kasus Penilaian: Sistem Manajemen Inventaris Toko Buku "Cendekia"

Mata Kuliah: Praktikum Basis Data Durasi: 90 Menit Sifat: Ujian Individu (Closed Book/Source)

I. Objektif Penilaian 🎯

Studi kasus ini bertujuan untuk menilai kemampuan praktis mahasiswa dalam:

  1. Menerjemahkan skema logis menjadi skrip DDL (Data Definition Language) yang fungsional.

  2. Mengisi database dengan data sampel menggunakan perintah DML (Data Manipulation Language).

  3. Menarik informasi spesifik dari database menggunakan berbagai jenis Query SELECT.

II. Skenario Kasus 📖

Toko Buku "Cendekia" memerlukan sebuah sistem database sederhana untuk melacak inventaris buku mereka. Sistem ini perlu mencatat data buku, data pemasok (supplier) yang menyediakan buku tersebut, dan informasi stok untuk setiap buku.

Anda diminta untuk membuat dan mengelola database untuk kebutuhan ini berdasarkan skema yang telah ditentukan.

III. Skema Database

Database yang akan Anda buat terdiri dari tiga tabel berikut:

  1. pemasok

    • id_pemasok (INT, Primary Key, Auto Increment)

    • nama_pemasok (VARCHAR(100), Tidak Boleh Kosong)

    • kontak_pemasok (VARCHAR(50))

  2. buku

    • id_buku (INT, Primary Key, Auto Increment)

    • judul_buku (VARCHAR(255), Tidak Boleh Kosong)

    • penulis (VARCHAR(100))

    • penerbit (VARCHAR(100))

    • id_pemasok (INT, Foreign Key yang merujuk ke pemasok.id_pemasok)

  3. inventaris

    • id_inventaris (INT, Primary Key, Auto Increment)

    • id_buku (INT, Foreign Key yang merujuk ke buku.id_buku, Unik)

    • jumlah_stok (INT, Default 0)

    • lokasi_rak (VARCHAR(20))


IV. Instruksi Pengerjaan 📝

Kerjakan tiga bagian berikut secara berurutan dalam satu file skrip SQL.

Bagian 1: Data Definition Language (DDL)

Tuliskan perintah SQL CREATE TABLE untuk membuat ketiga tabel di atas (pemasok, buku, inventaris).

  • Pastikan semua kolom, tipe data, Primary Key, dan Foreign Key didefinisikan dengan benar sesuai skema.

  • Gunakan AUTO_INCREMENT untuk semua Primary Key.

Bagian 2: Data Manipulation Language (DML)

Setelah tabel berhasil dibuat, tuliskan perintah INSERT INTO untuk mengisi data sampel berikut:

  1. Tabel pemasok (minimal 3 data):

    • Penerbit Erlangga

    • Gramedia Pustaka Utama

    • Mizan Pustaka

  2. Tabel buku (minimal 5 data):

    • Masukkan minimal 5 judul buku fiksi atau non-fiksi yang berbeda.

    • Pastikan setiap buku terhubung dengan salah satu id_pemasok yang sudah Anda masukkan.

  3. Tabel inventaris (minimal 5 data):

    • Masukkan data stok untuk setiap buku yang ada di tabel buku.

    • Buat variasi data jumlah_stok. Contoh: ada buku yang stoknya banyak (misal: 50), ada yang sedikit (misal: 8), dan ada yang habis (0).

    • Isi lokasi_rak dengan format 'Rak A1', 'Rak B3', dst.

Bagian 3: Query Pengambilan Data (SELECT)

Tuliskan perintah SELECT untuk menjawab setiap pertanyaan bisnis di bawah ini.

  1. Menampilkan Semua Data:

    • Tampilkan seluruh data buku yang ada di toko beserta nama pemasoknya. Kolom yang ditampilkan: judul_buku, penulis, penerbit, nama_pemasok.

  2. Filtering dengan WHERE:

    • Tampilkan daftar buku yang jumlah stoknya saat ini kurang dari 10.

  3. Filtering Berdasarkan Relasi (JOIN dan WHERE):

    • Tampilkan daftar buku yang dipasok oleh "Gramedia Pustaka Utama".

  4. Pencarian dengan LIKE:

    • Cari semua buku yang judulnya mengandung kata "Pemrograman".

  5. Perhitungan Agregat (COUNT):

    • Hitung berapa total jumlah buku yang dimiliki oleh setiap penerbit.


V. Format Pengumpulan

  • Seluruh jawaban (DDL, DML, dan Query) ditulis dalam satu file bernama UjianSQL_NIM_Nama.sql.

  • Gunakan komentar SQL (--) untuk memisahkan setiap bagian dan setiap nomor soal.

Contoh Format File:

SQL
-- Nama: [Nama Anda]
-- NIM: [NIM Anda]

-- BAGIAN 1: DDL
-- Tabel Pemasok
CREATE TABLE pemasok (
    -- ... isi skrip DDL Anda ...
);

-- ... (tabel lainnya) ...

-- BAGIAN 2: DML
-- Isi Tabel Pemasok
INSERT INTO pemasok (nama_pemasok, kontak_pemasok) VALUES
('Penerbit Erlangga', '021-8718021'),
-- ... (data lainnya) ...

-- ... (data tabel lainnya) ...

-- BAGIAN 3: QUERY
-- Soal 1: Menampilkan semua data buku dan pemasoknya
SELECT
    -- ... isi query Anda ...

-- Soal 2: Buku dengan stok kurang dari 10
SELECT
    -- ... isi query Anda ...

-- ... (dan seterusnya) ...

VI. Kriteria Penilaian

  • DDL (30 Poin): Kebenaran sintaks, definisi Primary Key, dan relasi Foreign Key.

  • DML (20 Poin): Kebenaran sintaks dan kelengkapan data yang dimasukkan.

  • Query (50 Poin): Ketepatan query dalam menghasilkan data yang diminta untuk setiap soal.

Selamat mengerjakan! 💡