Studi Kasus :
Tono mendirikan usaha rental mobil yang diberi nama Tono Rental. Usaha ini bertujuan untuk menyediakan layanan penyewaan mobil kepada pelanggan dengan berbagai pilihan mobil yang dapat disewa sesuai kebutuhan. Tono Rental berlokasi di Jl. Pramuka No. 36 dan menggunakan nomor NPWP untuk keperluan administrasi dan pajak. Untuk mendukung operasional bisnisnya, Tono memerlukan sebuah sistem basis data yang mampu mengelola informasi terkait mobil, pelanggan, dan transaksi penyewaan. Melalui sistem ini, Tono dapat mengelola data dengan lebih efisien, menghindari kesalahan pencatatan, serta meningkatkan kualitas layanan kepada pelanggan.
Entitas yang Terlibat :
Dalam desain database untuk Tono Rental, terdapat tiga entitas utama yang perlu dikelola, yaitu Customer, Sewa, dan Mobil. Setiap entitas memiliki atribut-atribut tertentu yang diperlukan untuk mengelola informasi secara efektif.
1. Tabel Customer
Setiap pelanggan yang ingin menyewa mobil harus terdaftar terlebih dahulu dalam sistem. Atribut-atribut yang dicatat dalam tabel Customer adalah:
no_ktp: Nomor KTP pelanggan yang berfungsi sebagai identifikasi unik bagi setiap pelanggan. Ini menjadi primary key dalam tabel customer.
nama: Nama lengkap pelanggan.
no_tlp: Nomor telepon yang digunakan untuk keperluan komunikasi.
alamat: Alamat tempat tinggal pelanggan.
2. Tabel Mobil
Tono Rental menyediakan berbagai jenis mobil untuk disewa oleh pelanggan. Atribut-atribut dalam tabel Mobil adalah:
kode_mobil: Kode unik untuk setiap mobil yang disewa, berfungsi sebagai primary key.
jenis_mobil: Jenis atau tipe mobil yang tersedia, seperti sedan, SUV, atau minibus.
tahun_mobil: Tahun pembuatan mobil tersebut, memberikan informasi mengenai usia mobil.
harga_sewa: Biaya yang harus dibayar oleh pelanggan untuk menyewa mobil setiap harinya.
3. Tabel Sewa
Tabel Sewa berfungsi untuk mencatat setiap transaksi penyewaan mobil yang dilakukan oleh pelanggan. Atribut-atribut yang dicatat di tabel ini meliputi:
no_sewa: Nomor unik untuk setiap transaksi penyewaan, yang menjadi primary key dalam tabel ini.
tgl_sewa: Tanggal penyewaan mobil dimulai.
tgl_kembali: Tanggal pengembalian mobil yang disewa.
denda: Biaya denda yang dikenakan apabila mobil terlambat dikembalikan.
Relasi Antar Tabel
Dalam sistem ini, antara Customer dan Mobil terdapat relasi many-to-many, yang berarti:
Seorang Customer dapat menyewa satu atau lebih mobil.
Sebuah Mobil dapat disewa oleh satu atau lebih Customer.
Relasi many-to-many ini mengarah pada pembuatan entitas baru yang disebut Sewa. Entitas Sewa ini berfungsi untuk menghubungkan Customer dan Mobil, serta mencatat data transaksi penyewaan.
Proses Pembuatan ERD
Pada Gambar 1, terlihat bagaimana diagram Entity Relationship Diagram (ERD) menggambarkan hubungan antar entitas tersebut. Dalam ERD, setiap entitas memiliki atributnya sendiri, dan terdapat relasi antara entitas Customer dan Mobil yang menghasilkan entitas Sewa untuk mencatat transaksi penyewaan.
Penjelasan ERD:
Seorang Customer bisa menyewa satu atau lebih mobil.
Sebuah Mobil bisa disewa oleh satu atau lebih Customer.
Setelah membuat ERD, langkah berikutnya adalah mengembangkan diagram tersebut menjadi Extended Entity Relationship Diagram (EERD), yang lebih mendetail dengan penjelasan tentang struktur tabel dan relasi antar tabel. EERD membantu kita untuk menentukan tipe data untuk setiap atribut dan mendesain tabel-tabel dengan lebih jelas.
Pada Gambar 2, EERD menunjukkan adanya tiga tabel utama yaitu Customer, Mobil, dan Sewa. Tabel Sewa bertindak sebagai tabel relasi antara Customer dan Mobil, dengan foreign key yang mengacu pada kode_mobil dari Mobil dan no_ktp dari Customer.