30 3.1. Tinjauan Perusahaan
Pelaksanaan kegiatan rutin di PT. Karawang Sport Center Indonesia terdapat aturan yang telah ditentukan, dalam hal ini struktur organisasi yang menggambarkan garis perintah dan penerimaan perintah serta fungsi-fungsi pelaksanaan tersebut sehingga semua menjadi lancar. Penulis akan menerangkan sejarah dan struktur organisasi di tempat penulis melakukan Riset untuk pembuatan Tugas Akhir ini, yaitu sebagai berikut:
3.1.1 Sejarah Perusahaan
Lotus Lakes Golf Club dibawah naungan PT Karawang Sport Center Indonesia Diresmikan pada tanggal 29 Oktober 1993 oleh mantan Menteri Perindustrian Bpk. Ir. Tungky Ariwibowo. Dan dirancang oleh Mr. Naoyuki Saito Terdapat 27 lapangan golf, dan setiap 9 lapangan diberi nama Jasmine, Orchid dan
Lotus. Pendiri Lotus lakes Golf Club Mr. Nobuyuki Murakashi beserta tim dari
Nagano Golf Club Japan datang ke Indonesia. Ia terpesona dengan bunga teratai “Kebun Raya Bogor”. Filosofi bunga teratai adalah tumbuh dengan indah dan selalu di atas air, dalam keadaan apapun tanaman bunga teratai tetap kokoh namun lentur. Ini mencerminkan bisnis kita yang harus kita perjuangkan, mempertahankan bisnis kita dalam kondisi apapun. Bunga teratai memiliki banyak manfaat bagi kesehatan, semua bagian bunga teratai seperti daun, tangkai, bung, benang sari, biji, bunga penyangga seperti sarang lebah atau spons dan biji tunas. Semua ini bermanfaat sebagai antioksidan juga baik untuk kanker. Tanaman teratai dianggap paling tinggi dalam mitos yunani.
3.1.2 Struktur Organisasi dan Fungsi
Struktur organisasi perusahaan adalah jaringan kerjasama dalam sekelompok orang guna mencapai tujuan yang telah ditetapkan. Berikut struktur organisasi pada PT. Karawang Sport Center Indonesia.
Sumber: PT. Karawang Sport Center Indonesia
Gambar III.1 Struktur Organisasi Perusahaan
F IN A NC E A C C OU NT I NG F IN A NC E B AN K /P E T Y C A S H A C C OU NT IN G T A X A T ION HR D R E C R UI T M E NT P A YRO L L B P JS HU B UN G A N IND UST R IA L HU M A N R E S OU R C E GE NE R A L AFF A IR K 3 G A P E NG AWA S A N L A P A NG A N S E C UR IT Y C L E A NI N G P UR C H A S I NG W AR E HO USE M E C H A NI C A ND E NG E NE R ING HU B UN G A N DE NG A N DI S NA K E R S E T E M P A T DI RE K T UR/ GM COMM ERCIA L G O L F O P ER A TI O N F R O NT O F F IC E C AD DY M A S T E R B AG R E C E IVE R DR IVI NG C AD DI E
Struktur organisasi perusahaan masing-masing jabatan mempunyai tanggung jawab dan wewenang yang berbeda sesuai bidang keahliannya, Adapun tugas dari tiap-tiap bagian adalah sebagai berikut :
1. Direktur
Tugasnya yaitu sebagai pemimpin dan penanggung jawab perusahaan.
2. Finance
Tugasnya yaitu memcatat setiap transaksi yang terjadi.
3. Bank/Petty Cash
Tugasnya yaitu mengelola kas besan dan kas kecil.
4. Taxation
Tugasnya yaitu berhubungan dengan perpajakan.
5. Accounting
Tugasnya yaitu memonitoring Laporan Keuangan. 6. HRD/human resource development
Tugasnya untuk mengatur serta mengembangkan sumber daya atau kemampuan seluruh pekerja yang ada dalam suatu perusahaan.
7. Recruitment
Tugasnya perekrutan karyawan baru dan pengenalan perusahaan.
8. Payroll
Tugasnya yaitu pembayaran gaji karyawan.
9. BPJS
Bertugas sebagai asuransi kesehatan dan ketenagakerjaan karyawan. 10. Hubungan Industrial
11. Hubungan dangan Disnaker Setempat
Tugasnya yaitu membuat daftar lowongan pekerjaan.
12. Golf Operation
Yaitu memiliki tugas dan tanggung jawab atas kelancaran pelayanan serta menjaga fasilitas lapangan golf operation agar dapat berfungsi dengan baik.
13. Front office
Tugasnya yaitu melakukan registrasi atas reservasi yang telah dilakukan oleh tamu.
14. Caddie Master
Tugas nya yaitu bertanggung jawab atas semua pelayanan lapangan golf beserta para petugasnya
15. Bag Receiver
Tugasnya yaitu menerima tas pemain dan memberi nomor serta nama pemain agar tidak terjadi kesalahan pada pengembalian tas.
16. Driving
Tugasnya membatu pemain yang sedang latihan agar tidak menghambat jalan nya permainan golf.
17. Caddie
3.2. Tinjauan Kasus 3.2.1. Proses Sistem Berjalan
Karyawan pada setiap jadwal hadir melakukan absen manual dengan tandatangan pada kolom absensi yang telah disediakan, lalu absensi dilakukan selama seminggu untuk satu periode. Setiap periode absen karyawan direkap oleh bagian administrasi. Pada akhir preiode absen, admin merekap absen masing-masing karyawan dengan menghitung jumlah masuk dan tidak masuk. Serta membuat laporan rekap absen selama satu bulan untuk diserahkan ke HRD. Setelah laporan rekap absen karyawan di Acc oleh HRD, admin melakukan proses perhitungan gaji selama satu bulan dan membuat laporan gaji lalu diserahkan ke HRD. Laporan gaji yang telah dibuat admin kemudian diserahkan kepada HRD untuk diperiksa dan di Acc. Laporan gaji yang telah di Acc oleh HRD selanjutnya diserahkan kepada direktur untuk di Acc dan ditandatangai. Laporan gaji yang telah di Acc dan ditandatangan oleh direktur, maka HRD membuat slip gaji. Setelah proses pembuatan slip gaji maka admin mengumpulkan arsip-arsip laporan gaji untuk dokumentasi.
3.2.2. Activity Diagram
Melakukan Absen
Menyerahkan Absen Menerima Absen
Membuat Rekap Absen Dan Laporan Rekap Absen
Menerima Laporan Rekap Absen Menyerahkan Laporan
Rekap Absen
Membuat Perhitungan Dan Laporan Gaji
Menyerahkan Laporan Gaji Menerima Laporan Gaji Menandatangani Laporan Gaji Menyerahkan Laporan Gaji Menerima Laporan Gaji Menandatangani dan Acc Laporan Gaji
Pembuatan Slip Gaji
Karyawan Lepas Admin HRD
Direktur
Menerima Laporan Rekap Absen Acc
Menyerahkan Laporan Rekap Absen Acc
Menyerahkan Laporan Gaji Acc Menerima
Laporan Gaji Acc
Arsip Laporan Gaji
3.2.3. Dokumen Masukan
Spesifikasi sistem berjalan adalah serangkaian dari bentuk dokumen untuk mendukung terbentuknya file-file yang dibutuhkan serta informasi yang disajikan, maka dibutuhkan masukan-masukan untuk sistem.
1. Nama Dokumen : Data Absen
Fungsi : Untuk mengatahui Data Absen Karyawan
Sumber : Karyawan
Tujuan : Admin
Media : Kertas
Jumlah : Satu Lembar
Frekuensi : Setiap Terjadinya Absen
Format : Lampiran A.1
2. Nama Dokumen : Data Gaji
Fungsi : Untuk Mengetahui Data Gaji
Sumber : Admin
Tujuan : Admin
Media : Kertas
Jumlah : Satu Lembar
Frekuensi : Lampiran A.2
3.2.4. Dokumen Keluaran
1. Nama Dokumen : Laporan Rekap Absen
Fungsi : Untuk Mengetahui Jumlah Absensi
Sumber : Admin
Media : Kertas
Jumlah : Satu Lembar
Frekuensi : Laporan B.1
2. Nama Dokumen : Laporan Gaji
Fungsi : Untuk Mengetahui Rincian Penggajian
Sumber : HRD
Tujuan : Direktur
Media : Kertas
Jumlah : Satu Lembar
Frekuensi : Setiap Bulan
Format : Lampiran B.2
3. Nama Dokumen : Slip Gaji
Fungsi : Untuk Mengetahui Rincian Gaji
Sumber : HRD
Tujuan : Karyawan
Media : Kertas
Jumlah : Satu Lembar
Frekuensi : Setiap Bulan
Format : Lampiran B.3
3.2.5. Permasalahan Pokok Proses Penggajian
Sistem penggajian dalam setiap perusahaan berbeda-beda. Akan tetapi sistem penggajian pada PT Karawang Sport Center Indonesia ada beberapa masalah dalam pelaksanaan penggajian diantaranya:
1. Adanya keterlambatan dalam menyampaikan informasi pembuatan laporan sehingga memerlukan waktu yang lama.
2. Seringkali terjadi kesalahan dalam perhitungan gaji.
3.2.6. Pemecahan Masalah
Untuk mengatasi permasalah tersebut, maka penulis membuat alternatif pemecahan masalah dengan menggunakan sistem yang telah terkomputerisasi berbasis web. Adapun kelebihan dari sistem tersebut yaitu:
1. Dengan adanya sistem terkomputerisasi maka proses absensi menjadi
lebih ketat.
2. Pada proses pembuatan laporan akan lebih efektif dan kemungkinan
terjadinya kesalahan sangat kecil, serta memerlukan waktu yang cepat, tepat dan akurat.
3. Pembuatan slip gaji melalui sistem dapat dengan tepat.
3.3. Analisis Kebutuhan Software 3.3.1. Analisis Kebutuhan
Pada proses penggajian sistem berjalan pada PT Karawang Sport Center Indonesia maka tahapan berikutnya adalah analisis kebutuhan. Berikut spesifikasi kebutuhan dari sistem penggajian pada PT Karawang Sport Center Indonesia.
A. Halaman Karyawan
A.1. Karyawan Login
A.2. Karyawan Melakukan Absen
B. Halaman Admin
B.1. Admin Login
B.2.1 Admin Mengelola Data Admin B.2.2. Admin Mengelola Data Karyawan B.2.3. Admin Mengelola Data Gaji B.2.4. Admin Mengelola Data Perkiraan B.3. Admin Mengakses Menu Laporan
B.3.1. Admin Mengelola Laporan Absensi B.3.2. Admin Mengelola Laporan Penggajian B.3.3. Admin Mengelola Jurnal
C. Halaman HRD
C.1. HRD Login
C.2. HRD Mengangses Menu Laporan
C.2.1. HRD Mengelola Laporan Absensi C.2.2. HRD Mengelola Laporan Penggajian C.2.3. HRD Mengelola Jurnal
3.3.2. Use Case Diagram
1. Use Case Halaman Karyawan Login
Gambar III.3 Use Case Diagram Halaman Karyawan Login uc Use Case Login
Karyaw an
Input Username
Input Passw ord Mengakses Menu Utama Menu Login «include» «include» «include»
Tabel III.1
Deskripsi Use Case Halaman Karyawan Login
Use Case Narative Halaman Karyawan
Tujuan Karyawan dapat melihat data yang ada didalam sistem
halaman karyawan.
Deskripsi Pada sistem ini aktor melakukan login.
Skenario Utama
Aktor Karyawan
Kondisi Awal Aktor membuka Aplikasi halaman login
Aksi Aktor Reaksi Sistem
1. Aktor memilih menu login
Sistem ini akan menampilkan halaman login
Kondisi Akhir Jika perintah sesuai maka sistem akan menampilkan apa
yang diinginkan
2. Use Case Halaman Karyawan Absen Masuk
Gambar III.4 Use Case Diagram Halaman Karyawan Absen Masuk uc Use Case Absen
Karyaw an
Mengakses Menu Absen
Absen Absen Masuk Login «include» «include» «include»
Tabel III.2
Deskripsi Use Case Halaman Karyawan Absen Masuk
Use Case Narative Halaman Karyawan
Tujuan Karyawan dapat melihat data yang ada didalam sistem
halaman karyawan absen masuk.
Deskripsi Pada sistem ini aktor melakukan absen masuk
Skenario Utama
Aktor Karyawan
Kondisi Awal Aktor membuka Aplikasi halaman absen
Aksi Aktor Reaksi Sistem
1. Aktor memilih menu Absen
Sistem ini akan menampilkan halaman absen masuk
Kondisi Akhir Jika perintah sesuai maka sistem akan menampilkan apa
yang diinginkan
3. Use Case Halaman Karyawan Absen Pulang
Gambar III.5 Use Case Diagram Halaman Karyawan Absen Pulang uc Use Case Absen
Karyaw an
Mengakses Menu Absen
Absen Absen Pulang Login «include» «include» «include»
Tabel III.3
Deskripsi Use Case Halaman Karyawan Absen Pulang
Use Case Narative Halaman Karyawan
Tujuan Karyawan dapat melihat data yang ada didalam sistem
halaman karyawan absen pulang.
Deskripsi Pada sistem ini aktor melakukan absen pulang
Skenario Utama
Aktor Karyawan
Kondisi Awal Aktor membuka Aplikasi halaman absen
Aksi Aktor Reaksi Sistem
1. Aktor memilih menu Absen
Sistem ini akan menampilkan halaman absen pulang
Kondisi Akhir Jika perintah sesuai maka sistem akan menampilkan apa
yang diinginkan
4. Use Case Halaman Admin Login
Gambar III.6 Use Case Diagram Halaman Admin Login uc Use Case Login
Admin
Mengakses Menu Utama
Menu Login
Input Username
Input Passw ord
«include» «include» «include»
Tabel III.4
Deskripsi Use Case Halaman Admin Login
Use Case Narative Halaman Admin
Tujuan Admin dapat melihat data yang ada didalam .
Deskripsi Pada sistem ini aktor melakukan login.
Skenario Utama
Aktor Admin
Kondisi Awal Aktor membuka Aplikasi halaman login
Aksi Aktor Reaksi Sistem
1. Aktor memilih menu login
Sistem ini akan menampilkan halaman login
Kondisi Akhir Jika perintah sesuai maka sistem akan menampilkan apa
yang diinginkan
5. Use Case Halaman Admin Mengelola Menu Master
Gambar III. 7 Use Case Diagram Halaman Admin Mengelola Menu Master
uc Use Case Master
Admin
Mengakses Menu Master
Data Karyaw an
Data Penggaj ian
Tambah Data Karyaw an Edit Data Karyaw an Hapus Data Karyaw an Tambah Data Penggaj ian
Data Perkiraan Tambah Data
Perkiraan Hapus Data Perkiraan Data Admin Tambah Data Admin Edit Data Admin Hapus Data Admin Login Mengakses Menu Utama «extend» «extend» «extend» «include» «include» «include» «include» «include» «extend» «include» «include» «include» «include» «include» «include»
Tabel III.5
Deskripsi Use Case Halaman Admin Mengelola Menu Master
Use Case Narative Halaman Admin Mengelola Menu Master
Tujuan Admin dapat melihat data yang ada didalam menu
master. Deskripsi
Sistem ini memungkinkan aktor untuk masuk ke menu master yang di dalamnya ada data admin, data karyawan, data penggajian dan data perkiraan.
Skenario Utama
Aktor Admin
Kondisi Awal Aktor membuka Aplikasi halaman Menu Master
Aksi Aktor Reaksi Sistem
1. Aktor memilih
data admin Sistem ini akan menampilkan informsi data admin
2.Aktor memilih
data karyawan Sistem ini akan menampilkan informasi data karyawan
3. Aktor memilih data penggajian
Sistem ini akan menampilkan informasi data gaji karyawan
4. Aktor memilih
data perkiraan Sistem ini akan menampilkan informasi data perkiraan
Kondisi Akhir Jika perintah sesuai maka sistem akan menampilkan apa
yang diinginkan
6. Use Case Halaman Admin Mengakses Menu Laporan
Gambar III.8 Use Case Diagram Halaman Admin Mengakses Menu Laporan
uc Use Case Laporan
Admin Mengakses Menu Laporan Rekap Absen Rekap Gaj i Cetak Rekap Absen Cetak Rekap Gaj i Jurrnal Tambah Jurnal Hapus Jurnal Login Mengakses Menu Utama «include» «extend» «include» «extend» «extend» «include» «include» «include» «include»
Tabel III.6
Deskripsi Use Case Halaman Admin Mengakses Menu Laporan
Use Case Narative Halaman Admin Mengakses Menu Laporan
Tujuan Admin damat melihat data yang ada didalam Menu
Laporan
Deskripsi Sistem ini memungkinkan aktor untuk masuk ke Menu
Laporan yang di dalamnya ada rekap absen, rekap gaji dan jurnal.
Skenario Utama
Aktor Admin
Kondisi Awal Aktor membuka Aplikasi halaman Menu Laporan
Aksi Aktor Reaksi Sistem
1. Aktor memilih Rekap Absen
Sistem ini akan menampilkan informasi absensi karyawan,
2. Aktor memilih Rekap Gaji
Sistem ini akan menampilkan informasi rekap gaji karyawan.
3. Aktor memilih Jurnal
Sistem ini akan menampilkan informasi jurnal.
Kondisi Akhir Jika perintah sesuai maka sistem akan menampilkan apa
yang diinginkan
7. Use Case Halaman HRD Login
Gambar III.9 Use Case Diagram Halaman HRD Login
uc Use Case Login
HRD
Mengakses Menu Utama
Menu Login
Input Username
Input Passw ord
«include» «include» «include»
Tabel III.7
Deskripsi Use Case Halaman HRD Login
8. Use Case Halaman HRD Mengelola Menu Laporan
Gambar III.10 Use Case Diagram Halaman HRD Mengelola Menu Laporan uc Use Case Laporan
HRD
Mengakses Menu Laporan
Rekap Absen Cetak Rekap Absen
Rekap Gaj i Cetak Rekap Gaj i Jurnal Cetak Jurnal Login Mengakses Menu Utama Input Jurnal «extend» «include» «include» «include» «extend» «extend» «include» «include» «include»
Use Case Narative Halaman HRD Login
Tujuan Admin dapat melihat data yang ada didalam .
Deskripsi Pada sistem ini aktor melakukan login.
Skenario Utama
Aktor HRD
Kondisi Awal Aktor membuka Aplikasi halaman login
Aksi Aktor Reaksi Sistem
1. Aktor memilih menu login
Sistem ini akan menampilkan halaman login
Kondisi Akhir Jika perintah sesuai maka sistem akan menampilkan apa
Tabel III.8
Use Case Halaman HRD Mengelola Menu Laporan Use Case Narative Halaman HRD Menngelola Menu Laporan
Tujuan HRD damat melihat data yang ada didalam Menu
Laporan
Deskripsi Sistem ini memungkinkan aktor untuk masuk ke Menu
Laporan yang di dalamnya ada rekap absen, rekap gaji dan jurnal.
Skenario Utama
Aktor HRD
Kondisi Awal Aktor membuka Aplikasi halaman Menu Laporan
Aksi Aktor Reaksi Sistem
1. Aktor memilih Rekap Absen
Sistem ini akan menampilkan informasi absensi karyawan,
2. Aktor memilih Rekap Gaji
Sistem ini akan menampilkan informasi rekap gaji karyawan.
3. Aktor memilih Jurnal
Sistem ini akan menampilkan informasi jurnal.
KondisiAkhir Jika perintah sesuai maka sistem akan menampilkan
3.3.3. Activity Diagram
1. Activity Diagram Karyawan Login
Verifikasi Tampil Ke Menu Utama Benar Salah Tampil Pesan Anda Gagal Login Username Atau Password Mungkin Salah
Finish Karyawan Sistem Melakukan Login Masukan Password Masukan Username Klik Login
2. Activity Diagram Karyawan Absen Masuk
diagram aktivity absen karyawan
Karyawan sistem P h as e Klik absen masuk
Simpan data absen Klik Menu Login Klik Menu Absen Masuk Klik Menu Absen Masuk Tampil Form Absen
Absen Masuk
Nik Nama Status Absen
3. Activity Diagram Karyawan Absen Pulang
diagram aktivity absen karyawan
Karyawan sistem P h as e Klik absen Pulang
Simpan data absen Klik Menu Login Klik Menu Absen Pulang Klik Menu Absen Pulang Tampil Form Absen
Absen Pulang
Nik Nama Status Absen
4. Activity Diagram Halaman Admin Login Verifikasi Tampil Ke Menu Utama Benar Salah Tampil Pesan Anda Gagal Login Username Atau Password Mungkin Salah
Finish Admin Sistem Melakukan Login Masukan Password Masukan Username Klik Login
5. Activity Diagram Halaman Mengelola Data Admin
diagram aktivity Data admin
Admin sistem
Klik menu Master
Menampilkan Menu Mater
Data
Admin PerkiraanData
Data Penggajian Data Karyawan Klik Menu Data Admin
Menampilkan Form Data Admin
Tambah Hapus Edit
Tampil Form Input Data Admin Input Data
Admin
Klik Tombol
Simpan Data Tersimpan
Tampil Menu Hapus
Pilih Data Admin Yang Akan Dihapus
Klik Hapus Data Terhapus
Tampil Menu Edit
Pilih Data Admin Yang Akan Diedit
Klik Tombol Edit
Klik Tombol
Simpan Data Tersimpan
6. Actvity Diagram Admin Mengelola Data Karyawan
Diagram Activity Data Karyawan
Admin sistem P h se Klik menu Master
Menampilkan Menu Mater
Data
Admin KaryawanData PenggajianData PerkiraanData Klik Menu
Data Karyawan
Menampilkan Form Data Karyawan
Tambah Hapus Edit
Tampil Form Input Data Karyawan Input Data
Karyawan
Klik Tombol
Simpan Data Tersimpan
Tampil Menu Hapus
Pilih Data Karyawan Yang Akan Dihapus
Klik Hapus Data Terhapus
Tampil Menu Edit
Pilih Data Karyawan Yang Akan Diedit
Klik Tombol Edit
Klik Tombol
Simpan Data Tersimpan
7. Activity Diagram Admin Mengelola Data Penggajian
Diagram Activity Data Penggajian
Admin sistem
P s Klik menu
Master
Menampilkan Menu Mater
Data
Admin KaryawanData PenggajianData PerkiraanData Klik Menu
Data Penggajian
Menampilkan Form Data Penggajian
Input Data Penggajian
Klik Tombol Simpan
Data Tersimpan
8. Activity Diagram Admin Mengelola Data Perkiraan
Diagram Activity Data Perkiraan
Admin sistem P h se Klik menu Master
Menampilkan Menu Mater
Data
Admin KaryawanData PenggajianData PerkiraanData
Klik Menu Data Perkiraan
Menampilkan Form Data Perkiraan
Tambah Hapus
Tampil Form Input Data Perkiraan Input Data
Perkiraan
Klik Tombol
Simpan Data Tersimpan
Tampil Menu Hapus
Pilih Data Perkiraan Yang Akan Dihapus
Klik Hapus Data Terhapus
9. Activity Diagram Admin Mengakses Laporan Absensi diagram aktivity Absensi
Admin sistem P h as e Klik Menu Laporan Menampilkan Menu Laporan Klik Menu Laporan Absensi Laporan Absensi Laporan Penggajian Laporan Jurnal
Menampilkan Form Laporan Absensi
Klik Print Laporan Absensi
Print Laporan Absensi
Menampilkan Laporan Absensi
10. Activity Diagram Admin Mengakses Laporan Penggajian diagram aktivity Laporan Penggajian
Admin sistem P h as e Klik Menu Laporan Menampilkan Menu Laporan Klik Menu Laporan Penggajian Laporan Absensi Laporan Penggajian Laporan Jurnal
Menampilkan Form Laporan Penggajian
Klik Print Slip Gaji
Print Slip Gaji
Menampilkan Slip Gaji
11. Activity Diagram Admin Mengakses Laporan Jurnal
diagram aktivity Laporan Jurnal
Admin sistem P h as e Klik Menu Laporan Menampilkan Menu Laporan Klik Menu Laporan Jurnal Laporan Absensi Laporan Penggajian Laporan Jurnal
Menampilkan Form Laporan Jurnal
Tambah Hapus
Tampil Menu Input Jurnal Input Jurnal
Klik Simpan Jurnal Tersimpan
Pilih Jurnal Yang Akan Dihapus
Klik Hapus Jurnal Terhapus
12. Activity Diagram HRD Menu Login Verifikasi Tampil Ke Menu Utama Benar Salah Tampil Pesan Anda Gagal Login Username Atau Password Mungkin Salah
Finish HRD Sistem Melakukan Login Masukan Password Masukan Username Klik Login
13. Activity Diagram HRD Mengakses Laporan Absensi diagram aktivity Laporan Absensi
HRD sistem P h as e Klik Menu Laporan Menampilkan Menu Laporan Klik Menu Laporan Absensi Laporan Absensi Laporan Penggajian Laporan Jurnal
Menampilkan Form Laporan Absensi
Klik Print Laporan Absensi
Print Laporan Absensi
Menampilkan Laporan Absensi
14. Activity Diagram HRD Mengakses Laporan Penggajian diagram aktivity Penggajian
HRD sistem P h as e Klik Menu Laporan Menampilkan Menu Laporan Klik Menu Laporan Penggajian Laporan Absensi Laporan Penggajian Laporan Jurnal
Menampilkan Form Laporan Penggajian
Menampilkan Laporan Penggajian
15. Activity Diagram HRD Mengakses Laporan Jurnal diagram aktivity Laporan Jurnal
HRD sistem P h as e Klik Menu Laporan Menampilkan Menu Laporan Klik Menu Laporan Jurnal Laporan Absensi Laporan Penggajian Laporan Jurnal
Menampilkan Form Laporan Jurnal
Tambah Hapus
Tampil Menu Input Jurnal Input Jurnal
Klik Simpan Jurnal Tersimpan
Pilih Jurnal Yang Akan Dihapus
Klik Hapus Jurnal Terhapus
3.4. Desain
3.4.1. Entity Relationship Diagram (ERD)
Kayawan Absen Nik Nama_Karyawan Tgl_Lahir Tempat_lahir Alamat Jenis_Kelamin Tgl_Masuk No_Hp Status Kd_Absen Tgl_Masuk Nik Jam_Pulang Ketetangan Jam_Masuk Periode Melakukan Menerima Gaji Potongan_Bpjs Kd_Admin Kd_Absen Kd_Gaji Jumlah_Absen Gaji_Pokok Potongan_Koperasi Total_Gaji Periode Menghitung Admin Level Nama_Admin Kd_Admin Mencatat Jurnal Tanggal Kd_Admin Keterangan Kd_Jurnal Menghasilkan Mempunyai Detail Jurnal Kredit Debet Kd_Akun Kd_Jurnal Kd_Gaji Memiliki Perkiraan Nama_Akun Saldo_Normal Kd_Akun 1 M M 1 1 1 1 1 1 1 1 Password Nama_Karyawan
3.4.2. Logical Record Structure (LRS) Nik (PK) Nama_Karyawan Tempat_Lahir Tgl_Lahir Alamat Jenis_Kelamin Status No_Hp Tgl_Masuk Karyawan Kd_Absen (PK) Nik (FK) Nama_Karyawan Tgl_Absensi Priode Jam_Masuk Jam_Pulang Keterangan Absen Kd_Jurnal (FK) Kd_Gaji FK) Kd_Akun (FK) Debet Kredit Detail Jurnal Kd_Akun (PK) Nama_Akun Saldo_Normal Perkiraan Kd_Jurnal (PK) Kd_Admin (FK) Tanggal Keterangan Jurnal Kd_Admin (PK) Nama_Admin Password Level Admin Kd_Gaji (PK) Kd_Admin (FK) Kd_Absen Potongan_Bpjs Potongan_Koperasi Gaji_Pokok Jumlah_Absen Total_Gaji Periode Gaji 1 1 1 1 1 1 1 1 M M 1 Gambar III.27 LRS
3.4.3. Spesifikasi File
a. Spesifikasi File Admin
Nama Database : Admin
Nama File : Admin
Tipe File : Admin
Akses File : Random
Panjang Record : 43 Karakter
Field Key : Kd_Admin
Tabel III.9
Spesifikasi File Tabel Admin
No Elemen Data Akronim Tipe Panjang Keterangan
1 kode admin kd_admin varchar 10 Primary Key
2 Nama Nama varchar 20
3 Password Password varchar 8
4 Level Level varchar 5
b. Spesifikasi File Data Karyawan
Nama Database : Karyawan
Nama File : Karyawan
Tipe File : Master
Akses File : Random
Panjang Record : 148 Karakter
Tabel III.10
Spesifikasi File Tabel Data Karyawan
No Elemen Data Akronim Tipe Panjang Keterangan
1 Nomor Induk Karyawan Nik varchar 10 Primary Key
2 Nama Karyawan Nama_Karyawan varchar 20
3 Tanggal Lahir tgl_lahir varchar 8
4 Tempat Lahir tempat_lahir varchar 20
5 Alamat Alamat varchar 50
6 Jenis Kelamin Jenis_Kelamin varchar 7
7 No Handphone No_Hp varchar 12
8 Status Status varchar 13
9 Tanggal Masuk tgl_masuk varchar 8
c. Spesifikasi File Data Gaji
Nama Database : Gaji
Nama File : Penggajian
Tipe File : Master
Akses File : Random
Panjang Record : 86 Karakter
Field Key : Kd_Gaji
Tabel III.11
Spesifikasi File Tabel Data Gaji
No Elemen Data Akronim Tipe Panjang Keterangan
1 Kode Gaji Kd_Gaji varchar 10 Primary Key
2 Kode Admin Kd_Admin varchar 10 FK
3 Nomor Induk Karyawan Nik varchar 10 FK
4 Nama Nama_Karyawan varchar 20
5 Potongan Bpjs Potongan_Bpjs varchar 5
6 Potongan Koperasi Potongan_Koperasi varchar 5
7 Gaji Pokok Gaji_Pokok varchar 6
8 Total Gaji Total_Gaji varchar 10
d. Spesifikasi File Data Perkiraan
Nama Database : Perkiraan
Nama File : Perkiraan
Tipe File : Master
Akses File : Random
Panjang Record : 30 Karakter
Field Key : Kd_Akun
Tabel III.12
Spesifikasi File Tabel Perkiraan
No Elemen Data Akronim Tipe Panjang Keterangan
1 Kode Akun Kd_Akun varchar 5 Primary Key
2 Nama Akun Nama_Akun varchar 15
3 Saldo Normal Saldo_Normal varchar 10
e. Spesifikasi File Absensi
Nama Database : Absen
Nama File : Absen
Tipe File : Transaksi
Akses File : Random
Panjang Record : 78 Karakter
Tabel III.13
Spesifikasi File Tabel Absensi
No Elemen Data Akronim Tipe Panjang Keterangan
1 Kode Absen kd_absen varchar 10 Primary Key
2
Nomor Induk
Karyawan Nik varchar 10 FK
3 Nama Nama_Karyawan varchar 20
4 Tanggal Absen Tgl_Absensi varchar 8
5 Priode Priode varchar 10
6 Jam Masuk Jam_Masuk varchar 5
7 Jam Pulang Jam_Pulang varchar 5
8 Keterangan Keterangan varchar 10
f. Spesifikasi File Jurnal
Nama Database : Jurnal
Nama File : Jurnal
Tipe File : Transaksi
Akses File : Random
Panjang Record : 40 Karakter
Field Key : Kd_Jurnal
Tabel III.14
Spesifikasi File Tabel Jurnal
No Elemen Data Akronim Tipe Panjang Keterangan
1 Kode Jurnal Kd_Jurnal varchar 5 Primary Key
2 Kode Admin Kd_Admin varchar 5 FK
3 Tanggal Tanggal varchar 10
g. Spesifikasi File Data Detail Jurnal
Nama Database : DetailJurnal
Nama File : Detail Jurnal
Tipe File : Transaksi
Akses File : Random
Panjang Record : 35 Karakter
Field Key : Kd_Jurnal
Tabel III.15
Spesifikasi File Tabel Detail Jurnal
No Elemen Data Akronim Tipe Panjang Keterangan
1 Kode Jurnal Kd_Jurnal varchar 5 Primary Key
2 Kode Akun Kd_Akun varchar 5 FK
3 Kode Gaji Kd_Gaji varchar 5 FK
3 Debit Debit varchar 10
3.4.4. Sequence Diagram
Admin Login
Input Kode User dan
Password
User Password tdk ada ()
Menu Utama
User Password Benar () Menampilkan Menu
Utama
Input Data Transaksi
Pilih menu transaksi()
Absensi Karyawan Input data Transaksi () Transaksi Penggajian Laporan Simpan data penggajian () Input data Penggajian ()
Kembali kemenu utama ()
3.4.5. Deployment Diagram Main Device << Device >> Database Browser .
Aplikasi Basis Data
MySQL Aplikasi User << Index . php >> Xampp Server << style . css
3.4.6. User Interface
1. Menu Karawan Login
Gambar III.30 Menu Login 2. Menu Karyawan Absen Masuk
3. Menu Karyawan Absen Pulang
Gambar III.32 Menu Admin Absen Pulang 4. Menu Admin Login
5. Menu Data Admin
6. Menu Data Karyawan
7. Menu Data Penggajian
Gambar III.36 Menu Data Penggajian 8. Menu Data Perkiraan
9. Menu Laporan absensi
Gambar III.38 Menu Laporan Absensis
10. Menu Laporan Penggajian
11. Menu Laporan Jurnal
12. Tampilan Menu HRD
Gambar III.41 Halaman Menu HRD
13. Halaman Menu Data Absensi Karyawan
14. Halaman Jurnal
Gambar III.43 Halaman Menu Jurnal
3.5. Implementasi 3.5.1. Code Generation
A. Form Data Login Karyawan <!DOCTYPE html>
<html> <head>
<title></title>
<link href="css/bootstrap.min.css" rel="stylesheet"> </head>
<body style="background-color: #cc9966;">
<div id="panel" style="width: 30%;margin-left: 13cm;margin-top:3cm;height: 400px;background-color: black;border-radius: 7px;">
<div class="text-center mb-4">
<h1 class="h3 mb-3 font-weight-normal" style="color: white;font-weight: bold;text-shadow: 5px 5px 5px black;">Menu Login</h1>
</div>
<div class="form-label-group">
<form class="form-signin" action="" method="post">
<input type="text" id="inputEmail" class="form-control" name="username" placeholder="Masukan Username Anda" required autofocus style="border:0px;background-color: transparent;width: 300px;margin-left: 1cm;"><hr>
</div>
<div class="form-label-group">
<input type="password" id="inputPassword" name="password" class="form-control" placeholder="Masukan Password Anda" required style="border:0px;background-color: transparent;width: 300px;margin-left: 1cm;">
<hr></div>
<button class="btn btn-lg btn-primary btn-block" style="width: 300px;margin-left: 1cm;" type="submit" name="login">Sign in</button>
<p class="mt-5 mb-3 text-muted text-center">© <b style="color: white;font-weight: bold;">Copyright : Nia Suryani</b></p>
</form></div> <?php
include 'admin/koneksi.php';
if( isset($_POST["login"])) {
$nip = $_POST["username"]; $pass = $_POST["password"];
$cek_data = mysqli_query($koneksi, "SELECT * FROM karyawan WHERE nik = '$nip' AND tgl_lahir='$pass'");
$data = mysqli_fetch_array($cek_data); $nama = $data['nama']; $nik = $data['nik']; if(mysqli_num_rows($cek_data) > 0){ session_start(); $_SESSION['nama'] = $nama; $_SESSION['nik'] = $nik; echo "<script>
alert('Anda Berhasil Login');
document.location.href = 'absen_masuk.php'; </script>";
} else{
echo "<script>
alert('Anda Gagal Login Username Atau Password Mungkin Salah');
document.location.href = ''; </script>";
} }
?> </body> </html> <?php session_start(); ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content=""> <meta name="author" content="">
<link rel="icon" href="../../../../favicon.ico">
<title></title>
<!-- Bootstrap core CSS -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="dashboard.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="css/style.css"> </head>
<body>
<nav class="navbar navbar-dark fixed-top bg-dark flex-md-nowrap p-0 shadow">
<a class="navbar-brand col-sm-3 col-md-2 mr-0" href="#">PT.KARAWANG SPORT CENTER INDONSEIA</a>
<ul class="navbar-nav px-3"> <li class="nav-item text-nowrap">
<a class="nav-link" href="absen_logout.php">Sign out</a> </li>
</ul> </nav>
<div class="container-fluid" style="margin-top: 1cm;"> <div class="row">
<nav class="col-md-2 d-none d-md-block bg-light sidebar"> <div class="sidebar-sticky" style="height: 650px;">
<ul class="nav flex-column">
<h4 class="sidebar-heading d-flex justify-content-between align-items-center px-3 mt-4 mb-1 text-muted"> <li class="nav-item"> <span data-feather="bar-chart-2"></span> <b>Karyawan Absen</b> </li> </h4> <li class="nav-item">
<a class="nav-link active" href="absen_masuk.php"> <span data-feather="home"></span>
Absen Masuk <span class="sr-only">(current)</span> </a>
</li> </li>
<li class="nav-item">
<span data-feather="users"></span> Absen Pulang </a> </li> </ul> </div> </nav>
<main role="main" class="col-md-9 ml-sm-auto col-lg-10 px-4">
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom">
<div class="table-responsive">
<table class="table table-striped table-sm" style="text-align: center;">
<thead> <tr>
<th colspan="5"><h3 style="text-align: center;font-weight: bold;text-shadow: 2px 2px 2px black">Selamat Datang <?php echo $_SESSION['nama']; ?> Silahkan Lakukan Absensi Sebelum Mulai Bekerja</h3>
<div class="header"> <br>
<div class="content">
<script type="text/javascript">
//fungsi displayTime yang dipanggil di bodyOnLoad dieksekusi tiap 1000ms = 1detik
function tampilkanwaktu(){
//buat object date berdasarkan waktu saat ini var waktu = new Date();
//ambil nilai jam,
//tambahan script + "" supaya variable sh bertipe string sehingga bisa dihitung panjangnya : sh.length
//ambil nilai menit
var sm = waktu.getMinutes() + ""; //ambil nilai detik
var ss = waktu.getSeconds() + "";
//tampilkan jam:menit:detik dengan menambahkan angka 0 jika angkanya cuma satu digit (0-9)
document.getElementById("clock").innerHTML = (sh.length==1?"0"+sh:sh) + ":" + (sm.length==1?"0"+sm:sm) + ":" + (ss.length==1?"0"+ss:ss); } </script> <body onload="tampilkanwaktu();setInterval('tampilkanwaktu()', 1000);">
<span id="clock" style="margin-left: -23cm;font-family: cursive;font-weight: bold;font-size: 20px;color: black;text-shadow: 3px 5px 5px black;"></span>
<div class="tanggal" style="font-weight: bold;margin-left: -21cm;font-family: cursive;text-shadow: 3px 5px 5px black;"><?php
$hari = date('l');
/*$new = date('l, F d, Y', strtotime($Today));*/ if ($hari=="Sunday") { echo "Minggu"; }elseif ($hari=="Monday") { echo "Senin"; }elseif ($hari=="Tuesday") { echo "Selasa"; }elseif ($hari=="Wednesday") { echo "Rabu"; }elseif ($hari=="Thursday") { echo("Kamis"); }elseif ($hari=="Friday") {
echo "Jum'at"; }elseif ($hari=="Saturday") { echo "Sabtu"; } ?>, <?php $tgl =date('d'); echo $tgl; $bulan =date('F'); if ($bulan=="January") { echo " Januari "; }elseif ($bulan=="February") { echo " Februari "; }elseif ($bulan=="March") { echo " Maret "; }elseif ($bulan=="April") { echo " April "; }elseif ($bulan=="May") { echo " Mei "; }elseif ($bulan=="June") { echo " Juni "; }elseif ($bulan=="July") { echo " Juli "; }elseif ($bulan=="August") { echo " Agustus "; }elseif ($bulan=="September") { echo " September "; }elseif ($bulan=="October") { echo " Oktober ";
}elseif ($bulan=="November") { echo " November "; }elseif ($bulan=="December") { echo " Desember "; } $tahun=date('Y'); echo $tahun; ?></th> </tr> </thead> <tbody>
<form action="" method="post"> <tr style="font-weight: bold;"> <td style="width: 10px;">NIK</td> <td style="width: 700px;"><center>Nama Karyawan</center></td> <td>Status Absen</td> </tr> <?php include 'admin/koneksi.php'; $no = 1;
$query = mysqli_query ($koneksi, "SELECT * FROM karyawan"); while($data = mysqli_fetch_array($query)){
?> <tr>
<td><input type="text" name="nik" value="<?php echo $_SESSION['nik']; ?>" style="border:0px;text-align: center;"></td>
<td><input type="text" name="nama" value="<?php echo $_SESSION['nama']; ?>" style="border:0px;text-align: center;"></td>
<td><input type="submit" value="Absen Masuk" name="absen_masuk" class="btn btn-primary" style="width: 250px;"></td> </tr> <?php } ?> </tr> </form> </tbody> </table> </div> </main> </div> </div> <?php include 'admin/koneksi.php'; if( isset($_POST["absen_masuk"]) ){ $nik= $_POST['nik']; $nama= $_POST["nama"]; date_default_timezone_set('Asia/Jakarta'); $tanggal= date('Y-d-m'); $periode= date('MY'); $jam_masuk= date("H:i"); $jam_keluar= 0; $keterangan= 1;
$query = mysqli_query ($koneksi, "SELECT * FROM absen");
$data = mysqli_fetch_array($query);
$query = "INSERT INTO absen VALUES
('', '$nik', '$nama', '$tanggal', '$periode', '$jam_masuk', '$jam_keluar', '$keterangan')";
mysqli_query($koneksi, $query); if(isset($_POST) > 0 ){
echo " <script>
alert('Absensi Berhasil Melakukan Absensi Masuk');
</script>"; }
else {
echo "Data Bagian Gagal Di Input!!!!!!!!!!!!!";
} }
?>
<!-- Bootstrap core JavaScript
================================================== --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi 6jizo" crossorigin="anonymous"></script> <script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery-slim.min.js"><\/script>')</script> <script src="../../assets/js/vendor/popper.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script> <!-- Icons --> <script src="https://unpkg.com/feather-icons/dist/feather.min.js"></script> <script> feather.replace() </script> <!-- Graphs --> <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.1/Chart.min.js"></sc ript> <script> var ctx = document.getElementById("myChart"); var myChart = new Chart(ctx, {
type: 'line', data: {
labels: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], datasets: [{ data: [15339, 21345, 18483, 24003, 23489, 24092, 12034], lineTension: 0, backgroundColor: 'transparent', borderColor: '#007bff', borderWidth: 4,
pointBackgroundColor: '#007bff' }] }, options: { scales: { yAxes: [{ ticks: { beginAtZero: false } }] }, legend: { display: false, } } }); </script> </body> </html>
3.5.2. Blackbox Testing
A. Form Login Karyawan
Tabel III.16
Hasil Pengujian Black Box Testing Form Login Karyawan
No. Skenario
Pengujian
Test case Hasil yang
diharapkan Hasil pengujian kesimpulan 1. Username dan Password tidak diisi kemudian klik tombol login
Username:
(kosong)
Sistem akan menolak akses dan menampilkan pesan "masukan Username dan Password" Sesuai harapan Valid Password: (kosong) 2. Mengetikan Username namun Password tidak
diisi atau kosong kemudian klik tombol login
Username:
Rina Marlina
Sistem akan menolak akses dan menampilkan pesan "Password Harus Diisi" Sesuai harapan Valid Password: (kosong) 3. Username tidak di
isi (kosong) dan
Password diisi
kemudian klik tombol login
Username:
(kosong)
Sistem akan menolak Akses dan menampilkan pesan "Username Harus Diisi" Sesuai harapan Valid Password: 1997-06-13 4. Mengetikan salah
satu kondisi pada
Username dan Password
kemudian dengan data yang tidak sesuai lalu klik tombol login
Username:
Rina Marlina (benar)
Sistem akan menolak akses akan kembali diarahkan ke halaman login dan
menampilkan pesan "Maaf Username atau
Password Anda Salah" Sesuai harapan Valid Password: 123456 (salah) 5. Mengetikan Username dan Password dengan
data yang benar kemudian klik tombol login Username: Rina Marlina (benar) Sistem akan
menerima akses login dan akan menampilkan pesan "Login Berhasil! Selamat Datang di Halaman Absen Karyawan" Sesuai harapan Valid Password: 1997-06-13 (benar)
3.5.3. Spesifikasi Hardware dan Software
Tabel III.17
Spesifikasi Hardware dan Software
Kebutuhan Keterangan
Sistem Operasi Microsoft Windows 7
Processor Intel R Core (TM)
RAM 2.00 GB
Harddisk 1,74 GB
Monitor 14.0” HD LED LCD
Keyboard Standard PS/2 Keyboard
Mouse Standard
Software Bahasa pemrograman : PHP
Aplikasi Pendukung : Dreamweaver DBMS : MySQL