BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat...

106
18 BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan Dalam tinjauan perusahaan ini berisi tentang sejarah perusahaan, struktur organisasi serta uraian tugas tanggung jawab dari masing-masing bagian yang ada dalam perusahaan tersebut. 3.1.1. Sejarah Perusahaan Cahaya VIQ-H Pusat Laundry Kiloan Bekasi merupakan perusahaan yang bergerak dibidang jasa Cuci dan Setrika Pakaian. Cahaya VIQ-H Pusat Laundry Kiloan Bekasi ini didirikan oleh ibu Hj. Usnawati pada tahun 2014. Pada Cahaya VIQ-H Pusat Laundry Kiloan Bekasi ini memiliki nomor Surat Izin Usaha Perdagangan (SIUP) tetapi untuk sementara telah memiliki Surat Keterangan Domisili Usaha (SKUD) yang diterbitkan oleh kelurahan setempat dengan nomer : 503/434-KEC BU. Cahaya VIQ-H Pusat Laundry Kiloan Bekasi berlokasi di Jl. Kp. Bungur, Seroja Harapan Jaya Bekasi Utara. Cahaya VIQ-H Pusat Laundry Kiloan Bekasi ini masih belum memiliki cabang. Cahaya VIQ-H Pusat Laundry Kiloan Bekasi merupakan salah satu usaha jasa cuci dan setrika pakaian yang mulai berkembang di tengah ramainya usaha jasa cuci dan setrika pakaian. Dengan dedikasinya kepada masyarakat, Cahaya VIQ-H

Transcript of BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat...

Page 1: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

18

BAB III

PEMBAHASAN

3.1. Tinjauan Perusahaan

Dalam tinjauan perusahaan ini berisi tentang sejarah perusahaan, struktur

organisasi serta uraian tugas tanggung jawab dari masing-masing bagian yang ada

dalam perusahaan tersebut.

3.1.1. Sejarah Perusahaan

Cahaya VIQ-H Pusat Laundry Kiloan Bekasi merupakan perusahaan yang

bergerak dibidang jasa Cuci dan Setrika Pakaian. Cahaya VIQ-H Pusat Laundry

Kiloan Bekasi ini didirikan oleh ibu Hj. Usnawati pada tahun 2014. Pada Cahaya

VIQ-H Pusat Laundry Kiloan Bekasi ini memiliki nomor Surat Izin Usaha

Perdagangan (SIUP) tetapi untuk sementara telah memiliki Surat Keterangan

Domisili Usaha (SKUD) yang diterbitkan oleh kelurahan setempat dengan nomer :

503/434-KEC BU.

Cahaya VIQ-H Pusat Laundry Kiloan Bekasi berlokasi di Jl. Kp. Bungur,

Seroja Harapan Jaya Bekasi Utara. Cahaya VIQ-H Pusat Laundry Kiloan Bekasi ini

masih belum memiliki cabang.

Cahaya VIQ-H Pusat Laundry Kiloan Bekasi merupakan salah satu usaha

jasa cuci dan setrika pakaian yang mulai berkembang di tengah ramainya usaha jasa

cuci dan setrika pakaian. Dengan dedikasinya kepada masyarakat, Cahaya VIQ-H

Page 2: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

19

Pusat Laundry Kiloan Bekasi senantiasa mengembangkan dan meningkatkan kualitas

layanan demi mencapai kepuasan konsumen.

1. Visi Pada Cahaya VIQ-H Pusat Laundry Kiloan Bekasi

Menjadi perusahaan besar dibidang jasa cuci dan setrika pakaian yang

berorientasi pada kepuasan pelanggan serta menghasilkan sumber daya Manusia

yang handal dengan implementasi manajemen modern.

2. Misi Pada Cahaya VIQ-H Pusat Laundry Kiloan Bekasi

Mendirikan, menjalankan, mengembangkan usaha pelayanan jasa Laundry

Cahaya VIQ-H Pusat Laundry Kiloan Bekasi di seluruh Indonesia.

3.1.2. Struktur Organisasi dan Fungsi

Struktur organisasi yang terdapat di dalam Cahaya VIQ-H Pusat Laundry

Kiloan Bekasi adalah susunan dari bagian-bagian pengelola yang didasarkan pada

perbedaan kewenangan dan tanggung jawab serta dilengkapi dengan penjelasan

tentang hubungan antar bagian tersebut. Struktur organisasi merupakan saran yang

sangat penting untuk menjalankan fungsinya.

Adapun struktur organisasi ini sendiri dapat dikatakan sebagai suatu kerangka

yang mewujudkan suatu pola tetapi dari hubungan antara kedudukan dan peranan

dalam suatu kerjasama.

Bentuk struktur organisasi yang dimiliki Cahaya VIQ-H Pusat Laundry

Kiloan Bekasi adalah sebagai berikut:

Page 3: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

20

Sumber : Cahaya VIQ-H Pusat Laundry Kiloan Bekasi (2017)

Gambar III.1.Struktur Organisasi

Fungsi dari tiap-tiap bagian sebagai berikut:

1. Pemilik (Owner)

Pemilik (Owner) mempunyai wewenang yang besar dan bertanggung jawab

atas jalannya usaha laundry, seta mengecek langsung jalannya transaksi

pelayanan jasa laundry.

2. Bagian Administrasi (kasir)

Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan

membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang

berkaitan dengan keuangan, seperti membuat dan memberikan laporan berupa

laporan transaksi perbulan kepada pemilik.

3. Bagian Operasional

Bertugas mencuci dan menyetrika pakaian. Setelah pakaian telah dicuci dan

disetrika. Kemudian bertugas mengemasi pakaian tersebut sesuai bon

pesanannya dan total harga bayarnya.

Ibu Hj. Usnawati

Owner (Pemilik)

Bag. Administrasi Bag. Operasional

Page 4: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

21

3.2. Tinjauan Kasus

Dalam penulisan Tugas Akhir ini, penulis hanya membahas tentang

Perancangan Sistem Informasi Pelayanan Jasa Laundry pada Cahaya VIQ-H Pusat

Laundry Kiloan Bekasi. Permasalahan yang ada pada Cahaya VIQ-H Pusat Laundry

Kiloan Bekasi yaitu masih banyaknya kesalahan dalam pencatatan sistem keuangan,

pelayanan laundry yang tidak maksimal, penyimpanan bukti yang sering hilang, dan

penyimpanan barang laundry yang rusak dalam pengambilan barangnya terlalu lama.

Batasan dari penulisan jasa laundry ini dimulai dari proses input data jenis laundry,

proses input pengambilan, proses input data item, proses input transaksi dan proses

input laporan.

3.2.1. Proses Bisnis Sistem Berjalan

Prosedur sistem berjalan tentang proses Pelayanan Jasa Laundry pada Cahaya

VIQ-H Pusat Laundry Kiloan Bekasi adalah:

Konsumen datang ke tempat laundry dengan membawa barang yang akan

dicuci ke bagian administrasi, bagian administrasi menghitung dan menyortir barang

cucian berdasarkan jenis barangnya dan mencatat data barang kedalam nota

sebanyak dua rangkap yang diserahkan kepada konsumen yaitu berupa nota pink dan

nota putih disimpan diarsip. Admin akan menimbang barang cucian tersebut. Setelah

penimbangan selesai admin akan menyebutkan jumlah yang harus dibayar oleh

konsumen. Admin juga memberikan estimasi berapa lama barang cucian tersebut

akan selesai. Apabila barang telah selesai di cuci maka admin menginformasikannya

kepada konsumen. Sebelum barang cucian diberikan konsumen memberikan nota

pink yang akan diperiksa administrasi lalu konsumen memberikan uang sejumlah

Page 5: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

22

harga pembayaran. Admin akan memberikan bukti berupa nota pelunasan laundry.

Kemudian cucian tersebut diberikan kepada konsumen dan nota pink disimpan oleh

admin pada untuk diarsipkan. Lalu bagian Administrasi membuatkan laporan

berdasarkan nota pink transaksi bulanan yang diberikan kepada pemilik. Kemudian

laporan bulanan disimpan diarsip laporan.

Page 6: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

23

3.2.2. Activity Diagram

act Proses Sistem Berjalan

PemilikAdminKonsumen

Mulai

Menanyakan

Informasi Laundry

Melayani Konsumen

Menyerahkan Pakaian

Mencatat Data

Konsumen

Menghitung Barang

Cucian

Mencatat Data Barang

ke Nota Pink dan Nota

Putih

Menyimpan Nota Putih

Untuk Diarsipkan

Menimbang Barang

Laundry

Menginformasikan

Harga dan Estimasi

Waktu Laundry

Menerima Nota Pink

Melakukan Proses

Laundry

Menginformasikan

Kepada Konsumen

Memberikan Nota

Pink

Memeriksa Nota Pink

Melakukan

Pembayaran

Membuat Nota Lunas

Menerima Pakaian

Membuat Laporan Dari

Nota Pink

Menerima Laporan

Selesai

Belum

Selesai

Selesai

Sumber : Penulis (2019)

Gambar III.2. Activity Diagram

Page 7: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

24

3.2.3. Dokumen Masukkan

A.1 Dokumen Masukan

Nama Dokumen : Nota Putih

Fungsi : Bukti Pembayaran Lunas

Sumber : Bagian Kasir/Admin

Tujuan : Arsip

Media : Kertas

Frekuensi : Setiap ada Konsumen

Jumlah : 1 Lembar

Bentuk : Lampiran A.1

3.2.4. Dokumen Keluaran

B.1 Nama Dokumen : Nota Pink

Fungsi : Bukti Pembayaran Lunas

Sumber : Bagian Kasir/Admin

Tujuan : Pemilik

Media : Kertas

Frekuensi : Setiap Bulan

Bentuk : Lampiran B.1

B.2 Nama Dokumen : Laporan Transaksi Bulanan

Fungsi : Untuk Laporan Kepada Pemilik

Sumber : Karyawan

Tujuan : Pemilik

Media : Kertas

Page 8: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

25

Frekuensi : Setiap Bulan

Jumlah : 1 Lembar

Bentuk : Lampiran B.2

3.2.5. Permasalahan Pokok

Permasalahan pokok dalam jasa Laundry ini adalah sering mendapatkan

masalah dalam hal pelayanan serta penyimpanan dokumen dan pembuatan laporan

yang masih ditulis dibuku besar atau dikertas folio, penyimpanan bukti dokumen

transaksi masih tidak rapih dan pengerjaaan transaksi belum menggunakan

komputer, yang menjadi permasalahan belum adanya sistem yang memadai untuk

mengatasi hal tersebut terlebih pada saat akan melakukan laporan yang dibuat

perbulan maupun pertahun. Dengan banyaknya bukti ataupun dokumen yang masuk

pada saat proses bisnis, maka akan sulit untuk mencari dokumen laporan secara cepat

apabila masih menggunakan sistem manual dan dengan begitu kemungkinan data

atau dokumen hilang akan sangat besar. Serta pelayanan laundry mengalami kinerja

yang tidak efisien.

3.2.6. Pemecahan Masalah

Berdasarkan permasalahan-permasalahan pada sistem jasa Laundry yang ada

pada Cahaya VIQ-H Pusat Laundry Kiloan Bekasi, maka diperlukan beberapa

alternatif pemecahan masalah untuk memperhatikan ketelitian dalam hal pencatatan

untuk mengurangi tingkat kesalahan dalam pencatatan, penyimpanan dokumen harus

disusun dengan rapih dan dibuatkan tanggal dokumen agar lebih mudah dalam

pencarian data, diperlukan suatu pengolahan data yang menggunakan program

dengan sistem yang sudah terkomputerisasi sistem jasa laundry ini dapat langsung

Page 9: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

26

diproses dengan sistem yang sudah terkomputerisasi yaitu dengan dibuatkan nya

