BAB III PEMBAHASAN - repository.bsi.ac.id · Berkah Altama Rent Car Bekasi merupakan perusahaan...
Transcript of BAB III PEMBAHASAN - repository.bsi.ac.id · Berkah Altama Rent Car Bekasi merupakan perusahaan...
19
BAB III
PEMBAHASAN
1.1. Tinjauan Perusahaan
Berkah Altama Rent Car Bekasi merupakan perusahaan jasa yang bergerak
dibidang penyewaaan mobil, berlokasi di Jl. Beringin Putih Wisma Asri Rt.10/28
Jalur 2 (09B) Bekasi dimana sistem yang digunakan masih sistem yang bersifat
manual.
1.1.1. Sejarah Perusahaan
Berkah Altama Rent Car Bekasi adalah rental 24 jam yang berdiri pada tahun
2015 dan merupakan cabang ketiga dari Berkah Altama Rent Car yang pertama
dibentuk pada tahun 2004 oleh Bapak Kombes Heru Suprihasto
(No.SIUP.571/23/PK/B/BPPT/V/2006).
Berkah Altama Rent Car Bekasi saat ini memiliki 18 unit mobil yang siap
untuk dioperasikan dan bengkel beserta steam sendiri yang juga dibuka untuk umum.
Adapun visinya menjadikan Berkah Altama Rent Car Bekasi sebagai
perusahaan sewa mobil atau rental terpercaya, maju dan modern dengan
mengutamakan kepuasaan pelanggan. Dan misi mampu bersaing secara global
berdasarkan kompetensi pengadaan armada dan pengemudi serta operator dengan
pelayanan standar pariwisata sewa mobil di bekasi.
1.1.2. Struktur Organisasi dan Fungsi
Dibawah ini adalah struktur organisasi pada Berkah Altama Rent Car Bekasi:
20
Sumber: Berkah Altama Rent Car Bekasi
Gambar III.1
Struktur Organisasi
Adapun fungsi dari struktur organisasi diatas sebagai berikut:
1. Owner
Membiayai seluruh modal perusahaan, menentukan persyaratan dan pelaksanaan
administrasi, memberikan semua intruksi melalui direktur baik secara langsung
maupun secara tidak langsung, menolak atau menerima laporan dari direktur dan
meminta laporan serta penjelasan tentang pelaksanaan kepada direktur baik
secara lisan maupun secara tertulis.
Owner
Direktur
Operasional
Driver Mekanik Kebersihan
21
2. Direktur
Memimpin perusahaan dengan menerbitkan kebijakan-kebijakan perusahaan,
memilih, menetapkan, mengawasi tugas dari seorang karyawan, dan
menyampaikan laporan kepada pemegang saham (owner) atas kinerja
perusahaan.
3. Operasional
Bertanggung jawab untuk memastikan operasional di perusahaan berjalan sebaik
mungkin dengan memberikan pelayanan dan memenuhi harapan para customer
secara efektif dan efisien.
4. Driver
Bertanggung jawab atas mobil yang dikemudikan untuk mengantar customer
sampai ke tempat tujuan, dan memastikan customer yang diantar dan mobil yang
dikendarai kembali dengan aman serta selamat sampai tujuan.
5. Mekanik
Mengidentifikasi komponen utama mesin, melakukan pemeliharaan mesin,
menyiapkaan perlengkapan mekanik, melakukan perbaikan mesin mulai dari
kerusakan ringan hingga berat dan menganalisa serta mengatasi gangguan
mesin.
6. Kebersihan
Bertanggung jawab untuk memastikan kebersihan di lingkungan sekitar
perusahaan, membersihkan mobil yang ada di perusahaan, membantu menjaga
serta memperbaiki sarana dan prasarana perusahaan yang rusak.
22
1.2. Tinjauan Kasus
Dalam tinjauan kasus ini penulis akan menjelaskan dan membahas mengenai
analisa sistem berjalan pada Berkah Altama Rent Car Bekasi.
1.2.1. Proses Bisnis Sistem Berjalan
Customer datang ke Berkah Altama Rent Car Bekasi, lalu operasional
memberikan price list yang berisi harga dari setiap jenis mobil. Setelah melihat price
list, customer dapat memilih mobil yang diinginkan dan melakukan penyewaan
mobil.
Jika customer baru, harus melampirkan fotocopy SIM, KTP beserta KK
kemudian operasional akan melakukan survei terlebih dahulu apakah customer layak
untuk melakukan penyewaan atau tidak. Jika layak maka customer dapat melakukan
penyewaan mobil dengan melakukan pembayaran dan jika tidak layak maka
customer tidak dapat melakukan penyewaan mobil.
Jika customer lama, maka langsung melakukan pembayaran dan operasional
akan membuatkan form sewa beserta kwitansi rangkap 2 lembar (lembar asli
diberikan kepada customer, lembar copy untuk di arsipkan).
Setelah proses pembayaran dilakukan operasional menyerahkan arsip form
sewa beserta kwitansi untuk dilaporkan kepada direktur.
23
1.2.2. Activity Diagram
Gambar III.2
Activity Diagram Proses Bisnis Sistem Berjalan
24
1.2.3. Dokumen Masukan
Dokumen masukan adalah segala bentuk masukan yang berupa dokumen
yang diolah dalam proses yang dapat menghasilkan keluaran atau output.
1. Nama Dokumen : Price List
Fungsi : Sebagai Daftar Harga Mobil
Sumber : Operasional
Tujuan : Customer
Media : Kertas
Jumlah : Satu Lembar
Frekuensi : Setiap Ada Customer
Format : Lampiran A.1
2. Nama Dokumen : Fotocopy Surat Izin Mengemudi (SIM)
Fungsi : Sebagai Persyaratan Penyewaan Mobil
Sumber : Customer
Tujuan : Operasional
Media : Kertas
Jumlah : Satu Lembar
Frekuensi : Setiap Ada Customer Baru
Format : Lampiran A.2
3. Nama Dokumen : Fotocopy Kartu Tanda Penduduk (KTP)
Fungsi : Sebagai Persyaratan Penyewaan Mobil
Sumber : Customer
Tujuan : Operasional
Media : Kertas
Jumlah : Satu Lembar
25
Frekuensi : Setiap Ada Customer Baru
Format : Lampiran A.3
4. Nama Dokumen : Fotocopy Kartu Keluarga (KK)
Fungsi : Sebagai Persyaratan Penyewaan Mobil
Sumber : Customer
Tujuan : Operasional
Media : Kertas
Jumlah : Satu Lembar
Frekuensi : Setiap Ada Customer Baru
Format : Lampiran A.4
1.2.4. Dokumen Keluaran
Dokumen keluaran adalah dokumen yang dihasilkan dari proses.
Nama Dokumen : Form Sewa & Kwitansi
Fungsi : Sebagai Bukti Penyewaan Mobil
Sumber : Operasional
Tujuan : Customer
Media : Kertas
Jumlah : Dua Lembar
Frekuensi : Setiap Ada Penyewaan
Format : Lampiran B.1
26
1.2.5. Permasalahan Pokok
Dalam proses penyewaan mobil yang terjadi di Berkah Altama Rent Car
bekasi sistem yang digunakan masih menggunakan sistem secara manual yang dapat
menghambat dan memperlambat kinerja perusahaan sehingga menjadi tidak efektif
dan efisien.
Pengolahan data yang dilakukan secara manual akan menimbulkan beberapa
masalah seperti kesalahan atau kecurangan dalam pencatatan transaksi,
membutuhkan waktu yang cukup lama dalam pencarian data, membutuhkan media
penyimpanan yang banyak dan resiko kehilangan data jauh lebih besar karena masih
berbentuk arsip serta kesulitan dalam pembuatan laporan.
1.2.6. Pemecahan Masalah
Untuk memecahkan masalah yang ada di Berkah Altama Rent Car Bekasi
khususnya untuk mengelola penyewaan mobil, seperti halnya yang dijelaskan pada
Tugas Akhir ini, hendaknya perusahaan tersebut menggunakan sistem yang telah
terkomputerisasi untuk memperoleh informasi yang cepat, tepat, akurat serta dapat
mempermudah pengawasan terhadap kegiatan yang berlangsung sehingga
kemungkinan adanya kesalahan sangat kecil.
27
1.3. Analisis Kebutuhan Software
Analisis kebutuhan software merupakan langkah awal untuk menentukan
gambaran perangkat yang akan dihasilkan ketika pengembang melaksanakan sebuah
proyek pembuatan perangkat lunak.
1.3.1. Analisis Kebutuhan
1. Halaman Direktur:
A.1. Direktur dapat melakukan login
A.2. Direktur dapat membuka menu master
A.3. Direktur dapat mengolah data user
A.4. Direktur dapat mengolah data tarif supir
A.5. Direktur dapat mengolah data mobil
A.6. Direktur dapat mengolah data kondisi mobil
A.7. Direktur dapat mengolah data perkiraan
A.8. Direktur dapat mengolah data penyewa
A.9. Direktur dapat membuka menu transaksi
A.10. Direktur dapat mengolah data penyewaan
A.11. Direktur dapat mengolah data pengembalian
A.12. Direktur dapat mengolah data jurnal
A.13. Direktur dapat membuka menu laporan
A.14. Direktur dapat melihat laporan penyewaan
A.15. Direktur dapat melihat laporan pengembalian
A.16. Direktur dapat melihat laporan master
A.17. Direktur dapat melihat laporan jurnal
A.18. Direktur dapat membuka menu pengaturan
28
A.19. Direktur dapat mengolah ganti password
A.20. Direktur dapat melakukan logout
A.21. Direktur dapat membuka menu about
A.22. Direktur dapat melihat tentang kami
A.23. Direktur dapat melihat ketentuan
A.24. Direktur dapat melakukan keluar
2. Halaman Operasional:
B.1. Operasional dapat melakukan login
B.2. Operasional dapat membuka menu master
B.3. Operasional dapat mengolah data kondisi mobil
B.4. Operasional dapat mengolah data perkiraan
B.5. Operasional dapat mengolah data penyewa
B.6. Operasional dapat membuka menu transaksi
B.7. Operasional dapat mengolah data penyewaan
B.8. Operasional dapat mengolah data pengembalian
B.9. Operasional dapat mengolah data jurnal
B.10. Operasional dapat membuka menu pengaturan
B.11. Operasional dapat mengolah ganti password
B.12. Operasional dapat melakukan logout
B.13. Operasional dapat membuka menu about
B.14. Operasional dapat melihat tentang kami
B.15. Operasional dapat melihat ketentuan
B.16. Operasional dapat melakukan keluar
29
1.3.2. Use Case Diagram
1. Use Case Diagram Halaman Direktur
Gambar III.3
Use Case Diagram Halaman Direktur
30
Tabel III.1
Deskripsi Use Case Diagram Halaman Direktur
Use Case Narative Halaman Direktur
Tujuan Direktur dapat melakukan login, mengolah dan
melihat data yang ada di menu master, menu
transaksi, menu laporan, menu pengaturan, menu
about serta melakukan logout.
Deskripsi Sistem ini memungkinkan aktor untuk mengelola
sistem penyewaan mobil mulai dari input sampai
dengan pembuatan laporan.
Skenario Utama
Aktor Direktur
Kondisi Awal Aktor membuka aplikasi penyewaan mobil
Aksi Aktor Reaksi Sistem
1. Aktor melakukan
Login.
2. Aktor memilih tombol
Menu Master.
3. Aktor memilih tombol
Menu Transaksi
4. Aktor memilih tombol
Menu Laporan.
5. Aktor memilih tombol
Menu Pengaturan.
6. Aktor memilih tombol
Menu About.
7. Aktor memilih tombol
Keluar
Sistem akan menampilkan menu Master, Transaksi,
Laporan, Pengaturan dan About.
Sistem akan menampilkan submenu User, Tarif
Supir, Mobil, Kondisi Mobil Perkiraan, dan
Penyewa.
Sistem akan menampilkan submenu Penyewaan,
Pengembalian dan Jurnal.
Sistem akan menampilkan submenu Laporan
Penyewaan, Laporan Pengembalian, Laporan
Master dan Laporan Jurnal.
Sistem akan menampilkan submenu Ganti
Password dan Logout.
Sistem akan menampilkan submenu Tentang Kami
dan Ketentuan.
Sistem akan keluar dari program penyewaan mobil.
Kondisi Akhir Jika perintah sesuai maka sistem akan
menampilkan seperti yang diinginkan oleh aktor.
31
2. Use Case Diagram Halaman Operasional
Gambar III.4
Use Case Diagram Halaman Operasional
32
Tabel III.2
Deskripsi Use Case Diagram Halaman Operasional
Use Case Narative Halaman Operasional
Tujuan Operasional dapat melakukan login, mengolah dan
melihat data yang ada di menu master, menu
transaksi, menu pengaturan, menu about serta
melakukan logout.
Deskripsi Sistem ini memungkinkan aktor untuk mengelola
sistem penyewaan mobil mulai dari input sampai
dengan pembuatan laporan.
Skenario Utama
Aktor Operasional
Kondisi Awal Aktor membuka aplikasi penyewaan mobil
Aksi Aktor Reaksi Sistem
1. Aktor melakukan
Login.
2. Aktor memilih tombol
Menu Master.
3. Aktor memilih tombol
Menu Transaksi
4. Aktor memilih tombol
Menu Pengaturan.
5. Aktor memilih tombol
Menu About.
6. Aktor memilih tombol
Keluar
Sistem akan menampilkan menu Master, Transaksi,
Pengaturan dan About.
Sistem akan menampilkan submenu Kondisi Mobil
Perkiraan dan Penyewa.
Sistem akan menampilkan submenu Penyewaan,
Pengembalian dan Jurnal.
Sistem akan menampilkan submenu Ganti
Password dan Logout.
Sistem akan menampilkan submenu Tentang Kami
dan Ketentuan.
Sistem akan keluar dari program penyewaan mobil.
Kondisi Akhir Jika perintah sesuai maka sistem akan
menampilkan seperti yang diinginkan oleh aktor.
33
1.3.3. Activity Diagram
1. Activity Diagram Direktur Melakukan Login
Gambar III.5
Activity Diagram Direktur Melakukan Login
34
2. Activity Diagram Direktur Membuka Menu Master
Gambar III.6
Activity Diagram Direktur Membuka Menu Master
35
3. Activity Diagram Direktur Mengolah Data User
Gambar III.7
Activity Diagram Direktur Mengolah Data User
36
4. Activity Diagram Direktur Mengolah Data Tarif Supir
Gambar III.8
Activity Diagram Direktur Mengolah Data Tarif Supir
37
5. Activity Diagram Direktur Mengolah Data Mobil
Gambar III.9
Activity Diagram Direktur Mengolah Data Mobil
38
6. Activity Diagram Direktur Mengolah Data Kondisi Mobil
Gambar III.10
Activity Diagram Direktur Mengolah Data Kondisi Mobil
39
7. Activity Diagram Direktur Mengolah Data Perkiraan
Gambar III.11
Activity Diagram Direktur Mengolah Data Perkiraan
40
8. Activity Diagram Direktur Mengolah Data Penyewa
Gambar III.12
Activity Diagram Direktur Mengolah Data Penyewa
41
9. Activity Diagram Direktur Membuka Menu Transaksi
Gambar III.13
Activity Diagram Direktur Membuka Menu Transaksi
42
10. Activity Diagram Direktur Mengolah Data Penyewaan
Gambar III.14
Activity Diagram Direktur Mengolah Data Penyewaan
43
11. Activity Diagram Direktur Mengolah Data Pengembalian
Gambar III.15
Activity Diagram Direktur Mengolah Data Pengembalian
44
12. Activity Diagram Direktur Mengolah Data Jurnal
Gambar III.16
Activity Diagram Direktur Mengolah Data Jurnal
45
13. Activity Diagram Direktur Membuka Menu Laporan
Gambar III.17
Activity Diagram Direktur Membuka Menu Laporan
46
14. Activity Diagram Direktur Melihat Laporan Penyewaan
Gambar III.18
Activity Diagram Direktur Melihat Laporan Penyewaan
47
15. Activity Diagram Direktur Melihat Laporan Pengembalian
Gambar III.19
Activity Diagram Direktur Melihat Laporan Pengembalian
48
16. Activity Diagram Direktur Melihat Laporan Master
Gambar III.20
Activity Diagram Direktur Melihat Laporan Master
49
17. Activity Diagram Direktur Melihat Laporan Jurnal
Gambar III.21
Activity Diagram Direktur Melihat Laporan Jurnal
50
18. Activity Diagram Direktur Membuka Menu Pengaturan
Gambar III.22
Activity Diagram Direktur Membuka Menu Pengaturan
51
19. Activity Diagram Direktur Mengolah Ganti Password
Gambar III.23
Activity Diagram Direktur Membuka Menu Pengaturan
52
20. Activity Diagram Direktur Membuka Menu About
Gambar III.24
Activity Diagram Direktur Membuka Menu About
53
1.4. Desain
Desain merupakan perencanaan dalam pembuatan sebuah objek, sistem,
komponen atau struktur.
1.4.1. Entity Relationship Diagram (ERD)
Gambar III.25
Entity Relationship Diagram
54
1.4.2. Logical Record Structure (LRS)
Gambar III.25
Logical Record Structure
55
1.4.3. Spesifikasi File
1. Spesifikasi File User
Nama Database : rentcar
Nama File : user
Tipe File : Master
Akses File : Random
Panjang Record : 225 Byte
Field Key : id_user
Tabel III.3
Spesifikasi File User
No Elemen Data Akronim Tipe Panjang Keterangan
1 ID User id_user Varchar 10 Primary key
2 Password password Varchar 10
3 Hak Akses hak_akses Varchar 20
4 Nomor KTP no_ktp Varchar 20
5 Nama name Varchar 35
6 Jenis Kelamin jenkel Varchar 15
7 Telepon telepon Varchar 15
8 Alamat almt Varchar 100
56
2. Spesifikasi File Tarif
Nama Database : rentcar
Nama File : tarif
Tipe File : Master
Akses File : Random
Panjang Record : 51 Byte
Field Key : kd_tarif
Tabel III.4
Spesifikasi File Tarif
No Elemen Data Akronim Tipe Panjang Keterangan
1 Kode Tarif kd_tarif Varchar 20 Primary key
2 Daerah daerah Varchar 20
3 Tarif tarif Integer 11
57
3. Spesifikasi File Mobil
Nama Database : rentcar
Nama File : mobil
Tipe File : Master
Akses File : Random
Panjang Record : 155 Byte
Field Key : kd_mobil
Tabel III.5
Spesifikasi File Mobil
No Elemen Data Akronim Tipe Panjang Keterangan
1 Kode Mobil kd_mobil Varchar 20 Primary key
2 Jenis jenis Varchar 20
3 Type type Varchar 20
4 Warna warna Varchar 20
5 Tahun tahun Varchar 10
6 Nomor Polisi no_polisi Varchar 10
7 Nomor Rangka no_rangka Varchar 20
8 Nomor Mesin no_mesin Varchar 20
9 Biaya biaya Double
10 Status status Varchar 15
58
4. Spesifikasi File Kondisi
Nama Database : rentcar
Nama File : kondisi
Tipe File : Master
Akses File : Random
Panjang Record : 130 Byte
Field Key : -
Tabel III.6
Spesifikasi File Kondisi
No Elemen Data Akronim Tipe Panjang Keterangan
1 Kode Mobil kd_mobil Varchar 20 Foreign key
2 Bensin bensin Varchar 20
3 Kilometer kilometer Varchar 10
4 Body Depan depan Varchar 20
5 Body Belakang belakang Varchar 20
6 Body Kanan kanan Varchar 20
7 Body Kiri kiri Varchar 20
59
5. Spesifikasi File Perkiraan
Nama Database : rentcar
Nama File : perkiraan
Tipe File : Master
Akses File : Random
Panjang Record : 75 Byte
Field Key : kd_perkiraan
Tabel III.7
Spesifikasi File Perkiraan
No Elemen Data Akronim Tipe Panjang Keterangan
1 Kode Perkiraan kd_perkiraan Varchar 20 Primary key
2 Jenis Perkiraan jns_perkiraan Varchar 20
3 Nama Perkiraan nm_perkiraan Varchar 35
60
6. Spesifikasi File Penyewa
Nama Database : rentcar
Nama File : penyewa
Tipe File : Master
Akses File : Random
Panjang Record : 196 Byte
Field Key : nik
Tabel III.8
Spesifikasi File Penyewa
No Elemen Data Akronim Tipe Panjang Keterangan
1 NIK nik Varchar 20 Primary key
2 Nama nama Varchar 35
3 Telepon telp Varchar 15
4 Alamat alamat Varchar 100
5 Jumlah Sewa jml_sewa Integer 11
6 Keterangan keterangan Varchar 15
61
7. Spesifikasi File Sewa
Nama Database : rentcar
Nama File : sewa
Tipe File : Transaksi
Akses File : Random
Panjang Record : 108 Byte
Field Key : no_sewa
Tabel III.9
Spesifikasi File Sewa
No Elemen Data Akronim Tipe Panjang Keterangan
1 Nomor Sewa no_sewa Varchar 20 Primary key
2 Tanggal Transaksi tgl_transaksi Date
3 Jumlah Mobil jml_mobil Integer 11
4 Uang Muka dp Integer 11
5 Kekurangan kurang Integer 11
6 Status Sewa status_sewa Varchar 15
7 NIK nik Varchar 20 Foreign Key
8 ID User id_user Varchar 20 Foreign Key
62
8. Spesifikasi File Detail Sewa
Nama Database : rentcar
Nama File : detail_sewa
Tipe File : -
Akses File : Random
Panjang Record : 103 Byte
Field Key : -
Tabel III.10
Spesifikasi File Detail Sewa
No Elemen Data Akronim Tipe Panjang Keterangan
1 Nomor Sewa no_sewa Varchar 20 Foreign Key
2 Kode Mobil kd_mobil Varchar 20 Foreign Key
3 Kode Tarif kd_tarif Varchar 20 Foreign Key
4 Tanggal Sewa tgl_sewa Date
5 Jam Sewa jam_sewa Integer 11
6 Lama Sewa lama_sewa Double
7 Tanggal Kembali tgl_kembali Date
8 Jam kembali jam_kembali Integer 11
9 Supir supir Varchar 10
10 Subtotal subtotal Integer 11
63
9. Spesifikasi File Kembali
Nama Database : rentcar
Nama File : kembali
Tipe File : Transaksi
Akses File : Random
Panjang Record : 97 Byte
Field Key : no_kembali
Tabel III.11
Spesifikasi File Kembali
No Elemen Data Akronim Tipe Panjang Keterangan
1 Nomor Kembali no_kembali Varchar 20 Primary key
2 Tanggal Transaksi tgl_trans Date
3 Jumlah Mobil jmlh_mobil Integer 11
4 Total Bayar total_bayar Integer 11
5 Status Kembali status_kembali Varchar 15
6 Nomor Sewa no_sewa Varchar 20 Foreign key
7 ID User id_user Varchar 20 Foreign key
64
10. Spesifikasi File Detail Kembali
Nama Database : rentcar
Nama File : detail_kembali
Tipe File : -
Akses File : Random
Panjang Record : 82 Byte
Field Key : -
Tabel III.12
Spesifikasi File Detail Kembali
No Elemen Data Akronim Tipe Panjang Keterangan
1 Nomor Kembali no_kembali Varchar 20 Foreign Key
2 Denda Telat denda_telat Integer 11
3 Denda Kondisi denda_kondisi Integer 11
4 Kondisi kondisi Varchar 40
65
11. Spesifikasi File Jurnal
Nama Database : rentcar
Nama File : jurnal
Tipe File : Transaksi
Akses File : Random
Panjang Record : 40 Byte
Field Key : no_jurnal
Tabel III.13
Spesifikasi File Jurnal
No Elemen Data Akronim Tipe Panjang Keterangan
1 Nomor Jurnal no_jurnal Varchar 20 Primary key
2 Tanggal tanggal Date
3 ID User id_user Varchar 20 Foreign key
66
12. Spesifikasi File Detail Jurnal
Nama Database : rentcar
Nama File : detail_jurnal
Tipe File : -
Akses File : Random
Panjang Record : 117 Byte
Field Key : -
Tabel III.14
Spesifikasi File Detail Jurnal
No Elemen Data Akronim Tipe Panjang Keterangan
1 Nomor Jurnal no_jurnal Varchar 20 Foreign Key
2 Kode Perkiraan kd_perkiraan Varchar 20 Foreign Key
3 Nomor Transaksi no_trans Varchar 20
4 Nama Transaksi nama_trans Varchar 35
5 Debet debet Integer 11
6 Kredit kredit Integer 11
67
1.4.4. Sequence Diagram
1. Sequence Diagram Transaksi Penyewaan
Gambar III.27
Sequence Diagram Transaski Penyewaan
68
2. Sequence Diagram Transaksi Pengembalian
Gambar III.28
Sequence Diagram Transaski Pengembalian
69
1.4.5. Deployment Diagram
Gambar III.29
Deployment Diagram
1.4.6. User Interface
1. Form Login
Login merupakan tampilan awal ketika pertama kali program dijalankan.
Sebelum masuk ke menu utama, user atau pengguna diharuskan untuk login
dengan memasukkan username dan password.
Gambar III.30
Form Login
70
2. Form Menu Master
Menu master digunakan untuk mengakses User, Tarif Supir, Mobil, Kondisi
Mobil, Perkiraan dan Penyewa.
Gambar III.31
Form Menu Master
3. Form User
User digunakan untuk mengolah data user atau pengguna yang akan
menjalankan program.
Gambar III.32
Form User
71
4. Form Tarif Supir
Tarif supir digunakan untuk mengolah data tarif bagi customer yang ingin
menggunakan jasa supir.
Gambar III.33
Form Tarif Supir
5. Form Mobil
Mobil digunakan untuk mengolah data mobil yang akan disewakan.
Gambar III.34
Form Mobil
72
6. Form Kondisi Mobil
Kondisi mobil digunakan untuk mengolah data kondisi dari mobil yang akan
disewakan.
Gambar III.35
Form Kondisi Mobil
7. Form Perkiraan
Perkiraan digunakan untuk mengolah data perkiraan pada pembuatan jurnal.
Gambar III.36
Form Perkiraan
73
8. Form Penyewa
Penyewa digunakan untuk mengolah data penyewa atau customer yang akan
melakukan penyewaan.
Gambar III.37
Form Penyewa
9. Form Menu Transaksi
Menu transaksi digunakan untuk mengakses Penyewaan, Pengembalian dan
Jurnal.
Gambar III.38
Form Menu Transaksi
74
10. Form Penyewaan
Penyewaan digunakan untuk mengolah transaksi penyewaan mobil.
Gambar III.39
Form Penyewaan
11. Form Pengembalian
Pengembalian digunakan untuk mengolah transaksi pengembalian mobil.
Gambar III.40
Form Pengembalian
75
12. Form Jurnal
Jurnal digunakan untuk mengolah data jurnal.
Gambar III.41
Form Jurnal
13. Form Menu Laporan
Menu laporan digunakan untuk mengakses Laporan Penyewaan, Laporan
Pemgembalian, Laporan Master dan Laporan Jurnal.
Gambar III.42
Form Menu Laporan
76
14. Form Laporan Penyewaan
Laporan penyewaan digunakan untuk melihat laporan transaksi penyewaan
mobil.
Gambar III.43
Form Laporan Penyewaan
15. Form Laporan Pengembalian
Laporan pengembalian digunakan untuk melihat laporan transaksi pengembalian
mobil.
Gambar III.44
Form Laporan Pengembalian
77
16. Form Laporan Master
Laporan master digunakan untuk melihat laporan data yang terdapat di menu
master.
Gambar III.45
Form Laporan Master
17. Form Laporan Jurnal
Laporan jurnal digunakan untuk melihat laporan data jurnal.
Gambar III.46
Form Laporan Jurnal
78
18. Form Menu Pengaturan
Menu pengaturan digunakan untuk mengakses Ganti Password dan Logout.
Gambar III.47
Form Menu Pengaturan
19. Form Ganti Password
Ganti Password digunakan untuk mengubah password user atau pengguna.
Gambar III.48
Form Ganti Password
79
20. Form Logout
Logout digunakan untuk keluar dan kembali ke login.
Gambar III.49
Form Logout
21. Form Menu About
Menu about digunakan untuk mengakses Tentang Kami dan Ketentuan.
Gambar III.50
Form Menu About
80
22. Form Tentang Kami
Tentang kami digunakan untuk melihat tentang Berkah Altama Rent Car Bekasi.
Gambar III.51
Form Tentang Kami
23. Form Ketentuan
Ketentuan digunakan untuk melihat ketentuan dari penyewaan mobil.
Gambar III.52
Form Ketentuan
81
1.5. Implementasi
Implementasi merupakan tahap penerapan sistem yang akan dilakukan jika
sistem disetujui termasuk program yang telah dibuat pada tahap perancangan sistem
agar siap untuk dioperasikan.
1.5.1. Code Generation
FormPenyewaan.java /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package Form; import Form.koneksi; import java.awt.event.KeyEvent; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JOptionPane; import javax.swing.JTextField; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableModel; import net.sf.jasperreports.engine.JasperFillManager; import net.sf.jasperreports.engine.JasperPrint; import net.sf.jasperreports.engine.JasperReport; import net.sf.jasperreports.engine.design.JasperDesign; import net.sf.jasperreports.view.JasperViewer; public class FormPenyewaan extends javax.swing.JFrame { koneksi kon = new koneksi(); String tglpinjam; String tglkembali; private Object [][] datamobil=null; private String[]labelmobil={"Kode Mobil","Biaya","Tgl Sewa","Jam Sewa","Lama Sewa","Tgl Kembali","Jam Kembali","Subtotal"}; private Object [][] datalama=null; private String[]labellama={"Kode Mobil","Tanggal Sewa","Tanggal Kemabali"}; private Object [][] datapjm=null; private String[]labelpjm={"No. Sewa","NIK","Tanggal Kembali","Jam Kembali"}; public FormPenyewaan() { initComponents(); tanggal(); bulan(); tahun(); nonaktif(); bersihtabellama(); bersihtabelmobil(); tglpinjam(); sembunyi(); tbaris.setText("0"); txtsupir.setText("PILIH"); cmdtambah.setEnabled(true); cmdtutup.setEnabled(true);
82
kon.setKoneksi(); tabelPenyewaan(); } public String nik; public String getnik() { return nik; } public String nama; public String getnama() { return nama; } public String telp; public String gettelp() { return telp; } public String alamat; public String getalamat() { return alamat; } //Data Kendaraan public String kd_mobil; public String getkd_mobil() { return kd_mobil; } public String jenis; public String getjenis() { return jenis; } public String no_polisi; public String getno_polisi() { return no_polisi; } public String biaya; public String getbiaya() { return biaya; } public String bensin; public String getbensin() { return bensin; } public String kilo; public String getkilo() { return kilo; } public String depan; public String getdepan() { return depan; } public String belakang; public String getbelakang() { return belakang; } public String kanan; public String getkanan() { return kanan; } public String kiri; public String getkiri() { return kiri; } public String status; public String getstatus() { return status; } //Data Tarif public String daerah; public String getdaerah() { return daerah; } public String tarif; public String gettarif() { return tarif; } void filterangka(java.awt.event.KeyEvent b) { if (Character.isDigit(b.getKeyChar())) { b.consume();
83
} } private void sembunyi(){ tbaris.setVisible(false); tbaris1.setVisible(false); tahun.setVisible(false); bulan.setVisible(false); tanggal.setVisible(false); txttothar.setVisible(false); txttothar2.setVisible(false); txttarif2.setVisible(false); txtsupir.setVisible(false); txtpinjam.setVisible(false); txttgl.setVisible(false); txtkembali.setVisible(false); txtiduser.setVisible(false); txtkosong.setVisible(false); txtstatus.setVisible(false); txtbersihtabel.setVisible(false); txtambilno.setVisible(false); txtnmuser.setVisible(false); } private void kalender(){ Date now = new Date(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd MMM yyyy"); //kalau tahun, bulan , tanggal = yyyy-MM-dd String tgl = simpleDateFormat.format(now); } void aktif() { txtnik.setEnabled(true); cmbsupir.setEnabled(true); cmdtarif.setEnabled(true); cmdtambah.setEnabled(true); cmdbatal.setEnabled(true); cmdsimpan.setEnabled(true); } private void nonaktif() { cmdcari.setEnabled(false); cmdinput.setEnabled(false); cmdbatal.setEnabled(false); cmdsimpan.setEnabled(false); cmdtambah.setEnabled(false); cmdtutup.setEnabled(false); cmbsupir.setEnabled(false); cmdtarif.setEnabled(false); cmdnik.setEnabled(false); txtno.setEnabled(false); txttgl.setEnabled(false); txtnik.setEnabled(false); txtnama.setEnabled(false); txttelp.setEnabled(false); txtalmt.setEnabled(false); txtnopol.setEnabled(false); txtbiaya.setEnabled(false); txtkode.setEnabled(false); txtjenis.setEnabled(false); txtbensin.setEnabled(false); txtkilo.setEnabled(false); txtjampmb.setEnabled(false); txtdepan.setEnabled(false); txtblkg.setEnabled(false); txtkanan.setEnabled(false); txtkiri.setEnabled(false); txtjampmj.setEnabled(false); txtlamasewa.setEnabled(false); jdcpmb.setEnabled(false); jdcpmj.setEnabled(false); txttotal.setEnabled(false); txtukem.setEnabled(false); txtubay.setEnabled(false); txttrans.setEnabled(false); txttarif.setEnabled(false);
84
txtdp.setEnabled(false); txtkurang.setEnabled(false); } private void Bersih() { txtno.setText(""); txttrans.setText(""); txtnik.setText(""); txtnama.setText(""); txttelp.setText(""); txtalmt.setText(""); txttarif.setText(""); txtkode.setText(""); txtjenis.setText(""); txtnopol.setText(""); txtbiaya.setText(""); txtbensin.setText(""); txtdepan.setText(""); txtblkg.setText(""); txtkiri.setText(""); txtkanan.setText(""); txtjampmj.setText(""); txtlamasewa.setText(""); jdcpmj.setDate(null); jdcpmb.setDate(null); txttothar.setText(""); txttotal.setText(""); txtubay.setText(""); txtdp.setText(""); txtkurang.setText(""); txtukem.setText(""); tbaris.setText(""); txtkilo.setText(""); txtjampmb.setText(""); } private void tgl(){ String tampilan = "yyyy-MM-dd"; SimpleDateFormat format = new SimpleDateFormat(tampilan); String tanggal = String.valueOf(format.format(jdcpmj.getDate())); txtpinjam.setText(tanggal); } void setTanggal() { Date now = new Date(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); String settgl = simpleDateFormat.format(now); txttrans.setText(settgl); } private void tanggal(){ Date now = new Date(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd"); String tgl = simpleDateFormat.format(now); tanggal.setText(tgl); } private void tahun(){ Date now = new Date(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yy"); //kalau tahun, bulan , tanggal = yyyy-MM-dd String thn = simpleDateFormat.format(now); tahun.setText(thn); } private void bulan(){ Date now = new Date(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM"); String bln = simpleDateFormat.format(now); bulan.setText(bln); } private void otomatis() { String thn = tahun.getText().substring(0, 2); String bln = bulan.getText().toString().substring(0,2); String tgl = tanggal.getText().toString().substring(0, 2); String kode = (thn.substring(0, 2)+bln.substring(0,2)+tgl.substring(0,2)); try { kon.setKoneksi(); String sql = "Select max(right(no_sewa,3)) as no From sewa"; Statement stmt = kon.conn.createStatement(); ResultSet rs = stmt.executeQuery(sql);
85
while (rs.next()) { if (rs.first() == false) { txtno.setText("SEW"+kode); } else { rs.last(); int auto_id = rs.getInt(1) + 1; String no = String.valueOf(auto_id); int noLong = no.length(); for (int a = 0; a < 3 - noLong; a++) { no = "0" + no; } txtno.setText("SEW" +kode+ no); String baca="select*from sewa where no_sewa In(Select Max(no_sewa)from sewa) order by no_sewa desc"; kon.rs=kon.st.executeQuery(baca); while(kon.rs.next()) { txtambilno.setText(kon.rs.getString("no_sewa")); String ambil = txtambilno.getText().substring(9,12); //--Penomoran ketika bernilai maksimal 999 maka akan berulang ke 001 int ambil2 = Integer.parseInt(ambil); if(ambil2 == 999){ int auto = 000 + 1; String nomor = String.valueOf(auto); int noLong2 = nomor.length(); for(int b=0;b<3-noLong2;b++){ nomor= "0"+nomor; } txtno.setText("SEW"+kode+nomor); //--Penomoran ketika nilainya berisikan 1 sampai 998 dia akan bertambah 1 }else if(ambil2 > 0 && ambil2 < 999){ int auto = ambil2+1; String nomor = String.valueOf(auto); int noLong2 = nomor.length(); for(int b=0;b<3-noLong2;b++){ nomor= "0"+nomor; } txtno.setText("SEW"+kode+nomor); } } } } rs.close(); stmt.close(); } catch (Exception e) { JOptionPane.showMessageDialog(this, "Error" + e.toString(), "Kesalahan", JOptionPane.WARNING_MESSAGE); } } public JTextField getTxtiduser() { return txtiduser; } void tabellama() { try { String sql="select*from detail_sewa where nik='" + txtnik.getText() + "' and status_sewa='"+ txtkosong.getText()+"'"; kon.rs=kon.st.executeQuery(sql); ResultSetMetaData m=kon.rs.getMetaData(); int kolom=m.getColumnCount(); int baris=0; while(kon.rs.next()) { baris=kon.rs.getRow(); } datalama=new Object[baris][kolom]; int x=0; kon.rs.beforeFirst(); while(kon.rs.next()) { datalama[x][0]=kon.rs.getString("kd_mobil"); datalama[x][1]=kon.rs.getString("tgl_sewa"); datalama[x][2]=kon.rs.getString("tgl_kembali"); x++; } tbl_lama.setModel(new DefaultTableModel(datalama,labellama)); } catch(SQLException e){ JOptionPane.showMessageDialog(null, e); } }
86
void tabelPenyewaan() { try { String pinjam = ""; String sql="select*from detail_sewa where status_sewa='" + pinjam + "'"; kon.rs=kon.st.executeQuery(sql); ResultSetMetaData m=kon.rs.getMetaData(); int kolom=m.getColumnCount(); int baris=0; while(kon.rs.next()) { baris=kon.rs.getRow(); } datapjm=new Object[baris][kolom]; int x=0; kon.rs.beforeFirst(); while(kon.rs.next()) { datapjm[x][0]=kon.rs.getString("no_sewa"); datapjm[x][1]=kon.rs.getString("nik"); datapjm[x][2]=kon.rs.getString("tgl_kembali"); datapjm[x][3]=kon.rs.getString("jam_kembali"); x++; } tbl_pinjam.setModel(new DefaultTableModel(datapjm,labelpjm)); } catch(SQLException e){ JOptionPane.showMessageDialog(null, e); } } void tabelBersih(){ try { String sql="select*from detail_sewa where nik='" + txtno.getText() + "' and status_sewa='"+ txtbersihtabel.getText()+"'"; kon.rs=kon.st.executeQuery(sql); ResultSetMetaData m=kon.rs.getMetaData(); int kolom=m.getColumnCount(); int baris=0; while(kon.rs.next()) { baris=kon.rs.getRow(); } datalama=new Object[baris][kolom]; int x=0; kon.rs.beforeFirst(); while(kon.rs.next()) { datalama[x][0]=kon.rs.getString("kd_mobil"); datalama[x][1]=kon.rs.getString("jenis"); datalama[x][2]=kon.rs.getString("no_polisi"); x++; } tbl_lama.setModel(new DefaultTableModel(datalama,labellama)); } catch(SQLException e){ JOptionPane.showMessageDialog(null, e); } } private void tglpinjam() { Date now = new Date(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); String tgl = simpleDateFormat.format(now); txttgl.setText(tgl); } private void lamapmj(){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String lama = txtlamasewa.getText(); Float tambah = lama ==null || lama.isEmpty() ? 0 : Float.parseFloat(lama); // int tambah = Integer.parseInteger(txtlamasewa.getText()); Date tgl = jdcpmj.getDate(); Calendar calTambah = Calendar.getInstance(); calTambah.setTime(tgl); calTambah.add(Calendar.DAY_OF_MONTH, (int) (float) tambah);
87
txtkembali.setText(sdf.format(calTambah.getTime())); jdcpmb.setDate((calTambah.getTime())); } public void bersihtabellama() { DefaultTableModel lama = (DefaultTableModel) tbl_lama.getModel(); int baris = tbl_lama.getRowCount(); for (int a = 0; a < baris; a++) { lama.removeRow(0); } } public void bersihtabelmobil() { DefaultTableModel mobil = (DefaultTableModel) tbl_mobil.getModel(); int baris = tbl_mobil.getRowCount(); for (int a = 0; a < baris; a++) { mobil.removeRow(0); } } void rubahstatus() { try{ int jumlahbaris = tbl_mobil.getRowCount(); int jumlahmobil; String kode; int kurangi = 0; TableModel tabelModel; tabelModel = tbl_mobil.getModel(); for(int i=0;i<jumlahbaris;i++) { kode = (String)tabelModel.getValueAt(i, 0); String sql="select*from mobil where kd_mobil='" + kode + "'"; kon.rs=kon.st.executeQuery(sql); if(kon.rs.next()) { String kdmobil = kode; jumlahmobil = Integer.parseInt(tabelModel.getValueAt(i, 4).toString()); String xyz="Update mobil set status='"+ "PINJAM" + "'where kd_mobil='"+ kdmobil +"'"; kon.st.executeUpdate(xyz); String abc="Update kondisi set status='"+ "PINJAM" + "'where kd_mobil='"+ kdmobil +"'"; kon.st.executeUpdate(abc); } } } catch(SQLException e) { System.out.println("koneksi gagal"+ e.toString()); } } private void sumbanyak() { DefaultTableModel biaya = (DefaultTableModel) tbl_mobil.getModel(); int jumlah = biaya.getRowCount(); long txtongkos = 0; for (int i = 0; i < jumlah; i++) { int s = Integer.valueOf(biaya.getValueAt(i, 7).toString()); txtongkos = txtongkos + s; } txttotal.setText(String.valueOf(txtongkos)); } void hapus1() { int row=tbl_mobil.getSelectedRow(); try { String sql="Delete from cadangan where kd_mobil='"+txtkode.getText()+"'"; kon.st.executeUpdate(sql); isitabelsementara(); } catch(SQLException e){ JOptionPane.showMessageDialog(null, e); } } void isiSupir() { cmbsupir.addItem("=PILIH=");
88
cmbsupir.addItem("Ya"); cmbsupir.addItem("Tidak"); } void SimpanSementara() { try { String sql="insert into cadangan values('"+txtnik.getText()+ "','" +txtkode.getText()+ "','"+txtbiaya.getText()+ "','"+txtpinjam.getText()+ "','"+txtjampmj.getText()+ "','"+txtlamasewa.getText()+ "','"+txtkembali.getText()+ "','"+txtjampmb.getText()+ "','"+txtsupir.getText()+ "','"+txttarif2.getText()+ "','"+txttothar2.getText()+ "')"; kon.st.executeUpdate(sql); isitabelsementara(); } catch(SQLException e){ JOptionPane.showMessageDialog(null,e); } } void isitabelsementara() { try { String sql="Select*From cadangan order by nik"; kon.rs=kon.st.executeQuery(sql); ResultSetMetaData m=kon.rs.getMetaData(); int kolom=m.getColumnCount(); int baris=0; while(kon.rs.next()) { baris=kon.rs.getRow(); } datamobil=new Object[baris][kolom]; int x=0; kon.rs.beforeFirst(); while(kon.rs.next()) { datamobil[x][0]=kon.rs.getString("kd_mobil"); datamobil[x][1]=kon.rs.getString("biaya"); datamobil[x][2]=kon.rs.getString("tgl_sewa"); datamobil[x][3]=kon.rs.getString("jam_sewa"); datamobil[x][4]=kon.rs.getString("lama_sewa"); datamobil[x][5]=kon.rs.getString("tgl_kembali"); datamobil[x][6]=kon.rs.getString("jam_kembali"); datamobil[x][7]=kon.rs.getString("subtotal"); x++; } tbl_mobil.setModel(new DefaultTableModel(datamobil,labelmobil)); } catch(SQLException e){ JOptionPane.showMessageDialog(null, e); } } void buattabelsementara() { try{ kon.setKoneksi(); String bikin="create table cadangan(" + "nik varchar(15)," + "kd_mobil varchar(15)," + "biaya int(11)," + "tgl_sewa date," + "jam_sewa int(11)," + "lama_sewa double," + "tgl_kembali date," + "jam_kembali int(11)," + "supir varchar(10)," + "biaya_supir int(11)," + "subtotal int(11))"; kon.st.execute(bikin); isitabelsementara(); }catch(SQLException e)
89
{} } void hapustabelsementara() { try{ kon.setKoneksi(); String hapus="drop table if exists cadangan"; kon.st.execute(hapus); }catch(SQLException e) {} } void jumbaris1() { int jumlahbaris1 = tbl_lama.getRowCount(); TableModel tabelModel; tabelModel = tbl_lama.getModel(); tbaris1.setText(String.valueOf(jumlahbaris1)); } void jumbaris() { int jumlahbaris = tbl_mobil.getRowCount(); TableModel tabelModel; tabelModel = tbl_mobil.getModel(); int a = Integer.parseInt(tbaris1.getText()); int b = Integer.parseInt(tbaris.getText()); int totbar2 = a + b; tbaris.setText(String.valueOf(totbar2)); } void datamobil() { boolean closable = true; DaftarKondisi dataMobil = new DaftarKondisi(null, closable); dataMobil.mobil = this; dataMobil.setVisible(true); dataMobil.setResizable(true); } void datatarif() { boolean closable = true; DaftarTarif dataTarif = new DaftarTarif(null, closable); dataTarif.tarif = this; dataTarif.setVisible(true); dataTarif.setResizable(true); } private void simpan() { try { String klm = "insert into sewa values('" + txtno.getText() + "','" + txttrans.getText() + "','" + txtnik.getText() + "','" + tbaris.getText() + "','" + txtdp.getText() + "','" + txtkurang.getText() + "','" + txtstatus.getText() + "','" + txtiduser.getText() + "')"; kon.st.executeUpdate(klm); String abc = "insert into detail_sewa select '" +txtno.getText() + "',nik,kd_mobil,tgl_sewa,jam_sewa,lama_sewa,tgl_kembali,jam_kembali,supir,biaya_supir,subtotal,'' from cadangan"; kon.st.executeUpdate(abc); String xyz="Update penyewa set jml_sewa='" + tbaris.getText() +"'"; kon.st.executeUpdate(xyz); JOptionPane.showMessageDialog(null, "Data Berhasil Disimpan"); } catch (SQLException e) { JOptionPane.showMessageDialog(null, e); } } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() {
90
txtiduser = new javax.swing.JTextField(); txtnmuser = new javax.swing.JTextField(); txtbersihtabel = new javax.swing.JTextField(); txtstatus = new javax.swing.JTextField(); txtambilno = new javax.swing.JTextField(); txttothar = new javax.swing.JTextField(); txtsupir = new javax.swing.JTextField(); txttarif2 = new javax.swing.JTextField(); txttothar2 = new javax.swing.JTextField(); jPanel11 = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); jLabel5 = new javax.swing.JLabel(); jLabel6 = new javax.swing.JLabel(); txttelp = new javax.swing.JTextField(); txtno = new javax.swing.JTextField(); txttrans = new javax.swing.JTextField(); txtnik = new javax.swing.JTextField(); txtnama = new javax.swing.JTextField(); jScrollPane1 = new javax.swing.JScrollPane(); txtalmt = new javax.swing.JTextArea(); jScrollPane2 = new javax.swing.JScrollPane(); tbl_lama = new javax.swing.JTable(); tbaris1 = new javax.swing.JTextField(); tbaris = new javax.swing.JTextField(); cmdnik = new javax.swing.JButton(); jPanel12 = new javax.swing.JPanel(); jLabel7 = new javax.swing.JLabel(); jLabel8 = new javax.swing.JLabel(); jLabel9 = new javax.swing.JLabel(); jLabel10 = new javax.swing.JLabel(); jLabel12 = new javax.swing.JLabel(); jLabel13 = new javax.swing.JLabel(); jLabel14 = new javax.swing.JLabel(); jLabel15 = new javax.swing.JLabel(); jLabel16 = new javax.swing.JLabel(); jLabel17 = new javax.swing.JLabel(); jLabel18 = new javax.swing.JLabel(); jLabel19 = new javax.swing.JLabel(); jLabel20 = new javax.swing.JLabel(); jLabel21 = new javax.swing.JLabel(); txtlamasewa = new javax.swing.JTextField(); txtkode = new javax.swing.JTextField(); txtjenis = new javax.swing.JTextField(); txtnopol = new javax.swing.JTextField(); txtbiaya = new javax.swing.JTextField(); txtbensin = new javax.swing.JTextField(); txtkilo = new javax.swing.JTextField(); txtdepan = new javax.swing.JTextField(); txtblkg = new javax.swing.JTextField(); txtkanan = new javax.swing.JTextField(); txtkiri = new javax.swing.JTextField(); txtjampmj = new javax.swing.JTextField(); jdcpmb = new com.toedter.calendar.JDateChooser(); jdcpmj = new com.toedter.calendar.JDateChooser(); jScrollPane3 = new javax.swing.JScrollPane(); tbl_mobil = new javax.swing.JTable(); cmdinput = new javax.swing.JButton(); cmdcari = new javax.swing.JButton(); jLabel24 = new javax.swing.JLabel(); txtjampmb = new javax.swing.JTextField(); jLabel25 = new javax.swing.JLabel(); jLabel26 = new javax.swing.JLabel(); cmbsupir = new javax.swing.JComboBox<>(); cmdtarif = new javax.swing.JButton(); txttarif = new javax.swing.JTextField(); txttgl = new javax.swing.JTextField(); txtpinjam = new javax.swing.JTextField(); txtkembali = new javax.swing.JTextField(); txtkosong = new javax.swing.JTextField(); tahun = new javax.swing.JTextField(); bulan = new javax.swing.JTextField(); tanggal = new javax.swing.JTextField(); jLabel29 = new javax.swing.JLabel(); jPanel13 = new javax.swing.JPanel(); jScrollPane4 = new javax.swing.JScrollPane(); tbl_pinjam = new javax.swing.JTable(); jPanel14 = new javax.swing.JPanel(); jLabel22 = new javax.swing.JLabel(); jLabel23 = new javax.swing.JLabel(); txtukem = new javax.swing.JTextField();
91
txttotal = new javax.swing.JTextField(); txtubay = new javax.swing.JTextField(); jLabel27 = new javax.swing.JLabel(); jLabel28 = new javax.swing.JLabel(); txtdp = new javax.swing.JTextField(); txtkurang = new javax.swing.JTextField(); jLabel11 = new javax.swing.JLabel(); cmdtambah = new GradientButton.ClGradientButton(); cmdsimpan = new GradientButton.ClGradientButton(); cmdbatal = new GradientButton.ClGradientButton(); cmdtutup = new GradientButton.ClGradientButton(); panel21 = new Desain.panel2(); jLabel30 = new javax.swing.JLabel(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); addWindowListener(new java.awt.event.WindowAdapter() { public void windowActivated(java.awt.event.WindowEvent evt) { formWindowActivated(evt); } }); getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); getContentPane().add(txtiduser, new org.netbeans.lib.awtextra.AbsoluteConstraints(1100, 540, 80, -1)); getContentPane().add(txtnmuser, new org.netbeans.lib.awtextra.AbsoluteConstraints(1100, 560, 80, -1)); txtbersihtabel.setText("BERSIH"); getContentPane().add(txtbersihtabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(1020, 540, 80, -1)); getContentPane().add(txtstatus, new org.netbeans.lib.awtextra.AbsoluteConstraints(1020, 520, 80, -1)); getContentPane().add(txtambilno, new org.netbeans.lib.awtextra.AbsoluteConstraints(1020, 560, 80, -1)); getContentPane().add(txttothar, new org.netbeans.lib.awtextra.AbsoluteConstraints(1100, 520, 80, -1)); getContentPane().add(txtsupir, new org.netbeans.lib.awtextra.AbsoluteConstraints(950, 520, 70, -1)); getContentPane().add(txttarif2, new org.netbeans.lib.awtextra.AbsoluteConstraints(950, 540, 70, -1)); getContentPane().add(txttothar2, new org.netbeans.lib.awtextra.AbsoluteConstraints(950, 560, 70, -1)); jPanel11.setBackground(new java.awt.Color(0, 0, 0)); jPanel11.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createTitledBorder(""), "Isi Data Penyewa", javax.swing.border.TitledBorder.LEFT, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Elephant", 0, 12), new java.awt.Color(255, 255, 255))); // NOI18N jPanel11.setForeground(new java.awt.Color(255, 255, 255)); jPanel11.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); jPanel11.setOpaque(false); jPanel11.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); jLabel1.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N jLabel1.setForeground(new java.awt.Color(255, 255, 255)); jLabel1.setText("Alamat"); jPanel11.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(290, 90, -1, -1)); jLabel2.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N jLabel2.setForeground(new java.awt.Color(255, 255, 255)); jLabel2.setText("No. Sewa"); jPanel11.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 30, -1, -1)); jLabel3.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N jLabel3.setForeground(new java.awt.Color(255, 255, 255)); jLabel3.setText("Tgl Transaksi"); jPanel11.add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 60, -1, -1)); jLabel4.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N jLabel4.setForeground(new java.awt.Color(255, 255, 255)); jLabel4.setText("NIK"); jPanel11.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 90, -1, -1)); jLabel5.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N jLabel5.setForeground(new java.awt.Color(255, 255, 255)); jLabel5.setText("Nama"); jPanel11.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(290, 30, -1, -1)); jLabel6.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N jLabel6.setForeground(new java.awt.Color(255, 255, 255)); jLabel6.setText("Telepon"); jPanel11.add(jLabel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(290, 60, -1, -1)); txttelp.addKeyListener(new java.awt.event.KeyAdapter() { public void keyPressed(java.awt.event.KeyEvent evt) { txttelpKeyPressed(evt); } public void keyTyped(java.awt.event.KeyEvent evt) { txttelpKeyTyped(evt); } }); jPanel11.add(txttelp, new org.netbeans.lib.awtextra.AbsoluteConstraints(350, 60, 120, -1)); jPanel11.add(txtno, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 30, 120, -1)); jPanel11.add(txttrans, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 60, 120, -1));
92
txtnik.addKeyListener(new java.awt.event.KeyAdapter() { public void keyPressed(java.awt.event.KeyEvent evt) { txtnikKeyPressed(evt); } }); jPanel11.add(txtnik, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 90, 120, -1)); txtnama.addKeyListener(new java.awt.event.KeyAdapter() { public void keyPressed(java.awt.event.KeyEvent evt) { txtnamaKeyPressed(evt); } public void keyTyped(java.awt.event.KeyEvent evt) { txtnamaKeyTyped(evt); } }); jPanel11.add(txtnama, new org.netbeans.lib.awtextra.AbsoluteConstraints(350, 30, 120, -1)); txtalmt.setColumns(20); txtalmt.setRows(5); txtalmt.addKeyListener(new java.awt.event.KeyAdapter() { public void keyPressed(java.awt.event.KeyEvent evt) { txtalmtKeyPressed(evt); } }); jScrollPane1.setViewportView(txtalmt); jPanel11.add(jScrollPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(350, 90, 120, 80)); tbl_lama.setModel(new javax.swing.table.DefaultTableModel( new Object [][] { }, new String [] { "Kode Mobil", "Tanggal Sewa", "Tanggal Kembali" } )); jScrollPane2.setViewportView(tbl_lama); jPanel11.add(jScrollPane2, new org.netbeans.lib.awtextra.AbsoluteConstraints(480, 30, 310, 140)); jPanel11.add(tbaris1, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 130, 70, -1)); jPanel11.add(tbaris, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 130, 70, -1)); cmdnik.setText("Cari"); cmdnik.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cmdnikActionPerformed(evt); } }); jPanel11.add(cmdnik, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 87, -1, -1)); getContentPane().add(jPanel11, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 60, 800, 180)); jPanel12.setBackground(new java.awt.Color(0, 0, 0)); jPanel12.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createTitledBorder(""), "Isi Data Mobil", javax.swing.border.TitledBorder.LEFT, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Elephant", 0, 12), new java.awt.Color(255, 255, 255))); // NOI18N jPanel12.setForeground(new java.awt.Color(255, 255, 255)); jPanel12.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); jPanel12.setOpaque(false); jPanel12.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); jLabel7.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N jLabel7.setForeground(new java.awt.Color(255, 255, 255)); jLabel7.setText("Jam Kembali"); jPanel12.add(jLabel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(720, 90, -1, -1)); jLabel8.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N jLabel8.setForeground(new java.awt.Color(255, 255, 255)); jLabel8.setText("Kode Mobil"); jPanel12.add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 30, -1, -1)); jLabel9.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N jLabel9.setForeground(new java.awt.Color(255, 255, 255)); jLabel9.setText("Jenis"); jPanel12.add(jLabel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 60, -1, -1)); jLabel10.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N jLabel10.setForeground(new java.awt.Color(255, 255, 255)); jLabel10.setText("No Polisi"); jPanel12.add(jLabel10, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 90, -1, -1)); jLabel12.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
93
jLabel12.setForeground(new java.awt.Color(255, 255, 255)); jLabel12.setText("Body Kiri"); jPanel12.add(jLabel12, new org.netbeans.lib.awtextra.AbsoluteConstraints(260, 150, -1, -1)); jLabel13.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N jLabel13.setForeground(new java.awt.Color(255, 255, 255)); jLabel13.setText("Hari"); jPanel12.add(jLabel13, new org.netbeans.lib.awtextra.AbsoluteConstraints(870, 30, -1, -1)); jLabel14.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N jLabel14.setForeground(new java.awt.Color(255, 255, 255)); jLabel14.setText("Biaya Sewa"); jPanel12.add(jLabel14, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 120, -1, -1)); jLabel15.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N jLabel15.setForeground(new java.awt.Color(255, 255, 255)); jLabel15.setText("Bensin"); jPanel12.add(jLabel15, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 150, -1, -1)); jLabel16.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N jLabel16.setForeground(new java.awt.Color(255, 255, 255)); jLabel16.setText("Tgl Sewa"); jPanel12.add(jLabel16, new org.netbeans.lib.awtextra.AbsoluteConstraints(510, 30, -1, -1)); jLabel17.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N jLabel17.setForeground(new java.awt.Color(255, 255, 255)); jLabel17.setText("Tgl Kembali"); jPanel12.add(jLabel17, new org.netbeans.lib.awtextra.AbsoluteConstraints(720, 60, -1, -1)); jLabel18.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N jLabel18.setForeground(new java.awt.Color(255, 255, 255)); jLabel18.setText("Body Depan"); jPanel12.add(jLabel18, new org.netbeans.lib.awtextra.AbsoluteConstraints(260, 60, -1, -1)); jLabel19.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N jLabel19.setForeground(new java.awt.Color(255, 255, 255)); jLabel19.setText("Body Belakang"); jPanel12.add(jLabel19, new org.netbeans.lib.awtextra.AbsoluteConstraints(260, 90, -1, -1)); jLabel20.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N jLabel20.setForeground(new java.awt.Color(255, 255, 255)); jLabel20.setText("Body Kanan"); jPanel12.add(jLabel20, new org.netbeans.lib.awtextra.AbsoluteConstraints(260, 120, -1, -1)); jLabel21.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N jLabel21.setForeground(new java.awt.Color(255, 255, 255)); jLabel21.setText("Kilometer"); jPanel12.add(jLabel21, new org.netbeans.lib.awtextra.AbsoluteConstraints(260, 30, -1, -1)); txtlamasewa.addKeyListener(new java.awt.event.KeyAdapter() { public void keyPressed(java.awt.event.KeyEvent evt) { txtlamasewaKeyPressed(evt); } public void keyReleased(java.awt.event.KeyEvent evt) { txtlamasewaKeyReleased(evt); } public void keyTyped(java.awt.event.KeyEvent evt) { txtlamasewaKeyTyped(evt); } }); jPanel12.add(txtlamasewa, new org.netbeans.lib.awtextra.AbsoluteConstraints(800, 30, 60, -1)); jPanel12.add(txtkode, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 30, 60, -1)); jPanel12.add(txtjenis, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 60, 120, -1)); jPanel12.add(txtnopol, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 90, 120, -1)); jPanel12.add(txtbiaya, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 120, 120, -1)); txtbensin.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { txtbensinActionPerformed(evt); } }); jPanel12.add(txtbensin, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 150, 120, -1)); jPanel12.add(txtkilo, new org.netbeans.lib.awtextra.AbsoluteConstraints(350, 30, 120, -1)); jPanel12.add(txtdepan, new org.netbeans.lib.awtextra.AbsoluteConstraints(350, 60, 120, -1)); jPanel12.add(txtblkg, new org.netbeans.lib.awtextra.AbsoluteConstraints(350, 90, 120, -1)); jPanel12.add(txtkanan, new org.netbeans.lib.awtextra.AbsoluteConstraints(350, 120, 120, -1)); jPanel12.add(txtkiri, new org.netbeans.lib.awtextra.AbsoluteConstraints(350, 150, 120, -1)); txtjampmj.addKeyListener(new java.awt.event.KeyAdapter() { public void keyPressed(java.awt.event.KeyEvent evt) { txtjampmjKeyPressed(evt); } });
94
jPanel12.add(txtjampmj, new org.netbeans.lib.awtextra.AbsoluteConstraints(580, 60, 120, -1)); jdcpmb.setForeground(new java.awt.Color(102, 102, 255)); jdcpmb.setToolTipText(""); jdcpmb.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { jdcpmbMouseClicked(evt); } }); jdcpmb.addPropertyChangeListener(new java.beans.PropertyChangeListener() { public void propertyChange(java.beans.PropertyChangeEvent evt) { jdcpmbPropertyChange(evt); } }); jPanel12.add(jdcpmb, new org.netbeans.lib.awtextra.AbsoluteConstraints(800, 60, 120, -1)); jdcpmj.setForeground(new java.awt.Color(102, 102, 255)); jdcpmj.setToolTipText(""); jdcpmj.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { jdcpmjMouseClicked(evt); } }); jdcpmj.addPropertyChangeListener(new java.beans.PropertyChangeListener() { public void propertyChange(java.beans.PropertyChangeEvent evt) { jdcpmjPropertyChange(evt); } }); jPanel12.add(jdcpmj, new org.netbeans.lib.awtextra.AbsoluteConstraints(580, 30, 120, -1)); tbl_mobil.setModel(new javax.swing.table.DefaultTableModel( new Object [][] { }, new String [] { "Kode Mobil", "Biaya", "Tgl Sewa", "Jam Sewa", "Lama Sewa", "Tgl Kembali", "Jam Kembali", "Subtotal" } ) { boolean[] canEdit = new boolean [] { true, true, true, false, true, true, true, true }; public boolean isCellEditable(int rowIndex, int columnIndex) { return canEdit [columnIndex]; } }); jScrollPane3.setViewportView(tbl_mobil); jPanel12.add(jScrollPane3, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 230, 890, 90)); cmdinput.setText("Input"); cmdinput.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cmdinputActionPerformed(evt); } }); jPanel12.add(cmdinput, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 190, 870, -1)); cmdcari.setText("Cari"); cmdcari.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cmdcariActionPerformed(evt); } }); jPanel12.add(cmdcari, new org.netbeans.lib.awtextra.AbsoluteConstraints(160, 30, -1, -1)); jLabel24.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N jLabel24.setForeground(new java.awt.Color(255, 255, 255)); jLabel24.setText("Jam Sewa"); jPanel12.add(jLabel24, new org.netbeans.lib.awtextra.AbsoluteConstraints(510, 60, -1, -1)); jPanel12.add(txtjampmb, new org.netbeans.lib.awtextra.AbsoluteConstraints(800, 90, 120, -1)); jLabel25.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N jLabel25.setForeground(new java.awt.Color(255, 255, 255)); jLabel25.setText("Tarif"); jPanel12.add(jLabel25, new org.netbeans.lib.awtextra.AbsoluteConstraints(510, 120, -1, -1)); jLabel26.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N jLabel26.setForeground(new java.awt.Color(255, 255, 255)); jLabel26.setText("Pakai Supir"); jPanel12.add(jLabel26, new org.netbeans.lib.awtextra.AbsoluteConstraints(510, 90, -1, -1)); cmbsupir.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "=PILIH=", "Ya", "Tidak" }));
95
cmbsupir.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cmbsupirActionPerformed(evt); } }); jPanel12.add(cmbsupir, new org.netbeans.lib.awtextra.AbsoluteConstraints(580, 90, -1, -1)); cmdtarif.setText("Cari"); cmdtarif.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cmdtarifActionPerformed(evt); } }); jPanel12.add(cmdtarif, new org.netbeans.lib.awtextra.AbsoluteConstraints(580, 120, -1, -1)); jPanel12.add(txttarif, new org.netbeans.lib.awtextra.AbsoluteConstraints(580, 150, 120, -1)); jPanel12.add(txttgl, new org.netbeans.lib.awtextra.AbsoluteConstraints(780, 120, 60, -1)); jPanel12.add(txtpinjam, new org.netbeans.lib.awtextra.AbsoluteConstraints(780, 140, 60, -1)); jPanel12.add(txtkembali, new org.netbeans.lib.awtextra.AbsoluteConstraints(840, 120, 60, -1)); jPanel12.add(txtkosong, new org.netbeans.lib.awtextra.AbsoluteConstraints(840, 140, 60, -1)); jPanel12.add(tahun, new org.netbeans.lib.awtextra.AbsoluteConstraints(750, 160, 30, -1)); jPanel12.add(bulan, new org.netbeans.lib.awtextra.AbsoluteConstraints(750, 140, 30, -1)); jPanel12.add(tanggal, new org.netbeans.lib.awtextra.AbsoluteConstraints(750, 120, 30, -1)); jLabel29.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N jLabel29.setForeground(new java.awt.Color(255, 255, 255)); jLabel29.setText("Lama Sewa"); jPanel12.add(jLabel29, new org.netbeans.lib.awtextra.AbsoluteConstraints(720, 30, -1, -1)); getContentPane().add(jPanel12, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 250, 930, 340)); jPanel13.setBackground(new java.awt.Color(0, 0, 0)); jPanel13.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createTitledBorder(""), "Data Mobil Belum Dikembalikan", javax.swing.border.TitledBorder.LEFT, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Elephant", 0, 12), new java.awt.Color(255, 255, 255))); // NOI18N jPanel13.setForeground(new java.awt.Color(255, 255, 255)); jPanel13.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); jPanel13.setOpaque(false); jPanel13.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); tbl_pinjam.setModel(new javax.swing.table.DefaultTableModel( new Object [][] { }, new String [] { "No. Sewa", "NIK", "Tgl Kembali", "Jam Kembali" } )); jScrollPane4.setViewportView(tbl_pinjam); jPanel13.add(jScrollPane4, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 30, 396, 140)); getContentPane().add(jPanel13, new org.netbeans.lib.awtextra.AbsoluteConstraints(820, 60, 430, 180)); jPanel14.setBackground(new java.awt.Color(0, 0, 0)); jPanel14.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createTitledBorder(""), "Isi Pembayaran", javax.swing.border.TitledBorder.LEFT, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Elephant", 0, 12), new java.awt.Color(255, 255, 255))); // NOI18N jPanel14.setForeground(new java.awt.Color(255, 255, 255)); jPanel14.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); jPanel14.setOpaque(false); jPanel14.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); jLabel22.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N jLabel22.setForeground(new java.awt.Color(255, 255, 255)); jLabel22.setText("Total Uang Sewa"); jPanel14.add(jLabel22, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 30, -1, -1)); jLabel23.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N jLabel23.setForeground(new java.awt.Color(255, 255, 255)); jLabel23.setText("Kekurangan"); jPanel14.add(jLabel23, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 150, -1, -1)); jPanel14.add(txtukem, new org.netbeans.lib.awtextra.AbsoluteConstraints(150, 120, 100, -1)); jPanel14.add(txttotal, new org.netbeans.lib.awtextra.AbsoluteConstraints(150, 30, 100, -1)); txtubay.addKeyListener(new java.awt.event.KeyAdapter() { public void keyReleased(java.awt.event.KeyEvent evt) { txtubayKeyReleased(evt); } public void keyTyped(java.awt.event.KeyEvent evt) { txtubayKeyTyped(evt); } }); jPanel14.add(txtubay, new org.netbeans.lib.awtextra.AbsoluteConstraints(150, 90, 100, -1));
96
jLabel27.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N jLabel27.setForeground(new java.awt.Color(255, 255, 255)); jLabel27.setText("Uang Bayar"); jPanel14.add(jLabel27, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 90, -1, -1)); jLabel28.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N jLabel28.setForeground(new java.awt.Color(255, 255, 255)); jLabel28.setText("Uang Muka"); jPanel14.add(jLabel28, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 60, -1, -1)); txtdp.addKeyListener(new java.awt.event.KeyAdapter() { public void keyPressed(java.awt.event.KeyEvent evt) { txtdpKeyPressed(evt); } public void keyReleased(java.awt.event.KeyEvent evt) { txtdpKeyReleased(evt); } public void keyTyped(java.awt.event.KeyEvent evt) { txtdpKeyTyped(evt); } }); jPanel14.add(txtdp, new org.netbeans.lib.awtextra.AbsoluteConstraints(150, 60, 100, -1)); jPanel14.add(txtkurang, new org.netbeans.lib.awtextra.AbsoluteConstraints(150, 150, 100, -1)); jLabel11.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N jLabel11.setForeground(new java.awt.Color(255, 255, 255)); jLabel11.setText("Uang Kembali"); jPanel14.add(jLabel11, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 120, -1, -1)); getContentPane().add(jPanel14, new org.netbeans.lib.awtextra.AbsoluteConstraints(950, 250, 300, 190)); cmdtambah.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Icon/Add_16x16.png"))); // NOI18N cmdtambah.setText("Tambah"); cmdtambah.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cmdtambahActionPerformed(evt); } }); getContentPane().add(cmdtambah, new org.netbeans.lib.awtextra.AbsoluteConstraints(1000, 450, 100, -1)); cmdsimpan.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Icon/Save_16x16.png"))); // NOI18N cmdsimpan.setText("Simpan"); cmdsimpan.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cmdsimpanActionPerformed(evt); } }); getContentPane().add(cmdsimpan, new org.netbeans.lib.awtextra.AbsoluteConstraints(1110, 450, 100, -1)); cmdbatal.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Icon/Cancel_16x16.png"))); // NOI18N cmdbatal.setText("Batal"); cmdbatal.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cmdbatalActionPerformed(evt); } }); getContentPane().add(cmdbatal, new org.netbeans.lib.awtextra.AbsoluteConstraints(1000, 490, 100, -1)); cmdtutup.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Icon/Log Out_16x16.png"))); // NOI18N cmdtutup.setText("Tutup"); cmdtutup.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cmdtutupActionPerformed(evt); } }); getContentPane().add(cmdtutup, new org.netbeans.lib.awtextra.AbsoluteConstraints(1110, 490, 100, -1)); panel21.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); jLabel30.setFont(new java.awt.Font("Comic Sans MS", 1, 18)); // NOI18N jLabel30.setForeground(new java.awt.Color(255, 255, 255)); jLabel30.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jLabel30.setText("Transaksi Penyewaan"); jLabel30.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); panel21.add(jLabel30, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 20, 1260, -1)); getContentPane().add(panel21, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 1260, 610)); setSize(new java.awt.Dimension(1274, 647)); setLocationRelativeTo(null); }// </editor-fold>
97
private void jdcpmbMouseClicked(java.awt.event.MouseEvent evt) { } private void jdcpmbPropertyChange(java.beans.PropertyChangeEvent evt) { } private void jdcpmjMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: } private void jdcpmjPropertyChange(java.beans.PropertyChangeEvent evt) { // TODO add your handling code here: } private void txtbensinActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: } private void txtlamasewaKeyPressed(java.awt.event.KeyEvent evt) { if (evt.getKeyCode() == java.awt.event.KeyEvent.VK_ENTER) { txtjampmb.requestFocus(); } } private void txtlamasewaKeyReleased(java.awt.event.KeyEvent evt) { lamapmj(); if (txtlamasewa.getText().isEmpty()) { return; } else { String lama = txtlamasewa.getText(); String biaya = txtbiaya.getText(); String tarif = txttarif.getText(); Float lama1 = lama ==null || lama.isEmpty() ? 0 : Float.parseFloat(lama); Integer biaya1 = biaya ==null || biaya.isEmpty() ? 0 : Integer.parseInt(biaya); Integer tarif1 = tarif ==null || tarif.isEmpty() ? 0 : Integer.parseInt(tarif); float tothar = biaya1*lama1; float tottar = tarif1*lama1; txttothar.setText(Float.toString(tothar)); txttarif2.setText(Float.toString(tottar)); return; } } private void txtubayKeyReleased(java.awt.event.KeyEvent evt) { if (txtubay.getText().isEmpty()) { return; } else { int bayar = Integer.parseInt(txtubay.getText()); int total = Integer.parseInt(txtdp.getText()); int kembali = bayar - total; txtukem.setText(Integer.valueOf(kembali).toString()); return; } } private void formWindowActivated(java.awt.event.WindowEvent evt) { try { kon.setKoneksi(); String sql = "select*from user where id_user='" + txtiduser.getText() + "'"; kon.rs = kon.st.executeQuery(sql); if (kon.rs.next()) { txtnmuser.setText(kon.rs.getString("nama")); txtiduser.setText(kon.rs.getString("id_user")); } } catch (Exception e) { JOptionPane.showMessageDialog(this, "Error" + e.toString(), "Kesalahan", JOptionPane.WARNING_MESSAGE); } tabelPenyewaan(); } private void txtnamaKeyPressed(java.awt.event.KeyEvent evt) { if (evt.getKeyCode() == java.awt.event.KeyEvent.VK_ENTER) { txttelp.requestFocus(); } } private void txttelpKeyPressed(java.awt.event.KeyEvent evt) { if (evt.getKeyCode() == java.awt.event.KeyEvent.VK_ENTER) { txtalmt.requestFocus();
98
} } private void txtalmtKeyPressed(java.awt.event.KeyEvent evt) { if (evt.getKeyCode() == java.awt.event.KeyEvent.VK_ENTER) { cmdcari.requestFocus(); } } private void txtjampmjKeyPressed(java.awt.event.KeyEvent evt) { if (evt.getKeyCode() == java.awt.event.KeyEvent.VK_ENTER) { txtlamasewa.requestFocus(); } } private void txtnamaKeyTyped(java.awt.event.KeyEvent evt) { filterangka(evt); } private void txttelpKeyTyped(java.awt.event.KeyEvent evt) { char karakter = evt.getKeyChar(); if (!(((karakter >= '0') && (karakter <= '9') && txttelp.getText().length() < 12 || (karakter == java.awt.event.KeyEvent.VK_BACK_SPACE) || (karakter == java.awt.event.KeyEvent.VK_DELETE)))) { evt.consume(); } } private void txtlamasewaKeyTyped(java.awt.event.KeyEvent evt) { } private void txtubayKeyTyped(java.awt.event.KeyEvent evt) { char karakter = evt.getKeyChar(); if (!(((karakter >= '0') && (karakter <= '9') && txtubay.getText().length() < 12 || (karakter == java.awt.event.KeyEvent.VK_BACK_SPACE) || (karakter == java.awt.event.KeyEvent.VK_DELETE)))) { evt.consume(); } } private void cmdinputActionPerformed(java.awt.event.ActionEvent evt) { if (txtkode.getText().isEmpty()|| txtjenis.getText().isEmpty()|| txtbiaya.getText().isEmpty()|| txtnopol.getText().isEmpty()|| txtbensin.getText().isEmpty()|| txtkilo.getText().isEmpty()|| txtdepan.getText().isEmpty()|| txtblkg.getText().isEmpty()|| txtkanan.getText().isEmpty()|| txtkiri.getText().isEmpty()|| txtjampmj.getText().isEmpty()|| txtjampmb.getText().isEmpty()|| txtlamasewa.getText().isEmpty()) { JOptionPane.showMessageDialog(this, "Lengkapi Data !!", "Konfirmasi", JOptionPane.INFORMATION_MESSAGE); } else { tgl(); float tarif2 = Float.parseFloat(txttarif2.getText()); float tothar2 = Float.parseFloat(txttothar.getText()); float totbay = tarif2+tothar2; txttothar2.setText(Float.valueOf(totbay).toString()); DefaultTableModel mobil = (DefaultTableModel) tbl_mobil.getModel(); int jumlahbaris = tbl_mobil.getRowCount(); int jumlah = 1 + jumlahbaris; TableModel tabelModel; tabelModel = tbl_mobil.getModel(); int a = Integer.parseInt(tbaris1.getText()); int totbar = a + jumlah; if (totbar > 100) { JOptionPane.showMessageDialog(this, "Maksimal Peminjaman hanya 2 Mobil.","Informasi",JOptionPane.INFORMATION_MESSAGE); cmdcari.requestFocus(); txtkode.setText(""); txtjenis.setText(""); txtnopol.setText(""); txtbiaya.setText(""); txtbensin.setText(""); txtkilo.setText(""); txtdepan.setText(""); txtblkg.setText(""); txtkanan.setText(""); txtkiri.setText(""); txtlamasewa.setText(""); txtjampmj.setText(""); txtjampmb.setText(""); jdcpmj.setDate(null); jdcpmb.setDate(null); return; }else{
99
List list = new ArrayList<>(); list.add(txtkode.getText()); list.add(txtbiaya.getText()); list.add(jdcpmj.getDate()); list.add(txtjampmj.getText()); list.add(txtlamasewa.getText()); list.add(jdcpmb.getDate()); list.add(txtjampmb.getText()); list.add(txttothar2.getText()); mobil.addRow(list.toArray()); tbaris.setText(String.valueOf(totbar)); int jumlahBaris = tbl_mobil.getRowCount(); } SimpanSementara(); sumbanyak(); txtubay.setEnabled(true); txtdp.requestFocus(); txtkode.setText(""); txtjenis.setText(""); txtnopol.setText(""); txtbiaya.setText(""); txtbensin.setText(""); txtkilo.setText(""); txtdepan.setText(""); txtblkg.setText(""); txtkanan.setText(""); txtkiri.setText(""); txttarif.setText(""); txtlamasewa.setText(""); txtjampmj.setText(""); txtjampmb.setText(""); jdcpmj.setDate(null); jdcpmb.setDate(null); cmdinput.setEnabled(false); cmbsupir.setEnabled(false); cmdtarif.setEnabled(false); txtlamasewa.setEnabled(false); txtnik.setEnabled(false); txtjampmj.setEnabled(false); txtjampmb.setEnabled(false); txtnama.setEnabled(false); txtalmt.setEnabled(false); txttelp.setEnabled(false); jdcpmj.setEnabled(false); txtdp.setEnabled(true); txtkurang.setEnabled(true); } } private void cmdcariActionPerformed(java.awt.event.ActionEvent evt) { datamobil(); jdcpmj.setEnabled(true); txtlamasewa.setEnabled(true); txtjampmj.setEnabled(true); txtjampmb.setEnabled(true); cmdinput.setEnabled(true); cmbsupir.setEnabled(true); cmdtarif.setEnabled(true); txtjampmj.requestFocus(); txtkode.setText(kd_mobil); txtjenis.setText(jenis); txtnopol.setText(no_polisi); txtbiaya.setText(biaya); txtbensin.setText(bensin); txtkilo.setText(kilo); txtdepan.setText(depan); txtblkg.setText(belakang); txtkanan.setText(kanan); txtkiri.setText(kiri); txtjampmj.requestFocus(); if(txtkode.getText().isEmpty()) { cmdcari.requestFocus(); return; } else{ try { kon.setKoneksi(); String abc="select*from detail_sewa where nik='" + txtnik.getText()+ "' and kd_mobil='" + txtkode.getText() + "' and status_sewa='"+ txtkosong.getText()+"'";
100
kon.rs=kon.st.executeQuery(abc); if(kon.rs.next()) { JOptionPane.showMessageDialog(this,"Mobil tidak boleh sama !!","Informasi", JOptionPane.INFORMATION_MESSAGE); txtubay.requestFocus(); txtkode.setText(""); txtjenis.setText(""); txtbiaya.setText(""); txtnopol.setText(""); txtbensin.setText(""); txtkilo.setText(""); txtdepan.setText(""); txtblkg.setText(""); txtkanan.setText(""); txtkiri.setText(""); jdcpmj.setEnabled(false); txtlamasewa.setEnabled(false); } else{ String sql="select*from cadangan where kd_mobil='" + txtkode.getText()+ "'"; kon.rs=kon.st.executeQuery(sql); if(kon.rs.next()) { JOptionPane.showMessageDialog(this,"Mobil tidak boleh sama !!","Informasi", JOptionPane.INFORMATION_MESSAGE); txtkode.setText(""); txtjenis.setText(""); txtbiaya.setText(""); txtnopol.setText(""); txtbensin.setText(""); txtkilo.setText(""); txtdepan.setText(""); txtblkg.setText(""); txtkanan.setText(""); txtkiri.setText(""); jdcpmj.setEnabled(false); txtlamasewa.setEnabled(false); txtubay.requestFocus(); } } } catch(SQLException e) { System.out.println("Koneksi Gagal"+ e.toString()); } } return; } private void txtnikKeyPressed(java.awt.event.KeyEvent evt) { // if (evt.getKeyCode() == java.awt.event.KeyEvent.VK_ENTER) { // // try { // tabellama(); // jumbaris1(); // cmdcari.setEnabled(true); // cmdtarif.setEnabled(true); // cmbsupir.setEnabled(true); // kon.setKoneksi(); // String sql = "select*from penyewa where nik='" + txtnik.getText() + "'"; // kon.rs = kon.st.executeQuery(sql); // if (kon.rs.next()) { // // txtnama.setText(kon.rs.getString("nama")); // txttelp.setText(kon.rs.getString("telp")); // txtalmt.setText(kon.rs.getString("alamat")); // txtnik.setEnabled(false); // } else{ // buattabelsementara(); // txtnik.setEnabled(true); // txtnama.setEnabled(true); // txttelp.setEnabled(true); // txtalmt.setEnabled(true); // txtnama.requestFocus(); // } // } catch (SQLException e) { // return; // } // } } private void cmbsupirActionPerformed(java.awt.event.ActionEvent evt) { if(cmbsupir.getSelectedItem()=="=PILIH="){
101
txtsupir.setText("PILIH"); cmdtarif.setEnabled(false); txtlamasewa.requestFocus(); }else if(cmbsupir.getSelectedItem()=="Ya"){ txtsupir.setText("Ya"); cmdtarif.setEnabled(true); txtlamasewa.requestFocus(); }else if(cmbsupir.getSelectedItem()=="Tidak"){ txtsupir.setText("Tidak"); txttarif.setText("0"); cmdtarif.setEnabled(false); txtlamasewa.requestFocus(); } } private void cmdtarifActionPerformed(java.awt.event.ActionEvent evt) { datatarif(); jdcpmj.setEnabled(true); txtlamasewa.setEnabled(true); txtjampmj.setEnabled(true); txtjampmb.setEnabled(true); cmdinput.setEnabled(true); txtjampmj.requestFocus(); txttarif.setText(tarif); txtlamasewa.requestFocus(); } private void txtdpKeyTyped(java.awt.event.KeyEvent evt) { char karakter = evt.getKeyChar(); if (!(((karakter >= '0') && (karakter <= '9') && txtdp.getText().length() < 12 || (karakter == java.awt.event.KeyEvent.VK_BACK_SPACE) || (karakter == java.awt.event.KeyEvent.VK_DELETE)))) { evt.consume(); } } private void txtdpKeyPressed(java.awt.event.KeyEvent evt) { if (evt.getKeyCode() == java.awt.event.KeyEvent.VK_ENTER) { txtubay.requestFocus(); } } private void txtdpKeyReleased(java.awt.event.KeyEvent evt) { if (txtdp.getText().isEmpty()) { return; } else { int muka = Integer.parseInt(txtdp.getText()); int total = Integer.parseInt(txttotal.getText()); int kurang = total - muka; txtkurang.setText(Integer.valueOf(kurang).toString()); return; } } private void cmdtambahActionPerformed(java.awt.event.ActionEvent evt) { aktif(); setTanggal(); kalender(); otomatis(); cmdbatal.setEnabled(true); cmdtambah.setEnabled(false); txttothar.setText("0"); txtstatus.setText("PINJAM"); txtnik.setEnabled(false); cmdcari.setEnabled(false); cmdnik.setEnabled(true); cmdtarif.setEnabled(false); cmbsupir.setEnabled(false); hapustabelsementara(); buattabelsementara(); } private void cmdsimpanActionPerformed(java.awt.event.ActionEvent evt) { if( txtnik.getText().isEmpty() || txtnama.getText().isEmpty() || txtalmt.getText().isEmpty() || txttelp.getText().isEmpty() || txtlamasewa.getText().isEmpty() || tbaris.getText().isEmpty() || jdcpmb.getDate()==null || txtlamasewa.getText().equalsIgnoreCase("0")){ { int baris = Integer.parseInt(tbaris.getText()); if(baris == 0){ JOptionPane.showMessageDialog(null, "Data sewa masih kosong !!", "Informasi", JOptionPane.OK_OPTION); cmdinput.requestFocus(); return;
102
} else{ try { jumbaris(); String penyewa = "Update penyewa set nik='"+txtnik.getText()+ "',nama='"+txtnama.getText()+ "',telp='"+txttelp.getText()+ "',alamat='"+txtalmt.getText()+ "',jml_sewa='"+tbaris.getText()+ "',keterangan='"+txtstatus.getText()+ "' where nik='"+txtnik.getText()+"'"; kon.st.executeUpdate(penyewa); }catch(Exception e){ JOptionPane.showMessageDialog(null, e.getMessage()); } simpan(); JOptionPane.showMessageDialog(this,"Cetak Struk Transaksi","Informasi", JOptionPane.INFORMATION_MESSAGE); String xno = txtno.getText(); String xnmuser = txtnmuser.getText(); String xtotal = txttotal.getText(); String xtelp = txttelp.getText(); String xpenyewa = txtnama.getText(); JasperReport jasRep; JasperPrint jasPri; HashMap param = new HashMap(); JasperDesign jasDes; try{ Connection con = kon.setKoneksi(); String path = "src/StrukTransaksi/StrukSewa.jasper"; param.put("no_sewa", xno); param.put("nm_user", xnmuser); param.put("total", xtotal); param.put("telp", xtelp); param.put("penyewa", xpenyewa); jasPri = JasperFillManager.fillReport(path, param, con); JasperViewer.viewReport(jasPri, false); }catch(Exception e){ JOptionPane.showMessageDialog(null, e.getMessage()); } } rubahstatus(); nonaktif(); hapustabelsementara(); buattabelsementara(); hapustabelsementara(); bersihtabelmobil(); bersihtabellama(); tabelPenyewaan(); Bersih(); cmdtambah.setEnabled(true); cmdtutup.setEnabled(true); } } } private void cmdbatalActionPerformed(java.awt.event.ActionEvent evt) { hapustabelsementara(); buattabelsementara(); nonaktif(); Bersih(); bersihtabellama(); bersihtabelmobil(); cmdcari.setEnabled(false); cmdtambah.setEnabled(true); cmdtutup.setEnabled(true); cmdinput.setEnabled(false); } private void cmdtutupActionPerformed(java.awt.event.ActionEvent evt) { dispose(); buattabelsementara(); } private void cmdnikActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: // datatarif(); boolean closable = true; DaftarPenyewa penyewaa = new DaftarPenyewa(null, closable); penyewaa.penyewa = this; penyewaa.setVisible(true); penyewaa.setResizable(true);
103
cmdcari.setEnabled(true); cmdtarif.setEnabled(true); cmbsupir.setEnabled(true); txtnik.setText(nik); txtnama.setText(nama); txttelp.setText(telp); txtalmt.setText(alamat); txtlamasewa.requestFocus(); tabellama(); jumbaris1(); } /** * @param args the command line arguments */ public static void main(String args[]) { /* Set the Nimbus look and feel */ //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(FormPenyewaan.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(FormPenyewaan.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(FormPenyewaan.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(FormPenyewaan.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } //</editor-fold> /* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new FormPenyewaan().setVisible(true); } }); } // Variables declaration - do not modify private javax.swing.JTextField bulan; private javax.swing.JComboBox<String> cmbsupir; private GradientButton.ClGradientButton cmdbatal; private javax.swing.JButton cmdcari; private javax.swing.JButton cmdinput; private javax.swing.JButton cmdnik; private GradientButton.ClGradientButton cmdsimpan; private GradientButton.ClGradientButton cmdtambah; private javax.swing.JButton cmdtarif; private GradientButton.ClGradientButton cmdtutup; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel10; private javax.swing.JLabel jLabel11; private javax.swing.JLabel jLabel12; private javax.swing.JLabel jLabel13; private javax.swing.JLabel jLabel14; private javax.swing.JLabel jLabel15; private javax.swing.JLabel jLabel16; private javax.swing.JLabel jLabel17; private javax.swing.JLabel jLabel18; private javax.swing.JLabel jLabel19; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel20; private javax.swing.JLabel jLabel21; private javax.swing.JLabel jLabel22; private javax.swing.JLabel jLabel23; private javax.swing.JLabel jLabel24; private javax.swing.JLabel jLabel25; private javax.swing.JLabel jLabel26; private javax.swing.JLabel jLabel27; private javax.swing.JLabel jLabel28; private javax.swing.JLabel jLabel29; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel30;
104
private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel6; private javax.swing.JLabel jLabel7; private javax.swing.JLabel jLabel8; private javax.swing.JLabel jLabel9; private javax.swing.JPanel jPanel11; private javax.swing.JPanel jPanel12; private javax.swing.JPanel jPanel13; private javax.swing.JPanel jPanel14; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JScrollPane jScrollPane2; private javax.swing.JScrollPane jScrollPane3; private javax.swing.JScrollPane jScrollPane4; private com.toedter.calendar.JDateChooser jdcpmb; private com.toedter.calendar.JDateChooser jdcpmj; private Desain.panel2 panel21; private javax.swing.JTextField tahun; private javax.swing.JTextField tanggal; private javax.swing.JTextField tbaris; private javax.swing.JTextField tbaris1; private javax.swing.JTable tbl_lama; private javax.swing.JTable tbl_mobil; private javax.swing.JTable tbl_pinjam; private javax.swing.JTextArea txtalmt; private javax.swing.JTextField txtambilno; private javax.swing.JTextField txtbensin; private javax.swing.JTextField txtbersihtabel; private javax.swing.JTextField txtbiaya; private javax.swing.JTextField txtblkg; private javax.swing.JTextField txtdepan; private javax.swing.JTextField txtdp; private javax.swing.JTextField txtiduser; private javax.swing.JTextField txtjampmb; private javax.swing.JTextField txtjampmj; private javax.swing.JTextField txtjenis; private javax.swing.JTextField txtkanan; private javax.swing.JTextField txtkembali; private javax.swing.JTextField txtkilo; private javax.swing.JTextField txtkiri; private javax.swing.JTextField txtkode; private javax.swing.JTextField txtkosong; private javax.swing.JTextField txtkurang; private javax.swing.JTextField txtlamasewa; private javax.swing.JTextField txtnama; private javax.swing.JTextField txtnik; private javax.swing.JTextField txtnmuser; private javax.swing.JTextField txtno; private javax.swing.JTextField txtnopol; private javax.swing.JTextField txtpinjam; private javax.swing.JTextField txtstatus; private javax.swing.JTextField txtsupir; private javax.swing.JTextField txttarif; private javax.swing.JTextField txttarif2; private javax.swing.JTextField txttelp; private javax.swing.JTextField txttgl; private javax.swing.JTextField txttotal; private javax.swing.JTextField txttothar; private javax.swing.JTextField txttothar2; private javax.swing.JTextField txttrans; private javax.swing.JTextField txtubay; private javax.swing.JTextField txtukem; // End of variables declaration }
105
3.5.2. Black-Box Testing
1. Black-Box Testing Login
No Skenario
Pengujian Test Case
Hasil yang
diharapkan
Hasil
Pengujian Kesimpulan
1. Username dan
Password tidak
diisi kemudian
klik tombol
Login
Username
: (kosong)
Password
: (kosong)
Sistem akan
menolak akses
dan
menampilkan
pesan
“Masukkan
Username dan
Password Anda”
Sesuai
Harapan
Valid
2. Username diisi
dan Password
tidak diisi
kemudian klik
tombol Login
Username
: USR001
Password
: (kosong)
Sistem akan
menolak akses
dan
menampilkan
pesan
“Masukkan
Password Anda”
Sesuai
Harapan
Valid
3. Username tidak
diisi dan
Password diisi
kemudian klik
tombol Login
Username
: (kosong)
Password
: 0315
Sistem akan
menolak akses
dan
menampilkan
pesan
“Masukkan
Username Anda”
Sesuai
Harapan
Valid
4. Salah satu
kondisi diisi
salah pada
Username atau
Password
kemudian klik
Login
Username
: USR001
(benar)
Password
: 1503
(salah)
Sistem akan
menolak akses
dan
menampilkan
pesan
“Username atau
Password anda
salah”
Sesuai
Harapan
Valid
5. Username dan
Password diisi
dengan data
yang benar
kemudian klik
tombol Login
Username
: USR001
(benar)
Password :
0315
(benar)
Sistem akan
menerima akses
Login dan
menampilkan
Menu Utama
Sesuai
Harapan
Valid
Tabel III.15
Blackbox Testing login
106
2. Black-Box Testing Menu Master
No Skenario
Pengujian Test Case
Hasil yang
diharapkan
Hasil
Pengujian Kesimpulan
1. Mengklik User
Pada Menu
Master
Klik sekali Sistem akan
menerima akses
User dan akan
langsung masuk
ke Form User
Sesuai
Harapan
Valid
2. Mengklik
Tarif Supir
pada Menu
Master
Klik sekali Sistem akan
menerima akses
Tarif Supir dan
akan langsung
masuk ke Form
Tarif Supir
Sesuai
Harapan
Valid
3. Mengklik
Mobil pada
Menu Master
Klik sekali Sistem akan
menerima akses
Mobil dan akan
langsung masuk
ke Form Mobil
Sesuai
Harapan
Valid
4. Mengklik
Kondisi Mobil
pada Menu
Master
Klik sekali Sistem akan
menerima akses
Kondisi Mobil
dan akan
langsung masuk
ke Form Kondisi
Mobil
Sesuai
Harapan
Valid
5. Mengklik
Perkiraan pada
Menu Master
Klik sekali Sistem akan
menerima akses
Perkiraan dan
akan langsung
masuk ke Form
Perkiraan
Sesuai
Harapan
Valid
6. Mengklik
Penyewa pada
Menu Master
Klik sekali Sistem akan
menerima akses
Penyewa dan
akan langsung
masuk ke Form
Penyewa
Sesuai
Harapan
Valid
Tabel III.16
Blackbox Testing Menu Master
107
3. Black-Box Testing Menu Transaksi
No Skenario
Pengujian Test Case
Hasil yang
diharapkan
Hasil
Pengujian Kesimpulan
1. Mengklik
Penyewaan
Pada Menu
Transaksi
Klik sekali Sistem akan
menerima akses
Penyewaan dan
akan langsung
masuk ke Form
Transaksi
Penyewaan
Sesuai
Harapan
Valid
2. Mengklik
Pengembalian
pada Menu
Transaksi
Klik sekali Sistem akan
menerima akses
Pengembalian dan
akan langsung
masuk ke Form
Transaksi
Pengembalian
Sesuai
Harapan
Valid
3. Mengklik
Jurnal pada
Menu
Transaksi
Klik sekali Sistem akan
menerima akses
Jurnal dan akan
langsung masuk
ke Form
Transkasi Jurnal
Sesuai
Harapan
Valid
Tabel III.17
Blackbox Testing Menu Transaksi
108
4. Black-Box Testing Menu Laporan
No Skenario
Pengujian Test Case
Hasil yang
diharapkan
Hasil
Pengujian Kesimpulan
1. Mengklik
Laporan
Penyewaan
Pada Menu
Laporan
Klik sekali Sistem akan
menerima akses
Laporan
Penyewaan dan
akan langsung
masuk ke Form
Laporan Transkasi
Penyewaan
Sesuai
Harapan
Valid
2. Mengklik
Laporan
Pengembalian
pada Menu
Laporan
Klik sekali Sistem akan
menerima akses
Laporan
Pengembalian dan
akan langsung
masuk ke Form
Laporan Transaksi
Pengembalian
Sesuai
Harapan
Valid
3. Mengklik
Laporan
Master pada
Menu
Laporan
Klik sekali Sistem akan
menerima akses
Laporan Master
dan akan langsung
masuk ke Form
Laporan Master
Sesuai
Harapan
Valid
4. Mengklik
Laporan
Jurnal pada
Menu
Laporan
Klik sekali Sistem akan
menerima akses
Laporan Jurnal
dan akan langsung
masuk ke Form
Laporan Jurnal
Sesuai
Harapan
Valid
Tabel III.18
Blackbox Testing Menu Laporan
109
3.5.3. Spesifikasi Hardware dan Software
Tabel III.19
Spesifikasi Hardware dan Software
Kebutuhan Keterangan
Sistem Windows 7 32-bit
Processor Intel Pentium, @2,4 GHz
RAM 1 GB
Harddisk 320 GB
Monitor 14” LED
Keyboard 108 Key
Mouse Standart
Printer Dot Matrix
Software Kebutuhan menjalankan aplikasi secara local:
Bahasa script pemrograman : NetBeans IDE 8.2
Web server : XAMPP
DBMS : MySql