Mohon tunggu...
LA ODE MUH. RAHMAD ADHAN HALU
LA ODE MUH. RAHMAD ADHAN HALU Mohon Tunggu... Mahasiswa - Mahasiswa

Hobi saya bermain game

Selanjutnya

Tutup

Ruang Kelas

Desain ERD dan EERD Sederhana Database Rental Mobil Tono

16 November 2024   16:17 Diperbarui: 16 November 2024   16:27 12
+
Laporkan Konten
Laporkan Akun
Kompasiana adalah platform blog. Konten ini menjadi tanggung jawab bloger dan tidak mewakili pandangan redaksi Kompas.
Lihat foto
Gambar 1. ERD dok pribadi

Dalam sistem pengelolaan penyewaan mobil, penggunaan basis data yang terstruktur sangat penting untuk mencatat data pelanggan, mobil, dan transaksi penyewaan dengan akurat. Artikel ini membahas pembuatan basis data sederhana yang melibatkan tiga entitas utama, yaitu mobil, customer, dan transaksi sewa, yang saling terhubung dalam relasi many-to-many antara mobil dan customer.

Sistem basis data ini memiliki aturan dasar sebagai berikut:

Mobil: Setiap mobil yang dapat disewa memiliki kode unik, jenis mobil, tahun produksi, dan tarif sewa harian.
Customer: Setiap pelanggan diwajibkan memiliki nomor identitas yang valid (nomor KTP) serta data kontak seperti nama, nomor telepon, dan alamat.
Transaksi Sewa: Setiap transaksi memiliki nomor transaksi unik serta mencakup tanggal sewa, tanggal pengembalian, dan denda untuk keterlambatan pengembalian.

ERD (Entity-Relationship Diagram) menggambarkan hubungan antara ketiga entitas utama ini:

  • Relasi Mobil dan Customer: Hubungan ini bersifat many-to-many, karena satu mobil bisa disewa oleh beberapa pelanggan (melalui transaksi yang berbeda), dan satu pelanggan bisa menyewa banyak mobil. Untuk mengatur hubungan ini, entitas "Sewa" dibuat sebagai tabel penghubung.
  • Relasi Mobil dan Sewa: Setiap transaksi sewa melibatkan satu mobil, meskipun mobil yang sama dapat terlibat dalam banyak transaksi yang berbeda.
  • Relasi Customer dan Sewa: Setiap transaksi melibatkan satu pelanggan, tetapi pelanggan yang sama dapat melakukan banyak transaksi sewa.

Dengan demikian, entitas "Sewa" berperan sebagai tabel penghubung yang mengelola hubungan many-to-many antara "Mobil" dan "Customer". Tabel ini menyimpan informasi spesifik tentang setiap transaksi, seperti nomor sewa, tanggal sewa, tanggal pengembalian, dan denda jika ada keterlambatan pengembalian.

Langkah berikutnya adalah membuat tabel-tabel dalam basis data sesuai dengan entitas dan relasinya. Tabel-tabel yang akan dibuat adalah:

  1. Tabel Mobil: Menyimpan data tentang mobil yang tersedia untuk disewa, termasuk kode_mobil (sebagai identifikasi unik), jenis_mobil (tipe atau model mobil), tahun_mobil (tahun pembuatan), dan harga_sewa (biaya sewa per hari).
  2. Tabel Customer: Menyimpan data pelanggan yang menyewa mobil. Setiap pelanggan diidentifikasi dengan no_ktp sebagai kunci utama, serta data lainnya seperti nama, no_tlp (nomor telepon), dan alamat.
  3. Tabel Sewa: Berfungsi untuk merekam setiap transaksi sewa antara mobil dan pelanggan. Tabel ini mencerminkan hubungan many-to-many dan mencatat informasi seperti nomor sewa, tgl_sewa (tanggal awal sewa), tgl_kembali (tanggal pengembalian yang direncanakan), serta denda jika terjadi keterlambatan.

Dengan struktur basis data ini, relasi antar entitas dapat diatur dengan baik menggunakan kunci utama dan kunci asing untuk menjaga integritas data.

Gambar 2. EERD dok pribadi
Gambar 2. EERD dok pribadi