sistem yang dibangun berupa aplikasi berbasis Dekstop dengan bahasa pemrograman

Java yang dapat dijalankan langsung pada komputer dengan sistem operasi Windows

dikembangkan dengan menggunakan basis data MySQL sebagai media penyimpanan

datanya. Dengan demikian informasi mengenai jasa laundry akan lebih cepat, efektif

dan efisien. Serta penyimpanan data yang lebih aman dari hilangnya data dan backup

data dan laporan yang dihasilkan bisa lebih cepat karena sudah menggunakan sistem

yang terkomputerisasi pada Cahaya VIQ-H Pusat Laundry Kiloan Bekasi, untuk

mempermudah menginput data pelanggan dan data pencatatan laporan agar

penyimpanan data tidak mudah hilang.

3.3. Analisa Kebutuhan Software

3.3.1. Analisa Kebutuhan

Analisa kebutuhan perangkat lunak (software) Pada Perancangan Sistem

Informasi Pelayanan Jasa Laundry Pada Cahaya VIQ-H Pusat Laundry Kiloan

mempunyai halaman-halaman sebagai berikut:

Halaman Admin:

A.1. Admin melakukan Login

A.2. Admin mengakses menu utama

A.3. Admin mengakses Pakaian

A.4. Admin dapat mengelola data Item

A.5. Admin dapat mengelola data Jenis Laundry

A.6. Admin mengakses Transaksi

A.7. Admin dapat mengelola data Transaksi

Page 10: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

27

A.8. Admin dapat mengelola data Pengambilan

A.9. Admin dapat mengelola data Konsumen

A.10. Admin mengakses Laporan

A.11. Admin dapat mencetak data Laporan Transaksi Lunas

A.12. Admin dapat mencetak data Laporan Transaksi Per-periode

A.13. Admin melakukan Logout

Halaman Owner:

B.1. Owner melakukan Login

B.2. Owner mengakses menu utama

B.3. Owner mengakses data master

B.4. Owner Mengakses data Laporan

B.5. Owner dapat mencetak data Laporan Transaksi Lunas

B.6. Owner dapat mencetak data Laporan Transaksi Per-periode

B.7. Owner dapat mengelola data user

B.8. Owner dapat mengubah password

B.9. Owner melakukan Logout

Page 11: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

28

3.3.2. Use Case Diagram

A. Use Case Diagram Jasa Laundry Berbasis Dekstop, Halaman Admin

1. Use Case Diagram Admin Mengakses Menu Utama

uc usecaseadmin

Admin

Admin

melakukan Login

Admin mengakses

pakaian

Admin dapat

mengelola data

item

Admin dapat

mengelola data

jenis laundry

Admin mengakses

transaksi

Admin dapat

mengelola data

transaksi

Admin dapat

mengelola data

pengambilan

Admin dapat

mengelola data

konsumen

Admin mengakses

laporan

Admin melakukan

LogoutAdmin dapat

mencetak data

laporan transaksi

lunasadmin dapat

mencetak data

laporan transaksi

per-periode

masukkan

username

masukkan

password

admin mengakses

menu utama

keluar aplikasi anda berhasil

logout

«extend»

«extend»

«extend»

«extend»

«extend»

«include»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«include»

Sumber : Penulis (2019)

Gambar III.3. Use Case Menu utama Admin

Tabel III.1.

Deskripsi Gambar Menu Utama Admin

Use Case Narative Menu Utama

Tujuan Admin dapat melakukan pengolahan data yang ada di

menu pakaian, menu transaksi, menu laporan

Deskripsi Sistem ini memungkinkan aktor untuk mengelola

Page 12: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

29

sistem mulai dari melihat data item, jenis laundry,

transaksi, pengambilan dan konsumen, mengakses data

pakaian, transaksi dan laporan, sampai dengan

mencetak laporan

Skenario Utama

Aktor Admin

Kondisi Awal Aktor Membuka Aplikasi Sistem dan Masuk ke Menu

Utama

Aksi Aktor Reaksi Sistem

1. Aktor Memilih

tombol Menu

Pakaian

2. Aktor Memilih

tombol Menu

Transaksi

3. Aktor Memilih

tombol Menu

Laporan

Sistem akan menampilkan submenu mengelola data

item, mengelola data jenis laundry

Sistem akan menampilkan submenu mengelola data

transaksi, mengelola data pengambilan, mengelola data

konsumen

Sistem akan menampilkan submenu laporan bisa

mencetak data Laporan lunas dan per-periode

Kondisi Akhir Jika perintah sesuai maka sistem akan menampilkan

seperti yang diinginkan oleh si Aktor

Sumber : Penulis (2019)

Page 13: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

30

B. Menu Utama Owner

uc usecase owner

owner

Owner melakukan

Login

Owner melakukan

Logout

Owner dapat

mengelola data

user

Owner

mengakses data

laporan

Owner dapat

mengubah

password

owner dapat

mencetak data

laporan transaksi

lunas

owner dapat

mencetak data

laporan transaksi

per-periode

masukkan

userrname

masukkan

password

owner

mengakses

menu utama

owner

mengakses data

master

keluar aplikasianda berhasil

logout

«include»

«extend»

«include»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

Sumber : Penulis (2019)

Gambar III.4. Use Case Menu Utama Owner

Tabel III.2.

Deskripsi Gambar Menu Utama Owner

Use Case Narative Menu Utama

Tujuan

Owner dapat mengakses laporan yang ada di menu laporan

transaksi lunas dan laporan transaksi per periode

Deskripsi Sistem ini memungkinkan aktor untuk mengakses sistem

Page 14: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

31

laporan transaksi mulai dari laporan transaksi lunas dan

laporan transaksi per periode, mengelola data user dan

mengubah password

Skenario Utama

Aktor Owner

Kondisi Awal Aktor Membuka Menu Utama

Aksi Aktor Reaksi Sistem

1. Aktor

Memilih

tombol Menu

Master

Sistem akan menampilkan submenu data laporan, mengakses

data laporan, mengelola data user, mengubah password

Kondisi Akhir Jika perintah sesuai maka sistem akan menampilkan seperti

yang diinginkan oleh si aktor

Sumber : Penulis (2019)

Page 15: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

32

3.3.3. Activity Diagram

A. Activity Diagram Jasa Laundry Berbasis Dekstop, Halaman Admin

1. Activity Diagram Admin melakukan Login

act Login Admin

SistemAdmin

Mulai

Melakukan Login

Mengecheck Username

dan Password

Berhasil masuk

kedalam menu

pengguna

Menampilkan Pesan

Gagal LoginSelesai

Memasukkan

Username dan

Password

Tidak Valid

Valid

Sumber : Penulis (2019)

Gambar III.5. Activity Diagram Login Admin

Page 16: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

33

2. Activity Diagram Admin mengakses Menu Utama

act Menu Utama Admin

SistemAdmin

Mulai

Masuk kedalam

Sistem

Menampilkan Menu

Utama

Menu

Transaksi

Menu Laporan Logout

Keluar Sistem

Selesai

Menu Pakaian

Sumber : Penulis (2019)

Gambar III.6. Activity Diagram Menu Utama Admin

Page 17: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

34

3. Activity Diagram Admin mengelola Data Pakaian

act Pakaian

Admin Sistem

Mulai

Masuk kedalam

Sistem

Menampilkan Menu

Utama

Data Jenis

Laundry

Keluar Sistem

Selesai

Data Item

Memilih Menu

Pakaian

Menampilkan Menu

Pakaian

Sumber : Penulis (2019)

Page 18: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

35

Gambar III.7. Activity Diagram Pakaian Admin

4. Activity Diagram Admin mengelola Data Item

act Data Item

Admin Sistem

Mulai

Pilih Menu Pakaian

Pilih Menu Data Item

Mengelola Data Item

Menampilkan Status

Data ItemTelah dihapus

atau diperbarui

Pilih Keluar

Keluar dari menu Data

Item

Selesai

Tambah Data

Item

Perbaharui

Data

Pilih Tambah Data

Item

Menampilkan Status

Berhasil Menambahkan

Data Jenis Item

Perbarui Data Hapus Data

Menampilkan Form

Data Jenis Item

Mengisi Form Data

Jenis Item

Hapus Data

Isi Jenis Laundry,

Nama Item, Tarif

Pilih Simpan

Pilih Simpan

Sumber : Penulis (2019)

Gambar III.8. Activity Diagram Data Item

Page 19: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

36

5. Activity Diagram Admin mengelola Data Jenis Laundry

act Data Jenis Laundry

SistemAdmin

Mulai

Pilih Menu Pakaian

Pilih Menu Data Jenis

Laundry

Mengelola Data Jenis

Laundry

Menampilkan Status

Data Jenis Laundry

Telah dihapus atau

diperbarui

Pilih Keluar

Keluar dari menu Data

Jenis Laundry

Selesai

Tambah Data

Laundry

Perbaharui Data

Pilih Tambah Data

Laundry

Menampilkan Status

Berhasil Menambahkan

Data Jenis Laundry

Perbarui Data Hapus Data

Menampilkan Form Data

Jenis Laundry

Mengisi Form Data

Jenis Laundry

Hapus Data

Isi Form Data Jenis

Laundry

Pilih Simpan

Pilih Simpan

Sumber : Penulis (2019)

Gambar III.9. Activity Diagram Data Jenis Laundry

Page 20: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

37

6. Activity Diagram Admin Mengelola Data Transaksi

act Transaksi

SistemAdmin

Mulai

Masuk kedalam

Sistem

Menampilkan Menu

Utama

Data

Pengambilan

Keluar Sistem

Selesai

Data

Transaksi

Memilih Menu

Transaksi

Menampilkan Menu

Transaksi

Konsumen

Sumber : Penulis (2019)

Gambar III.10. Activity Diagram Transaksi Admin

Page 21: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

38

7. Activity Diagram Admin Mengelola Data Transaksi

act Menu Data Transaksi

SistemAdmin

Mulai

Pilih Menu Transaksi

Mengisi Form

Transaksi

Kode

Konsumen

Nama

Jenis

Laundry

Jenis

ItemNama

Item

Tarif Jumlah Diskon Tanggal

Selesai

Tambah Hapus Semua

Menampilkan Data

Transaksi Laundry

Sisa Kembali

Pilih SimpanMenampilkan Data

Transaksi Laundry

Pilih Cetak Transaksi

Keluar Dari Menu

Transaksi

Selesai

Pilih Data Transaksi

Menampilkan Data

Transaksi

Pilih Simpan

Mengisi Jumlah

Pembayaran

Menampilkan Nota

Cetak Transaksi

Laundry

Pilih Keluar

Sumber : Penulis (2019)

Gambar III.11. Activity Diagram Data Transaksi

Page 22: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

39

8. Activity Diagram Admin Mengelola Data Pengambilan

act Menu Data Pengambilan

SistemAdmin

Mulai

Pilih Menu Pakaian

Pilih Menu Data

Pengambilan

Pilih Pengambilan

Menampilkan Status

Data Pengambilan

Telah dihapus atau

diperbarui

Pilih Keluar

Keluar dari menu Data

Pengambilan

Selesai

Menampilkan Data

Pengambilan

Mengelola Data

Pengambilan

Isi Pembayaran

Mengganti Status

Pembayaran

Menampilkan Sisa

Pembayaran dan

Kembalian

Berhasil

Menampilkan Status

Pembayaran

Pilih Bayar

Pilih Tanggal

Pengambilan

Cetak Data

Pengambilan

Menampilkan Cetak

Data Pengambilan

Belum

Lunas

Sudah Lunas

Sumber : Penulis (2019)

Gambar III.12. Activity Diagram Data Pengambilan

Page 23: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

40

9. Activity Diagram Admin mengelola Data Konsumen

act Data Konsumen

SistemAdmin

Mulai

Pilih Menu Transaksi

Tambah

Konsumen

Perbaharui

Data

Hapus Cetak

