27
BAB III
PEMBAHASAN
3.1. Tinjauan Perusahaan
3.1.1. Sejarah Perusahaan
PT Ditran Logistic Services didirikan pada tahun 2011 oleh Anton Beni Aji
dengan 2 komisaris, Amir Rois dan R.Agustiyani. PT Ditran Logistic Services
merupakan salah satu perusahaan yang bergerak di bidang usaha jasa pengurus
transportasi (freight forwarding), perusahaan ini memiliki usaha dalam bidang
pengangkutan barang secara keseluruhan, freight forwarding juga berfungsi sebagai
EMKL (Ekspedisi Muat Kapal Laut), pelayanan, jasa kepabeanan dan melayani
pengiriman door to door. Pengiriman tidak hanya ke luar negeri (international), Tetapi
juga dapat mengirim di dalam negeri (domestic), No. SIUPJPT 132 /N.15.0 / 31.72 /
- 1.819.6 / 2018.
Layanan yang diberikan oleh PT Ditran Logistic Services, yaitu:
1. Layanan Pengangkut Laut
DLS adalah salah satu penyedia layanan transportasi laut perdana (FCL - Full
Container Load Service, Jasa Konsolidator LCL, Door to Door Service dll).
2. Layanan Kargo Udara
Dunia ini selalu menyusut berkat pertumbuhan maskapai penerbangan yang terus
berlanjut dengan jangkauan global yang lebih luas dan dalam transportasi ringan ini.
28
3. Jasa Pengangkut Domestik
Terdiri dari pick up barang dari pabrik atau gudang eksportir.
4. Konsultasi Gratis
SLOGAN : Cepat, Tepat dan Terpercaya
VISI : Menjadi perusahaan freight forwading total
MISI :
a. Memenuhi kebutuhan pengabdian masyarakat forwader dan ekspedisi dengan
pelayanan prima, tepat waktu melalui laut, udara dan darat.
b. Jadilah mitra terpercaya yang terus memberikan pelayanan terbaik dan merealisasikan
harapan pelanggan melalui komunikasi yang prima.
c. Melakukan bisnis secara adil dengan prinsip-prinsip bermanfaat bagi semua pihak
yang terlibat (stakeholders).
d. Meningkatkan penerimaan negara, karyawan dan berpartisipasi aktif dalam
lingkungan pengembangan.
e. Mengembangkan sumber daya manusia yang kreatif, inovatif dan professional.
29
3.1.2. Struktur Organisasi
Adapun struktur organisasi pada PT. Ditran Logistic Services dapat dilihat
pada gambar:
Gambar III.1.
Struktur Organisasi PT. Ditran Logistic Services
Dalam suatu organisasi terdapat pembagian kerja untuk masing-masing bagian
dan bertanggung jawaban dari bagian tersebut agar perusahaan dapat berjalan secara
terstruktur dan memiliki susunan birokrasi yang jelas. Untuk setiap bagian dari
organisasi, pembagian tugas dan wewenang harus dilakukan. Hal ini dilakukan supaya
tidak ada kesalahpaham antara bagian satu dengan yang lain dalam menjalankan suatu
tugas dan wewenang dari setiap susunan struktur organisasi PT. Ditran Logistic
Services dengan deskripsi pekerjaan sebagai berikut:
1. Direktur
Bertanggung jawab atas seluruh kegiatan operasional dan administrasi sesuai kentuan
yang berlaku di PT Ditran Logistic Services.
30
2. Komisaris
Mengawasi kegiatan perusahaan atau organisasi pada PT Ditran Logistic Services.
3. Manajer Marketing
Bertanggung jawab memimpin terhadap seluruh kegiatan marketing agar target
perusahaan tercapai oleh PT Ditran Logistic Services.
4. Manajer Operasional
Bertanggung jawab atas jalannya seluruh kegiatan operasional yang berlangsung pada
PT Ditran Logistic Services.
5. Ahli Kepabeanan
Bertanggung jawab mengatur PPJK pada PT Ditran Logistic Service
6. Manajer Keuangan
Bertanggung jawab dalam perencanaan, penganggaran, pemeriksaan, pengolahan,
pengendalian, pencarian dan penyimpanan dana yang dimiliki oleh PT Ditran Logistic
Services.
31
3.2. Tinjauan Kasus
3.2.1. Proses Bisnis Sistem Berjalan
Pada sistem berjalan terdapat prosedur penggajian sebagai berikut:
1. Melakukan Absensi
Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di
buku absensi.
2. Rekap Absensi
Bagian accounting merekap absensi karyawan dengan melihat data pada form
absen.
3. Perhitungan gaji
Bagian accounting menghitung gaji karyawan berdasarkan rekap absensi.
4. Pembuatan slip gaji
Bagian accounting membuat slip gaji untuk di serahkan dan di periksa oleh
direktur.
5. Transfer gaji
Setelah direktur menyetujui maka accountingakan mentransfer gaji.
6. Menerima gaji dan slip gaji
Setelah gaji ditransfer oleh bagian accounting, karyawan akan menerima gaji
dan slip gaji.
32
3.2.2. Activity Diagram
Gambar III.2.
Activity DiagramSistem Penggajian Karyawan PT Ditran Logistic Services
Karyawan Accounting/Bagian Keuangan Direktur
start
end
Mengecek Slip Gaji
MenyerahkanSlip Gaji
Membuat Slip Gaji
MenghitungGaji Karyawan
MerekapitulasiAbsensi
MelakukanAbsensi
Menerima Slip Gaji
MemberikanSlip Gaji
Memproses Gaji Karyawan
Menandatangani Slip Gaji
Menerima Slip Gaji
Mengenyerah-kan Slip Gaji
Menandatangani Slip Gaji
Membuat kwitansi Pengeluaran Biaya
Gaji
MengarsipkanSlip Gaji
Mengarsipkankwitansi
Pengeluaran Gaji
33
3.2.3. Dokumen Masukan
Spesifikasi sistem berjalan yaitu serangkaian dari bentuk dokumen untuk
mendukung terbentuknya file-file yang dibutuhkan serta informasi yang disajikan,
maka dibutuhkan masukan-masukan untuk sistem.
1. Nama Dokumen : Rekap Absen
Fungsi : Untuk Mengetahui Data Absen Karyawan
Sumber : Karyawan
Tujuan : Accounting
Media : Kertas
Jumlah : Satu Lembar
Frekuensi : Setiap Terjadinya Absen
Format : Lampiran A.1
Dokumen Keluaran
Dokumen keluaran adalah segala bentuk dokumen yang akan mendukung
kegiatan manajemen setra merupakan dokumen hasil catatan laporan.
1. Nama Dokumen : Slip Gaji
Fungsi : Untuk Mengetahui Rincian Penggajian
Sumber : Accounting
Tujuan : Karyawan
Media : Kertas
Jumlah : Satu Lembar
Frekuensi : Setiap Bulan
Format : Lampiran B.1
2. Nama Dokumen : Voucher Payment
Fungsi : Mencatat Jumlah Pengeluaran Gaji
34
Sumber : Accounting
Tujuan : Diarsipkan
Media : Kertas
Jumlah : Tiga Lembar
Frekuensi : Setiap Bulan
Format : Lampiran B.3
3.2.4. Permasalahan Pokok
Permasalahan yang terdapat di PT Ditran Logistic Services diantaranya:
1. Dalam mennghitung gaji masih menggunakan Microsoft Excel atau manual.
2. Proses menghitung gaji secara manual cukup rumit dan memakan waktu yang cukup
lama.
4. Tidak adanya arsip data gaji karyawan laporan gaji yang terperinci dan dokumen yang
digunakan hanya berbentuk bukti kas keluar.
3.2.6. Pemecahan Masalah
Untuk mengatasi permasalahan tersebut, maka penulis memberikan alternatif
pemecahan masalah yaitu berupa sistem yang sudah terkomputerisasi. Sistem yang
sudah terkomputerisasi tersebut memiliki kelebihan diantaranya:
1. Dibuatkannya sistem yang sudah terkomputerisasi sehingga dalam menghitung gaji
lebih mudah dan efektif.
2. Menghemat waktu dan kesalahan dalam menghitung jadi kemungkinan akan lebih
kecil.
3. Pengarsipan data gaji karyawan bukan hanya dalan bentuk kertas saja tetapi juga dalam
bentuk penyimpana seperti hardisk.
35
3.3 Analisis Kebutuhan Software
Analisa Kebutuhan software untuk Sistem penggajian pada PT Ditran Logistic
Services Jakarta memiliki kebutuhan dengan beberapa prosedur.
3.3.1 Analisis Kebutuhan
1. Direktur
A.1. Direktur dapat melakukan login
A.2. Direktur dapat mengakses menu absensi
A.3. Direktur dapat melihat absensi karyawan
A.4. Direktur dapat mencari absensi karyawan
A.5. Direktur dapat mengakses menu karyawan
A. 6. Direktur dapat mencetak absensi karyawan
A.7. Direktur dapat mengakses menu gaji
A.8. Direktur dapat mencetak laporan gaji keseluruhan
A.9. Direktur dapat melakukan logout
2. Accounting
B.1. Accounting dapat melakukan login
B.2. Accounting dapat mengelola menu absensi
B.3. Accounting dapat menambah data absen karyawan
B.4. Accounting dapat mencari data karyawan
B.5. Accounting dapat mencetak data karyawan
B.6. Accounting dapat mengelola menu data karyawan
B.7. Accounting dapat menampilkan form data karyawan
B.8. Accounting dapat membuat akun baru
B.9. Accounting dapat mencetak data karyawan
B.10. Accounting dapat mengelola menu perhitungan gaji
36
B.11. Accounting dapat menampilkan form perhitungan gaji
B.12. Accounting dapat mencetak slip gaji
B.13. Accounting dapat mencetak laporan gaji
B.14. Accounting dapat melakukan logout
3.3.2. Use Case Diagram
1. Usecase Diagram Menu Direktur
Gambar III.3.
Usecase Diagram Menu Utama Direktur
Use Case Diagram Menu Direktur
<<Include>>
<<Extend>>
<<Extend>>
<<Extend>>
<<Extend>>
Direktur <<Extend>>
<<Extend>>
<<Extend>>
MengaksesMenu Absensi
MengaksesMenu Karyawan
MengaksesMenu Gaji
Mencetak LaporanGaji Keseluruhan
Mencari Absensi Karyawan
Mencetak Absensi Karyawan
Login
MasukanUsername
MasukanPassword Melihat Absensi
Karyawan
37
Tabel III.1.
Deskripsi Usecase Menu Utama Direktur
2. Usecase Diagram Menu Accounting
Gambar III.4.
Usecase Diagram Menu Utama Accounting
Use Case Narrative Menu Direktur
Tujuan Direktur dapat masuk kedalam sistem penggajian
Deskripsi Sistem ini memungkinkan direktur sebagai aktor untuk mengakses menu absensi, menu karyawan
dan menu gaji karyawan
Skenario Utama
Aktor Direktur
Kondisi Awal Aktor masuk ke Menu Direktur
Aksi Aktor Reaksi Sistem
1. Aktor Memilih Tombol Menu Sistem akan menampilkan submenu login dan logout
Home
2. Aktor Memilih Tombol Menu Sistem akan masuk ke menu rekapitulasisasi absensi dan menampilkan rekap absensi karyawan
Absensi secara keseluruhan
3. Aktor Memilih Tombol Sistem akan menampilkan data data karyawan
Karyawan
4. Aktor Memilih Tombol Menu Gaji Sistem akan menampilkan pemberitahuan bahwa data yang dihapus telah sukses
5. Aktor Memilih Tombol Tambah Sistem akan menambahkan data absensi karyawan yang diinginkan
6. Aktor Memilih Tombol Hapus Sistem akan menampilkan pemberitahuan bahwa data yang dihapus telah sukses
Kondisi Akhir Jika perintah sesuai maka sistem akan menampilkan seperti apa yang diinginkan oleh
si Aktor
Use Case Diagram Menu Accounting
<<include>>
<<include>>
<<extend>>
Accounting <<extend>>
<<extend>>
<<extend>>
Mengelola Menu Absensi
Mengelola Menu Data Karyawan
Mengelola Menu Prhitungan Gaji
Mengelola Menu Slip Gaji
Login
MasukanUsername
MasukanPassword
38
Tabel III.2.
Deskripsi Usecase Menu Accounting
3. Usecase Diagram Menu Accounting – MengelolaMenu Data Karyawan
Gambar III.5.
Usecase Diagram Menu Accounting – Mengelola Menu Data Karyawan
Use Case Narrative Menu Accounting
Tujuan Bagian Accounting dapat mengelola menu rekapitulasi absensi, menu data karyawan, menu
master periode sampai dengan menu perhitungan gaji
Deskripsi Sistem ini memungkinkan aktor untuk mengelola sistem penggajian mulai dari input sampai dengan
mencetak laporan gaji
Skenario Utama
Aktor Accounting
Kondisi Awal Aktor masuk ke Menu Accounting
Aksi Aktor Reaksi Sistem
1. Aktor Memilih Tombol Menu Sistem akan menampilkan data absensi dan rekapitulasi absensi
Absensi
2. Aktor Memilih Tombol Menu Sistem akan menampilkan sub menu tambah, ubah, cetak dan buat akun
Data Karyawan
3. Aktor Memilih Tombol Menu Sistem akan menampilkansub menu tambah untuk membuat periode baru
Master Periode
4. Aktor Memilih Tombol Menu Sistem akan menampilkan sub menu tambah untuk menambah karyawan yang akan dihitung
Perhitungan gaji gajinya, sub menu cetak slip gaji dan cetak laporan gaji
Kondisi Akhir Jika perintah sesuai maka sistem akan menampilkan seperti apa yang diinginkan oleh
si Aktor
Use Case Diagram Accounting Mengelola Data Karyawan
Extend
Extend Extend
Extend
Extend
Extend
Accounting Extend Extend
Mengelola menu data karyawan
Tampil Form Data Karyawan
MenambahData Karyawan
Buat Akun
Batal
Cetak
Mengubah Data Karyawan
Menghapusdata karyawan
Men-SubmitData Akun
39
Tabel III.3.
Usecase Diagram Menu Accounting – Mengelola Menu Data Karyawan
4. Usecase Diagram Menu Accounting – Mengelola Menu Absensi
Gambar III.6.
Usecase Diagram Menu Accounting – Mengelola Menu Rekapitulasi Absensi
Use Case Narrative Menu Accounting Menu Data Karyawan
Tujuan Bagian Accounting dapat mengakses menu data karyawan
Deskripsi Sistem ini memungkinkan aktor untuk mengelola data karyawan mulai dari tambah hingga cetak
Skenario Utama
Aktor Accounting
Kondisi Awal Aktor masuk ke Menu Accounting Menu Data Karyawan
Aksi Aktor Reaksi Sistem
1. Aktor Memilih Tombol Menu Sistem akan menampilkan form menu untuk menambah data karyawan, data karyawan, tombol
Data Karyawan tombol tambah, ubah, cetak dan buat akun
2. Aktor Memilih Tombol Tambah Sistem akan menambahkan data karyawan dan akan menapilkan hasil data yang telah
ditambahkan
3. Aktor Memilih Tombol Ubah Sistem akan mengubah data yang telah dipilih untuk diubah
4. Aktor Memilih Tombol Cetak Sistem akan menampilkan report berupa pilihan apakah data karyawan akan disimpan (save )
atau dibatalkan (cancel )
5. Aktor Memilih Tombol Buat Akun Sistem akan menampilkan form buat akun dengan nama buat user untuk membuat user
yang baru
6. Aktor Memilih Tombol Hapus Sitem akan menampilkan pilihan apakan data yang dipilih akan dihapus atau tidak
Kondisi Akhir Jika perintah sesuai maka sistem akan menampilkan seperti apa yang diinginkan oleh
si Aktor
Use Case Diagram Accounting Menu Absensi
Extend Include
Extend
Accounting Extend
Mengelola Menu Absensi
Mencari Data
Absen
Mencetak LaporanAbsensi
Karyawan
Tambah data absen karyawan
Tampil form data absen karyawan
40
Tabel III.4.
Deskripsi Usecase Menu Accounting – Mengelola Menu Rekapitulasi Absensi
5. Usecase Diagram Menu Accounting – Mengelola Menu Perhitungan Gaji
Gambar III.7.
Usecase Diagram Menu Accounting – Mengelola Menu Penghitungan Gaji
Use Case Narrative Menu Accounting Mengelola Menu Absensi
Tujuan Bagian Accounting dapat mengelola menu absensi karyawan
Deskripsi Sistem ini memungkinkan aktor untuk menambahkan hingga menghapus absensi karyawan
Skenario Utama
Aktor Accounting
Kondisi Awal Aktor masuk ke Menu Accounting Menu Absensi
Aksi Aktor Reaksi Sistem
1. Aktor Memilih Tombol Menu Sistem akan masuk ke menu rekapitulasisasi absensi dan menampilkan form untuk menambahka absensi karyawan
Absensi
2. Aktor Memilih Tombol Cari Sistem akan menampilkan data yang diinginkan dari hasil pencarian
3. Aktor Memilih Tombol Ubah Sistem akan mengubah data yang dipilih dan secara otomatis menyimpannya
4. Aktor Memilih Tombol Tambah Sistem akan menambahkan data absensi karyawan yang diinginkan
5. Aktor Memilih Tombol Hapus Sistem akan menampilkan pemberitahuan bahwa data yang dihapus telah sukses
Kondisi Akhir Jika perintah sesuai maka sistem akan menampilkan seperti apa yang diinginkan oleh
si Aktor
Use Case Diagram Accounting Mengelola Menu Perhitungan Gaji
Extend
Extend
Extend
Extend
Extend
Accounting Extend
Extend
Extend
Extend
Mengelola Menu Perhitungan Gaji
Tampil Form Perhitungan Gaji
Menghapus Data
Perhitungan
Menambah Data Perhitungan Gaji
Cetak Slip Gaji
Men-save
Slip gaji
Mengcancel
penyimpanan
Slip Gaji
Cetak Laporan Gaji Men-save
Laporan Gaji
Mengcancel
penyimpanan Lap. Gaji
41
Tabel III.5.
Deskripsi Usecase Menu Accounting – Mengelola Menu Perhitungan Gaji
6. Usecase Diagram Menu Accounting – Mengelola Menu Slip Gaji
Gambar III.8.
Usecase Diagram Menu Accounting – Mengelola Menu Slip Gaji
Use Case Narrative Menu Accounting Menu Perhitungan Gaji
Tujuan Bagian Accounting dapat mengelola menu rekapitulasi absensi, menu data karyawan, menu
master periode sampai dengan menu perhitungan gaji
Deskripsi Sistem ini memungkinkan aktor untuk mengelola sistem penggajian mulai dari inputsampai dengan
mencetak laporan gaji
Skenario Utama
Aktor Accounting
Kondisi Awal Aktor masuk ke Menu Accounting Menu Perhitungan gaji
Aksi Aktor Reaksi Sistem
1. Aktor Memilih Tombol Menu Sistem akan menampilkan form perhitungan gaji karyawan, laporan gaji,
Perhitungan Gaji sub menu tambah, cetak slip gaji dan cetak laporan gaji karyawan
2. Aktor Memilih Tombol Tambah Sistem akan menampilkan hasil perhitungan gaji karyawan yang ditambahkan
di dalam tabel laporan gaji
3. Aktor Memilih Tombol Cetak Sistem akan menampilkan report berupa pilihan apakah slip gaji akan disimpan (save )
Slip Gaji atau dibatalkan (cancel )
4. Aktor Memilih Tombol Cetak Sistem akan menampilkan report berupa pilihan apakah laporan gaji akan disimpan (save )
Laporan Gaji atau dibatalkan (cancel )
5. Aktor Memilih Tombol Hapus Sistem akan menampilkan pilihan apakah data yang dipilih akan dihapus atau tidak
Kondisi Akhir Jika perintah sesuai maka sistem akan menampilkan seperti apa yang diinginkan oleh
si Aktor
Use Case Diagram Accounting Mengelola Menu Slip Gaji
Extend
Accounting Extend
Extend
Extend
Mengelola Menu Slip Gaji
Cari
Cetak Save
Cancel
42
Tabel III.6.
Deskripsi Usecase Menu Accounting – Mengelola Menu Slip Gaji
Use Case Narrative Menu Accounting Mengelola Menu Slip Gaji
Tujuan Bagian Accounting dapat mengelola menu slip gaji karyawan
Deskripsi Sistem ini memungkinkan aktor untuk mengelola dan mencetak slip gaji karyawan
Skenario Utama
Aktor Accounting
Kondisi Awal Aktor masuk ke Menu Accounting Menu Slip Gajji
Aksi Aktor Reaksi Sistem
1. Aktor Memilih Tombol Menu Sistem akan menampilkan form slip gaji karyawan
slip gaji
2. Aktor Memilih Tombol Cari Sistem akan menampilkan data yang diinginkan dari hasil pencarian
3. Aktor Memilih Tombol Cetak Sistem akan menampilkan report berupa pilihan apakah slip gaji akan disimpan (save )
atau dibatalkan (cancel )
Kondisi Akhir Jika perintah sesuai maka sistem akan menampilkan seperti apa yang diinginkan oleh
si Aktor
43
3.3.3 Activity Diagram
1. Activity Diagram Menu Login
Gambar III.9.
Activity Diagram Menu Login
Karyawan/Accounting/Direktur Sistem Penggajian
Start
(Benar)
(Salah)
End
MelakukanLogin
Cek Username dan Password
Masuk ke Dalam Menu
Utama
Tampil Pesan Username atau
Password Salah
Masukan Username
MasukanPassword
44
2. Activity Diagram Menu Karyawan
Gambar III.10.
Activity Diagram Menu Karyawan
Karyawan Sistem Penggajian
Start
End
Mengakses Menu Karyawan
Mengakses Menu Karyawan
Menakses MenuGaji
Mengakses Menu Absensi
Logout
45
3. Activity Diagram Menu Direktur
Gambar III.11.
Activity Diagram Menu Direktur
Direktur Sistem Penggajian
start
Batal
Cetak
end
Mengakses Menu Direktur
Menampilkan Menu Direktur
MenuAbsensi
Menu Karyawan
Menu Gaji
Menampilkan hasil data yang dicetak
logout
46
4. Activity Diagram Menu Accounting
Gambar III.12.
Activity Diagram Menu Accounting
Accounting Sistem Penggajian
Start
End
Mengakses Menu Accounting
Masuk Menu Accounting
MengelolaMenu Absensi
MengelolaMenu Data
Karyawan
MengelolaMenu
Perhitungan Gaji
MengelolaMenu Slip Gaji
MengelolaMenu Master
Periode
Logout
47
5. Activity Diagram Menu Accounting–Mengelola Menu Rekapitulasi
Absensi
Gambar III.13.
Activity Diagram Menu Accounting–Mengelola Menu Rekapitulasi Absensi
Accounting Sistem Penggajian
Start
Tidak Tidak
Ya Simpan
Ya
Tidak
Ya Tidak
End
Memilih Menu Absensi
Menampilkan Form Menu Rekap Absensi
Input NIP, Nama,Iin, Out, Tanggal, Tambah
Absensi, Keterangan Kehadiran (Jika Tidak
Masuk)
Tambah Cari
Input NIP, nama, in, out, tanggal
Menampilkan Hasil Dari Data yang Dicari
Logout
Memilih Menu Absensi
Ubah
Pilih Data Yang Akan Diubah
Menampilkan Data Yang Akan Diubah
Pilih Tombol Ubah
Mengubah
Cetak
Menampilkan Data Yang Akan Dicetak
Menyimpandata
karyawan
pilih tombol cetak
Hapus
Pilih Data Yang Akan Dihapus
Menapilkan Data Yang Akan Dihapus
Hapus
Menghapus
Simpan
48
6. Activity Diagram Menu Accounting –Mengelola Menu Data Karyawan
Gambar III.14.
Activity Diagram Menu Accounting–Mengelola Menu Data Karyawan
Accounting Sistem Penggajian
Start
Tidak tidak
Ya
Tidak ya Tidak
Ya
Ya
End
Memilih Menu Data Karyawan
Menampilkan Form Data Karyawan
Input NIP, NIK, Nama, Tanggal Lahir, Tempat
Lahir, Alamat, Telphone, Gender,
Jabatan, Gaji, BPJS tkj, Nomor Rekening, Join
Date, End Date
Tambah Ubah
Pilih Data Yang Akan Diubah
Menampilkan Data Yang Akan Diubah
Cetak
Menampilkan Data Yang Akan Dicetak
Buat Akun
Menampilkan MenuBuat User
Submit
Input NIP, Username, Dan Password Yang
Simpan
Logout
Memilih Menu Data Karyawan
Hapus
Pilih Data Yang Akan Dihapus
Menapilkan Data Yang Akan Dihapus
Hapus
Menghapus
Menyimpandata
karyawan
pilih tombol cetak
Pilih Tombol Ubah
Mengubah Data
49
7. Activity Diagram Menu Accounting – Mengelola Menu Perhitungan Gaji
Gambar III.15.
Activity Diagram Menu Accounting–Mengelola Menu Penghitungan Gaji
Accounting Sistem Penggajian
Start
Batal Batal
Tidak
save save
Ya
End
Memilih Menu Gaji
Menampilkan Form Menu Perhitungan Gaji
Pilih Periode, Pilih NIP, Input Potongan, Input
Tunjangan (jika ada)
Tambah Cetak Laporan Gaji
pilih data karyawan yang akan dicetak
pilih tombol tambah
akan menampilkan data yang telah
ditambahkan
Menghapus
Hapus
Pilih Data Yang Akan Dihapus
Menapilkan Data Yang Akan Dihapus
Hapus
Logout
pilih tombol cetak Laporan gaji
Cetak Slip Gaji
pilih data karyawan yang akan dicetak
pilih tombol cetak slip gaji
Menyimpanslip gaji
Tampil hasil perhitungan gaji
secara otomatis
Memilih Menu Master Periode
MenyimpanLaoran Gaji
50
8. Activity Diagram Menu Accounting–Mengelola Menu Slip Gaji
Gambar III.16.
Activity Diagram Menu Accounting–Mengelola Menu Slip Gaji
Start
Batal
Simpan
Direktur Sistem Penggajian
Memilih menu gaji
Memilih menu slip gaji
Menginputnama, periode
Cari
Menampilkan menu form slip gaji
Menampilkan hasildata yang dicari
Menyimpan data slip gaji karyawan yg akan
di cetak
Log out
Cetak
51
9. Activity Diagram Menu Accounting–Mengelola Menu Master Periode
Gambar III.17.
Activity Diagram Menu Accounting–Mengelola Menu Master Periode
Accounting Sistem Penggajian
Start
End
Memilih Menu Gaji
Menapilkan Menu Master Periode
Menginput Periode, Jumlah Hari Kerja, Potongan BPJS Ketenaga Kerjaan, Nama
Tunjangan, Besar Tunjangan
Memilih Menu Master Periode
Mengklik Tambah
Menapilkan Data Karyawan yang Telah
Logout
52
3.4. Desain
3.4.1. ERD
Gambar III.18.
ERD Sistem Penggajian PT Ditran Logistic Services
1 1 1
1
M
1
M
M
Memiliki
Memiliki
payroll Memiliki payroll_period
created_by
update_at: date time
update_by:date time
status
User
user_id
employee_id user_name
user_password
created_at: datetime
cemployee_absence
created_at
created_by
status
attendance_id employee_id
attendance_date
attendance_in
attendance_out
attendance
cemployee_absence_descriptionupdate_at: date time
update_by: date
employee_birthday_place
employee_gende
employee_nik
user_id
employee_id
employee_salary
employee_bank_account
employee_phone
employee_address
employess
employee_title
employee_nip
employee_nam
employee_bpjs_ketenagakerjaan_status
employee_join_account
employee_join_date
employee_end_date
created_by
created_at
update_at
status
update_by
payroll_id
employee_id
payroll_period
payroll_employe_salary payroll_employe_work_days
payroll_employe_total_abcence
payroll_employe_total_abcence
payroll_employe_total_abcence_cuts
payroll_total_days
payroll_salary_prorate
payroll_bpjs_ketenagakerjaan_percent
payroll_bpjs_ketenagakerjaan_cuts
payroll_allowed_name
payroll_total_allowed
payroll_bank_account
payroll_net_salary
created_at
created_by
status
period_id
period_name
period_start
period_end
period_total_days
created_by
update_at
created_at
period_bpjs_ketenagakerjaan_percent
period_allowance_name
period_percent_alloowed
status
update_by
Melakukan
53
3.4.2. LRS
Gambar III.19.
LRS Sistem Penggajian PT Ditran Logistic Services
payroll
payroll_id PK 1
employee_id
payroll_period
payroll_employee_salary 1 1 employees 1
payroll_employee_work_days employee_id PK
payroll_employee_total_abcence user_id
payroll_employee_total_abcence_cuts employee_name 1 user
payroll_total_days employee_nip user_id PK
payroll_salary_prorate employe_nik employee_id FK
payroll_bpjs_ketenagakerjaan_percent employee_gende user_name
payroll_bpjs_ketenagakerjaan_cuts employee_title user_password
payroll_allowed_name employee_birthday_place created_at
payroll_total_allowed employee_address created_by
payroll_bank_account employee_phone update_at
payroll_net_salary employee_bank_account update_by 1
created_at employee_salary status
created_by employee_bpjs_ketenagakerjaan_status
status employee_join_date
employee_end_date attendence
payroll_period created_at M atendence_id PK
period_id PK created_by employee_id
period_name M update_at attendence_date
period_start update_by attendence_in
period_end status attendence_out
period_total_days employee_absence
period_bpjs_ketenagakerjaan_percent employee_absence_description
period_allowance_name created_at
period_percent_aloowed created_by
created_at status
created_by
update_at
update_by
status
M
54
3.4.3. Spesifikasi File
Spesifikasi File pada perancangan sistem Penggajian PT Ditran Logistic
Services Jakarta yaitu:
1. Spesifikasi File Employees (Karyawan)
Nama File : db_payroll_.employees
Fungsi : Digunakan untuk menyimpan data karyawan
Tipe File : File Master
Media File : Harddisk
Panjang Record : 401 Karakter
Field Key : Employee_id
Software : My SQL
No Elemen Data Akronim Tipe Panjang Keterangan
1 Employee_id Employee_id Int 3 Primery
Key
2 User id User_id Int 3
3 Employee_name Employee_name Varchar 16
4 Employee_nip Employee_nip Int 10
5 Employee_nik Employee_nik Varchar 16
6 Employee_gender Employee_gender Enum
7 Employee_title Employee_title Enum
8 Employee_birth_date Employee_birth_date Date
9 Employee_birth_place Employee_birth_plac
e
Varchar 50
10 Employee_address Employee_address Varchar 225
11 Employee_phone Employee_phone Varchar 15
12 Employee_bank_accou
nt
Employee_bank_acc
ount
Varchar 15
13 Employee_salry Employee_salry Bignit 20
14 Employee_bpjs_
Ketenagakerjaan_status
Employee_bpjs_
Ketenagakerjaan_stat
us
Tinyint 1
15 Employee_bpjs_
Ketenagakerjaan_numb
er
Employee_bpjs_
Ketenagakerjaan_nu
mber
Varchar 20
16 Employee_bpjs_
Ketenagakerjaan
Employee_bpjs_
Ketenagakerjaan
Date
17 Employee_join_date Employee_join_date Date
18 Employee_end_date Employee_end_date Datetim
e
55
19 Created_by Created_by Int 3
20 Update_at Update_at Datetim
e
21 Update_by Update_by Int 3
22 Status Status Tinyint 1
Tabel III.7.
Spesifikasi File Employees (Karyawan)
2. Spesifikasi File User
Nama File : File User
Fungsi : Digunakan untuk membuat user account yang baru
Tipe File : File Master
Media File : Harddisk
Panjang Record : 100 karakter
Field Key : User_id
Software : My SQL
No Elemen Data Akronim Tipe Panjang Keterangan
1 User_id User_id Int 3 Primery Key
2 Employee_id Employee_id Int 3 Foreign Key
3 User_name Employee_name Varchar 20
4 User_password User_password Varchar 64
5 Created_at Created_at Datetime
6 Created_by Created_by Int 3
7 Update_at Update_at Datetime
8 Update_by Update_by Int 3
9 Status Status Tinyint 4
Tabel III.8.
Spesifikasi File User
3. Spesifikasi File Attendance (Kehadiran)
Nama File : File Attendance
Fungsi : Digunakan untuk mengelolah kehadiran karyawan
56
Tipe File : Filie Master
Media File : Harddisk
Panjang Record : 31 karakter
Field Key : Attendance_id
Software : My SQL
No Elemen Data Akronim Tipe Panjang Keterangan
1 Attendance_id Attendance_id Int 11 Primery
Key
2 Employee_id Employee_id Int 3
3 Attendance_date Attendance_date Date
4 Attendance_in Attendance_in Varchar 5
5 Attendance_out Attendance_out Varchar 5
6 Employee_absence Employee_absence Enum
7 Employee_absence_
Description
Employee_absence_
Description
Text
8 Created_at Created_at Datetime
9 Created_by Created_by Int 3
10 Update_at Update_at Datetime
11 Update_by Update_by Int 3
12 Status Status Tinyint 1
Tabel III.9.
Spesifikasi File Attendance (Kehadiran)
4. Spesifikasi File Payrolls (Penggajian)
Nama File : File Payrolls
Fungsi : Digunakan untuk mengelolah gaji karyawan
Tipe File : File Transaksi
Media File : Harddisk
Panjang Record : 109 karakter
Field Key : Payroll_id
Software : My SQL
No Elemen Data Akronim Tipe Panjang Keterangan
1 Payroll_id Payroll_id Int 11 Primery
Key
57
2 Payroll_period_id Payroll_period_id Int 11
3 Employee_id Employee_id Int 3
4 Payroll_employee
_salary
Payroll_employee
_salary
Bignit 20
5 Payroll_employee
_work_days
Payroll_employee
_work_days
Int 2
6 Payroll_employee
_total_absence
Payroll_employee
_total_absence
Int 2
7 Payroll_employee
_absence_cut
Payroll_employee
_absence_cut
Bignit 20
8 Payroll_total_days Payroll_total_days Int 2
9 Payroll_salary_prorate Payroll_salary_prorat
e
Double
10 Payroll_bpjs
_ketenagakerjaan_perce
nt
Payroll_bpjs
_ketenagakerjaan_per
cent
Double
11 Payroll_bpjs
_ketenagakerjaan_cuts
Payroll_bpjs
_ketenagakerjaan_cut
s
Double
12 Payroll_allowance_name Payroll_allowance_na
me
Varchar 20
13 Payroll_percent_allowan
ce
Payroll_percent_allo
wance
Double
14 Payroll_total_allowance Payroll_total_allowan
ce
Double
15 Payroll_bank_account Payroll_bank_account Int 11
16 Payroll_net_salary Payroll_net_salary Double
17 Created_at Created_at Datetime
18 Created_by Created_by Int 3
19 Update_at Update_at Datetime
20 Update_by Update_by Int 3
21 Status Status Tinyint 1
Tabel III.10.
Spesifikasi File Payrolls (Penggajian)
5. Spesifikasi File Payroll Periods (Periode Gaji)
Nama File : File Payroll Periods
Fungsi : Digunakan untuk mengelolah periode gaji
Tipe File : File Transaksi
Media File : Harddisk
Panjang Record : 60 karakter
58
Field Key : Period_id
Software : My SQL
No Elemen Data Akronim Tipe Panjang Keterangan
1 Periodd Period_id Int 11 Primery
Key
2 Period_name Period_name Varchar 20
3 Period_start Period_start Date
4 Period_end Period_end Date
5 Period_total_days Period_total_days Int 2
6 Period_bpjs_
Ketenagakerjaan_
percent
Period_bpjs_
Ketenagakerjaan_perc
ent
Double
7 Period_allowance
_name
Period_allowance_na
me
Varchar 20
Period_pecent_all
owance
Period_pecent_allowa
nce
Double
8 Created_at Created_at Datetim
e
9 Created_by Created_by Int 3
10 Update_at Update_at Datetim
e
11 Update_by Update_by Int 3
12 Status Status Tinyint 1
Tabel III.11.
Spesifikasi File Payroll Periods (Periode Gaji)
59
3.4.4. Seqence Diagram
Sequence Diagram Menu Penggajian Karyawan
Gambar III.20.
Sequence Diagram Menu Penggajian Karyawan
Bag. Keuangan Direktur
1. Melakukan Abse n Pagi
2. Melakukan Abse n Sore
3. Menghitung Gaji Karyawan
4. Menyerahkan Laporan Gaji Karyawan kepada Direktur
5. Memverifikasi Laporan Gaji Karyawan
6. Mentransfer ga ji Karyawan
7. Menerima Gaji Karyawan
Karwayan
Absensi Gaji Karyawan Laporan Gaji Karyawan
60
3.4.5. Deployment Diagram
Gambar III.21.
Deployment Diagram Sistem Penggajian
Main<<device>>Database
<<device>>
<<ActiveXControl>>
Java Netbeans
<<ActiveXControl>>
Java Netbeans
<<DBMS>>Mysql
<<Database>>db_Payroll
61
3.4.6. User Interface
1. Menu Login
Gambar III.22.
User Interface Home
2. Menu Accounting Rakapitulisasi Absensi
Gambar III.23.
62
User Interface Menu Accounting Rekapitulasi Absensi
3. Menu Accounting Data Karyawan
Gambar III.24.
User Interface Menu Avcounting Data Karyawan
63
4. Menu Utama Direktur
Gambar III.25.
User Interface Menu Utama Direktur
64
5. Menu Utama Karyawan
Gambar III.26.
User Interface menu Utama Karyawan
65
3.5. Implementasi
3.5.1. Code Generation
1) Menu Login
package module;
import config.Koneksi;
import data.User;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.HeadlessException;
import java.awt.Toolkit;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
import module.absensi.RekapitulasiAbsensi;
public class Login extends javax.swing.JFrame {
Connection con;
Statement stat;
ResultSet rs;
String sql;
public Login() {
66
initComponents();
Koneksi DB = new Koneksi();
DB.config();
con = DB.con;
stat = DB.stm;
bt_login.setBackground(Color.decode("#8bc34a"));
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
this.setLocation(dim.width/2-this.getSize().width/2, dim.height/2-
this.getSize().height/2);
}
/**
* 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() {
jLabel3 = new javax.swing.JLabel();
txt_name = new javax.swing.JTextField();
jLabel4 = new javax.swing.JLabel();
67
txt_pass = new javax.swing.JPasswordField();
bt_login = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel3.setText("Username");
jLabel4.setText("Password");
bt_login.setForeground(new java.awt.Color(255, 255, 255));
bt_login.setText("Login");
bt_login.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bt_loginActionPerformed(evt);
}
});
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel1.setText("Login Sistem Informasi Payroll PT Ditran Logistic Services");
javax.swing.GroupLayout layout = new
javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
68
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap(250, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILI
NG)
.addComponent(txt_name,
javax.swing.GroupLayout.PREFERRED_SIZE, 305,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG, false)
.addComponent(bt_login,
javax.swing.GroupLayout.DEFAULT_SIZE, 302, Short.MAX_VALUE)
.addComponent(jLabel4)
.addComponent(txt_pass))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel3)
.addGap(247, 247, 247)))
69
.addGap(349, 349, 349))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addComponent(jLabel1,
javax.swing.GroupLayout.PREFERRED_SIZE, 553,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(224, 224, 224))))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(104, 104, 104)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE,
83, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(27, 27, 27)
.addComponent(jLabel3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(txt_name, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(16, 16, 16)
.addComponent(jLabel4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
70
.addComponent(txt_pass, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(21, 21, 21)
.addComponent(bt_login)
.addContainerGap(216, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
private void bt_loginActionPerformed(java.awt.event.ActionEvent evt) {
try {
sql = "SELECT users.user_id, "
+ "users.employee_id, "
+ "users.user_name, "
+ "employees.employee_title, "
+ "employees.employee_name, "
+ "employees.employee_nip, "
+ "users.status FROM users LEFT JOIN employees on users.employee_id
= employees.employee_id "
+ "WHERE "
+ "users.user_name='" + txt_name.getText() + "' "
+ "AND users.user_password=md5('" + txt_pass.getText() + "') "
+ "AND users.status = true AND employees.status = true";
71
rs = stat.executeQuery(sql);
if (rs.next()) {
JOptionPane.showMessageDialog(null, "Berhasil Login ");
User.setUserId(rs.getInt("users.user_id"));
User.setEmployeeId(rs.getInt("users.employee_id"));
User.setUserName(rs.getString("users.user_name"));
User.setUserType(rs.getString("employees.employee_title"));
User.setEmployeeNIP(rs.getInt("employees.employee_nip"));
User.setName(rs.getString("employees.employee_name"));
new RekapitulasiAbsensi().setVisible(true);
this.dispose();
} else {
JOptionPane.showMessageDialog(null, "Username atau Password Salah");
}
} catch (SQLException | HeadlessException e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
72
/* 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.Lev
el.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Lev
el.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
73
java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Lev
el.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Lev
el.SEVERE, null, ex);
}
//</editor-fold>
//</editor-fold>
//</editor-fold>
//</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_login;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel3;
74
private javax.swing.JLabel jLabel4;
private javax.swing.JTextField txt_name;
private javax.swing.JPasswordField txt_pass;
// End of variables declaration
}
75
3.5.2. Blackbox Testing
1. Menu Login
No. Skenario
Pengujian Test Case
Hasil Yang
Diharapkan
Hasil
Pengujian Kesimpulan
1. Mengosongkan
NIK dan
password lalu
klik tombol
login
Username
dan
Password :
(kosong)
Sistem akan
menolak login
dan
menampilkan
pesan
“Username
atau Password
Salah”
Sesuai
harapan
Valid
2. Mengisi NIK
dan
mengosongkan
password lalu
klik tombol
login
Username:
Nurfa
password :
(kosong)
Sistem akan
menolak akses
login dan
menampilkan
pesan “
Username
atau Password
Salah”
Sesuai
harapan
Valid
3. mengosongkan
NIK dan
mengisi
password lalu
klik tombol
login
Username:
(kosong)
Password :
123
Sistem akan
menolak akses
login dan
menampilkan
pesan “
Username
atau Password
Salah ”
Sesuai
harapan
Valid
76
Tabel III.12.
Blackbox Testing Menu login
4. Salah satu diisi
data benar dan
yang lainnya
diisi data salah
lalu klik
tombol login
Username:
Nurfa
password :
Dl6
Sistem akan
menolak akses
login dan
menampilkan
pesan “
Username
atau Password
Salah ”
Sesuai
harapan
Valid
5. Mengisi NIK
dan password
dengan data
benar lalu klik
tombol login
Username
: Nurfa
password :
123
Sistem
menerima
akses login
dan
menampilkan
pesan berhasil
login
kemudian
masuk ke
dalam sistem
Sesuai
harapan
Valid
77
2. Menu Rekapitulasi Absensi (Jika Tidak Masuk)
No Skenario Pengujian Hasil Yang
Diharapkan
Hasil Pengujian Kesimpulan
1. Mengisi nama, nip
dan tanggal lalu
mengosongkan
keterangan tidak
masuk
Sistem akan
menolak
menambahkan
data absen
karyawan lalu
menampilkan
pesan “Mohon
pilih jenis absen”
Sesuai Harapan Valid
2. Mengisi nama, nip,
tanggal dan
mengisi keterangan
tidak masuk
Sistem akan
menambahkan
data
Sesuai Harapan Valid
Tabel III.13.
Blackbox Testing Menu Rekapitulasi Absensi (Jika ada yang tidak masuk)
78
3. Menu Perhitungan Gaji
No Skenario
Pengujian
Hasil yang
Diharapkan
Hasil Pengujian Kesimpulan
1. Mengosongkan
periode gaji lalu
mengisi data gaji
karyawan dengan
benar
Sistem akan
menolak
menambahkan
data perhitungan
gaji dan muncul
pesan “Mohon
lengkapi kolom
yang diperlukan”
Sesuai Harapan Valid
2. Megisi periode gaji
lalu mengosongkan
data gaji karyawan
Sistem akan
menolak
menambahkan
data perhitungan
gaji dan
menampilkan
pesan
“Perhatikan data
yang belum
terisi”
Sesuai Harapan Valid
3. Mengisi periode
gaji lalu mengisi
Sistem akan
menambahkan
Sesuai harapan Valid
79
data karyawan
dengan benar
data perhitungan
gaji karyawan
Tabel III.14.
Blackbox Testing Perhitungan Gaji
3.5.3 Spesifikasi Hardware dan Software
1. Hardware
Perangkat keluaran yang diperlukan adalah satu buah disk Drive sebagai media
penyimpanan datanya:
Monitor : 14”
Processor : AMD A9-9420 RADEON R5
Memory : 4 GB
Harddisk : 500 GB
Keyboard : 180 keys
Printer : Deskjet
Mouse : PS/2
2. Software
Didalam pembuatan desain sistem ini, penulis mengusulkan sistem operasi
Windows 7 dan paket program Java Netbeans, karena mudah dalam penggunaannya
sehingga tidak perlu keahlian khusus untuk mengajarkan cara kerja program yang telah
didesain.
Sistem operasi : Windows 10
Program : Java Netbeans
Database : MySQL