Extended Entity-Relationship Diagram (EERD) memberikan gambaran lebih mendetail mengenai hubungan antara entitas dalam sistem penyewaan mobil. EERD memperluas konsep dari Entity-Relationship Diagram (ERD) dengan menambahkan atribut tambahan, hubungan yang kompleks, dan aspek lain yang membantu merancang basis data dengan lebih jelas dan terstruktur. Berikut adalah penjelasan elemen-elemen yang ada dalam EERD sistem penyewaan mobil:

  1. Entitas Mobil
    Entitas ini berisi atribut-atribut yang mencakup data penting tentang mobil yang dapat disewa, antara lain:

    • kode_mobil (Primary Key): Identifikasi unik setiap mobil.
    • jenis_mobil: Menyimpan informasi jenis atau model mobil.
    • tahun_mobil: Mencatat tahun produksi mobil.
    • harga_sewa: Tarif sewa harian untuk setiap mobil.
  2. Entitas Customer
    Entitas ini menyimpan data pelanggan yang menyewa mobil. Atribut-atribut penting dalam entitas ini meliputi:

    • no_ktp (Primary Key): Identitas unik berupa nomor KTP pelanggan.
    • nama: Nama lengkap pelanggan.
    • no_tlp: Nomor telepon pelanggan untuk keperluan kontak.
    • alamat: Alamat tempat tinggal pelanggan.
  3. Entitas Sewa
    Entitas ini merupakan tabel asosiasi yang menghubungkan entitas Mobil dan Customer. Entitas Sewa mencatat informasi transaksi penyewaan dan berfungsi untuk mengatur relasi many-to-many di antara mobil dan pelanggan. Atribut-atribut yang dimiliki oleh entitas Sewa mencakup:

    • nomor_sewa (Primary Key): Identifikasi unik setiap transaksi penyewaan.
    • tgl_sewa: Tanggal mulai sewa.
    • tgl_kembali: Tanggal pengembalian yang direncanakan.
    • denda: Jumlah denda yang dikenakan jika terjadi keterlambatan pengembalian.
  4. Hubungan Antar Entitas

    • Mobil dan Sewa: Setiap transaksi sewa hanya dapat melibatkan satu mobil, tetapi mobil yang sama bisa digunakan dalam banyak transaksi di waktu yang berbeda. Relasi ini bersifat one-to-many dari sudut pandang tabel Mobil ke tabel Sewa.
    • Customer dan Sewa: Setiap transaksi sewa melibatkan satu pelanggan tertentu, tetapi pelanggan yang sama bisa memiliki beberapa transaksi sewa dengan mobil yang berbeda atau dalam waktu berbeda. Relasi ini juga bersifat one-to-many dari tabel Customer ke tabel Sewa.
    • Mobil dan Customer melalui Sewa: Hubungan antara Mobil dan Customer adalah many-to-many karena satu mobil bisa disewa oleh banyak pelanggan (melalui beberapa transaksi), dan satu pelanggan bisa menyewa banyak mobil di waktu yang berbeda.

Kesimpulan
EERD menggambarkan struktur basis data dengan menambahkan detail yang memperjelas hubungan antar entitas, atribut dari setiap entitas, dan hubungan relasional yang terdefinisi dengan baik melalui entitas "Sewa" sebagai penghubung. Dengan EERD ini, kita dapat merancang sistem penyewaan mobil yang efisien dan meminimalkan kemungkinan inkonsistensi data melalui kunci utama dan kunci asing.

Untuk cara pembuatan lebih lengkapnya ada dibawah :

Baca konten-konten menarik Kompasiana langsung dari smartphone kamu. Follow channel WhatsApp Kompasiana sekarang di sini: https://whatsapp.com/channel/0029VaYjYaL4Spk7WflFYJ2H

HALAMAN :
  1. 1
  2. 2
Mohon tunggu...

Lihat Konten Ruang Kelas Selengkapnya
Lihat Ruang Kelas Selengkapnya
Beri Komentar
Berkomentarlah secara bijaksana dan bertanggung jawab. Komentar sepenuhnya menjadi tanggung jawab komentator seperti diatur dalam UU ITE

Belum ada komentar. Jadilah yang pertama untuk memberikan komentar!
LAPORKAN KONTEN
Alasan
Laporkan Konten
Laporkan Akun