Pilih Tambah

Konsumen

Menampilkan Status

Berhasil

Menambahkan Data

Konsumen

Perbaharui

Data

Hapus Data

Menampilkan Status

Berhasil Mengubah dan

Menghapus Data

Konsumen

Pilih Cetak

Keluar Dari Menu

Data Konsumen

Selesai

Mengelola Data

Konsumen

Pilih Data Konsumen

Menampilkan Form

Data Konsumen

Mengisi Form Data

Konsumen

Isi Nama, Alamat, dan

No Telpon Konsumen

Pilih Simpan

Pilih Simpan

Menampilkan Cetak

Kartu

Anggota/Konsumen

Pilih Keluar

Sumber : Penulis (2019)

Gambar III.13. Activity Diagram Data Konsumen

Page 24: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

41

10. Activity Diagram Admin Mengakses Data Laporan

act Business Process Model

Admin Sistem

Mulai

Masuk Kedalam

Sistem

Menampilkan Menu

Utama

Memilih Data Laporan

Menampilkan Data

Laporan

Laporan Transaksi

Lunas

Laporan Transaksi

Per-periode

Keluar Dari Sistem

Selesai

Sumber : Penulis (2019)

Gambar III.14. Activity Diagram Menu Mengakses Data Laporan

Page 25: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

42

11. Activity Diagram Admin Mencetak Laporan Transaksi Lunas

act Laporan Transaksi Lunas

Admin Sistem

Mulai

Masuk Kedalam

Sistem

Menampilkan Menu

Utama

Memilih Data Laporan

Memilih Data Laporan

Transaksi Lunas

Pilih Laporan

Menampilkan Laporan

Menampilkan Data

Laporan Transaksi Lunas

Mencetak Laporan

Transaksi Lunas

Laporan Transaksi Lunas

Telah Tercetak

Pilih Keluar

Mengisi Tanggal

Transaksi Laporan

Lunas

Keluar Dari Sistem

Selesai

Sumber : Penulis (2019)

Gambar III.15. Activity Diagram Menu Mencetak Laporan Transaksi Lunas

Page 26: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

43

12. Activity Diagram Admin Mencetak Laporan Transaksi Per Periode

act Laporan Transaksi Per-periode

Admin Sistem

Mulai

Masuk Kedalam

Sistem

Menampilkan Menu

Utama

Memilih Data Laporan

Memilih Data Laporan

Transaksi Per-periode

Pilih Laporan

Menampilkan Laporan

Menampilkan Data

Laporan Transaksi Per-

periode

Mencetak Laporan

Transaksi Lunas

Laporan Transaksi Per-

periode Telah Tercetak

Pilih Keluar

Mengisi Tanggal

Transaksi Laporan Per-

Periode

Keluar Dari Sistem

Selesai

Sumber : Penulis (2019)

Gambar III.16. Activity Diagram Menu Mencetak Laporan Transaksi Per

Periode

Page 27: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

44

13. Activity Diagram Admin melakukan Logout

act Logout Admin

SistemAdmin

Mulai

Masuk Kedalam

Sistem

Menampilkan Menu

Utama

Memilih Logout

Keluar Dari Sistem

Laundry

Selesai

Sumber : Penulis (2019)

Gambar III.17. Activity Diagram Menu Logout Admin

Page 28: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

45

B. Activity Diagram Jasa Laundry Berbasis Dekstop, Halaman Owner

1. Activity Diagram Owner melakukan Login

act Login Owner

SistemOwner

Mulai

Melakukan Login

Mengecheck Username

dan Password

Berhasil masuk

kedalam menu

pengguna

Menampilkan Pesan

Gaga Melakukanl LoginSelesai

Memasukkan

Username dan

Password

Valid

Tidak Valid

Sumber : Penulis (2019)

Gambar III.18. Activity Diagram Menu Login Owner

Page 29: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

46

2. Activity Diagram Owner Mengakses Menu Utama

act Menu Utama Owner

SistemOwner

Mulai

Masuk Kedalam

Sistem

Menampilkan Menu

Utama

Menu Master Logout

Keluar Dari Sistem

Selesai

Sumber : Penulis (2019)

Gambar III.19. Activity Diagram Menu Utama Owner

Page 30: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

47

3. Activity Diagram Owner Mengakses Menu Master

act Menu Master

SistemOwner

Mulai

Masuk Kedalam

Sistem

Menampilkan Menu

Utama

Pilih Menu Master

Menampilkan Menu

Master

Laporan Data User Ubah

Password

Keluar Dari Sistem

Selesai

Sumber : Penulis (2019)

Gambar III.20. Activity Diagram Menu Master Owner

Page 31: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

48

4. Activity Diagram Owner Mengakses Menu Data Laporan

act Laporan

SistemOwner

Mulai

Masuk Kedalam

Sistem

Menampilkan Menu

Utama

Memilih Data Laporan

Menampilkan Data

Laporan

Laporan Transaksi

Lunas

Laporan Transaksi

Per-periode

Keluar Dari Sistem

Selesai

Pilih Menu Master

Menampilkan Menu

Master

Sumber : Penulis (2019)

Gambar III.21. Activity Diagram Mengakses Menu Data Laporan

Page 32: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

49

5. Activity Diagram Owner Mengelola Laporan Transaksi Lunas

act Laporan Transaksi Lunas

SistemOwner

Mulai

Masuk Kedalam

Sistem

Menampilkan Menu

Utama

Memilih Data Laporan

Memilih Data Laporan

Transaksi Lunas

Menampilkan Menu

Master

Memilih Menu Master

Menampilkan Data

Laporan Transaksi

Lunas

Mencetak Laporan

Transaksi Lunas

Laporan Transaksi

Lunas Telah Tercetak

Pilih Keluar

Keluar Dari Sistem

Selesai

Sumber : Penulis (2019)

Gambar III.22. Activity Diagram Menu Laporan Transaksi Lunas

Page 33: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

50

6. Activity Diagram Owner Mengelola Laporan Transaksi Per-periode

act Laporan Transaksi Per-periode

Owner Sistem

Mulai

Masuk Kedalam

Sistem

Menampilkan Menu

Utama

Memilih Data Laporan

Memilih Data Laporan

Transaksi Per-periode

Pilih Menu Master

Menampilkan Menu

Master

Menampilkan Data

Laporan Transaksi Per-

periode

Mencetak Laporan

Transaksi Lunas

Laporan Transaksi Per-

periode Telah Tercetak

Pilih Keluar

Mengisi Tanggal

Transaksi Laporan Per-

Periode

Keluar Dari Sistem

Selesai

Sumber : Penulis (2019)

Gambar III.23. Activity Diagram Menu Laporan Transaksi Per-periode

Page 34: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

51

7. Activity Diagram Owner mengelola Data User

act Data User

SistemOwner

Mulai

Masuk kedalam

Sistem

Menampilkan Menu

Utama

Pilih Menu Master

Menampilkan Menu

Master

Pilih Data User

Menampilkan Form

Data User

Memasukkan Kode

User

Perbaharui

Data

Hapus Data

Menampilkan Status

Telah Berhasil

Mengubah dan

Menghapus Data User

Pilih Keluar

Keluar Dari Sistem

Data User

Selesai

Sumber : Penulis (2019)

Gambar III.24. Activity Diagram Data User Owner

Page 35: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

52

8. Activity Diagram Owner mengubah Password

act Mengubah Password

SistemOwner

Mulai

Masuk Kedalam

Sistem

Menampilkan Menu

Utama

Pilih Menu Master

Menampilkan Menu

Master

Pilih Ubah Password

Menampilkan Form

Ubah Password

Masukkan

Password Baru

Konfirmasi Ulang

Password Baru

Mengisi Form Ubah

Password

Pilih Simpan Menampilkan Status

Berhasil Mengubah

Password

Pilih Keluar

Keluar Dari Sistem

Ubah Password

Selesai

Sumber : Penulis (2019)

Gambar III.25. Activity Diagram mengubah Password Owner

Page 36: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

53

9. Activity Diagram Owner melakukan Logout

act Logout Owner

SistemOwner

Mulai

Masuk Kedalam

Sistem

Menampilkan Menu

Utama

Memilih Logout

Keluar Dari Sistem

Laundry

Selesai

Sumber : Penulis (2019)

Gambar III.26. Activity Diagram Menu Logout Owner

Page 37: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

54

3.4. Desain

3.4.1. Entity Relationship Diagram (ERD)

erd Entity Relationship Diagram

user

Username

Password

Type

User

transaksi

NoTransaksi

NmKonsumen

IDRincian

IDJenisLaundry

jenislaundry

NmJenisLaundryIDJenisLaundry

Diskon

Total

Tarif

NmJenisLaundry

Jumlah

NmJenisPakaian

itemJenisLaundry

IDItem

NmPakaian Tarif

konsumen

detail_transaksi

KodeKonsumen NmKonsumen

TelpKonsumen

AlmKonsumen

TglSelesai

TglTransaksi

tglPengembalian

IDRincian

Bayar_sisa

Status_pembayaran

Kembalian

Bayar

Total_bayar

Status_pengembalian

m

1

1

m

m

1

1

1

m

Nama

User

IDItem

Username

KodeKonsumen

m

m

me

ng

inp

ut

me

milik

i

me

milik

i

me

milik

i

mengelola

Sumber : Penulis (2019)

Gambar III.27. Entity Relationship Diagram

Page 38: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

55

3.4.2. Logical Record Struktur (LRS)

Sumber : Penulis (2019)

Gambar III.28. Logical Record Struktur

Page 39: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

56

3.4.3. Spesifikasi File

1. Spesifokasi File Tabel User

Nama Database : User

Nama File : User

Tipe File : Master

Akses File : Random

Panjang Record : 96 Karakter

Field Key : Username

Tabel III.3.

Spesifikasi File User

No Elemen Data Nama

Field

Tipe Panjang Keterangan

1 User Name Username Varchar 30 Primary Key

2 Password Password Varchar 16

3 Nama User Nama_User Varchar 40

4 Type User TypeUser Varchar 10

Sumber : Penulis (2019)

2. Spesifikasi File Tabel Jenis Laundry

Nama Database : jenislaundry

Nama File : Jenis Laundry

Tipe File : Master

Akses File : Random

Panjang Record : 55 Karakter

Field Key : IDJenisLaundry

Page 40: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

57

Tabel III.4.

Spesifikasi File Jenis Laundry

No Elmen Data Nama Field Tipe Panjang Keterangan

1 ID Jenis

Laundry

IDJenisLaundry Varchar 5 Primary Key

2 Nama Jenis

Laundry

NmJenisLaundry Varchar 50

Sumber : Penulis (2019)

3. Spesifikasi File Tabel Konsumen

Nama Database : konsumen

Nama File : Konsumen

Tipe File : Transaksi

Akses File : Random

Panjang Record : 125 Karakter

Field Key : KodeKonsumen

Tabel III.5.

Spesifikasi File Konsumen

No Elemen Data Nama Field Tipe Panjang Keterangan

1 Kode Konsumen KodeKonsumen Varchar 5 Primary Key

2 Nama Konsumen NmKonsumen Varchar 50

3 Alamat Konsumen AlmKonsumen Varchar 50

4 Telepon

Konsumen

TelpKonsumen Varchar 20

Sumber : Penulis (2019)

Page 41: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

58

4. Spesifikasi File Tabel Detail Transaksi

Nama Database : detail_transaksi

Nama File : Detail Transaksi

Tipe File : Transaksi

Akses File : Random

Panjang Record : 49 Karakter

Field Key : IDRincian

Tabel III.6.

Spesifikasi File Detail Transaksi

No Elemen Data Nama Field Tipe Panjang Keterangan

1 ID Rincian IDRincian Interger 5 Primary Key

3 Tanggal

Transaksi

TglTransaksi Date

4 Tanggal Selesai TglSelesai Date

5 Tanggal

