BAB III PEMBAHASAN - repository.bsi.ac.idkunjungan pelanggan setiap hari dan melaporkan kepada...
Transcript of BAB III PEMBAHASAN - repository.bsi.ac.idkunjungan pelanggan setiap hari dan melaporkan kepada...
-
30
BAB III
PEMBAHASAN
3.1. Tinjauan Perusahaan
PT K2 Industries Indonesia merupakan suatu perusahaan yang bergerak dalam
bidang perdagangan ekspor bahan baku sabun dan CPO (Crude Palm Oil ) dan
sejenisnya. Berikut ini merupakan pembahasan meliputi sejarah perusahaan, struktur
organisasi dan fungsi dalam struktur.
3.1.1. Sejarah Perusahan
PT K2 Industries Indonesia adalah sebuah perusahaan yang bergerak di bidang
perdagangan. PT K2 Industries Indonesia berdiri sejak tahun 2008 yang terletak di Jl.
Raya Kosambi Perum BKP No.01, Dusun. Jatirasa, Desa. Duren, Kecamatan. Kelari,
Kabupaten.Karawang, Jawa Barat-Indonesia atau sekitar 70 km dari Jakarta dengan
no ijin 101510545. PT K2 Industries ini adalah organisasi mapan dengan operasi bisnis
di Indonesia, Thailan, Pakistan dan memiliki kantor pusat yang terletak di Kuala
Lumpur Malaysia.
Adapun barang-barang yang di produksi oleh PT K2 Industries Indonesia yaitu
bahan baku sabun dan berupa produk CPO (Crude Palm Oil ) dan turunanya. PT K2
Industries Indonesia ini menjual ke berbagai negara seperti Malaysia, Pakistan, India,
Afganistan, Thailand, China, Bangladesh, Iran dan sebagainya.
Adapun visi dan misi di PT K2 Industries Indonesia adalah sebagai berikut:
a. Visi
Menjadi konglomerat internasional atas dengan perinsip-prinsip bisnis yang tepat,
strategi dan sikap terhadap pelanggan, karyawan dan pemegang saham.
-
31
b. Misi
1. Membuat produk yang berkualitas sesuai dengan kebutuhan konsumen.
2. Menjaga produksi agar kualitas dan kuantitasnya sesuai dengan tuntutan
konsumen.
3. Meningkatkan promosi produk melalui media online maupun media lainnya.
3.1.2.Struktur Organisasi dan Fungsi
Struktur organisasi adalah sub-sub sistem dengan hubungan wewenang dan
tanggung jawab. Dalam organisasi terdapat struktur yang menerapkan bagaimana
tugas akan dibagi. Berikut ini merupakan struktur organisasi pada PT. K2 Industries
Indonesia.
Sumber: Admin HRD
Gambar III.I
Struktur Organisasi
-
32
Tugas dan tanggung jawab tiap-tiap bagian adalah sebagai berikut:
1. Presiden Direktur
Presiden direktur merupakan fungsi jabatan tertinggi dalam sebuah perusahaan
seperti Perseroan Terbatas (PT) yang secara garis besar bertanggung jawan
mengatur perusahaan secara keseluruhan. Tugas direktur utama adalah sebagai
koordinator, komunikator, pengambil keputusan , pemimpin, pengelola dan
eksekuter dalam menjalankan dan memimpin prusahaan Perseroan Terbatas.
2. Direktur
Tugas dan wewenang direktur perusahaan secara singkat adalah memanajemen
karyawan-karyawan yang ada di PT K2 Industries Indonesia, bertanggung jawab
dan memimpin dan membina perusahaan secara efektif dan efesien, mewakili
perusahaan, mengadakan perjanjian-perjanjian, merencanakan dan mengawasi
pelaksanaan tugas personalia yang bekerja dalam perusahaan.
3. Marketing
Marketing mempunyai tanggung jawab yaitu mencari order, membuat aktifitas
kunjungan pelanggan setiap hari dan melaporkan kepada customer sevice setiap
harinyadan membuat sales order setiap terjadi penjualan.
4. Logistik
Melakukan pengadaan barang dan jasa yang di perlukan para unit kerja lain guna
mendukung pelayanan dan operasional perusahaan. Dan melakukan analisa
kebutuhan pengadaan barang dan jasayang diminta para unit kerja lain guna
memenuhi pengadaan barang dan jasa.
5. Accounting
a. Bertanggung jawab atas pengeluaran dan penerimaan kas perusahaan setiap
harinya.
-
33
b. Melaporkan pengeluaran kepada auditor setiapminggunya.
c. Mncatat pengeluaran dan penerimaan kas kedalam jurnal.
d. Membuat laporan keuanan yang berupa neraca beserta lampirannya.
e. Melaporkan laporan keuangan yang sudah dibuat kepada auditor dan pimpinan
perusahaan sebelum dilaporkan kepada pemilik perusahaan.
f. Menjadwalkan pembayaran hutang kepada pembeli dua kali dalam seminggu.
g. Membuat faktur pajak.
6. Administrasi
Adapun fungsi administrasi adalah melakukan pencatatan dan pembukuan semua
transaksi penjualan dan pembelian harian serta penjualan dan pembelian bisa
berupa nota penjualan dan pembelian atau nota lainnya.
7. Dokumen Ekspor
a. Mengecek dan menyiapkan dokumen untuk kebutuhan ekspor.
b. Menentukan jadwal stuffing untuk pengiriman barang ekspor.
c. Menyiapkan kontrak penjualan.
8. Laboratorium
Adapun fungsi laboratorium yaitu mengecek kualitas barang yang akan di jual dan
menyiapkan sample barang untuk keperluan pembeli.
9. Pembelian
Adapun fungsi pembelian yaitu membeli barang-barang dan mengatur keluar dan
masuknya suatu barang.
3.2. Tinjauan Kasus
Sesuai dengan metode wawancara secara langsung yang dilakukan penulis
mengenai analisa sistem penggajian di PT K2 Industries Indonesia dan sesuai dengan
-
34
ruang lingkup dalam penyusunan makalahini, maka penulis akan menguraikan secara
umum prosedur sistem berjalan penggajian di PT K2 Industries Indonesia yaitu:
3.2.1.Proses Bisnis Sistem Berjalan
Dalam perusahaan ini prosedur penggajian yang dilakukan dimulai dengan
absensi sampai dengan karyawan menerima gaji.
1. Prosedur Penyerahan Absen
Karyawan yang masuk dan pulang kerja setiap hari melakukan absen di pos security
di buku absensi dan mengisi form lembur jika karyawan lembur. Setiap hari security
memberikan buku absen dan form lembur ke admin HRD.
2. Prosedur Pengisian Absen
Admin HRD melakukan input absen di rekapan file absen karyawan. Jika karyawan
lembur maka admin meyerahkannya form kepada supervisor dan Manager HRD
untuk di cek dan tandatangai, setelah mendapatkan tandatangan supervisor dan
Manager admin HRD melakukan pengisian di rekapan file lembur karyawan dan
di simpan ke file overtime.
3. Prosedur Perhitungan Gaji
Setiap akhir bulan admin melakukan perhitungan gaji di file absensi, lemburan dan
pinjaman, lalu di cetak dan di input rekapan absen, lemburan dan pinjaman ke file
gaji untuk dihitung gaji masing-masing karyawan. Setelah dilakukan perhitungan
gaji admin menyerahkan nya kepada Manager sebagai laporan data gaji perbulan
dan di cek untuk di tandatangani. Setelah mendapat tandatangan Manager maka
admin menyerahkannya kepada Direktur untuk di cek dan di tandatangan. Setelah
mendapat tandatangani Manager dan Direktur admin menyimpan file data gaji dan
membuat cek untuk mengambil uang sesuai jumlah gaji karyawan.
-
35
4. Prosedur pembagian gaji
Setelah itu admin membuat slip gaji dan melakukan perhitungan upah karyawan
dan di masukan kedalam amplop. Setelah itu admin membut form tanda terima gaji
dan melakukan pembagian gaji, setiap karyawan yang sudah menerima gaji
karyawan diharuskan menandatangai form yang sudah disediakan. Setelah
melakukan pembagian gaji admin menyimpan form tanda terima untuk disimpan.
3.2.2. Activity Diagram
1. Activity Diagram Pencatatan Absen
Sumber: Penelitian
Gambar III.2
Activity Diagram Pencatatan Absen
-
36
2. Activity Diagram Prosedur Pengisian Absen
Sumber: Penelitian
Gambar III.3
Activity Diagram Pengisian Absen
-
37
3. Activity Diagram Prosedur Perhitungan Gaji dan Laporan
Sumber: Penelitian
Gambar III.4
Activity Diagram Perhitungan Gaji dan Laporan
-
38
4. Activity Diagram Pembagian Gaji
Sumber: Penelitian
Gambar III.5
Activity Diagram Permbagian Gaji
3.2.3. Dokumen Masukan
Dokumen masukan atau input sistem penggajian, adalah sebagai berikut:
a. Nama Arus Data : Buku Absen
Fungsi : Sebagai bukti kehadiran
Sumber : Karyawan
Tujuan : Admin HRD
Frekuensi : Setiap hari bekerja
Jumlah : Satu Lembar
-
39
Media : Kertas
Bentuk : Lampiran A-1
b. Nama Arus Data : Form Lemburan
Fungsi : Sebagai bukti kehadiran lembur
Sumber : Karyawan
Tujuan : Admin HRD
Frekuensi : Setiap kali lembur
Jumlah : Satu Lembar
Media : Kertas
Bentuk : Lampiran A-2
3.2.4. Dokumen Keluaran
Dokumen keluaran atau output sistem penggajian, adalah sebagai berikut:
a. Nama Arus Data : Slip Gaji
Fungsi : Untuk mengetahui perincian gaji karyawan
Sumber : Admin HRD
Tujuan : Karyawan
Frekuensi : Setiap bulan
Jumlah : Satu Lembar
Media : Kertas
Bentuk : Lampiran B-1
b. Nama Arus Data : Laporan Absen Karyawan
Fungsi : Sebagai laporan absen karyawan kepada
Manager
Sumber : Admin HRD
-
40
Tujuan : Manager
Frekuensi : Setiap bulan
Jumlah : Satu Lembar
Media : Kertas
Bentuk : Lampiran B-2
c. Nama Arus Data : Laporan Gaji Karyawan
Fungsi : Sebagai laporan gaji karyawan kepada
Manager dan Direktur
Sumber : Admin HRD
Tujuan : -Manager
-Direktur
Frekuensi : Setiap bulan
Jumlah : Satu Lembar
Media : Kertas
Bentuk : Lampiran B-3
c. Nama Arus Data : Daftar Gaji
Fungsi : Untuk mengetahui jumlah gaji karyawan beserta
perinciannya
Sumber : Admin HRD
Tujuan : Manager dan Direktur
Frekuensi : Setiap bulan
Jumlah : Satu Lembar
Media : Kertas
Bentuk : Lampiran B-4
-
41
d. Nama Arus Data : Tanda Terima Gaji
Fungsi : Sebagai bukti bahwa karyawan sudah menerima gaji
Sumber : Karyawan
Tujuan : Admin HRD
Frekuensi : Setiap menerima gaji
Jumlah : Satu Lembar
Media : Kertas
Bentuk : Lampiran B-5
3.2.5. Permasalahan Pokok
Dari hasil analisa dan pengamatan di PT K2 Industries Indonesia penulis dapat
mengemukakan beberapa permasalahan pokok yang sering terjadi pada sistem
penggajian karyawan, yaitu:
1. Prosedur yang berjalan kebanyakan menggunakann proses manual, dimulai dari
rekapitulasi absen, perhitungan gaji, pembuatan slip gaji dan pembuatan laporan
sehingga membutuhkan banyak waktu.
2. Integritas data tidak terjaga sehingga renta terjadi kesalahan.
3. Pembuatan laporan penggajian masih menggunakan arsip, sehingga membutuhkan
waktu yang cukup lama dan sering teradi kesalahan data.
4. Keamanan data kurang terjamin.
3.2.6. Pemecahan Masalah
1. Dirancang sebuah sistem penggajian terkomputerisasi dimana pada proses
perhitungan gaji tidak perlu dicatat dalam buku atau arsip, melainkan admin dapat
langsung menginputkan data dan menghitung gaji karyawan dan disimpan dalam
database.
-
42
2. Membuat database seperti SQL Server sehingga data bisa diakses dan di update di
kemudian hari serta bisa di Back Up untuk keamanan data.
3. Membuat Sistem Informasi Penggajian yang di dalamnya terdapat pembuatan
laporan-laporan.
4. Membuat sistem yang di dalamnya menggunakan password user.
3.3. Analisa Kebutuhan Software
Analisa kebutuhan menggambarkan proses kegiatan yang akan di terapkan
dalam sebuah sistem dan menjelaskan kebutuhan yang di perlukan sistem agar dapat
berjalan dengan baik serta sesuai dengan kebutuhan. Analisa kebutuhan meliputi
analisa kebutuhan data dan pemodelan sistem menggunakan Unified Modeling
Language (UML).
3.3.1. Analisis Kebutuhan
Perancangan sistem dilakukan dengan menganalisa kebutuhan sistem dan
melakukan wawancara terhadap responden. Hal ini dimaksudkan agar dapat mengatasi
ketidaksesuaian antara aplikasi yang dirancang dengan kebutuhan pengguna. Adapun
kebutuhan sistem yang diperlukan antara lain:
1. Sekenario Kebutuhan Administrasi HRD dan Pimpinan
a. Admin dan pimpinan dapat melakukan login
b. Admin dan pimpinan dapat mengelola data master
1) Mengelola data absen
2) Mengelola data karyawan
3) Mengelola Pinjaman
c. Admin dan pimpinan dapat mengelola data user
-
43
d. Admin dan pimpinan dapat mengelola data gaji
e. Admin dan pimpinan dapat mengelola laporan data gaji
f. Admin dan pimpinan dapat mengelola laporan data karyawan
3.3.2. Use Case Diagram
1. Use Case Diagram Login
Sumber: Hasil Penelitian
Gambar III. 6
Use Case Diagram Login
-
44
2. Use Case Diagram Mengelola Data Master
a. Use Case Diagram Mengelola Data Absen
Sumber: Hasil Penelitian
Gambar III.7
Use Case Diagram Mengelola Data Absen
Tabel III.1.
Deskripsi Use Case Diagram Mengelola Data Absen
Use Case Name Mengelola Data Absen
Requirment A1Goal Admin HRD dan pimpinan dapat menambah,
mengubah, menyimpan, menghapus dan batal di DataAbsen
Pre-Condition Admin HRD dan pimpinan telah melakukan login.Post-Condition Data Absen berhasil ditambah, diubah, disimpan, batal
dan dihapus.
-
45
Failed end Conditions Gagal menambah, mengubah,menghapus Data AbsenPrimary Actor Admin HRD dan pimpinanMain Flow/ Basic Path 1. Admin HRD dan pimpinan mengakses Data Absen
2. Admin HRD dan pimpinan memilih data Absen3. Admin HRD dan pimpinan memilih tombol
“Tambah”4. Admin HRD dan pimpinan mengisi data Absen5. Admin HRD dan pimpinan memilih tombol
“Simpan”6. System menyimpan data karyawan dan data
absen kedalam database.7. System menampilkan keterangan “Data berhasil
disimpan”.Alternate Invariant/Invariant 1
A.1 Admin HRD dan pimpinan mencari data AbsenA.2 System menampilkan data Absen dan data absen
yang dicari.A.3 Admin HRD dan pimpinan memilih tombol
“Edit”.A.4 Admin HRD dan pimpinan merubah data AbsenA.5 System memperbarui data Absen dan data absen
kedalam database.A.6 System menampilkan keterangan “Data berhasil
di Simpan”.Invarian 2 B.1 Admin HRD dan pimpinan mencari data Absen
B.2 System menampilkan data Absen yang dicari.B.3 Admin HRD dan pimpinan memilih tombol
“Hapus”.B.4 System menampilkan pesan konfirmasi
penghapusan.B.5 Admin HRD dan pimpinan memilih tombol
“Yes”.B.6 System menghapus data Absen.B.7 System menampilkan keterangan “Data berhasil
dihapus”.
-
46
b. Use Case Diagram Mengelola Data Karyawan
Sumber: Hasil Penelitian
Gambar III.8
Use Case Diagram Mengelola Data Karyawan
Tabel III.2.
Deskripsi Use Case Diagram Mengelola Data Karyawan
Use Case Name Mengelola Data Karyawan
Requirment A1Goal Admin HRD dan pimpinan dapat menambah,
mengubah, menyimpan, menghapus dan batal di DataKaryawan
Pre-Condition Admin HRD dan pimpinan telah melakukan login.Post-Condition Data Karyawan berhasil ditambah, diubah, disimpan,
batal dan dihapus.
-
47
Failed end Conditions Gagal menambah, mengubah,menghapus DataKaryawan.
Primary Actor Admin HRD dan pimpinanMain Flow/ Basic Path 8. Admin HRD dan pimpinan mengakses Data
Karyawan9. Admin HRD dan pimpinan memilih data
karyawan.10.Admin HRD dan pimpinan memilih tombol
“Tambah”11. Admin HRD dan pimpinan mengisi data
karyawan12. Admin HRD dan pimpinan memilih tombol
“Simpan”13. System menyimpan data karyawan dan data
absen kedalam database.14. System menampilkan keterangan “Data berhasil
disimpan”.Alternate Invariant/Invariant 1
A.7 Admin HRD dan pimpinan mencari datakaryawa.
A.8 System menampilkan data karyawan dan dataabsen yang dicari.
A.9 Admin HRD dan pimpinan memilih tombol“Edit”.
A.10 Admin HRD dan pimpinan merubah datakaryawan.
A.11 System memperbarui data karyawan dan dataabsen kedalam database.
A.12System menampilkan keterangan “Data berhasildi Simpan”.
Invarian 2 B.8 Admin HRD dan pimpinan mencari datakaryawan.
B.9 System menampilkan data karyawan yang dicari.B.10 Admin HRD dan pimpinan memilih tombol
“Hapus”.B.11 System menampilkan pesan konfirmasi
penghapusan.B.12 Admin HRD dan pimpinan memilih tombol
“Yes”.B.13 System menghapus data karyawan.B.14 System menampilkan keterangan “Data
berhasil dihapus”.
-
48
c. Use Case Diagram Mengelola Pinjaman
Sumber: Hasil Penelitian
Gambar III.9
Use Case Diagram Mengelola Pinjaman
Tabel III.3.
Deskripsi Use Case Diagram Data Pinjaman
Use Case Name Mengelola Data PinjamanRequirment A3Goal Admin dan Pimpinan dapat menambah, mengubah,
menyimpan, menghapus,batal dan mencari DataPinjaman
Pre-Condition Admin dan Pimpinan telah melakukan login.Post-Condition Data Pinjaman berhasil ditambah, diubah, disimpan,
batal dan dihapus.Failed end Conditions Gagal menambah, mengubah,menghapus Data
Pinjaman.Primary Actor Admin dan PimpinanMain Flow/ Basic Path 15. Admin dan Pimpinan mengakses Data Master.
16. Admin dan Pimpinan memilih data pinjaman.17. Admin dan Pimpinan memilih tombol“Tambah”.18. Admin dan Pimpinan mengisi data pinjaman
-
49
19. Admin dan Pimpinan memilih tombol “Simpan”20. System menyimpan data pinjaman kedalam
database.21. System menampilkan keterangan “Data berhasil
disimpan”.Alternate Invariant/Invariant 1
A.13 Admin dan Pimpinan mencari data pinjaman.A.14 System menampilkan data pinjaman yang
dicari.A.15 Admin dan Pimpinan memilih tombol “Edit”.A.16 Admin dan Pimpinan merubah data pinjaman.A.17 System memperbarui data pinjaman.A.18 System menampilkan keterangan “Data
berhasil di Simpan”.Invarian 2 B.15 Admin dan Pimpinan mencari data pinjaman.
B.16 System menampilkan data pinjaman yangdicari.
B.17 Admin dan Pimpinan memilih tombol“Hapus”.
B.18 System menampilkan pesan konfirmasipenghapusan.
B.19 Admin dan Pimpinan memilih tombol “Yes”.B.20 System menghapus data pinjaman.B.21 System menampilkan keterangan “Data
berhasil dihapus”.3. Use Case Diagram Mengelola Data Gaji
Sumber: Hasil Penelitian
Gambar III.10
Use Case Diagram Mengelola Data Gaji
-
50
Tabel III.4.
Deskripsi Use Case Diagram Mengelola Data Gaji
Use Case Name Mengelola Data GajiRequirment A4Goal Admin HRD dan pimpinan dapat menambah,
mengedit, menyimpan, mencetak dan menghapusdata gaji.
Pre-Condition Admin HRD dan pimpinan telah melakukan login.Post-Condition Data Gaji berhasil ditambah, diedit, dihapus,
disimpan dan dicetak.Failed endConditions
Gagal menambah, mengedit, menghapus, menyimpandan mencetak..
Primary Actor Admin HRD dan pimpinanMain Flow/ BasicPath
1. Admin HRD dan pimpinan mengakses Data Gaji.2. Admin HRD dan pimpinan memilih data gaji.3. Admin HRD dan pimpinan memilih tombol
“Tambah”.4. Admin HRD dan pimpinan mengisi data gaji.5. Admin HRD dan pimpinan memilih tombol
“Simpan”6. System menyimpan data gaji dalam database.7. System menampilkan keterangan “Data berhasil
disimpan”.Alternate Invariant/Invariant 1
A.19 Admin HRD dan pimpinan mencari data gaji.A.20 System menampilkan data gaji yang dicari.A.21 Admin HRD dan pimpinan memilih tombol
“Edit”.A.22 Admin HRD dan pimpinan merubah data gaji.A.23 Admin HRD dan pimpinan memilih tombol
“Update”.A.24 System memperbarui data gaji kedalam
database.A.25 System menampilkan keterangan “Data
berhasil ter-Update”.Invarian 2 B.22 Admin HRD dan pimpinan mencari data gaji
B.23 System menampilkan data gaji yang dicari.B.24 Admin HRD dan pimpinan memilih tombol
“Hapus”.B.25 System menampilkan pesan konfirmasi
penghapusan.B.26 Admin HRD dan pimpinan memilih tombol
“Yes”.B.27 System menghapus data gaji.B.28 System menampilkan keterangan “Data
berhasil dihapus”.
-
51
4. Use Case Diagram Mengelola Laporan Data Karyawan
Sumber: Hasil Penelitian
Gambar III.11
Use Case Diagram Mengelola Laporan Data Karyawan
Tabel III.5.
Deskripsi Use Case Diagram Mengelola Laporan Data Karyawan
Use Case Name Mengelola Laporan Data Karyawan
Requirment A5Goal Admin HRD dan pimpinan dapat mencetak laporan
karyawan
Pre-Condition Admin HRD dan pimpinan telah melakukan login.
Post-Condition System dapat menampilkan laporan karyawanberdasarkan periode yang dipilih.
Failed end Conditions Gagal menampilkan laporan
-
52
Primary Actor Admin HRD dan pimpinanMain Flow/ Basic Path 1. Admin HRD dan pimpinan mengakses menu
laporan.2. Admin HRD dan pimpinan memilih periode
laporan laporan karyawan3. System menampilkan laporan berdasarkan
periode.Alternate Invariant/Invariant 1
A.1 Admin HRD dan pimpinan mengakses menulaporan.
A.2 Admin HRD dan pimpinan memilih periodelaporan karyawan.
A.3 System menampilkan laporan berdasarkanperiode.
A.4 Admin HRD dan pimpinan memilih tombol“Cetak”
A.5 System menampilkan pesan konfirmasipencetakan.
A.6 Admin HRD dan pimpinan memilih tombol“Yes”.
A.7 System mencetak laporan
5. Use Case Diagram Mengelola Laporan Data Gaji
Sumber: Hasil Penelitian
Gambar III.12
Use Case Diagram Mengelola Laporan Data Gaji
-
53
Tabel III.6.
Deskripsi Use Case Diagram Mengelola Laporan Data Gaji
Use Case Name Mengelola Laporan Data Gaji
Requirment A5Goal Admin HRD dan pimpinan dapat mencetak laporan
gaji
Pre-Condition Admin HRD dan pimpinan telah melakukan login.
Post-Condition System dapat menampilkan laporan gaji berdasarkanperiode yang dipilih.
Failed end Conditions Gagal menampilkan laporan
Primary Actor Admin HRD dan pimpinan
Main Flow/ Basic Path 4. Admin HRD dan pimpinan mengakses menulaporan.
5. Admin HRD dan pimpinan memilih periodelaporan laporan gaji.
6. System menampilkan laporan berdasarkanperiode.
Alternate Invariant/Invariant 1
A.8 Admin HRD dan pimpinan mengakses menulaporan.
A.9 Admin HRD dan pimpinan memilih periodelaporan gaji.
A.10 System menampilkan laporan berdasarkanperiode.
A.11 Admin HRD dan pimpinan memilih tombol“Cetak”
A.12 System menampilkan pesan konfirmasipencetakan.
A.13 Admin HRD dan pimpinan memilih tombol“Yes”.
A.14 System mencetak laporan.
-
54
6. Use Case Diagram Mengelola User
Sumber: Hasil Penelitian
Gambar III.13
Use Case Diagram Pimpinan Mengelola User
Tabel III.7.
Deskripsi Use Case Diagram Mengelola User
Use Case Name Mengelola User
Requirment B6
Goal Pimpinan dapat menambah, mengubah, menghapususer.
Pre-Condition Pimpinan telah melakukan login.
Post-Condition Data User berhasil ditambah, diubah dan dihapus
-
55
Failed end Conditions Gagal menambah, merubah dan menghapus data user.
Primary Actor Pimpinan
Main Flow/ Basic Path 1. Pimpinan mengakses form user.2. Pimpinan memilih tombol “Tambah”3. Pimpinan mengisi data User baru.4. Pimpinan memilih tombol “Simpan”5. System menyimpan data User baru kedalam
Database.6. System menampilkan keterangan berhasil
menyimpan data.
Alternate Invariant/Invariant 1
A.1 Pimpinan mencari data User.A.2 System menampilkan data User yang dicari.A.3 Pimpinan memilih tombol “Edit”A.4 Pimpinan merubah data User.A.5 Pimpinan memilih tombol “Edit”A.6 System memperbarui data User kedalam
Database.A.7 System menampilkan keterangan berhasil
memperbarui data User.
Invarian 2 B.1 Pimpinan mencari data User.B.2 System menampilkan data User yang dicari.B.3 Pimpinan memilih tombol “Hapus”.B.4 System menampilkan pesan konfirmasi
penghapusan.B.5 Pimpinan memilih tombo”Yes”.B.6 System menghapus data User.B.7 System menampilkan keterangan berhasil
menghapus data User.
-
56
3.3.3. Activity Diagram Login
1. Activity Diagram Kebutuhan Admin HRD dan Pimpinan
a. Activity Diagram Login Admin HRD atau Pimpinan
Sumber: Hasil Penelitian
Gambar III.14
Activity Diagram Login Admin HRD atau Pimpinan
-
57
a. Activity Diagram Admin HRD atau Pimpinan Mengisi Data Absen
Sumber: Hasil Penelitian
Gambar III.15
Activity Diagram Absen Admin HRD atau Pimpinan
-
58
b. Activity Diagram Admin HRD atau Pimpinan Mengisi Data Karyawan
Sumber: Hasil Penelitian
Gambar III.16
Activity Diagram Admin HRD atau Pimpinan Mengisi Data Karyawan
-
59
c. Activity Diagram Admin HRD atau Pimpinan Mengisi Data Pinjaman
Sumber: Hasil Penelitian
Gambar III.17
Activity Diagram Admin HRD atau Pimpinan Mengisi Data Pinjaman
-
60
d. Activity Diagram Pimpinan Mengisi Data User
Sumber: Hasil Penelitian
Gambar III.18
Activity Diagram Pimpinan Mengisi Data User
-
61
e. Activity Diagram Admin HRD atau Pimpinan Mengisi Transaksi Gaji
Sumber: Hasil Penelitian
Gambar III.19
Activity Diagram Admin HRD atau Pimpinan Mengisi Transaksi Gaji
-
62
f. Activity Diagram Admin HRD dan Pimpinan Mengisi Laporan
Sumber: Hasil Penelitian
Gambar III.20
Activity Diagram Laporan
-
63
3.4. Desain
Desain merupakan suatu bagian dari teknologi pemrograman berorientasi
objek, dan desain juga merupakan sebuah rancangan, rencana atau sebuah gagasan.
Adapun contohnya adalah sebagai berikut:
3.4.1. Entity Relationship Diagram (ERD)
Sumber: Hasil Penelitian
Gambar III.21
Entity Relationship Diagram (ERD)
-
64
3.4.2. Logical Record Structure (LRS)
Sumber: Hasil Penelitian
Gambar III.22
Logical Record Structure (LRS)
3.4.3. Spesifikasi File
Dalam program ini menggunakan satu buah Database dengan nama
penggajian dan didalamnya terdapat tabel-tabel sebagai entitas. Tabel-tabel tersebut
sebagai berikut:
-
65
1. Spesifikasi File Tabel Admin
Nama Database : penggajian
Nama File : Admin
Tipe File : File Master
Akses File : Random
Panjang Record : 44 Byte
Kunci Field : id_user
Software : MySQL
Tabel III.8.
Spesifikasi File Tabel Admin
No. Elemen Data Akronim Tipe Panjang Keterangan
1 Id User id_user Varchar 6 Primary Key
2 Nama User Nama_user Varchar 20
3 Password Password Varchar 10
4 Level Level Varchar 8
2. Spesifikasi File tabel Absen
Nama File : Absen_Karyawan
Tipe File : File Master
Akses File : Random
Panjang Record : 193 Byte
Kunci Field : Kd_absen
Software : MySQL
-
66
Tabel III.9.
Spesifikasi File Tabel Absen
No.
Elemen Data Akronim Tipe Panjang Keterangan
1 Kd absen Kd_absen Varchar 6 Primary Key
2 Tanggal Tgl Date -
3 Nip Nip Varchar 7
4 Nama Nama Varchar 20
5 Jam Masuk Jam_masuk Time -
6 Jam Keluar Jam_keluar Time -
7 Jam Lembur Jam_lembur Time -
8 Keterangan Ket Varchar 20
3. Spesifikasi File tabel Data Karyawan
Nama File : Data Karyawan
Tipe File : File Master
Akses File : Random
Panjang Record : 193 Byte
Kunci Field : NIP
Software : MySQL
Tabel III.10.
Spesifikasi File Tabel Data Karyawan
No.
Elemen Data Akronim Tipe Panjang Keterangan
1Nomor IndukPegawai
Nip Varchar 7 Primary Key
2 Nama Nama Varchar 20
3 Alamat Alamat Varchar 35
4 Tempat Tempat Varchar 15
-
67
5 Tanggal Tgl Date -
6 Agama Agama Varchar 18
7 Jenis Kelamin Jenis_kelamin Varchar 9
8 Pendidikan Pendidikan Varchar 4
9 Jabatan Jabatan Varchar 18
10 Gaji Pokok Gapok Int 15
11TunjanganJabatan
Tunjangan_jabatanInt 15
12 Status Status Varchar 8
13 Nama Istri Nmistri Varchar 20
14 Jumlah Anak Jlh_anak Int 2
15 Tanggal Masuk Tgl_masuk Date -
16 Masa Kerja Masa_kerja Varchar 7
4. Spesifikasi File Tabel Pinjaman
Nama File : Pinjaman
Tipe File : File Master
Akses File : Random
Panjang Record : 115 Byte
Kunci Field : Kode_pinjaman
Software : MySQL
Tabel III.11.
Spesifikasi File Tabel Pinjaman
No. Elemen Data Akronim Tipe Panjang Keterangan
1 Kode Pinjaman Kode_pinjaman Varchar 5 Primary Key
2 Nip Nip Varchar 7 Foreign Key
3 Pinjaman Pinjamna Int 20
4JumlahAngsuran
Jumlah_angsuran Varchar 13
-
68
5 Total Total Int 20
6 Keterangan Keterangan Varchar 50
7 Tanggal Pinjaman Tanggal_Pinjaman Date -
5. Spesifikasi File Tabel Gaji
Nama File : gaji
Tipe File : File transaksi
Akses File : Random
Panjang Record : 44 Byte
Kunci Field : No_Slip
Software : MySQL
Tabel III.12.
Spesifikasi File Tabel Gaji
No. Elemen Data Akronim Tipe Panjang Keterangan
1 Nomor Slip No_Slip Int 6 Primary Key
2 NIP Nip Varchar 7 Foreign Key
3 Absen Absen Int 2
4 Total Absen Tti_absen Int 12
5 Jumlah_Lembur Jabatan Int 2
6 Total Gaji Total_gaji Int 15
7 Tanggal Gaji Tanggal_gaji Timestamp -
3.4.4.Sequence Diagram
Menjabarkan behavior sebuah skenario tunggal. Sequence diagram
menunjukkan sejumlah objek contoh dan pesan-pesan yang melewati objek-objek ini
di dalam usecase dengan menampilkan partisipan dengan garis alir secara vertikal dan
pengurutan pesan dari atas ke bawah. Berikut adalah sequence diagram sistem usulan:
-
69
Sumber: Hasil Penelitian
Gambar III.23
Sequence Diagram Sistem Usulan
3.4.5. Deployment Diagram
Deployment Diagram menyediakan gambaran bagaimana sistem secara fisik
akan terlihat. Sistem diwakili oleh node-node, dimana masing-masing node diwakili
oleh sebuah kubus. Garis yang menghubungkan kedua kubus menunjukkan hubungan
diantara kedua node tersebut. Berikut gambar Deployment Diagram Sistem Usulan:
-
70
Sumber: Hasil Penelitian
Gambar III.24
Deployment Diagram Sistem Usulan
3.4.6. User Interface
Antar muka pengguna (user interface) merupkan bentuk tampilan grafis yang
berhubungan langsung dengan pengguna (user). Berikut ini adalah gambar user
interface sebagai berikut:
1. Form Login
Adalah halaman awal dari sistem, admin harus login terlebih dahulu dengan
mengisi username dan password yang sudah terdaftar untuk dapat mengoperasikan
aplikasi tersebut.
-
71
Sumber: Hasil Penelitian
Gambar III.25
Form Login
2. Tampilan Menu Utama
Halaman utama hanya menampilkan logo dan alamat perusahaan.
Sumber: Hasil Penelitian
Gambar III.26
Form Utama
-
72
3. Mengelola Data Absen
Pada Halaman ini admin dan pimpinan bisa melakukan pencarian data, menambah,
mengedit dan menghapus data absen.
Sumber: Hasil Penelitian
Gambar III.27
Form Karyawan
4. Mengelola Data Karyawan
Pada Halaman ini admin dan pimpinan bisa melakukan pencarian data, menambah,
mengedit dan menghapus data karyawan.
Sumber: Hasil Penelitian
Gambar III.28
Form Karyawan
-
73
5. Mengelola Data Pinjaman
Pada Halaman ini admin dan pimpinan bisa melakukan pencarian data, menambah
dan menghapus data karyawan
Sumber: Hasil Penelitian
Gambar III.29
Form Pinjaman
6. Mengelola Data User
Dihalaman ini pimpinan dapat menambah admin baru dengan mengisis semua
bidang yang ada dibawah ini
Sumber: Hasil Penelitian
Gambar III.30
Form User
-
74
7. Mengelola Data Gaji
Dihalaman ini admin dan pimpinan dapat menginput gaji dengan mengisi semua
bidang yang ada dihalaman ini dan akan muncul slip gaji untuk di cetak.
Sumber: Hasil Penelitian
Gambar III.31
Form Gaji
Sumber: Hasil Penelitian
Gambar III.32
Tampilan Slip Gaji
-
75
8. Mengelola Laporan
Admin dapat melakukan pencarian data gaji berdasarkan tanggal dan mencetak data
sebagai laporan.
Sumber: Hasil Penelitian
Gambar III.33
Form Laporan Gaji
Sumber: Hasil Penelitian
Gambar.III.34
Tampilan Laporan Gaji
-
76
Sumber: Hasil Penelitian
Gambar III.35
Form Laporan Karyawan
Sumber: Hasil Penelitian
Gambar III.36
Tampilan Laporan Karyawan
-
77
Sumber: Hasil Penelitian
Gambar III.37
Form Laporan Jurnal
Sumber: Hasil Penelitian
Gambar III.38
Tampilan Laporan Jurnal
-
78
3.5. Implementasi
3.5.1.Code Generation
Program yang dibuat adalah programan berbasis web, pada tahapan ini
menampilkan listing program hasil generate dari class-class yang telah dibuat.
a. Transaksi Penggajian
/** 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 penggajian;import java.sql.*;import javax.swing.*;import javax.swing.table.DefaultTableModel;import java.text.SimpleDateFormat;import java.util.Date;import java.awt.event.KeyEvent;import java.util.HashMap;import net.sf.jasperreports.view.JasperViewer;import net.sf.jasperreports.engine.JasperFillManager;import net.sf.jasperreports.engine.JasperPrint;/**** @author Hp*/public class transaksi_gaji extends javax.swing.JInternalFrame {
koneksi kon = new koneksi();private Object[][] datagaji = null;private String[] labelgaji = {"No Slip", "NIP","Kehadiran/bulan", "Jumlah Lembur","Uang
Lembur", "Total Gaji", "Tanggal Gaji"};
/*** Creates new form transaksi_gaji*/public transaksi_gaji() {
initComponents();kon.setKoneksi();TampilTabelGaji();thit.setEnabled(false);
}public Date date = new Date();public SimpleDateFormat noformat = new SimpleDateFormat("yyyy-MM-dd");public String Nip;public String Gapok;public String Tunjangan;public String Nama;public String Tempat;public String Tgl;
-
79
public String Jabatan;public String Status;public String Jlhanak;public String Pinjaman;
public String getNip() {return Nip;
}public String getGapok() {
return Gapok;}public String getTunjangan() {
return Tunjangan;}public String getNama() {
return Nama;}public String getTempat() {
return Tempat;}public String getTgl() {
return Tgl;}public String getJabatan() {
return Jabatan;}public String getStatus() {
return Status;}public String getJlhanak() {
return Jlhanak;}public String getPinjaman() {
return Pinjaman;}private void bersih() {
tslip.setText("");tnip.setText("");tnama.setText("");ttempat.setText("");ttanggal.setText("");tjabatan.setText("");tstatus.setText("");tjlh_absen.setText("");tgapok.setText("");t_jabatan.setText("");tanak.setText("");tpinjaman.setText("");total_gaji.setText("");tlembur.setText("");tuang.setText("");
}private void nonaktif() {
tslip.setEnabled(false);tnip.setEnabled(false);
-
80
tnama.setEnabled(false);ttempat.setEnabled(false);ttanggal.setEnabled(false);tjabatan.setEnabled(false);tstatus.setEnabled(false);tjlh_absen.setEnabled(false);tgapok.setEnabled(false);t_jabatan.setEnabled(false);tanak.setEnabled(false);tpinjaman.setEnabled(false);total_gaji.setEnabled(false);tlembur.setEnabled(false);tuang.setEnabled(false);thit.setEnabled(false);
}private void aktif() {
tslip.setEnabled(true);tnip.setEnabled(true);tnama.setEnabled(true);ttempat.setEnabled(true);ttanggal.setEnabled(true);tjabatan.setEnabled(true);tstatus.setEnabled(true);tjlh_absen.setEnabled(true);tgapok.setEnabled(true);t_jabatan.setEnabled(true);tanak.setEnabled(true);tpinjaman.setEnabled(true);total_gaji.setEnabled(true);tlembur.setEnabled(true);tuang.setEnabled(true);thit.setEnabled(false);
}public String nomor() {
String urutan = null;try {
kon.rs = kon.st.executeQuery("select right (no_slip,3)+1 from gaji as Nomor order byno_slip");
if (kon.rs.next()) {urutan = kon.rs.getString(1);while (urutan.length() < 3) {
urutan = "0" + urutan;}urutan = "PS-" + noformat.format(date) + urutan;
} else {urutan = "PS-" + noformat.format(date) + "001";
}} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);}return urutan;
}private void TampilTabelGaji() {
try {
-
81
String sql = "Select * From gaji order by no_slip";kon.rs = kon.st.executeQuery(sql);ResultSetMetaData m = kon.rs.getMetaData();int kolom = m.getColumnCount();int baris = 0;while (kon.rs.next()) {
baris = kon.rs.getRow();}datagaji = new Object[baris][kolom];int x = 0;kon.rs.beforeFirst();while (kon.rs.next()) {
atagaji[x][0] = kon.rs.getString("no_slip");datagaji[x][1] = kon.rs.getString("nip");datagaji[x][2] = kon.rs.getString("absen");datagaji[x][3] = kon.rs.getString("ttl_absen");datagaji[x][4] = kon.rs.getString("jumlah_lembur");datagaji[x][5] = kon.rs.getString("uang_lembur");datagaji[x][6] = kon.rs.getString("total_gaji");datagaji[x][7] = kon.rs.getString("tgl_gaji");x++; }
tbl_gaji.setModel(new DefaultTableModel(datagaji, labelgaji));} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e);}
}private void SimpanTransaksi() {
String a = "0";try {
String sql = "insert into gaji values ('" + tslip.getText() + "','" + tnip.getText() + "','" +tjlh_absen.getText() + "','" + ttlabsen.getText() + "','" + tlembur.getText() + "','" +tuang.getText() + "','" + total_gaji.getText() + "','" + noformat.format(date) + "')";
kon.st.executeUpdate(sql);
String sql1 = "Update data_karyawan set pinjaman='" + a + "' where nip='" +tnip.getText() + "'";
kon.st.executeUpdate(sql1);
JOptionPane.showMessageDialog(null, "Data berhasil disimpan");
TampilTabelGaji();
} catch (SQLException e) {
System.out.printf("koneksi gagal" + e.toString());}
} private void hapusdata() {int row = tbl_gaji.getSelectedRow();try {
String sql = "Delete from gaji where no_slip='" + (String) tbl_gaji.getValueAt(row, 0)+ "'";
-
82
kon.st.executeUpdate(sql);TampilTabelGaji();
} catch (SQLException e) {JOptionPane.showMessageDialog(null, e);
}}private void lembur() {
int a = Integer.parseInt(tlembur.getText());int b = 15000;int c;c = a * b;tuang.setText(Integer.toString(c));
}private void absen() {
int d = Integer.parseInt(tgapok.getText());int y = Integer.parseInt(tjlh_absen.getText());int i = 25;int n;n = (d / i) * y;ttlabsen.setText(Integer.toString(n));
} private void cetakstruk() {try {
String file = "src/penggajian/slipgaji.jasper";HashMap param = new HashMap();param.put("no_slip", tslip.getText());JasperPrint print = JasperFillManager.fillReport(file, param, kon.setKoneksi());JasperViewer.viewReport(print, false);
} catch (Exception e) {JOptionPane.showMessageDialog(null, e.getMessage());
}}private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:aktif();bersih();tslip.setText(nomor());
}private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:boolean closable =true;data_karyawan karyawan =new data_karyawan (null, closable);karyawan.transaksi = this;karyawan.setVisible(true);karyawan.setResizable(true);tnip.setText(Nip);tnama.setText(Nama);ttempat.setText(Tempat);ttanggal.setText(Tgl);tjabatan.setText(Jabatan);tstatus.setText(Status);tgapok.setText(Gapok);t_jabatan.setText(Tunjangan);tanak.setText(Jlhanak);tpinjaman.setText(Pinjaman);
-
83
}
private void jButton14ActionPerformed(java.awt.event.ActionEvent evt) {// TODO add your handling code here:nonaktif();bersih();
}
private void tlemburActionPerformed(java.awt.event.ActionEvent evt) {// TODO add your handling code here:
}
private void tlemburKeyPressed(java.awt.event.KeyEvent evt) {// TODO add your handling code here:if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
lembur();thit.setEnabled(true);
}}
private void thitActionPerformed(java.awt.event.ActionEvent evt) {// TODO add your handling code here:int d = Integer.parseInt(tgapok.getText());int e = Integer.parseInt(t_jabatan.getText());int f = Integer.parseInt(tuang.getText());int g = Integer.parseInt(tpinjaman.getText());int h;h=(d+e+f)-g;total_gaji.setText(Integer.toString(h));
}
private void tbl_gajiKeyPressed(java.awt.event.KeyEvent evt) {// TODO add your handling code here:if (evt.getKeyCode()==KeyEvent.VK_BACK_SPACE) {
hapusdata();bersih();
}}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {// TODO add your handling code here:SimpanTransaksi();cetakstruk();bersih();nonaktif();
}
private void jButton15ActionPerformed(java.awt.event.ActionEvent evt) {// TODO add your handling code here:hapusdata();bersih();
}
-
84
3.5.2.Blackbox Testing
1. Pengujian terhadap form Login
Tabel III.13.
Blackbox Testing Login
No Skenario
pengujian
Test case Hasil yang diharapkan Hasil
pengujian
Kesimpulan
1 Mengisiusernameyang belumterdaftar atausalah
Usernamesalah
Sistem akan menolakdan akan munculpemberitahuan“Username Salah”
Sesuai harapan Valid
2. Mengisiusernamebenar danmengisipasswordsalah
Passwordsalah
Sistem akan menolakdan akan munculpemberitahuan“Password Salah”
Sesuai harapan Valid
2. Pengujian terhadap inputan form karyawan
Tabel III.14.
Blackbox Testing Inputan Form Karyawan
No Skenariopengujian
Test case Hasil yang diharapkan Hasilpengujian
kesimpulan
1. Klik tombolsimpan
Input textada yangkosong
Sistem akan menolakdan akan munculpemberitahuan“Lengkapi Data”
Sesuaiharapan
Valid
2. Klik tombolsimpan
Text diisi semuadan NIPkaryawansesuai
Sistem akan menerimadan menyimpan datamuncul pemberitahuan“Data BerhasilDisimpan”
Sesuaiharapan
valid
-
85
3. Pengujian terhadap transaksi pengisian transaksi gaji
Tabel III.13.
Blackbox Testing Transaksi Gaji
No Skenariopengujian
Test case Hasil yang diharapkan Hasilpengujian
kesimpulan
1. Klik tombolsimpan
Input textada yangkosong
Sistem akan menolakdan akan munculpemberitahuan “MohonLengkapi Data”
Sesuaiharapan
Valid
2. Klik tombolsimpan
Text diisi semuadan NIPkaryawansesuai
Sistem akan menerimadan menyimpan datamuncul pemberitahuan“Data BerhasilDisimpan”
Sesuaiharapan
valid
3.5.3. Spesifikasi Hadware dan Software
A. Spesifikasi Hadware
Perangkat yang dimaksud disini adalah seperangkat alat atau elemen elektronik
yang dapat membantu sistem yang diusulkan sehingga program yang diiusulkan oleh
penulis dapat bekerja dengan baik. Perangkat keras yang dibutuhkan dibagi atas dua
bagian, yaitu perangkat keras untuk web server dan perangkat keras client.
Adapun perangkat keras yang diperlukan oleh server adalah sebagai berikut
1. Processor : Pentium Dual Core 2.0 GHz
2. Memory Size (RAM) :1 GB (DDRAM)
3. Monitor :SVGAColour 15”
4. Harddisk :80 GB
5. CD-ROM : 52x
6. Keyboard :107 Keys
7. Mouse : Standard Mouse
8. Printer : Deskjet
-
86
Adapun perangkat standar yang diperlukan oleh client adalah sebagai berikut:
1. Processor : Pentium IV 2.8 GHz
2. Memory Size (RAM) :512 MB (DDRAM)
3. Monitor :SVGAColour 15”
4. Harddisk :20 GB
5. CD-ROM : 52x
6. Keyboard : 107 Keys
7. Mouse : Standard Mouse
8. Printer : Deskjet
B. Spesifikasi Software
Perangkat lunak adalah suatu rangkaian atau susunan instruksi yang harus
benar dengan urutan-urutan yang benar pula . Keberadaan perangkat lunak selalu
meyertai perangkat keras yang ada . Perangkat keras yang dibutuhkan di bagi atas dua
bagian , yaitu perangkat lunak untuk web server adalah sebagai berikut:
1. Sistem operasi : NetBeans ID 1.8
2. Bahasa Program : PHP
3. Database Server : MySQL
4. Web Server : Apache Versi 1.6
5. Database Tools : PhpMyAdmin
Adapun perangkat lunak minimal yang di perlukan untuk client adalah sebagai
berikut:
1. Sistem Operasi : Windows 10
2. Browser : Mozila Firefox
3. Office Application : Microsoft Office 20