Dalam dunia bisnis modern, pengelolaan data menjadi salah satu kunci utama keberhasilan. Hal ini tidak terkecuali dalam industri penyewaan mobil, di mana data pelanggan, kendaraan, dan transaksi harus dikelola dengan baik. Salah satu cara untuk merancang sistem pengelolaan data yang efektif adalah dengan menggunakan Entity Relationship Diagram (ERD). Artikel ini akan membahas desain ERD yang dirancang untuk sebuah sistem penyewaan mobil.
Memahami Komponen dalam ERD
Gambar di atas menunjukkan desain ERD yang terdiri dari beberapa entitas utama beserta atribut dan relasinya. Berikut adalah penjelasan rinci mengenai setiap komponen:
1. Entitas Rental
Entitas ini merepresentasikan perusahaan atau pihak yang menyediakan layanan penyewaan mobil. Beberapa atribut penting yang dimiliki entitas ini adalah:
- Â no_npwp: Nomor identitas pajak perusahaan.
- nama: Nama perusahaan penyewaan.
- alamat: Lokasi perusahaan.
- no_telpon: Nomor telepon untuk keperluan kontak.
- Relasi entitas ini melibatkan hubungan dengan entitas Mobil melalui relasi memiliki, serta hubungan dengan entitas Customer melalui relasi melayani.
Relasi entitas ini melibatkan hubungan dengan entitas Mobil melalui relasi memiliki, serta hubungan dengan entitas Customer melalui relasi melayani.
2. Entitas Mobil
Entitas ini berisi data mengenai mobil yang tersedia untuk disewakan. Beberapa atributnya meliputi:
- kode_mobil: Kode unik untuk identifikasi mobil.
- tahun_mobil: Tahun produksi mobil.
- jenis_mobil: Tipe atau kategori mobil (misalnya sedan, SUV, dll.).
- harga_sewa: Biaya penyewaan mobil per hari.
Relasi entitas ini melibatkan hubungan dengan Rental (melalui memiliki) dan entitas Mobil_Cust (melalui disewakan).
3. Entitas Customer
Entitas ini merepresentasikan data pelanggan yang menggunakan layanan rental. Atribut penting dari entitas ini adalah:
- no_ktp: Nomor KTP pelanggan.
- nama: Nama lengkap pelanggan.
- alamat: Alamat tempat tinggal pelanggan.
- no_telpon: Nomor telepon pelanggan.
Entitas ini berhubungan dengan Rental melalui relasi dilayani dan dengan entitas Mobil_Cust melalui relasi daftar.
4. Entitas Mobil_Cust
Entitas ini berfungsi sebagai penghubung antara mobil dan pelanggan yang menyewanya. Atribut utama dalam entitas ini meliputi:
- no_sewa: Nomor transaksi penyewaan.
- kode_mobil: Kode mobil yang disewa.
- no_ktp: Nomor identitas pelanggan.
- tgl_sewa: Tanggal awal penyewaan.
- tgl_kembali: Tanggal pengembalian mobil.
- denda: Biaya tambahan jika ada keterlambatan pengembalian.
Entitas ini merepresentasikan transaksi yang terjadi antara pelanggan dan pihak rental.
Hubungan Antar Entitas
Desain ERD ini menunjukkan hubungan antar entitas yang saling berkaitan, di antaranya:
- Rental dan Mobil: Hubungan ini menunjukkan bahwa setiap perusahaan rental memiliki satu atau lebih mobil yang tersedia untuk disewakan.
- Rental dan Customer: Hubungan ini menggambarkan bahwa perusahaan rental melayani banyak pelanggan.
- Mobil dan Mobil_Cust: Relasi ini menandakan bahwa setiap mobil dapat disewakan kepada banyak pelanggan, meskipun dalam waktu berbeda.
- Customer dan Mobil_Cust: Hubungan ini merepresentasikan bahwa setiap pelanggan dapat melakukan lebih dari satu transaksi penyewaan.
Implementasi EERD
Setelah memahami desain awal melalui ERD, langkah selanjutnya adalah mengonversi model tersebut menjadi desain database fisik dengan detail tabel yang lebih spesifik. Pada gambar di atas, kita melihat Enhanced Entity Relationship Diagram (EERD) yang menampilkan struktur tabel yang lebih mendetail untuk sistem penyewaan mobil.
Struktur Tabel dan Hubungan Antar Entitas
Dalam EERD ini, setiap entitas dalam ERD diterjemahkan ke dalam bentuk tabel. Berikut adalah rincian dari setiap tabel:
1. Tabel rental
Tabel ini menyimpan informasi mengenai perusahaan rental mobil. Struktur tabel ini meliputi kolom:
- no_NPWP (INT): Primary key yang mengidentifikasi rental secara unik.
- nama (VARCHAR(45)): Nama perusahaan rental.
- alamat (VARCHAR(45)): Alamat lokasi rental.
- no_telpon (VARCHAR(45)): Kontak telepon rental.
Relasinya:
- Tabel ini menjadi foreign key di tabel mobil dan customer, menunjukkan bahwa setiap mobil dan pelanggan terhubung dengan rental tertentu.
2. Tabel mobil
Tabel ini menyimpan data mobil yang tersedia untuk disewakan. Kolom dalam tabel ini meliputi:
- kode_mobil (INT): Primary key sebagai identifikasi unik setiap mobil.
- jenis_mobil (VARCHAR(45)): Tipe mobil (misalnya SUV, sedan, dll.).
- tahun_mobil (DATE): Tahun produksi mobil.
- harga_sewa (DECIMAL(10)): Biaya sewa per unit waktu.
- rental_no_NPWP (INT): Foreign key yang merujuk ke tabel rental.
Relasinya:
- Mobil dimiliki oleh rental tertentu dan terhubung dengan tabel mobil_cust melalui relasi transaksi penyewaan.
3. Tabel customer
Tabel ini berisi data pelanggan yang menggunakan layanan rental. Kolomnya meliputi:
- no_ktp (INT): Primary key sebagai identifikasi unik pelanggan.
- nama (VARCHAR(45)): Nama lengkap pelanggan.
- alamat (VARCHAR(45)): Alamat tempat tinggal pelanggan.
- no_telpon (VARCHAR(45)): Nomor telepon pelanggan.
- rental_no_NPWP (INT): Foreign key yang merujuk ke tabel rental.
Relasinya:
- Setiap pelanggan terhubung dengan rental tertentu, dan juga dengan tabel mobil_cust untuk transaksi penyewaan.
4. Tabel mobil_cust
Tabel ini berfungsi sebagai penghubung antara tabel mobil dan customer. Kolom dalam tabel ini meliputi:
- no_sewa (INT): Primary key sebagai identifikasi unik transaksi penyewaan.
- tgl_sewa (DATE): Tanggal penyewaan dimulai.
- tgl_kembali (DATE): Tanggal pengembalian mobil.
- denda (DECIMAL(10)): Biaya keterlambatan (jika ada).
- mobil_kode_mobil (INT): Foreign key yang merujuk ke tabel mobil.
- customer_no_ktp (INT): Foreign key yang merujuk ke tabel customer.
Relasinya:
- Tabel ini menghubungkan mobil yang disewa dengan pelanggan yang melakukan transaksi penyewaan.
Penerapan dalam Sistem Basis Data
EERD ini menunjukkan bagaimana desain logis diterapkan dalam bentuk fisik yang siap diimplementasikan ke dalam sistem basis data seperti MySQL atau PostgreSQL. Dengan struktur seperti ini, sistem penyewaan mobil dapat:
- Mengelola data mobil, pelanggan, dan rental secara terintegrasi.
- Melacak setiap transaksi penyewaan dengan akurat.
- Menambahkan fitur tambahan, seperti perhitungan otomatis denda atau laporan ketersediaan mobil.
Dengan EERD yang telah dirancang, sistem penyewaan rental mobil tidak hanya memiliki kerangka yang jelas, tetapi juga mendukung pengelolaan data yang efisien dan terorganisir. Konversi dari ERD ke EERD menunjukkan bagaimana desain konseptual dapat diwujudkan menjadi desain fisik yang siap digunakan dalam pengembangan aplikasi berbasis database. Semoga desain ini menjadi inspirasi untuk pengelolaan data bisnis yang lebih baik.
Sinkronisasi Model dengan MySQL Workbench
Setelah membuat EERD, langkah penting berikutnya adalah melakukan sinkronisasi model untuk memastikan desain sesuai dengan database fisik di server. Proses ini dilakukan dengan fitur Synchronize Model di MySQL Workbench.
Tahapan Sinkronisasi:
- Persiapkan Model: Pastikan desain EERD sudah final, termasuk tabel, atribut, dan relasi.
- Koneksi ke Server: Sambungkan MySQL Workbench ke server database.
- Lakukan Sinkronisasi: Pilih menu Database > Synchronize Model. Ikuti wizard untuk membandingkan model dengan database fisik dan menerapkan perubahan melalui SQL Script.
- Verifikasi: Pastikan perubahan telah diterapkan dengan memeriksa database melalui Workbench atau menggunakan SQL Query.
Manfaat Sinkronisasi:
- Menjaga konsistensi struktur database.
- Menghindari kesalahan manual.
- Mempercepat proses pengembangan.
Dengan sinkronisasi, pengelolaan database menjadi lebih efisien, konsisten, dan siap digunakan untuk kebutuhan produksi.
Untuk memahami lebih lanjut terkait pembuatan dan proses desain ERD,EERD serta sinkronisasi ke databasenya, dapat menyimak video berikut :Â
Baca konten-konten menarik Kompasiana langsung dari smartphone kamu. Follow channel WhatsApp Kompasiana sekarang di sini: https://whatsapp.com/channel/0029VaYjYaL4Spk7WflFYJ2H