Pengambilan

tglPengambilan Date

6 Total bayar Total_bayar Interger 11

7 Bayar Bayar Interger 11

8 Bayar sisa Bayar_sisa Interger 11

9 Kembalian Kembalian Interger 11

10 Status

pembayaran

Status_pembayaran Enum

(Belum

lunas,

lunas)

11 Status

pengambilan

Status_pengambilan Enum

(Belum,

sudah)

Sumber : Penulis (2019)

Page 42: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

59

5. Spesifikasi File Tabel Transaksi

Nama Database : transaksi

Nama File : Transaksi

Tipe File : Transaksi

Akses File : Random

Panjang Record : 276 Karakter

Field Key : NoTransaksi

Tabel III.7.

Spesifikasi File Transaksi

No Elemen Data Nama Field Tipe Panjang Keterangan

1 Nomor Transaksi NoTransaksi Interger 11 Primary Key

2 ID Rincian IDRincian Interger 11 Foreign Key

3 Kode Konsumen KodeKonsumen Varchar 11 Foreign Key

4 Nama Konsumen NmKonsumen Varchar 50

5 ID JenisLaundry IDJenisLaundry Varchar 5 Foreign Key

6 Nama Jenis

Laundry

NmJenisLaundry Varchar 50

7 ID Item IDItem Varchar 5 Foreign Key

8 Nama Pakaian NmPakaian Varchar 50

9 Jumlah Jumlah Interger 11

Page 43: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

60

10 Tarif Tarif Interger 11

11 Total Total Interger 11

12 Diskon Diskon Float

13 User Name Username Varchar 50

Sumber : Penulis (2019)

6. Spesifikasi File Tabel Item

Nama Database : Item

Nama File : Item

Tipe File : Master

Akses File : Random

Panjang Record : 121 Karakter

Field Key : IDItem

Tabel III.8.

Spesifikasi File Item

No Elemen Data Nama Field Tipe Panjang Keterangan

1 ID Item IDItem Varchar 10 Primary Key

2 Jenis Laundry JenisLaundry Varchar 50

3 Nama

Pakaian

NmPakaian Varchar 50

4 Tarif Tarif Interger 11

