aplikasi basis data studi kasus penyewaan mobil · studi kasus penyewaan mobil pada studi kasus...
TRANSCRIPT
APLIKASI BASIS DATA
STUDI KASUS PENYEWAAN MOBIL
Oleh: Ai ilah Warnilah
PROGRAM STUDI SISTEM INFORMASI
UNIVERSITAS BINA SARANA INFORMATIKA
TASIKMALAYA
2018
1
KATA PENGANTAR
Puji syukur kami panjatkan kehadirat Allah SWT., yang telah
memberikan nikmat lahir maupun batin kepada kami sehingga modul
Aplikasi Basis Data Dengan Studi Kasus Penyewaan Mobil .Modul ini
disusun pegangan Mahasiswa Pada Aplikasi Basis Data Supaya memahami
dalam penerapan studi kasus dan pemahaman perintah perintah MYSQL
Modul ini berisikan tentang Perintah Perintah dasar Aplikasi Basis
Data. Dimana isi dari modul ini didalamnya tercantum contoh kasus,
sehingga akan memudahkan pembelajaran Aplikasi Basis Data bagi
pembacanya.
Kami mengucapkan terima kasih banyak kepada semua pihak yang
telah membantu dengan tenaga dan pikirannya, terima kasih juga kepada
teman-teman yang telah membantu dalam proses penyusunan modul ini.
Kami menyadari masih banyak kekurangan dalam penyusunan
modul ini. Untuk itu saran dan kritik yang membangun sangat kami
harapkan guna perbaikan dan pengembangan modul ini di masa yang akan
datang. Akhir kata kami berharap semoga modul pemrograman java ini
dapat bermanfaat bagi pembacanya.
Tasikmalaya, Juni 2018
Penyusun
2
PEMBAHASAN Ketentuan Sistem
Studi Kasus Penyewaan Mobil
Pada studi kasus kali ini adalah mengenai database peminjaman atau
penyewaan yang dapat digunakan untuk pengolahan data secara digital
atau komputerisasi. Pada suatu perusahaan yang menyediakan berbagai
jenis mobil untuk di sewakan. Dimana penyewa harus daftar terlebih
dahulu lalu mengisi identitas selanjutnya, setelah terdaftar
mendapatkan kartu member. Lalu memilih kedaraan mobil dengan atau
tanpa menggunakan supir hal tersebut dikenakan biaya tambahan pada
saat pembayaran apabila menggunakan jasa supir.
Peminjam dikenakan harga sewa dengan hitungan per hari dan
apabila terdapat keterlambatan dalam pengembalian atau kerusakan maka
akan dikenakan denda. Pengelola penyewaan mobil akan meminta jaminan
kepada peminjam berupa identitas E-KTP atau KK. Pembayaran bisa di
lakukan pada saat transaksi atau peminjaman dengan dibayarkan langsung
tau dengan uang muka dan membayar lunas pada sat mengembalikan
mobil.
Supir siap siaga untuk mengantar apabila di perlukan namun dibagi
menjai dua rute yakni dekat dan jauh. Mengapa demikian? Alasannya
adalah supir yang telah melakukan perjalan akan beristirahat dan dapat
menerima pekerjkan untuk rute dekat saja.
2.2 Struktur File & Spesifikasi File
Perancangan sistem informasi merupakan pengembangan sistem
baru dari sistem lama yang ada, dimana masalah-masalah yang terjadi pada
sistem baru lama diterapkan sudah teratasi pada sistem yang baru.
Database : PM Tabel : Mobil
3
Field Name Type Size Keterangan
Kd_Mobil Varchar 15 Primary Key, AUTO_INCREMENT
Nopol Varchar 20
Warna Varchar 30
Merk Varchar 50
Kelas Enum ‘A’,’B’,’C’
Kapasitas Varchar 50
Jenis Varchar 30
Transmisi Enum ‘Manual’,’Otomatis’
Bahan_Bakar Varchar 30
Satus Enum ‘Service’,’Ok’
Kondisi Enum ‘Bersih’,’Kotor’
Stok Int 11
Harga Bigint 30
Tabel : Supir
Field Name Type Size Keterangan
Id_Supir Int 10 Primary Key, AUTO_INCREMENT
Nama Varchar 50
Gender Enum ‘L’,’P’
No_Telp Varchar 20
Status Varchar 50
Rute Varchar 30
Biaya Bigint 30
Tabel : Penyewa
Field Name Type Size Keterangan
Id_Penyewa Int 10 Primary Key, AUTO_INCREMENT
No_KTP varchar 50
Nama Varchar 50
Gender Enum ‘L’,’P’
No_Telp Varchar 20
Alamat Text
Pekerjaan Varchar 50
Tabel : Daftar
4
Field Name Type Size Keterangan
Id_Daftar Int 10 Primary Key, AUTO_INCREMENT
Id_Penyewa Int 10
Nama Varchar 50
Jaminan Varchar 50
Member Varchar 50
Tabel : Peminjaman
Field Name Type Size Keterangan
Id_Pmj Int 10 Primary Key, AUTO_INCREMENT
Id_Penyewa Int 10
Kd_Mobil Varchar 15
Id_Daftar Int 10
Id_Supir Int 10
Tgl_Pinjam Datetime
Tgl_Kembali Datetime
Dp Bigint 30
Diskon Bigint 30
Total Bigint 30
Tabel : Kembali
Field Name Type Size Keterangan
Id_Kembali Int 10 Primary Key, AUTO_INCREMENT
Id_Pmj Int 10
Id_Penyewa Int 10
Kd_Mobil Varchar 15
Id_Daftar Int 10
Id_Supir Int 10
Tgl_Pinjam Datetime
Tgl_Kembali Datetime
Diskon Bigint 30
Id_Denda Int 10
Total Bigint 30
Tabel : Denda
5
Field Name Type Size Keterangan
Id_Denda Int 10 Primary Key, AUTO_INCREMENT
Keterlambatan Varchar 50
Kerusakan Varchar 50
Kd_Mobil Varchar 15
Tot_Denda Bigint 30
2.3 Proses Perancangan ERD dan LRS
1. ERD (Entity Relation Diagram)
Merupakan suatu metode dalam pemodelan database dengan
menggunakan diagram alur antar entitas, untuk memperjelas alur program
yang akan dibuat.
Identifikasi entitas Database dan Penentuan Atribut Key
No. Nama Entitas Atribut Key
1. Mobil
Kd_Mobil (PK), Nopol,Warna,Merk,Kelas, Kapasitas, Transmisi, Bahan_Bakar, Status, Kondisi, Stok, Harga
2. Supir Id_Supir (PK), Nama, Gender, No_Telp, Status, Rute, Biaya
3. Penyewa
Id_Penyewa (PK), No_KTP, Nama, Gender, Alamat, No_Telp, Pekerjaan
4. Daftar Id_Daftar (PK), Id_Penyewa (FK), Nama, Jaminan, Member
5. Peminjaman
Id_Pmj (PK), Id_Penyewa (FK), Kd_Mobil (FK), Id_Daftar (FK), Id_Supir (FK), Tgl_Pinjam, Tgl_Kembali, DP, Diskon, Total
6. Kembali Id_Kembali (PK), Id_Pmj (FK), Id_Penyewa (FK),
6
Kd_Mobil (FK), Id_Daftar (FK), Id_Supir (FK), Tgl_Pinjam, Tgl_Kembali, Dsikon, Id_Denda (FK) , Total
7. Denda
Id_Denda (PK), Keterlambatan, Kerusakan, Kd_Mobil (FK), Tot_Denda
ERD Database Peminjaman Mobil
Penyewa DaftarMelakukan
Peminjaman
Memilih SupirMobil
Melakukan
Mengembaikan
KondisiKembali
DendaMembayar
N
11
1
N
1
1
1
1
1
1
Kd_Mobil
Nopol
Merk
Wrana
Transmisi
Status
Kondisi
Kelas
Kapasistas
Jenis
Harga
Bahan_Bakar
Id_Supir
Nama
Gender
No_Telp
Status
Rute
Biaya
Id_Penyewa
Nama
No_KTP
Gender
No_Telp
Alamat
Pekerjaan
Id_Daftar
Id_Penyewa**
NamaJaminanMember
Id_Pmj
Id_Penyewa** Kd_Mobil** Id_Daftar**
Id_Supir**
Tgl_Pinjam
Tgl_Kembali
Dp
Diskon
Total
Id_Kembali
Id_Pmj**
Id_Penyewa**
Kd_Mobil**
Id_Daftar**
Id_Supir**
Tgl_Pinjam
Tgl_Kembali
Dp
Diskon
Total
Id_Denda**
Id_Denda
Tot_Denda
Keterlambatan
Kerusakan
Kd_Mobil**
7
2. LRS (Logical Relational Stucture)
Representasi dari struktur record yang terdapat pada setiap tabel
yang terbentuk dari hasil relasi antar himpunan entitas. Menentukan
Kardinalitas, Jumlah Tabel dan Foreign Key.
LRS Database Peminjaman Mobil
Penyewa
Id_Penyewa No_KTP Nama Gender No_Telp Alamat Pekerjaan
Peminajaman
Id_Daftar Id_Penyewa** Nama Jaminan Member
Daftar
Id_Pmj Id_Penyewa** Kd_Mobil** Id_Daftar** Id_Supir** Tgl_Pinjam Tgl_Kembali Dp Diskon Total
Mobil
Kd_Mobil Nopol Warna Merk Kelas Kapasitas Jenis Transmisi Bahan_Bakar Status Kondisi Stok Harga
Supir
Id_Supir No_KTP Nama Gender No_Telp Satus Rute Biaya
Kembali
Id_Kembali Id_Pmj** Id_Penyewa** Kd_Mobil** Id_Daftar** Id_Supir** Tgl_Pinjam Tgl_Kembali Dp Id_Denda** Diskon Total
Denda
Id_Denda Keterlambatan Kerusakan Kd_Mobil** Tot_Denda
1
N
N
1
1
1 1
1
1
1
1 1
1
1
8
2.3 Proses Pembuatan Database Pada MySQL
Berdasarkan konsep logis yang telah dibuat sebelumnya pada ERD
dan LRS, maka
langkah selanjutnya membuat database fisik dengan MySQL, sebagai
berikut:
1. Masuk kedalam mysql melalui command prompt.
2. Buat sebuah database dengan nama “PM”, kemudian tampilkan daftar
database
yang ada pada mysql.
9
3. Aktifkan database pm.
4. Buat 7 buah tabel, dengan ketentuan sebagai berikut:
1. Tabel : Mobil
Field Name Type Size Keterangan
Kd_Mobil Varchar 15 Primary Key
Nopol Varchar 20
Warna Varchar 30
Merk Varchar 50
Kelas Enum ‘A’,’B’,’C’
Kapasitas Varchar 50
Jenis Varchar 30
Transmisi Enum ‘Manual’,’Otomatis’
Bahan_Bakar Varchar 30
Satus Enum ‘Service’,’Ok’
10
Kondisi Enum ‘Bersih’,’Kotor’
Stok Int 11
Harga Bigint 30
2. Tabel : Supir
Field Name Type Size Keterangan
Id_Supir Int 10 Primary Key, AUTO_INCREMENT
Nama Varchar 50
Gender Enum ‘L’,’P’
No_Telp Varchar 20
Status Varchar 50
Rute Varchar 30
Biaya Bigint 30
3. Tabel : Penyewa
Field Name Type Size Keterangan
Id_Penyewa Int 10 Primary Key,
11
AUTO_INCREMENT
No_KTP Varchar 50
Nama Varchar 50
Gender Enum ‘L’,’P’
No_Telp Varchar 20
Alamat Text
Pekerjaan Varchar 50
4. Tabel : Daftar
Field Name Type Size Keterangan
Id_Daftar Int 10 Primary Key, AUTO_INCREMENT
Id_Penyewa Int 10
Nama Varchar 50
Jaminan Varchar 50
Member Varchar 50
5. Tabel : Peminjaman
Field Name Type Size Keterangan
Id_Pmj Int 10 Primary Key, AUTO_INCREMENT
Id_Penyewa Int 10
12
Kd_Mobil Varchar 15
Id_Daftar Int 10
Id_Supir Int 10
Tgl_Pinjam Datetime
Tgl_Kembali Datetime
Dp Bigint 30
Diskon Bigint 30
Total Bigint 30
6. Tabel : Kembali
Field Name Type Size Keterangan
Id_Kembali Int 10 Primary Key, AUTO_INCREMENT
Id_Pmj Int 10
Id_Penyewa Int 10
Kd_Mobil Varchar 15
Id_Daftar Int 10
Id_Supir Int 10
Tgl_Pinjam Datetime
Tgl_Kembali Datetime
Diskon Bigint 30
Id_Denda Int 10
Total Bigint 30
13
7. Tabel : Denda
Field Name Type Size Keterangan
Id_Denda Int 10 Primary Key, AUTO_INCREMENT
Keterlambatan Varchar 50
Kerusakan Varchar 50
Kd_Mobil Varchar 15
Tot_Denda Bigint 30
4. Tampilkan daftar tabel yang ada pada database PM.
14
5. Buka struktur tabel dari masing-masing tabel yang telah dibuat
15
6. Hapus field Total pada tabel kembali.
16
7. Tampilkan kembali strukur file tabel peminjaman.
8. Tambahkan field dengan nama Total_Harga type int dengan size 12 not
null.
9.Tampilkan kembali strukur file tabel peminjaman.
17
10. Ubah field Total_Harga pada tabel peminjaman menjadi Total dengan
type=bigint size=30.
11.Hapus primary key pada tabel mobil.
12.Tampilkan struktur file tabel mobil.
13.Tambahkan kembali primary key pada tabel mobil pada field Kd_Mobil
lau tampilakn kembali struktur filenya.
18
14.Ganti nama tabel Daftar menjadi Registrasi.
15.Tampilkan seluruh tabel yang ada pada database PM.
16.Ubah field kd_Mobil pada table mobil dengan type yang sama dengan
size=20.
17. Isikan data untuk tabel supir,dengan data sebagai berikut : Tabel Supir
19
No.
Id_Supir
Nama
Gender
No_Telp Status
Rute Biaya
1 1 Upin L 08979587544
Siap Jauh Rp.200.000,00
2 2 Ipin L 08979587533
Siap Dekat
Rp.100.000,00
18. Tampilakan seluruh record pada tabel supir.
19. Tampilakan isi record pada tabel supir dengan rute jauh.
20. Isikan tabel dengan data sebagai berikut : Tabel : Penyewa
No Id_Penyewa
No_KTP Nama Gender
No_Telp Alamat Pekerjaan
1 11 12345678910 Aden P 08912345677 Bandung PNS
2 12 12345678911 Bagus P 08912345678 Bandung Dokter
3 13 12345678912 Salim P 08912345679 Jakarta Guru
4 14 12345678913 Silvi L 08912345676 Bandung Model
20
21. Tampilkan isi record tabel penyewa.
22. Tampilkan isi record tabel penyewa berdasarkan pekerjaan.
23. Tampilkan isi record tabel penyewa hanya No_KTP, Nama, dan Alamat.
21
24. Tampilkan isi record tabel penyewa dengan nama berawalan huruf A.
25. Tampilkan isi record tabel penyewa dengan ketentuan Id_Penyewa
kurang dari 13.
26. Tampilkan isi record tabel penyewa pada field Pekerjaan yang
mengandung kata “Do”.
22
27. Tampilkan isi record tabel penyewa hanya Nama dan Pekerjaan
diurutkan secara descending berdasarkan Nama.
28. Tampilkan isi record tabel penyewa hanya Nama dan Pekerjaan dengan
Id_Penyewa di atas 11.
29. Tampilkan isi record tabel penyewa dengan Id_Penyewa diatas 11 dan
Nama nya adalah Silvi.
23
30. Tampilkan isi record tabel penyewa dengan Id_Penyewa diatas 11 dan
Nama nya selain Silvi.
31. Tampilkan 2 isi record teratas pada tabel penyewa.
32. Tampilkan rata-rata biaya supir.
24
33. Tampilan Biaya Supir terendah.
34.Tampilkan Biaya supir tertinggi.
35.Tampilkan total Biaya jika menggunakan dua supir.
36.Tampilkan isi record fiel Alamat pada tabel penyewa tanpa perulangan.
25
37.Buat alias Nama Pada tabel penyewa dengan Peminjam.
38. Edit field Transmisi pada tabel mobil denga nama field Transmisi type = enum ket = ‘Manual’,’Otomatis’,’Semi’) lalu tampilakan struktur filenya.
26
39. Isikan tabel ,dengan data sebagai berikut : Tabel : Mobil
No Kd_Mobil
Nopol
Warna
Merk
Kelas
Kapasitas
Jenis
Transmisi
Bahan_Bakar
Status
Kondisi
Stok
Harga
1 A1 A1234BC
Merah
BMW
A 2 Orang
Sedan
Semi
Bensin
Ok Bersih
2 Rp.800.000,00
2 B1 B1235CD
Silver Toyota
B 8 Orang
Mini Bus
Manual
Bensin
Ok Bersih
4 Rp.500.000,00
27
Tabel : Registrasi
No Id_Daftar Id_Penyewa Nama Jaminan Member
1 1 11 Aden KK 1
2 2 13 Silvi SIM 2
Tabel : Peminjaman
No Id_Pmj
Id_Penyewa
Kd_Mobil
Id_Daftar
Id_Supir
Tgl_Pinjam
Tgl_Kembali
DP
Diskon
Total
1 1 11 A1 1 - 2019-07-01 08:00:00
2019-07-02 -08:00:00
- - Rp.800.000
2 2 13 B1 2 1 2019-07-01 08:00:00
2019-07-03 08:00:00
- - Rp.1.400.000
28
Tabel : Denda
No Id_Denda Keterlambatan
Kerusakan Kd_Mobil Total
1 1 2 Jam - A1 Rp.50.000,00
Tabel : Kembali
No
Id_Kembali
Id_Pmj
Id_Penyewa
Kd_Mobil
Id_Daftar
Id_Supir
Tgl_Pinjam
Tgl_Kembali
Diskon
Id_Denda
Total
1 1 1 11 A1 1 - 2019-07-01 08:00:00
2019-07-02 -08:00:00
- - Rp.800.000,00
2 2 2 13 B1 2 1 2019-07-01 08:00:00
2019-07-03 08:00:00
- 1 Rp.1450.000,00
40. Tampilkan isi record pada tabel mobil.
29
41. Tampilkan isi record pada tabel registrasi.
42. Tampilkan isi record pada tabel peminjaman.
43. Tampilkan isi record pada tabel denda.
30
44. Tampilkan isi record pada tabel kembali.
45. Ubah field Stok type = int menjadi type = varchar size = 30.
46. Ubah isi record pada kode mobil A1 dengan Stok = 2 menjadi Stok = Ada
dan kode mobil A1 dengan Stok = 4 menjadi Stok = Ada. Lalu tampilkan isi
recordnya.
47.Tampilkan jumlah data dari isi record pada tabel mobil.
31
48.Tampilkan isi record dengan menggabungkan dua field Nopol dan Merk
pada tabel mobil.
49.Buat alias dengan nama PLAT NOMOR (menggunakan spasi) pada field
Nopol pada tabel mobil.
50.Gabungkan tabel penyewa dengan tabel registrasi menggunakan Left
Outer Join.
32
51.Gabungkan tabel penyewa dengan tabel registrasi menggunakan Right
Outer Join.
51.Gabungkan tabel penyewa dengan tabel registrasi menggunakan Inner
Join.
33
52.Tampilkan penyewa dengan nama “Aden” berdasarkan inner join tabel
peminjman dengan tabel penyewa dan tabel mobil.
53.Ganti isi record field gender “P” menjadi “L”.
54.Ganti isi record field gender “L” menjadi “P” pada field nama=”Silvi” lalu
tampilkan isi record tabel penyewa.
34
55.Tampilkan isi record hanya field Nama, Jaminan, Member dari tabel
registrasi, serta buat alias Bonus dengan keterangan Member lebih dari 2
mendapatkan bonus “Air Mineral” selain dari itu tidak dapat bonus.
35
Daftar Pustaka
Hadi Zakaria, 2017, Perancangan Aplikasi Penjualan dan Penyewaan Mobil
Berbasis Web Menggunakan Model Waterfall Pada CV.Dhiyara Anugrah,
Universitas Pamulang.
Ari S, Jepri S, Nurpadilah, 2017, Laporan Analisis dan Perancangan Sistem
“Rental Mobil”, Universitas Mercu Buana.
Dwi Aprian Teodorus, 2008, Sistem Informasi Penyewaan Kendaraan,
Unversitas Sanata Dharma Yogyakarta.
M.Hisyam A, Anita D, 2018, Rancangam Bangun Sistem Informai
Penyewaan Mobil Sulaiman Rent Car, Universitas Budi Luhur.
Yogi R, 2018, Aplikasi Pencarian dan Penyewaan Rental Mobil, Universitas
Islam Indonesia.
Rizwan H, 2015, Sitem Informai Pada Rental Mobil Ifka
Indramayu,Universitas Komputer Indonesia.
Ganda G, 2015, Sistem Informai Mobil Di CV.Roony Rent Car Cimahi,
Universitas Komputer Indonesia.
Redha Putra, 2015, Sistem Informasi Penyewaan Mobil dan Layanan Jasa
Pengemudi Berbasis Web (Studi kasus : Driver_BDG).
36