Studi Kasus :
Tono mendirikan sebuah rental mobil dengan menggunakan Nomor NPWP. Rental mobil tersebut diberi nama Tono Rental dengan alamat Jl. Pramuka no. 36 dan no telepon 081123123123. Rental mobil tersebut memiliki banyak mobil dengan data kode_mobil, jenis_mobil, tahun_mobil, dan harga_sewa. Customer yang akan menyewa mobil harus terdaftar terlebih dahulu dengan mengisi formulir customer yang memuat data diantaranya no_ktp, nama, no_tlp, dan alamat. Setelah melakukan pendaftaran customer dapat menyewa mobil tono rental. Pada saat menyewa mobil data yang dicatat adalah no_sewa, tgl_sewa, tgl_kembali, denda.Â
1. Membuat ERD
ERD ini menggambarkan sistem pengelolaan rental mobil "Tono Rental" dengan entitas utama sebagai berikut:
Entitas tono_rental:
- Merupakan entitas yang mewakili bisnis rental mobil Tono.
- Atribut yang dimiliki oleh tono_rental adalah:
- npwp: Nomor Pokok Wajib Pajak, digunakan sebagai primary key.
- alamat: Alamat rental.
- no_telp: Nomor telepon untuk menghubungi rental.
Entitas costumer:
- Mewakili data pelanggan yang menyewa mobil di Tono Rental.
- Atribut yang dimiliki oleh costumer:
- no_ktp: Nomor KTP pelanggan, sebagai primary key untuk mengidentifikasi secara unik setiap pelanggan.
- nama: Nama pelanggan.
- alamat: Alamat tempat tinggal pelanggan.
- kontak: Nomor telepon atau kontak pelanggan.
Entitas mobil:
- Mewakili mobil yang tersedia untuk disewa.
- Atribut yang dimiliki oleh mobil:
- kode_mobil: Kode unik mobil, sebagai primary key.
- jenis_mobil: Jenis mobil, misalnya sedan, SUV, atau lainnya.
- tahun_mobil: Tahun produksi mobil.
- harga: Harga sewa mobil per hari.
Entitas sewa:
- Mewakili transaksi penyewaan mobil yang dilakukan oleh pelanggan.
- Atribut yang dimiliki oleh sewa:
- no_sewa: Nomor unik untuk setiap transaksi penyewaan, sebagai primary key.
- tgl_sewa: Tanggal mobil mulai disewa.
- tgl_kembali: Tanggal mobil dikembalikan.
- denda: Biaya denda jika mobil dikembalikan terlambat.
Relasi:
- memiliki: Relasi antara tono_rental dan mobil dengan atribut npwp. Menunjukkan bahwa Tono Rental memiliki satu atau beberapa mobil.
- menyewa: Relasi antara costumer dan mobil melalui entitas sewa. Relasi ini menunjukkan bahwa pelanggan (costumer) dapat menyewa mobil (mobil). Pada relasi ini, entitas sewa menghubungkan no_ktp dari costumer dan kode_mobil dari mobil.
     ERD ini menggambarkan sistem yang mengelola data pelanggan, mobil, dan transaksi penyewaan. Dengan ERD ini, sistem dapat mengetahui informasi detail mengenai pelanggan yang menyewa, mobil yang tersedia, dan transaksi penyewaan, termasuk denda yang harus dibayar jika pengembalian mobil terlambat.
2. Membuat EERD
iagram ERD ini menunjukkan hubungan antara tiga tabel utama dalam sistem penyewaan mobil, yaitu mobil, costumer (pelanggan), dan sewa. Berikut adalah penjelasan mengenai masing-masing tabel dan relasinya:
1. Tabel mobil
- kode_mobil: Sebagai primary key, berfungsi sebagai pengidentifikasi unik untuk setiap mobil.
- jenis_mobil: Menyimpan jenis atau tipe mobil, misalnya sedan, SUV, dalam format VARCHAR dengan panjang maksimal 45 karakter.
- tahun_mobil: Menyimpan tahun pembuatan mobil dalam format YEAR.
- harga_sewa: Menyimpan harga sewa per hari mobil dalam format INT.
Tabel ini menyimpan informasi detail tentang setiap mobil yang tersedia untuk disewa.
2. Tabel costumer
- no_ktp: Sebagai primary key, berfungsi sebagai pengidentifikasi unik untuk setiap pelanggan menggunakan nomor KTP.
- nama: Menyimpan nama pelanggan dalam format VARCHAR dengan panjang maksimal 45 karakter.
- alamat: Menyimpan alamat pelanggan dalam format VARCHAR dengan panjang maksimal 50 karakter.
- kontak: Menyimpan informasi kontak pelanggan dalam format INT.
Tabel ini berisi data pelanggan yang menggunakan jasa penyewaan mobil.
3. Tabel sewa
- kode_mobil: Merujuk ke kode_mobil di tabel mobil sebagai foreign key, mengidentifikasi mobil yang disewa.
- no_ktp: Merujuk ke no_ktp di tabel costumer sebagai foreign key, mengidentifikasi pelanggan yang menyewa mobil.
- no_sewa: Primary key yang berfungsi sebagai pengidentifikasi unik untuk setiap transaksi penyewaan.
- tgl_sewa: Menyimpan tanggal penyewaan mobil dalam format DATE.
- tgl_kembali: Menyimpan tanggal pengembalian mobil dalam format DATE.
- denda: Menyimpan jumlah denda (jika ada) dalam format INT, yang mungkin dikenakan jika pengembalian mobil terlambat.
Tabel sewa berfungsi sebagai penghubung antara tabel mobil dan costumer, mencatat setiap transaksi penyewaan yang melibatkan pelanggan dan mobil.
Relasi Antar Tabel
- Tabel sewa memiliki dua foreign key:
- kode_mobil yang merujuk ke tabel mobil,
- no_ktp yang merujuk ke tabel costumer.
- Relasi ini menghubungkan setiap mobil yang disewa oleh pelanggan tertentu, memungkinkan pencatatan data penyewaan seperti jenis mobil yang disewa, pelanggan yang menyewa, tanggal penyewaan, dan tanggal pengembalian.
    ERD ini menggambarkan model sistem penyewaan mobil sederhana yang mencatat mobil yang disewa, informasi pelanggan, dan detail transaksi penyewaan. Relasi antar tabel memungkinkan pencatatan riwayat penyewaan, yang dapat digunakan untuk menghitung biaya dan denda keterlambatan, serta mengidentifikasi mobil dan pelanggan dalam setiap transaksi.