Sumber : Penulis (2019

Page 44: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

61

3.4.4. Sequence Diagram

1. Sequence Diagram Admin mengelola Data Transaksi

sd Transaksi

Admin

Form Data

Transaksi

Control Data

Transaksi

Data Konsumen Data Jenis Laundry Data Item Data Transaksi

pesan berhasil simpan data

transaksi()

tarif()

cetak struk transaksi()

alamat()

data transaksi()

data transaksi()

tgl_selesai()

nama konsumen()

get (jenis item)

pesan berhasil simpan data

transaksi()

data transaksi()

simpan()

jenis item()

get (kode konsumen)

hitung()

kode konsumen()

set

(data_transaksi)

input jenis item()

jenis laundry()

get (data

transaksi)

tambah data transaksi()

nama item()

input kode konsumen()

input diskon()

cetak()

input jenis laundry()

kiloan()

set (data

transaksi)

input jumlah()

get (jenis laundry)

total()

telepon()

Sumber : Penulis (2019)

Gambar III.29. Sequence Diagram Admin mengelola Data Transaksi

Page 45: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

62

2. Sequence Diagram Admin Mengelola Data Pengambilan

sd Pengambilan

Admin

Form Pengambilan Control

Pengambilan

Data Pengambilan

no_transaksi()

set (data pengambilan)

pil ih bayar()

data transaksi()

get (no_transaksi)

pesan berhasil

pengambilan pakaian()

input no_transaksi

pengambilan()

data pengambilan()

isi data pembayaran()

Sumber : Penulis (2019)

Gambar III.30. Sequence Diagram Admin mengelola Data Pengambilan

Page 46: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

63

3.4.5. Deployment Diagram

deployment Deployment Diagram

<<Main>>

<<Activ eXControl>>

Netbeans IDE 8.1

«device»

Database

<<DBMS>>

MySQL

<<Database>>

«device»

<<Application>>

Program Sistem Jasa Laundry

laundry

Sumber : Penulis (2019)

Gambar III.31. Deployment Diagram

Page 47: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

64

3.4.6. User Interface

1. Admin melakukan Login

Gambar III.32. User Interface Login

2. Menu Utama Admin

Gambar III.33. User Interface Menu Utama

Page 48: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

65

3. Admin mengelola Data Item

Gambar III.34. User Interface Data Item

Gambar III.35. User Interface Pesan Pemberitahuan Data Item

Berhasil Ditambahkan dan Berhasil Diperbaharui

Page 49: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

66

4. Admin Mengelola Jenis Laundry

Gambar III.36. User Interface Data Jenis Laundry

Gambar III.37. User Interface Pesan Pemberitahuan Data Jenis Laundry

Berhasil Ditambahkan dan Berhasil Diperbaharui

Page 50: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

67

5. Admin mengelola Data Transaksi

Gambar III.38. User Interface Data Transaksi

Gambar III.39. User Interface Pesan Pemberitahuan Data Transaksi Berhasil

Gambar III.40. User Interface Tampil Cetak Transaksi

Page 51: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

68

6. Admin mengelola Data Pengambilan

Gambar III.41. User Interface Data Pengambilan

Gambar III.42. User Interface Pesan Pemberitahuan Data Pengambilan

Berhasil Dibayar dan Mengubah Status Pengambilan

Page 52: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

69

Gambar III.43. User Interface Tampil Cetak Pengambilan

7. Admin mengelola Data Konsumen

Gambar III.44. User Interface Data Konsumen

Page 53: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

70

Gambar III.45. User Interface Pesan Pemberitahuan Data Konsumen

Berhasil Ditambahkan dan Berhasil Diperbaharui

Gambar III.45. User Interface Tampil Cetak Konsumen

8. Admin mengakses Data Laporan

Gambar III.46. User Interface Data Laporan

Page 54: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

71

9. Admin mencetak Data Laporan Lunas

Gambar III.47. User Interface Tampil Cetak Data Laporan Lunas

10. Admin mengakses Data Laporan Periode

Gambar III.48. User Interface Laporan Periode

Page 55: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

72

11. Admin mencetak Data Laporan Periode

Gambar III.49. User Interface Tampil Cetak Data Laporan Periode

12. Admin melakukan Logout

Gambar III.50. User Interface Logout

Page 56: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

73

13. Owner melakukan Login

Gambar III.51. User Interface Owner

14. Owner mengakses Menu Utama

Gambar III.52. User Interface Menu Utama Owner

Page 57: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

74

15. Owner mengakses Data Laporan

Gambar III.53. User Interface Menu Data Laporan

16. Owner mencetak Data Laporan Lunas

Gambar III.54. User Interface Tampil Cetak Data Laporan Lunas

Page 58: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

75

17. Owner mengakses Data Laporan Periode

Gambar III.55. User Interface Laporan Periode

18. Owner mencetak Data Laporan Periode

Gambar III.56. User Interface Tampil Cetak Data Laporan Periode

Page 59: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

76

19. Owner mengelola Ubah Password User

Gambar III.57. User Interface Ubah Password User

Gambar III.58. User Interface Pesan Pemberitahuan Berhasil Mengubah Data

User

20. Owner mengelola Data User

Gambar III.59. User Interface Mengelola Data User

Page 60: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

77

21. Owner melakukan pemeriksaan History Data Laundry

Gambar III.60. History Data Laundry

22. Owner melakukan Logout

Gambar III.61. User Interface Logout

Page 61: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

78

3.5. Implementasi

3.5.1. Code Generation

/*

* To change this license header, choose License Headers in Project Properties.

* To change this template file, choose Tools | Templates

* and open the template in the editor.

*/

package Interface;

import Koding.Database;

import Koding.KodingRincianTransaksi;

import Koding.KodingTransaksi;

import static java.lang.Integer.parseInt;

import javax.swing.JOptionPane;

import java.sql.*;

import java.util.Date;

import java.text.SimpleDateFormat;

import java.util.HashMap;

import javax.swing.DefaultComboBoxModel;

import javax.swing.table.DefaultTableModel;

import net.sf.jasperreports.engine.JasperFillManager;

import net.sf.jasperreports.engine.JasperPrint;

import net.sf.jasperreports.view.JasperViewer;

/**

*

* @author GITA

*/

public class formTransaksi extends javax.swing.JFrame {

private Statement st;

private ResultSet rs;

private String query;

Page 62: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

79

private void current(){

java.util.Date date = new java.util.Date();

tglTransaksi.setDate(date);

tglTransaksi.setEnabled(false);

}

private void Bersih(){

cmbKonsumen.setSelectedItem("-Pilih-");

txtNamaKonsumen.setText("");

txtAlamatKonsumen.setText("");

txtTelpKonsumen.setText("");

cmbJenisPakaian.setSelectedItem("-Pilih-");

cmbJenisLaundry.setSelectedItem("-Pilih-");

txtNamaJenisLaundry.setText("");

txtNamaPakaian.setText("");

txtTarif.setText("0");

txtJumlahPakaian.setText("0");

txtDiskon.setText("0");

tglSelesai.setDate(null);

txtTotal.setText("0");

txtBayar.setText("0");

TampilNoTransaksi();

}

public void TampilNoTransaksi(){

int nilai = 0;

try{

Connection Conn = new Database().Sambung();

query = "select IDRincian from transaksi ORDER BY IDRincian DESC LIMIT 1;";

st = Conn.createStatement();

rs = st.executeQuery(query);

while(rs.next()){

int id = parseInt(rs.getString("IDRincian"));

Page 63: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

80

nilai = id + 1;

String NoTrans = String.valueOf(nilai);

txtNoTransaksi.setText(NoTrans);

txtNoTransaksi.setEnabled(false);

}

}

catch(Exception e){

JOptionPane.showMessageDialog(null, e);

}

}

private void TampilKonsumen(){

DefaultComboBoxModel cmbK = new DefaultComboBoxModel();

cmbK.addElement("-Pilih-");

try{

Connection Conn = new Database().Sambung();

query = "SELECT * FROM konsumen";

st = Conn.createStatement();

rs = st.executeQuery(query);

while(rs.next()){

cmbK.addElement(rs.getString(1));

}

cmbKonsumen.setModel(cmbK);

}

catch(Exception e){

JOptionPane.showMessageDialog(null, e);

}

}

public void TampilJenisPakaian(){

DefaultComboBoxModel cmbK = new DefaultComboBoxModel();

cmbK.addElement("-Pilih-");

try{

Page 64: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

81

Connection Conn = new Database().Sambung();

query = "SELECT * FROM item WHERE

JenisLaundry='"+txtNamaJenisLaundry.getText()+"'";

st = Conn.createStatement();

rs = st.executeQuery(query);

while(rs.next()){

cmbK.addElement(rs.getString(1));

}

cmbJenisPakaian.setModel(cmbK);

}

catch(Exception e){

JOptionPane.showMessageDialog(null, e);

}

}

private void TampilJenisLaundry(){

DefaultComboBoxModel cmbK = new DefaultComboBoxModel();

cmbK.addElement("-Pilih-");

try{

Connection Conn = new Database().Sambung();

query = "SELECT * FROM jenislaundry";

st = Conn.createStatement();

rs = st.executeQuery(query);

while(rs.next()){

cmbK.addElement(rs.getString(1));

}

cmbJenisLaundry.setModel(cmbK);

}

catch(Exception e){

JOptionPane.showMessageDialog(null, e);

}

}

private void TampilTable(){

Page 65: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

82

tTable.setModel(mdl);

}

/**

* Creates new form formHome

*/

public formTransaksi() {

initComponents();

TampilKonsumen();

TampilJenisPakaian();

TampilJenisLaundry();

TampilTable();

TampilNoTransaksi();

current();

}

/**

* This method is called from within the constructor to initialize the form.

* WARNING: Do NOT modify this code. The content of this method is always

* regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">

private void initComponents() {

jPanel1 = new javax.swing.JPanel();

jPanel2 = new javax.swing.JPanel();

jLabel1 = new javax.swing.JLabel();

txtNoTransaksi = new javax.swing.JTextField();

jLabel2 = new javax.swing.JLabel();

tglTransaksi = new com.toedter.calendar.JDateChooser();

lblStatus = new javax.swing.JLabel();

bRefresh = new javax.swing.JButton();

jToolBar1 = new javax.swing.JToolBar();

Page 66: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

83

jLabel5 = new javax.swing.JLabel();

jLabel3 = new javax.swing.JLabel();

jLabel4 = new javax.swing.JLabel();

jLabel20 = new javax.swing.JLabel();

jLabel6 = new javax.swing.JLabel();

jLabel23 = new javax.swing.JLabel();

jPanel3 = new javax.swing.JPanel();

jLabel7 = new javax.swing.JLabel();

cmbKonsumen = new javax.swing.JComboBox<String>();

txtNamaKonsumen = new javax.swing.JTextField();

jLabel9 = new javax.swing.JLabel();

txtAlamatKonsumen = new javax.swing.JTextField();

jLabel10 = new javax.swing.JLabel();

txtTelpKonsumen = new javax.swing.JTextField();

jLabel11 = new javax.swing.JLabel();

jPanel4 = new javax.swing.JPanel();

jLabel8 = new javax.swing.JLabel();

cmbJenisPakaian = new javax.swing.JComboBox<String>();

jLabel12 = new javax.swing.JLabel();

txtNamaPakaian = new javax.swing.JTextField();

jLabel13 = new javax.swing.JLabel();

txtTarif = new javax.swing.JTextField();

jLabel14 = new javax.swing.JLabel();

cmbJenisLaundry = new javax.swing.JComboBox<String>();

txtJumlahPakaian = new javax.swing.JTextField();

jLabel15 = new javax.swing.JLabel();

txtDiskon = new javax.swing.JTextField();

jLabel16 = new javax.swing.JLabel();

bTambahPakaian = new javax.swing.JButton();

jScrollPane1 = new javax.swing.JScrollPane();

tTable = new javax.swing.JTable();

Page 67: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

84

txtTotal = new javax.swing.JTextField();

txtBayar = new javax.swing.JTextField();

jLabel19 = new javax.swing.JLabel();

jLabel21 = new javax.swing.JLabel();

bSimpan = new javax.swing.JButton();

txtNamaJenisLaundry = new javax.swing.JTextField();

jLabel17 = new javax.swing.JLabel();

jLabel18 = new javax.swing.JLabel();

tglSelesai = new com.toedter.calendar.JDateChooser();

jLabel22 = new javax.swing.JLabel();

txtKembali = new javax.swing.JTextField();

txtBayar1 = new javax.swing.JTextField();

jButton1 = new javax.swing.JButton();

jButton2 = new javax.swing.JButton();

jLabel24 = new javax.swing.JLabel();

jMenuBar1 = new javax.swing.JMenuBar();

jMenu3 = new javax.swing.JMenu();

jMenuItem2 = new javax.swing.JMenuItem();

jMenuItem3 = new javax.swing.JMenuItem();

jMenu2 = new javax.swing.JMenu();

jMenuItem4 = new javax.swing.JMenuItem();

jMenuItem5 = new javax.swing.JMenuItem();

jMenuItem7 = new javax.swing.JMenuItem();

jMenu4 = new javax.swing.JMenu();

jMenuItem6 = new javax.swing.JMenuItem();

jMenu1 = new javax.swing.JMenu();

jMenuItem1 = new javax.swing.JMenuItem();

setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);

addWindowListener(new java.awt.event.WindowAdapter() {

public void windowClosing(java.awt.event.WindowEvent evt) {

formWindowClosing(evt);

Page 68: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

85

}

});

jPanel1.setBackground(new java.awt.Color(255, 153, 153));

jPanel2.setBackground(new java.awt.Color(255, 153, 153));

jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Transaksi",

javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,

javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 11), new

java.awt.Color(255, 255, 255))); // NOI18N

jLabel1.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N

jLabel1.setText("No. Transaksi:");

jLabel2.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N

jLabel2.setText("Tanggal Transaksi:");

lblStatus.setForeground(new java.awt.Color(0, 204, 204));

bRefresh.setBackground(new java.awt.

Color(204, 255, 255));

bRefresh.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/Gambar/ic_hospital_refresh.png"))); // NOI18N

bRefresh.setText(" Refresh");

bRefresh.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));

bRefresh.setFocusable(false);

bRefresh.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);

bRefresh.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);

bRefresh.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

bRefreshActionPerformed(evt);

}

});

javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);

jPanel2.setLayout(jPanel2Layout);

jPanel2Layout.setHorizontalGroup(

jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel2Layout.createSequentialGroup()

Page 69: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

86

.addContainerGap()

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jLabel1)

.addComponent(txtNoTransaksi, javax.swing.GroupLayout.PREFERRED_SIZE, 126,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(30, 30, 30)

.addComponent(bRefresh)

.addGap(27, 27, 27)

.addComponent(lblStatus)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jLabel2)

.addComponent(tglTransaksi, javax.swing.GroupLayout.PREFERRED_SIZE, 175,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addContainerGap())

);

jPanel2Layout.setVerticalGroup(

jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel2Layout.createSequentialGroup()

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel2Layout.createSequentialGroup()

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel1)

.addComponent(jLabel2)

.addComponent(lblStatus))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

.addComponent(txtNoTransaksi, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(tglTransaksi, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))

.addComponent(bRefresh, javax.swing.GroupLayout.PREFERRED_SIZE, 75,

javax.swing.GroupLayout.PREFERRED_SIZE))

Page 70: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

87

.addContainerGap(22, Short.MAX_VALUE))

);

jToolBar1.setBackground(new java.awt.Color(204, 255, 255));

jToolBar1.setRollover(true);

jLabel5.setForeground(new java.awt.Color(204, 255, 255));

jLabel5.setText("aaaa");

jToolBar1.add(jLabel5);

jLabel3.setForeground(new java.awt.Color(204, 255, 255));

jLabel3.setText("aaaa");

jToolBar1.add(jLabel3);

jLabel4.setForeground(new java.awt.Color(204, 255, 255));

jLabel4.setText("aaaa");

jToolBar1.add(jLabel4);

jLabel20.setForeground(new java.awt.Color(204, 255, 255));

jLabel20.setText("aaaa");

jToolBar1.add(jLabel20);

jLabel6.setForeground(new java.awt.Color(204, 255, 255));

jLabel6.setText("aaaa");

jToolBar1.add(jLabel6);

jLabel23.setForeground(new java.awt.Color(204, 255, 255));

jLabel23.setText("aaaa");

jToolBar1.add(jLabel23);

jPanel3.setBackground(new java.awt.Color(255, 255, 153));

jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Data Konsumen",

javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,

javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 11), new

java.awt.Color(255, 255, 255))); // NOI18N

jLabel7.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N

jLabel7.setText("Kode Konsumen:");

cmbKonsumen.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

cmbKonsumenActionPerformed(evt);

Page 71: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

88

}

});

txtNamaKonsumen.setEnabled(false);

jLabel9.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N

jLabel9.setText("Nama Konsumen:");

txtAlamatKonsumen.setEnabled(false);

jLabel10.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N

jLabel10.setText("Alamat:");

txtTelpKonsumen.setEnabled(false);

jLabel11.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N

jLabel11.setText("Telpon:");

javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);

jPanel3.setLayout(jPanel3Layout);

jPanel3Layout.setHorizontalGroup(

jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel3Layout.createSequentialGroup()

.addContainerGap()

.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jLabel7)

.addComponent(cmbKonsumen, javax.swing.GroupLayout.PREFERRED_SIZE, 127,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(18, 18, 18)

.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jLabel9)

.addComponent(txtNamaKonsumen, javax.swing.GroupLayout.PREFERRED_SIZE,

162, javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(18, 18, 18)

.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jLabel10)

.addComponent(txtAlamatKonsumen, javax.swing.GroupLayout.PREFERRED_SIZE,

201, javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(18, 18, 18)

.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jLabel11)

Page 72: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

89

.addComponent(txtTelpKonsumen, javax.swing.GroupLayout.PREFERRED_SIZE, 138,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

);

jPanel3Layout.setVerticalGroup(

jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel3Layout.createSequentialGroup()

.addComponent(jLabel7)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(cmbKonsumen, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(jPanel3Layout.createSequentialGroup()

.addComponent(jLabel9)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(txtNamaKonsumen, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(jPanel3Layout.createSequentialGroup()

.addComponent(jLabel10)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(txtAlamatKonsumen, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(jPanel3Layout.createSequentialGroup()

.addComponent(jLabel11)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(txtTelpKonsumen, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

);

jPanel4.setBackground(new java.awt.Color(255, 153, 153));

jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Data Laundry",

javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,

javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 11), new

java.awt.Color(255, 255, 255))); // NOI18N

jLabel8.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N

jLabel8.setText("Jenis Pakaian:");

Page 73: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

90

cmbJenisPakaian.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1",

"Item 2", "Item 3", "Item 4" }));

cmbJenisPakaian.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

cmbJenisPakaianActionPerformed(evt);

}

});

jLabel12.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N

jLabel12.setText("Jenis Laundry:");

txtNamaPakaian.setEnabled(false);

jLabel13.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N

jLabel13.setText("Nama Pakaian:");

txtTarif.setText("0");

txtTarif.setEnabled(false);

jLabel14.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N

jLabel14.setText("Tarif:");

cmbJenisLaundry.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1",

"Item 2", "Item 3", "Item 4" }));

cmbJenisLaundry.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

cmbJenisLaundryActionPerformed(evt);

}

});

txtJumlahPakaian.setText("0");

jLabel15.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N

jLabel15.setText("Jumlah:");

txtDiskon.setText("0");

jLabel16.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N

jLabel16.setText("Diskon:");

bTambahPakaian.setBackground(new java.awt.Color(0, 204, 204));

bTambahPakaian.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/Gambar/ic_add_box_24.png"))); // NOI18N

Page 74: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

91

bTambahPakaian.setText("Tambah Pakaian");

bTambahPakaian.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));

bTambahPakaian.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

bTambahPakaianActionPerformed(evt);

}

});

tTable.setModel(new javax.swing.table.DefaultTableModel(

new Object [][] {

{null, null, null, null},

{null, null, null, null},

{null, null, null, null},

{null, null, null, null}

},

new String [] {

"Title 1", "Title 2", "Title 3", "Title 4"

}

));

tTable.addMouseListener(new java.awt.event.MouseAdapter() {

public void mouseClicked(java.awt.event.MouseEvent evt) {

tTableMouseClicked(evt);

}

});

jScrollPane1.setViewportView(tTable);

txtTotal.setText("0");

txtTotal.setEnabled(false);

txtBayar.setText("0");

jLabel19.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N

jLabel19.setText("Total:");

jLabel21.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N

jLabel21.setText("Bayar:");

Page 75: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

92

bSimpan.setBackground(new java.awt.Color(0, 204, 204));

bSimpan.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N

bSimpan.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/Gambar/ic_border_color_24.png"))); // NOI18N

bSimpan.setText("SIMPAN");

bSimpan.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));

bSimpan.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

bSimpanActionPerformed(evt);

}

});

txtNamaJenisLaundry.setEnabled(false);

jLabel17.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N

jLabel17.setText("Nama Jenis Laundry:");

jLabel18.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N

jLabel18.setText("Tanggal Selesai");

jLabel22.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N

jLabel22.setText("Sisa :");

txtKembali.setText("0");

txtKembali.setEnabled(false);

txtBayar1.setText("0");

txtBayar1.setEnabled(false);

txtBayar1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

txtBayar1ActionPerformed(evt);

}

});

jButton1.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/Gambar/ic_add_box_24.png"))); // NOI18N

jButton1.setText("Hitung");

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

Page 76: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

93

jButton1ActionPerformed(evt);

}

});

jButton2.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/Gambar/ic_local_print_shop_24.png"))); // NOI18N

jButton2.setText("Cetak");

jButton2.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton2ActionPerformed(evt);

}

});

jLabel24.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N

jLabel24.setText("Kembali:");

javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);

jPanel4.setLayout(jPanel4Layout);

jPanel4Layout.setHorizontalGroup(

jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel4Layout.createSequentialGroup()

.addContainerGap()

.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jScrollPane1)

.addGroup(jPanel4Layout.createSequentialGroup()

.addGap(747, 747, 747)

.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

.addGroup(jPanel4Layout.createSequentialGroup()

.addComponent(jLabel19)

.addGap(21, 21, 21)

.addComponent(txtTotal, javax.swing.GroupLayout.PREFERRED_SIZE, 166,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(jPanel4Layout.createSequentialGroup()

.addComponent(jLabel21)

.addGap(18, 18, 18)

Page 77: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

94

.addComponent(txtBayar, javax.swing.GroupLayout.PREFERRED_SIZE, 166,

javax.swing.GroupLayout.PREFERRED_SIZE)))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 22,

Short.MAX_VALUE)

.addComponent(jLabel24)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(txtKembali, javax.swing.GroupLayout.PREFERRED_SIZE, 166,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(jPanel4Layout.createSequentialGroup()

.addGap(6, 6, 6)

.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

jPanel4Layout.createSequentialGroup()

.addComponent(bTambahPakaian,

javax.swing.GroupLayout.PREFERRED_SIZE, 151, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(226, 226, 226))

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

jPanel4Layout.createSequentialGroup()

.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(cmbJenisLaundry,

javax.swing.GroupLayout.PREFERRED_SIZE, 127, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel12))

.addGap(18, 18, 18)

.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jLabel17)

.addComponent(txtNamaJenisLaundry,

javax.swing.GroupLayout.PREFERRED_SIZE, 208,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(18, 18, 18)))

.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(cmbJenisPakaian, javax.swing.GroupLayout.PREFERRED_SIZE,

127, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel8))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jLabel13)

Page 78: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

95

.addComponent(txtNamaPakaian, javax.swing.GroupLayout.PREFERRED_SIZE,

160, javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(18, 18, 18)

.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jLabel14)

.addComponent(txtTarif, javax.swing.GroupLayout.PREFERRED_SIZE, 128,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(18, 18, 18)

.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jLabel15)

.addComponent(txtJumlahPakaian, javax.swing.GroupLayout.PREFERRED_SIZE,

78, javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(18, 18, 18)

.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(txtDiskon, javax.swing.GroupLayout.PREFERRED_SIZE, 99,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel16))

.addGap(18, 18, 18)

.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel4Layout.createSequentialGroup()

.addComponent(jLabel18)

.addGap(0, 0, Short.MAX_VALUE))

.addComponent(tglSelesai, javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

jPanel4Layout.createSequentialGroup()

.addGap(0, 0, Short.MAX_VALUE)

.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

jPanel4Layout.createSequentialGroup()

.addComponent(jLabel22)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(txtBayar1, javax.swing.GroupLayout.PREFERRED_SIZE, 166,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

jPanel4Layout.createSequentialGroup()

Page 79: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

96

.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 117,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(29, 29, 29)

.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 104,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(18, 18, 18)

.addComponent(bSimpan, javax.swing.GroupLayout.PREFERRED_SIZE, 114,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(8, 8, 8)))))

.addContainerGap())

);

jPanel4Layout.setVerticalGroup(

jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel4Layout.createSequentialGroup()

.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel4Layout.createSequentialGroup()

.addGap(11, 11, 11)

.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel17)

.addComponent(jLabel12))

.addComponent(jLabel8))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(txtNamaJenisLaundry,

javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(cmbJenisPakaian, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(cmbJenisLaundry)))

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

jPanel4Layout.createSequentialGroup()

.addComponent(jLabel13)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

Page 80: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

97

.addComponent(txtNamaPakaian, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

jPanel4Layout.createSequentialGroup()

.addComponent(jLabel14)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(txtTarif, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

jPanel4Layout.createSequentialGroup()

.addComponent(jLabel15)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(txtJumlahPakaian, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

jPanel4Layout.createSequentialGroup()

.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jLabel18, javax.swing.GroupLayout.Alignment.TRAILING)

.addComponent(jLabel16))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

.addComponent(txtDiskon, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(tglSelesai, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(bTambahPakaian)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 209,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(txtBayar1, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

Page 81: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

98

.addComponent(txtTotal, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel22))

.addComponent(jLabel19))

.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel4Layout.createSequentialGroup()

.addGap(18, 18, 18)

.addComponent(txtKembali, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(jPanel4Layout.createSequentialGroup()

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 11,

Short.MAX_VALUE)

.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(txtBayar, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel21, javax.swing.GroupLayout.PREFERRED_SIZE, 20,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel24))

.addGap(21, 21, 21)))

.addGap(3, 3, 3)

.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(bSimpan, javax.swing.GroupLayout.PREFERRED_SIZE, 43,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 30,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 30,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

);

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);

Page 82: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

99

jPanel1.setLayout(jPanel1Layout);

jPanel1Layout.setHorizontalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jToolBar1, javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addGroup(jPanel1Layout.createSequentialGroup()

.addContainerGap()

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jPanel3, javax.swing.GroupLayout.Alignment.TRAILING,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE)

.addComponent(jPanel2, javax.swing.GroupLayout.Alignment.TRAILING,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE)

.addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

.addContainerGap())

);

jPanel1Layout.setVerticalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

jPanel1Layout.createSequentialGroup()

Page 83: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

100

.addComponent(jToolBar1, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addContainerGap())

);

jMenu3.setText("Pakaian");

jMenuItem2.setText("Data Pakaian");

jMenuItem2.setActionCommand("Data Item");

jMenuItem2.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jMenuItem2ActionPerformed(evt);

}

});

jMenu3.add(jMenuItem2);

jMenuItem3.setText("Data Jenis Laundry");

jMenuItem3.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jMenuItem3ActionPerformed(evt);

}

});

jMenu3.add(jMenuItem3);

jMenuBar1.add(jMenu3);

Page 84: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

101

jMenu2.setText("Transaksi");

jMenuItem4.setText("Data Transaksi");

jMenuItem4.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jMenuItem4ActionPerformed(evt);

}

});

jMenu2.add(jMenuItem4);

jMenuItem5.setText("Data Pengambilan");

jMenuItem5.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jMenuItem5ActionPerformed(evt);

}

});

jMenu2.add(jMenuItem5);

jMenuItem7.setText("Data Konsumen");

jMenuItem7.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jMenuItem7ActionPerformed(evt);

}

});

jMenu2.add(jMenuItem7);

jMenuBar1.add(jMenu2);

jMenu4.setText("Laporan");

jMenuItem6.setText("Data Laporan");

jMenuItem6.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jMenuItem6ActionPerformed(evt);

}

});

jMenu4.add(jMenuItem6);

Page 85: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

102

jMenuBar1.add(jMenu4);

jMenu1.setText("Logout");

jMenuItem1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F1,

java.awt.event.InputEvent.ALT_MASK));

jMenuItem1.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/Gambar/ic_exit_to_app_24.png"))); // NOI18N

jMenuItem1.setText("Keluar");

jMenuItem1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jMenuItem1ActionPerformed(evt);

}

});

jMenu1.add(jMenuItem1);

jMenuBar1.add(jMenu1);

setJMenuBar(jMenuBar1);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

);

pack();

setLocationRelativeTo(null);

}// </editor-fold>

private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

int Pilih;

Page 86: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

103

if((Pilih = JOptionPane.showConfirmDialog(null, "Keluar aplikasi?", "Perhatian",

JOptionPane.OK_CANCEL_OPTION))==0){

this.dispose();

new formLogin().show();

JOptionPane.showMessageDialog(null, "Good Bye!");

}

}

private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

new formDataPakaian().show();

}

private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

new formJenisLaundry().show();

}

private void cmbKonsumenActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

try{

Connection Conn = new Database().Sambung();

query = "SELECT * FROM konsumen WHERE

KodeKonsumen='"+cmbKonsumen.getSelectedItem().toString()+"'";

st = Conn.createStatement();

rs = st.executeQuery(query);

while(rs.next()){

txtNamaKonsumen.setText(rs.getString(2));

txtAlamatKonsumen.setText(rs.getString(3));

txtTelpKonsumen.setText(rs.getString(4));

}

}

catch(Exception e){

JOptionPane.showMessageDialog(null, e);

}

Page 87: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

104

}

private void cmbJenisPakaianActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

try{

Connection Conn = new Database().Sambung();

query = "SELECT * FROM item WHERE

IDItem='"+cmbJenisPakaian.getSelectedItem().toString()+"' AND

JenisLaundry='"+txtNamaJenisLaundry.getText()+"'";

st = Conn.createStatement();

rs = st.executeQuery(query);

while(rs.next()){

txtNamaPakaian.setText(rs.getString(3));

txtTarif.setText(rs.getString(4));

}

}

catch(Exception e){

JOptionPane.showMessageDialog(null, e);

}

}

private void cmbJenisLaundryActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

try{

Connection Conn = new Database().Sambung();

query = "SELECT * FROM jenislaundry WHERE

IDJenisLaundry='"+cmbJenisLaundry.getSelectedItem().toString()+"'";

st = Conn.createStatement();

rs = st.executeQuery(query);

while(rs.next()){

txtNamaJenisLaundry.setText(rs.getString(2));

}

TampilJenisPakaian();

}

Page 88: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

105

catch(Exception e){

JOptionPane.showMessageDialog(null, e);

}

}

private void bTambahPakaianActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

String IDtrans = txtNoTransaksi.getText();

String IDKonsumen = cmbKonsumen.getSelectedItem().toString();

String NamaKonsumen = txtNamaKonsumen.getText();

int Tarif = Integer.parseInt(txtTarif.getText());

int Jumlah = Integer.parseInt(txtJumlahPakaian.getText());

float Diskon = Float.parseFloat(txtDiskon.getText())/100;

String IDJenis = cmbJenisPakaian.getSelectedItem().toString();

String IDJenisLaundry = cmbJenisLaundry.getSelectedItem().toString();

String NamaJenisLaundry = txtNamaJenisLaundry.getText();

String NamaPakaian = txtNamaPakaian.getText();

if(IDtrans.equals("") || IDKonsumen.equals("") || NamaKonsumen.equals("") || IDJenis.equals("")

|| IDJenisLaundry.equals("") || NamaJenisLaundry.equals("") || NamaPakaian.equals("") ){

JOptionPane.showMessageDialog(null, "Data belum lengkap!");

}

else{

if (Jumlah > 0){

if(txtDiskon.getText().equalsIgnoreCase("0")){

int TotalAwal = Tarif*Jumlah;

int txtTotalAwal = Integer.parseInt(txtTotal.getText());

int TotalAkhir = txtTotalAwal+TotalAwal;

txtTotal.setText(String.valueOf(TotalAkhir));

KodingRincianTransaksi krt = new KodingRincianTransaksi();

krt.TambahRincianTransaksi(IDtrans, IDKonsumen, NamaKonsumen, IDJenisLaundry,

NamaJenisLaundry, IDJenis,NamaPakaian, Jumlah, Tarif, TotalAwal, Diskon);

JOptionPane.showMessageDialog(null, "Transaksi Tersimpan");

}

Page 89: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

106

else{

float TotalAwall = (Tarif*Jumlah) * Diskon;

int txtTotalAwal = Integer.parseInt(txtTotal.getText());

int TotalAkhir = (int) (txtTotalAwal+TotalAwall);

txtTotal.setText(String.valueOf(TotalAkhir));

int TotalAwal = (int) (TotalAwall);

KodingRincianTransaksi krt = new KodingRincianTransaksi();

krt.TambahRincianTransaksi(IDtrans, IDKonsumen, NamaKonsumen, IDJenisLaundry,

NamaJenisLaundry, IDJenis,NamaPakaian, Jumlah, Tarif,TotalAwal, Diskon);

JOptionPane.showMessageDialog(null, "Transaksi Tersimpan");

}

mdl.addRow(new Object[]{

txtNamaPakaian.getText(),

txtNamaJenisLaundry.getText(),

txtTarif.getText(),

txtJumlahPakaian.getText(),

txtDiskon.getText(),

});

} else {

JOptionPane.showMessageDialog(null, "Isi Jumlah Terlebih Dahulu");

}

}

}

private void tTableMouseClicked(java.awt.event.MouseEvent evt) {

// TODO add your handling code here:

}

private void bSimpanActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

int TotalAkhir = Integer.parseInt(txtTotal.getText());

int Bayar = Integer.parseInt(txtBayar.getText());

int Sisa = Integer.parseInt(txtBayar1.getText());

int kembali = Integer.parseInt(txtKembali.getText());

Page 90: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

107

int ID = Integer.parseInt(txtNoTransaksi.getText());

int Jumlah = Integer.parseInt(txtJumlahPakaian.getText());

String Tampilan = "yyyy/MM/dd";

SimpleDateFormat sdf = new SimpleDateFormat(Tampilan);

String TglTrans = sdf.format(tglTransaksi.getDate());

String TglSelesai = sdf.format(tglSelesai.getDate());

int pilih;

if((pilih=JOptionPane.showConfirmDialog(null, "Transaksi?", "Perhatian",

JOptionPane.OK_CANCEL_OPTION))==0){

if(txtNoTransaksi.getText().equals("") || tglTransaksi.getDate().equals(null) ||

tglSelesai.getDate().equals(null) || txtTotal.getText().equals("") || txtBayar.getText().equals("") ){

JOptionPane.showMessageDialog(null, "Data belum lengkap!");

}

else{

KodingTransaksi kt = new KodingTransaksi();

kt.TambahTransaksi(ID, TglTrans, TglSelesai, TotalAkhir, Bayar, Sisa, kembali);

JOptionPane.showMessageDialog(null, "Transaksi Tersimpan");

}

}

}

private void formWindowClosing(java.awt.event.WindowEvent evt) {

// TODO add your handling code here:

this.dispose();

}

private void bRefreshActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

TampilKonsumen();

TampilJenisPakaian();

TampilJenisLaundry();

TampilTable();

TampilNoTransaksi();

mdl.getDataVector().removeAllElements();

Page 91: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

108

mdl.fireTableDataChanged();

txtTotal.setText("0");

Bersih();

}

private void txtBayar1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

int TotalAkhir = Integer.parseInt(txtTotal.getText());

int Bayar = Integer.parseInt(txtBayar.getText());

int Sisa = Bayar - TotalAkhir;

if (TotalAkhir >= 0){

if(Sisa >= 0){

txtBayar1.setText("0");

txtKembali.setText(String.valueOf(Sisa));

} else {

txtKembali.setText("0");

txtBayar1.setText(String.valueOf(Sisa));

}

} else {

JOptionPane.showMessageDialog(rootPane, "Sub Total Masih Kosong ^_^");

}

}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

try{

String NamaFile= "./src/transaksi.jasper";

Class.forName("com.mysql.jdbc.Driver").newInstance();

Connection koneksi =

DriverManager.getConnection("jdbc:mysql://localhost/laundry","root","");

HashMap param = new HashMap();

Page 92: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

109

param.put("NoID",parseInt(txtNoTransaksi.getText()));

JasperPrint JPrint = JasperFillManager.fillReport(NamaFile,param,

koneksi);

JasperViewer.viewReport(JPrint, false);

} catch(Exception e){

JOptionPane.showMessageDialog(null,e);

}

}

private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

new formLaporan().show();

}

private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

new formTransaksi().show();

}

private void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

new formPengambilan().show();

}

private void jMenuItem7ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

new formKonsumen().show();

}

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

Page 93: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

110

* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info :

javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Windows".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

}

}

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(formTransaksi.class.getName()).log(java.util.logging.Level.SEVE

RE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(formTransaksi.class.getName()).log(java.util.logging.Level.SEVE

RE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(formTransaksi.class.getName()).log(java.util.logging.Level.SEVE

RE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(formTransaksi.class.getName()).log(java.util.logging.Level.SEVE

RE, null, ex);

}

//</editor-fold>

//</editor-fold>

//</editor-fold>

//</editor-fold>

//</editor-fold>

//</editor-fold>

//</editor-fold>

//</editor-fold>

/* Create and display the form */

Page 94: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

111

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new formTransaksi().setVisible(true);

}

});

}

