APLIKASI PENGOLAHAN DATA TRANSAKSI

advertisement
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
APLIKASI PENGOLAHAN DATA TRANSAKSI BENGKEL
MOTOR DENGAN MENERAPKAN PROTOKOL
TWO PHASE LOCKING
(Studi Kasus Bengkel Anugrah Motor)
Skripsi
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Komputer
Program Studi Teknik Informatika
Disusun Oleh :
Ardy Christianto Joseph
105314092
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2016
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
TRANSACTION DATA PROCESSING APPLICATIONS
MOTOR WORKSHOP USING
TWO PHASE LOCKING PROTOCOLS
(Case Study at Bengkel Anugrah Motor)
`
Thesis
Presented as Partial Fullfillment of the Requirements
To Obtain Sarjana Komputer Degree
In Departement of Informatics Engineering
By :
Ardy Christianto Joseph
105314092
INFORMATICS ENGINEERING STUDY PROGRAM
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2016
i
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya susun dan
saya tulis ini tidak memuat karya orang lain , kecuali yang telah disebutkan dalam
kutipan dan daftar pustaka , sebagaimana layaknya karya ilmiah.
Yogyakarta , ……………………. 2016
Penulis
Ardy Christianto Joseph
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMAN PERSEMBAHAN
Karya ini saya persembahkan kepada :
 Tuhan Yesus Kristus atas segala berkat penyertaannya selama mengerjakan tugas
akhir
 Ayah dan Ibu yang selalu mendoakan dan memberi dukungan selama pengerjaan
tugas akhir
 Seluruh keluarga besar yang selalu memberi semangat dselama pengerjaan tugas akhir
 Semua teman teman yang telah memberikan bantuan dan dukungan
v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMAN MOTTO
Dia memberi kekuatan kepada yang lelah dan menambah
semangat kepada yang tiada berdaya.
(Yesaya 40:29)
Waktu dipenuhi dengan banyak kesempatan. dan seperti waktu
setiap kesempatan hanya datang satu kali, saat anda lewatkan
kesempatan itu tak akan ada lagi kesempatan kedua
Tidak ada kata terlambat untuk belajar
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH
UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma
Nama
: Ardy Christianto Joseph
Nim
: 105314092
Demi pengembangan ilmu pengetahuan saya memberikan kepada Perpustakaan
Universitas Sanata Dharma karya ilmiah saya yang berjudul
APLIKASI PENGOLAHAN DATA TRANSAKSI
BENGKEL MOTOR DENGAN MENERAPKAN
PROTOKOL TWO PHASE LOCKING
(Studi Kasus Bengkel Anugrah Motor)
Berserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan
kepada Perpustakaan Universitas Sanata Dharma untuk hak menyimpan, mengalihkan
dalam
bentuk
media
lain,
mengolahnya
dalam
bentuk
pangkalan
data,
mendistribusikanya secara terbatas, dan mempublikasikanya di internet dan media lain
untuk kepentingan akademis tanpa perlu meminta izin dari saya maupun memberikan
royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis.
Demikian pernyataan saya ini saya buat dengan sebenarnya
Dibuat di Yogyakarta
Pada tanggal ………………………..
Yang menyatakan,
Ardy Christianto Josep
vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRAK
Transaksi pengambilan suku cadang dalam proses layanan sepeda motor sangat
penting, terutama dalam pencatatan data stok suku cadang yang ada. Dalam mengurangi
data stok suku cadang yang digunakan dalam proses layanan ini, manajemen transaksi
diterapkan untuk menghindari kesalahan dalam pencatatan stok data suku cadang.
Transaksi di bengkel Anugrah Motor masih menggunakan pencatatan manual dengan
cara menulis catatan kertas. Untuk meningkatkan kinerja bengkel Anugrah Motor,
sistem pengolahan data transaksi dibuat. Sistem ini akan terhubung dengan database
untuk melakukan pengolahan data bengkel Anugrah Motor. Dengan penggunaan
database pada sistem ini, dimungkinkan ada masalah konkuren seperti: The Lost Update
Problem, The Uncommited Dependency Problem and The Inconsistent Analysis
Problem. Hal ini bisa terjadi karena penggunaan aplikasi secara bersamaan untuk proses
transaksi pengurangan atau penambahan suku cadang oleh beberapa administrator. Oleh
karena itu, manajemen transaksi dibutuhkan dalam proses transaksi pengurangan dan
penambahan suku cadang, yang akan dibuat menggunakan Two Phase Locking (2PL)
protokol untuk mengendalikan transaksi penambahan atau pengurangan stok suku
cadang sehingga data yang diperoleh adalah benar.
Dalam tesis ini, protokol 2PL diuji dengan membuat aplikasi pengolahan data,
pada studi kasus di bengkel Anugrah Motor. Sistem ini dibuat untuk membantu
administrator dalam transaksi layanan jasa yang mencakup pencatatan data konsumen,
rincian motor, rincian jasa, biaya total, dan pengurangan stok suku cadang yang
digunakan dalam proses ini. Sistem ini memungkinkan menampilkan rincian dari setiap
konsumen yang telah melakukan transaksi layanan jasa di bengkel Motor Anugrah.
Hasil dari pengujian sistem aplikasi transaksi dalam bengkel Anugrah Motor
dengan menerapkan manajemen transaksi menggunakan protokol 2PL dirancang untuk
membuat aplikasi yang mampu menghindari masalah konkuren serta meningkatkan
kinerja administrator bengkel Anugrah Motor.
Kata kunci : Pengolahan Data, Transaksi, Manajemen Transaksi, Two Phase Locking
viii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRACT
Transactions of spare parts retrieval in the process of motorcycle services are
very important, especially in data recording of the existing spare parts stock. In
substracting data transaction of the parts used in the process of these services,
transaction management is applied in order to avoid errors in the data recording stock of
the spare parts. Transactions on Anugrah Motor Workshop still use manual recording
by means of writing paper notes. To improve the performance of Anugrah Motor
Workshop, transaction data processing system is made. This system will be connected
to the database to perform data processing of Anugrah Motor Workshop. With the use
of databases on this system, there may be problems of concurrent such as: The Lost
Update Problem, The Uncommited Dependency Problem, and The Inconsistent
Analysis Problem. This could happen due to the simulteneous use of applications, for
transaction processing subtraction or addition of spare parts by some administrators.
Therefore, the transaction management is needed in the transaction process of spare
parts' reduction and addition, which is going to be created using the Two Phase Locking
(2PL) protocols to control transactions of addition or reduction in spare parts stock so
that the data obtained is valid.
In this thesis, the Two Phase Locking protocols was tested by making
application transaction of data processing,
in the case study on Anugrah Motor
Workshop. This system was designed to help administrator in transaction processing
services that include consumer data recording, motor details, services, total costs, and
the reduction of stock parts used in this process. This system enables displays of the
details of every consumer who has made transaction processing services in the Anugrah
Motor Workshop.
The results of the transaction data process application system testing in the
motorcycle workshops with the implementation of transaction management using Two
Phase Locking protocols, is designed to build applications that is able to avoid potential
concurrent problems as well as increasing the performance of the Anugrah Motor
Workshop administrator.
Keywords: Data Processing, Transaction, Transaction Management, Two Phase
Locking
ix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
KATA PENGANTAR
Puji dan syukur kepada Tuhan Yesus Kristus yang telah memberikan berkat
dan rahmatnya secara senantiasa tak berkesudahan serta kesempatan yang telah
diberikan kepada penulis sehingga dapat menyelesaikan skripsi dengan judul " Aplikasi
Pengolahan Data Transaksi Bengkel Motor Dengan Menerapkan Protokol Two Phase
Locking (Studi Kasus Bengkel Anugrah Motor) "
Dalam kesempatan ini, penulis juga ingin mengucapkan terimakasih yang
sebesar besarnya terhadap semua pihak yang telah memberikan dukungan dan
waktunya sehingga skripsi ini dapat diselesaikan :
1. Bapak JB. Budi Darmawan S.T.,M.Sc selaku dosen pembimbing terimakasih atas
semua pengorbanan waktu untuk memberikan bimbingan, diskusi, ilmu, serta kesabaran
dalam membimbing penulis.
2. Bapak Sudi Mungkasi, Ph.D. Selaku Dekan Fakultas Sains dan Teknologi.
3. Ibu Dr Anastasia Rita Widiarti. Selaku ketua jurusan Teknik Informatika
Universitas Sanata Dharma.
4. Ibu Dr Anastasia Rita Widiarti. S.si., M.Sc. selaku dosen pembimbing akademik.
5. Ibu Agnes Maria Polina, M.Sc., dan Dr Anastasia Rita Widiarti selaku dosen
penguji. Yang telah memberikan kritik dan saran.
6. Kedua orang tua penulis. Terimakasih untuk semua semangat, dukungan dan kasih
sayang yang diberikan selama ini.
7. Segenap keluarga besar yang telah mendukung dan memberi semangat penulis
selama proses penyusunan tugas akhir .
8. Untuk Eduardus Hardika S.A., Wisnu Yhoga W., Alfonsus Doni S., I Nyoman
Rama A. dan seluruh teman "2nd home" yang telah memberikan bantuan dan semangat
dalam mengerjakan tugas akhir.
9. Untuk seluruh teman teman Teknik Informatika angkatan 2010. terimaka kasih atas
dukungan dan kebersamaan selama kuliah di Universitas Sanata Dharma.
x
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Penulis Merasa masih banyak kekurangan dalam penyusunan laporan tugas
akhir ini. Untuk itu, penlis mengarapkan saran dan kritik yang membangun dari segenap
pembaca. Semoga tugas akhir ini dapat bermanfaat, khususnya pada bidang teknik
informatika
Yogyakarta, ...................................2016
Penulis
Ardy Christianto Joseph
xi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR ISI
HALAMAN PERSETUJUAN.............................................................................................ii
HALAMAN PENGESAHAN ........................................................................................... iii
PERNYATAAN KEASLIAN KARYA .......................................................................... iiiv
HALAMAN PERSEMBAHAN .......................................................................................... v
HALAMAN MOTTO ......................................................................................................... vi
ABSTRAK .........................................................................................................................vii
ABSTRACT ........................................................................................................................ ix
KATA PENGANTAR ......................................................................................................... x
DAFTAR ISI......................................................................................................................xii
DAFTAR GAMBAR ......................................................................................................... xv
DAFTAR TABEL .......................................................................................................... xviii
DAFTAR LISTING ........................................................................................................... xx
DAFTAR GRAFIK ..........................................................................................................xxii
BAB I ................................................................................................................................... 1
1.1 Latar Belakang ....................................................................................................... 1
1.2 Rumusan Masalah .................................................................................................. 2
1.3 Tujuan ..................................................................................................................... 2
1.4 Batasan ................................................................................................................... 2
1.5 Metodologi ............................................................................................................. 3
1.6 Sistematika Penulisan ............................................................................................. 4
BAB II.................................................................................................................................. 5
2.1 Manajemen Transaksi ............................................................................................ 5
2.1.1 Concurency Control ..................................................................................... 6
2.1.2 Two Phase Locking atau 2pl ........................................................................ 6
2.2 Pemodelan .............................................................................................................. 9
2.2.1 Use case ....................................................................................................... 9
2.2.2 Actor ........................................................................................................... 10
2.2.3 Use Case Association Relationship ........................................................... 10
2.3 Entity Relationship Diagram (ERD) .................................................................... 11
2.3.1 Entitas ........................................................................................................ 11
2.3.2 Atribut ........................................................................................................ 11
xii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2.3.3 Relasi.......................................................................................................... 11
2.4 Conceptual Database Design ............................................................................... 12
2.5 Logical Database Design ..................................................................................... 12
2.6 Physical Database Design.................................................................................... 13
BAB III .............................................................................................................................. 14
3.1 Gambaran Sistem Lama ....................................................................................... 14
3.2 Gambaran Sistem Baru ......................................................................................... 14
3.3 Requirment Analysis ............................................................................................. 15
3.3.1 Use Case Diagram ..................................................................................... 15
3.3.2 Definisi Aktor ............................................................................................ 16
3.3.3 Definisi Use Case ...................................................................................... 16
3.3.4 Skenario Use Case ..................................................................................... 17
3.4 Activity Diagram .................................................................................................. 29
3.5 Perangancan Diagram Sekuensial ........................................................................ 41
3.6 Perancangan Diagram Kelas ................................................................................ 51
3.7 Perancangan Konseptual Basisdata ...................................................................... 52
3.8 Perancangan Logikal Basisdata ............................................................................ 53
3.9 Perancangan Fisikal Basis Data ........................................................................... 54
3.10 Desain User Interface ......................................................................................... 57
3.10.1 Halaman Utama Aplikasi ......................................................................... 57
3.10.2 Halaman Menu Pertama Daftar Servis .................................................... 57
3.10.3 Halaman Menu Kedua Update Data Pesanan .......................................... 58
3.10.4 Halaman Menu Ketiga Database ............................................................. 58
3.10.5 Halaman Menu Kempat Lihat Record Service ........................................ 59
BAB IV .............................................................................................................................. 60
4.1 Spesifikasi Software dan Hardware yang digunakan........................................... 60
4.1.1 Spesifikasi Software ................................................................................... 60
4.1.2 Spesifikasi Hardware................................................................................. 60
4.2 Implementasi Stored Procedure ........................................................................... 61
4.2.1 Implementasi Stored Procedure untuk Insert dan Update Data Pemesanan
Suku Cadang ....................................................................................................... 61
4.2.2 Implemetasi Stored Procedure untuk Menghapus Data Pesanan Suku
Cadang ................................................................................................................ 63
xiii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4.2.3 Implementasi Stored Procedure untuk Mengupdate Data Suku Cadang
kedalam Database ............................................................................................... 64
4.2.4 Implementasi Stored Procedure Mendapatkan Nonota untuk Pendaftaran
Servis................................................................................................................... 65
4.3 Implementasi Antarmuka ..................................................................................... 66
4.3.1 Halaman Menu Utama ............................................................................... 66
4.3.2 Halaman Daftar Service ............................................................................. 69
4.3.3 Halaman Ubah Data Pesanan ..................................................................... 81
4.3.4 Halaman Ubah Data ................................................................................... 83
4.3.5 Halaman Histori Servis .............................................................................. 97
BAB V ............................................................................................................................... 99
5.1 Analisa Hasil Perangkat Lunak ............................................................................ 99
5.2 Analisa Hasil Coba Terhadap Program ................................................................ 99
5.2.1 Pengujian terhadap Masalah Ketergantungan Transaksi yang Belum Di
Laksanakan (Uncommited Dependency Problem) pada Proses Daftar Servis.. 100
5.2.2 Pengujian terhadap Masalah Hilangnya Data yang Diubah (Lost Update
Problem) pada Proses Pengambilan Suku Cadang dalam Proses Servis .......... 101
5.3 Analisa Hasil Coba Terhadap Pengguna ............................................................ 106
5.4 Hasil Pengujian Ddministrator Bengkel ..................................................... 106
BAB VI ............................................................................................................................ 111
6.1 Kesimpulan ......................................................................................................... 111
6.2 Saran ................................................................................................................... 111
Daftar Pustaka .................................................................................................................. 112
Lampiran .......................................................................................................................... 113
xiv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR GAMBAR
Gambar 2. 1 Use Case ......................................................................................................... 9
Gambar 2. 2 Aktor ............................................................................................................. 10
Gambar 2. 3 Relasi ............................................................................................................. 10
Gambar 2. 4 Entitas............................................................................................................ 11
Gambar 2. 5 Atribut ........................................................................................................... 11
Gambar 2. 6 Relasi ............................................................................................................. 11
Gambar 3. 1 Use Case ........................................................................................................ 15
Gambar 3. 2 Diagram Aktifitas Menambah Transaksi ...................................................... 29
Gambar 3. 3 Diagram Aktifitas Menambah Data Suku Cadang ........................................ 30
Gambar 3. 4 Diagram Aktifitas Mengupdate Data Suku Cadang ..................................... 30
Gambar 3. 5 Diagram Aktifitas Menambah Data Konsumen ............................................ 31
Gambar 3. 6 Diagram Aktifitas Mengupdate Data Konsumen.......................................... 31
Gambar 3. 7 Diagram Aktifitas Menambah Data Kendaraan ............................................ 32
Gambar 3. 8 Diagram Aktifitas Mengupdate Data Kendaraan.......................................... 32
Gambar 3. 9 Diagram Aktifitas Menambah Data Suku Cadang ........................................ 33
Gambar 3. 10 Diagram Aktifitas Mengupdate Data Suku Cadang ................................... 33
Gambar 3. 11 Diagram Aktifitas Menambah Data Jenis Suku Cadang ............................. 34
Gambar 3. 12 Diagram Aktifitas Mengupdate Data Jenis Suku Cadang .......................... 34
Gambar 3. 13 Diagram Aktifitas Menambah Data Jenis Motor ........................................ 35
Gambar 3. 14 Diagram Aktifitas Mengupdate Data Jenis Motor ...................................... 36
Gambar 3. 15 Diagram Aktifitas Menambah Data Merek ................................................. 36
Gambar 3. 16 Diagram Aktifitas Mengupdate Data Merek .............................................. 37
Gambar 3. 17 Diagram Aktifitas Menambah Data Jenis Jasa ........................................... 37
Gambar 3. 18 Diagram Aktifitas Mengupdate Data Jenis Jasa ......................................... 38
Gambar 3. 19 Diagram Aktifitas Mengubah Data Pesanan ............................................... 39
Gambar 3. 20 Diagram Aktifitas Mengecek Data Penjualan ............................................. 39
Gambar 3. 21 Diagram Aktifitas Mencetak Nota Servis ................................................... 40
Gambar 3. 22 Diagram Aktifitas Melihat Record Transaksi ............................................. 40
Gambar 3. 23 Diagram Sekuensial Menambah Transaksi ................................................. 41
Gambar 3. 24 Diagram Sekuensial Menambah Data Suku Cadang .................................. 41
Gambar 3. 25 Diagram Sekuensial Mengupdate Data Suku Cadang ................................ 42
xv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 3. 26 Diagram Sekuensial Menambah Data Konsumen ...................................... 42
Gambar 3. 27 Diagram Sekuensial Mengupdate Data Konsumen .................................... 43
Gambar 3. 28 Diagram Sekuensial Menambah Data Kendaraan ...................................... 43
Gambar 3. 29 Diagram Sekuensial Mengupdate Data Kendaraan .................................... 43
Gambar 3. 30 Diagram Sekuensial Menambah Data Suku Cadang .................................. 44
Gambar 3. 31 Diagram Sekuensial Mengupdate Data Suku Cadang ................................ 44
Gambar 3. 32 Diagram Sekuensial Menambah Data Jenis Suku Cadang ......................... 45
Gambar 3. 33 Diagram Sekuensial Mengupdate Data Jenis Suku Cadang ....................... 45
Gambar 3. 34 Diagram Sekuensial Menambah Data Jenis Motor ..................................... 46
Gambar 3. 35 Diagram Sekuensial Mengupdate Data Jenis Motor................................... 46
Gambar 3. 36 Diagram Sekuensial Menambah Data Merek ............................................. 47
Gambar 3. 37 Diagram Sekuensial Mengupdate Data Merek ........................................... 47
Gambar 3. 38 Diagram Sekuensial Menambah Data Jenis Jasa ........................................ 48
Gambar 3. 39 Diagram Sekuensial Mengupdate Data Jenis Jasa ...................................... 48
Gambar 3. 40 Diagram Sekuensial Mengubah Data Pesanan............................................ 49
Gambar 3. 41 Diagram Sekuensial Mencetak Nota Servis ................................................ 49
Gambar 3. 42 Diagram Sekuensial Mengecek Data Penjualan ......................................... 50
Gambar 3. 43 Diagram Sekuensial Melihat Record Transaksi .......................................... 50
Gambar 3. 44 Diagram Kelas............................................................................................. 51
Gambar 3. 45 Diagram Konseptual Basisdata ................................................................... 52
Gambar 3. 46 Diagram Logikal Basisdata ......................................................................... 53
Gambar 3. 47 Halaman Utama Aplikasi ............................................................................ 57
Gambar 3. 48 Halaman Menu Pertama Daftar Servis........................................................ 57
Gambar 3. 49 Halaman Menu Kedua Update Data Pesanan ............................................. 58
Gambar 3. 50 Halaman Menu Ketiga Database................................................................. 58
Gambar 3. 51 Halaman Menu Keempat Melihat Record Servis ....................................... 59
Gambar 4. 1 Menu Utama .................................................................................................. 66
Gambar 4. 2 Form Data Konsumen ................................................................................... 70
Gambar 4. 3 Form Data Kendaraan ................................................................................... 72
Gambar 4. 4 Form Suku Cadang........................................................................................ 73
Gambar 4. 5 Form Pemesanan Barang .............................................................................. 74
Gambar 4. 6 Form Keluhan, Jasa, Kilometer. Total Biaya ................................................ 77
Gambar 4. 7 Form Tambah Jasa ........................................................................................ 77
xvi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4. 8 Jasper Laporan Nota Transaksi ..................................................................... 81
Gambar 4. 9 Form Masukkan No Nota (ubah data pesanan) ............................................. 81
Gambar 4. 10 Tab Data Suku Cadang ............................................................................... 83
Gambar 4. 11 Tab Data Jenis Suku Cadang ...................................................................... 86
Gambar 4. 12 Tab Data Jenis Motor .................................................................................. 88
Gambar 4. 13 Tambah Sk Motor ....................................................................................... 91
Gambar 4. 14 Tab Data Merek .......................................................................................... 92
Gambar 4. 15 Tab Data Jenis Jasa ..................................................................................... 94
Gambar 4. 16 Cek Data Penjualan ..................................................................................... 96
Gambar 4. 17 Halaman Histori Servis ............................................................................... 97
Gambar 4. 18 Halaman Detil Servis .................................................................................. 98
Gambar 5. 1 Berhasil Mendaftar Servis ........................................................................... 100
Gambar 5. 2 Gagal Mendaftar Servis dan Ada Pesan Kesalahan .................................... 101
Gambar 5. 3 Pemesanan Suku Cadang dengan No Nota 0001 ........................................ 102
Gambar 5. 4 Pemesanan Suku Cadang dengan No Nota 0002 ........................................ 102
Gambar 5. 5 Pemesanan Suku Cadang Berhasil .............................................................. 103
Gambar 5. 6 Pemesanan Suku Cadang Gagal .................................................................. 104
xvii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR TABEL
Tabel 2. 1 Masalah Hilangnya Data yang Diubah ............................................................... 6
Tabel 2. 2 Masalah Ketergantungan Transaksi yang Belum Dilaksanakan......................... 7
Tabel 2. 3 Masalah Analisis yang Tidak Konsisten ............................................................. 8
Tabel 3. 1 Definisi Aktor ................................................................................................... 16
Tabel 3. 2 Definisi Use Case.............................................................................................. 17
Tabel 3. 3 Menambah Transaksi ........................................................................................ 18
Tabel 3. 4 Menyimpan Data Konsumen ............................................................................ 18
Tabel 3. 5 Mengedit Data Konsumen ................................................................................ 19
Tabel 3. 6 Menyimpan Data Motor.................................................................................... 19
Tabel 3. 7 Mengedit Data Motor........................................................................................ 20
Tabel 3. 8 Menambah Data Suku Cadang ......................................................................... 21
Tabel 3. 9 Update Data Suku Cadang ................................................................................ 21
Tabel 3. 10 Menambah Data Jenis Suku Cadang .............................................................. 22
Tabel 3. 11 Mengupdate Data Jenis Suku Cadang ............................................................ 23
Tabel 3. 12 Menambah Data Jenis Motor .......................................................................... 23
Tabel 3. 13 Mengupdate Data Jenis Motor ........................................................................ 24
Tabel 3. 14 Menambah Data Merek .................................................................................. 25
Tabel 3. 15 Mengupdate Data Merek ................................................................................ 25
Tabel 3. 16 Menambah Data Jenis Jasa ............................................................................. 26
Tabel 3. 17 Mengupdate Data Jenis Jasa ........................................................................... 26
Tabel 3. 18 Mengubah Data Pesanan Servis ...................................................................... 27
Tabel 3. 19 Cek Data Penjualan ......................................................................................... 28
Tabel 3. 20 Mencetak Nota Servis ..................................................................................... 28
Tabel 3. 21 Melihat Record Servis .................................................................................... 29
Tabel 3. 22 Tabel jenis Suku Cadang ................................................................................ 54
Tabel 3. 23 Tabel Suku Cadang ......................................................................................... 54
Tabel 3. 24 Tabel Merek .................................................................................................... 54
Tabel 3. 25 Tabel Motor ................................................................................................... 55
Tabel 3. 26 Tabel Jenis Motor ........................................................................................... 55
Tabel 3. 27 Tabel Konsumen ............................................................................................. 55
xviii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tabel 3. 28 Tabel Servis .................................................................................................... 55
Tabel 3. 29 Tabel Detil Jasa ............................................................................................... 56
Tabel 3. 30 Tabel Jasa Servis ............................................................................................. 56
Tabel 3. 31 Tabel Pemesanan ............................................................................................ 56
Tabel 3. 32 Tabel Sk Motor ............................................................................................... 56
Tabel 5. 1 Tabel Proses Transaksi dengan 2PL ............................................................... 105
Tabel 5. 2 Hasil Pertanyaan 1 .......................................................................................... 106
Tabel 5. 3 Hasil Pertanyaan 2 .......................................................................................... 106
Tabel 5. 4 Hasil Pertanyaan 3 .......................................................................................... 107
Tabel 5. 5 Hasil Pertanyaan 4 .......................................................................................... 107
Tabel 5. 6 Hasil Pertanyaan 5 .......................................................................................... 107
Tabel 5. 7 Hasil Pertanyaan 6 .......................................................................................... 108
Tabel 5. 8 Hasil Pertanyaan 7 .......................................................................................... 108
Tabel 5. 9 Hasil Pertanyaan 8 .......................................................................................... 109
xix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR LISTING
Listing 4. 1 Stored Procedure Tambah Suku Cadang ....................................................... 63
Listing 4. 2 Stored Procedure Hapus Sk Pesan ................................................................. 63
Listing 4. 3 Stored Procedure Tambah Sk......................................................................... 64
Listing 4. 4 Stored Procedure Servis ................................................................................. 66
Listing 4. 5 Daftar Servis ................................................................................................... 67
Listing 4. 6 Menampilkan Jdialog ..................................................................................... 67
Listing 4. 7 Mencari No Nota ............................................................................................ 68
Listing 4. 8 Method Show .................................................................................................. 68
Listing 4. 9 Ubah Data ....................................................................................................... 68
Listing 4. 10 Histori servis ................................................................................................. 69
Listing 4. 11 Simpan Konsumen Baru ............................................................................... 70
Listing 4. 12 Update Data Konsumen................................................................................ 71
Listing 4. 13 Cari Konsumen ............................................................................................. 71
Listing 4. 14 Simpan Data Kendaraan ............................................................................... 72
Listing 4. 15 Update Data Kendaraan................................................................................ 73
Listing 4. 16 Menampilkana Jdialog Tambah Suku Cadang ............................................. 74
Listing 4. 17 Tambah dan Update Pesanan ....................................................................... 76
Listing 4. 18 Batal Pemesanan ........................................................................................... 76
Listing 4. 19 Menampilkan Form Tambah Jasa................................................................. 77
Listing 4. 20 Penghitungan Diskon .................................................................................... 78
Listing 4. 21 Menutup Form Tambah Jasa ........................................................................ 78
Listing 4. 22 Menyimpan Jasa Servis ................................................................................ 79
Listing 4. 23 Memanggil Jasper Report ............................................................................. 80
Listing 4. 24 Menampilkan Form Cari Nota ...................................................................... 82
Listing 4. 25 Cari No Nota ................................................................................................. 82
Listing 4. 26 Menutup Form Cari No Nota........................................................................ 83
Listing 4. 27 Cari Semua Suku Cadang ............................................................................. 84
Listing 4. 28 Cari Kategori ................................................................................................ 84
Listing 4. 29 Simpan Suku Cadang.................................................................................... 84
Listing 4. 30 Update Data Sk ............................................................................................. 85
Listing 4. 31 Tombol Batal ................................................................................................ 85
xx
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Listing 4. 32 Autonumber Jenis Sk .................................................................................... 87
Listing 4. 33 Simpan Jenis Sk ............................................................................................ 87
Listing 4. 34 Update Jenis Sk ............................................................................................ 87
Listing 4. 35 Tombol Batal ................................................................................................ 88
Listing 4. 36 Autonumber Motor ....................................................................................... 89
Listing 4. 37 Simpan Jenis Motor ...................................................................................... 89
Listing 4. 38 Update Jenis Motor ...................................................................................... 90
Listing 4. 39 Tombol Batal ................................................................................................ 90
Listing 4. 40 Menampilkan Jdialog Tambah Sk Motor ..................................................... 90
Listing 4. 41 Menambahkan Suku Cadang Kedalam Motor Tertentu ............................... 91
Listing 4. 42 Menghapus Suku Cadang Motor Tertentu.................................................... 91
Listing 4. 43 Autonumber Merek....................................................................................... 92
Listing 4. 44 Simpan Merek............................................................................................... 93
Listing 4. 45 Update Merek ............................................................................................... 93
Listing 4. 46 Tombol Batal ................................................................................................ 93
Listing 4. 47 Autonumber Jasa .......................................................................................... 95
Listing 4. 48 Simpan Jenis Sk ............................................................................................ 95
Listing 4. 49 Update Jenis Jasa .......................................................................................... 95
Listing 4. 50 Tombol batal ................................................................................................. 96
Listing 4. 51 Cek Penjualan ............................................................................................... 96
Listing 4. 52 Cari No Polisi ............................................................................................... 97
Listing 4. 53 Cari Data Servis ............................................................................................ 98
xxi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR GRAFIK
Grafik 5. 1 Grafik Kuisioner ........................................................................................................ 110
xxii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Bengkel merupakan tempat perawatan kendaraan bermotor untuk menjaga
performanya agar tetap maksimal. Bengkel juga dapat memperbaiki segala kerusakan
yang dialami kendaraan bermotor dalam penggunaanya. Para pemilik kendaraan
bermotor akan melakukan servis berkala untuk merawat ataupun untuk memperbaiki
kendaraan mereka. Proses pelayanan dalam suatu bengkel dimulai saat staff
administrator menanyakan apa keluhan konsumen, apakah hanya ingin servis ringan
saja atau ingin mengganti beberapa bagian yang rusak. Setelah staff administrator
mengumpulkan informasi dari konsumen, staff administrator akan memprosesnya dan
menyerahkan tugas kepada mekanik berikut suku cadang yang dibutuhkan . Kumpulan
data transaksi yang dimiliki sebuah bengkel inilah yang merupakan asset berharga bagi
bengkel itu sendiri, salah satu fungsinya adalah untuk membantu meningkatkan kualitas
pelayanan pada bengkel tersebut.
Bengkel “ Anugrah Motor “ adalah bengkel yang sama dengan bengkelbengkel resmi yang sudah ada saat ini, yang membedakan bengkel ini dari bengkel
resmi adalah jika di bengkel resmi mematok biaya jasa servis sesuai dengan ketentuan
perusahaan . maka di bengkel ini akan memberikan diskon khusus atau harga khusus
yang akan diberikan kepada pelanggan dengan kebijakan dari pemilik bengkel. Bengkel
“Anugrah Motor” memiliki 2 staff administrator yang akan melayani pelanggan mulai
dari pendaftaran sampai pengecekan suku cadang yang dibutuhkan dalam servis.
Bengkel “Anugrah Motor” masih menggunakan cara penyimpanan dan pengumpulan
data-data dengan bentuk manual ditulis menggunakan kertas nota. Hal ini memiliki
banyak kelemahan diantaranya tidak bisa langsung merekap data, kemungkinan data
hilang akan semakin besar dan juga akan berakibat juga pada kinerja staff administrator
dalam melakukan pengecekan stok suku cadang yang akan dibutuhkan dalam proses
servis karena pasti akan sulit mengecek stock suku cadang yang pendataannya masih
belum terkomputerisasi. Dengan otomatis staff administrator akan kesulitan dalam
menentukan apakah barang yang dibutuhkan masih ada atau tidak dengan jumlah stok
yang akan sulit ditentukan. Dari sinilah maka akan dibuat sistem yang dapat
memudahkan staff administrator dalam melakukan proses dari pendaftaran sampai
dengan pengecekan stock sparepart yang dibutuhkan, program ini akan digunakan di
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
lingkungan multiuser sehingga dalam sistem ini juga harus ditanamkan teknologi
manajemen transaksi dengan menerapkan protokol Two Phase Locking.
Protokol Two Phase Locking akan melakukan penguncian data pada saat salah
satu staff administrator melakukan transaksi untuk mengurangi maupun menambah stok
barang sehingga jika staff administrator yang lain juga akan melakukan transaksi maka
transaksi oleh staff administrator kedua harus menunggu transaksi dari staff
administrator pertama selesai. Sehingga dengan program yang akan dibuat dapat
mengefisienkan kinerja staff administrator yang bertugas sekaligus dapat mengurangi
kemungkinan ketidak konsistenan data stok suku cadang.
1.2 Rumusan Masalah
Dari latar belakang yang telah dibuat maka rumusan masalah yang dapat di
ambil adalah :
1. Bagaimana mengelola data transaksi bengkel dalam lingkungan multiuser
demi menjaga kekonsistenan data dengan menerapkan manajemen transaksi.
2. Bagaimana hasil pengujian sistem untuk mempermudah kinerja staff
administrator bengkel.
3. Apakah protokol Two Phase Locking dapat berfungsi dengan baik.
1.3 Tujuan
Tujuan dibangunnya sistem ini adalah mengembangkan aplikasi pengelolaan
traksaksi servis dan suku cadang bengkel Anugrah Motor yang menerapkan manajemen
transaksi dengan protokol Two Phase Locking.
1.4 Batasan
Sistem yang akan dibangun memiliki beberapa batasan :
1. Aplikasi ini hanya berjalan dalam aplikasi desktop.
2. Aplikasi ini hanya menangani penghitungan keuangan tanpa menangani
sistem keuangan.
3. Pembayaran dilakukan secara langsung di bengkel tempat servis.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
1.5 Metodologi
Metodologi yang akan digunakan adalah studi kasus dengan langkah-langkah
sebagai berikut :
1. Observasi
Melakukan observasi pada bengkel dan melakukan wawancara kepada pemilik
bengkel.
2. Studi Pustaka
Mempelajari referensi tentang Java yang akan digunakan atau diterapkan dalam
pengembangan aplikasi.
3. Pembuatan Aplikasi Pengolahan Data Bengkel Motor, dengan tahap-tahap
sebagai berikut :
a. Analisa sistem :
Merupakan tahap untuk pengumpulan kebutuhan yang diperlukan dalam
pembuatan aplikasi, yang dilakukan melalui wawancara dan observasi.
b. Desain sistem :
Perancangan interface dan database yang berkaitan dengan pembuatan
aplikasi pengolahan data bengkel motor.
c. Implementasi Sistem :
Dalam tahap ini akan dilakukan pembuatan aplikasi sesuai dengan desain
yang sudah di rancang.
d. Uji coba sistem
Pada tahap ini akan digunakan untuk mencari kesalahan maupun kekurangan
dari aplikasi yang dibuat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
1.6 Sistematika Penulisan
Dalam penulisan skripsi ini sistematika penulisan dibagi menjadi 5 bab yaitu :
1. Bab I Pendahuluan
Dalam bab ini dimuat mengenai latar belakang masalah, perumusan maslah,
tujuan dibangun aplikasi, batasan masalah, metode penelitian (Metodologi), dan
sistematika penulisan.
2. Bab II Landasan Teori
Dalam bab ini dimuat tengang teori yang melandasi pembuatan aplikasi untuk
“Aplikasi Pengolahan Data Transaksi Bengkel Motor Dengan Menerapkan Protokol
Two Phase Locking”.
3. Bab III Analisa dan Perancangan Aplikasi
Dalam bab ini dimuat detil rancangan sistem serta analisa sistem. Akan
dijelaskan mengenai perancangan sistem dengan bantuan class diagram, use case
diagram, sequence diagram, activity diagram.
4. Bab IV Implementais Sistem dan Pembahasan Hasil
Dalam bab ini menjelaskan mengenai implementasi dari aplikasi yang dibuat
serta hasil pembahasan aplikasi.
5. Bab V Kesimpulan dan Saran
Dalam bab ini dimuat mengenai kesimpulan pembahasan dan saran yang
berguna untuk mengembangkan aplikasi ini lebih lanjut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
BAB II
LANDASAN TEORI
2.1 Manajemen Transaksi
Transaksi merupakan sebuah atau serangkaian aksi yang dilakukan oleh
tunggal atau program aplikasi dengan membaca atau mengubah isi dari basis data
(Connolly; 2002). Transaksi merupakan sebuah unit kerja logis dalam basis data yang
terdiri dari satu atau lebih kalimat SQL dan dapat melibatkan sejumlah operasi pada
basis data. Transaksi merupakan unit yang atomic. Sebuah transaksi akan memiliki dua
buah keluaran yaitu :
a. Jika transaksi sukses, maka transaksi dapat dikatakan telah melakukan
commit dan basis data telah mencapai keadaan konsistensi yang baru. Transaksi commit,
maka tidak dapat dibatalkan. Sebuah transaksi yang telah dilakukan (Commited
transaction), tidak dapat dibatalkan. Jika diputuskan bahwa transaksi yang telah
dilakukan tersebut memiliki suatu kesalahan, kita harus melakukan transaksi pengganti
untuk mengembalikan pengaruhnya.
b. Sebaliknya jika transaksi gagal dieksekusi, maka basis data harus
dikembalikan ke keadaan yang konsisten seperti pada saat transaksi belum dimulai.
Transaksi ini disebut rolled back atau undone atau tidak dilakukan.
Statement begin transaction, commit dan rollback merupakan statement DML
yang berfungsi untuk membatasi transaksi-transaksi. Jika statement
tersebut tidak
digunakan, maka dianggap sebagai transaksi tunggal yang dianggap commit
saat
program selesai dijalankan dengan benar, dan rollback jika tidak (Connolly; 2002).
Ada 4 hal dasar yang harus dimiliki semua transaksi, hal ini sering disebut
ACID , yaitu :
a. Atomicity, dimana keadaan transaksi yang tidak dapat dibagi-bagi lagi yang
dilakukan secara keseluruhan atau tidak sama sekali.
b. Consistency, dimana suatu keadaan basis data dapat dirubah dari suatu
konsistensi ke konsistensi yang lain.
c. Isolation, dimana suatu keadaan transaksi itu bebas, suatu transaksi tidak
mempengaruhi transaksi yang lain.
d. Durability, dimana transaksi dapat dicatat secara permanen dan tidak bisa
hilang dalam basis data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
2.1.1 Concurency Control
Concurrency Control atau akses secara bersamaan, merupakan proses
pengelolaan operasi yang berjalan secara bersamaan dalam basis data tanpa harus saling
mengganggu satu dengan lainnya. Bedanya dengan manajemen transaksi adalah untuk
menangani transaksi dengan masalah pengontrolan akses user secara bersamaan supaya
tidak terjadi lose update data. Tujuan utama pengembangan basis data adalah adanya
kemampuan untuk mengakses shared data secara bersamaan. Ada 3 masalah yang
dapat disebabkan oleh concurrency control, yaitu :
a. masalah hilangnya data yang diubah (the lost update problem).
b. masalah ketergantungan transaksi
yang belum dilaksanakan (The
Uncommitted Dependency Problem).
c. masalah analisa yang tidak konsisten (the inconsistent analysis problem).
2.1.2 Two Phase Locking atau 2pl
Sebuah transaksi akan menerapkan protocol 2PL jika semua operasi locking
mendahului operasi unlocking yang pertama dalam transaksi tersebut.
Setiap transaksi dibagi menjadi 2 fase yaitu :
1. Growing Phase : fase ini memperoleh semua locks yang dibutuhkan, tetapi
tidak dapat melepaskan satu lock pun.
2. Shrinking Phase : fase ini melepaskan semua locks yang dimiliki, tetapi
tidak dapat
Berikut ini adalah contoh penggunaan dari protolol 2PL :
a. Mencegah masalah hilangnya data yang diubah (the lost update problem).
Table 2.1 merupakan table penjelasan mengenai masalah hilangnya data yang
diubah
Tabel 2. 1 Masalah Hilangnya Data yang Diubah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
Keterangan :
Untuk mencegah terjadinya masalah hilangnya data yang diubah, maka :
pertama-tama T2 meminta exclusive lock pada balₓ Setelah itu T2 dapat melakukan
proses baca nilai balₓ, menambahnya dengan nilai 100, dan menuliskan nilai baru dari
baₓ tersebut kedalam basis data.
Saat T1 memulai transaksi, T1 juga meminta suatu exclusive lock pada balₓ,
namu karena balₓ sedang berada dalam posisi exclusive lock oleh T2, maka permintaan
read balₓ tidak segera diberikan kepada T1 dan T1 harus menunggu sampai lock
dipelaskan oleh T2. Hal ini terjadi saat T2 melaksanakan operasi commit atau unlock
balₓ (Connoly; 2002).
b. Mencegah masalah ketergantungan transaksi yang belum dilaksanakan (the
uncommitted dependency problem).
tabel 2.2 merupakan tabel penjelasan mengenai masalah ketergantungan
transaksi yang belum dilaksanakan.
Tabel 2. 2 Masalah Ketergantungan Transaksi yang Belum Dilaksanakan
Keterangan :
Untuk mencegah terjadinya masalah ketergantungan transaksi yang belum
dilaksanakan , maka : pertama-tama T4 meminta suatu exclusive lock pada balₓ Setelah
itu, T4 dapat melakukan proses baca nilai balₓ dari dalam basis data, menambahnya
dengan nilai 100, dan meluliskan nilai baru balₓ tersebut kedalam basis data. rollback
dieksekusi , peng-update-an pada transaksi T4 tidak jadi dilakukan dan nilai dalam
basis data dikembalikan ke kondisi semula yaitu 100.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
Saat T3 memulai transaksi T3 juga meminta suatu exclusive lock pada balₓ,
namun karena balₓ sedang dalam posisi exclusive lock oleh T4, maka, permintaan
tersebut tidak segera diberikan kepada T3, dan T3 harus menunggu sampai lock
dilepaskan oleh T4. Hal ini terjadi saat T4 melaksanakan operasi rollback atau unlock
balₓ, barulah T3 dapat melakukan proses baca nilai balₓ (Connoly; 2002)
c. Mencegah masalah analisis yang tidak konsisten (the inconsisteng analysis
problem).
Tabel 2.3 merupakan tabel penjelasan mengenai masalah analisis yang tidak
konsisten
Tabel 2. 3 Masalah Analisis yang Tidak Konsisten
Keterangan :
Untuk mencegah terjadinya masalah analisis yang tidak konsisten, maka : T5
mengawali meminta suatu exclusive lock pada balₓ. T5 juga meminta suatu exclusive
lock pada balᵧ . Saat T6 ingin membaca nilai balₓ, ia harus menunggu sampai lock
dilepaskan oleh T5. Hal ini terjadi saat T5 melaksanakan operasi commit atau unlock
balₓ, barulah T6 dapat membaca nilai balₓ (Connolly; 2002).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
Untuk mengatasi masalah diatas, mesin basis data oracle XE mempunyai
kemampuan
mendukung
transaksi
dengan
metode
2PL
yang
dapat
menjaminkonsistensi data. ketiga contoh permasalahan yang dapat timbul akibat dua
atau lebih transaksi yang dieksekusi secara bersamaan (concurency) dapat diselesaikan
dengan menerapkan.
a. Tingkat isolasi Serializable.
b. Autocommit dibuat disable.
c. Operasi pembacaan data yang akan diikuti dengan operasi update data
tersebut memberikan exclusive lock dengan cara memberikan perintah for update
setelah perintah select. Teknik ini merupakan salah satu alternatif dalam menerapkan
2pl dalam mesin basis data Oracle XE sehingga tidak menutup kemungkinan
melakukan penelitian untuk mencari alternatif lain dalam menjaga konsistensi data
(Darmawan; 2007).
2.2 Pemodelan
“Pemodelan use case adalah proses memodelkan fungsi sistem dalam proses
transaksi, siapa yang mnjalankan perintah dan bagaimana sistem merespon perintah
tersebut”(Whitten; 2001).
Use case adalah sebuah diagram yang menggambarkan interaksi antara sistem
dan eksternal sistem serta user
Symbol symbol pada pemodelan use case.
2.2.1 Use case
“Use case adalah aksi yang terkait dengan urutan langkah atau skenario, baik
otomatis dan manual dengan tujuan meyelesaikan sebuah proses bisnis tunggal"
(Whitten; 2001). simbol use case akan disajikan dalam gambar 2.1.
Use case
Gambar 2. 1 Use Case
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
2.2.2 Actor
“Aktor mewakili semua yang memerlukan interaksi dengan sistem untuk
bertukar suatu informasi" (Whitten; 2001) simbol aktor akan disajikan dalam gambar
2.2.
Actor
Gambar 2. 2 Aktor
2.2.3 Use Case Association Relationship
Adalah relasi antara actor dan sebuah use case, dimana terjadi interaksi antara
actor dan use case. simbol relasi akan disajikan dalam gambar 2.3.
Use case
Association relationship
Actor
Gambar 2. 3 Relasi
e
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
2.3 Entity Relationship Diagram (ERD)
Entity Relationship diagram (ERD) merupakan teknik yang digunakan untuk
memodelkan kebutuhan data dari suatu organisasi (Brady dan Loonam 2010), ERD
merupakan suatu model yang dibuat untuk menjalaskan hubungan antar data dalam
basis data, dalam pembuatanya erd menggunakan beberapa notasi dan simbol.
Ada tiga komponen dasar yang digunakan yaitu :
2.3.1 Entitas
Adalah objek yang mewakili sesuatu yang nyata dan dapat dibedakan dari
sesuatu yang lain sebagai contoh : mahasiswa, dosen yang akan digambarkan seperti
pada gambar 2.4.
Gambar 2. 4 Entitas
2.3.2 Atribut
Adalah setiap elemen yang dimiliki oleh entitas untuk mendeskripsikan
karakteristik dari entitas tersebut sebagai contoh mahasiswa memiliki nama, nim, notlp,
alamat yang akan digambarkan seperti pada gambar 2.5.
Gambar 2. 5 Atribut
2.3.3 Relasi
Adalah hubungan dari beberapa entitas yang dihubungkan dengan garis lurus
untuk menghubungkan dua entitas yang berbeda sebagai contoh entitas mahasiswa dan
entitas kuliah maka relasinya adalah mahasiswa mengambil matakuliah yang akan di
gambarkan seperti pada gambar 2.6.
Gambar 2. 6 Relasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
2.4 Conceptual Database Design
Conceptual database design adalah proses membangun suatu model
berdasarkan informasi yang digunakan oleh perusahaan atau organisasi, tanpa
pertimbangan perencanaan fisikal (Connolly; 2002).
Langkah langkah dalam perancangan desain konseptual adalah :
1. Mengidentifikasi tipe entitas.
2. Mengidentifikasi tipe relasi.
3. Mengidentifikasi dan menggabungkan atribut dan entitas atau relasi.
4. Menentukan domain atribut.
5. Menentukan atribut primary key dan candidate key.
6. Mempertimbagkan penggunaan enhanced modelling concept.
7. Cek model dari redundancy.
8. Memvalidasi model konseptual lokal terhadap pengguna.
9. Melakukan riview data konseptual terhadap pengguna.
2.5 Logical Database Design
Logical database design adalah proses pembuatan suatu model informasi yang
digunakan pada perusahaan berdasarkan pada sebuah model data yang spesifik tetapi
bebas dari fakta fakta DBMS dan pertimbangan fisik lainnya (Connolly; 2002).
Langkah langkah dalam perancangan desain logikal adalah :
1. Menentukan relasi untuk model data logikal.
2. Memvalidasi relasi dengan menggunakan normalisasi.
3. Memvalidasi relasi terhadap transaksi pengguna.
4. menentukan integrity constraint.
5. mengecek model data logikal lokal dengan pengguna.
6. menggabungkan kmodel data logical menjadi model data global.
7. memeriksa pertumbuhan selanjutnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
2.6 Physical Database Design
Physical database design adalah proses untuk menghasilkan gambaran dari
implementasi basis data pada tempat penyimpanan, menjelaskan dasar dari relasi,
organisasi, file dan indeks yang digunakan untuk efisiensi data dan menghubungkan
beberapa integrity constraint dan tindakan keamanan (Connolly; 2002).
langkah langkah dalam perancangan desain fisikal adalah
1. Merancang basis relasional
Dalam memulai merancang desain fisikal, diperlukan untuk mengumpulkan
dan memahami informasi tentang relasi yang dihasilkan dari desain logikal.
2. Merancang represtasi dari data yang diperoleh
bertujuan untuk
menentukan bagaimana setiap data
merepresentasikan semua model data logikal.
3. Merancang Batasan umum
bertujuan untuk merancang batasan yang ada pada perusahaan.
yang diperoleh
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
BAB III
ANALISIS DAN PERANCANGAN SISTEM
3.1 Gambaran Sistem Lama
Bengkel “Anugrah Motor” adalah bengkel yang melayani perbaikan maupun
servis rutin sepeda motor. Proses servis akan bermula dari pendaftaran konsumen ke
staff administrator untuk mendapatkan antrian dimana tahap-tahapnya akan akan
berjalan seperti berikut :
Konsumen mendaftarkan kendaraanya
1. Staff administrator akan meminta data-data kendaraan.
2. Staff administrator menanyakan keluhan dari konsumen.
3. Staff administrator mencatat semua dalam satu nota (tertulis).
4. Staff administrator akan mengecek stok suku cadang yang digunakan dan
melakukan pengambilan barang (pendataan stok dalam bentuk tertulis).
5. Setelah semua proses pendaftaran selesai maka staff administrator akan
memberikan daftar pekerjaan pada mekanik yang bertugas untuk menjalankan proses
servis. Pembayaran secara langsung di staff administrator setelah proses servis selesai.
Tentu saja dengan sistem yang sudah ada ini akan menyulitkan kerja staff
administrator dalam proses pengecekan stok suku cadang yang digunakan dan juga
untuk mengurangi stok barang yang di gunakan hal ini akan menjadi masalah ketika
aplikasi diakses oleh lebih dari satu staff administrator. dan juga pencatatan record
servis dari sebuah kendaraan juga dilakukan serara tertulis.
3.2 Gambaran Sistem Baru
Aplikasi baru yang akan dibuat ini memiliki tujuan untuk mempermudah
kinerja staff administrator untuk mengecek stok suku cadang, melakukan pencatatan
semua data data yang dibutuhkan dalam proses servis, melakukan perhitungan biaya
yang dibutuhkan, dan juga dapat melakukan pengecekan record servis dari sebuah
kendaraan.
Aplikasi yang dibuat disini bisa melakukan beberapa hal diantaranya
1. Bisa mencatat data – data kendaraan dari kendaraan yang di servis.
2. Bisa mencatat keluhan dari konsumen mengenai kendaraannya.
3. Bisa melakukan pengecekan stok suku cadang yang dibutuhkan sekaligus
mengurangi stok suku cadang yang dibutuhkan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
4. Bisa melakukan perhitungan total biaya servis.
5. Bisa melihat record servis dari kendaraan tertentu.
Aplikasi baru yang dikembangkan akan digunakan di lingkungan multi user
atau bisa diakses oleh lebih dari satu orang
aplikasi ini akan melakukan kontrol
terhadap concurrency dalam database saat dilakukan update stok oleh staff
administrator dikarenakan pengambilan barang untuk proses servis
ataupun
penambahan stok sukucadang. Untuk mengatasi salah satu masalah concurrency yaitu
Lost update problem dan Uncomited Dependency Problem maka aplikasi ini dibuat
dengan menerapkan protocol Two Phase Locking.
3.3 Requirment Analysis
3.3.1 Use Case Diagram
Berikut ini adalah diagram use case yang akan disajikan dalam gambar 3.1.
Gambar 3. 1 Use Case
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
3.3.2 Definisi Aktor
Berikut ini adalah definisi aktor yang akan di sajikan dalam tabel 3.1.
No
1
Aktor
Deskripsi
Operator
Aktor ini adalah operator dari sistem dimana bisa
(staff administrator menambah transaksi servis, mengedit data konsumen,
kendaraan konsumen, suku cadang, jenis suku cadang,
bengkel)
jenis motor, merek motor, jenis jasa, pesanan servis,
mencetak nota servis dan melihat record transaksi
Tabel 3. 1 Definisi Aktor
3.3.3 Definisi Use Case
Berikut ini adalah definisi use case yang akan di sajikan dalam tabel 3.2
No
Use Case
Deskripsi
1
Menambah transaksi Sistem akan memasukkan data transaksi yang dibuat
servis
oleh administrator kedalam tabel
2
Mengedit
konsumen
3
4
Mengedit data
kendaraan
konsumen
Mengedit
sukucadang
data administrator bisa menambah dan mengupdate. data
konsumen dalam database
administrator bisa menambah dan mengupdate data
kendaraan dalam database
data administrator bisa menambah dan mengupdate data
suku cadang dalam database
5
Mengedit data jenis administrator bisa menambah dan mengupdate data
sukucadang
jenis suku cadang dalam database
6
Mengedit data jenis administrator bisa menambah dan mengupdate data
motor
jenis motor dalam database
7
Mengedit
merek motor
data administrator bisa menambah dan mengupdate data
merek motor dalam database
8
Mengedit data jenis administrator bisa menambah dan mengupdate data
Jasa service
jasa service dalam database
9
Mengedit
data administrator bisa menambah , menghapus dan
pesanan servis
mengupdate data pesanan servis
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
10
Mengecek penjualan administrator bisa mengecek total penjualan suku
suku cadang
cadang dalam bulan tertentu dan tahun tertentu
11
Mencetak
servis
nota administrator bisa mencetak nota akhir dari proses
servis yang berisi detail servis dan detail jasa berikut
total biaya yang harus dibayar
12
Melihat
record administrator menampilkan detil record servis dari
transaksi servis
konsumen tertentu
Tabel 3. 2 Definisi Use Case
3.3.4 Skenario Use Case
Skenario
Skenario
: Menambah transaksi servis.
Kondisi awal
:-
Kondisi akhir
: Data tersimpan dalam database.
Actor
: Operator (staff administrator bengkel).
Berikut iini adalah definisi use case untuk menambah transaksi servis yang akan
disajikan dalam tabel 3.3.
Aktor
1.
Sistem
Menekan tombol daftar service
2. Menampilkan form konsumen
3. Mengisi data konsumen
4. Menekan tombol lanjut
5. Menampilkan form kendaraan
6. Mengisi data kendaraan
7. Menekan tombol lanjut
8. Menampilkan form
sukucadang
9. Memilih suku cadang yang digunakan
10. Menekan tombol lanjut
11. Menampilkan form keluhan,
jasa, kilometer dan detil biaya total
service
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
12. Mengisi data keluhan, kilometer masuk ,
jasa , dan diskon
13. Menekan tombol pesan
14. Menyimpan dalam database
15. Menampilkan nota transaksi
Tabel 3. 3 Menambah Transaksi
Skenario
Skenario
: Menyimpan data konsumen.
Kondsi awal
:-
Kondisi Akhir
: Data konsumen akan ditampilkan dalam tabel konsumen.
Actor
: Operator (staff administrator bengkel).
Berikut ini adalah definisi use case untuk menyimpan data konsumen yang akan
disajikan dalam tabel 3.4.
Aktor
Sistem
1. Memilih tombol daftar service
2. Menampilkan form isian data
konsumen
3. Mengubah data data konsumen
4. Menekan tombol simpan
5. Sistem akan menyimpan data
konsumen
6. Sistem akan menampilkan data
konsumen dalam tabel
Tabel 3. 4 Menyimpan Data Konsumen
Skenario
Skenario
: Mengedit data konsumen.
Kondsi awal
:-
Kondisi Akhir
: Data konsumen akan ditampilkan dalam tabel konsumen.
Actor
: Operator (staff administrator bengkel).
Berikut ini adalah definisi use case untuk mengubah data konsumen yang akan
disajikan dalam tabel 3.5.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
Aktor
Sistem
1. Memilih tombol daftar service
2. Menampilkan form isian data
konsumen
3. Mengubah data data konsumen
4. Menekan tombol update
5. Sistem akan mengupdate data
konsumen
6.Sistem akan menampilkan data
konsumen dalam tabel
Tabel 3. 5 Mengedit Data Konsumen
Skenario
Skenario
: Menyimpan data motor.
Kondsi awal
: Form data konsumen telah terisi.
Kondisi Akhir
: Data motor akan ditampilkan dalam tabel motor.
Actor
: Operator (staff administrator bengkel).
Berikut ini adalah definisi use case untuk menyimpan data motor yang akan
disajikan dalam tabel 3.6
Aktor
1. Menekan
tombol
lanjut
Sistem
pada
form
konsumen
2. Menampilkan form data kendaraan
4. Mengisi data kendaraan secara lengkap
5. Menekan tombol simpan
6. Sistem akan menyimpan data
motor dengan kode konsumen
yang telah diisikan
7. Sistem akan menampilkan data
kendaraan dalam tabel
Tabel 3. 6 Menyimpan Data Motor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
Skenario
Skenario
: Mengubah data motor.
Kondsi awal
: Form data konsumen telah terisi.
Kondisi Akhir
: Data motor baru akan ditampilkan dalam tabel motor.
Actor
: Operator (staff administrator bengkel).
Berikut ini adalah definisi use case untuk mengubah data motor yang akan
disajikan dalam tabel 3.7.
Aktor
Sistem
1. Menekan tombol lanjut pada form
konsumen
2. Menampilkan form data kendaraan
3. Mengubah data kendaraan secara lengkap
4. Menekan tombol update
5. Sistem akan mengupdate data
motor
6. Sistem akan menampilkan data
kendaraan baru dalam tabel
Tabel 3. 7 Mengedit Data Motor
Skenario
Skenario
: Menambah data suku cadang.
Kondisi awal
: Dalam menu ubah data (data suku cadang).
Kondisi akhir
: Data stok suku cadang baru ditampilkan dalam tabel suku
cadang.
Actor
: Operator (staff administrator bengkel).
Berikut ini adalah definisi use case untuk menambah data suku cadang yang akan
disajikan dalam tabel 3.8.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
Aktor
Sistem
1. Sistem menampilkan form suku
cadang
2. Mengisi data suku cadang secara lengkap
3. Menekan tombol simpan
5. Data suku cadang baru akan
tersimpan
6. Data suku cadang ditampilkan
dalam tabel suku cadang
Tabel 3. 8 Menambah Data Suku Cadang
Skenario
Skenario
: Merubah data suku cadang.
Kondisi awal
: Dalam menu ubah data (data suku cadang).
Kondisi akhir
: Data update suku cadang ditampilkan dalam tabel suku
cadang.
Actor
: Operator (staff administrator bengkel).
Berikut ini adalah definisi use case untuk merubah data suku cadang yang akan
disajikan dalam tabel 3.9.
Aktor
Sistem
1. Sistem menampilkan form suku
cadang
2. Memilih data suku cadang yang akan
diupdate
3. Mengubah data suku cadang secara
lengkap
4. Menekan tombol update
5. Data suku cadang akan terupdate
6. Data suku cadang ditampilkan
dalam tabel suku cadang
Tabel 3. 9 Update Data Suku Cadang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
Skenario
Skenario
: Menambah data Jenis suku cadang.
Kondisi awal
: Dalam menu ubah data (data jenis suku cadang).
Kondisi akhir
: Data jenis suku cadang baru ditampilkan dalam tabel jenis
suku cadang.
Actor
: Operator (staff administrator bengkel).
berikut ini adalah definisi use case untuk menambah data jenis suku cadang yang
akan disajikan dalam tabel 3.10.
Aktor
Sistem
1. Sistem menampilkan form jenis
suku cadang
2. Mengisi data jenis suku cadang secara
lengkap
3. Menekan tombol simpan
4. Data jenis suku cadang baru akan
tersimpan
5.
Data
jenis
suku
cadang
ditampilkan dalam tabel suku cadang
Tabel 3. 10 Menambah Data Jenis Suku Cadang
Skenario
Skenario
: Merubah data jenis suku cadang.
Kondisi awal
: Dalam menu ubah data (data jenis suku cadang).
Kondisi akhir
: Data update jenis suku cadang ditampilkan dalam tabel jenis
suku cadang.
Actor
: Operator (staff administrator bengkel).
berikut ini adalah definisi use case untuk merubah data jenis suku cadang yang
akan disajikan dalam tabel 3.11.
Aktor
Sistem
1. Sistem menampilkan form jenis
suku cadang
2. Memilih data jenis suku cadang yang akan
diupdate
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
3. Mengubah data jenis suku cadang secara
lengkap
4. Menekan tombol update
5. Data jenis suku cadang akan
terupdate
6.
Data
jenis
suku
cadang
ditampilkan dalam tabel jenis suku
cadang
Tabel 3. 11 Mengupdate Data Jenis Suku Cadang
Skenario
Skenario
: Menambah data jenis motor
Kondisi awal
: Dalam menu ubah data (data jenis motor)
Kondisi akhir
: Data jenis motor baru ditampilkan dalam tabel jenis motor
Actor
: Operator (staff administrator bengkel)
berikut ini adalah definisi use case untuk menambah data jenis motor yang akan
disajikan dalam tabel 3.12.
Aktor
Sistem
1. Sistem menampilkan form jenis
motor
2. Mengisi data jenis motor secara lengkap
3. Menekan tombol simpan
4. Data jenis motor baru akan
tersimpan
5. Data jenis motor ditampilkan
dalam tabel jenis motor
6. Menekan tombol tambak sk motor
7. Menampilkan form sk motor
8. Menambahkan data sk motor
9. Data sk motor tersimpan
10. Data sk motor ditampilkan dalam
tabel sk motor
Tabel 3. 12 Menambah Data Jenis Motor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
Skenario
Skenario
: Merubah data jenis motor.
Kondisi awal
: Dalam menu ubah data (data jenis motor).
Kondisi akhir
: Data update jenis motor ditampilkan dalam tabel jenis
suku cadang.
Actor
: Operator (staff administrator bengkel).
berikut ini adalah definisi use case untuk merubah data jenis motor yang akan
disajikan dalam tabel 3.13.
Aktor
Sistem
1. Sistem menampilkan form jenis
motor
2. Memilih data jenis motor yang akan
diupdate
3. Mengubah data jenis motor secara
lengkap
4. Menekan tombol update
5. Data jenis motor akan terupdate
6. Data jenis motor ditampilkan
dalam tabel jenis motor
Tabel 3. 13 Mengupdate Data Jenis Motor
Skenario
Skenario
: Menambah data merek.
Kondisi awal
: Dalam menu ubah data (data merek).
Kondisi akhir
: Data merek baru ditampilkan dalam tabel merek.
Actor
: Operator (staff administrator bengkel).
berikut ini adalah definisi use case untuk menambah data merek yang akan
disajikan dalam tabel 3.14.
Aktor
Sistem
1. Sistem menampilkan form merek
2. Mengisi data merek secara lengkap
3. Menekan tombol simpan
4. Data merek baru akan tersimpan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
5. Data merek ditampilkan dalam
tabel merek
Tabel 3. 14 Menambah Data Merek
Skenario
Skenario
: Merubah data merek.
Kondisi awal
: Dalam menu ubah data (data merek).
Kondisi akhir
: Data update merek ditampilkan dalam tabel merek.
Actor
: Operator (staff administrator bengkel).
berikut ini adalah definisi use case untuk merubah data merek yang akan disajikan
dalam tabel 3.15.
Aktor
Sistem
1. Sistem menampilkan form merek
2. Memilih data merek yang akan diupdate
3. Mengubah data merek secara lengkap
4. Menekan tombol update
5. Data merek akan terupdate
6. Data merek ditampilkan dalam
tabel merek
Tabel 3. 15 Mengupdate Data Merek
Skenario
Skenario
: Menambah data jenis jasa.
Kondisi awal
: Dalam menu ubah data (data jenis jasa).
Kondisi akhir
: Data jenis jasa baru ditampilkan dalam tabel jenis jasa.
Actor
: Operator (staff administrator bengkel).
berikut ini adalah definisi use case untuk menambah data jenis jasa yang akan
disajikan dalam tabel 3.16.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
Aktor
Sistem
1. Sistem menampilkan form jenis
jasa
2. Mengisi data jenis jasa secara lengkap
3. Menekan tombol simpan
4. Data jenis jasa baru akan tersimpan
5. Data jenis jasa ditampilkan dalam
tabel jenis jasa
Tabel 3. 16 Menambah Data Jenis Jasa
Skenario
Skenario
: Merubah data jenis jasa.
Kondisi awal
: Dalam menu ubah data (data jenis jasa).
Kondisi akhir
: Data update jenis jasa ditampilkan dalam tabel jenis jasa.
Actor
: Operator (staff administrator bengkel).
berikut ini adalah definisi use case untuk merubah data jenis jasa yang akan
disajikan dalam tabel 3.17.
Aktor
Sistem
1. Sistem menampilkan form jenis
jasa
2. Memilih data jenis jasa yang akan diupdate
3. Mengubah data jenis jasa secara lengkap
4. Menekan tombol update
5. Data jenis jasa akan terupdate
6. Data jenis jasa ditampilkan dalam
tabel jenis jasa
Tabel 3. 17 Mengupdate Data Jenis Jasa
Skenario
Skenario
: Mengubah data pesanan servis.
Kondisi awal
: Sudah melakukan transaksi servis.
Kondisi akhir
: Data pesanan servis akan ditampilkan dalam nota servis.
Actor
: Operator (staff administrator bengkel).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
berikut ini adalah definisi use case untuk merubah data pesanan servis yang akan
disajikan dalam tabel 3.18.
Aktor
Sistem
1. Menekan ubah data pesanan
2. Menampilkan form isian nomor
nota
3. Mengisi nomor nota yang sudah didapat
dalam transaksi servis pertama
4. Menekan tombol cari
5. Menampilkan data suku cadang
pesanan
6. Menambah atau mengurangi suku cadang
yang digunakan
7. Menekan tombol lanjut
8. Menampilkan form keluhan,
kilometer, dan jasa
9. Menambah atau mengurangi data keluhan
kilometer dan jasa
10. Menghitung biaya total
sukucadang, jasa dan total biaya
servis
11. Menekan tombol pesan
12. Menampilkan jasper nota baru
untuk pesanan servis (nota)
Tabel 3. 18 Mengubah Data Pesanan Servis
Skenario
Skenario
: Mengecek penjualan suku cadang.
Kondisi awal
: Sudah dalam menu database.
Kondisi akhir
: Menampilkan total penjualan suku cadang dalam tabel.
Actor
: Operator (staff administrator bengkel).
berikut ini adalah definisi use case untuk mengecek penjualan suku cadang yang
akan disajikan dalam tabel 3.19.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
Aktor
Sistem
1. Aktor menekan tab cek data penjualan
2. Sistem menampilkan form cek
data penjualan
3. Actor memilih bulan dan tahun pada form
cek data penjualan
4. Actor menekan tombol cari
5. sistem menampilkan data sesuai
dengan bulan dan tahun yang di
inginkan dalam tabel
Tabel 3. 19 Cek Data Penjualan
Skenario
Skenario
: Mencetak nota servis.
Kondisi awal
: Sudah mengisi form tambah transaksi servis.
Kondisi akhir
: Menampilkan nota servis dalam jasper.
Actor
: Operator (staff administrator bengkel).
berikut ini adalah definisi use case untuk mencetak nota servis yang akan disajikan
dalam tabel 3.20.
Aktor
Sistem
1. Aktor menekan tombol Pesan pada form
transaksi servis
2. Sistem akan menampilkan jasper
report untuk form nota servis
Tabel 3. 20 Mencetak Nota Servis
Skenario
Skenario
: Melihat record servis.
Kondisi awal
:-
Kondisi akhir
: Menampilkan record transaksi servis.
Actor
: Operator (staff administrator bengkel).
berikut ini adalah definisi use case untuk melibah record servis yang akan disajikan
dalam tabel 3.21.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
Aktor
Sistem
1. Aktor menekan tombol Histori servis
2. Menampilkan table data transaksi
3. Mencari data atau memilih langsung data
yang ditampilkan dalam tabel
4. Menekan tombol detail
5. Menampilkan Detail data yang
dipilih kedalam form
Tabel 3. 21 Melihat Record Servis
3.4 Activity Diagram
Berikut ini adalah diagram aktifitas menambah transakasi yang akan disajikan
dalam gambar 3.2.
Menambah transaksi
Aktor
Sistem
Menekan tombol daftar service
Menampilkan form konsumen
Mengisi data konsumen
Menekan tombol lanjut
Menampilkan form kendaraan
Mengisi data kendaraan
Menekan tombol lanjut
Menampilkan form suku cadang
Memilih suku cadang yang
digunakan
Menekan tombol lanjut
Menampilkan form keluhan,
kilometer , jenis jasa, dan detil
biaya total service
Mengisi data keluhan, kilometer
masuk, jenis jasa
Menekan tombol pesan
Menyimpan dalam database
Menampilkan nota servis
Gambar 3. 2 Diagram Aktifitas Menambah Transaksi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
Berikut ini adalah diagram aktifitas menambah data sukucadang yang akan
disajikan dalam gambar 3.3.
Tambah Suku cadang
Aktor
Sistem
Menampilkan form suku cadang
berikut tabel data yang sudah
ada
Mengisi form tambah data
dengan lengkap
Menekan tombol batal
Menekan tombol simpan
Data akan tersimpan dalam
database
Menampilkan data suku
cadang dalam tabel
Gambar 3. 3 Diagram Aktifitas Menambah Data Suku Cadang
Berikut ini adalah diagram aktifitas mengupdate data suku cadang yang akan
disajikan dalam gambar 3.4.
Update Suku cadang
Aktor
Sistem
Menampilkan form suku cadang
berikut tabel data yang sudah
ada
Memilih data dalam tabel
Menampilkan data yang dipilih
kedalam form
Mengubah data barang dalam
form (data barang masuk /
update data)
Menekan tombol batal
Menekan tombol update
Mengupdate stok dalam
database
Menampilkan data stok barang
dalam tabel
Gambar 3. 4 Diagram Aktifitas Mengupdate Data Suku Cadang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
Berikut ini adalah diagram aktifitas menambah data konsumen yang akan
disajikan dalam gambar 3.5.
Menyimpan Data Konsumen
Aktor
Sistem
Menampilkan form isian data
konsumen
Mengisi data konsumen secara
lengkap
Menekan tombol batal
Menekan tombol Simpan
Menyimpan data konsumen
dalam database
Menampilkan data dalam tabel
Gambar 3. 5 Diagram Aktifitas Menambah Data Konsumen
Berikut ini adalah diagram aktifitas mengupdate data konsumen yang akan
disajikan dalam gambar 3.6.
Mengupdate Data Konsumen
Aktor
Sistem
Menampilkan form isian data
konsumen
Memilih data dalam tabel
Menampilkan data yang dipilih
kedalam form
Mengubah data Konsumen
Menekan tombol batal
Menekan tombol update
Mengupdate Konsumen dalam
database
Menampilkan data Konsumen
dalam tabel
Gambar 3. 6 Diagram Aktifitas Mengupdate Data Konsumen
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
Berikut ini adalah diagram aktifitas menambah data kendaraan yang akan
disajikan dalam gambar 3.7.
Menambah Data Motor
Aktor
Sistem
Menekan tombol lanjut pada
form konsumen
Menampilkan form Data Motor
berikut tabel data yang sudah
ada
Mengisi data kendaraan secara
lengkap
Menekan tombol batal
Menekan tombol Simpan
Menyimpan data kendaraan
dengan kode konsumen yang
telah diisikan dalam database
Menampilkan data Motor dalam
tabel
Gambar 3. 7 Diagram Aktifitas Menambah Data Kendaraan
Berikut ini adalah diagram aktifitas mengupdate data kendaraan yang akan
disajikan dalam gambar 3.8.
Mengubah Data Motor
Aktor
Menekan tombol lanjut pada
form konsumen
Sistem
Menampilkan form Data Motor
berikut tabel data yang sudah
ada
Memilih data dalam tabel
Menampilkan data yang dipilih
kedalam form
Mengubah data Motor
Menekan tombol batal
Menekan tombol update
Mengupdate Motor dalam
database
Menampilkan data Motor dalam
tabel
Gambar 3. 8 Diagram Aktifitas Mengupdate Data Kendaraan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
Berikut ini adalah diagram aktifitas menambah data suku cadang yang akan
disajikan dalam gambar 3.9.
Tambah Suku cadang
Aktor
Sistem
Menampilkan form suku cadang
berikut tabel data yang sudah
ada
Mengisi form tambah data
dengan lengkap
Menekan tombol batal
Menekan tombol simpan
Data akan tersimpan dalam
database
Menampilkan data suku
cadang dalam tabel
Gambar 3. 9 Diagram Aktifitas Menambah Data Suku Cadang
Berikut ini adalah diagram aktifitas mengupdate data suku cadang yang akan
disajikan dalam gambar 3.10.
Update Suku cadang
Aktor
System
Menampilkan form suku cadang
berikut tabel data yang sudah
ada
Memilih data dalam tabel
Menampilkan data yang dipilih
kedalam form
Mengubah data barang dalam
form (data barang masuk /
update data)
Menekan tombol batal
Menekan tombol update
Mengupdate stok dalam
database
Menampilkan data stok barang
dalam tabel
Gambar 3. 10 Diagram Aktifitas Mengupdate Data Suku Cadang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
Berikut ini adalah diagram aktifitas menambah data jenis suku cadang yang
akan disajikan dalam tabel 3.11.
Tambah Jenis Suku cadang
Aktor
Sistem
Menampilkan form jenis
sukucadang berikut tabel data
yang sudah ada
Mengisi form jenis suku
cadang dengan lengkap
Menekan tombol batal
Menekan tombol simpan
Data akan tersimpan dalam
database
Menampilkan data jenis suku
cadang dalam tabel
Gambar 3. 11 Diagram Aktifitas Menambah Data Jenis Suku Cadang
Berikut ini adalah diagram aktifitas mengupdate data jenis suku cadang yang
akan disajikan dalam tabel 3.12.
Udate Jenis Suku cadang
Aktor
Sistem
Menampilkan form jenis suku
cadang berikut tabel data yang
sudah ada
Memilih data dalam tabel
Menampilkan data yang dipilih
kedalam form
Mengubah data jenis suku
cadang
Menekan tombol batal
Menekan tombol update
Mengupdate jenis suku cadang
dalam database
Menampilkan data jenis suku
cadang dalam tabel
Gambar 3. 12 Diagram Aktifitas Mengupdate Data Jenis Suku Cadang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
Berikut ini adalah diagram aktifitas menambah data jenis motor yang akan
disajikan dalam tabel 3.13.
Tambah Jenis Motor
Aktor
Sistem
Menampilkan form jenis motor
berikut tabel data yang sudah
ada
Mengisi form jenis motor
dengan lengkap
Menekan tombol batal
Menekan tombol simpan
Data akan tersimpan dalam
database
Menampilkan data jenis motor
dalam tabel
Menekan tombol
tambah
Menampilkan form skmotor
Mengisikan skmotor
Data akan tersimpan dalam
database
Menampilkan data skmotor
dalam tabel
Menambahkan sk motor baru
Selesai
Gambar 3. 13 Diagram Aktifitas Menambah Data Jenis Motor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
Berikut ini adalah diagram aktifitas mengupdate data jenis motor yang akan
disajikan dalam tabel 3.14.
Update Jenis Motor
Aktor
Sistem
Menampilkan form jenis motor
berikut tabel data yang sudah
ada
Memilih data dalam tabel
Menampilkan data yang dipilih
kedalam form
Mengubah data jenis motor
Menekan tombol batal
Mengupdate jenis motor
dalam database
Menekan tombol update
Menampilkan data jenis motor
dalam tabel
Gambar 3. 14 Diagram Aktifitas Mengupdate Data Jenis Motor
Berikut ini adalah diagram aktifitas menambah data merek yang akan disajikan
dalam tabel 3.15.
Tambah Merek
Aktor
Sistem
Menampilkan form merek berikut
tabel data yang sudah ada
Mengisi form merek dengan
lengkap
Menekan tombol batal
Menekan tombol simpan
Data akan tersimpan dalam
database
Menampilkan data merek
dalam tabel
Gambar 3. 15 Diagram Aktifitas Menambah Data Merek
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
Berikut ini adalah diagram aktifitas mengupdate data merek yang akan
disajikan dalam tabel 3.16.
Update Merek
Aktor
Sistem
Menampilkan form merek
berikut tabel data yang sudah
ada
Memilih data dalam tabel
Menampilkan data yang dipilih
kedalam form
Mengubah data merek
Menekan tombol batal
Menekan tombol update
Mengupdate merek dalam
database
Menampilkan datamerek
dalam tabel
Gambar 3. 16 Diagram Aktifitas Mengupdate Data Merek
Berikut ini adalah diagram aktifitas menambah data jenis jasa yang akan
disajikan dalam gambar 3.17.
Tambah Jenis Jasa
Aktor
Sistem
Menampilkan form jenis jasa
berikut tabel data yang sudah
ada
Mengisi form jenis jasa dengan
lengkap
Menekan tombol batal
Menekan tombol simpan
Data akan tersimpan dalam
database
Menampilkan data jenis jasa
dalam tabel
Gambar 3. 17 Diagram Aktifitas Menambah Data Jenis Jasa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
Berikut ini adalah diagram aktifitas mengupdate data jenis jasa yang akan
disajikan dalam gambar 3.18.
Update Jenis Jasa
Aktor
Sistem
Menampilkan form jenis jasa
berikut tabel data yang sudah
ada
Memilih data dalam tabel
Menampilkan data yang dipilih
kedalam form
Mengubah data jenis jasa
Menekan tombol batal
Menekan tombol update
Mengupdate jenis jasa dalam
database
Menampilkan data jenis jasa
dalam tabel
Gambar 3. 18 Diagram Aktifitas Mengupdate Data Jenis Jasa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
Berikut ini adalah diagram aktifitas mengubah data pesanan yang akan
disajikan dalam gambar 3.19.
Aktor
Sistem
Menampilkan menu utama
Menekan tombol ubah data
pesanan
Menampilkan form pencarian
nota
Memasukkan nonota yang
sudah didapat dari proses
transaksi
Menekan tombol batal
Data tidak ditemukan
Menekan tombol cari
Data ditemukan
Menampilkan form suku cadang
dari hasil pencarian nota
Memilih suku cadang yang
digunakan
Menekan tombol lanjut
Menampilkan form keluhan,
kilometer , jenis jasa, dan detil
biaya total service
Mengisi data keluhan, kilometer
masuk, jenis jasa
Menekan tombol pesan
Menyimpan dalam database
Menampilkan nota servis
Gambar 3. 19 Diagram Aktifitas Mengubah Data Pesanan
Berikut ini adalah diagram aktifitas mengecek data penjualan yang akan
disajikan dalam gambar 3.20.
Mengecek data penjualan
Aktor
Sistem
Menekan tab cek data penjualan
Menampilkan form cek data
penjualan
Memilih bulan dan tahun untuk
proses pencarian
Menekan tombol cari
Menampilkan data penjualan
sesuai dengan kriteria yang telah
dipilih kedalam tabel
Gambar 3. 20 Diagram Aktifitas Mengecek Data Penjualan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
Berikut ini adalah diagram aktifitas mencetak nota service yang akan disajikan
dalam gambar 3.21
Mencetak nota servis
Aktor
Sistem
Mengisi semua data yang
dibutuhkan dalam proses pesan
Menekan tombol pesan
Menampilkan nota transaksi
(Jasper)
Gambar 3. 21 Diagram Aktifitas Mencetak Nota Servis
Berikut ini adalah diagram aktifitas melihat record transaksi yang akan akan
disajikan dalam gambar 3.22.
Melihat record servis
Aktor
Sistem
Menampilkan form menu utama
Menekan tombol record
transaksi
Menampilkan table data
transaksi
Mencari data (method) atau
memilih langsung data yang
ditampilkan dalam tabel
Menekan tombol keluar
Menekan tombol detil
Menampilkan detil servis dalam
form
Gambar 3. 22 Diagram Aktifitas Melihat Record Transaksi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
3.5 Perangancan Diagram Sekuensial
Diagram sekuensial adalah diagram yang menjelaskan alur dari operasi yang
dijalankan dalam sistem secara bertahap.
Berikut ini adalah diagram sekuensial menambah transakasi yang akan
disajikan dalam gambar 3.23.
Menu utama
Form konsumen
Form motor konsumen
Form suku cadang
Form jasa , keluhan ,
kilometer, total biaya
Proses
Database
Administrator
Menekan tombol daftar
servis
Menampilkan form
konsumen
Mengisi data konsumen
dalam form
Menekan tombol lanjut
Menampilkan form
motor konsumen
Mengisi data motor
dalam form
Menekan tombol lanjut
Menampilkan form suku
cadang
Mengisikan suku
cadang yang digunakan
dalam servis
Proses simpan dalam db
Simpan sk dalam db
Menampilkan
pesanan sk dalam
form sk
Menekan tombol lanjut
Form jasa , keluhan ,
kilometer, total biaya
Memilih jasa yang
dibutuhkan
Proses simpan dalam db
Simpan Jasa dalam
db
Menampilkan jasa
dalam form
Mengisikan keluhan ,
kilometer masuk
Menampilkan total biaya
jasa dan sukucadang
dalam form
Menekan tombol pesan
Melakukan proses
memanggil jasper untuk
nota servis
Gambar 3. 23 Diagram Sekuensial Menambah Transaksi
Berikut ini adalah diagram sekuensial menambah data suku cadang yang akan
disajikan dalam gambar 3.24.
Menu utama
Form ubah data
Form suku cadang
Proses
Database
Administrator
Menekan tombol
ubahdata
Menekan tab
sukucadang
Menampilkan form
sukucadang
Mengisikan data suku
cadang
Menyimpan kedalam database
Data tersimpan diambil dari database
Data tersimpan ditampilkan dalam
tabel
Gambar 3. 24 Diagram Sekuensial Menambah Data Suku Cadang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
Berikut ini adalah diagram sekuensial mengupdate data sukucadang yang akan
disajikan dalam gambar 3.25.
Menu utama
Form ubah data
Form suku cadang
Proses
Database
Administrator
Menekan tombol ubah
data
Menekan tab suku
cadang
Menampilkan form suku
cadang
Memilih data yang akan
diupdate dari tabel (db)
Data dari tabel (db) diambil dan
di tampilkan dalam form
Mengisikan data suku
cadang
Mengupdate kedalam database
Data terupdate diambil dari database
Data terupdate ditampilkan dalam
tabel
Gambar 3. 25 Diagram Sekuensial Mengupdate Data Suku Cadang
Berikut ini adalah diagram sekuensial menyimpan data konsumen yang akan
disajikan dalam gambar 3.26.
Form data konsumen
Proses
Database
Administrator
Mengisikan data konsumen
Menyimpan kedalam database
Menyimpan data dalam database
Data tersimpan diambil dari database
Data tersimpan ditampilkan dalam
tabel
Gambar 3. 26 Diagram Sekuensial Menambah Data Konsumen
Berikut ini adalah diagram sekuensial mengupdate data konsumen yang akan
disajikan dalam gambar 3.27.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
Form data konsumen
Proses
Database
Administrator
Mengubah data konsumen
Mengupdate kedalam database
Mengupdate data dalam database
Data terupdate diambil dari database
Data terupdate ditampilkan dalam
tabel
Gambar 3. 27 Diagram Sekuensial Mengupdate Data Konsumen
Berikut ini adalah diagram sekuensial menambah data kendaraan yang akan
disajikan dalam gambar 3.28.
Form data motor
konsumen
Proses
Database
Administrator
Mengisikan data motor konsumen
Menyimpan kedalam database
Menyimpan data dalam database
Data tersimpan diambil dari database
Data tersimpan ditampilkan dalam
tabel
Gambar 3. 28 Diagram Sekuensial Menambah Data Kendaraan
Berikut ini adalah diagram sekuensial mengupdate data kendaraan yang akan
disajikan dalam gambar 3.29.
Form data motor
konsumen
Proses
Database
Administrator
Mengubah data motor konsumen
Mengupdate kedalam database
Mengupdate data dalam database
Data terupdate diambil dari database
Data terupdate ditampilkan dalam
tabel
Gambar 3. 29 Diagram Sekuensial Mengupdate Data Kendaraan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
Berikut ini adalah diagram sekuensial menambah data suku cadang yang akan
disajikan dalam gambar 3.30.
Menu utama
Form ubah data
Form suku cadang
Proses
Database
Administrator
Menekan tombol
ubahdata
Admin menekan tab
suku cadang
Menampilkan form suku
cadang
Mengisikan data suku
cadang
Menyimpan kedalam database
Data tersimpan diambil dari database
Data tersimpan ditampilkan dalam
tabel
Gambar 3. 30 Diagram Sekuensial Menambah Data Suku Cadang
Berikut ini adalah diagram sekuensial mengupdate data suku cadang yang akan
disajikan dalam gambar 3.31.
Menu utama
Form ubah data
Form suku cadang
Proses
Database
Administrator
Menekan tombol ubah
data
Admin menekan tab
suku cadang
Menampilkan form suku
cadang
Memilih data yang akan
diupdate dari tabel (db)
Data dari tabel (db) diambil dan
di tampilkan dalam form
Mengisikan data suku
cadang
Mengupdate kedalam database
Data terupdate diambil dari database
Data terupdate ditampilkan dalam
tabel
Gambar 3. 31 Diagram Sekuensial Mengupdate Data Suku Cadang
Berikut ini adalah diagram sekuensial menambah data jenis sukucadang yang
akan disajikan dalam gambar 3.32.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
Menu utama
Form ubah data
Jenis suku cadang
Proses
Database
Administrator
Menekan tombol ubah
data
Admin menekan tab
jenis suku cadang
Menampilkan form jenis
suku cadang
Mengisikan data jenis
suku cadang
Menyimpan kedalam database
Data tersimpan diambil dari database
Data tersimpan ditampilkan dalam
tabel
Gambar 3. 32 Diagram Sekuensial Menambah Data Jenis Suku Cadang
Berikut ini adalah diagram sekuensial mengupdate data jenis suku cadang yang
akan disajikan dalam gambar 3.33.
Menu Uutama
Form ubah data
Form jenis suku cadang
Proses
Database
Administrator
Menekan tombol
ubahdata
Admin menekan tab
jenis suku cadang
Menampilkan form jenis
suku cadang
Memilih data yang akan
diupdate dari tabel (db)
Data dari tabel (db) diambil dan
di tampilkan dalam form
Mengisikan data jenis
suku cadang
Mengupdate kedalam database
Data terupdate diambil dari database
Data terupdate ditampilkan dalam
tabel
Gambar 3. 33 Diagram Sekuensial Mengupdate Data Jenis Suku Cadang
Berikut ini adalah diagram sekuensial menambah data jenis motor yang akan
disajikan dalam gambar 3.34.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
Menu utama
Form ubah data
Jenis motor
Form tambah skmotor
Proses
Administrator
Menekan tombol ubah
data
Admin menekan tab
jenis motor
Menampilkan form jenis
motor
Mengisikan data jenis
motor
Menyimpan kedalam
database
Data tersimpan diambil
dari database
Data tersimpan
ditampilkan dalam tabel
Admin menekan
tambahsk
Menampilkan form
tambah skmotor
Mengisikan skmotor
Menyimpan kedalam
database
Data tersimpan
ditampilkan dalam tabel
Data tersimpan diambil
dari database
Gambar 3. 34 Diagram Sekuensial Menambah Data Jenis Motor
Berikut ini adalah diagram sekuensial mengupdate data jenis motor yang akan
disajikan dalam gambar 3.35.
Menu utama
Form ubah data
Form jenis motor
Proses
Database
Administrator
Menekan tombol
ubahdata
Admin menekan tab
jenis motor
Menampilkan form jenis
motor
Memilih data yang akan
diupdate dari tabel (db)
Data dari tabel (db) diambil dan
di tampilkan dalam form
Mengisikan data jenis
motor
Mengupdate kedalam database
Data terupdate diambil dari database
Data terupdate ditampilkan dalam
tabel
Gambar 3. 35 Diagram Sekuensial Mengupdate Data Jenis Motor
Berikut ini adalah diagram sekuensial menambah data merek yang akan
disajikan dalam gambar 3.36.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
Menu utama
Form ubah data
Form Merek
Proses
Database
Administrator
Menekan tombol ubah
data
Admin menekan tab
merek
Menampilkan form
merek
Mengisikan data merek
Menyimpan kedalam database
Data tersimpan diambil dari database
Data tersimpan ditampilkan dalam
tabel
Gambar 3. 36 Diagram Sekuensial Menambah Data Merek
Berikut ini adalah diagram sekuensial mengupdate data merek yang akan
disajikan dalam gambar 3.37.
Menu utama
Form ubah data
Form merek
Proses
Database
Administrator
Menekan tombol ubah
data
Admin menekan tab
merek
Menampilkan form
merek
Memilih data yang akan
diupdate dari tabel (db)
Data dari tabel (db) diambil dan
di tampilkan dalam form
Mengisikan data merek
Mengupdate kedalam database
Data terupdate diambil dari database
Data terupdate ditampilkan dalam
tabel
Gambar 3. 37 Diagram Sekuensial Mengupdate Data Merek
Berikut ini adalah diagram sekuensial menambah data jenis jasa yang akan
disajikan dalam gambar 3.38.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
Menu utama
Form ubah data
Form jenis jasa
Proses
Database
Administrator
Menekan tombol
ubahdata
Admin menekan tab
jenis jasa
Menampilkan form jenis
jasa
Mengisikan data jenis
jasa
Menyimpan kedalam database
Data tersimpan diambil dari database
Data tersimpan ditampilkan dalam
tabel
Gambar 3. 38 Diagram Sekuensial Menambah Data Jenis Jasa
Berikut ini adalah diagram sekuensial mengupdate data jenis jasa yang akan
disajikan dalam gambar 3.39.
Menu utama
Form ubah data
Form jenis jasa
Proses
Database
Administrator
Menekan tombol ubah
data
Admin menekan tab
jenis jasa
Menampilkan form jenis
jasa
Memilih data yang akan
diupdate dari tabel (db)
Data dari tabel (db) diambil dan
di tampilkan dalam form
Mengisikan data jenis
jasa
Mengupdate kedalam database
Data terupdate diambil dari database
Data terupdate ditampilkan dalam
tabel
Gambar 3. 39 Diagram Sekuensial Mengupdate Data Jenis Jasa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
Berikut ini adalah diagram sekuensial mengubah data pesanan yang akan
disajikan dalam gambar 3.40.
Menu utama
Form konsumen
Form motor konsumen
Form suku cadang
Form jasa , keluhan ,
kilometer, total biaya
Proses
Database
Administrator
Menekan daftar servis
Menampilkan form
konsumen
Mengisi data konsumen
dalam form
Menekan tombol lanjut
Menampilkan form
motor konsumen
Mengisi data motor
dalam form
Menekan tombol lanjut
Menampilkan form suku
cadang
Mengisikan suku
cadang yang digunakan
dalam servis
Proses simpan dalam db
Menampilkan
pesanan sk dalam
form sk
Simpan sk dalam db
Menekan tombol lanjut
Form jasa , keluhan ,
kilometer, total biaya
Memilih jasa yang
dibutuhkan
Proses simpan dalam db
Menampilkan jasa
dalam form
Mengisikan keluhan ,
kilometer masuk
Simpan Jasa dalam
db
Menampilkan total biaya
jasa dan sukucadang
dalam form
Menekan tombol pesan
Melakukan proses
memanggil jasper untuk
nota servis
Gambar 3. 40 Diagram Sekuensial Mengubah Data Pesanan
Berikut ini adalah diagram sekuensial mencetak nota service yang akan
disajikan dalam gambar 3.41.
Form servis (akhir)
Proses
Jasper :
Administrator
Menekan tombol pesan
Data dari proses servis
diambil
Menampilkan nota
servis dalam jasper
Gambar 3. 41 Diagram Sekuensial Mencetak Nota Servis
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
Berikut ini adal diagram sekuensial mengecek data penjualan yang akan disajikan
dalam gambar 3.42.
Form cek data penjulan
Proses
Database
Administrator
Memilih tanggal dan
tahun yang diinginkan
Melakukan pencarian
dalam database
Mengambil data dari
dalam database
Menampilkan data
dalam tabel
Gambar 3. 42 Diagram Sekuensial Mengecek Data Penjualan
Berikut ini adalah diagram sekuensial melihat record transaksi yang akan
disajikan dalam gambar 3.43.
Menu utama
Form servis
Halaman detail servis
Administrator
Menekan tombol histori
Menampilkan form
servis
Mengisikan nonota
yang dicari dalam form
servis
Mencari data dalam
database
Menampilkan data
dalam form
Memilih data yang
dicari lalu menekan
tombol detail
Mencari detil servis dari
data yang di cari dalam
database
Menampilkan data detil
servis dalam halaman
detail servis
Gambar 3. 43 Diagram Sekuensial Melihat Record Transaksi
Proses
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
3.6 Perancangan Diagram Kelas
Perancangan diagram kelas akan disajikan dalam gambar 3.44.
Gambar 3. 44 Diagram Kelas
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
3.7 Perancangan Konseptual Basisdata
Berikut ini adalah perancangan konseptual basisdata yang disajikan di gambar
3.45
Gambar 3. 45 Diagram Konseptual Basisdata
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
3.8 Perancangan Logikal Basisdata
Berikut ini adalah perancangan Logikal yang akan disajikan dalam gambar 3.46
Gambar 3. 46 Diagram Logikal Basisdata
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
3.9 Perancangan Fisikal Basis Data
Dalam pembuatan sistem bengkel ini memerlukan beberapa tabel yang akan
disajikan dibawah ini.
Berikut ini adalah tabel jenis suku cadang yang akan disajikan dalam tabel
3.22.
Nama
Tipe data
Lebar
Id Jenis
Varchar
5
Jenis suku cadang
Varchar
25
Key
PK
Tabel 3. 22 Tabel jenis Suku Cadang
Berikut ini adalah tabel suku cadang yang akan disajikan dalam tabel 3.23.
Nama
Tipe data
Lebar
Id suku cadang
Varchar
8
Nama suku cadang
Varchar
50
Stock
Int
5
Limit
Int
5
Id jenis
Varchar
2
Harga
Varchar
10
Key
PK
FK
Tabel 3. 23 Tabel Suku Cadang
Berikut ini adalah tabel merek yang akan disajikan dalam tabel 3.24.
Nama
Tipe data
Lebar
Id merek
Varchar
5
Nama merek
Varchar
25
Tabel 3. 24 Tabel Merek
Key
PK
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
Berikut ini adalah tabel motor yang akan disajikan dalam tabel 3.25.
Nama
Tipe data
Lebar
key
Id motor
Varchar
10
PK
Id Jenis Motor
Varchar
5
FK
No Rangka
Varchar
20
No Mesin
Varchar
15
Id konsumen
Varchar
20
FK
Tabel 3. 25 Tabel Motor
Berikut ini adalah tabel jenis motor yang disajikan dalam tabel 3.26.
Nama
Tipe data
Lebar
Id jenis Motor
Varchar
5
Nama Jenis
Varchar
25
Id merek
Varchar
5
key
PK
FK
Tabel 3. 26 Tabel Jenis Motor
Berikut ini adalah tabel konsumen yang disajikan dalam tabel 3.27.
Nama
Tipe data
Lebar
Id konsumen
Varchar
20
Nama
Varchar
20
No hp
Varchar
15
Alamat
Varchar
30
key
PK
Tabel 3. 27 Tabel Konsumen
Berikut ini adalah tabel servis yang disajikan dalam tabel 3.28.
Nama
Tipe data
Lebar
key
No nota
Varchar
5
PK
Id motor
Varchar
5
FK
Kilometer
Int
10
Tanggal
Date
Keluhan
Varchar
50
Tabel 3. 28 Tabel Servis
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
Berikut ini adalah tabel jenis jasa yang disajikan dalam tabel 3.29.
Nama
Tipe data
Lebar
Id jasa
Varchar
5
Jenis jasa
Varchar
20
Biaya jasa
Int
10
key
PK
Tabel 3. 29 Tabel Detil Jasa
Berikut ini adalah tabel jasa servis yang akan disajikan dalam tabel 3.30.
Nama
Tipe data
Lebar
key
Nonota
Varchar
5
FK
Id jasa
Varchar
5
FK
Keterangan
Int
10
Discount
Int
10
Biaya jasa
Int
10
Tabel 3. 30 Tabel Jasa Servis
Berikut ini adalah tabel pemesanan yang akan disajikan dalam tabel 3.31.
Nama
Tipe data
Lebar
key
Nonota
Varchar
5
FK
Id suku cadang
Varchar
5
FK
Jumlah
Int
20
Total harga
Int
20
Tabel 3. 31 Tabel Pemesanan
Berikut ini adalah tabel skmotor yang akan disajikan dalam tabel 3.32.
Nama
Tipe data
Lebar
key
Id jenis motor
Varchar
5
FK
Id suku cadang
Varchar
5
FK
Tabel 3. 32 Tabel Sk Motor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
3.10 Desain User Interface
3.10.1 Halaman Utama Aplikasi
Berikut ini akan ditampilkan gambaran halaman utama pada gambar 3.47.
Banner
Menu 1
menu daftar
servis
Menu 2
Ubah data
pesanan
Menu 4
menu lihat
histori
servis
Menu 3
Database
Gambar 3. 47 Halaman Utama Aplikasi
3.10.2 Halaman Menu Pertama Daftar Servis
Berikut ini akan ditampilkan gambaran halaman menu pertama daftar servis
pada gambar 3.48.
Banner
Form isian data kendaraan + keluhan + rincian biaya
Tombol
batal
tombol
simpan
Gambar 3. 48 Halaman Menu Pertama Daftar Servis
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
3.10.3 Halaman Menu Kedua Update Data Pesanan
Berikut ini akan ditampilkan gambaran halaman menu kedua update data
pesanan pada gambar 3.49.
Banner
Form isian data pesanan
Tombol
batal
tombol update
Gambar 3. 49 Halaman Menu Kedua Update Data Pesanan
3.10.4 Halaman Menu Ketiga Database
Berikut ini akan ditampilkan menu ketiga database data pada gambar 3.50.
Banner
Form isian data
Tombol
batal
tombol update
Gambar 3. 50 Halaman Menu Ketiga Database
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
3.10.5 Halaman Menu Kempat Lihat Record Service
Berikut ini akan ditampilkan gambaran menu ke empat lihat record servis pada
gambar 3.51.
Banner
ID kendaraan
Tabel histori servis kendaraan menurut filter yang dipakai
detail
Tombol
batal
Tombol
hapus
Gambar 3. 51 Halaman Menu Keempat Melihat Record Servis
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
BAB IV
IMPLEMENTASI SISTEM
4.1 Spesifikasi Software dan Hardware yang digunakan
4.1.1 Spesifikasi Software
Spesifikasi software yang digunakan untuk implementasi sistem aplikasi
bengkel adalah sebagai berikut :
1. Sistem operasi windows 7 Ultimate 32 bit
2. Database Oracle XE
3. Oracle SQL Developer
4. Netbeans 6.8
4.1.2 Spesifikasi Hardware
Spesifikasi hardware yang digunakan untuk implementasi sistem aplikasi
bengkel ini adalah sebegai berikut :
1. Prosesor : Intel Core 2 solo 1,40 ghz
2. Memori ram 4gb ddr 3
3. Harddisk 320GB
4. Monitor lg 19" (min 1366 x 768)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
4.2 Implementasi Stored Procedure
4.2.1 Implementasi Stored Procedure untuk Insert dan Update Data Pemesanan
Suku Cadang
Berikut ini adalah listing stored procedure insert dan update data suku cadang
yang digunakan oleh administrator ketika mengambil suku cadang untuk proses servis
dalam masalah ini 1 administrator hanya melayani 1 konsumen, stored procedure akan
berjalan ketika ada 2 administrator dengan 2 konsumen berbeda sedang mengambil
barang untuk proses servis untuk menghindari adanya kesalahan dalam pencatatan
jumlah stok suku cadang yang ada dalam database. Stored Prodecure ini digunakan
untuk memasukkan data pemesanan suku cadang
yang digunakan oleh konsumen
kedalam database dan juga bisa mengupdate jumlah suku cadang dengan id yang sama
dalam satu nota servis. Stored procedure ini berguna dalam menangani masalah
concurrency control dengan menerapkan protokol 2PL ( Two phase locking ) dengam
menambahkan query FOR UPDATE. Locking akan berjalan ketika stored procedure
Tambahsukucadang dipanggil, locking berguna untuk mengunci jumlah stok dari suku
cadang dengan id tertentu, agar tidak terjadi lost update problem pada suku cadang
tertentu ketika data suku cadang yang sama digunakan secara bersamaan oleh dua
administrator yang berbeda. Status digunakan untuk melaporkan hasil prosedur apakah
transaksi berhasil dijalankan atau tidak, setelah mengunci stok suku cadang maka stored
procedure akan menerima masukan v_pemesanan untuk menentukan apakah akan
menambahkan barang baru kedalam pemesanan atau akan menambahkan jumlah
pemesanan saja, ketika menerima masukan v_pemesanan = 1 maka stored procedure
akan melanjutkan mengecek jumlah pesanan suku cadang dan stok suku cadang yang
ada apakah jumlah suku cadang yang diambil tidak melebihi stok suku cadang yang ada
jika melebihi maka stored procedure akan membatalkan transaksi dan akan
memberikan pesan kesalahan status : 0 , ketika jumlah yang diambil tidak melebihi stok
yang ada maka akan melakukan penyimpanan ke tabel pemesanan dan memberikan
pesan sukses status : 1. Sedangkan ketika stored procedure menerima masukan
v_pemesanan selain 1 maka akan dibaca untuk mengupdate jumlah suku cadang yang
dipesan selanjutnya mengecek jumlah pesanan suku cadang dan stok suku cadang yang
ada apakah jumlah suku cadang yang diambil tidak melebihi stok suku cadang yang ada
jika melebihi maka stored procedure akan membatalkan transaksi dan akan
memberikan pesan kesalahan status : 0 , ketika jumlah yang diambil tidak melebihi stok
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
yang ada maka akan melakukan penyimpanan ke tabel pemesanan dan memberikan
pesan sukses status : 1 yang akan ditampilkan dalam listing 4.1.
create or replace
procedure tambahsukucadang
(v_idnota in pemesanan.nonota%type,
v_idsuku in pemesanan.idsukucadang%type,
v_jumlah in pemesanan.jumlah%type,
v_harga in pemesanan.totalharga%type,
v_stockkurang number,
v_idsukucad in sukucadang.idsukucadang%type,
v_pemesanan in number,
status out number)
is
v_stock sukucadang.stock%type;
v_tambah sukucadang.stock%type;
begin
select stock into v_stock from sukucadang where idsukucadang = v_idsukucad for update;
dbms_lock.sleep(5);
if (v_pemesanan = 1)
then
if (v_stock - v_jumlah) < 0 then
ROLLBACK;
status := 0;
else
insert into pemesanan (nonota, idsukucadang, jumlah, totalharga)
values (v_idnota,v_idsuku,v_jumlah,v_harga);
update sukucadang set stock = v_stock - v_jumlah
where idsukucadang = v_idsukucad;
commit;
status := 1;
end if;
else
select jumlah into v_tambah from pemesanan where idsukucadang = v_idsuku and
nonota = v_idnota;
if (v_stock - v_tambah) < 0 then
ROLLBACK;
status := 0;
else
update pemesanan set jumlah = v_tambah + v_jumlah
where idsukucadang = v_idsuku and nonota = v_idnota;
update sukucadang set stock = v_stock - v_jumlah
where idsukucadang = v_idsukucad;
commit;
status := 1;
end if;
end if;
end tambahsukucadang;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
Listing 4. 1 Stored Procedure Tambah Suku Cadang
4.2.2 Implemetasi Stored Procedure untuk Menghapus Data Pesanan Suku Cadang
Berikut ini adalah listing stored procedure yang digunakan untuk menghapus
data pesanan jika konsumen tidak jadi menggunakan suku cadang tertentu untuk proses
service pertama stored procedure akan mengunci stok dari tabel pemesanan dengan
perintah FOR UPDATE, lalu akan mengembalikan jumlah suku cadang yang diambil
kedalam tabel suku cadang, kemudian akan menghapus data pesanan suku cadang dari
tabel pemesanan yang akan ditampilkan dalam listing 4.2.
create or replace
procedure hapusskpesanan
(idnota in pemesanan.nonota%type,
idsuku in pemesanan.idsukucadang%type)
is
stock sukucadang.stock%type;
jumlahdiambil pemesanan.jumlah%type;
begin
select stock into stock from pemesanan where idsukucadang = idsuku and nonota = idnota
for update;
dbms_lock.sleep(5);
select jumlah into jumlahdiambil from pemesanan where idsukucadang = idsuku and
nonota = idnota;
update sukucadang set stock = stock + jumlahdiambil
where idsukucadang = idsuku;
delete from pemesanan where idsukucadang = idsuku and nonota = idnota;
commit;
end hapusskpesanan;
Listing 4. 2 Stored Procedure Hapus Sk Pesan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
4.2.3 Implementasi Stored Procedure untuk Mengupdate Data Suku Cadang
kedalam Database
Berikut ini adalah listing stored procedure yang digunakan untuk mengupdate
data suku cadang kedalam database , pertama stored procedure akan mengunci stock
dari tabel suku cadang sesuai dengan id suku cadang yang dipilih setelah itu akan
melakukan perintah update suku cadang set nama suku cadang, stock, limit, idjenis, id
jenis motor, harga, sesuai dengan masukan yang didapat dan berdasarkan id suku
cadang yang dipilih. Yang akan ditampilkan dalam listing 4.3.
create or replace
procedure tambahsk
(v_idsuku in sukucadang.idsukucadang%type,
v_namasuku in sukucadang.namasukucadang%type,
v_limit in sukucadang.limit%type,
v_idjenis in sukucadang.idjenis%type,
v_harga in sukucadang.harga%type,
v_stocktambah number)
is
v_stock sukucadang.stock%type;
begin
select stock into v_stock from sukucadang where idsukucadang = v_idsuku for update;
dbms_lock.sleep(5);
update sukucadang set namasukucadang = v_namasuku, stock = v_stock + v_stocktambah,
limit = v_limit, idjenis = (select idjenis from jenissukucadang where jenissukucadang =
v_idjenis), harga = v_harga
where idsukucadang = v_idsuku;
commit;
end tambahsk;
Listing 4. 3 Stored Procedure Tambah Sk
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
4.2.4 Implementasi Stored Procedure Mendapatkan Nonota untuk Pendaftaran
Servis
Berikut ini adalah listing stored procedure untuk mendapatkan no nota yang
akan digunakan dalam proses pemesanan servis dan akan menambahkan no nota yang
didapat kedalam database. Pertama stored procedure akan mengunci nomor nota dari
tabel servis dan akan disimpan sebagai s_maxnota , setelah mendapaatkan s_maxnota
maka akan mencari nomor nota baru dengan perintah s_idnota = s_maxnota + 1, dan
selanjutnya akan membaca panjang dari maxnota yang dihasilkan ketika panjang dari
s_idnota baru adalah 1 maka secara otomatis akan menambahkan "000" didepan
s_idnota baru jika panjang s_idnota adalah 2 maka akan menambahkan "00" di depan
s_idnota dan jika panjang s_idnota adalah 3 maka akan menambahkan "0" didepan
s_idnota dan ketika s_idnota memiliki panjang lebih dari 3 maka tidak menambahkan 0
didepan s_idnota. Setelah mendapatkan s_notaakhir maka stored procedure akan
menambahkan notaakhir dalam database berikut dengan id kendaraan yang akan
diservis dan tanggal servis yang didapat. ketika transaksi berhasil maka stored
procedure akan memberikan pesan sukses yaitu v_status = 1 dan ketika transaksi gagal
maka stored procedure akan melakukan roolback dan akan memberikan pesan gagal
yaitu v_status = 0. yang akan ditampilkan dalam listing 4.4
create or replace
procedure servis
(v_idmotor in service.idmotor%type,
v_tanggal in service.tanggal%type,
v_status out number)
is
s_ceknota service.nonota%type;
s_maxnota service.nonota%type;
s_notaakhir service.nonota%type;
s_idnota service.nonota%type;
begin
select max(nonota) into s_ceknota from service;
select nonota into s_maxnota from service where nonota = s_ceknota for update of nonota;
dbms_lock.sleep(5);
s_idnota := s_maxnota + 1;
if(length(s_idnota) = 1) then
s_notaakhir := '000'||s_idnota;
elsif(length(s_idnota) = 2) then
s_notaakhir := '00'||s_idnota;
elsif (length(s_idnota) = 3) then
s_notaakhir := '0'||s_idnota;
else
s_notaakhir := s_idnota;
end if;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
insert into service values (s_notaakhir, v_idmotor, '', v_tanggal,'');
commit;
v_status := 1;
exception
when others then
rollback;
v_status :=0;
end servis;
Listing 4. 4 Stored Procedure Servis
4.3 Implementasi Antarmuka
Dalam sebuah aplikasi tampilan user interface yang bersahabat sangatlah
penting. Sehingga aplikasi yang dibuat di implementasikan kedalam user interface yang
mudah dipahami oleh pengguna sehingga memudahkan dalam melakukan proses
transaksi servis.
4.3.1 Halaman Menu Utama
Halaman Menu utama adalah halaman yang pertama akan dilihat ketika
menjalankan aplikasi ini halaman ini berfungsi untuk memberikan menu untuk menuju
ke halaman yang lain yang akan disajikan dalam gambar 4.1.
Gambar 4. 1 Menu Utama
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
67
Form ini digunakan sebagai form utama dalam sistem dengan cara menekan
salah satu tombol menu yang terdapat dalam tampilan jika menekan tombol daftar
servis maka akan menuju ke halaman daftar servis dengan menjalankan perintah dalam
listing 4.5 berikut.
try {
DaftarForm a = new DaftarForm();
this.setVisible(false);
a.setVisible(true);
} catch (Exception ex) {
}
this.dispose();
Listing 4. 5 Daftar Servis
Maka tampilan akan menuju ke form daftar servis dengan perintah
daftarform.setvisible(true), dan akan menutup halaman menu utama dengan perintah
this.dispose();.
Jika menekan menu kedua yaitu menu ubah data pesanan maka akan
menampilkan form isian nomor nota dengan perintah JDialog Carinota.setVisible(true);
untuk melakukan pencarian pesanan dengan menjalankan perintah pada listing 4.6.
try {
this.disable();
JDialogCarinota.setVisible(true);
JDialogCarinota.setLocationRelativeTo(this);
inputnonota.requestFocus();
} catch (Exception ex) {
}
Listing 4. 6 Menampilkan Jdialog
Dan setelah menekan tombol cari maka sistem akan melakukan pencarian
nomor nota dengan menjalankan perintah cari nota untuk mencari apakah nota yang di
masukkan sudah ada dalam database atau belum yang akan disajikan dalam listing 4.7
berikut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
68
String hasil = B.Daftar_service.DaftarControl.koneksi().carinota(inputnonota.getText());
if (hasil.equals(inputnonota.getText())) {
try {
DaftarForm df = new DaftarForm();
JDialogCarinota.setVisible(false);
df.setVisible(true);
df.show(inputnonota.getText(), 2);
this.setVisible(false);
} catch (Exception ex) {
}
} else {
JOptionPane.showMessageDialog(this, "No nota tidak ditemukan");
}
Listing 4. 7 Mencari No Nota
Jika menemukan data yang di cari maka akan memanggil metod show untuk
menuju ke halaman form suku cadang
dengan perintah Tabsemua.setEnabledAt
(2,true), sehingga akan langsung menuju ke tab 3 form suku cadang seperti pada
gambar 4.4. metod show akan disajikan dalam listing 4.8.
this.a = tab;
JtNonota.setText(nonota);
TabSemua.setSelectedIndex(a);
TabSemua.setEnabledAt(2, true);
TabSemua.setEnabledAt(0, false);
Listing 4. 8 Method Show
Untuk menu ketiga adalah menu ubah data menu ini digunakan ketika akan
menuju ke halaman untuk mengubah data suku cadang, jenis sukucadang, jenis motor,
merek , dan jenis jasa dengan memanggil b.setvisible(true) yang akan disajikan dalam
listing 4.9.
try {
UbahDataForm b = new UbahDataForm();
b.setVisible(true);
} catch (Exception ex) {
}
this.dispose();
}
Listing 4. 9 Ubah Data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
Untuk menu keempat yaitu menu histori form menu ini digukanan ketika
konsumen menanyakan kepada admin bengkel kapan terakhir kali konsumen tersebut
servis di bengkel atau perawatan apa yang terakhir kali dilakukan terhadap kendaraan
konsumen di bengkel "Anugrah Motor" dengan menjalankan perintah c.visible(true);
yang akan disajikan dalam listing 4.10.
try {
HistoryForm c = new HistoryForm();
c.setVisible(true);
} catch (Exception ex) {
}
this.dispose();
}
Listing 4. 10 Histori servis
4.3.2 Halaman Daftar Service
Halaman daftar service adalah halaman yang diakses dari halaman menu
utama, halaman ini berguna untuk memasukkan data pesanan servis sekaligus dapat
menyimpan nama konsumen dan kendaraan konsumen baru yang akan mendaftar di
bengkel ini. terdapat 4 tab, yaitu data konsumen gambar 4.2, data kendaraan konsumen
gambar 4.3, data sukucadang yang digunakan gambar 4.4, dan data jasa ,keluhan
kilometer, detil biaya gambar 4.5.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
70
Gambar 4. 2 Form Data Konsumen
Pada halaman ini terdapat beberapa perintah yang dapat dijalankan diantaranya
menyimpan data konsumen baru, mengupdate data konsumen dan pencarian nama
konsumen. ketika tombol simpan ditekan maka akan menjalankan perintah untuk
menyimpan konsumen yaitu simpan konsumen (idkonsu, nm, nohp, alamat) yang akan
melakukan penyimpanan data konsumen yang berisi idkonsumen, nama, nohp, dan
alamat dari konsumen berikut ini adalah perintah yang di jalankan untuk menyimpan
data konsumen baru disajikan dalam listing 4.11.
if (tomsimpan1.getText().equals("Simpan")) {
DaftarControl df = null;
try {
DaftarControl.koneksi().simpankonsumen(idkonsu, nm, nohp, alamat);
refreshkonsumen();
JtIdkonsumen.setText("");
JtNama.setText("");
JtNohp.setText("");
JtAlamat.setText("");
JOptionPane.showMessageDialog(PanelKomsumen, "Data Konsumen Berhasil
Ditambahkan");
} catch (SQLException ex) {
Logger.getLogger(DaftarForm.class.getName()).log(Level.SEVERE, null, ex);
}
Listing 4. 11 Simpan Konsumen Baru
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
71
Ketika tombol update di tekan maka akan melakukan update terhadap data
konsumen dengan perintah update konsumen(idkonsu, nm, nohp, alamat) maka akan
mengupdate nama no hp dan alamat dari konsumen dengan id konsumen tertentu yang
akan disajikan dalam listing 4.12
else if (tomsimpan1.getText().equals("Update")) {
DaftarControl df = null;
try {
DaftarControl.koneksi().updatekonsumen(idkonsu, nm, nohp, alamat);
refreshkonsumen();
JtIdkonsumen.setText("");
JtNama.setText("");
JtNohp.setText("");
JtAlamat.setText("");
JOptionPane.showMessageDialog(PanelKomsumen, "Data Konsumen Berhasil
DiUpdate");
} catch (SQLException ex) {
Logger.getLogger(DaftarForm.class.getName()).log(Level.SEVERE, null, ex); }
Listing 4. 12 Update Data Konsumen
Untuk melakukan pencarian administrator harus memasukkan nama dari
konsumen pada kolom nama lalu menekan enter untuk melakukan pencarian lalu sistem
akan mencari pencarian dengan memanggil perintah carinama(nm) yang berfungsi
untuk mencari semua nama yang memiliki kesamaan dengan apa yang di isikan
administrator di kolom nama lalu akan di masukkan dalam list tabel dengan perintah
TabelKonsumen.setmodel(model); yang akan disajikan dalam listing 4.13.
String nm = JtNama.getText();
try {
List<Daftar> konsum = (List<Daftar>) DaftarControl.koneksi().carinama(nm);
TabelModelKonsumen model = new TabelModelKonsumen(konsum);
TabelKonsumen.setModel(model);
} catch (Exception e) {
Logger.getLogger(DaftarForm.class.getName()).log(Level.SEVERE, null, e);
}
tombsimpan1();
Listing 4. 13 Cari Konsumen
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
72
Setelah selesai dengan data konsumen maka akan di lanjutkan ke halaman
berikutnya yaitu halaman data kendaraan sesuai dengan pemilik kendaraan tersebut
seperti pada gambar 4.3.
Gambar 4. 3 Form Data Kendaraan
Untuk halaman kedua akan menampilkan data kendaraan dari konsumen yang
telah di pilih di form data konsumen, dalam tab ini ada 2 perintah yang dapat dilakukan
yaitu untuk menyimpan data kendaraan baru dan mengupdate data kendaraan yang
sudah ada. Ketika akan melakukan penyimpanan data kendaraan baru maka admin
harus mengisikan secara lengkap data kendaraan lalu menekan tombol simpan yang
akan melakukan penyimpanan data kendaraan baru kedalam database dengan perintah
simpanmotor(nopol, jenis, norangka, nomesin, idkonsum) yang akan disajikan dalam
listing 4.14.
if (tomsimpan2.getText().equals("Simpan")) {
DaftarControl df = null;
try {
DaftarControl.koneksi().simpanmotor(nopol, jenis, norangka, nomesin,
idkonsum);
JOptionPane.showMessageDialog(PanelKomsumen, "Data Motor Berhasil
Ditambahkan");
} catch (SQLException ex) {
Logger.getLogger(DaftarForm.class.getName()).log(Level.SEVERE, null, ex);
}
Listing 4. 14 Simpan Data Kendaraan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
73
Dan ketika ingin mengupdate data kendaraan maka administrator harus
memilih data kendaraan yang sudah ada dari dalam tabel , secara otomatis data akan
langsung mengisi form data kendaraan dan tombol simpan berubah menjadi tombol
update setelah itu administrator mengubah data dari kendaraan dan setelah itu menekan
tombol update yang akan menjalankan perintah update motor (nopol, jenis, norangka,
nomesin, idkonsum) yang akan mengupdate data dari kendaraan sesuai dengan nopol
dari kendaraan yang dipilih tadi yang akan disajikan dalam listing 4.15.
else if (tomsimpan2.getText().equals("Update")) {
DaftarControl df = null;
try {
DaftarControl.koneksi().updatemotor(nopol, jenis, norangka, nomesin, idkonsum);
JOptionPane.showMessageDialog(PanelKomsumen, "Data Motor Berhasil
Diupdate");
} catch (SQLException ex) {
Logger.getLogger(DaftarForm.class.getName()).log(Level.SEVERE, null, ex);
}
Listing 4. 15 Update Data Kendaraan
Ketika administrator selesai memasukkan data kendaraan lalu menekan lanjut
maka akan menuju ke form berikutnya yaitu form suku cadang seperti pada gambar 4.4.
Gambar 4. 4 Form Suku Cadang
Pada form ini akan menampilkan kategori suku cadang dengan pencarian
berdasarkan merek kendaraan yang telah dipilih pada form sebelumnya, pada form ini
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
74
perintah yang dapat dilakukan adalah perintah menambahkan suku cadang dengan cara
menekan tombol tambah untuk membuka form pemesanan suku cadang yang di
inginkan dengan memanggil perintah jdialog tambah sukucadang.setVisible(true);,
tetapi ketika suku cadang sudah habis maka akan langsung diberikan pesan bahwa suku
cadang sudah habis dengan perintah JOptionPane.showMessageDialog(this, "Maaf Stok
barang sudah habis"); yang akan disajikan dalam listing 4.16.
int row2 = TableSukucadang.getSelectedRow();
String idsukucadang = TableSukucadang.getValueAt(row2, 0).toString();
try {
if (DaftarControl.koneksi().cekstock(idsukucadang).equals("0")) {
JOptionPane.showMessageDialog(this, "Maaf Stok barang sudah habis");
} else {
jdialogtambahsukucadang.setLocationRelativeTo(this);
this.disable();
jdialogtambahsukucadang.setVisible(true);
Listing 4. 16 Menampilkana Jdialog Tambah Suku Cadang
Maka akan membuka form tambah pesanan seperti gambar 4.5 .
Gambar 4. 5 Form Pemesanan Barang
Ada 2 tombol dalam form ini yang memiliki fungsi untuk menambahkan suku
cadang kedalam pesanan dan tombol batal untuk membatalkan pesanan suku cadang
tersebut. ketika administrator akan menambahkan suku cadang kedalam pesanan maka
administrator harus mengisikan jumlah pesanan dari suku cadang tersebut, setelah
mengisikan jumlah pesanan lalu administrator menekan tombol pesan yang akan
menjalankan perintah df.kurangstock(nonota, idbarang, diambil, totharga, stock, idsuku,
pemesanan);, tetapi sebelum itu akan melakukan pengecekan stok suku cadang dengan
perintah if (Integer.parseInt(stok) == 0 maka akan memunculkan pesan bahwa stok
habis dengan perintah JOptionPane.showMessageDialog(this, "Maaf Stock Sudah
Habis");, sedangkan jika jumlah pesanan melebihi stok yang ada else if
(Integer.parseInt(stok) < ambil) maka akan memunculkan pesan pesanan melebihi stok
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
75
yang ada dengan perintah JOptionPane.show MessageDialog(this, "Maaf Pesanan Anda
Melebihi Stock Yang Ada"); dan jika pesanan sama dengan atau lebih kecil dari stok
yang ada else if (Integer.parseInt(stok) >= ambil) maka akan menjalankan pengecekan
apakah sudah ada barang dengan id yang dipilih if (d.getNonota() == null) maka akan
melakukan simpan dengan perintah df.kurangstock(nonota, idbarang, diambil, totharga,
stock, idsuku, pemesanan); ketika idbarang yang dicari sudah ada maka akan
melakukan update dengan perintah statusupdate = df.kurangstock(nonota, idbarang,
diambil, totharga, stock, idsuku, pemesanan); yang akan disajikan dalam listing 4.17.
try {
int row2 = TableSukucadang.getSelectedRow();
String idsukucadang = TableSukucadang.getValueAt(row2, 0).toString();
String stok = DaftarControl.koneksi().cekstock(idsukucadang);
int ambil = Integer.parseInt(internaldiambil.getText());
if (Integer.parseInt(stok) == 0) {
JOptionPane.showMessageDialog(this, "Maaf Stock Sudah Habis");
} else if (Integer.parseInt(stok) < ambil) {
JOptionPane.showMessageDialog(this, "Maaf Pesanan Anda Melebihi Stock
Yang Ada");
} else if (ambil == 0) {
JOptionPane.showMessageDialog(this, "Tolong Masukkan Jumlah Pesanan
Dengan Benar");
} else if (Integer.parseInt(stok) >= ambil) {
try {
DaftarControl df;
df = DaftarControl.koneksi();
String nonota = JtNonota.getText();
String idbarang = Internalid.getText();
int hargasat = Integer.parseInt(InternalHargasat.getText());
String stock = InternalStock.getText();
int diambil = Integer.parseInt(internaldiambil.getText());
String idsuku = Internalid.getText();
String Status = "";
int totharga = hargasat * diambil;
Daftar d = new Daftar();
d = df.cekbarang(nonota, idbarang);
if (d.getNonota() == null) {
String pemesanan = "1";
statusinput = df.kurangstock(nonota, idbarang, diambil, totharga, stock,
idsuku, pemesanan);
if (statusinput.equals("1")) {
JOptionPane.showMessageDialog(PanelKomsumen, "Sukucadang
Berhasil Ditambahkan Kedalam Daftar Pesanan");
} else {
JOptionPane.showMessageDialog(PanelKomsumen, "Maaf terjadi
kesalahan dalam pemesanan barang, mohon ulangi proses pemesanan");
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
76
}
} else {
String pemesanan = "2";
statusupdate = df.kurangstock(nonota, idbarang, diambil, totharga, stock,
idsuku, pemesanan);
if (statusupdate.equals("1")) {
JOptionPane.showMessageDialog(PanelKomsumen, "Sukucadang
Berhasil Ditambahkan Kedalam Daftar Pesanan");
} else {
JOptionPane.showMessageDialog(PanelKomsumen, "Maaf terjadi
kesalahan dalam pemesanan barang, mohon ulangi proses pemesanan");
}
}
Listing 4. 17 Tambah dan Update Pesanan
Ketika admin ingin membatalkan transaksi maka admin menekan tombol batal
maka akan menjalankan perintah jdialogtambahsukucadang.dispose(); untuk menutup
form pemesanan sukucadang yang akan disajikan dalam listing 4.18.
jdialogtambahsukucadang.dispose();
this.enable();
requestFocus();
Listing 4. 18 Batal Pemesanan
Setelah selesai memasukkan suku cadang yang dipilih dan menekan tombol
lanjut maka akan memunculkan form keluhan, jasa, kilometer, dan total biaya servis
seperti pada gambar 4.6.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
77
Gambar 4. 6 Form Keluhan, Jasa, Kilometer. Total Biaya
Pada halaman ini akan ada beberapa perintah yang bisa di jalankan yaitu untuk
tombol tambah jasa akan memanggil perintah untuk memanggil form untuk memanggil
form tambah jasa dengan menjalankan perintah jdialogtambahjasa.setVisible(true);,
yang akan disajikan dalam listing 4.19.
jdialogtambahjasa.setLocationRelativeTo(this);
this.disable();
jdialogtambahjasa.setVisible(true);
Listing 4. 19 Menampilkan Form Tambah Jasa
Dan akan memanggil form tambah jasa seperti pada gambar 4.7 dibawah ini.
Gambar 4. 7 Form Tambah Jasa
Administrator bengkel diminta untuk memilih jasa sesuai jasa yang dibutuhkan
untuk proses servis setelah itu mengisikan keterangan tambahan pada kolom keterangan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
78
dan untuk kolom biaya jasa awal dan akhir akan secara otomatis terisi, ketika
administrator memasukkan diskon dalam persen maka sistem akan mengecek apakah
diskon melebihi 100% dengan perintah
if (disc persen <= 100) ketika diskon tidak
melebihi 100% maka secara otomatis kolom diskon rp akan terisi dengan otomatis dan
biaya jasa akhir akan di hitung dengan perintah int hasil = (int) (biaya - diskonrp); maka
kolom biaya akhir akan langsung terisi jika diskon melebihi 100% maka akan ada pesan
kesalahan dengan perintah
JOptionPane. show Message Dialog(this, "Discount
tidak bisa lebih dari 100%"); yang akan disajikan dalam listing 4.20.
Integer discpersen = Integer.valueOf(jtinternaldiscountpersen.getText());
Integer biaya = Integer.valueOf(jtinternalbiayajasa.getText());
if (discpersen <= 100) {
Integer diskonrp = (biaya * discpersen / 100);
String diskonrupiah = Integer.toString(diskonrp);
int hasil = (int) (biaya - diskonrp);
jtinternaldiscountrp.setText(diskonrupiah);
jtinternaljasabiayaakhir.setText(Integer.toString(hasil));
jtinternaldiscountrp.setEditable(false);
} else {
JOptionPane.showMessageDialog(this, "Discount tidak bisa lebih dari 100%");
jtinternaldiscountpersen.setText("");
}
internaljasatomboltambah.setEnabled(true);
Listing 4. 20 Penghitungan Diskon
Ketika admin menekan tombol batal maka akan menjalankan perintah
jdialogtambahjasa.dispose(); untuk menutup form tambah yang akan disajikan dalam
listing 4.21.
if (comboxjasa.getSelectedItem().equals("Pilih Jasa")) {
jdialogtambahjasa.dispose();
this.enable();
this.requestFocus();
} else {
comboxjasa.setSelectedIndex(0);
jtinternaldiscountpersen.setText("0");
jtinternaldiscountrp.setText("0");
jtinternaljasabiayaakhir.setText("0");
jtinternalbiayajasa.setText("0");
jtinternaljasaketerangan.setText("");
}
Listing 4. 21 Menutup Form Tambah Jasa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
79
Ketika admin selesai mengisikan data dari jasa yang digunakan dan menekan
tombol simpan maka akan memanggil perintah DaftarControl.koneksi(). simpanjasa
(nonota, jasa, keterangan, biaya, discrp); untuk menyimpan jasa yang dipilih tadi
kedalam database jika jasa berhasil ditambahkan akan memunculkan pesan berhasil
dengan perintah JOptionPane. showMessageDialog(PanelKomsumen, "Jasa Berhasil
Ditambahkan"); dan jika jasa yang dimasukkan merupakan jasa yang sudah dimasukkan
maka sistem akan memberikan pesan kesalahan dengan perintah JOptionPane.
showMessage Dialog(this, "Maaf Anda Sudah Memasukkan Jasa Ini"); yang akan
disajikan dalam listing 4.22.
DaftarControl df;
df = DaftarControl.koneksi();
Daftar d = new Daftar();
d = df.cekjasa(nonota, jasa);
if (d.getNonota() == null) {
DaftarControl.koneksi().simpanjasa(nonota, jasa, keterangan, biaya, discrp);
refreshjasa();
jdialogtambahjasa.dispose();
this.enable();
this.requestFocus();
JOptionPane.showMessageDialog(PanelKomsumen, "Jasa Berhasil Ditambahkan");
} else {
JOptionPane.showMessageDialog(this, "Maaf Anda Sudah Memasukkan Jasa Ini");
}
Listing 4. 22 Menyimpan Jasa Servis
Sedangkan untuk tombol pesan akan menjalankan perintah reportSource =
"./Reports/Faktur Penjualann.jasper"; yang digunakan memanggil jasper report sebagai
nota penjualan dan untuk mengisi jasper JasperPrint jasperPrint = JasperFillManager.fill
Report (reportSource, params, kon); dan perintah yang digunakan untuk menyimpan
data pesanan kedalam database adalah DaftarControl.koneksi().simpanorder(nonota,
kmmasuk, tanggal, keluhan); yang akan disajikan dalam listing 4.23
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
80
Connection kon = null;
String reportSource = "";
kon = KoneksiDatabase.KoneksiDataBase();
reportSource = "./Reports/Faktur Penjualann.jasper";
Map<String, Object> params = new HashMap<String, Object>();
-----gettext.
try {
DaftarControl.koneksi().simpanorder(nonota, kmmasuk, tanggal, keluhan);
} catch (SQLException ex) {
Logger.getLogger(DaftarForm.class.getName()).log(Level.SEVERE, null, ex);
}
params.put("tanggal", tanggal);
params.put("nonota", nonota);
params.put("nama", namaa);
params.put("alamat", alamat);
params.put("notlp", notlp);
params.put("nopol", nopol);
params.put("norangka", norangka);
params.put("nomesin", nomesin);
params.put("jenis", jenis);
params.put("merek", merek);
params.put("kilometer", kmkembali);
params.put("Biayatotaljasa", Biayatotaljasa);
params.put("Biayatotalservice", Biayatotalservice);
try {
JasperPrint jasperPrint = JasperFillManager.fillReport(reportSource, params,
kon);
JasperViewer.viewReport(jasperPrint, false);
} catch (JRException ex) {
ex.printStackTrace();
}
Listing 4. 23 Memanggil Jasper Report
dan akan memanggil jasper laporan nota seperti gambar 4.8 dibawah ini
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
81
Gambar 4. 8 Jasper Laporan Nota Transaksi
4.3.3 Halaman Ubah Data Pesanan
Halaman ubah data pesanan adalah halaman yang diakses untuk memberikan
kemudahan untuk mengupdate data pesanan dari nota tertentu ketika proses service
sedang dilakukan tetapi membutuhkan suku cadang baru dalam proses service sehingga
data pesanan dalam database dapat diubah dimulai dengan mencari no nota yang akan
ditampilkan dalam gambar 4.9 dan setelah nota ditemukan akan membuka halaman
menu daftar service (tab suku cadang) yang bisa dilihat pada gambar 4.4.
Gambar 4. 9 Form Masukkan No Nota (ubah data pesanan)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
82
Untuk tombol kedua pada menu utama akan memanggil form untuk masukan
no nota jika sewaku servis konsumen / mekanik bengkel menghendaki menambah suku
cadang pada proses servis maka dapat di jalankan dengan menekan tombol menu kedua
yaitu ubah data pesanan akan memanggil perintah JDialogCarinota.setVisible(true);
untuk menampilkan form masukan nomor nonota yang akan disajikan dalam listing
4.24.
this.disable();
JDialogCarinota.setVisible(true);
JDialogCarinota.setLocationRelativeTo(this);
inputnonota.requestFocus();
Listing 4. 24 Menampilkan Form Cari Nota
Maka akan menampilkan form nota seperti pada gambar 4.9 dan tombol cari
berfungsi untuk mencari nomor nota yang akan diubah datanya dalam proses servis
dengan memanggil perintah berikut B.Daftar_service.Daftar Control.koneksi(). carinota
(inputnonota.getText()); jika data ditemukan maka akan memanggil method show
seperti pada listing 4.8 dan ketika data yang dicari tidak ditemukan akan memunculkan
pesan kesalahan dengan perintah JOptionPane.show MessageDialog(this, "No nota
tidak ditemukan"); yang akan disajikan dalam listing 4.25.
String hasil = B.Daftar_service.DaftarControl.koneksi().carinota(inputnonota.getText());
if (hasil.equals(inputnonota.getText())) {
try {
DaftarForm df = new DaftarForm();
JDialogCarinota.setVisible(false);
df.setVisible(true);
df.show(inputnonota.getText(), 2);
this.setVisible(false);
} catch (Exception ex) {
}
} else {
JOptionPane.showMessageDialog(this, "No nota tidak ditemukan");
}
Listing 4. 25 Cari No Nota
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
83
Sedangkan untuk tombol batal akan menutup form cari nota dengan
menggunakan perintah berikut JDialogCarinota.setVisible(false); yang akan disajikan
dalam listing 4.26
this.enable();
JDialogCarinota.setVisible(false);
Listing 4. 26 Menutup Form Cari No Nota
4.3.4 Halaman Ubah Data
Halaman Ubah Data adalah halaman yang diakses dari menu utama tombol
ubah data yang berfungsi untuk mengupdate data stok suku cadang dan juga dapat
menyimpan data suku cadang, data jenis suku cadang, data jenis motor, data jenis jasa,
dan data merek, jika dibutuhkan untuk menambahkan data baru, halaman ini memiliki 6
tab yaitu tab data suku cadang (gambar 4.10) , tab data jenis suku cadang (gambar
4.11), tab data jenis motor (gambar 4.12), tab data merek (gambar 4.13), dan tab data
jenis jasa (gambar 4.14) dan tab cek data penjualan (gambar 4.16).
Gambar 4. 10 Tab Data Suku Cadang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
84
Pada tab pertama ada beberapa perintah yang dijalankan, yang pertama adalah
perintah untuk mencari semua suku cadang yang ada dalam database dengan perintah
List<UbahData> sk = (List<UbahData>) UbahDataControl.koneksi().getallsk(); dan
akan ditampilkan dalam tabel suku cadang dengan perintah tabelsukucadang.
setModel(mod); yang akan disajikan dalam listing 4.27.
List<UbahData> sk = (List<UbahData>) UbahDataControl.koneksi().getallsk();
TabelModelEditSK mod = new TabelModelEditSK(sk);
tabelsukucadang.setModel(mod);
Listing 4. 27 Cari Semua Suku Cadang
Ketika administrator memilih kategori saja dalam kolom kategori maka akan
memanggil perintah refresh sk kategori untuk mencari suku cadang menurut kategori
saja dan ketika tombol kategori terisi pilih kategori maka akan memanggil metod
refresh suku cadang untuk menampilkan semua suku cadang yang akan ditampilkan
dalam tabel dalam bentuk list yang akan ditampilkan dalam listing 4.28.
if (!comkategori.getSelectedItem().equals("Pilih Kategori")) {
refreshskkategori();
} else {
refreshsukucadang();
}
Listing 4. 28 Cari Kategori
Fungsi selanjutnya yang dijalankan adalah menyimpan data suku cadang baru,
setelah mengisi semua data yang dibutuhkan seperti nama suku cadang, harga satuan,
limit stock dan masuk administrator akan menekan tombol simpan yang akan
menjalankan perintah UbahData Control.koneksi().simpansukucadang(id, nama, masuk,
limit, kategori, harga); untuk menyimpan data suku cadang baru yang akan disajikan
dalam listing 4,29.
UbahDataControl.koneksi().simpansukucadang(id, nama, masuk, limit, kategori, harga);
refreshsukucadang();
JOptionPane.showMessageDialog(rootPane, "Data Sukucadang Berhasil Ditambahkan");
Listing 4. 29 Simpan Suku Cadang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
85
Sedangkan untuk tombol update akan otomatis muncul ketika administrator
menekan salah satu data dari dalam tabel dan data yang dipilih dan akan di tampilkan
dalam form suku cadang untuk dilakukan update data setelah data diupdate maka
administrator akan menekan tombol update
yang akan melakukan update dengan
memanggil perintah String tambahsk = UbahData Control.koneksi().tambahsk(id, nama,
limit, idjenis, harga, masuk); ketika berhasil mengupdate data maka akan muncul pesan
berhasil
dengan
perintah
JOptionPane.show
MessageDialog(rootPane,
"Data
Sukucadang Berhasil Diupdate"); yang akan disajikan dalam listing 4.30.
String tambahsk = UbahDataControl.koneksi().tambahsk(id, nama, limit, idjenis, harga,
masuk);
refreshsukucadang();
JOptionPane.showMessageDialog(rootPane, "Data Sukucadang Berhasil Diupdate");
Listing 4. 30 Update Data Sk
Ketika administrator menekan tombol batal maka akan menghapus semua data
dalam form sehingga form siap digunakan lagi dengan menggunakan perintah seperti
dalam listing 4.31.
buttonsimpan1.setText("Simpan");
JtIdSK.setText("");
JtNama.setText("");
JtHargasatuan.setText("");
JtLimitstock.setText("");
JtMasuk.setText("");
comkategori.setSelectedIndex(0);
buttonsimpan1.setEnabled(false);
refreshsukucadang();
Listing 4. 31 Tombol Batal
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
86
Tab kedua adalah tab data jenis suku cadang seperti pada gambar 4.11.
Gambar 4. 11 Tab Data Jenis Suku Cadang
Untuk tab kedua yaitu tab data jenis suku cadang terdapat 2 fungsi yang dapat
dijalanlankan di halaman ini yaitu untuk menambahkan data jenis suku cadang baru
atau mengupdate data suku cadang yang sudah ada, untuk menambah data suku cadang
baru administrator hanya mengisikan nama jenis suku cadang dengan benar lalu
menekan tombol simpan, untuk id jenis akan secara otomatis dibuat dengan perintah
String a = UbahDataControl.koneksi().autonumberjenissk(); untuk mendapatkan nomor
id jenissk tertinggi lalu ditambah dengan 1 selanjutnya akan ada pengecekan panjang
dari id jenissk jika id jenissk kosong maka akan menampilkan id jenissk = 0001
dengan perintah a= "0001"; jika panjang id jenissk 1 maka akan menambahkan "000"
di depan id jenissk dengan perintah a = "000" + a; jika panjang id jenissk 2 maka akan
menambahkan "00" di depan id jenissk dengan perintah a = "00" + a; jika id jenissk 3
maka akan menambahkan "0" di belakang id jenissk dengan perintah a = "0" + a; jika
panjang id jenissk lebih dari 3 maka akan langsung menampilkan hasil pencarian id
jenissk JtIdjenis.setText(a); yang akan ditampilkan dalam listing 4.32.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
87
private void autonumberjenissk() {
try {
String a = UbahDataControl.koneksi().autonumberjenissk();
if (a.equals("null")) {
a = "0001";
} else if (a.length() == 1) {
a = "000" + a;
} else if (a.length() == 2) {
a = "00" + a;
} else if (a.length() == 3) {
a = "0" + a;
}
JtIdjenis.setText(a);
Listing 4. 32 Autonumber Jenis Sk
Dan selanjutnya untuk menyimpan data jenis suku cadang baru maka akan
menggunakan perintah berikut UbahDataControl.koneksi().simpanjenissk(id, nama);
jika berhasil menambahkan maka akan ada pesan sukses dengan perintah
JOptionPane.show MessageDialog(rootPane, "Data Jenis Suku Cadang Berhasil
Ditambahkan"); seperti pada listing 4.33
UbahDataControl.koneksi().simpanjenissk(id, nama);
refreshjenissuku();
JOptionPane.showMessageDialog(rootPane, "Data Jenis Suku Cadang Berhasil
Ditambahkan");
Listing 4. 33 Simpan Jenis Sk
Sedangkan untuk tombol update akan otomatis muncul ketika user menekan
salah satu data dari dalam tabel dan data yang dipilih akan di tampilkan dalam form
jenis sukucadang untuk dilakukan update data dengan menggunakan perintah
UbahDataControl .koneksi().updatejenissk(id, nama); dan ketika berhasil memasukkan
akan menampilkan pesan sukses dengan perintah JOptionPane. showMessageDialog
(rootPane, "Data Jenis Suku Dadang Berhasil Diupdate"); yang akan disajikan dalam
listing 4.34.
UbahDataControl.koneksi().updatejenissk(id, nama);
refreshjenissuku();
JOptionPane.showMessageDialog(rootPane, "Data Jenis Suku Cadang Berhasil Diupdate");
Listing 4. 34 Update Jenis Sk
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
88
Sedangkan untuk perintah batal akan mengosongkan form jenis suku cadang
dengan menjalankan perintah seperti pada listing 4.35.
JtIdjenis.setText("");
JtJenissuku.setText("");
buttonsimpan5.setText("Simpan");
buttonsimpan5.setEnabled(false);
Listing 4. 35 Tombol Batal
Tab ke tiga adalah tab data jenis motor seperti pada gambar 4.12.
Gambar 4. 12 Tab Data Jenis Motor
Untuk tab ketiga disini adalah tab data jenis motor, sama halnya dengan tab
jenis suku cadang hanya perlu menambah nama jenis dan merek pada form isian jenis
motor untuk id jenis akan dibuat secara otomatis dengan perintah String a =
UbahDataControl. koneksi(). autonumbermotor();, untuk mendapatkan id jenis motor
tertinggi lalu ditambah dengan 1 selanjutnya akan ada pengecekan panjang dari id jenis
motor jika id jenis motor kosong maka akan menampilkan id jenis motor = 0001
dengan perintah a= "0001"; jika panjang id jenis motor 1 maka akan menambahkan
"000" di depan id jenis motor dengan perintah a = "000" + a; jika panjang id jenis motor
2 maka akan menambahkan "00" di depan id jenis motor dengan perintah a = "00" + a;
jika panjang id jenis motor 3 maka akan menambahkan "0" di belakang id jenis motor
dengan perintah a = "0" + a; jika panjang id jenis motor lebih dari 3 maka akan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
89
langsung menampilkan hasil pencarian id jenis motor JtIdjenismotor.setText(a); yang
akan ditampilkan dalam listing 4.36.
try {
String a = UbahDataControl.koneksi().autonumbermotor();
if (a.equals("null")) {
a = "0001";
} else if (a.length() == 1) {
a = "000" + a;
} else if (a.length() == 2) {
a = "00" + a;
} else if (a.length() == 3) {
a = "0" + a;
}
JtIdjenismotor.setText(a);
Listing 4. 36 Autonumber Motor
Selanjutnya untuk menyimpan data suku cadang baru daministrator akan
mengisikan nama jenis dan merek dari jenis motor tersebut, setelah mengisikan dan
menekan tombol simpan maka akan menyimpan kedalam database dengan perintah
berikut UbahData Control.koneksi().simpanjenismotor(id, nama, merek); dan jika
sukses menyimpan data jenis motor baru maka akan memunculkan pesan sukses dengan
perintah JOptionPane.show MessageDialog(rootPane, "Data Jenis Motor Berhasil
Ditambahkan"); yang akan disajikan dalam listing 4.37.
UbahDataControl.koneksi().simpanjenismotor(id, nama, merek);
refreshdatamotor();
JOptionPane.showMessageDialog(rootPane, "Data Jenis Motor Berhasil Ditambahkan");
Listing 4. 37 Simpan Jenis Motor
Sedangkan untuk tombol update akan otomatis muncul ketika user menekan
salah satu data dari dalam tabel dan data yang dipilih akan di tampilkan dalam form
jenis motor untuk dilakukan update data dengan menggunakan perintah UbahData
Control. koneksi ().updatejenismotor(id, nama, merek); dan ketika berhasil mengupdate
jenis motor
akan memunculkan pesan berhasil dengan perintah JOptionPane.
showMessage Dialog(rootPane, "Data Jenis Motor Berhasil Diupdate"); yang akan
disajikan dalam listing 4.38.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
90
UbahDataControl.koneksi().updatejenismotor(id, nama, merek);
refreshdatamotor();
JOptionPane.showMessageDialog(rootPane, "Data Jenis Motor Berhasil Diupdate");
Listing 4. 38 Update Jenis Motor
Untuk perintah batal akan berjalan untuk mengosongkan data di form jenis
motor dengan menjalankan perintah seperti pada listing 4.39.
JtIdjenismotor.setText("");
JtNamajenismotor.setText("");
combomerek.setSelectedIndex(0);
buttonsimpan2.setText("Simpan");
buttonsimpan2.setEnabled(false);
Listing 4. 39 Tombol Batal
Untuk tombol tambah sk digunakan ketika akan menambahkan suatu suku
cadang untuk motor tertentu, maka administrator harus memilih jenis motor yang akan
ditambahkan suku cadangnya lalu menekan tombol tambah sk maka akan menampilkan
jdialog tambah sk dengan perintah seperti pada listing 4.40.
dialogtambahskmotor.setLocationRelativeTo(this);
this.disable();
dialogtambahskmotor.setVisible(true);
Listing 4. 40 Menampilkan Jdialog Tambah Sk Motor
Lalu akan muncul jdialog skmotor seperti pada gambar 4.13
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
91
Gambar 4. 13 Tambah Sk Motor
Untuk perintah tambah admin harus klik kanan pada data yang diinginkan di
tabel sebelah kanan tabel sksemua lalu menekan tombol popup tambah maka akan
menyimpan data id jenis motor dan id suku cadang pada tabel sk motor dengan perintah
seperti pada listing 4.41.
UbahDataControl.koneksi().simpansukumotor(idjenismotor, idsuku);
refreshsukucadang();
JOptionPane.showMessageDialog(dialogtambahskmotor, "Data Sukucadang Berhasil
Ditambahkan");
Listing 4. 41 Menambahkan Suku Cadang Kedalam Motor Tertentu
Untuk perintah hapus admin harus klik kanan pada data yang diinginkan di
tabel sebelah kiri tabel sk motor lalu menekan tombol popup hapus maka akan
menghapus data berdasarkan id jenis motor dan id suku cadang dengan perintah seperti
pada listing 4.42.
UbahDataControl.koneksi().hapussukumotor(idjenismotor, idsuku);
refreshsukucadang();
JOptionPane.showMessageDialog(dialogtambahskmotor, "Data Sukucadang Berhasil
Dihapus");
Listing 4. 42 Menghapus Suku Cadang Motor Tertentu
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
92
Tab ke empat adalah tab data merek seperti pada gambar 4.13.
Gambar 4. 14 Tab Data Merek
Untuk tab ke-empat adalah tab data merek dalam tab ini administrator dapat
mengisikan data merek baru dengan cara mengisikan nama merek pada form dan
menekan tombol simpan, untuk id merek akan dibuat secara otomatis dengan
menggunakan
perintah
berikut
String
a
=
UbahDataControl.koneksi().
autonumbermerek();, untuk mendapatkan id merek tertinggi lalu ditambah dengan 1
selanjutnya akan ada pengecekan panjang dari id merek jika id merek kosong maka
akan menampilkan id merek = 001 dengan perintah a= "0001"; jika panjang id merek 1
maka akan menambahkan "000" di depan id merek dengan perintah a = "000" + a; jika
panjang id merek 2 maka akan menambahkan "00" di depan id merek dengan perintah a
= "00" + a; jika panjang id merek lebih dari 2 maka akan langsung menampilkan hasil
pencarian id merek JtIdmerek.setText(a);yang akan ditampilkan dalam listing 4.43.
String a = UbahDataControl.koneksi().autonumbermerek();
if (a.equals("null")) {
a = "001";
} else if (a.length() == 1) {
a = "00" + a;
} else if (a.length() == 2) {
a = "0" + a;
}
JtIdmerek.setText(a);
Listing 4. 43 Autonumber Merek
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
93
Setelah itu untuk menyimpan data merek motor baru admin menekan tombol
simpan dan akan memanggil perintah UbahDataControl.koneksi().simpanmerek(id,
nama);, ketika berhasil menambahkan merek baru maka akan memunculkan pesan
sukses dengan perintah JOptionPane.showMessageDialog(rootPane, "Data Merek
Motor Berhasil Ditambahkan"); yang akan disajikan dalam listing 4.44.
UbahDataControl.koneksi().simpanmerek(id, nama);
refreshmerek();
JOptionPane.showMessageDialog(rootPane, "Data Merek Motor Berhasil Ditambahkan");
Listing 4. 44 Simpan Merek
Sedangkan untuk tombol update akan otomatis muncul ketika user menekan
salah satu data dari dalam tabel dan data yang dipilih akan di tampilkan dalam form
merek
motor
untuk
dilakukan
update
data
dengan
menggunakan
perintah
UbahDataControl. koneksi().updatemerek(id, nama); ketika berhasil mengupdate merek
maka akan memunculkan pesan sukses dengan perintah JOptionPane.show Message
Dialog (rootPane, "Data Merek Motor Berhasil Diupdate"); yang akan disajikan dalam
listing 4.45.
UbahDataControl.koneksi().updatemerek(id, nama);
refreshmerek();
JOptionPane.showMessageDialog(rootPane, "Data Merek Motor Berhasil Diupdate");
Listing 4. 45 Update Merek
Untuk perintah batal akan berjalan untuk mengosongkan data di form merek
dengan menjalankan perintah seperti pada listing 4.47.
JtIdmerek.setText("");
JtNamamerek.setText("");
buttonsimpan4.setText("Simpan");
buttonsimpan4.setEnabled(false);
Listing 4. 46 Tombol Batal
Tab kelima adalah tab jenis jasa seperti pada gambar 4.15.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
94
Gambar 4. 15 Tab Data Jenis Jasa
Untuk tab terakhir adalah tab jenis jasa disini terdapat 3 fungsi yang dijalankan
yaitu untuk menyimpan jenis jasa, mengupdate jenis jasa dan batal , fungsi simpan
dijalankan ketika administrator sudah mengisikan nama jenis jasa dan biaya jasa pada
form jenis jasa secara benar dan menekan tombol simpan untuk id jenis jasa akan dibuat
secara otomatis dengan menggunakan perintah sebagai berikut String a =
UbahDataControl.koneksi() .autonumberjasa();untuk mendapatkan id jenis jasa
tertinggi lalu ditambah dengan 1 selanjutnya akan ada pengecekan panjang dari id jenis
jasa jika id jenis jasa kosong maka akan menampilkan id jenis jasa = 0001 dengan
perintah a= "0001"; jika panjang id jenis jasa 1 maka akan menambahkan "000" di
depan id jenis jasa dengan perintah a = "000" + a; jika panjang id jenis jasa 2 maka akan
menambahkan "00" di depan id jenis jasa dengan perintah a = "00" + a; jika panjang id
jenis jasa 3 maka akan menambahkan "0" di belakang id jenis jasa dengan perintah a =
"0" + a; jika panjang id jenis jasa lebih dari 3 maka akan langsung menampilkan hasil
pencarian id jenis jasa jtidjasa.setText(a); yang akan ditampilkan dalam listing 4.47.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
95
String a = UbahDataControl.koneksi().autonumberjasa();
if (a.equals("null")) {
a = "0001";
} else if (a.length() == 1) {
a = "000" + a;
} else if (a.length() == 2) {
a = "00" + a;
} else if (a.length() == 3) {
a = "0" + a;
}
jtidjasa.setText(a);
Listing 4. 47 Autonumber Jasa
Setelah itu untuk menambahkan data jasa baru administrator menekan tombol
simpan
dan
akan
memanggil
perintah
berikut
UbahDataControl.koneksi()
.simpanjenisjasa(id, nama, biaya); JOption Pane.showMessageDialog(rootPane, "Data
Jenis Jasa Berhasil Ditambahkan"); yang akan disajikan dalam listing 4.48.
UbahDataControl.koneksi().simpanjenisjasa(id, nama, biaya);
refreshjenisjasa();
JOptionPane.showMessageDialog(rootPane, "Data Jenis Jasa Berhasil Ditambahkan");
Listing 4. 48 Simpan Jenis Sk
Sedangkan untuk tombol update akan otomatis muncul ketika user menekan
salah satu data dari dalam tabel dan data yang dipilih akan di tampilkan dalam form
jenis jasa untuk dilakukan update data dengan menggunakan perintah Ubah
DataControl .koneksi() .updatejenisjasa(id, nama, biaya); ketika berhasil mengupdate
jenis
jasa
maka
akan
memunculkan
pesan
sukses
dengan
perintah
JOptionPane.showMessageDialog (rootPane, "Data Jenis Jasa Berhasil Diupdate");
yang akan disajikan dalam listing 4.49.
UbahDataControl.koneksi().updatejenisjasa(id, nama, biaya);
refreshjenisjasa();
JOptionPane.showMessageDialog(rootPane, "Data Jenis Jasa Berhasil Diupdate");
Listing 4. 49 Update Jenis Jasa
Untuk perintah batal akan berjalan untuk mengosongkan data di form jenis jasa
dengan menjalankan perintah seperti pada listing 4.50.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
96
jtidjasa.setText("");
jtnamajasa.setText("");
jtbiayajasa.setText("");
buttonsimpan3.setText("Simpan");
buttonsimpan3.setEnabled(false);
Listing 4. 50 Tombol batal
Tab ke enam adalah tab cek data penjualan seperti pada gambar 4.16.
Gambar 4. 16 Cek Data Penjualan
Tab ini berfungsi untuk mengecek barang yang terjual pada bulan dan tahun
tertentu, hanya ada satu fungsi di tab ini yaitu fungsi untuk mencari data dengan
menekan tombol cari setelah memilih bulan dan tahun , lalu akan menjalankan perintah
cari seperti pada listing 4.51 berikut, untuk bulan akan menambahkan perintah
jmonthchooser.getmonth()+1 dikarenakan bulan dalam java terbaca mulai bulan 0
sehingga harus menambahkan 1 agar bulan yang didapat sesuai dengan data dalam
database.
int bulan = jmonthchooser.getMonth() + 1;
int tahun = jYearChooser.getYear();
List<UbahData> konsum = (List<UbahData>)
UbahDataControl.koneksi().cekpenjualan(bulan, tahun);
TabelModelCekPenjualan model = new TabelModelCekPenjualan(konsum);
tabelcekpenjualan.setModel(model);
Listing 4. 51 Cek Penjualan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
97
4.3.5 Halaman Histori Servis
Halaman histori servis adalah halaman yang diakses ketika konsumen
menanyakan kapan terakhir kali konsumen tersebut melakukan servis atau apa yang di
servis ketika terakir kali melakukan proses servis yang akan ditampilkan dalam gambar
4.16 dan detil servis akan ditampilkan dalam gambar 4.17.
Gambar 4. 17 Halaman Histori Servis
Pada form ini ada 2 perintah yang dapat dijalankan perintah pertama adalah
untuk mencari data servis dengan memasukkan nomor polisi kendaraan yang dicari,
kemudian sistem akan menjalankan perintah cari untuk melakukan pencarian nomor
polisi yang dimasukkan dengan menjalankan perintah List<History> histo =
(List<History>) HistoryControl.koneksi().carinopol(np); dan akan ditampilkan di dalam
tabel histori dengan perintah TabelHistori.setModel(model); yang akan disajikan dalam
listing 4.52
List<History> histo = (List<History>) HistoryControl.koneksi().carinopol(np);
TabelModelHistory model = new TabelModelHistory(histo);
TabelHistori.setModel(model);
Listing 4. 52 Cari No Polisi
Untuk perintah yang kedua yaitu perintah detil servis, ketika data yang dicari
sudah muncul dalam tabel administrator dapat menekan tombol detil untuk melihat detil
servis dari kendaraan tertentu yang sudah ditampilkan dalam tabel dengan menjalankan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
98
perintah berikut untuk mendapatkan data konsumen, jasa yang digunakan, suku cadang
yang digunakan, biaya total suku cadang, biaya total jasa, dan data servis seperti
kilometer keluhan. Yang akan disajikan dalam listing 4.53.
konsumen();
getjasa();
getsk();
getbiayask();
getbiayajasa();
getdataservice();
String totalsk = JtTotalbiayaSK.getText();
String totaljasa = JtTotalbiayajasa.getText();
int totalbiayaservice = Integer.valueOf(totalsk) + Integer.valueOf(totaljasa);
JtTotalBiayaServis.setText(Integer.toString(totalbiayaservice));
Jdialoghistori.setLocationRelativeTo(this);
this.disable();
Jdialoghistori.setVisible(true);
Listing 4. 53 Cari Data Servis
Dan data yang diperloleh akan ditampilkan kedalam form detil servis seperti
pada gambar 4.17
Gambar 4. 18 Halaman Detil Servis
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
99
BAB V
ANALISA HASIL PENGUJIAN
5.1 Analisa Hasil Perangkat Lunak
Aplikasi bengkel merupakan aplikasi pendataan data bengkel dengan
menerapkan protokol Two Phase Locking (2PL), aplikasi ini dibuat untuk membantu
staff administrator untuk melakukan pencatatan data pemesanan suku cadang yang
digunakan dalam proses servis, mendata stock suku cadang yang ada, fungsi utama dari
aplikasi ini adalah untuk menghindari kesalahan pencatatan stok suku cadang yang di
lakukan dalam proses servis dan juga dalam proses pemasukan stok suku cadang agar
data yang diperoleh adalah data yang valid tidak terjadi kesalahan pencatatan stok suku
cadang.
Pengujian dilakukan oleh 5 orang staff administrator bengkel sebagai
responden. Pengujian yang dilakukan oleh administrator yang akan menggunakan
sistem meliputi pengujian mulai dari pendaftaran servis, pengambilan barang servis
sampai pengubahan data data bengkel seperti data suku cadang, jenis suku cadang, jenis
motor, merek, dan jenis jasa dan juga admin mengecek nota servis dan histori servis
dari kendaraan tertentu.
5.2 Analisa Hasil Coba Terhadap Program
Aplikasi bengkel yang menerapkan protokol 2PL digunakan dalam lingkungan
multi user sehingga dimungkinkan terjadi permasalahan concurrency. Pada kasus ini
2PL menangani masalah ketergantungan transaksi yang belum dilaksanakan
(uncommited dependency problem) seperti pada bab 5.2.1, dan juga akan menangani
masalah hilangnya data yang diubah (lost update problem) seperti pada bab 5.2.2.
Untuk masalah ketiga analisa yang tidak konsisten (inconsistent analysis problem) tidak
dimungkinkan terjadi dalam aplikasi bengkel motor ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
100
5.2.1 Pengujian terhadap Masalah Ketergantungan Transaksi yang Belum Di
Laksanakan (Uncommited Dependency Problem) pada Proses Daftar Servis
Berikut ini adalah gambaran yang dilakukan untuk mendaftar servis dan
mendapatkan no nota untuk proses selanjutnya. Dilakukan pengujian untuk mendaftar
servis dari dua transaksi yang berbeda secara bersamaan dengan dua id konsumen yang
berbeda, untuk membuktikan diberikan sedikit delay pada stored procedure dengan
perintah menambahkan perintah dbms_lock.sleep(5);, stored procedure yang digunakan
disini adalah stored procedure servis seperti pada listing 4.4. Untuk hasil pengujian
transaksi pertama adalah transaksi yang terlebih dahulu mendapatkan no nota sehingga
mendapatkan pesan sukses "Berhasil mendaftar" seperti pada gambar 5.1, sedangkan
transaksi kedua akan terjadi kesalahan dan melakukan proses rollback, sehingga sistem
menampilkan pesan kesalahan "Maaf terjadi kesalahan dalam pendaftaran servis,
mohon ulangi proses pendaftaran" seperti pada gambar 5.2.
Gambar 5. 1 Berhasil Mendaftar Servis
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
101
Gambar 5. 2 Gagal Mendaftar Servis dan Ada Pesan Kesalahan
5.2.2 Pengujian terhadap Masalah Hilangnya Data yang Diubah (Lost Update
Problem) pada Proses Pengambilan Suku Cadang dalam Proses Servis
Berikut ini adalah gambaran yang dilakukan untuk melakukan proses
pemesanan suku cadang . akan menampilkan halaman suku cadang yang berisi kategori
suku cadang yang ada sesuai dengan merek motor yang telah dipilih sebelumnya yang
telah ditampilkan di gambar 4.4.
Dalam pengujian ini akan menggunakan jenis suku cadang busi dengan nama
suku cadang denso std b dengan menggunakan 2 interface yang akan melakukan
pemesanan barang dengan id yang sama secara bersamaan yang akan di tampilkan
dalam gambar 5.3 dengan nonota 0001 dan 5.4 dengan nonota 0002.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
102
Gambar 5. 3 Pemesanan Suku Cadang dengan No Nota 0001
Pada gambar 5.3 administrator satu telah memilih kategori suku cadang busi
dan memilih busi denso std b terlihat stock suku cadang untuk busi denso std b tersisa 1
buah
Gambar 5. 4 Pemesanan Suku Cadang dengan No Nota 0002
Pada gambar 5.4 administrator 2 telah memilih suku cadang yang sama dengan
administrator satu yaitu busi denso std b dan terlihat disinilah 2PL akan berjalan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
103
diberikan delay pada stored procedure untuk percobaan ini dengan cara menambahkan
perintah dbms_lock.sleep(5); pada kasus ini stored procedure yang digunakan adalah
Tambah suku cadang seperti pada listing 4.1. Perintah ini akan melakukan pemberian
jeda waktu selama 5 detik untuk membuktikan procedure two phase locking berjalan
dengan benar, maka jika transaksi dijalankan bersamaan pada tab yang menjalankan
transaksi terlebih dahulu akan berhasil mengambil suku cadang dan akan menampilkan
pesan sukses yang akan ditampilkan dalam gambar 5.5 dan transaksi kedua akan
menunggu transaksi pertama selesai melakukan transaksi dan melakukan commit
selanjutnya transaksi kedua akan melakukan roolback karena suku cadang yang di
minta sudah digunakan dalam transaksi pertama akan mengeluarkan pesan kesalahan
dikarekanan suku cadang busi denso std b sudah diambil oleh transaksi pertama dan
akan ditampilkan dalam gambar 5.6.
Gambar 5. 5 Pemesanan Suku Cadang Berhasil
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
104
Gambar 5. 6 Pemesanan Suku Cadang Gagal
Pada gambar 5.5 adalah pengujian pengambilan suku cadang dengan pesan
sukses yang berarti suku cadang berhasil di tambahkan kedalam database dengan no
nota yang sudah ada sedangkan pada gambar 5.6 menunjukkan pesan kesalahan "Maaf
terjadi kesalahan dalam pemesanan barang, mohon ulangi proses pemesanan" karena
ketika kedua transaksi tersebut melakukan proses pemesanan transaksi pada gambar 5.5
telah lebih dahulu melakukan penguncian sehingga transaksi pada gambar 5.6 harus
menunggu transaksi pertama tadi melakukan commit dan transaksi pertama telah
melepaskan penguncian, sehingga pada transaksi kedua melakukan proses rollback dan
memberikan pesan kesalahan agar proses diulang kembali.
Tabel 5.1 merupakan gambaran tabel untuk proses pengambilan suku cadang
dalam pengujian aplikasi yang menerapkan protokol 2PL untuk menghindari masalah
concurency.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
105
Tabel 5. 1 Tabel Proses Transaksi dengan 2PL
Waktu
T1
T2
T3
T4
T5
T6
Transaksi 1
Transaksi 2
Stok
sukucadang
Open procedure tambahsukucadang
1
select stock into v_stock from Open
procedure 1
sukucadang where idsukucadang = tambahsukucadang
v_idsukucad for update
if (v_stock - v_jumlah) < 0 then
Wait
1
insert into pemesanan (nonota, Wait
1
idsukucadang, jumlah, totalharga)
values
(v_idnota,v_idsuku,v_jumlah,v_harga)
;
update sukucadang set stock = v_stock Wait
0
- v_jumlah
where idsukucadang = v_idsukucad;
status := 1;
commit;
select stock into v_stock 0
from sukucadang where
idsukucadang
=
v_idsukucad
T7
if (v_stock - v_jumlah) < 0
0 then
ROLLBACK;
status := 0;
T8
Dari tabel 5.1 dapat dilihat bahwa transaksi pertama seperti pada gambar 5.3
dan transaksi ke dua pada gambar 5.4 melakukan pemesanan barang di saat hampir
bersamaan tetapi transaksi pertama terlebih dahulu mengunci tabel suku cadang dapat
dilihat di T2 tabel 5.1 sehingga transaksi kedua harus menunggu selama 5 detik dengan
perintah dbms_lock.sleep(5); seperti pada listing 4.1. Setelah transaksi pertama selesai
dan melakukan commit. Dapat dilihat pada gambar 5.5 transaksi pertama berhasil
mengambil suku cadang, dan pada gambar 5.6 transaksi kedua gagal mengambil suku
cadang dikarenakan transaksi pertama telah mengambil barang terakhir dalam stok
maka akan muncul pesan kesalahan dan transaksi kedua akan melakukan roolback
seperti kolom t8 tabel 5.1.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
106
5.3 Analisa Hasil Coba Terhadap Pengguna
Uji coba terhadap pengguna dilakukan dengan menyebarkan kuisioner kepada
5 orang staff administrator bengkel (untuk menguji apakah sistem yang dibuat dapat
membantu kinerja staff administrator bengkel).
5.4 Hasil Pengujian Ddministrator Bengkel
Hasil dari pembagian kuisioner yang telah dibagikan untuk pengguna sistem
menghasilkan data yang akan diolah sehinggal mendapatkan gambaran dari sistem yang
dibuat sebagai berikut.
 Pertanyaan 1 : Apakah merasa mudah melihat dan memahami tampilan
sistem.
Tabel 5. 2 Hasil Pertanyaan 1
Jawaban
Sangat Setuju
Setuju
Ragu - ragu
Tidak setuju
Sangat Tidak Setuju
Jumah responden
2
3
0
0
0
Skor
Bobot
5
4
3
2
1
Nilai
10
12
0
0
0
4,4
Hasil analisa dari kuisioner yang didapat dari pertanyaan pertama adalah
mendapatkan nilai 4,4 dari skala 5 yang berarti bahwa responden setuju jika merasa
mudah melihat dan memahami tampilan sistem.
 Pertanyaan 2 : Apakah mudah membaca tulisan dalam sistem.
Tabel 5. 3 Hasil Pertanyaan 2
Jawaban
Sangat Setuju
Setuju
Ragu - ragu
Tidak setuju
Sangat Tidak Setuju
Jumah responden
0
2
3
0
0
Skor
Bobot
5
4
3
2
1
Nilai
0
8
9
0
0
3,4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
107
Hasil analisa dari kuisioner yang didapat dari pertanyaan kedua adalah
mendapatkan nilai 3,4 dari skala 5 yang berarti bahwa responden ragu ragu jika mudah
membaca tulisan dalam sistem.
 Pertanyaan 3 : Apakah mudah memahami petunjuk penggunaan sistem.
Tabel 5. 4 Hasil Pertanyaan 3
Jawaban
Sangat Setuju
Setuju
Ragu - ragu
Tidak setuju
Sangat Tidak Setuju
Jumah responden
0
4
1
0
0
Skor
Bobot
5
4
3
2
1
Nilai
0
16
3
0
0
3,8
Hasil analisa dari kuisioner yang didapat dari pertanyaan ketiga adalah
mendapatkan nilai 3,8 dari skala 5 yang berarti bahwa responden setuju jika mudah
memahami petunjuk penggunaan sistem.
 Pertanyaan 4 : Apakah mudah mengenali setiap perintah dalam sistem.
Tabel 5. 5 Hasil Pertanyaan 4
Jawaban
Sangat Setuju
Setuju
Ragu - ragu
Tidak setuju
Sangat Tidak Setuju
Jumah responden
0
4
1
0
0
Skor
Bobot
5
4
3
2
1
Nilai
0
16
3
0
0
3,8
Hasil analisa dari kuisioner yang didapat dari pertanyaan keempat adalah
mendapatkan nilai 3,8 dari skala 5 yang berarti bahwa responden setuju jika mudah
mengenali setiap perintah dalam sistem.
 Pertanyaan 5 : Apakah mudah menggunakan perintah dalam sistem (simpan,
ubah).
Tabel 5. 6 Hasil Pertanyaan 5
Jawaban
Sangat Setuju
Setuju
Ragu - ragu
Tidak setuju
Jumah responden
1
3
1
0
Bobot
5
4
3
2
Nilai
5
12
3
0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
108
Sangat Tidak Setuju
0
Skor
1
0
4,0
Hasil analisa dari kuisioner yang didapat dari pertanyaan kelima adalah
mendapatkan nilai 4,0 dari skala 5 yang berarti bahwa responden setuju jika mudah
menggunakan perintah dalam sistem.
 Pertanyaan 6 : Apakah perintah yang di tampilkan sesuai dengan fungsi yang
diinginkan.
Tabel 5. 7 Hasil Pertanyaan 6
Jawaban
Sangat Setuju
Setuju
Ragu - ragu
Tidak setuju
Sangat Tidak Setuju
Jumah responden
0
5
0
0
0
Skor
Bobot
5
4
3
2
1
Nilai
0
20
0
0
0
4,0
Hasil analisa dari kuisioner yang didapat dari pertanyaan keenam
adalah
mendapatkan nilai 4,0 dari skala 5 yang berarti bahwa responden setuju bahwa perintah
yang ditampilkan sesuai dengan fungsi yang diinginkan.
 Pertanyaan 7 : Apakah mudah mencari data yang diinginkan dalam sistem.
Tabel 5. 8 Hasil Pertanyaan 7
Jawaban
Sangat Setuju
Setuju
Ragu - ragu
Tidak setuju
Sangat Tidak Setuju
Jumah responden
2
3
0
0
0
Skor
Bobot
5
4
3
2
1
Nilai
10
12
0
0
0
4,4
Hasil analisa dari kuisioner yang didapat dari pertanyaan ketuju adalah
mendapatkan nilai 4,4 dari skala 5 yang berarti bahwa responden setuju jika mudah
mencari data yang diinginkan dalam sistem.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
109
 Pertanyaan 8 : Apakah sistem ini mempermudah kinerja anda.
Tabel 5. 9 Hasil Pertanyaan 8
Jawaban
Sangat Setuju
Setuju
Ragu - ragu
Tidak setuju
Sangat Tidak Setuju
Jumah responden
2
3
0
0
0
Skor
Bobot
5
4
3
2
1
Nilai
10
12
0
0
0
4,4
Hasil analisa dari kuisioner yang didapat dari pertanyaan terakhir adalah
mendapatkan nilai 4,4 dari skala 5 yang berarti bahwa responden menyatakan setuju
jika sistem mempermudah kinerja mereka.
Maka untuk pertanyaan pertama didapatkan hasil 2 dari 5 orang menyatakan
sangat setuju jika mudah melihat dan memami tampilan sistem sedangkan 3 lainnya
mengatakan setuju saja, sedangkan untuk pertanyaan kedua didapatkan hasil 2 dari 5
responden mengatakan setuju jika mudah membaca tulisan dalam sistem sedangkan 3
lainnya mengatakan ragu jika mudah membaca tulisan dalam sistem, untuk pertanyaan
ke tiga didapatkan hasil 4 dari 5 responden mengatakan setuju jika mudah memahami
petunjuk penggunaan sistem sedangkan sisanya mengatakan ragu ragu jika mudah
memahami petunjuk penggunaan sistem, untuk pertanyaan ke empat didapatkan hasil 4
dari 5 responden mengatakan setuju jika mudah mengenali setiap perintah dalam sistem
sedangkan sisanya mengatakan ragu ragu jika mudah mengenali setiap perintah dalam
sistem, untuk pertanyaan kelima didapatkan hasil 1 dari 5 responden mengatakan
sangat setuju jika mudah menggunakan perintah dalam sistem, 3 responden mengatakan
bahwa setuju jika mudah menggunakan perintah dalam sistem, dan 1 responden
mengatakan ragu ragu jika mudah menggunakan perintah dalam sistem, untuk
pertanyaan ke enam didapatkan hasil 5 atau semua responden mengatakan setuju jika
perintah yang ditampilkan sesuai dengan fungsi yang diinginkan, untuk pertanyaan
ketuju didapatkan hasil 2 dari 5 responden mengatakan sangat setuju jika mudah
mencari data yang diinginkan dalam sistem dan 3 responden mengatakan setuju jika
mudah mencari data yang diinginkan dalam sistem, untuk pertanyaan ke 8 didapatkan
hasil 2 dari 5 responden mengatakan sangat setuju jika sistem ini mempermudah kinerja
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
110
anda, sedangkan 3 responden sisanya mengatakan setuju jika sistem ini mempermudah
kinerja anda.
Berikut ini adalah grafik dari hasil kuisioner oleh staff administrator bengkel
yang akan ditampilkan dalam grafik 5.1, dengan kesimpulan sebagian besar hasil
pengujian terhadap responden mengatakan bahwa responden cukup setuju dengan
sistem yang mempermudah kinerja mereka.
Grafik 5. 1 Grafik Kuisioner
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
111
BAB VI
KESIMPULAN DAN SARAN
6.1 Kesimpulan
Kesimpulan yang penulis dapat dari pengujian sistem adalah :
1. Sistem Aplikasi Bengkel Motor adalah sistem yang mengaplikasikan protokol Two
Phase Locking telah berhasil dibuat dan dapat menangani masalah concurrency yang
mungkin terjadi seperti masalah ketergantungan transaksi yang belum dilaksanakan
(uncommited dependency problem) dan masalah hilangnya data yang diubah (lost
update problem).
2. Dari hasil uji coba oleh administrator bengkel dapat disimpulkan bahwa sebagian
besar administrator merasa setuju bahwa aplikasi ini mudah digunakan seperti tampilan
sistem yang mudah di pahami, perintah yang mudah dikenali, perintah yang mudah
digunakan, dan juga informasi yang diinginkan mudah ditemukan dalam sistem. Secara
garis besar sistem aplikasi bengkel motor dapat mempermudah kinerja adminstrator
bengkel.
6.2 Saran
Berdasarkan hasil pengujian dan hasil kuisioner yang di bagikan dapat di lihat
bahwa beberapa pengguna masih merasa ragu ragu dan hanya menjawab setuju untuk
kuisioner yang di bagikan, hal ini membuktikan bahwa sistem masih belum maksimal di
mata pengguna sistem. Saran dari penulis untuk kedepanya adalah :
a. Agar bisa dibuat laporan bulanan untuk stok suku cadang.
b. Agar dibuat lebih menarik dari segi tampilan agar pengguna lebih mudah
dalam menggunakan sistem.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
112
Daftar Pustaka
Brady, M.,& Loonam, J, 2010, Exploring the use of entity-relationship diagramming as a
technique to support grounded theory inquiry. Bradford: Emerald Group Publishing.
Connolly, T., Begg, C., DATABASE SYSTEM A Practical Approach To Design,
Impementation And Management, Addison Wesley, 2002.
Darmawan, J.B.Budi, S.T., M.Sc. 2007. Teknik Kontrol Concurrency Menggunakan 2PL
dalam MySQL untuk Menangani Masalah dalam Concurrency, Seminar Nasional Sains
dan Teknologi Universitas Sanata Dharma, Pemanfaatan Potensi Lokal Untuk
Meningkatkan Daya Saing Bangsa, halaman 279 - 287
Oracle Database 10g:PL/SQL Fundamental, Oracle Inc. 2004
Whitten, JeffereyL., Bentley, LonnieD., & with Kecin C Dittman. System Analysis and
Design Methods (ed.5). New York : McGraw-Hill.2001
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
113
Lampiran
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Kuisioner Aplikasi Bengkel Motor
Kuisioner administrator bengkel (pengguna sistem)
Nama : Rizka
Berikan tanda centang ( √ ) pada penilaian yang sesuai
Penilaian
No
Kriteria
Sangat
Setuju
1
2
3
4
5
6
7
8
Apakah merasa mudah
melihat dan memahami
tampilan sistem
Apakah mudah membaca
tulisan dalam sistem
Apakah mudah
memahami petunjuk
penggunaan sistem
Apakah mudah mengenali
setiap perintah dalam
sistem
Apakah mudah
menggunakan perintah
dalam sistem (simpan
update)
Apakah perintah yang di
tampilkan sesuai dengan
fungsi yang di inginkan
Apakah mudah mencari
data yang di inginkan
dalam sistem
Apakah sistem ini
mempermudah kinerja
anda
Setuju
Ragu
Tidak
Ragu
Setuju
√
√
√
√
√
√
√
√
Saran : Akan lebih bagus jika bisa melihat penjualan barang dalam satu hari
Sangat
Tidak
Setuju
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Kuisioner Aplikasi Bengkel Motor
Kuisioner administrator bengkel (pengguna sistem)
Nama : Yanto
Berikan tanda centang ( √ ) pada penilaian yang sesuai
Penilaian
No
Kriteria
Sangat
Setuju
1
2
3
4
5
6
7
8
Apakah merasa mudah
melihat dan memahami
tampilan sistem
Apakah mudah membaca
tulisan dalam sistem
Apakah mudah
memahami petunjuk
penggunaan sistem
Apakah mudah mengenali
setiap perintah dalam
sistem
Apakah mudah
menggunakan perintah
dalam sistem (simpan
update)
Apakah perintah yang di
tampilkan sesuai dengan
fungsi yang di inginkan
Apakah mudah mencari
data yang di inginkan
dalam sistem
Apakah sistem ini
mempermudah kinerja
anda
Saran : Font di perbesar
Setuju
Ragu
Tidak
Ragu
Setuju
√
√
√
√
√
√
√
√
Sangat
Tidak
Setuju
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Kuisioner Aplikasi Bengkel Motor
Kuisioner administrator bengkel (pengguna sistem)
Nama : Rini
Berikan tanda centang ( √ ) pada penilaian yang sesuai
Penilaian
No
Kriteria
Sangat
Setuju
1
2
3
4
5
6
7
8
Apakah merasa mudah
melihat dan memahami
tampilan sistem
Apakah mudah membaca
tulisan dalam sistem
Apakah mudah
memahami petunjuk
penggunaan sistem
Apakah mudah mengenali
setiap perintah dalam
sistem
Apakah mudah
menggunakan perintah
dalam sistem (simpan
update)
Apakah perintah yang di
tampilkan sesuai dengan
fungsi yang di inginkan
Apakah mudah mencari
data yang di inginkan
dalam sistem
Apakah sistem ini
mempermudah kinerja
anda
Saran : Dibuat lebih efisien lagi
Setuju
√
√
√
√
√
√
√
√
Ragu
Tidak
Ragu
Setuju
Sangat
Tidak
Setuju
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Kuisioner Aplikasi Bengkel Motor
Kuisioner administrator bengkel (pengguna sistem)
Nama : Pitoyo
Berikan tanda centang ( √ ) pada penilaian yang sesuai
Penilaian
No
Kriteria
Sangat
Setuju
1
2
3
4
5
6
7
8
Apakah merasa mudah
melihat dan memahami
tampilan sistem
Apakah mudah membaca
tulisan dalam sistem
Apakah mudah
memahami petunjuk
penggunaan sistem
Apakah mudah mengenali
setiap perintah dalam
sistem
Apakah mudah
menggunakan perintah
dalam sistem (simpan
update)
Apakah perintah yang di
tampilkan sesuai dengan
fungsi yang di inginkan
Apakah mudah mencari
data yang di inginkan
dalam sistem
Apakah sistem ini
mempermudah kinerja
anda
Saran : Alur program dibuat lebih simple
Font kurang besar
Setuju
Ragu
Tidak
Ragu
Setuju
√
√
√
√
√
√
√
√
Sangat
Tidak
Setuju
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Kuisioner Aplikasi Bengkel Motor
Kuisioner administrator bengkel (pengguna sistem)
Nama : Hushin
Berikan tanda centang ( √ ) pada penilaian yang sesuai
Penilaian
No
Kriteria
Sangat
Setuju
1
2
3
4
5
6
7
8
Apakah merasa mudah
melihat dan memahami
tampilan sistem
Apakah mudah membaca
tulisan dalam sistem
Apakah mudah
memahami petunjuk
penggunaan sistem
Apakah mudah mengenali
setiap perintah dalam
sistem
Apakah mudah
menggunakan perintah
dalam sistem (simpan
update)
Apakah perintah yang di
tampilkan sesuai dengan
fungsi yang di inginkan
Apakah mudah mencari
data yang di inginkan
dalam sistem
Apakah sistem ini
mempermudah kinerja
anda
Setuju
Ragu
Tidak
Ragu
Setuju
Sangat
Tidak
Setuju
√
√
√
√
√
√
√
√
Saran : Kurang cocok dengan patokan harga untuk jasa (tingkat kesulitan tiap kendaraan
berbeda)
Download