3. Membuat Database nya
Database Tono_Rental berisi tiga tabel utama yang saling terhubung, yaitu tabel costumer, mobil, dan sewa. Berikut penjelasan detail tentang setiap tabel beserta contoh data yang terkandung di dalamnya:
1. Tabel costumer
Tabel ini menyimpan data pelanggan yang menggunakan layanan penyewaan mobil di Tono_Rental.
Kolom-kolom pada tabel ini:
- no_ktp: Nomor KTP pelanggan sebagai pengidentifikasi unik.
- nama: Nama pelanggan.
- alamat: Alamat tempat tinggal pelanggan.
- kontak: Nomor kontak pelanggan.
Contoh data:
- Pelanggan dengan nomor KTP 7604 bernama Agus tinggal di alamat Anggrek dengan nomor kontak 7681.
- Pelanggan dengan nomor KTP 7605 bernama Maya tinggal di alamat Mawar dengan nomor kontak 8109.
2. Tabel mobil
Tabel ini menyimpan data mengenai mobil yang tersedia untuk disewa.
Kolom-kolom pada tabel ini:
- kode_mobil: Kode unik untuk setiap mobil.
- jenis_mobil: Jenis atau merek mobil.
- tahun_mobil: Tahun pembuatan mobil.
- harga_sewa: Harga sewa mobil per hari.
Contoh data:
- Mobil dengan kode 2143 adalah jenis Pajero keluaran tahun 2024 dengan harga sewa 400.
- Mobil dengan kode 2345 adalah jenis BMW keluaran tahun 2022 dengan harga sewa 300.
3. Tabel sewa
Tabel ini menyimpan data transaksi penyewaan mobil yang menghubungkan pelanggan dengan mobil yang disewa.
Kolom-kolom pada tabel ini:
- kode_mobil: Kode mobil yang disewa (foreign key ke tabel mobil).
- no_ktp: Nomor KTP pelanggan yang menyewa (foreign key ke tabel costumer).
- no_sewa: Nomor unik untuk transaksi penyewaan.
- tgl_sewa: Tanggal mulai penyewaan.
- tgl_kembali: Tanggal pengembalian mobil.
- denda: Jumlah denda jika ada keterlambatan pengembalian (bernilai NULL jika tidak ada denda).
Contoh data:
- Transaksi penyewaan dengan nomor 1 menunjukkan bahwa pelanggan dengan nomor KTP 7604 menyewa mobil dengan kode 2345 (BMW) pada tanggal 2024-11-12 dan mengembalikannya pada tanggal 2024-11-13, tanpa dikenakan denda (NULL).
Hubungan Antar Tabel
Tabel sewa berfungsi sebagai penghubung antara tabel costumer dan mobil, memungkinkan setiap transaksi penyewaan ditelusuri berdasarkan data pelanggan dan mobil yang disewa.
Relasi ini memudahkan penyajian informasi komprehensif tentang riwayat penyewaan, seperti pelanggan, jenis mobil, tanggal penyewaan, serta perhitungan denda bila terjadi keterlambatan pengembalian.
Untuk memahami lebih lanjut tentang cara membuat ERD dan EERD serta databasenya, dapat menyimak video berikut :
Follow Instagram @kompasianacom juga Tiktok @kompasiana biar nggak ketinggalan event seru komunitas dan tips dapat cuan dari Kompasiana
Baca juga cerita inspiratif langsung dari smartphone kamu dengan bergabung di WhatsApp Channel Kompasiana di SINI