// Variables declaration - do not modify

private javax.swing.JButton bRefresh;

private javax.swing.JButton bSimpan;

private javax.swing.JButton bTambahPakaian;

private javax.swing.JComboBox<String> cmbJenisLaundry;

private javax.swing.JComboBox<String> cmbJenisPakaian;

private javax.swing.JComboBox<String> cmbKonsumen;

private javax.swing.JButton jButton1;

private javax.swing.JButton jButton2;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel10;

private javax.swing.JLabel jLabel11;

private javax.swing.JLabel jLabel12;

private javax.swing.JLabel jLabel13;

private javax.swing.JLabel jLabel14;

private javax.swing.JLabel jLabel15;

private javax.swing.JLabel jLabel16;

private javax.swing.JLabel jLabel17;

private javax.swing.JLabel jLabel18;

private javax.swing.JLabel jLabel19;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel20;

private javax.swing.JLabel jLabel21;

private javax.swing.JLabel jLabel22;

private javax.swing.JLabel jLabel23;

Page 95: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

112

private javax.swing.JLabel jLabel24;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;

private javax.swing.JLabel jLabel5;

private javax.swing.JLabel jLabel6;

private javax.swing.JLabel jLabel7;

private javax.swing.JLabel jLabel8;

private javax.swing.JLabel jLabel9;

