Mohon tunggu...
Darmayanti
Darmayanti Mohon Tunggu... Mahasiswa - mahasiswa

IT

Selanjutnya

Tutup

Analisis

Membuat Aplikasi Rental Mobil

30 Desember 2024   22:52 Diperbarui: 30 Desember 2024   22:52 35
+
Laporkan Konten
Laporkan Akun
Kompasiana adalah platform blog. Konten ini menjadi tanggung jawab bloger dan tidak mewakili pandangan redaksi Kompas.

STUSI KASUS

Seorang pengusaha ingin membuat sebuah toko rental mobil yang akan di beri nama Rental99, yang beralamat di Kambu, Jalan Asnawa, no.11 dengan nomor telepon 082345878821. Rental ini memiliki banyak mobil dengan kode mobil, jenis mobil yang beragam, tahun keluarnya, dan harga sewa. Pada saat ingin menyewa costumer akan di minta untuk memasukkan nomor ktp mereka, nama, nomor hp aktif dan alamat lalu costumer akan memilih jenis mobil yang ingin di sewa, tanggal mulai menyewa dan tanggal pengembalian. Pengusaha ini menetapkan denda apabila costumer mengembalikan mobil yang mereka sewa lebih dari satu hari, dengan nominal denda perharinya adalah Rp. 20.000,00.

PERANCANGAN ERD

Entitas dan Atributnya

  1. Rental99
    • Atribut:

      • no_hp (Nomor telepon dari rental)
      • alamat (Alamat dari rental)
  2. Mobil
    • Atribut:

      • kode_mobil (Primary key, kode unik untuk mobil)
      • jenis_mobil (Tipe atau jenis mobil, seperti sedan, SUV, dll.)
      • tahun (Tahun pembuatan mobil)
      • harga_sewa (Harga sewa per hari untuk mobil)
  3. Customer
    • Atribut:

      • no_ktp (Primary key, nomor KTP sebagai identitas unik customer)
      • nama (Nama customer)
      • kontak (Nomor telepon atau kontak customer)
      • alamat (Alamat customer)
  4. Sewa
    • Atribut:

      • id_sewa (Primary key, kode unik untuk transaksi sewa)
      • tgl_sewa (Tanggal mulai sewa)
      • tgl_kembali (Tanggal pengembalian mobil)
      • denda (Jumlah denda jika ada keterlambatan)
      • kode_mobil (Foreign key, referensi ke entitas Mobil)
      • no_ktp (Foreign key, referensi ke entitas Customer)

Relasi

  1. Rental99 - Mobil
    • Relasi: Memiliki
    • Kardinalitas: Satu Rental99 dapat memiliki banyak mobil, tetapi satu mobil hanya dimiliki oleh satu Rental99.
  2. Mobil - Sewa
    • Relasi: Terkait dengan
    • Kardinalitas: Satu mobil dapat disewa dalam beberapa transaksi, tetapi satu transaksi hanya melibatkan satu mobil.
  3. Customer - Sewa
    • Relasi: Melakukan
    • Kardinalitas: Satu customer dapat melakukan beberapa transaksi sewa, tetapi satu transaksi sewa hanya dilakukan oleh satu customer.

Kunci Utama dan Kunci Asing

  • Kunci Utama (Primary Key): Rental99: Tidak disebutkan secara eksplisit, tetapi diasumsikan entitas ini hanya satu sehingga tidak memerlukan primary key.
    • kode_mobil di entitas Mobil.
    • no_ktp di entitas Customer.
    • id_sewa di entitas Sewa.
  • Kunci Asing (Foreign Key):
    • kode_mobil di entitas Sewa mengacu ke entitas Mobil.
    • no_ktp di entitas Sewa mengacu ke entitas Customer.

PERANCANGAN EERD

sumber: dokumen pribadi2
sumber: dokumen pribadi2

Tabel dan Atributnya

  1. Tabel mobil
    • Atribut:
      • kode_mobil (Primary Key, tipe INT): Kode unik untuk setiap mobil.
      • jenis_mobil (VARCHAR(45)): Jenis atau tipe mobil (contoh: sedan, SUV, dll.).
      • tahun_mobil (YEAR): Tahun pembuatan mobil.
      • harga_sewa (INT): Harga sewa mobil per hari.
    • Deskripsi: Tabel ini menyimpan informasi tentang mobil yang tersedia untuk disewa.
  2. Tabel sewa
    • Atribut:
      • id_sewa (Primary Key, tipe INT): ID unik untuk setiap transaksi sewa.
      • mobil_kode_mobil (Foreign Key, tipe INT): Referensi ke kode_mobil di tabel mobil.
      • COSTUMER_no_ktp (Foreign Key, tipe INT): Referensi ke no_ktp di tabel COSTUMER.
      • tgl_sewa (DATE): Tanggal mulai sewa.
      • tgl_kembali (DATE): Tanggal pengembalian mobil.
      • denda (VARCHAR(45)): Besarnya denda jika ada keterlambatan.
      • total_bayar (VARCHAR(45)): Total pembayaran untuk transaksi sewa.
    • Deskripsi: Tabel ini mencatat detail transaksi sewa yang dilakukan oleh pelanggan.
  3. Tabel COSTUMER
    • Atribut:
      • no_ktp (Primary Key, tipe INT): Nomor KTP unik untuk setiap pelanggan.
      • nama (VARCHAR(45)): Nama pelanggan.
      • alamat (VARCHAR(100)): Alamat pelanggan.
      • kontak (VARCHAR(45)): Nomor telepon atau kontak pelanggan.
    • Deskripsi: Tabel ini menyimpan data pelanggan yang melakukan transaksi sewa.

Relasi

  1. Relasi antara mobil dan sewa
    • Relasi: One-to-Many
    • Deskripsi:
      • Satu mobil (mobil.kode_mobil) dapat terkait dengan banyak transaksi sewa di tabel sewa melalui atribut mobil_kode_mobil.
      • Artinya, satu mobil bisa disewa lebih dari sekali pada waktu yang berbeda.
  2. Relasi antara COSTUMER dan sewa
    • Relasi: One-to-Many
    • Deskripsi:
      • Satu pelanggan (COSTUMER.no_ktp) dapat terkait dengan banyak transaksi sewa di tabel sewa melalui atribut COSTUMER_no_ktp.
      • Artinya, satu pelanggan bisa melakukan lebih dari satu transaksi sewa.

HALAMAN :
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
Mohon tunggu...

Lihat Konten Analisis Selengkapnya
Lihat Analisis 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