-
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