private javax.swing.JMenu jMenu1;

private javax.swing.JMenu jMenu2;

private javax.swing.JMenu jMenu3;

private javax.swing.JMenu jMenu4;

private javax.swing.JMenuBar jMenuBar1;

private javax.swing.JMenuItem jMenuItem1;

private javax.swing.JMenuItem jMenuItem2;

private javax.swing.JMenuItem jMenuItem3;

private javax.swing.JMenuItem jMenuItem4;

private javax.swing.JMenuItem jMenuItem5;

private javax.swing.JMenuItem jMenuItem6;

private javax.swing.JMenuItem jMenuItem7;

private javax.swing.JPanel jPanel1;

private javax.swing.JPanel jPanel2;

private javax.swing.JPanel jPanel3;

private javax.swing.JPanel jPanel4;

private javax.swing.JScrollPane jScrollPane1;

private javax.swing.JToolBar jToolBar1;

public static javax.swing.JLabel lblStatus;

private javax.swing.JTable tTable;

private com.toedter.calendar.JDateChooser tglSelesai;

private com.toedter.calendar.JDateChooser tglTransaksi;

private javax.swing.JTextField txtAlamatKonsumen;

Page 96: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

113

private javax.swing.JTextField txtBayar;

private javax.swing.JTextField txtBayar1;

private javax.swing.JTextField txtDiskon;

private javax.swing.JTextField txtJumlahPakaian;

private javax.swing.JTextField txtKembali;

private javax.swing.JTextField txtNamaJenisLaundry;

private javax.swing.JTextField txtNamaKonsumen;

private javax.swing.JTextField txtNamaPakaian;

private javax.swing.JTextField txtNoTransaksi;

private javax.swing.JTextField txtTarif;

private javax.swing.JTextField txtTelpKonsumen;

private javax.swing.JTextField txtTotal;

// End of variables declaration

int Baris = 0;

static Object Kolom[] = {"Nama Pakaian", "Jenis Laundry", "Tarif", "Jumlah", "Diskon"};

DefaultTableModel mdl = new DefaultTableModel(Kolom, Baris);

}

3.5.2. Blackbox Testing

1. Form Login Admin

Tabel III.9.

Page 97: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

114

Blackbox Testing Form Login Admin

No

.

Skenario

Penulisan

Test case Hasil yang

diharapkan

Hasil

pengujian

Kesimpulan

1. Nama user dan

Password tidak

diisi kemudian

klik tombol login

Nama user:

(kosong)

Password:

(kosong)

Sistem akan

menolak

akses dan

menampilkan

pesan

“Silahkan

Masukkan

Username

dan

Password”

Sesuai

harapan

Valid

2. Mengetikkan

Nama user dan

Password tidak

diisi atau kosong

kemudian klik

tombol login

Nama user:

admin

Password:

(kosong)

Sistem akan

menolak

akses dan

menampilkan

pesan

“Password

Tidak Boleh

Kosong”

Sesuai

harapan

Valid

3. Nama user tidak

diisi (kosong) dan

Password diisi

kemudian klik

tombol login

Nama user:

(kosong)

Password:

123

Sistem akan

menolak

akses dan

menampilkan

pesan

“Username

Tidak Boleh

Kosong”

Sesuai

harapan

Valid

4. Mengetikkan

salah satu kondisi

salah pada Nama

user atau

Password

kemudian klik

tombol login

Nama user:

admin

(benar)

Password:

admin

(salah)

Sistem akan

menolak

akses dan

menampilkan

pesan

“Username

atau

Password

Salah”

Sesuai

harapan

Valid

5. Mengetikkan

Nama user dan

Password dengan

Nama user:

admin

Sistem akan

menerima

akses login

Sesuai

harapan

Valid

Page 98: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

115

data yang benar

kemudian klik

tombol login

(benar)

Password:

123

(benar)

dan akan

menampilkan

pesan

“Berhasil

Login”

Sumber : Penulis (2019)

2. Form Data Item

Tabel III.10

Blackbox Testing Form Data Item

No

.

Skenario

Penulisan

Test case Hasil yang

diharapkan

Hasil

pengujian

Kesimpulan

1. ID Jenis

Item, Jenis

Laundry, Nama

Item, Tarif tidak

di isi lalu

kemudian klik

tombol tambah

data Item

ID Jenis

Item:

(kosong)

Jenis

Laundry:

(Kosong)

Nama Item:

(Kosong)

Tarif:

(Kosong)

Sistem akan

Menolak dan

tidak bisa

melakukan

penambahan

data Item

Sesuai

harapan

Valid

2. Mengisi ID Jenis

Item, Jenis

Laundry, Nama

Item, Tarif tidak

di isi lalu

kemudian klik

tombol tambah

data Item

ID Jenis

Item: 01

Jenis

Laundry:

(Kosong)

Nama Item:

(Kosong)

Tarif:

(Kosong)

Sistem akan

Menolak dan

tidak bisa

melakukan

penambahan

data Item

Sesuai

harapan

Valid

3. Mengisi ID Jenis

Item, Mengisi

Jenis Laundry,

Nama Item, Tarif

tidak di isi lalu

ID Jenis

Item: 01

Jenis

Laundry:

Sistem akan

Menolak dan

tidak bisa

melakukan

penambahan

Sesuai

harapan

Valid

Page 99: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

116

kemudian klik

tombol tambah

data Item

Satuan

Nama Item:

(Kosong)

Tarif:

(Kosong)

data Item

4. Mengisi ID Jenis

Item, Mengisi

Jenis Laundry,

Mengisi Nama

Item, Tarif tidak

di isi lalu

kemudian klik

tombol tambah

data Item

ID Jenis

