13 3.1. Tinjauan Perusahaan
Tinjauan Perusahaan merupakan hal yang mencakup tentang Sejarah Perusahaan dan Struktur Organisasi.
3.1.1. Sejarah Perusahaan
Kantor Pelayanan Pajak telah mengalami modernisasi sistem dan struktur organisasi menjadi instansi yang berorientasi pada fungsi dan bukan lagi pada jenis pajak. Kantor Pelayanan Pajak modern merupakan gabungan dari Kantor Pajak konvensional dan Kantor Pemeriksaan dan Penyidik Pajak.
Kantor Pelayanan Pajak (KPP) Modern terbagi dalam 4 jenis, yaitu: 1. Kantor Pelayanan Pajak Besar 2. Kantor Pelayanan Pajak Madya 3. Kantor Pelayanan Pajak Pratama 4. Kantor Pelayanan Pajak Khusus Pada tahun 2002 dibentuk 2 KPP Wajib Pajak Besar atau LTO (Large Tax Office) yang menangani 300 Wajib Pajak Badan terbesar di seluruh Indonesia dan hanya melakukan administrasi mengenai jenis pajak PPh dan PPn. Kemudian pada tahun 2003 dibentuk kembali 10 KPP Khusus yang meliputi: 1. KPP BUMN 2. Perusahaan PMA 3. Wajib Pajak Badan dan Orang Asing 4. Perusahaan Masuk Bursa.
Visi Menjadi institusi pemerintah yang menyelenggarakan sistem administrasi perpajakan modern yang efektif, efisien dan dipercaya masyarakat dengan integritas dan profesionalisme yang tinggi.
Misi Menghimpun penerimaan pajak negara berdasarkan Undang-Undang Perpajakan yang mampu mewujudkan kemandirian pembiayaan Anggaran
Pendapatan dan Belanja Negara melalui sistem adiministrasi perpajakan yang efektif dan efisien.
3.1.2. Struktur Organisasi
Sumber : KPP Pratama Karawang Utrara
Gambar III.1. Struktur Organisasi 3.2. Tinjauan Kasus
Tinjauan Kasus merupakan pemeriksaan yang teliti, penyelidikan, kegiatan pengumpulan data, pengolahan, analisa dan penyajian data yang dilakukan secara sistematis dan objektif untuk memecahkan suatu kasus.
3.2.1. Proses Sistem Berjalan 1. Proses Order
Bagian Admin melakukan Order Alat Tulis Kantor melalui program yang sudah dibuat, kemudian menyerahkan form order ke Kepala Bagian.
2. Proses Verifikasi
Kepala Bagian menerima form order dari Bagian Admin, kemudian melakukan persetujuan order tersebut.
SEKSI EKSTENFIKASI DAN PENYULUHAN
3. Proses Pengecekan
Setelah form order disetujui oleh Kepala Bagian, lalu Bagian Gudang melakukan pengecekan stok barang. Jika barang tersedia maka barang akan diserahkan ke Bagian Admin yang mengajukan order.
4. Proses Pembuatan Laporan
Setelah menerima barang Bagian Admin melakukan proses pembuatan laporan. Bagian Admin akan menyerahkan laporan penerimaaan barang yang dilakukan setiap periode satu bulan.
2.2.1. Activity Diagram Proses Sistem Berjalan Activity Diagram Sistem Berjalan
Seksi/Bagian Bagian Gudang
Ph as e START Menyerahkan Form Order END Menerima Form Order Memeriksa Kelengkapan Form Order Tidak Lengkap Lengkap Mengecek Barang Tersedia Menyerahkan Barang Menerima Barang Tidak Tersedia Membuat Nota Dinas Order ATK Menyerahkan Nota Dinas Order ATK Membuat Laporan
Gambar III.2. Activity Diagram Proses Sistem Berjalan 2.2.2. Dokumen Masukan
1. Nama Dokumen : Form Order
Fungsi : Sebagai permintaan barang
Sumber : Bagian Admin
Tujuan : Kepala Bagian
Media : Kertas
Jumlah : 1 Lembar
Frekuensi : Setiap adanya permintaan barang
Bentuk : Lampiran A1
2.2.3. Dokumen Keluaran
1. Nama Dokumen : Form Order
Fungsi : Sebagai Persetujuan
Sumber : Kepala Bagian
Tujuan : Bagian Gudang
Media : Kertas
Jumlah : 1 Lembar
Frekuensi : Setiap adanya proses pembelian ATK
Bentuk : Lampiran B31
2. Nama Dokumen : Laporan Pembelian
Fungsi : Sebagai laporan pembelian Barang
Sumber : Bagian Gudang
Tujuan : Bagian Admin
Media : Kertas
Frekuensi : Setiap adanya proses pembelian ATK
Bentuk : Lampiran B42
3. Nama Dokumen : Laporan Penerimaan Barang Fungsi : Sebagai laporan pembelian Barang
Sumber : Bagian Admin
Tujuan : Kepala Bagian
Media : Kertas
Jumlah : 1 Lembar
Frekuensi : Setiap periode satu bulan
Bentuk : Lampiran B42
3.2.5. Permasalahan Pokok
1. Pengolahan data pembelian masih menggunakan cara sederhana sehingga sering menyebabkan kerangkapan data terutama pada dokumen pesanan. 2. Banyaknya pencatatan dokumen pembelian yang menghambat proses
pembuatan laporan sehingga menyebabkan keterlambatan dalam penyajian laporan.
3. Penyimpanan data yang masih menggunakan media kertas membutuhkan ruang penyimpanan, dan memungkinkan dokumen rusak dan hilang.
3.2.6. Pemecahan Masalah
1. Kerangkapan data dalam proses pencatatan pembelian menyebabkan ketidakakuratan data, maka diperlukan pencatatan secara terkomputerisasi dan dibuatkan formulir pesanan khusus agar memudahkan pengguna dalam membuatkan transaksi pembelian.
2. Melakukan sistem filter dengan cara memilih atau menyajikan dokumen utama yang benar-benar berkaitan dan dibutuhkan sebagai data penunjang dalam proses pembelian.
3. Selain menggunakan media kertas dibuatkan juga media database sebagai media penyimpanan data agar meminalisir data yang rangkap, data yang rusak dan data yang hilang.
3.3. Analisa Kebutuhan Software
Pada tahap analisis kebutuhan software penulis mendokumentasikannya melalui Analisis Kebutuhan, Use Case Diagram, dan Activity Diagram.
3.3.1. Analisa Kebutuhan
A. Kebutuhan Administrator 1. Administrator Melakukan Login
2 Administrator Mengakses Menu Utama 3. Administrator Mengakses Menu Master
3.1. Administrator Mengelola Pengguna 3.2. Administrator Mengelola Kategori Barang 3.3. Administrator Mengelola Barang
3.4. Administrator Mengelola Akun 4. Administrator Mengakses Menu Pesan 5. Administrator Mengakses Menu Transaksi
4.1. Administrator Mengelola Transaksi 4.2. Administrator Mengelola Jurnal 6. Administrator Mengakses Menu Laporan
6.1. Administrator Mengakses Laporan Penerimaan 6.2. Administrator Mengakses Laporan Barang
3.3.2. Use Case Diagram
A. Kebutuhan Administrator 1. Administrator Melakukan Login
Use Case Diagram Menu Login Administrator
Melakukan Login <<include>> Masukan ID / NIK Masukkan Password Batal <<include>> Administrator Verifikasi Sistem Verifikasi Sistem <<include>> <<include>> Keluar
Gambar III.3. Use Case – Login Administrator
Tabel III.1
Deskripsi Gambar – Use Case Login Administrator
Use Case Narative Login Administrator
Tujuan Melakukan login dan masuk kedalam sistem pembelian Barang
Deskripsi Sistem ini memungkinkan aktor untuk mengakses sistem pembelian Barang
Skenario Utama
Aktor Administrtor
Kondisi awal Aktor Membuka Aplikasi Pembelian Barang
1. Aktor memilih tombol login 2. Aktor memilih tombol batal 3. Aktor memilih tombol keluar
Sistem akan menampilkan textbox untuk mengisi ID / NIK dan password.
Sistem akan membatalkan proses login
Sistem akan keluar dari aplikasi sistem pembelian
Kondisi Akhir
Jika perintah sesuai maka akan masuk kedalam aplikasi pembelian Barang dan aktor dapat melakukan aktivitas sistem.
2. Administrator Mengakses Menu Master Pengguna
Use Case Diagram Master Pengguna
Master Pengguna Administrator Tambah <<extend>> Ubah <<extend>> Simpan <<extend>> Update <<extend>> Hapus <<extend>> <<extend>> Pencarian
Gambar III.4. Use Case – Master Pengguna
Tabel III.2.
Deskripsi Gambar – Use Case Master Pengguna Use Case Narative Master Pengguna
Tujuan Administrator dapat melakukan pengolahan data master pengguna Deskripsi
Sistem ini memungkinkan aktor untuk mengelola menu master mulai dari menambah, menyimpan, mencari, mengubah, menghapus dan membatalkan data
Skenario Utama
Aktor Administrator
Kondisi awal Aktor Mengakses Menu Master Pengguna
1. Aktor memilih tombol tambah 2. Aktor memilih tombol simpan 3. Aktor memilih tombol cari 4. Aktor memilih tombol ubah 5. Aktor memilih tombol hapus 6. Aktor memilih tombol batal 7. Aktor memilih tombol update
Sistem akan menambahkan data pengguna Sistem akan menyimpan data pengguna Sistem akan mencari data pengguna Sistem akan mengubah data pengguna Sistem akan menghapus data pengguna Sistem akan membatalkan data pengguna Sistem akan mengupdate data pengguna Kondisi Akhir
Jika perintah sesuai maka akan masuk kedalam aplikasi pembelian dan aktor dapat melakukan aktivitas sistem.
3. Administrator Mengelola Menu Master Kategori Barang
Use Case Diagram Master Kategori Barang
Mengakses Master Kategori Barang Administrator Tambah <<extend>> Ubah <<extend>> Simpan <<extend>> Update <<extend>> Hapus <<extend>> <<extend>> Pencarian
Gambar III.5. Use Case – Master Kategori Barang
Tabel III.3.
Deskripsi Gambar – Use Case Master Kategori Barang Use Case Narative Master Kategori Barang
Tujuan Administrator dapat melakukan pengolahan data master kategori barang Deskripsi
Sistem ini memungkinkan aktor untuk mengelola menu master mulai dari menambah, menyimpan, mencari, mengubah, menghapus dan membatalkan data
Skenario Utama
Aktor Administrator
Kondisi awal Aktor Mengakses Menu Master Kategori Barang
1. Aktor memilih tombol tambah 2. Aktor memilih tombol simpan 3. Aktor memilih tombol cari 4. Aktor memilih tombol ubah 5. Aktor memilih tombol hapus 6. Aktor memilih tombol batal 7. Aktor memilih tombol update
Sistem akan menambahkan kategori barang Sistem akan menyimpan kategori barang Sistem akan mencari kategori barang Sistem akan mengubah kategori barang Sistem akan menghapus kategori barang Sistem akan membatalkan kategori barang Sistem akan mengupdate kategori barang Kondisi Akhir
Jika perintah sesuai maka akan masuk kedalam aplikasi pembelian dan aktor dapat melakukan aktivitas sistem.
4. Administrator Mengelola Menu Master Barang
Use Case Diagram Master Barang
Mengakses Master Barang Administrator Tambah <<extend>> Ubah <<extend>> Simpan <<extend>> Update <<extend>> Hapus <<extend>> <<extend>> Pencarian
Gambar III.6. Use Case – Master Barang Tabel III.4.
Deskripsi Gambar – Use Case Master Barang Use Case Narative Master Barang
Tujuan Administrator dapat melakukan pengolahan data master barang Deskripsi
Sistem ini memungkinkan aktor untuk mengelola menu master mulai dari menambah, menyimpan, mencari, mengubah, menghapus dan membatalkan data
Skenario Utama
Aktor Administrator
Kondisi awal Aktor Mengakses Menu Master Barang
8. Aktor memilih tombol tambah 9. Aktor memilih tombol simpan 10. Aktor memilih tombol cari 11. Aktor memilih tombol ubah 12. Aktor memilih tombol hapus 13. Aktor memilih tombol batal 14. Aktor memilih tombol update
Sistem akan menambahkan data barang Sistem akan menyimpan data barang Sistem akan mencari data barang Sistem akan mengubah data barang Sistem akan menghapus data barang Sistem akan membatalkan data barang Sistem akan mengupdate data barang Kondisi Akhir
Jika perintah sesuai maka akan masuk kedalam aplikasi pembelian dan aktor dapat melakukan aktivitas sistem.
5. Administrator Mengelola Menu Master Akun
Use Case Diagram Master Akun
Mengakses Master Akun Administrator Tambah <<extend>> Ubah <<extend>> Simpan <<extend>> Update <<extend>> Hapus <<extend>> <<extend>> Pencarian
Gambar III.7. Use Case – Master Akun
Tabel III.5.
Deskripsi Gambar – Use Case Master Akun Use Case Narative Master Akun
Tujuan Administrator dapat melakukan pengolahan data master akun Deskripsi
Sistem ini memungkinkan aktor untuk mengelola menu master mulai dari menambah, menyimpan, mencari, mengubah, menghapus dan membatalkan data
Skenario Utama
Aktor Administrator
Kondisi awal Aktor Mengakses Menu Master Akun
15. Aktor memilih tombol tambah 16. Aktor memilih tombol simpan 17. Aktor memilih tombol cari 18. Aktor memilih tombol ubah 19. Aktor memilih tombol hapus 20. Aktor memilih tombol batal 21. Aktor memilih tombol update
Sistem akan menambahkan data akun Sistem akan menyimpan data akun Sistem akan mencari data akun Sistem akan mengubah data akun Sistem akan menghapus data akun Sistem akan membatalkan data akun Sistem akan mengupdate data akun Kondisi Akhir
Jika perintah sesuai maka akan masuk kedalam aplikasi pembelian dan aktor dapat melakukan aktivitas sistem.
6. Administrator Mengelola Menu Pesan
Use Case Diagram Pesan
Mengakses Pesan Administrator Tambah <<extend>> Ubah <<extend>> Simpan <<extend>> Update <<extend>> Hapus <<extend>> <<extend>> Pencarian
Gambar III.8. Use Case –Pesan Tabel III.6.
Deskripsi Gambar – Use Case Pesan Use Case Narative Pesan
Tujuan Administrator dapat melakukan pengolahan data pesan Deskripsi
Sistem ini memungkinkan aktor untuk mengelola menu pesan mulai dari menambah, menyimpan, mencari, mengubah, menghapus dan
membatalkan data
Skenario Utama
Aktor Administrator
Kondisi awal Aktor Mengakses Menu Pesan
22. Aktor memilih tombol tambah 23. Aktor memilih tombol simpan 24. Aktor memilih tombol cari 25. Aktor memilih tombol ubah 26. Aktor memilih tombol hapus 27. Aktor memilih tombol batal 28. Aktor memilih tombol update
Sistem akan menambahkan data pesan Sistem akan menyimpan data pesan Sistem akan mencari data pesan Sistem akan mengubah data pesan Sistem akan menghapus data pesan Sistem akan membatalkan data pesan Sistem akan mengupdate data pesan Kondisi Akhir
Jika perintah sesuai maka akan masuk kedalam aplikasi pembelian dan aktor dapat melakukan aktivitas sistem.
7. Administrator Mengelola Menu Transaksi
Use Case Diagram Transaksi
Mengakses Transaksi Administrator Tambah <<extend>> Ubah <<extend>> Simpan <<extend>> Update <<extend>> Hapus <<extend>> <<extend>> Pencarian
Gambar III.9. Use Case –Transaksi Tabel III.7.
Deskripsi Gambar – Use Case Transaksi Use Case Narative Transaksi
Tujuan Administrator dapat melakukan pengolahan data transaksi Deskripsi
Sistem ini memungkinkan aktor untuk mengelola menu transaksi mulai dari menambah, menyimpan, mencari, mengubah, menghapus dan membatalkan data
Skenario Utama
Aktor Administrator
Kondisi awal Aktor Mengakses Menu Transaksi
29. Aktor memilih tombol tambah 30. Aktor memilih tombol simpan 31. Aktor memilih tombol cari 32. Aktor memilih tombol ubah 33. Aktor memilih tombol hapus 34. Aktor memilih tombol batal 35. Aktor memilih tombol update
Sistem akan menambahkan data transaksi Sistem akan menyimpan data transaksi Sistem akan mencari data transaksi Sistem akan mengubah data transaksi Sistem akan menghapus data transaksi Sistem akan membatalkan data transaksi Sistem akan mengupdate data transaksi Kondisi Akhir
Jika perintah sesuai maka akan masuk kedalam aplikasi pembelian dan aktor dapat melakukan aktivitas sistem.
8. Administrator Mengelola Menu Jurnal
Use Case Diagram Jurnal
Mengakses Jurnal Administrator Tambah <<extend>> Ubah <<extend>> Simpan <<extend>> Update <<extend>> Hapus <<extend>> <<extend>> Pencarian
Gambar III.10. Use Case – Jurnal Tabel III.8.
Deskripsi Gambar – Use Case Jurnal Use Case Narative Jurnal
Tujuan Administrator dapat melakukan pengolahan data jurnal Deskripsi
Sistem ini memungkinkan aktor untuk mengelola menu jurnal mulai dari menambah, menyimpan, mencari, mengubah, menghapus dan
membatalkan data
Skenario Utama
Aktor Administrator
Kondisi awal Aktor Mengakses Menu Jurnal
36. Aktor memilih tombol tambah 37. Aktor memilih tombol simpan 38. Aktor memilih tombol cari 39. Aktor memilih tombol ubah 40. Aktor memilih tombol hapus 41. Aktor memilih tombol batal 42. Aktor memilih tombol update
Sistem akan menambahkan data jurnal Sistem akan menyimpan data jurnal Sistem akan mencari data jurnal Sistem akan mengubah data jurnal Sistem akan menghapus data jurnal Sistem akan membatalkan data jurnal Sistem akan mengupdate data jurnal Kondisi Akhir
Jika perintah sesuai maka akan masuk kedalam aplikasi pembelian dan aktor dapat melakukan aktivitas sistem.
9. Administrator Mengelola Laporan Penerimaan
Use Case Diagram Penerimaan
Mengakses Laporan Penerimaan Administrator Tampil Perbulan <<extend>> <<extend>> Tampil Per periode Gambar III.11.
Use Case – Laporan Penerimaan
Tabel III.9.
Deskripsi Gambar – Use Case Laporan Penerimaan Use Case Narative Laporan Penerimaan
Tujuan Administrator dapat melihat laporam penerimaan
Deskripsi Sistem ini memungkinkan aktor untuk melihat, menyimpan dan mencetak laporan
Skenario Utama
Aktor Administrator
Kondisi awal Aktor Mengakses Menu Laporan Penerimaan
43. Aktor memilih tombol cetak 44. Aktor memilih tombol simpan
Sistem akan mencetak laporan penerimaan Sistem akan menyimpan laporan penerimaan
Kondisi Akhir
Jika perintah sesuai maka akan masuk kedalam aplikasi pembelian dan aktor dapat melakukan aktivitas sistem.
10. Administrator Mengelola Laporan Barang
Use Case Diagram Laporan Barang
Mengakses Laporan Barang Administrator Tampil Perbulan <<extend>> <<extend>> Tampil Per periode
Gambar III.12. Use Case – Laporan Barang Tabel III.10.
Deskripsi Gambar – Use Case Laporan Barang Use Case Narative Laporan Barang
Tujuan Administrator dapat melihat laporam barang
Deskripsi Sistem ini memungkinkan aktor untuk melihat, menyimpan dan mencetak laporan
Skenario Utama
Aktor Administrator
Kondisi awal Aktor Mengakses Menu Laporan Barang
Aksi Aktor Reaksi Sistem
45. Aktor memilih tombol cetak 46. Aktor memilih tombol simpan
Sistem akan mencetak laporan barang Sistem akan menyimpan laporan barang
Kondisi Akhir
Jika perintah sesuai maka akan masuk kedalam aplikasi pembelian dan aktor dapat melakukan aktivitas sistem.
3.3.3. Activity Diagram
1. Activity Diagram – Login Administrator
Activity Diagram Menu Login
Sistem Administrator START Melakukan Login Masukkan ID / NIK Masukkan Password
Cek ID/ NIK dan Password Masuk Kedalam Menu Utama [VALID?] END [TIDAKVALID] Gambar III.13.
2. Activity Diagram – Master Pengguna
Activity Diagram Master Pengguna
Sistem Administrator P ha se START
Mengklik Master Pengguna Menampilkan Form
Input Pengguna Proses Ubah Data UBAH HAPUS END Tidak Ya TAMBAH PENCARIAN Pilih Data Tampil Info Hapus Proses Hapus data
SIMPAN Proses simpan
Data Textbox Kembali Bersih Input NIK Nama Telepon Email Password Akses Alamat BATAL UPDATE Gambar III.14.
3. Activity Diagram – Kategori Barang
Activity Diagram Master Kategori Barang
Sistem Administrator P ha se START Mengklik Master Kategori Barang Menampilkan Form Input Kategori Barang
Proses Ubah Data UBAH HAPUS END Tidak Ya TAMBAH PENCARIAN Pilih Data Tampil Info Hapus Proses Hapus data
SIMPAN Proses simpan
Data Textbox Kembali Bersih Input Kode Kategori Kategori BATAL UPDATE Gambar III.15.
4. Activity Diagram – Master Barang
Activity Diagram Masteri Barang
Sistem Administrator P ha se START Mengklik Master Barang Menampilkan Form Input Barang Proses Ubah Data UBAH HAPUS END Tidak Ya TAMBAH PENCARIAN Pilih Data Tampil Info Hapus Proses Hapus data
SIMPAN Proses simpan
Data Textbox Kembali Bersih Input Kode Barang Barang Stok Harga Kategori BATAL UPDATE Gambar III.16.
5. Activity Diagram – Master Akun
Activity Diagram Masteri Akun
Sistem Administrator P ha se START Mengklik Master Akun Menampilkan Form Input Akun Proses Ubah Data UBAH HAPUS END Tidak Ya TAMBAH PENCARIAN Pilih Data Tampil Info Hapus Proses Hapus data
SIMPAN Proses simpan
Data Textbox Kembali Bersih Input Kode Akun Akun Jenis Akun BATAL UPDATE Gambar III.17.
6. Activity Diagram – Data Akun
Activity Diagram Menu Master Submenu Akun
Sistem Administrator P ha se START
Mengklik Menu Master Submenu Akun Menampilkan Form Input Akun Tampil Form Input Proses Ubah Data Klik Ubah Klik Hapus END Tidak Ya
Klik Tambah Pilih Data
Input Data Yang Ingin diubah Tampil Info Hapus Proses Hapus data Klik Simpan Proses simpan Data Textbox Kembali Bersih Input Kode Akun Nama Akun Saldo Normal Klik Batal Klik Edit Gambar III.18.
7. Activity Diagram – Menu Pesan
Activity Diagram Menu Pesan
Sistem Administrator P ha se START
Mengklik Menu Pesan Menampilkan Form
Input Pesan Proses Ubah Data UBAH HAPUS END Tidak Ya TAMBAH PENCARIAN Pilih Data Tampil Info Hapus Proses Hapus data
SIMPAN Proses simpan
Data Textbox Kembali Bersih Input No Pesanan Barang Harga Jumlah Pesan Subtotal Keterangan BATAL UPDATE Gambar III.19.
8. Activity Diagram – Transaksi
Activity Diagram Menu Transaksi
Sistem Administrator P ha se START
Mengklik MenuTransaksi Menampilkan Form
Input Transaksi Proses Ubah Data UBAH HAPUS END Tidak Ya TAMBAH PENCARIAN Pilih Data Tampil Info Hapus Proses Hapus data
SIMPAN Proses simpan
Data Textbox Kembali Bersih Input Kode Transaksi Tanggal Total Status Pengguna Jumlah Subtotal Keterangan Barang BATAL UPDATE Gambar III.20.
9. Activity Diagram – Transaksi Jurnal
Activity Diagram Transaksi Jurnal
Sistem Administrator P ha se START
Mengklik Transaksi Jurnal Menampilkan Form
Input Transaksi Jurnal
Proses Ubah Data UBAH HAPUS END Tidak Ya TAMBAH PENCARIAN Pilih Data Tampil Info Hapus Proses Hapus data
SIMPAN Proses simpan
Data Textbox Kembali Bersih Input Kode Jurnal Nama Jurnal Tanggal Akun Debet Kredit BATAL UPDATE Gambar III.21.
10. Activity Diagram – Laporan Penerimaan
Activity Diagram Laporan Penerimaan
Sistem Administrator START Mengklik Laporan Penerimaan END Tampil Laporan Persediaan Laporan Per Periode c Laporan Perbulan Gambar III.22.
Activity Diagram – Laporan Penerimaan
11. Activity Diagram – Laporan Barang
Activity Diagram Laporan Barang
Sistem Administrator START Mengklik Laporan Barang END Tampil Laporan Barang Laporan Per Periode c Laporan Perbulan Gambar III.23.
3.4. Desain
Desain adalah suatu perencanaan atau perancangan yang dilakukan sebelum pembuatan suatu objek, sistem, komponen, atau struktur.
3.4.1. Entity Relationship Diagram (ERD)
3.4.2. Logical Record Structure (LRS)
3.4.3. Spesifikasi File
1. Spesifikasi File Tabel Pengguna Nama File : tbl_pengguna
Fungsi : sebagai penyimpan data pengguna Tipe File : File Master
Organisasi File : Indexed Sequential Akses File : Random
Media : Harddisk
Panjang record : 297 Byte Kunci field : id
Software : MySQL
Tabel III.18.
Spesifikasi File Pengguna
No Elemen Data Nama Field Type Size Keterangan
1 id id Int 11 Primary Key
2 NIK nik Varchar 18
3 Nama nama Varchar 35
4 Telepon tlp Varchar 13
5 Email email Varchar 25
6 Alamat alamat Varchar 70
7 Password password Varchar 100
2. Spesifikasi File Tabel Barang Nama File : tbl_barang
Fungsi : sebagai penyimpan data barang Tipe File : File Master
Organisasi File : Indexed Sequential Akses File : Random
Media : Harddisk
Panjang record : 76 Byte Kunci field : id
Software : MySQL
Tabel III.18. Spesifikasi File Barang
No Elemen Data Nama Field Type Size Keterangan
1 id id Int 11 Primary Key
2 Nama nama Varchar 30
3 Harga harga Int 11
4 Stok stok Int 13
3. Spesifikasi File Tabel Akun Nama File : tbl_akun
Fungsi : sebagai penyimpan data akun Tipe File : File Master
Organisasi File : Indexed Sequential Akses File : Random
Media : Harddisk
Panjang record : 71 Byte Kunci field : id
Software : MySQL
Tabel III.18. Spesifikasi File Akun
No Elemen Data Nama Field Type Size Keterangan
1 id id Int 11 Primary Key
2 Akun akun Varchar 35
4. Spesifikasi File Tabel Kategori Nama File : tbl_kategori
Fungsi : sebagai penyimpan data kategori Tipe File : File Master
Organisasi File : Indexed Sequential Akses File : Random
Media : Harddisk
Panjang record : 36 Byte Kunci field : id
Software : MySQL
Tabel III.18. Spesifikasi File Kategori
No Elemen Data Nama Field Type Size Keterangan
1 id id Int 11 Primary Key
5. Spesifikasi File Tabel Transaksi Nama File : tbl_transaksi
Fungsi : sebagai penyimpan transaksi Tipe File : File Transaksi
Organisasi File : Indexed Sequential Akses File : Random
Media : Harddisk
Panjang record : 69 Byte Kunci field : id
Software : MySQL
Tabel III.18.
Spesifikasi File Transaksi
No Elemen Data Nama Field Type Size Keterangan
1 id id Varchar 25 Primary Key
2 Date date Timestamp 30
3 Total total Int 11
6. Spesifikasi File Tabel Transaksi Nama File : tbl_transaksi
Fungsi : sebagai penyimpan transaksi Tipe File : File Transaksi
Organisasi File : Indexed Sequential Akses File : Random
Media : Harddisk
Panjang record : 69 Byte Kunci field : id
Software : MySQL
Tabel III.18.
Spesifikasi File Transaksi
No Elemen Data Nama Field Type Size Keterangan
1 id id Varchar 25 Primary Key
2 Date date Timestamp 30
3 Total total Int 11
7. Spesifikasi File Tabel Transaksi Detail Nama File : tbl_transaksi_dtl
Fungsi : sebagai penyimpan transaksi Tipe File : File Transaksi
Organisasi File : Indexed Sequential Akses File : Random
Media : Harddisk
Panjang record : 103 Byte Kunci field : id
Software : MySQL
Tabel III.18.
Spesifikasi File Transaksi
No Elemen Data Nama Field Type Size Keterangan
1 id id Varchar 25 Primary Key
2 Barang barang Int 11 Foreign Key
3 Jumlah jumlah Int 11
4 Subtotal Subtotal Int 11
8. Spesifikasi File Tabel Jurnal Nama File : tbl_jurnal
Fungsi : sebagai penyimpan jurnal Tipe File : File Transaksi
Organisasi File : Indexed Sequential Akses File : Random
Media : Harddisk
Panjang record : 72 Byte Kunci field : id
Software : MySQL
Tabel III.18. Spesifikasi File Jurnal
No Elemen Data Nama Field Type Size Keterangan
1 No jurnal no_jurnal Varchar 25 Primary Key
2 Nama Jurnal nm_jurnal Varchar 25
3 Tanggal tanggal Date
4 Akun akun Int 11
3.4.4. Class Diagram pengguna id nik nama tlp email alamat password level +TAMBAH +SIMPAN +BATAL +UBAH +HAPUS barang id nama harga stok kategori +TAMBAH +SIMPAN +BATAL +UBAH +HAPUS akun id akun jenis +TAMBAH +SIMPAN +BATAL +UBAH +HAPUS kategori id nama +TAMBAH +SIMPAN +BATAL +UBAH +HAPUS transaksi id date total status +TAMBAH +SIMPAN +BATAL +UBAH +HAPUS transaksi_dtl id barang jumlah subtotal keterangan +TAMBAH +SIMPAN +BATAL +UBAH +HAPUS jurnal no_jurnal nm_jurnal tanggal akun debit kredit +TAMBAH +SIMPAN +BATAL +UBAH +HAPUS
3.4.5. Sequence Diagram
Admin
Sequance Diagram Master Pesan
Login Input NIK dan
Password() Cek NIK dan Password() NIK dan Password Salah() Menu Utama NIK dan Password Benar() Control Menu Pesan TAMBAH () Sistem Simpan Data() Cari No Pemesanan() Cari Barang() Input Harga() Input Jumlah Pesan() Menampilkan Subtotal () SIMPAN() Input Keterangan () get (simpan) set (data telah
tersimpan)
3.4.6. Component Diagram
View
Controller
3.4.7. Deploment Diagram
MAIN
JAVA
<<database>>
DATABASE
<<DBMS>>
MYSQL
kpp_pratama
<<device>>
kpp_pratama_ka
rawang
3.4.8. User Interface 1. Login
Gambar III.30. Login 2. Menu Utama
3. Menu Master Pengguna
Gambar III.32. Menu Pengguna 4. Menu Master Kategori Barang
5. Menu Master Barang
Gambar III.33. Menu Barang 6. Menu Pesan
7. Transaksi
Gambar III.35. Menu Transaksi 8. Jurnal
9. Laporan Penerimaan
Gambar III.37. Laporan Penerimaan 10. Laporan Barang
3.5. Implementasi
Implementasi adalah Perancangan atau pelaksanaan sebagai tindakan untuk
menjalankan rencana yang telah dibuat. 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 kpp_pratama; import tools.Koneksi; import java.awt.Color; import java.sql.SQLException; import javax.swing.JOptionPane; import tools.Setting; /** * * @author user */
public class login extends javax.swing.JFrame { Koneksi kon = new Koneksi();
Setting s = new Setting(); /**
* Creates new form login */ public login() { initComponents(); kon.setKoneksi(); tlevel.setVisible(false); password.setEnabled(false); } void Bersih() { id.setText(""); password.setText(""); }
private void checkNik() { try {
String sql = "Select *from tbl_pengguna where nik ='" + id.getText() + "'"; kon.rs = kon.st.executeQuery(sql);
if (kon.rs.next()) { tlevel.setText(kon.rs.getString("level")); password.setEnabled(true); tlevel.setEnabled(false); id.setEnabled(false); } else {
JOptionPane.showMessageDialog(null, "ID / NIK Salah"); Bersih(); id.setEnabled(true); id.requestFocus(); } } catch (SQLException e) { JOptionPane.showMessageDialog(null, e); } }
private void prosesLogin() { String kd_user = ""; String password1 = ""; kd_user = id.getText(); password1 = password.getText(); try { String sql = "Select *"
+ " from tbl_pengguna where nik='" + kd_user + "' AND password='" + password1 + "'";
kon.rs = kon.st.executeQuery(sql); if (kon.rs.next()) {
if (tlevel.getText().equals("Kepala Seksi")) {
home_kepala_seksi h = new home_kepala_seksi(); h.kode_user.setText(kon.rs.getString("nik")); h.nm_user.setText(kon.rs.getString("nama")); h.setLocationRelativeTo(null);
h.setVisible(true); this.dispose();
} else if (tlevel.getText().equals("Bagian Umum")) { home_bagian_umum h = new home_bagian_umum(); h.kode_user.setText(kon.rs.getString("nik")); h.nm_user.setText(kon.rs.getString("nama")); h.setLocationRelativeTo(null); h.setVisible(true); this.dispose(); } else {
home_admin h = new home_admin();
h.kode_user.setText(kon.rs.getString("nik")); h.nm_user.setText(kon.rs.getString("nama")); h.setLocationRelativeTo(null);
h.setVisible(true); this.dispose();
} } else {
JOptionPane.showMessageDialog(null, "ID atau NIK salah!"); Bersih(); id.setEnabled(true); id.requestFocus(); } } catch (SQLException e) { JOptionPane.showMessageDialog(null, e); } } /**
* This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() {
jPanel4 = new javax.swing.JPanel(); jPanel1 = new javax.swing.JPanel(); nm_user = new javax.swing.JLabel(); logo1 = new tools.Logo();
jPanel2 = new javax.swing.JPanel(); id = new javax.swing.JTextField(); jLabel21 = new javax.swing.JLabel(); jLabel19 = new javax.swing.JLabel();
password = new javax.swing.JPasswordField(); cpass = new javax.swing.JCheckBox();
tlevel = new javax.swing.JTextField(); jPanel3 = new javax.swing.JPanel(); bt_login = new javax.swing.JButton(); jButton77 = new javax.swing.JButton(); bt_exit = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setUndecorated(true); setPreferredSize(new java.awt.Dimension(503, 230)); setResizable(false); getContentPane().setLayout(new java.awt.CardLayout()); jPanel4.setBackground(new java.awt.Color(255, 250, 205)); jPanel4.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border .BevelBorder.RAISED)); jPanel1.setBackground(new java.awt.Color(0, 0, 0));
nm_user.setFont(new java.awt.Font("Century Gothic", 1, 24)); // NOI18N nm_user.setForeground(new java.awt.Color(255, 255, 255));
nm_user.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); nm_user.setText("LOGIN PAGE");
javax.swing.GroupLayout logo1Layout = new javax.swing.GroupLayout(logo1); logo1.setLayout(logo1Layout); logo1Layout.setHorizontalGroup( logo1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 158, Short.MAX_VALUE) ); logo1Layout.setVerticalGroup( logo1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 0, Short.MAX_VALUE) );
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING ) .addGroup(jPanel1Layout.createSequentialGroup() .addComponent(logo1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(nm_user, javax.swing.GroupLayout.PREFERRED_SIZE, 186, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(155, 155, 155)) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING ) .addComponent(nm_user, javax.swing.GroupLayout.DEFAULT_SIZE, 68, Short.MAX_VALUE) .addComponent(logo1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) ); jPanel2.setBackground(new java.awt.Color(255, 215, 0));
id.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N id.setToolTipText("Enter");
id.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { idActionPerformed(evt);
} });
id.addKeyListener(new java.awt.event.KeyAdapter() { public void keyTyped(java.awt.event.KeyEvent evt) { idKeyTyped(evt);
} });
jLabel21.setFont(new java.awt.Font("Century Gothic", 1, 14)); // NOI18N jLabel21.setText("ID / NIK");
jLabel19.setFont(new java.awt.Font("Century Gothic", 1, 14)); // NOI18N jLabel19.setText("PASSWORD");
password.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { passwordActionPerformed(evt);
} });
cpass.setBackground(new java.awt.Color(255, 255, 255)); cpass.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N cpass.setPreferredSize(new java.awt.Dimension(25, 25)); cpass.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cpassActionPerformed(evt);
} });
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); jPanel2.setLayout(jPanel2Layout); jPanel2Layout.setHorizontalGroup( jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING ) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup() .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment. TRAILING)
.addComponent(jLabel19, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel21, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment. LEADING, false) .addComponent(id) .addComponent(password, javax.swing.GroupLayout.PREFERRED_SIZE, 202, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(cpass, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(tlevel, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(64, 64, 64)) ); jPanel2Layout.setVerticalGroup( jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING ) .addGroup(jPanel2Layout.createSequentialGroup() .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment. TRAILING) .addComponent(tlevel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(jPanel2Layout.createSequentialGroup() .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment. BASELINE) .addComponent(id, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel21, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment. LEADING, false) .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment. BASELINE) .addComponent(jLabel19, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(password, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(cpass, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)))) .addContainerGap(23, Short.MAX_VALUE)) ); jPanel3.setBackground(new java.awt.Color(255, 215, 0)); bt_login.setBackground(new java.awt.Color(242, 229, 17));
bt_login.setFont(new java.awt.Font("Segoe UI Semilight", 1, 18)); // NOI18N bt_login.setForeground(new java.awt.Color(255, 255, 255)); bt_login.setIcon(new javax.swing.ImageIcon(getClass().getResource("/assets/icon/login_rounded_right_4 0px.png"))); // NOI18N bt_login.setToolTipText("Login"); bt_login.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseEntered(java.awt.event.MouseEvent evt) { bt_loginMouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) { bt_loginMouseExited(evt);
}
public void mousePressed(java.awt.event.MouseEvent evt) { bt_loginMousePressed(evt);
}
public void mouseReleased(java.awt.event.MouseEvent evt) { bt_loginMouseReleased(evt);
} });
bt_login.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { bt_loginActionPerformed(evt);
} });
jButton77.setBackground(new java.awt.Color(242, 229, 17));
jButton77.setForeground(new java.awt.Color(255, 255, 255)); jButton77.setIcon(new javax.swing.ImageIcon(getClass().getResource("/assets/icon/cancel_2_40px.png"))); // NOI18N jButton77.setToolTipText("Cancel"); jButton77.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { jButton77MouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) { jButton77MouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) { jButton77MouseExited(evt);
}
public void mousePressed(java.awt.event.MouseEvent evt) { jButton77MousePressed(evt);
}
public void mouseReleased(java.awt.event.MouseEvent evt) { jButton77MouseReleased(evt);
} });
jButton77.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton77ActionPerformed(evt);
} });
bt_exit.setBackground(new java.awt.Color(242, 229, 17));
bt_exit.setFont(new java.awt.Font("Segoe UI Semilight", 1, 18)); // NOI18N bt_exit.setForeground(new java.awt.Color(255, 255, 255)); bt_exit.setIcon(new javax.swing.ImageIcon(getClass().getResource("/assets/icon/shutdown_40px.png"))) ; // NOI18N bt_exit.setToolTipText("Exit"); bt_exit.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseEntered(java.awt.event.MouseEvent evt) { bt_exitMouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) { bt_exitMouseExited(evt);
}
public void mousePressed(java.awt.event.MouseEvent evt) { bt_exitMousePressed(evt);
}
public void mouseReleased(java.awt.event.MouseEvent evt) { bt_exitMouseReleased(evt);
} });
bt_exit.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { bt_exitActionPerformed(evt);
} });
javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3); jPanel3.setLayout(jPanel3Layout); jPanel3Layout.setHorizontalGroup( jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING ) .addGroup(jPanel3Layout.createSequentialGroup() .addGap(38, 38, 38) .addComponent(bt_login) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jButton77) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(bt_exit) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); jPanel3Layout.setVerticalGroup( jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING ) .addGroup(jPanel3Layout.createSequentialGroup() .addGap(2, 2, 2) .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment. LEADING) .addComponent(bt_exit, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jButton77, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(bt_login, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(2, 2, 2)) );
javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
jPanel4.setLayout(jPanel4Layout); jPanel4Layout.setHorizontalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING ) .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) ); jPanel4Layout.setVerticalGroup( jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING ) .addGroup(jPanel4Layout.createSequentialGroup() .addComponent(jPanel1, 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) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); getContentPane().add(jPanel4, "card2"); pack(); setLocationRelativeTo(null); }// </editor-fold>
private void idActionPerformed(java.awt.event.ActionEvent evt) { checkNik();
password.requestFocus(); }
private void idKeyTyped(java.awt.event.KeyEvent evt) { }
private void passwordActionPerformed(java.awt.event.ActionEvent evt) { checkNik();
prosesLogin();
}
private void cpassActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:
if (cpass.isSelected()) { password.setEchoChar((char) 0); } else { password.setEchoChar('*'); } }
private void bt_exitActionPerformed(java.awt.event.ActionEvent evt) { this.dispose();
}
private void bt_exitMouseReleased(java.awt.event.MouseEvent evt) { s.mouseReleased(bt_exit);
}
private void bt_exitMousePressed(java.awt.event.MouseEvent evt) { s.mousePressed(bt_exit);
}
private void bt_exitMouseExited(java.awt.event.MouseEvent evt) { s.mouseExited(bt_exit);
}
private void bt_exitMouseEntered(java.awt.event.MouseEvent evt) { s.mouseEntered(bt_exit);
}
private void jButton77ActionPerformed(java.awt.event.ActionEvent evt) { Bersih();
id.requestFocus(); }
private void jButton77MouseReleased(java.awt.event.MouseEvent evt) { s.mouseReleased(jButton77);
}
private void jButton77MousePressed(java.awt.event.MouseEvent evt) { s.mousePressed(jButton77);
}
private void jButton77MouseExited(java.awt.event.MouseEvent evt) { s.mouseExited(jButton77);
private void jButton77MouseEntered(java.awt.event.MouseEvent evt) { s.mouseEntered(jButton77);
}
private void jButton77MouseClicked(java.awt.event.MouseEvent evt) { }
private void bt_loginActionPerformed(java.awt.event.ActionEvent evt) { checkNik();
prosesLogin();
}
private void bt_loginMouseReleased(java.awt.event.MouseEvent evt) { s.mouseReleased(bt_login);
}
private void bt_loginMousePressed(java.awt.event.MouseEvent evt) { s.mousePressed(bt_login);
}
private void bt_loginMouseExited(java.awt.event.MouseEvent evt) { s.mouseExited(bt_login);
}
private void bt_loginMouseEntered(java.awt.event.MouseEvent evt) { s.mouseEntered(bt_login);
} /**
* @param args the command line arguments */
public static void main(String args[]) { /* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } }
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(login.class.getName()).log(java.util.logging.Leve l.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(login.class.getName()).log(java.util.logging.Leve l.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(login.class.getName()).log(java.util.logging.Leve l.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(login.class.getName()).log(java.util.logging.Leve l.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() { public void run() {
new login().setVisible(true); }
}); }
// Variables declaration - do not modify private javax.swing.JButton bt_exit;
private javax.swing.JButton bt_login; private javax.swing.JCheckBox cpass; private javax.swing.JTextField id; private javax.swing.JButton jButton77; private javax.swing.JLabel jLabel19; private javax.swing.JLabel jLabel21; private javax.swing.JPanel jPanel1; private javax.swing.JPanel jPanel2; private javax.swing.JPanel jPanel3; private javax.swing.JPanel jPanel4; private tools.Logo logo1;
private javax.swing.JLabel nm_user;
private javax.swing.JPasswordField password; private javax.swing.JTextField tlevel;
// End of variables declaration }
3.5.2. Blackbox Testing
Tabel III.19. Pengujian Login
No Skenario Pengujian Hasil Yang Diharapkan
Hasil
Pengujian Kesimpulan 1
Nik dan password tidak diisi kemudian klik login Sistem menolak permintaan login Sesuai Harapan Valid 2
Mengetik Nik dan password tidak diisi kemudian klik login
Sistem menolak permintaan login
Sesuai
Harapan Valid
3
Nik tidak diisi dan password diisi kemudian klik login
Sistem menolak permintaan login
Sesuai
Harapan Valid
4
Nik tidak diisi (salah) dan password diisi (salah) klik
login Sistem menolak permintaan login Sesuai Harapan Valid 5
Nik disisi (benar) dan password diisi (benar) klik login
Sistem menolak permintaan login
Sesuai
Harapan Valid
3.5.3. Spesifikasi Hardware dan Software Tabel III.20.
Kebutuhan Keterangan Sistem Operasi Windows 7 Profesional 32-bit Processor Intel (R) Dual Core Processor
RAM 1.5 GB
Memory 500 GB
Monitor 14” LED
Keyboard Style PS/2
Mouse USB
Printer Epson LQ310+II Dotmatrix
Software Program Dekstop