bab iii pembahasan · karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di...

53
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.

Upload: others

Post on 31-Oct-2020

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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.

Page 2: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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.

Page 3: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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.

Page 4: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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.

Page 5: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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.

Page 6: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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

Page 7: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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

Page 8: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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.

Page 9: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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

Page 10: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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

Page 11: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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

Page 12: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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

Page 13: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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

Page 14: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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

Page 15: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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

Page 16: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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

Page 17: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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

Page 18: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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

Page 19: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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

Page 20: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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

Page 21: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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

Page 22: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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

Page 23: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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

Page 24: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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

Page 25: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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

Page 26: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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

Page 27: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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

Page 28: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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

Page 29: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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

Page 30: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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

Page 31: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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

Page 32: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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)

Page 33: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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

Page 34: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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

Page 35: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

61

3.4.6. User Interface

1. Menu Login

Gambar III.22.

User Interface Home

2. Menu Accounting Rakapitulisasi Absensi

Gambar III.23.

Page 36: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

62

User Interface Menu Accounting Rekapitulasi Absensi

3. Menu Accounting Data Karyawan

Gambar III.24.

User Interface Menu Avcounting Data Karyawan

Page 37: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

63

4. Menu Utama Direktur

Gambar III.25.

User Interface Menu Utama Direktur

Page 38: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

64

5. Menu Utama Karyawan

Gambar III.26.

User Interface menu Utama Karyawan

Page 39: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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() {

Page 40: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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();

Page 41: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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);

Page 42: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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)))

Page 43: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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)

Page 44: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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";

Page 45: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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[]) {

Page 46: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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) {

Page 47: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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;

Page 48: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

74

private javax.swing.JLabel jLabel4;

private javax.swing.JTextField txt_name;

private javax.swing.JPasswordField txt_pass;

// End of variables declaration

}

Page 49: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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

Page 50: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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

Page 51: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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)

Page 52: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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

Page 53: BAB III PEMBAHASAN · Karyawan melakukan absensi masuk & pulang dengan cara mengisi absen di buku absensi. 2. Rekap Absensi Bagian accounting merekap absensi karyawan dengan melihat

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