Item: 01

Jenis

Laundry:

Satuan

Nama Item:

Bed Cover

Tarif:

(Kosong)

Sistem akan

Menolak dan

tidak bisa

melakukan

penambahan

data Item

Sesuai

harapan

Valid

5. ID Jenis

Item, Jenis

Laundry, Nama

Item, Tarif di isi

semua lalu

kemudian klik

tombol tambah

data Item

ID Jenis

Item: 01

Jenis

Laundry:

Satuan

Nama Item:

Bed Cover

Tarif: 14000

Sistem akan

menerima

dan

menyimpan

data

jenis Item

dengan

menampilkan

“Data

berhasil

ditambahkan!

Sesuai

harapan

Valid

6. Pencarian Data

Item Berdasarkan

ID tidak di isi lalu

kemudian klik

tombol Cari

Cari

berdasarkan

ID:

(Kosong)

Sistem akan

Menolak dan

tidak bisa

melakukan

Pencarian

jenis Item

berdasarkan

ID

Sesuai

harapan

Valid

7. Mengisi

Pencarian Data

Item Berdasarkan

ID tidak di isi lalu

kemudian klik

tombol Cari

Cari

berdasarkan

ID:

1

Sistem akan

menerima

dan

menampilkan

jenis Item

dengan ID

yang telah

disimpan

Sesuai

harapan

Valid

Page 100: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

117

Sumber : Penulis (2019)

3. Form Data Jenis Laundry

Tabel III.11

Blackbox Testing Form Data Jenis Laundry

No

.

Skenario

Penulisan

Test case Hasil yang

diharapkan

Hasil

pengujian

Kesimpulan

1. ID Jenis Laundry,

Nama Jenis

Laundry tidak di

isi lalu kemudian

klik tombol

tambah data Jenis

Laundry

ID Jenis

Laundry:

(kosong)

Nama Jenis

Laundry:

(Kosong)

Sistem akan

Menolak dan

tidak bisa

melakukan

penambahan

data jenis

Laundry dan

menampilkan

“Data Belum

Lengkap!”

Sesuai

harapan

Valid

2. Mengisi ID Jenis

Laundry, Nama

Jenis Laundry

tidak di isi lalu

kemudian klik

tombol tambah

data Jenis

Laundry

ID Jenis

Laundry:

1

Nama Jenis

Laundry:

(Kosong)

Sistem akan

Menolak dan

tidak bisa

melakukan

penambahan

data jenis

Laundry dan

menampilkan

“Data Belum

Lengkap!”

Sesuai

harapan

Valid

3. Mengisi ID Jenis

Laundry dan

Nama Jenis

Laundry lalu

kemudian klik

tombol tambah

data Jenis

Laundry

ID Jenis

Laundry:

1

Nama Jenis

Laundry:

Kiloan

Sistem akan

menerima

dan

menyimpan

data

Jenis

Laundry

dengan

menampilkan

“Data

berhasil

ditambahkan!

Sesuai

harapan

Valid

4. Pencarian Data Cari Sistem akan Sesuai Valid

Page 101: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

118

Jenis Laundry

Berdasarkan ID

tidak di isi lalu

kemudian klik

tombol Cari

berdasarkan

ID:

(Kosong)

Menolak dan

tidak bisa

melakukan

Pencarian

Jenis

Laundry

berdasarkan

ID

harapan

5. Mengisi

Pencarian Data

Jenis Laundry

Pakaian

Berdasarkan ID

tidak di isi lalu

kemudian klik

tombol Cari

Cari

berdasarkan

ID:

1

Sistem akan

menerima

dan

menampilkan

Jenis

Laundry

dengan ID

yang telah

disimpan

Sesuai

harapan

Valid

Sumber : Penulis (2019)

4. Form Data Konsumen

Tabel III.12

Blackbox Testing Form Data Konsumen

No

.

Skenario

Penulisan

Test case Hasil yang

diharapkan

Hasil

pengujian

Kesimpulan

1. Kode Konsumen,

nama Konsumen,

Alamat, Telpon

tidak di isi lalu

kemudian klik

tombol Tambah

Konsumen

Kode

Konsumen:

(kosong)

Nama

Konsumen:

(Kosong)

Alamat:

(Kosong)

Telpon:

(Kosong)

Sistem akan

Menolak dan

tidak bisa

melakukan

penambahan

data

Konsumen

dan

menampilkan

“Data Belum

Lengkap!”

Sesuai

harapan

Valid

2. Mengisi Kode

Konsumen, nama

Konsumen,

Alamat, Telpon

tidak di isi lalu

kemudian klik

tombol Tambah

Konsumen

Kode

Konsumen:

01

Nama

Konsumen:

(Kosong)

Alamat:

Sistem akan

Menolak dan

tidak bisa

melakukan

penambahan

data

Konsumen

dan

Sesuai

harapan

Valid

Page 102: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

119

(Kosong)

Telpon:

(Kosong)

menampilkan

“Data Belum

Lengkap!”

3. Mengisi Kode

Konsumen,

mengisi nama

Konsumen,

Alamat, Telpon

tidak di isi lalu

kemudian klik

tombol Tambah

Konsumen

Kode

Konsumen:

01

Nama

Konsumen:

Dewi Sagita

Alamat:

(Kosong)

Telpon:

(Kosong)

Sistem akan

Menolak dan

tidak bisa

melakukan

penambahan

data

Konsumen

dan

menampilkan

“Data Belum

Lengkap!”

Sesuai

harapan

Valid

4. Mengisi Kode

Konsumen,

mengisi nama

Konsumen,

mengisi Alamat,

Telpon tidak di

isi lalu kemudian

klik tombol

Tambah

Konsumen

Kode

Konsumen:

01

Nama

Konsumen:

Dewi Sagita

Alamat:

Perum Villa

Mutiara

Jaya

Telpon:

(Kosong)

Sistem akan

Menolak dan

tidak bisa

melakukan

penambahan

data

Konsumen

dan

menampilkan

“Data Belum

Lengkap!”

Sesuai

harapan

Valid

5. Mengisi semua

field Kode

Konsumen,

mengisi nama

Konsumen,

mengisi Alamat,

Telpon lalu

kemudian klik

tombol Tambah

Konsumen

Kode

Konsumen:

01

Nama

Konsumen:

Dewi Sagita

Alamat:

Perum Villa

Mutiara

Jaya

Telpon:

0891918298

Sistem akan

menerima

dan

menyimpan

data

Konsumen

dengan

menampilkan

“Data

berhasil

ditambahkan!

Sesuai

harapan

Valid

Page 103: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

120

6. Pencarian Data

Konsumen

Berdasarkan ID

tidak di isi lalu

kemudian klik

tombol Cari

Cari

berdasarkan

ID:

(Kosong)

Sistem akan

Menolak dan

tidak bisa

melakukan

Pencarian

Konsumen

berdasarkan

ID

Sesuai

harapan

Valid

7. Mengisi

Pencarian Data

Konsumen

Berdasarkan ID

tidak di isi lalu

kemudian klik

tombol Cari

Cari

berdasarkan

ID:

1

Sistem akan

menerima

dan

menampilkan

Konsumen

dengan ID

yang telah

disimpan

Sesuai

harapan

Valid

Sumber : Penulis (2019)

5. Form Data Transaksi

Tabel III.13

Blackbox Testing Form Data Transaksi

No

.

Skenario

Penulisan

Test case Hasil yang

diharapkan

Hasil

pengujian

Kesimpulan

1. Kode Konsumen,

Jenis Laundry,

Jumlah, Diskon,

Tanggal Selesai

tidak di isi lalu

kemudian klik

tombol Tambah

Transaksi

Kode

Konsumen:

(kosong)

Jenis

Laundry:

(Kosong)

Jumlah:

(Kosong)

Diskon:

(Kosong)

Tanggal

Selesai:

(Kosong)

Sistem akan

Menolak dan

tidak bisa

melakukan

penambahan

data

Transaksi dan

menampilkan

“Data Belum

Lengkap!”

Sesuai

harapan

Valid

2. Mengisi Kode

Konsumen, Jenis

Laundry, Jumlah,

Kode

Konsumen:

1

Sistem akan

Menolak dan

tidak bisa

Sesuai

harapan

Valid

Page 104: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

121

Diskon, Tanggal

Selesai tidak di

isi lalu kemudian

klik tombol

Tambah

Transaksi

Jenis

Laundry:

(Kosong)

Jumlah:

(Kosong)

Diskon:

(Kosong)

Tanggal

Selesai:

(Kosong)

melakukan

penambahan

data

Transaksi dan

menampilkan

“Data Belum

Lengkap!”

3. Mengisi Kode

Konsumen,

Mengisi Jenis

Laundry, Jumlah,

Diskon, Tanggal

Selesai tidak di

isi lalu kemudian

klik tombol

Tambah

Transaksi

Kode

Konsumen:

1

Jenis

Laundry: 1,

Satuan

Jumlah:

(Kosong)

Diskon:

(Kosong)

Tanggal

Selesai:

(Kosong)

Sistem akan

Menolak dan

tidak bisa

melakukan

penambahan

data

Transaksi dan

menampilkan

“Data Belum

Lengkap!”

Sesuai

harapan

Valid

4. Mengisi Kode

Konsumen,

Mengisi Jenis

Laundry, Mengisi

Jumlah, Diskon,

Tanggal Selesai

tidak di isi lalu

kemudian klik

tombol Tambah

Transaksi

Kode

Konsumen:

1

Jenis

Laundry: 1,

Satuan

Jumlah: 4

Diskon:

(Kosong)

Tanggal

Selesai:

(Kosong)

Sistem akan

Menolak dan

tidak bisa

melakukan

penambahan

data

Transaksi dan

menampilkan

“Data Belum

Lengkap!”

Sesuai

harapan

Valid

5. Mengisi Kode

Konsumen,

Mengisi Jenis

Kode

Konsumen:

Sistem akan

Menolak dan

tidak bisa

Sesuai

harapan

Valid

Page 105: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

122

Laundry, Mengisi

Jumlah, Menisi

Diskon, Tanggal

Selesai tidak di

isi lalu kemudian

klik tombol

Tambah

Transaksi

1

Jenis

Laundry: 1,

Satuan

Jumlah: 4

Diskon:

10%

Tanggal

Selesai:

(Kosong)

melakukan

penambahan

data

Transaksi dan

menampilkan

“Data Belum

Lengkap!”

6. Mengisi Kode

Konsumen, Jenis

Laundry, Jumlah,

Diskon, Tanggal

Selesai lalu

kemudian klik

tombol Tambah

Transaksi

Kode

Konsumen:

1

Jenis

Laundry: 1,

Satuan

Jumlah: 4

Diskon:

10%

Tanggal

Selesai: 12

Mei 2019

Sistem akan

menerima

dan

menyimpan

data

Transaksi

dengan

menampilkan

“Data

berhasil

ditambahkan!

Sesuai

harapan

Valid

Sumber : Penulis (2019)

Page 106: BAB III PEMBAHASAN...Bertugas menerima pakaian yang akan dicuci dan disetrika, menimbang dan membuat nota pembayaran, dan menangani seluruh kegiatan transaksi yang berkaitan dengan

123

3.5.3. Spesifikasi Hardware dan Software

Tabel III.13.

Spesifikasi Hardware dan Software

Kebutuhan Keterangan

Sistem Operasi Microsoft Windows 7 Home Premium

Processor Intel Inside Core i3

RAM 4 GB

Harddisk 500 GB Serial ATA 5400 RPM

Monitor 14.0” HD TrueLife Display

Keyboard Standar

Printer Laser Jet

Mouse Standard

Software

Kebutuhan menjalankan aplikasi secara local:

Bahasa script programming : JAVA 8.1

Web Server : Xampp

Framework : Netbeans IDE 8.1

DBMS : MySQL

Sumber : Penulis (2019)