3.1 Metode Penelitian
Tahap analisis perancangan sistem dari aplikasi transaksi agen limbah kertas berbasis web menggunakan jsp menerapkan pola SDLC (Software Developmet Life Cycle – Siklus Hidup Pengembangan Perangkat Lunak) yaitu air terjun (waterfall). SDLC yang digunakan mengacu kepada model waterfall Sommerville. Komponen-komponennya sebagai berikut :
1. Requirement Analysis and Definition 2. System and Software Design
3. Implementation and Unit Testing 4. Integration and System Testing 5. Operation and Maintenance
3.2 Proses Bisnis
Pada perusahaan PT XYZ ini terdapat langkah-langkah kegiatan yang telah dilakukan semenjak perusahaan ini beroperasi, seperti dibawah ini :
a. Proses pencatatan dan pertanggungjwaban petty cash
Kasir di kantor cabang menerima uang petty cash dari kantor pusat yang diantar oleh petugas pengawalan, kemudian kasir mencatat jumlah uang yang diterima ke buku petty cash. Uang itu menjadi tanggung jawab kasir ketika sudah di-catat ke buku petty cash.
b. Proses pencatatan perubahan harga
Setiap hari kasir di kantor cabang akan mendapat pemberitahuan perubahan harga satuan setiap jenis barang jika ada perubahan dari pabrik pengolahan limbah kertas (produsen). Jika ada perubahan harga maka kasir akan mencatat perubahan harga tersebut ke buku besar. c. Proses pencatatan pelanggan
Kasir kantor cabang mencatat pelanggan baru ke buku pelanggan yang datanya didapat dari pelanggan tersebut dengan cara pelanggan
menyerahkan identitas, misalnya : KTP atau SIM ke pada petugas kasir di kantor cabang tersebut.
d. Proses transaksi pembelian limbah kertas
Kasir di kantor cabang mencatat data limbah kertas dari pelanggan ke buku penerimaan barang.
e. Proses kasbon
Kasir melaporkan lewat telepon/sms permintaan kasbon oleh suplier ke kantor pusat. Pengertian kasbon disini adalah suplier meminta pinjaman sejumlah uang ke perusahaan PT XYZ dengan maksud penambahan modal bagi suplier tersebut. Pelunasan oleh suplier dapat dilakukan dengan cara pemotongan langsung penjualan suplier tersebut dihari berikutnya ketika suplier melakukan transaksi. Kasir akan memberitahukan permintaan kasbon tersebut ke kantor pusat jika suplier limbah kertas tersebut memenuhi syarat-syarat sebagai berikut :
- Suplier tersebut sudah sering mengirim / menjual limbah kertas ke perusahaan PT XYZ dalam kurun waktu 6 bulan terakhir.
- Suplier tersebut tercatat memiliki integritas yang baik.
- Staf PT XYZ sudah melakukan kunjungan / survey ke kantor suplier tersebut.
- Suplier tersebut mendapat rekomendasi dari pimpinan PT XYZ. f. Proses penjualan limbah kertas
Suplier mengirim limbah kertas ke kantor cabang yang diinginkan dengan syarat limbah kertas tersebut sudah dipaket per jenis. Artinya setiap paket terisi hanya satu jenis barang dan beratnya satu ton. Sebelum suplier masuk ke area pabrik pengolahan kertas, terlebih dahulu suplier melapor ke kantor cabang PT XYZ (biasanya kantor cabang PT XYZ letaknya dekat dengan perusahaan pengolahan kertas). Surat jalan suplier akan diserahkan ke kasir kantor cabang PT XYZ kemudiaan akan diganti oleh kasir PT XYZ dengan surat jalan milik PT XYZ. Suplier akan masuk ke area penimbangan di area kawasan pabrik pengolahan kertas tersebut kemudian menyerahkan surat jalan PT XYZ untuk menunggu proses penimbangan. Setelah selesai penimbangan
perusahaan pengolahan kertas akan menyerahkan bukti / hasil penimbangan ke suplier kemudian suplier akan kembali ke kantor cabang PT XYZ dan menyerahkan bukti / hasil penimbangan tersebut ke kasir kantor cabang PT XYZ. Kasir akan membayar sesuai dengan jumlah barang yang diakui / diterima oleh pabrik pengolahan kertas dengan harga satuan yang berlaku hari itu. Dalam hal ini jumlah barang yang dibawah oleh suplier tidak semuanya diterima oleh pabrik pengolahan kertas – ada pemotongan barang dalam persen.
g. Proses user manajemen
Owner akan menempatkan setiap karyawan mereka sebagai kasir di setiap kantor cabang. Pertukaran kasir akan dilakukan setiap awal bulan. Owner akan memberitahukan kasir untuk pindah ke kantor cabang yang ditentukan.
3.3 Aturan Bisnis
Disegala linih perusahaan PT XYZ masih dikelola dengan sistem kerja yang masih sangat manual sehingga hal ini menghambat pertumbuhan kinerja karyawan, seperti dibawah ini :
a. Proses pencatatan dan pertanggungjwaban petty cash
Proses ini dicatat secara manual sehingga kantor pusat tidak dapat memantau perkembangan petty cash disetiap kantor cabang.
b. Proses pencatatan perubahan harga
Proses ini dicatat secara manual sehingga ketika dibutuhkan pelaporan fluktuasi harga maka tidak dapat disediakan oleh kasir dalam waktu yang singkat.
c. Proses pencatatan pelanggan
Proses ini dicatat secara manual sehingga kadang-kadang sulit mendeteksi kesamaan nama dan sebagainya.
d. Proses transaksi pembelian limbah kertas
Proses ini dicatat secara manual sehingga semua perhitungan menggunakan kalikulator secara terpisah. Resiko kesalahan perhitungan menjadi tinggi ketika kasir lelah.
e. Proses kasbon
Kasir menghubungi ke kantor pusat untuk memberitahukan permintaan kasbon. Pengertian kasbon disini adalah suplier meminta pinjaman sejumlah uang ke perusahaan PT XYZ dengan maksud penambahan modal bagi suplier tersebut. Pelunasan oleh suplier dapat dilakukan dengan cara pemotongan langsung penjualan suplier tersebut dihari berikutnya ketika suplier melakukan transaksi.
f. Proses penjualan limbah kertas
Suplier mengirim limbah kertas ke kantor cabang yang diinginkan dengan syarat limbah kertas tersebut sudah dipaket per jenis. Artinya setiap paket terisi hanya satu jenis barang dan beratnya satu ton. Sebelum suplier masuk ke area pabrik pengolahan kertas, terlebih dahulu suplier melapor ke kantor cabang PT XYZ (biasanya kantor cabang PT XYZ letaknya dekat dengan perusahaan pengolahan kertas). Surat jalan suplier akan diserahkan ke kasir kantor cabang PT XYZ kemudiaan akan diganti oleh kasir PT XYZ dengan surat jalan milik PT XYZ. Suplier akan masuk ke area penimbangan di area kawasan pabrik pengolahan kertas tersebut kemudian menyerahkan surat jalan PT XYZ untuk menunggu proses penimbangan. Setelah selesai penimbangan perusahaan pengolahan kertas akan menyerahkan bukti / hasil penimbangan ke agen kemudian suplier akan kembali ke kantor cabang PT XYZ dan menyerahkan bukti / hasil penimbangan tersebut ke kasir kantor cabang PT XYZ. Kasir akan membayar sesuai dengan jumlah barang yang diakui / diterima oleh pabrik pengolahan kertas dengan harga satuan yang berlaku hari itu. Dalam hal ini jumlah barang yang dibawah oleh agen tidak semuanya diterima oleh pabrik pengolahan kertas – ada pemotongan barang dalam persen.
g. Proses user manajemen
h. Laporan
Setiap hari kasir membuat laporan penjualan dan pembelian limbah kertas dengan menulis manual pada kertas folio bergaris kemudian di fax ke kantor pusat.
3.4 Analisis Masalah
Tahap analisis merupakan tahapan awal sebelum melakukan perancangan aplikasi. Pada tahapan ini penulis membuat analisis dari aplikasi transaksi agen limbah kertas berbasis web menggunkan jsp. Dalam menganalisa penulis membagi menjadi tiga tampilan yaitu : tampilan owner, tampilan akunting dan tampilan kasir.
Analisis dari tampilan owner antara lain :
1. Aplikasi yang dibuat adalah aplikasi yang menampilkan data tentang melihat dashboard, cashbon online approval dan membuat user parameter. 2. Owner adalah pemilik dari PT XYZ
Adapun mengenai analisis dari tampilan owner adalah owner dapat mengelola data yang bukan transaksional yang sifatnya hanya memantau berjalannya proses bisnis yang terjadi di PT XYZ.
Analisis dari tampilan akunting antara lain:
1. Aplikasi yang dibuat adalah aplikasi yang menampilkan data tentang monitoring penerimaan kertas, monitoring persetujuan kasbon di dashboard, monitoring kasbon dan membuat laporan pembelian.
2. Akunting adalah karyawan yang bertugas sebagai pengelola keuangan PT XYZ.
Analisis dari tampilan kasir antara lain:
1. Aplikasi yang dibuat adalah aplikasi yang menampilkan data tentang pembuatan kasbon, peng-inputan penerimaan/pembelian kertas, pendaftaran suplier, peng-inputan harga satuan dan peng-inputan petty cash.
2. Kasir adalah karyawan yang bertugas sebagai penanggungjawab di setiap kantor cabang PT XYZ.
3.5 Use Case Diagram
Kata kunci atau pernyataan dari use-case adalah actor menggunakan “aplikasi transaksi agen limbah kertas” untuk melakukan[kegiatan…..], kegiatan diisi dengan nama case nya. Artinya use-case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem dan mempresentasikan sebuah interaksi antara actor dengan system.
Use case diagram dari aplikasi transaksi agen limbah kertas berbasis web dengan menggunakan jsp pada perusahaan PT XYZ dinyatakan pada gambar dibawah ini :
Gambar 3.1 Use Case aplikasi transaksi agen limbah kertas.
3.5.1 Skenario Use Case Login
Item Keterangan
Nama : login.
Aktor : kasir, akunting dan owner.
agen limbah kertas.
- agar dapat menggunakan aplikasi ini maka terlebih dahulu kasir, akunting dan owner wajib melakukan login.
Skenario : 1. Sistem menampilkan form login.
2. Kasir, akunting dan owner akan meng-input username dan password.
3. Sistem akan melakukan verifikasi apakah username dan password sesuai dengan username dan password yang ada pada tabel data sql yang bernama tabel data login. 4. Jika username dan password valid maka sistem akan
menampilkan halaman utama dari setiap aktor.
Alternatif : Jika username dan password tidak sesuai dengan username dan password yang ada pada tabel data login maka sistem menampilkan peringatan “nama atau password salah, please sign in” kemudian kembali ke halaman login.
Pre-kondisi : Username dan password harus terdaftar pada tabel data login.
Post-kondisi : User masuk ke halaman utama-user untuk melakukan aktivitas yang ada dalam aplikasi transaksi agen limbah kertas berbasis jaba web.
Tabel 3.1 Skenario Use Case Login.
3.5.2 Skenario Use Case : meng-input penerimaan kertas.
Item Keterangan
Nama : Meng-input penerimaan kertas.
Aktor : Kasir.
Deskripsi : - Penerimaan Barang adalah form untuk kasir melakukan transaksi pembelian barang/kertas.
- kasir harus melewati use case login user, sebelum meng-input penerimaan barang/kertas. Pada waktu meng-meng-input penerimaan barang/kertas, kasir terlebih dahulu
menginput Barang, Pelanggan, Jumlah Kasbon (jika ada permintaan kasbon).
- Kasir harus memastikan sisa-modal.
Skenario : 1. Sistem menampilkan form login. Kasir meng-input username dan password yang valid.
2. Kasir meng-input penerimaan barang/kertas dan informasi-informasi terkait.
3. Jika ada pembayaran kasbon maka input jumlahnya di field Bayar-Kasbon.
4. Pilih Disetujui. Alternatif :
-Pre-kondisi : Kasir harus berada pada form Penerimaan Barang/kertas. Post-kondisi : 1. Data dari surat jalan pabrik pengolahan kertas berhasil di
masukkan.
2. Jika transaksi ditolak, periksa kembali apakah kas-kecil mencukupi.
Tabel 3.2 Skenario Use Case : meng-input penerimaan kertas.
3.5.3 Skenario Use Case : meng-input kasbon.
Item Keterangan
Nama : Meng-input kasbon.
Aktor : Kasir.
Deskripsi : - Kasbon adalah pinjaman yang dilakukan oleh pelanggan kepada PT XYZ dalam jumlah uang tertentu.
- Kasir harus melewati use case login user, sebelum meng-input kasbon.
Skenario : 1. Sistem menampilkan form login. Kasir meng-input username dan password yang valid.
2. Kasir membuka form Kasbon, kemudian meng-input jumlah kasbon yang diminta oleh pelanggan.
3. Kasir menungguh aproval / persetujuan dari owner dan akunting.
4. Setelah mendapat persetujuan, kasir menyerahkan jumlah kasbon yang disetujui kepada pelanggan.
Alternatif :
-Pre-kondisi : Kasir harus memastikan sisa-modal/pettycash yang cukup pada sistem.
Post-kondisi : 1. Data kasbon dari suplier berhasil di masukkan.
2. Jika data kasbon ditolak oleh sistem maka sistem akan memberikan informasi bahwa Saldo tidak Mencukupi. Tabel 3.3 Skenario Use Case : meng-input kasbon.
3.5.4 Skenario Use Case : meng-input pelanggan.
Item Keterangan
Nama : Meng-input pelanggan.
Aktor : Kasir.
Deskripsi : - Pelanggan adalah orang/perusahaan yang menjual barang ke PT XYZ.
- kasir harus melewati use case login user, kasir masuk ke menu Pelanggan kemudian membuka sub-form Tambah-Pelanggan.
Skenario : 1. Sistem menampilkan form login. Kasir meng-input username dan password yang valid.
2. Kasir masuk ke menu Pelanggan kemudian membuka form Tambah-Pelanggan.
3. Kasir meng-input informasi yang berhubungan dengan pelanggan.
Alternatif : -Pre-kondisi :
-Post-kondisi : Data pelanggan berhasil di masukkan ke sistem. Tabel 3.4 Skenario Use Case : meng-input pelanggan.
3.5.5 Skenario Use Case : meng-input barang.
Item Keterangan
Nama : Meng-input barang.
Aktor : Kasir.
Deskripsi : - Barang adalah produk/kertas bekas, koran bekas, kardus bekas.
- Kasir harus melewati use case login user, sebelum meng-input barang. Kasir membuka menu Barang kemudian memilih form Tambah-Barang lalu meng-input-barang. Skenario : 1. Sistem menampilkan form login. Kasir meng-input
username dan password yang valid.
2. Kasir memilih menu Barang, kemudian membuka form Tambah-Barang.
3. Kasir meng-input barang sesuai dengan harga yang didapat dari perusahaan produsen kertas.
Alternatif : -Pre-kondisi :
-Post-kondisi : Data barang berhasil dimasukkan ke sistem. Tabel 3.5 Skenario Use Case : meng-input barang.
3.5.6 Skenario Use Case : meng-input pettycash.
Item Keterangan
Nama : Meng-input pettycash.
Aktor : Kasir.
Deskripsi : - Petty Cash adalah kas kecil dari kantor cabang.
- Kasir harus melewati use case login user, sebelum meng-input pettycash.
Skenario : 1. Sistem menampilkan form login. Kasir meng-input username dan password yang valid.
2. Kasir memilih form Petty-Cash. Sistem akan menampilkan sub-form Tambah-Petty-Cash dan Daftar-Petty-Cash.
3. Kasir memilih Tambah-Petty-Cash, kemudian menginput kas-kecil.
Post-kondisi : Kas-kecil berhasil di masukkan.
Tabel 3.6 Skenario Use Case : meng-input pettycash.
3.5.7 Skenario Use Case : pemantauan dashboard approval.
Item Keterangan
Nama : Pemantauan dashboard approval. Aktor : Akunting.
Deskripsi : - Daftar Dashboard adalah form utama dari aktor akunting. Form ini menampilkan permintaan kasbon yang dibuat oleh kasir dan telah disetujui oleh owner.
- Akunting harus melewati use case login user, sebelum masuk ke pemantauan-dashboard-approval.
Skenario : 1. Sistem menampilkan form login. Kasir meng-input username dan password yang valid.
2. Jika ada permintaan kasbon maka status-sistem menampilkan menunggu pencairan dari akunting, yang berarti sistem menunggu persetujuan dari akunting. 3. Akunting memilih Detail, kemudian mengisi informasi
persetujuan pada field kode-transfer.
4. Akunting memilih Disetujui, sebagai tanda bahwa owner menyetujui kasbon tersebut. Pada status di kasir sistem menampilkan status cair.
Alternatif : -Pre-kondisi :
-Post-kondisi : Kasbon disetujui oleh akunting.
3.5.8 Skenario Use Case : meng-input kantor cabang.
Item Keterangan
Nama : Meng-input kantor cabang. Aktor : Akunting.
Deskripsi : - Kantor Cabang adalah kantor perwakilan PT XYZ.
- Kasir harus melewati use case login user, sebelum Meng-input kantor cabang.
Skenario : 1. Sistem menampilkan form login. Kasir meng-input username dan password yang valid.
2. Akunting memilih menu Kantor-Cabang, kemudian masuk ke Tambah-Kantor-Cabang.
3. Akunting meng-input kantor cabang baru beserta atributnya lalu memilih Simpan.
Alternatif :
-Pre-kondisi : Terlebih dahulu owner harus meng-input PIC/user/kasir. Post-kondisi : Kantor cabang berhasil di input ke sistem.
Tabel 3.8 Skenario Use Case : meng-input kantor cabang.
3.5.9 Skenario Use Case : memonitor penerimaan kertas.
Item Keterangan
Nama : Memonitor penerimaan kertas. Aktor : Akunting.
Deskripsi : - Daftar Kertas/Barang adalah produk/kertas bekas, koran bekas, kardus bekas yang telah di beli oleh kasir.
- Kasir harus melewati use case login user, sebelum memonitor transaksi pembelian kertas.
Skenario : 1. Sistem menampilkan form login. Kasir meng-input username dan password yang valid.
2. Akunting memilih menu Barang, kemudian masuk ke Penerimaan-Barang.
3. Sistem akan menampilkan pembelian barang dari semua kantor cabang.
Alternatif :
-Pre-kondisi : Sebelum Akunting melihat total penerimaan barang/kertas terlebih dahulu Kasir sudah melakukan transaksi penerimaan barang.
Post-kondisi : Akunting berhasil melihat total pembelian barang dari semua kantor cabang.
Tabel 3.9 Skenario Use Case : memonitor penerimaan kertas
3.5.10 Skenario Use Case : membuat laporan penerimaan barang.
Item Keterangan
Nama : Membuat laporan penerimaan barang. Aktor : Akunting.
Deskripsi : - Laporan penerimaan barang adalah laporan yang berisi penerimaan / pembelian barang.
- Kasir harus melewati use case login user, sebelum membuat laporan penerimaan.
Skenario : 1. Sistem menampilkan form login. Akunting meng-input
username dan password yang valid.
2. Akunting memilih menu Barang –> Penerimaan Barang kemudian klik Print untuk menampilkan Laporan-Pembelian/Penerimaan Barang.
Alternatif :
-Pre-kondisi : Sebelum Akunting membuat laporan penerimaan barang terlebih dahulu Kasir sudah melakukan transaksi penerimaan barang.
Post-kondisi : Akunting berhasil membuat laporan penerimaan barang. Tabel 3.10 Skenario Use Case : membuat laporan penerimaan barang
3.5.11 Skenario Use Case : monitoring daftar dashboard.
Item Keterangan
Nama : Monitoring daftar dashboard.
Aktor : Owner.
Deskripsi : - Daftar Dashboard adalah form utama dari aktor owner. Form ini menampilkan permintaan kasbon yang dibuat oleh kasir.
- Owner harus melewati use case login user, sebelum masuk ke monitoring-daftar-dashboard.
Skenario : 1. Sistem menampilkan form login. Kasir meng-input username dan password yang valid.
2. Jika ada permintaan kasbon maka status-sistem menampilkan Menunggu Persetujuan dari Owner.
3. Owner memilih Detail, kemudian mengisi informasi persetujuan pada field Catatan.
4. Owner memilih Disetujui, sebagai tanda bahwa owner menyetujui kasbon tersebut. Jika owner tidak menyetujui kasbon tersebut maka owner memilih Ditolak.
5. Jika owner menolak transaksi tersebut maka informasi permintaan kasbon tidak ditampilkan pada dashboard akunting.
Alternatif :
-Pre-kondisi : Permintaan kasbon terlebih dahulu di input oleh kasir. Post-kondisi : Kasbon dapat disetujui atau ditolak oleh owner.
Tabel 3.11 Skenario Use Case : monitoring daftar dashboard.
3.5.12 Skenario Use Case : membuat user manajemen.
Item Keterangan
Nama : Membuat user manajemen.
Aktor : Owner.
Deskripsi : - User Manajemen adalah pengaturan sejauh mana user mengelola sebuah sistem.
- Owner harus melewati use case login user, sebelum masuk ke User-Manajemen.
Skenario : 1. Sistem menampilkan form login. Kasir meng-input username dan password yang valid.
2. Owner memilih menu User-Manajemen, kemudian masuk ke form Add-User-Manajemen.
3. Owner men-input user dan atributnya. Alternatif :
-Pre-kondisi : Sebelum owner menginput user terlebih dahulu sudah tersedia isian Jabatan. Isian Jabatan di input langsung ke database.
Post-kondisi : Semua user dapat di input ke dalam sistem.
Tabel 3.12 Skenario Use Case : membuat user manajemen.
3.6 Diagram Kelas (Class Diagram)
Mengacu kepada Use Case Diagram diatas, terdapat beberapa elemen yang merupakan kata Benda, menunjukkan Proses dan menunjukkan Orang. Elemen-elemen tersebut dikumpulkan sebagai berikut :
Nama Use Case Nama Class Keterangan
Kasir / Owner / Akunting Pemakai Nama orang (Actor)
Menginput Supplier Pelanggan Menunjukkan orang
Menginput Barang, Monitoring Penerimaan Kertas, Monitoring Daftar Barang
Barang Menunjukkan benda
Menginput Pettycash PettyCash Menunjukkan benda Menginput Penerimaan Kertas PenerimaanBarang Menunjukkan proses
Menginput Kasbon Kasbon Menunjukkan
barang Memantau Dashboard Approval
Akunting dan Owner
Dashboard Menunjukkan proses
Menginput Kantor Cabang KantorCabang Menunjukkan benda Tabel 3.13 Nama Class pada Sistem Kertas.
Berikut nama-nama kelas (class) diatas dituangkan dalam bentuk class diagram :
Gambar 3.2 Class Pemakai.
Deskripsi Attribute Class Pemakai :
- Id : attribute untuk menampung nilai primary key dari table User_manajamen
- Nama: attribute untuk menampung nilai nama user.
- Username: attribute untuk menampung nilai username user. - Jabatan: attribute untuk menampung nilai jabatan.
- Telp: attribute untuk menampung nilai telepon user. - Password: attribute untuk menampung nilai password.
Deskripsi method Class Pemakai :
- getUsername : method ini digunakan untuk mengambil nilai atribut username,sifatnya mengembalikan suatu nilai(fungsi).
- setUsername : method ini digunakan untuk mengeset nilai atribut username, sifatnya tidak mengembalikan suatu nilai (prosedur).
- Method yang lain memiliki fungsi yang sama sesuai dengan nilai masing-masing.
Gambar 3.3 Class Pelanggan.
Deskripsi Attribute Class Pelanggan:
- Id: attribute untuk menampung nilai primary key dari table pelanggan - Nama: attribute untuk menampung nilai nama pelanggan
- Alamat: attribute untuk menampung nilai alamat pelanggan - Telp: attribute untuk menampung nilai telepon pelanggan
- namaBank: attribute untuk menampung nilai nama bank pelanggan - noRekening: attribute untuk menampung nilai no rekening pelanggan
Deskripsi method Class Pemakai :
- getNama : method ini digunakan untuk mengambil nilai atribut nama pelanggan,sifatnya mengembalikan suatu nilai(fungsi).
- setNama : method ini digunakan untuk mengeset nilai atribut nama pelanggan, sifatnya tidak mengembalikan suatu nilai (prosedur).
- Method yang lain memiliki fungsi yang sama sesuai dengan nilai masing-masing.
Gambar 3.4 Class Barang.
Deskripsi Attribute Class Barang :
- Id: attribute untuk menampung nilai primary key dari table barang. - idKantorCabang: attribute untuk menghubungkan tabel Kantor_Cabang
dengan tabel Barang.
- namaBarang: attribute untuk menampung nilai nama barang. - jenisBarang: attribute untuk menampung nilai jenis barang.
- tanggalBerlaku : attribute untuk menampung nilai tanggal berlaku barang.
- hargaSatuan: attribute untuk menampung nilai harga satuan barang.
Deskripsi Method Class Barang :
- getNamaBarang : method ini digunakan untuk mengambil nilai atribut nama barang,sifatnya mengembalikan suatu nilai(fungsi).
- setNamaBarang : method ini digunakan untuk mengeset nilai atribut nama barang, sifatnya tidak mengembalikan suatu nilai (prosedur). - Method yang lain memiliki fungsi yang sama sesuai dengan nilai
.
Gambar 3.5 Class Pettycash.
Deskripsi Attribute Class Pettycash :
- id: attribute untuk menampung primary key dari table Petty_Cash - idKantorCabang : attribute untuk menghubungkan tabel
Kantor_Cabang dengan tabel Barang.
- agent : attribute yang bersifat objek yang merepresentasikan class KantorCabang.
- pengantar: attribute untuk menampung nilai nama petugas pengantar. - tanggalSetor: attribute untuk menampung nilai tanggal setor
- tanggalRegistrasi: attribute untuk menampung nilai tanggal registrasi - modalSetor: attribute untuk menampung nilai modal setor.
- keterangan: attribute untuk menapung nilai keterangan.
Deskripsi Method Class Pettycash :
- getModalSetor : method ini digunakan untuk mengambil nilai atribut modal setor,sifatnya mengembalikan suatu nilai(fungsi).
- setModalSetor : method ini digunakan untuk mengeset nilai atribut modal setor, sifatnya tidak mengembalikan suatu nilai (prosedur). - Method yang lain memiliki fungsi yang sama sesuai dengan nilai
Gambar 3.6 Class PenerimaanBarang.
Deskripsi Attribute Class PenerimaanBarang:
- id : attribute untuk menampung nilai primary key dari table Penerimaan_Barang.
- idKantorCabang : attribute untuk menghubungkan tabel Kantor_Cabang dengan tabel transaksi penerimaan barang.
- idBarang : attribute untuk menampung nilai primary key dari table barang
- noInvoice: attribute untuk menampung nilai nomor invoice - noPlatMobil: attribute untuk menampung nilai nomor plat mobil - namaSopir: attribute untuk menampung nilai nama sopir
- hpSopir: attribute untuk menampung nilai handphone sopir
- pelanggan : attribute bersifat objek yang merepresentasikan kelas Pelanggan
- idKasbon : attribute untuk menampung nilai primary key dari table Kasbon
- hargaSatuan: attribute untuk menampung nilai harga satuan - bruto: attribute untuk menampung nilai bruto
- beratKendaraan: attribute untuk menampung nilai berat kendaraan - beratMuatan: attribute untuk menampung nilai berat muatan
- cashPayment : attribute untuk menampung nilai pembayaran secara tunai
- bayarKasbon: attribute untuk menampung nilai bayar kasbon - keterangan: attribute untuk menampung nilai keterangan
- tanggalRegistrasi: attribute untuk menampung nilai tanggal registrasi - dibuatOleh : attribute untuk menampung nilai yang bertanggung jawab
yang membuat transaksi ini.
Deskripsi Method Class PenerimaanBarang :
- getBeratMuatan : method ini digunakan untuk mengambil nilai atribut berat muatan,sifatnya mengembalikan suatu nilai(fungsi).
- setBeratMuatan : method ini digunakan untuk mengeset nilai atribut berat muatan, sifatnya tidak mengembalikan suatu nilai (prosedur). - Method yang lain memiliki fungsi yang sama sesuai dengan nilai
Gambar 3.7 Class Kasbon. Deskripsi Attribute Class Kasbon :
- id: attribute untuk menampung nilai primary key dari table Kasbon. - idKantorCabang : attribute untuk menampung nilai primary key dari
table Kantor_Cabang
- pelanggan : attribute yang bersifat objek yang merepresentasikan kelas Pelanggan.
- jumlahKasbon: attribute untuk menampung nilai jumlah kasbon - sisaKasbon: attribute untuk menampung nilai sisa kasbon
- jenisPembayaran: attribute untuk menampung nilai jenis pembayaran. - keterangan: attribute untuk menampung nilai keterangan
- tanggalRegistrasi: attribute untuk menampung nilai tanggal registrasi - status: attribute untuk menampung nilai status kasbon
- owner : attribute untuk menampung nilai persetujuan oleh owner yang bersifat objek yang merepresentasikan kelas Pemakai
- tanggalPersetujuan : attribute untuk menampung nilai tanggal persetujuan oleh owner
- dibuatOleh : attribute yang menampung nilai id pemakai yang bertanggung jawab dalam pembuatan transaksi ini.
- kodeTransfer: attribute untuk menampung nilai kode transfer
- teller : attribute yang bersifat objek yang merepresentasikan kelas Pemakai yang berfungsi untuk menampung nilai persetujuan dari akunting.
Deskripsi Method Class Kasbon :
- getJumlahKasbon : method ini digunakan untuk mengambil nilai atributjumlah kasbon,sifatnya mengembalikan suatu nilai(fungsi). - setJumlahKasbon : method ini digunakan untuk mengeset nilai atribut
jumlah kasbon, sifatnya tidak mengembalikan suatu nilai (prosedur). - Method yang lain memiliki fungsi yang sama sesuai dengan nilai
masing-masing.
Gambar 3.8 Class Dashboard.
Deskripsi Attribute Class Dashboard:
- id: attribute untuk menampung nilai primary key dari table Dashboard - kasbon: attribute bersifat objek yang merepresentasikan kelas Kasbon - status: attribute untuk menampung nilai status
- tanggalPermintaan: attribute untuk menampung nilai tanggal dimulainya permintaan kasbon oleh pelanggan.
- permintaanDari: attribute untuk menampung nilai dari nama pelanggan yang meminta kasbon.
- dibuatOleh: attribute untuk menampung nilai dari nama kasir yang membuat permintaan kasbon.
Deskripsi Method Class Dashboard :
- getPermintaanDari : method ini digunakan untuk mengambil nilai atributpermintaan dari,sifatnya mengembalikan suatu nilai(fungsi). - setPermintaanDari :method ini digunakan untuk mengeset nilai atribut
permintaan dari, sifatnya tidak mengembalikan suatu nilai (prosedur). - Method yang lain memiliki fungsi yang sama sesuai dengan nilai
masing-masing.
Gambar 3.9 Class KantorCabang.
Deskripsi Attribute Class KantorCabang:
- id : attribute untuk menampung nilai primary key dari table Kantor_Cabang
- idPemakai: attribute untuk menghubungkan tabel Pemakai dengan tabel Kantor_Cabang.
- nama: attribute untuk menampung nilai nama kantor cabang - alamat: attribute untuk menampung nilai alamat kantor cabang.
- telp: attribute untuk menampung nilai telepon kantor cabang. - email: attribute untuk menampung nilai email kantor cabang - saldo: attribute untuk menampung nilai saldo kantor cabang.
Deskripsi Method Class Pemakai :
- getNama : method ini digunakan untuk mengambil nilai atribut nama kantor cabang,sifatnya mengembalikan suatu nilai(fungsi).
- setNama : method ini digunakan untuk mengeset nilai atribut nama kantor cabang, sifatnya tidak mengembalikan suatu nilai (prosedur). - Method yang lain memiliki fungsi yang sama sesuai dengan nilai
Gambar 3.10 Class Diagram Aplikasi Kertas.
Relasi Class Keterangan
PenerimaanBarang -Pelanggan
Pelanggan hendak menjual barang maka class PenerimaanBarang akan mencatat nama barang, jenisnya, quantitas, dan harga satuan yang didapat dari class Barang yang memiliki hubungan dependency (ketergantungan) dengan class PenerimaanBarang. Class PenerimaanBarang akan mengetahui pelanggan mana saja yang menjual barang, apakah pelanggan tersebut ada kasbon, jika ada kasbon berapa sisanya kasbon. Relasi yang terjadi antara class PenerimaanBarang dan class Pelanggan adalah asosiasi satu arah (Directional Assotiation)
PenerimaanBarang -Pemakai
Apabila kasir hendak melakukan pembelian barang maka class PenerimaanBarang bertanggungjawab untuk melakukan pencatatan dari pembelian tersebut. Class PenerimaanBarang akan mengetahui siapakah pemakai (dalam hal ini kasir) yang melakukan transaksi pembelian barang tersebut.
Pemakai - Pettycash Apabila kasir hendak melakukan transaksi maka kasir harus memastikan bahwa masih ada uang yang tersedia di kantor cabang tersebut. Class Pettycash akan mencatat kas kecil dari kantor cabang tersebut. Class Pemakai dan Class Pettycash memiliki hubungan komposisi (composition) yang berarti hanya Pemakai lah yang berhak mencatat kas kecil (pettycash) ke sistem. Tanggungjawab ini tidak boleh dilakukan oleh karyawan lain selain kasir (wajib dan tidak dapat ditawar).
Pemakai - Kasbon Pemakai (kasir) hanya melayani satu kasbon dari satu pelanggan. Pelanggan tidak boleh melakukan kasbon berikutnya jika belum melunasi kasbon sebelumnya. Kasbon - Dashboard Memiliki hubungan dua arah (bidirectional Assotiation).
Ketika pemakai (kasir) membuat kasbon maka pesan (massage) tersebut akan dikirim ke dashboard dan ditampilkan di dashboard tersebut. pesan tersebut di aprroval/disetujui oleh pemakai (owner) dan pemakai (akunting) maka dashboard akan mengirim kembali ke class Kasbon berupa status "cair". karena itu hubungan class Kasbon dan Dashboard adalah hubungan bidirectiation (dua arah). Komunikasi ini hanya terjadi jika ada kasbon. Dashboard akan menampilkan setiap (semua) permintaan kasbon dari pelanggan.
KantorCabang-Pemakai
Hubungan antara class KantorCabang dan clas Pemakai adalah relasi komposisi (composition), artinya setiap kantor cabang wajib ditempatkan minimal satu pemakai (Kasir).
3.7 Diagram Aktifitas (Activity Diagram)
3.7.1 Diagram aktifitas : Kasir Meng-input Pelanggan
Gambar 3.11 Kasir Menginput Pelanggan.
3.7.2 Diagram aktifitas : Kasir Meng-input Item Barang
3.7.3 Diagram aktifitas : Kasir Meng-input PettyCash
Gambar 3.13 Kasir Meng-input PettyCash.
3.7.4 Diagram aktifitas : Kasir Meng-input Penerimaan Kertas
3.7.5 Diagram aktifitas : Kasir Meng-input Kasbon
Gambar 3.15 Kasir Meng-input Kasbon.
3.7.6 Diagram aktifitas : Akunting Menginput Kantor Cabang
3.7.7 Diagram aktifitas : Akunting Memonitoring Penerimaan Kertas
Gambar 3.17 Akunting Memonitoring Penerimaan Kertas.
3.7.8 Diagram aktifitas : Akunting Memonitoring Daftar Barang
3.7.9 Diagram aktifitas : Akunting Memonitoring Approval
Gambar 3.19 Akunting Memonitoring Approval.
3.7.10 Diagram aktifitas : Akunting Membuat Laporan Penerimaan Barang
3.7.11 Diagram aktifitas : Owner Membuat User Parameter
Gambar 3.21 Owner Membuat User Parameter.
3.7.12 Diagram aktifitas : Owner Melakukan Approval Kasbon
3.8 Diagram Sekuens (Sequence Diagram)
3.8.1 Sequence Diagram Input Barang
Gambar 3.23 Sequence Diagram Input Barang.
3.8.2 Sequence Diagram Input Kasbon
3.8.3 Sequence Diagram Input Pelanggan/Suplier
Gambar 3.25 Sequence Diagram Input Pelanggan/Suplier.
3.8.4 Sequence Diagram Input Pettycash
3.8.5 Sequence Diagram Daftar Dashboard Akunting
Gambar 3.27 Sequence Diagram Daftar Dashboard.
3.8.6 Sequence Diagram Registrasi Kantor Cabang Baru
Gambar 3.28 Sequence Diagram Registrasi Kantor Cabang Baru.
3.8.7 Sequence Diagram Daftar Dashboard Owner
3.8.8 Sequence Diagram Registrasi User Baru
Gambar 3.30 Sequence Diagram Registrasi User Baru.
3.9 Perancangan Basis Data
3.9.1 Tabel :Barang Jenis Tabel : Induk Deskripsi : Data Barang Primary Key : ID
Nama Kolom Tipe Data Deskripsi Referensi Null / Not Null
ID VARCHAR2(10) Id barang - Not Null
ID_KANTOR_CA BANG VARCHAR2(10) Id Kantor cabang Kantor Cabang Not Null
NAMA_BARANG VARCHAR2(200) Nama Barang - Not Null
JENIS_BARANG VARCHAR2(20) Jenis Barang - Not Null TANGGAL_BERL AKU DATE Tanggal Berlakunya Barang - Not Null HARGA_SATUA N
NUMBER Harga Satuan
Barang
- Not Null
Tabel 3.15 Barang.
3.9.2 Tabel :Dashboard Jenis Tabel : Induk
Deskripsi : Data Dashboard digunakan untuk persetujuan pengajuan kasbon dari pelanggan.
Primary Key : ID
Nama Kolom Tipe Data Deskripsi Referensi Null / Not Null
ID VARCHAR2(10) Id Dashboard Kasbon Not Null
STATUS VARCHAR2(1) Status
Dashboard - Not Null TANGGAL_PER MINTAAN DATE Tanggal dibuatnya Dashboard - Not Null PERMINTAAN_D ARI VARCHAR2(10) Permintaan dari pelanggan
DIBUAT_OLEH VARCHAR2(10) User yang membuat Dashboard User Manajeme n Not Null Tabel 3.16 Dashboard.
3.9.3 Tabel :Kantor Cabang Jenis Tabel : Induk
Deskripsi : Data Kantor Cabang. Primary Key : ID
Nama Kolom Tipe Data Deskripsi Referensi Null / Not Null
ID VARCHAR2(10) Id Kantor
Cabang
- Not Null
NAMA VARCHAR2(100) Nama Kantor
cabang
- Not Null
ALAMAT VARCHAR2(250) Alamat
Kantor cabang
- Not Null
TELP VARCHAR2(100) Telpon
Kantor
- Not Null
EMAIL VARCHAR2(150) Email Kantor - Not Null
SALDO NUMBER Saldo Kantor
Cabang
- Not Null
ID_PEMAKAI VARCHAR2(10) PIC yang bertanggung jawab di kantor cabang User Manajeme n Not Null
3.9.4 Tabel :Kasbon Jenis Tabel : Induk
Deskripsi : Data Kasbon Primary Key : ID
Nama Kolom Tipe Data Deskripsi Referensi Null / Not Null
ID VARCHAR2(10) Id kasbon - Not Null
ID_PELANGGAN VARCHAR2(10) Id Pelanggan Pelanggan Not Null ID_KANTOR_CA BANG VARCHAR2(10) Id Kantor cabang Kantor cabang Not Null
PERSETUJUAN VARCHAR2(10) User yang menyetujui
User Manajeme n
Not Null
TELLER VARCHAR2(10) User yang
mencairkan Kasbon User Manajeme n Not Null JUMLAH_KASBO N NUMBER Jumlah Kasbon - Not Null JENIS_PEMBAY ARAN
VARCHAR2(1) C : CASH - Not Null
KETERANGAN VARCHAR2(200) Keterangan kasbon - Not Null TANGGAL_REGI STRASI DATE Tanggal kasbon dibuat - Not Null
STATUS VARCHAR2(1) Status
Kasbon - Not Null TANGGAL_SETU JU_OWNER DATE Tanggal disetujui oleh owner - Not Null
TANGGAL_CAIR DATE Tanggal
pencairan kasbon - Not Null KODE_TRANSFE R VARCHAR2(20) Kode Transfer - Not null
DIBUAT_OLEH VARCHAR2(10) Yang membuat Kasbon User Manajeme n Not Null Tabel 3.18 Kasbon. 3.9.5 Tabel :Pelanggan Jenis Tabel : Induk
Deskripsi : Data Pelanggan Primary Key : ID
Nama Kolom
Tipe Data Deskripsi Referensi Null / Not Null
ID VARCHAR2(10) Id Pelanggan - Not Null
NAMA VARCHAR2(200) Nama
pelanggan
- Not Null
ALAMAT VARCHAR2(250) Alamat
Pelanggan
- Not Null
TELP VARCHAR2(50) Telp
Pelanggan
- Not Null
BANK VARCHAR2(20) Nama Bank - Not Null
REKENING VARCHAR2(50) No Rekening
Bank - Not Null TANGGAL_ DIBUAT DATE Tanggal pembuatan - Not Null DIBUAT_O LEH VARCHAR2(10) Yang membuat User Manajeme n Not Null Tabel 3.19 Pelanggan.
3.9.6 Tabel :Penerimaan Barang Jenis Tabel : Induk
Deskripsi : Data Penerimaan Barang Primary Key : ID
Nama Kolom Tipe Data Deskripsi Referensi Null / Not Null ID VARCHAR2(20) Id Penerimaan Barang - Not Null ID_KANTO R_CABANG VARCHAR2(10) Id Kantor Cabang - Not Null ID_BARAN G
VARCHAR2(10) Id Barang - Not Null
NO_INVOIC E
VARCHAR2(20) No Invoice - Not Null
NO_PLAT_ MOBIL VARCHAR2(10) No Plat Mobil - Not Null NAMA_SOP IR
VARCHAR2(50) Nama Sopir - Not Null
HP_SOPIR VARCHAR2(20) Hp sopir - Not Null
ID_PELANG GAN
VARCHAR2(10) Id Pelanggan Pelanggan Not Null
ID_KASBO N
VARCHAR2(10) Id Kasbon Kasbon Not Null
HARGA_SA TUAN
NUMBER Harga Satuan - Not Null
BRUTO NUMBER Bruto barang - Not Null
BERAT_KE NDARAAN NUMBER Berat Kendaraan - Not Null BERAT_MU ATAN
NUMBER Berat Muatan - Not Null
CASH_PAY MENT NUMBER Pembayaran terhadap Penerimaan Barang - Not Null
BAYAR_KA SBON NUMBER Besaran Pembayaran Kasbon - Not Null KETERANG AN
VARCHAR2(55) Keterangan - Not null
TANGGAL_ REGISTRAS I DATE Tanggal penerimaan barang dibuat - Not Null DIBUAT_O LEH VARCHAR2(10) Yang membuat User Manajeme n Not Null
Tabel 3.20 Penerimaan Barang.
3.9.7 Tabel :Petty Cash Jenis Tabel : Induk
Deskripsi : Data Petty Cash Primary Key : ID
Nama Kolom Tipe Data Deskripsi Referensi Null / Not Null
ID VARCHAR2(10) Id Petty Cash - Not Null
ID_KANTO R_CABANG VARCHAR2(10) Id Kantor Cabang Kantor Cabang Not Null TANGGAL_ SETOR
DATE Tanggal setor - Not Null
TANGGAL_ ENTRY DATE Tanggal registrasi - Not Null MODAL_SE TOR
NUMBER Modal setor - Not Null
PENGANTA R
VARCHAR2(50) Pengantar - Not Null
KETERANG AN
VARCHAR2(200) Keterangan - Not Null
3.9.8 Tabel :User Manajemen Jenis Tabel : Induk
Deskripsi : Data User Manajemen Primary Key : ID
Nama Kolom Tipe Data Deskripsi Referensi Null /
Not Null
ID VARCHAR2(10) Id User
Manajemen
- Not Null
NAMA VARCHAR2(200) Nama User - Not Null
JABATAN VARCHAR2(100) Jabatan - Not Null
TELP VARCHAR2(20) Telp user - Not Null
PASSOWRD VARCHAR2(15) Password - Not Null
USERNAME VARCHAR2(20) Username - Not Null
3.10 Perancangan Antarmuka
3.10.1 Form: Login
Gambar 3.32 Form Login.
3.10.2 Form : Penerimaan Barang
3.10.3 Form : Registrasi Barang Baru
Gambar 3.34 Form Registrasi Barang Baru.
3.10.4 Form: Daftar Penerimaan Barang
Gambar 3.35 Form Daftar Penerimaan Barang.
3.10.5 Form: Daftar Item Barang
Klik View untuk menampilkan form Informasi Barang :
Gambar 3.37 Form Informasi Barang.
Klik Edit untuk menampilkan form Update Barang :
Gambar 3.38 Form Update Barang.
3.10.6 Form: Registrasi Kasbon
3.10.7 Form: Daftar Kasbon
Gambar 3.40 Form Daftar Kasbon.
Klik View untuk tampilkan form Informasi Kasbon:
Gambar 3.41 Informasi Kasbon.
3.10.8 Form: Registrasi Pelanggan Baru
3.10.9 Form: Daftar Pelanggan
Gambar 3.43 Form Daftar Pelanggan.
Klik View untuk menampilkan form Informasi Pelanggan:
Gambar 3.44 Form Informasi Pelanggan.
Klik Edit untuk menampilkan form Update Pelanggan:
3.10.10Form: Registrasi Petty Cash
Gambar 3.46 Form Registrasi Petty Cash.
3.10.11Form: Daftar Petty Cash
Gambar 3.47 Form Daftar Petty Cash.
Klik View untuk menampilkan form Informasi Petty Cash :
Klik Edit untuk menampilkan form Perubahan Petty Cash :
Gambar 3.49 Form Perubahan Petty Cash.
3.10.12Form: Daftar Dashboard Akunting
Gambar 3.50 Form Daftar Dashboard Akunting.
Klik Detail untuk menampilkan form Registrasi Kasbon:
3.10.13Form: Registrasi Kantor Cabang Baru
Gambar 3.52 Form Registrasi Kantor Cabang Baru.
3.10.14Form: Daftar Kantor Cabang
Gambar 3.53 Form Daftar Kantor Cabang.
Klik View untuk menampilkan form Informasi Kantor Cabang:
Klik Edit untuk menampilkan form Edit Kantor Cabang:
Gambar 3.55 Form Edit Kantor Cabang.
3.10.15Form: Daftar Penerimaan Barang
Gambar 3.56 Form Daftar Penerimaan Barang.
3.10.16Form: Daftar Item Barang
Klik View untuk menampilkan form Informasi Barang:
Gambar 3.58 Form Informasi Barang.
Klik Edit untuk menampilkan form Update Barang:
Gambar 3.59 Form Update Barang.
3.10.17Form: Daftar Dashboard Owner
Klik Detail untuk menampilkan form Registrasi Kasbon :
Gambar 3.61 Form Registrasi Kasbon.
3.10.18Form: Registrasi User Baru
Gambar 3.62 Form Registrasi User Baru.
3.10.19Form: Daftar User
Klik View untuk menampilkan form Informasi User :
Gambar 3.64 Form Informasi User.
Klik Edit untuk menampilkan form Registrasi User Baru: