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
konsum = (List) 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 sk = (List) UbahDataControl.koneksi().getallsk(); dan akan ditampilkan dalam tabel suku cadang dengan perintah tabelsukucadang. setModel(mod); yang akan disajikan dalam listing 4.27. List sk = (List) 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 konsum = (List) 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 histo = (List) HistoryControl.koneksi().carinopol(np); dan akan ditampilkan di dalam tabel histori dengan perintah TabelHistori.setModel(model); yang akan disajikan dalam listing 4.52 List histo = (List) 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)