PERANCANGAN SISTEM PENGGAJIAN DENGAN HAK AKSES...
Transcript of PERANCANGAN SISTEM PENGGAJIAN DENGAN HAK AKSES...
PERANCANGAN SISTEM PENGGAJIAN DENGAN HAK
AKSES KARYAWAN BERBASIS WEB (Studi Kasus : PK Gaya Baru)
Oleh :
Sodikin
206091004076
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA 2011 M/1432 H
1
PERANCANGAN SITEM PENGGAJIAN DENGAN HAK AKSES
KARYAWAN BERBASIS WEB
(Studi Kasus : PK Gaya Baru )
Oleh :
Sodikin
206091004076
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA 2011 M/1432 H
2
3
PERANCANGAN SITEM PENGGAJIAN DENGAN HAK AKSES
KARYAWAN BERBASIS WEB
(Studi Kasus : PK Gaya Baru )
Sodikin
206091004076
Skripsi
Sebagai Salah Satu Syarat Untuk Memperoleh Gelar
Sarjana Komputer
Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA 2011 M/1432 H
4
5
6
PERNYATAAN
DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-BENAR HASIL KARYA SENDIRI DAN BELUM PERNAH DIAJUKAN SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAU LEMBAGA MANAPUN.
Jakarta, Oktober 2011
Sodikin
206091004076
7
ABSTRAK
Sodikin, Perancangan Sistem Penggajian dengan Hak Akses Karyawan Berbasis Web studi kasus PK Gaya Baru, (di bawah bimbingan Herlino Nanang dan Victor Amrizal).
Gaji adalah suatu bentuk balas jasa ataupun penghargaan yang diberikan secara teratur kepada seorang pegawai atas jasa dan hasil kerjanya. PK. Gaya Baru adalah perusahaan yang bergerak di bidang distributor bahan makanan. Dalam melakukan proses pengumpulan dan pengecekan data karyawan PK. Gaya Baru, seperti data absensi, data pribadi karyawan, dan penggajian karyawan yang dilakukan oleh bagian admin dan keuangan secara berulang. Setelah penulis melakukan analisa maka didapat hasil, bahwa prosedur pengolahan data penggajian telah sesuai prosedur yang berlaku, namun prosesnya masi dilakukan secara manual. Hal ini menyebabkan pekerjaan menjadi lambat dan sering tidak akurat, maka penulis akan mencoba melengkapi kekurangan itu dengan melakukan pengembangan perancangan sistem penggajian dengan hak akses karyawan berbasis web yang terkomputerisasi dengan menggunakan bahasa pemrograman PHP dan My SQL digunakan untuk membuat database, dan menggunakan metodologi SDLC (System Development Life Cycle) model waterfall, perancangan aplikasi penggajian ini dijabarkan melalui DAD (Diagram Arus Data) dengan menggunakan MS. Visio 2007.
V Bab + 116 Halaman + Daftar Pustaka + Lampiran
Kata Kunci : Gaji, SDLC (System Development Life Cycle), DAD (Diagram Arus Data).
8
KATA PENGANTAR
Bismillahirrahmaanirrahim,
Syukur alhamdulillah penulis haturkan kehadirat Allah SWT atas rahmat
dan karuniaNya, selanjutnya shalawat dan salam penulis sampaikan kepada
junjungan kita Nabi besar Muhammad SAW beserta keluarga dan sahabatnya
yang telah membawa kita dari alam kegelapan kealam yang berilmu
pengetahuan sehingga penulis dapat menyelesaikan Skripsi ini dengan judul
“Perancangan Sitem Penggajian Dengan Hak Akses Karyawan Berbasis
Web (Studi Kasus :PK Gaya Baru). Yang merupakan syarat dalam
menyelesaikan Program Studi S1 pada program studi Teknik Informatika,
Fakultas Sains dan Teknologi di Universitas Islam Negeri (UIN) Syarif
Hidayatullah Jakarta.
Selama penulisan Skripsi ini, penulis banyak mendapat bantuan dan
bimbingan dari berbagai pihak, untuk itu pada kesempatan ini penulis ingin
mengucapkan terima kasih yang sebesar-besarnya kepada :
1. DR. Syopiansyah Jaya Putra, M.Sis, selaku Dekan Fakultas Sains dan
Teknologi.
2. Yusuf Durrachman, M.Sc, M.IT, selaku Ketua Program Studi Teknik
Informatika Fakultas Sains dan Teknologi dan Viva Arifin, ST, M.MSI,
selaku Sekretaris Program Studi Teknik Informatika Fakultas Sains dan
Teknologi.
9
3. Herlino Nanang, MT, dan Victor Amrizal, M.Kom, selaku Dosen
Pembimbing Skripsi yang telah banyak meluangkan waktu serta tenaga
dalam memberikan petunjuk serta nasehat yang berharga kepada penulis
guna menyelesaikan Skripsi ini.
4. Seluruh Dosen FST Universitas Islam Negeri Syarif Hidayatullah Jakarta.
5. Pimpinan dan seluruh karyawan PK.Gaya Baru, khususnya bagian
penggajian yang telah banyak memberikan informasi kepada penulis.
6. Ibu, Bapak, kakak dan adik tercinta, untuk ketulusan doa serta dukungan
baik secara moril dan materil serta kasih sayang yang diberikan selama ini.
7. Terimakasi untuk Abdul Jamil (Kakak), yang telah memberi motivasi dan
pemikirannya kepada penulis.
8. Terima kasih untuk Khamim (Adik), yang telah membantu penulis dalam
membuat aplikasi.
9. Terimakasih untuk Kel. Bpk H. Mas’Ud Hadi dan Ibu Hj. Ellya
Nurochmah, yang telah memberikan fasilitas dan dukunganya kepada
penulis.
10. Terimakasih juga untuk chayankqu Vera Ariestyaningsih dan keluarga,
yang telah memberikan semangat dan dukunganya kepada penulis.
11. Seluruh teman-teman angkatan 2006 Teknik Informatika yang tidak bisa
disebutkan satu per satu.
12. Dan seluruh pihak yang telah membantu penulis dalam menyelesaikan
Skripsi.
Akhirnya penulis menyadari sepenuhnya bahwa Skripsi ini jauh dari
sempurna, baik isi, pemilihan bahasa maupun sistematika penulisannya,
10
namun penulis mengharapkan bantuan berupa saran dan kritik yang
membangun dari semua pihak demi kesempurnaan dan mutu penulisan Skripsi
ini.
Akhir kata semoga Skripsi ini dapat bermanfaat bagi kita semua serta
dapat mempercepat mahasiswa di dalam proses pembuatan Skripsi.
Amin… Ya rabbal ‘Alamin
Jakarta, Oktober 2011
Penulis
SODIKIN
11
DAFTAR ISI
Halaman
Halaman Sampul…..………......................................................................... i
Halaman Judul……………………………………………………………... ii
Halaman Persetujuan Pembimbing……………………………………....... iii
Halaman Pengesahan ………....................................................................... iv
Halaman Pernyataan……………………………………………………….. v
Abstrak…………………………………………………………………….. vi
Kata Pengantar ……………......................................................................... vii
Daftar Isi ……………………....................................................................... x
Daftar Gambar …………….......................................................................... xvi
Daftar Tabel ………………......................................................................... xviii
Daftar Lampiran ……………....................................................................... xix
BAB. I PENDAHULUAN …………………………............................. 1
1.1 Latar Belakang ………………………………………....... 1
1.2 Perumusan Masalah ……………………………………... 4
1.3 Batasan Masalah …………….…………………………... 4
1.4 Tujuan Penelitian……………...…………………………. 5
1.5 Manfaat Penelitian……………………………....………... 5
1.6 Metode Penelitian ..……………………………………..... 6
1.6.1 Metode Pengumpulan Data…………….………....... 6
1.6.2 Metode Pengembangan Sistem…………………...... 7
1.7 Sistematika Penulisan ……………………………………. 8
BAB. II LANDASAN TEORI …………………………........................ 10
2.1 Konsep Dasar Penelitian......……………………………... 10
2.1.1 Perancangan ............................................................ 10
2.1.2 Sistem...................................................................... 10
2.1.3 Sistem Informasi...................................................... 12
2.1.4 Penggajian Karyawan ............................................. 13
2.1.5 Penggajian............................................................... 13
12
2.1.6 Tujuan Gaji.............................................................. 13
2.1.7 Cara Penyusunan Gaji............................................. 15
2.1.8 Karyawan................................................................. 16
2.1.9 Hak Akses................................................................ 17
2.2 Konsesp Aplikasi Berbasis Web…………………............ 17
2.2.1 Web Service………………………………………. 18
2.2.2 Web Browser……………………………………... 18
2.2.3 Web Server………………………………………... 19
2.3 System Development Life Cycle (SDLC)………………... 19
2.3.1 Tahapan-tahapan SDLC…………………………... 20
2.4 Alat Pengembangan Sistem……………………………… 21
2.5 Konsep Basis Data……………………………………….. 29
2.5.1 Basis Data………………………………………… 29
2.5.2 Pemanfaatan Basis Data…………………………... 29
2.6 Alat Bantu Sistem………………………………………... 31
2.6.1 Sekilas Tentang PHP……………………………… 31
2.6.2 Sejarah PHP……………………………………….. 32
2.6.3 MySQL……………………………………………. 33
2.6.4 Macromedia Dreamwever………………………… 35
BAB. III METODOLOGI PENELITIAN………………………………. 37
3.1 Metode Pengumpulan Data ………………………………. 37
1. Metode Observasi……………………………….... 37
2. Metode Wawancara………………………………. 38
3. Metode Studi Pustaka…………………………….. 38
4. Metode Studi Literatur Sejenis…………………… 39
3.2 Pengembngan Sistem ……………………………………... 42
1. Perencanaan (Planning)…………………………... 43
2. Analisis Sistem (System Analisist)……………….. 43
3. Perancangan (Design)…………………………….. 44
4. Implementasi (Implementation)………………....... 45
13
BAB. IV PEMBAHASAN……………………………………………… 47
4.1 Profile Perusahaan PK Gaya Baru………………………... 47
4.1.1 Sejarah Perusahaan PK Gaya Baru………………... 47
4.1.2 Visis dan Misi……………………………………... 48
4.1.3 Struktur Organisasi Perusahaan…………………… 48
4.1.4 Deskripsi Kerja Karyawan………………………... 49
4.2 Perencanaan (Planning)…………………………………... 50
4.3 Analisa Sistem……………………………………………. 50
4.3.1 Analisa Sistem Berjalan…………………………… 50
4.3.1.1 Analisa Diagram Alir Dokumen…………... 51
4.3.1.2 Kelebihandan Kekurangan Sistem
Berjalan…………..……………………….. 53
4.3.2 Solusi Pemecahan Masalah………………………... 54
4.3.3 Analisa Sistem Ususlan…………………………..... 54
4.3.3.1 Diagram Alir Dokumen Sistem Informasi
Penggajian………………………………… 55
4.3. Perancangan (Design)……………………………………. 57
4.3.1 Perancangan Diagram Arus Data (Data Flow
Diagram)…………………………………………... 57
4.3.1.1 Diagram Konteks…………………………... 58
4.3.1.1 Diagram Arus Data Level 0………………... 60
4.3.1.2 Diagram Arus Data Level-1 Proses 1……… 64
4.3.1.2 Diagram Arus Data Level-1 Proses 2……… 65
4.3.1.2 Diagram Arus Data Level-1 Proses 3……… 66
4.3.1.2 Diagram Arus Data Level-1 Proses 4……… 67
4.3.1.2 Diagram Arus Data Level-1 Proses 5……… 68
4.3.1.2 Diagram Arus Data Level-1 Proses 6……… 69
4.3.1.2 Diagram Arus Data Level-1 Proses 7……… 71
4.3.1.2 Diagram Arus Data Level-1 Proses 8……… 72
4.3.1.2 Diagram Arus Data Level-1 Proses 9……… 73
4.3.1.2 Diagram Arus Data Level-1 Proses 10…...... 75
4.3.1.2 Diagram Arus Data Level-1 Proses 11…….. 76
14
4.4.2 State Transition Diagram (STD)………………...... 80
4.4.3 Merancang Database……………………………… 85
1. Membuat Database Penggajian……………....... 85
2. Tabel Karyawan………………………………... 85
3. Tabel Pendidikan………………………………. 86
4. Tabel Keluarga………………………………… 87
5. Tabel Golongan………………………………... 87
6. Tabel Jabatan…………………………………... 88
7. Tabel Posisi Karyawan………………………… 88
8. Tabel Potongan………………………………… 89
9. Tabel Tunjangan……………………………...... 89
10. Tabel Absensi……………………...................... 90
11. Tabel Total_Gaji……………………………….. 91
12. Relasi Antar Tabel Sistem Penggajian………… 91
4.4.4 Perancangan Input...………………………………. 94
1. Form Input Log In……………………………... 94
2. Form Input Data Karyawan……………………. 95
3. Form Input Data Pendidikan………………....... 95
4. Form Input Data Keluarga…………………....... 96
5. Form Input Data Golongan…………………….. 97
6. Form Input Data Jabatan………………………. 97
7. Form Input Data Posisi Karyawan…………….. 98
8. Form Input Data Potongan…………………….. 99
9. Form Input Data Tunjangan…………………… 99
10. Form Input Absensi……………………………. 100
4.4.5 Perancangan Output……………………………….. 101
1. Form Output Laporan Data Seluruh
Karyawan…………………………………......... 101
2. Form Output Laporan Data Seluruh
Pendidikan……………………………………... 101
3. Form Output Laporan Data Seluruh Keularga
Karyawan………………………………………. 102
15
4. Form Output Laporan Data Seluruh
Golongan………………………………………. 102
5. Form Output Laporan Data Seluruh Jabatan ….. 103
6. Form Output Laporan Data Seluruh Posisi
Karyawan……………………………………..... 103
7. Form Output Laporan Data Seluruh
Potongan……………………………………….. 104
8. Form Output Laporan Data Seluruh
Tunjangan…………………………………........ 104
9. Form Output Laporan Data Seluruh Absensi …. 105
10. Form Output Laporan Data Seluruh
Penggajian…………………………………… 105
4.4.6 Kamus Data……………………………………….. 106
4.5 Implementasi Sistem……………………………………… 107
4.5.1 Spesifikasi Komputer……………………………... 107
1. Pembuatan Sistem……………………………... 107
2. Implementasi Sistem…………………………... 107
4.5.2 Kebutuhan Software………………………………. 108
1. Pembuatan Sistem……………………………... 108
2. Implementasi Sistem…………………………... 108
4.5.3 Kebutuhan Brainware…………………………....... 109
4.5.4 Pengujian…………………………………………... 109
4.5.5 Pelatihan…………………………………………… 115
4.5.6 Pemeliharan Sistem………………………………... 115
BAB V PENUTUP……………………………………………………. 116
5.1 Kesimpulan………………………………………………. 116
5.2 Saran……………………………………………………… 116
DAFTAR PUSTAKA ………..…………………………………………... 117
LAMPIRAN ………………….…………………………………………... 119
16
DAFTAR GAMBAR
Gambar Isi Halaman
2.1 Model Waterfall Menurut Pressman 19
2.2 Simbol State 26
2.3 Simbol Transition State 26
2.4 Simbol Kondisi dan Aksi 27
2.5 Area Kerja Macromedia Dreamweaver 8 36
4.1 Struktur Organisasi PK GAYA BARU 48
4.2 Flowmap Penentuan Sistem Gaji Berjalan 52
4.3 Flowmap Penentuan Gaji Sistem Usulan 56
4.4 Tampilan Diagram konteks 59
4.5 Tampilan DAD level-0 61
4.6 Tampilan DAD level -1 Proses 1 64
4.7 Tampilan DAD level -1 Proses 2 65
4.8 Tampilan DAD level -1 Proses 3 66
4.9 Tampilan DAD level -1 Proses 4 67
4.10 Tampilan DAD level -1 Proses 5 68
4.11 Tampilan DAD level -1 Proses 6 69
4.12 Tampilan DAD level -1 Proses 7 71
4.13 Tampilan DAD level -1 Proses 8 72
4.14 Tampilan DAD level -1 Proses 9 73
4.15 Tampilan DAD level -1 Proses 10 75
4.16 Tampilan DAD level -1 Proses 11 77
4.17 Tampilan State Transition Diagram (STD) Menu Utama 80
4.18 Tampilan State Transition Diagram (STD) Super Admin 81
4.19 Tampilan State Transition Diagram (STD) Admin 81
4.20 Tampilan State Transition Diagram (STD) Karyawan 82
4.21 Tampilan State Transition Diagram (STD) Home 82
17
4.22 Tampilan State Transition Diagram (STD) Penggajian 83
4.23 Tampilan State Transition Diagram (STD) Pengaturan 84
4.24 Tampilan Relasi Antar Tabel 91
4.25 Perancangan Input Log In Database 94
4.26 Perancangan Input Data Karyawan 95
4.27 Perancangan Input Data Pendidikan 96
4.28 Perancangan Input Data Keluarga 96
4.29 Perancangan Input Data Golongan 97
4.30 Perancangan Input Data Jabatan 97
4.31 Perancangan Input Data Posisi Karyawan 98
4.32 Perancangan Input Data Potongan 98
4.33 Perancangan Input Data Tunjangan 99
4.34 Perancangan Input Data Absensi 100
18
DAFTAR TABEL
Tabel Isi Halaman
2.1 Simbol Data Flow Diagram (DFD) ………………………….. 23
2.2 Simbol Flowchart ………………………………………………. 27
3.1 Studi Literatur Sejenis ………………………………………….. 40
4.1 Field-field tabel Karyawan ………………………………... 85
4.2 Field-field tabel Pendidikan ………………………………. 86
4.3 Field‐field tabel Keluarga …………………………………. 87
4.4 Field‐field tabel Golongan ………………………………... 87
4.5 Field‐field tabel Jabatan …………………………………... 88
4.6 Field-field tabel Posisi karyawan …………………………. 88
4.7 Field-field tabel Potongan ………………………………… 89
4.8 Field-field tabel Tunjangan ……………………………….. 90
4.9 Field-field tabel Absensi ………………………………….. 90
4.10 Field-field tabel Total Gaji ………………………………... 91
4.11 Form Output Laporan Data Karyawan Seluruh Karyawan .. 100
4.12 Form Output Laporan Data Pendidikan Seluruh Karyawan 101
4.13 Form Output Laporan Data Keluarga Seluruh Karyawan … 102
4.14 Form Output Laporan Data Golongan Seluruh Karyawan ... 102
4.15 Form Output Laporan Data Jabatan Seluruh Karyawan ….. 103
4.16 Form Output Laporan Data Posisi Seluruh Karyawan ……. 103
4.17 Form Output Laporan Data Potongan Seluruh Karyawan ... 104
4.18 Form Output Laporan Data Tunjangan Seluruh Karyawan . 104
4.19 Form Output Laporan Data Absensi Seluruh Karyawan …. 105
4.20 Form Output Laporan Data Penggajian Seluruh Karyawan . 105
4.21 Tabel Kamus Data ………………………………………… 106
19
4.22 Uji Coba Super Admin ……………………………………. 109
4.23 Uji Coba Admin …………………………………………... 112
4.24 Uji Coba User (Karyawan) ……………………………….. 114
20
DAFTAR LAMPIRAN
Lampiran I. Surat Keterangan Penelitian
Lampiran II. Hasil Wawancara
Lampiran III. Tampilan Aplikasi
Lampiran IV. Source Code
21
BAB I
PENDAHULUAN
1.1. Latar Belakang
Komputer adalah serangkaian ataupun sekelompok mesin elektronik
yang terdiri dari ribuan bahkan jutaan komponen yang dapat saling bekerja
sama, serta membentuk sebuah sistem yang rapi dan teliti. Sistem ini
kemudian dapat digunakan untuk melaksanakan serangkaian pekerjaan
secara otomatis, berdasar urutan program yang diberikan kepadanya.
PK Gaya Baru adalah sebuah perusahaan yang bergerak dibidang
produksi dan distribusi barang yang berupa makanan ringan. Perusahaan ini
beralamat di jalan Bambu Wulung No. 5, Kelurahan Bambu Apus,
Kecamatan Cipayung, Jakarta Timur.
Gaji adalah suatu bentuk balas jasa ataupun penghargaan yang
diberikan secara teratur kepada seorang pegawai atas jasa dan hasil
kerjanya. Gaji sering juga disebut sebagai upah, dimana keduanya
merupakan suatu bentuk kompensasi, yakni imbalan jasa yang diberikan
secara teratur atas prestasi kerja yang diberikan kepada seorang pegawai.
Perbedaan gaji dan upah hanya terletak pada kuatnya ikatan kerja dan
jangka waktu penerimaannya. Seseorang menerima gaji apabila ikatan
kerjanya kuat, sedang seseorang menerima upah apabila ikatannya kerjanya
kurang kuat.
Dilihat dari jangka waktu penerimaannya, gaji pada umumnya
diberikan pada setiap akhir bulan, sedang upah diberikan pada setiap hari
ataupun setiap minggu. Dalam hal ini, pengertian gaji untuk seterusnya
22
disebut sebagai gaji pokok. Besarnya gaji pokok yang diberikan kepada
seorang karyawan, biasanya sangat tergantung dengan latar belakang
pendidikan yang dimiliki, kemampuan maupun pengalaman kerjanya.
Gaji para karyawan perusahaan PK Gaya Baru, pada umumnya akan
dibagikan pada setiap akhir bulan. Dengan demikian, kesibukan ataupun
kegiatan yang dilakukan oleh bagian keuangan pada saat itu adalah sebagai
berikut: Mengumpulkan formulir lembur dan hutang, menghitung rupiah
lembur masing-masing karyawan, menghitung hutang-piutang karyawan,
membuat rekapitulasi gaji, membuat slip gaji untuk masing-masing
karyawan, mengambil uang dari bank, memasukkan uang kedalam amplop,
dan membagi uang kepada setiap karyawan.
Sistem administrasi penggajian yang diterapkan seperti halnya yang
ada diatas, sebenar sudah baik dan sudah memenuhi beberapa persyaratan
prosedur akuntansi. Dikarenakan sistem tersebut masih diterapkan dengan
cara manual, maka berbagai persoalan pada akhirnya muncul, seperti
misalnya :
1. Waktu yang diperlukan untuk pembuatan berbagai macam laporan
yang berhubungan dengan sistem penggajian karyawan menjadi
lama.
2. Informasi data yang disajikan menjadi kurang teliti, misalnya;
banyak dijumpai data ganda ataupun data yang kurang lengkap.
3. Proses auditing sewaktu-waktu sulit dilaksanakan.
4. Sering terjadi masalah karena salah perhitungan dan pembayaran
gaji yang kurang sesuai dengan yang dikerjakan.
23
Dikarenakan hal tersebut diatas, kemudian disusun sebuah program
komputer mengenai penggajian. Dimana sistem ini diharapkan mampu
memberikan solusi terbaik dari berbagai masalah yang ada di PK Gaya Baru
tersebut.
Peranan komputerisasi dalam mengelola data menjadi suatu informasi
yang berguna untuk kemajuan PK Gaya Baru sangatlah dibutuhkan karena
berfungsi sebagai sarana penunjang lancarnya suatu pekerjaan, khususnya
dalam penanganan data penggajian karyawan. Program komputer yang ada
disini tidak akan mengubah struktur organisasi yang ada didalam
perusahaan, arus dokumen ataupun prosedur-prosedur lainnya. Walaupun
demikian, beberapa formulir yang akan digunakan sebagai input data dalam
proses komputer, akan mengalami sedikit penyesuaian, demikian pula
bentuk format dari laporan-laporan yang akan disajikan melalui komputer.
Berdasarkan uraian di atas, penulis bermaksud untuk mengambil tugas
akhir dengan judul “Perancangan Sistem Penggajian dengan Hak Akses
Karyawan Berbasis Web”.
1.2. Perumusan Masalah
Pokok masalah yang akan dibahas melalui penelitian Perancangan
Sistem Penggajian dengan Hak Akses Karyawan Berbasis Web ( Studi
Kasus PK Gaya Baru) adalah :
24
1. Belum tersedianya sistem penggajian yang terkomputerisasi.
2. Perlunya informasi yang lebih transfaransi kepada karyawan.
3. Berdasarkan permasalahan tersebut, maka yang menjadi permasalahan
dalam penelitian adalah bagaimana membuat sebuah sistem informasi
Perancangan Sistem Penggajian dengan Hak Akses Karyawan Berbasis
Web pada PK Gaya Baru.
1.3. Batasan Masalah
Pembatasan permasalahan dalam Perancangan Sistem Penggajian
dengan Hak Akses Karyawan Berbasis Web, adalah sebagai berikut :
1. Fokus pada perancangan Sistem penggajian Karyawan.
2. Informasi yang dihasilkan berupa laporan data pegawai, laporan absensi,
laporan gaji karyawan dan slip gaji karyawan.
3. Sistem dibuat hanya berkaitan dengan pengolahan data gaji karyawan,
data pribadi karyawan, data absensi.
4. Program aplikaasi dibuat dengan menggunakan bahasa pemrograman
aplikasi PHP, dan bahasa pemrograman basis data My SQL.
5. Metode pengembangan sistem yang di gunakan adalah System
Development Life Cycle (SDLC).
1.4. Tujuan Penelitian
Tujuan penelitian ini adalah sebagai berikut :
1. Untuk membantu kegitan perhitungan gaji karyawan agar lebih cepat
dan memperkecil terjadinya kesalahan.
25
2. Mempermudah pengelolaan data karyawan.
3. Membantu proses pencatatan, pengelompokan dan peringkasan transaksi
kejadian yang bersifat keuangan dengan cara yang berdaya guna dan
dalam bentuk satuan uang, dengan proses pekerjaan secara otomatis dan
terkomputerisasi.
1.5. Manfaat Penelitian
Manfaat dari penelitian ini adalah :
1. Bagi Mahasiswa :
a. Mahasiswa dapat menerapkan ilmu yang didapat di perkuliahan
selama ini, dengan membuat sistem informasi berbasis
komputer.
b. Mahasiswa dapat memahami masalah-masalah yang ada dalam
sebuah perusahaan, terutama bagian penggajian karyawan.
2. Bagi perusahaan :
a. Tersedianya sistem penggajian karyawan untuk mengolah data-
data yang di perlukan, dimana sistem tersebut menggantikan
sistem penggajian yang lama.
b. Tersedianya suatu informasi penggajian karyawan yang lebih
baik.
1.6. Metodologi Penelitian
26
Metode penelitian yang akan digunakan dalam menyusun tugas akhir
ini adalah:
1.6.1 Metode Pengumpulan Data
Metode pengumpulan data dalam penelitian ini menggunakan cara :
a. Wawancara
Penulis melakukan tanya jawab dan wawancara pada bagian-
bagian yang berhubungan dengan maslah yang terkait, untuk
mengetahui masalah-masalah yang menjadi kendala bagi para
pengguna sistem lama penggajian PK Gaya Baru.
b. Observasi
Melalui observasi kebagian yang berhubungan dengan kegiatan
yang menyangkut penggajian karyawan.
c. Kepustakaan
Peneliti melakukan penelitian dengan cara membaca dan
mempelajari buku-buku literature, catatan-catatan yang dapat
dijadikan pendukung dalam penyelesaian tugas akhir (skripsi)
ini.
d. Studi Literatur Sejenis
Adalah setudi yang dilakukan penulis untuk mencari
membandingkan kekurangan-kekurangan atau kelebihan-
kelebihan dari hasil suatu karya yang sudah ada, yang kemudian
27
penulis menambahkan kekurangan-kekurangan tersebut menjadi
lebih baik dari sebelumnya.
1.6.2 Metode Pengembangan Sistem
Metode pengembangan sistem yang penulis gunakan dalam
penyusunan tugas akhir ini adalah siklus hidup pengembangan
sistem atau System Development Life Cycle (SDLC) model
waterfall. Empat tahapan kegiatan utama SDLC, yaitu:,
perencanaan, analisis sistem, perancangan sistem, dan
implementasi sistem.
1.7. Sistematika Penulisan
Untuk memperjelas dan memudahkan penyusun skripsi ini maka
penulis mencantumkan sistematikanya, adapun sistematika tersebut adalah:
Bab I : PENDAHULUAN
Berisi latar belakang, perumusan masalah, batasan masalah,
tujuan penelitian, manfaat penelitian, metodologi penelitian,
dan sistematika penulisan.
28
Bab II : LANDASAN TEORI
Bab ini menjelaskan tentang: konsep dasar penelitian,
pengertian perancangan sistem informasi, penggajian,
karyawan, pengertian hak akses, konsep aplikasi berbasis
web, SDLC (System Development Life Cycle), alat
pengembangan sistem, konsep basis data, alat bantu
aplikasi, sekilas tentang PHP, sekilas tentang Dreamwiever,
sekilas tentang My SQL, pengenalan Microsoft Ms. Visio.
Bab III : METODE PENELITIAN
Berisi tentang metode pengumpulan data dan metode
pengembangan sistem yang akan dilakukan pada saat
penelitian.
Bab IV : PEMBAHASAN
Berisi tentang profile perusahaan, struktur organisasi,
analisa sistem berjalan, analisa sistem usulan, perancangan
sistem, dan implementasi.
Bab V : PENUTUP
Berisi kesimpulan dan saran yang diambil dari hasil analisa
dan pengembangan sistem penggajian karyawan.
29
BAB II
LANDASAN TEORI
2.1. Konsep Dasar Penelitian
Konsep dasar penelitian merupakan landasan dan juga sebagai acuan
dalam penyusunan penelitian ini, terdiri dari:
2.1.1. Perancangan
Perancangan adalah sebuah proses aplikasi berbagai teknik dan prinsip
bagi tujuan pendefinisian suatu perangkat, suatu proses atau suatu system
dalam detail yang memadai untuk memungkinkan realisasi fisiknya (Al-
Fattah, 2007:11)
2.1.2. Sistem
Sistem menurut beberapa ahli adalah:
a. Sistem adalah sekelompok elemen-elemen yang terintegrasi
dengan maksud yang sama untuk mencapai suatu tujuan
(Mc.Leod, 2004:9).
b. Sistem adalah suatu rangkaian atau tatanan hal-hal yang saling
berhubungan untuk membentuk satu kesatuan atau keseluruhan
organik, serangkaian kenyataan, prinsip, aturan dan lain-lain,
yang diklasifikasikan dan di atur didalam bentuk teratur dengan
maksud memperlihatkan suatu rencana logis yang
menghubungkan bagian-bagian yang berbeda, sebuah metode
30
atau rencana klasifikasi atau penataan, cara mengerjakan
sesuatu, metode, prosedur. (Al Bahra, 2006:93).
Jadi, Sistem adalah sekumpulan elemen-elemen yang saling
berhubungan untuk mencapai suatu tujuan.
Adapun elemen-elemen sistem tersebut adalah sebagai berikut (Al
Bahra, 2006:94) :
a. Perangkat Lunak
Terdiri dari program komputer, struktur data, dan dokumen yang
berhubungan yang berfungsi untuk mempengaruhi metode logis,
prosedur, dan kontrol yang dibutuhkan.
b. Perangkat Keras
Terdiri dari perangkat elektronik yang memberikan kemampuan
perhitungan, dan perangkat elektromekanik yang memberikan
fungsi dunia eksternal.
c. Manusia
Yaitu operator dan pemakai perangkat keras dan perangkat
lunak.
d. Database
Adalah kumpulan informasi yang besar dan terorganisasi yang
diakses melalui perangkat lunak.
31
e. Dokumentasi
Bersifat manual, formulir, dan informasi deskriptif lainnya yang
menggambarkan penggunaan atau pengoprasian sistem.
f. Prosedur
Adalah langkah-langkah yang menentukan penggunaan khusus
dari masing-masing elemen sistem atau konteks procedural
dimana sistem berada.
2.1.3. Sistem Informasi
Sistem Informasi adalah sekumpulan komponen yang saling
berhubungan (mengumpulkan, memproses, menyimpan, mendistribusikan
informasi untuk menunjang pengambilan keputusan dan pengawasan dalam
suatu organisasi (Loudon, 2007:15).
Tiga aktivitas di dalam sistem informasi akan memproduksi informasi
yang akan dibutuhkan organisasi untuk membuat keputusan,
mengendalikan operasi, menganalisis permasalahan, dan menciptakan
produk baru. Ketiga aktivitas tersebut adalah :
a. Input adalah merekam atau mengumpulkan data mentah dari dalam
maupun luar organisasi.
b. Pemrosesan adalah mengubah data input mentah menjadi bentuk yang
berarti.
32
c. Output adalah mengirimkan informasi yang telah diproses tersebut ke
orang-orang yang akan menggunakan atau kepada aktivitas yang akan
menggunakan informasi tersebut.(Loudon, 2007:16)
2.1.4. Penggajian Karyawan
Dewan Pengupahan Nasional mendefinisikan, upah/gaji sebagai suatu
penerimaan imbalan dari pemberi kerja kepada penerima kerja untuk suatu
pekerjaan/jasa yang telah dan akan dilakukan serta berfungsi sebagai
jaminan kelangsungan kehidupan yang layak bagi kemanusiaan dan
produksi. Upah/gaji dinyatakan atau dinilai dalam bentuk uang yang
ditetapkan menurut suatu persetujuan, undang-undang, dan peraturan, serta
dibayarkan atas dasar suatu perjanjian kerja antara pemberi kerja dan
penerima kerja. (Sadili, 2006:188).
2.1.5. Penggajian
Gaji adalah balas jasa yang dibayar secara periodik kepada karyawan
tetap serta mempunyai jaminan yang pas (Hasibuan, 2002:118).
2.1.6. Tujuan Gaji
Menurut Hasibuan (2002:118) tujuan penggajian, antara lain :
a. Ikatan kerja sama
Dengan pemberian gaji terjalinlah ikatan kerja sama formal
antara majikan dengan karyawan. Karyawan harus
mengerjakan tugas - tugasnya dengan baik, sedangkan
33
pengusaha atau majikan wajib membayar gaji sesuai dengan
perjanjian yang disepakati.
g. Kepuasan kerja
Dengan balas jasa, karyawan akan dapat memenuhi
kebutuhan - kebutuhan fisik, status sosial, dan egoistiknya
sehingga memperoleh kepuasan kerja dari jabatannya.
h. Pengadaan efektif
Jika program gaji ditetapkan cukup besar, pengadaan
karyawan yang qualified untuk perusahaan akan lebih mudah.
i. Motivasi
Jika balas jasa yang diberikan cukup besar, manajer akan
mudah memotivasi bawahannya.
j. Stabilitas karyawan
Dengan program kompensasi atas prinsip adil dan layak serta
eksternal konsistensi yang kompentatif maka stabilitas
karyawan lebih terjamin karena turnover relatif kecil.
k. Disiplin
Dengan pemberian balas jasa yang cukup besar maka disiplin
karyawan semakin baik. Karyawan akan menyadari serta
mentaati peraturan - peraturan yang berlaku.
l. Pengaruh serikat buruh
Dengan program kompensasi yang baik pengaruh serikat
buruh dapat dihindarkan dan karyawan akan lebih
berkonsentrasi.
34
m. Pengaruh pemerintah
Jika program gaji sesuai dengan undang - undang yang
berlaku (seperti batas gaji minimum) maka intervensi
pemerintah dapat dihindarkan.
2.1.7. Cara Penyusunan Gaji
Gaji dapat disusun menurut prestasi kerja, lama kerja, senioritas, dan
kebutuhan.(Sadili, 2006:191).
a. Gaji Menurut Prestasi Kerja
Penggajian dengan cara ini langsung mengaitkan besarnya gaji
dengan prestasi kerja yang telah ditunjukan oleh karyawan yang
bersangkutan. Cara ini dapat diterapkan apabila hasil kerja dapat
diukur secara kuantitatif.
b. Gaji Menurut Lama Kerja
Cara ini system gaji waktu. Besarnya gaji ditentukan atas dasar
lamanya karyawan melaksanakan atau menyelesaikan suatu
pekerjaan. Umumnya cara ini diterapkan bila ada kesulitan dalam
menerapkan cara pengupahan berdasarkan prestasi kerja.
c. Gaji menurut Senioritas
Cara penggajian ini didasarkan pada masa kerja atau senioritas
karyawan yang bersangkutan dalam suatu organisasi. Dasar
pemikiranya adalah karyawan senior menunjukan adanya kesetiaan
yang tinggi pada organisasi tempat mereka bekerja.
35
d. Gaji menurut Kebutuhan
Cara ini mununjukan gaji para karyawan didasarkan pada tingkat
urgensi kebutuhan hidup yang layak dari karyawan. Hal ini masih
memungkinkan karyawan untuk dapat bertahan dalam perusahaan
atau organisasi tempatnya bekerja.
2.1.8. Karyawan
Kepegawaian dalam setiap perusahaan akan berbeda, tergantung dari
aturan yang terdapat dalam perusahaan tersebut. Setiap karyawan wajib
mentaati semua peraturan perusahaan, baik berupa perintah maupun
larangan, secara tertulis maupun secara lisan, dalam batas-batas pengertian
yang layak dan tidak bertentangan dengan norma-norma yang berlaku.
Karyawan adalah seseorang pekerja tetap yang bekerja di bawah
perintah orang lain dan mendapat kompensasi serta jaminan.
Kepegawaian yang terdapat di PK Gaya Baru terdiri dari bagaimana
prosedur penerimaan dan pengangkatan karyawan dan prosedur pencatatan
waktu hadir. Prosedur penerimaan dan pengangkatan karyawan diperlukan
karena pengadaan tenaga kerja merupakan titik kunci bagi organisasi dalam
mencari tenaga kerja yang mampu bekerja seperti yang di harapkan
organisasi tersebut. Prosedur pencatatan waktu hadir diperlukan untuk
menentukan apakah karyawan tersebut menerima gaji secara penuh atau
harus dipotong karena ketidak hadiran karyawan tersebut.
36
2.1.9. Hak Akses
Hak akses adalah hak yang diberikan kepada user untuk mengakses
sistem. Mungkin hak akses adalah hal yang paling mendasar dalam bidang
sekuriti. Dalam strategi sekuriti, setiap objek dalam sistem (user,
administrator, software, sistem itu sendiri) harus diberikan hak akses yang
berguna untuk menunjang fungsi kerja dari objek tersebut. Dengan kata
lain, objek hanya memperoleh hak akses minimum. Dengan demikian, aksi
objek terhadap sistem dapat dibatasi sehingga objek tidak akan melakukan
hal-hal yang membahayakan keamanan jaringan komputer.
Hak akses minimum akan membuat para penyusup dari Internet
tidak dapat berbuat banyak saat berhasil menembus sebuah user account
pada sistem jaringan komputer. Selain itu, hak akses minimum juga
mengurangi bahaya ”musuh dalam selimut” yang mengancam sistem dari
dalam. Itulah beberapa keuntungan yang dapat diperoleh dari strategi ini.
(Joko Yuliantoro & Onno W. Purbo.)
2.2. Konsep Aplikasi Berbasis Web
Aplikasi dalam bahasa awam sering disebut sebagai sebuah kumpulan
program atau skrip. Untuk membahas aplikasi berbasis web pertama kita
melihat platform yang berada dibawahnya. Aplikasi berbasis web dibangun
diatas HTTP. HTTP merupakan salah satu protocol yang berjalan diatas
TCP/IP. HTTP adalah protocol yang stateless, web server hanya
memberikan informasi yang diminta, setelah itu koneksi diputus (Dwiyanto
dan Rifai, 2006:42).
37
2.2.1. Web Service
Web service adalah suatu aplikasi yang mendeskripsikan sekumpulan
informasi yang dapat diakses dalam sebuah jaringan melalui pesan yang
telah distandarkan. Web service juga merupakan komponen perangkat
lunak yang loosely coupled (tidak terikat), dapat digunakan kembali dan
didistribusikan, serta dapat diakses secara programatik melalui protocol
internet standar. Web service merupakan hal yang sangat penting dalan
proses perkembangan pembangunan software terutama yang berbasis web.
Web service berupa aplikasi yang dapat dipublikasikan, dan dibangkitkan
antar web (Dwiyanto dan Rifai, 2006:45).
2.2.2. Web Browser
Web browser digunakan untuk memperoleh informasi dengan format
hypertext. Web browser akan mengirimkan request ke web server dan
menampilkan hasilnya ke pengguna, selain itu web browser juga dapat
mengirimkan form ke web server untuk diproses. Contoh dari web browser
adalah Operamini, Mozilla, IE dan lain sebagainya(Dwiyanto dan Rifai,
2006:46).
2.2.3. Web Server
Web server memberikan jawaban atau response dari permintaan atau
request web browses. Web server juga dapat memproses form yang
dikirimkan oleh web browser. Contoh dari web server adalah Apache,
NCSA HTTPD (Unix), Webstar (Mac), IIS/PWS (Dwiyanto dan Rifai,
2006:50).
2.3. System Development Life Cycle (SDLC)
SDLC adalah penerapan pendekatan sistem untuk pengembangan
sistem atau subsistem informasi berbasis komputer. SDLC terdiri dari
serangkaian tugas yang erat mengikuti langkah-langkah pendekatan sistem.
Karena tugas itu mengikuti suatu pola yang teratur dan dilakukan secara
top-down, SDLC sering disebut sebagai pendekatan air terjun (waterfall
appoach) bagi pengembang dan pengguna sistem. SDLC terdiri dari empat
fase pokok yaitu; perencanaan, analisis, rancangan, dan penerapan (Mcleod,
2004).
analisis kode tes desain
Pemodelan Sistem
Gambar 2.1 Model Waterfall Menurut Pressman (Pressman, 2002:37)
2.3.1. Tahapan-tahapan System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC) memiliki tahapan-tahapan
sebagai berikut (Ladjamudin,2005):
a. Analysis
Tahap analisis digunakan oleh sistem analis untuk membuat
keputusan. Apabila sistem saat ini mempunyai masalah atau sudah
tidak berfungsi secara baik, dan hasil analisanya digunakan sebagai
38
39
dasar untuk memperbaiki sistem. Seorang analis perlu mengetahui
ruang lingkup pekerjaan yang akan ditanganinya, perlu memahami
sistem yang sedang berjalan saat ini, dan dapat melakukan
identifikasi terhadap masalah yang muncul dan mencari solusinya
dengan profesiaonal. Kegiatan yang dilakukan dalam tahapan
analisis adalah sebagai berikut:
1. Deteksi masalah (Problem Detection)
2. Penelitian/investigasi awal (Initial Investigation)
3. Analisa kebutuhan sistem (Requirement Analysis)
4. Memilih sistem yang baik (Selectionof Proper System)
b. Design
Tahapan perancangan (design) memiliki tujuan untuk men-design
sistem yang apat menyelesaikan masalah-masalah yang dihadapi
perusahaan yang diperoleh dari pemilihan alternatif sistem yang
terbaik. Kegiatan yang dilakukan dalam tahapan perencangan ini
meliputi perancangan input, output, dan file.
c. Implementasi
Tahapan implementasi memiliki beberapa tujuan, yaitu untuk
melakukan kegiatan yang sebenarnya dari sistem informasi yang
akan dibangunya atau dikembangkanya, lalu
mengimplementasikan sistem yang baru tersebut kedalam salah
satu bahasa pemrograman yang paling sesuai. Pada tahap ini juga
harus dijamin bahwa sistem yang baru dapat berjalan secara
optimal. Kegiatan yang dilakukan dalam tahap implementsi ini
40
adalah pembuatan program dan tes data, pelatihan, dan pergantian
sistem.
2.4. Alat Pengembangan Sistem
Untuk dapat melakukan langkah-langkah sesuai dengan yang
diberikan oleh metodologi analisis dan desain terstruktur, maka dibutuhkan
beberapa alat bantu yang digunakan dalam perancangan sistem. Alat-alata
tersebut adalah (Jogianto, 2005:62) :
1. Alat berbentuk grafik yang biasa digunakan dalam pengembangan
sistem, yaitu:
a. Data Flow Diagram (DFD) / Diagram Alir Data (DAD)
DFD atau DAD ini adalah salah satu alat pembuatan
model yang sering digunakan, khususnya bila fungsi-fungsi
sistem merupakan bagian yang lebih penting dan kompleks dari
pada data yang dimanipulasi oleh sistem. Dengan kata lain,
DFD adalah alat pembuatan model yang memberikan penekanan
hanya pada fungsi sistem.
DFD ini merupakan alat perancangan sistem yang
berorientasi pada alur data dengan konsep dekomposisi dapat
digunakan untuk penggambaran analisa maupun rancangan
sistem yang mudah dikomunikasikan oleh profesional sistem
kepada pemakai maupun pembuat program (Parno, 2010 : 1).
DFD melayani dua tujuan : (1) untuk memberikan indikasi
mengenai bagaimana data ditransformasi pada saat data
bergerak melalui sistem, dan (2) untuk menggambarkan fungsi-
fungsi (dan sub-fungsi) yang mentransformasi aliran data. DFD
memberikan informasi tambahan yang digunakan selama
analisis domain informasi dan berfungsi sebagai dasar
pemodelan fungsi (Pressman, 2002 : 354).
Data Flow Diagram (DFD) terdiri dari beberapa
komponen, diantaranya adalah (Yudi, 2010):
Tabel 2.1 Simbol Data Flow Diagram (DFD)
Simbol Nama Keterangan
Terminator Menunjukan awal dan akhir
sustu system
Proses
Untuk menerima masuknya
entitas luar dan mengeluarkan
informasi
Data store
Untuk menyimpan data yang
sudah diproses
Arus data
Dari entitas ke proses atau dari
proses ke proses
b. Entity Relationship Diagram (ERD)
Menurut Jeffrey L. Whitten (2004:281) ERD adalah model
yang menggunkan beberapa notasi untuk menggambarkan data
dalam konteks entitas dan hubungan yang dideskripsikan oleh
data tersebut. Komponen-komponen yang digunakan dalam
diagram hubungan data antara lain:
41
42
1) Entitas
Digambarkan dengan kotak segi empat dan digunakan
untuk menunjukan sekumpulan orang, tempat, objek,
kejadian atau konsep tentang apa yang kita perlukan
untuk mengambil dan menyimpan data.
2) Hubungan atau Relasi
Digambarkan dengan kotak berbentuk diamond dengan
garis yang menghubungkan ke entity yang terkait.
Hubungan atau relasi menunjukan abstraksi dari
sekumpulan hubungan yang mengakibatkan antara
entity yang berbeda.
3) Atribut
Menunjukan karakteristik dari entitas atau sesuatu yang
menjelaskan entitas atau hubungan. Dari setiap atribut-
atribut entitas terdapat satu atribut yang dijadikan
sebagai kunci (key).
Ada beberapa jenis key yaitu:
a) Primary key
b) Secondary key
c) Foreign key
4) Cardinality
Ada 3 dasar cardinality / hubungan yang terjadi yaitu :
a) Satu ke satu (one to one atau 1 : 1)
43
Tingkat hubungan dinyatakan satu ke satu jika
suatu kejadian pada entitas pertama hanya
mempunyai satu hubungan dengan satu kejadian
pada entitas kedua. Demikian juga sebaliknya,
satu kejadian pada entitas yang kedua hanya bisa
mempunyai satu hubungan dengan satu kejadian
pada entitas yang pertama.
b) Satu ke bayak (one to many atau 1 : M)
Tingkat hubungan satu ke banyak adalah sama
dengan banyak ke satu, tergantung dari arah mana
hubungan tersebut dilihat. Untuk satu kejadian
pada entitas yang pertama dapat mempunyai
banyak hubungan dengan kejadian pada entitas
yang kedua. Sebaliknya satu kejadian pada entitas
yang kedua hanya bisa mempunyai satu
hubungan dengan satu kejadian pada entitas yang
pertama.
c) Banyak ke banyak (many to many atau M : M)
Tingkat hubungan banyak ke banyak terjadi jika
tiap kejadian pada sebuah entitas akan
mempunyai banyak hubungan dengan kejadian
pada entitas lainya. Baik dilihat dari sisi entitas
yang pertama maupun dilihat dari sisi entitas
yang kedua.
c. State Transition Diagram (STD)
Merupakan suatu modeling tool yang menggambarkan sifat
ketergantungan pada waktu dari suatu sistem. Notasi STD terdiri
dari state yang disimbolkan dengan segi empat, dan transisi state
yang disimbolkan dengan panah berarah. (Haryanto, 2010).
Cara kerja sistem ini dibagi menjadi dua, yaitu pasif dan aktif.
1) Keadaan Sistem
Setiap kotak mewakili suatu keadaan dimana sistem
mungkin berada didalamnya. State disimbolkan dengan
segi empat.
Gambar 2.2 Simbol State
2) Perubahan Sistem
Untuk menghubungkan satu keadaan dengan keadaan
lain. Ini digunakan jika sistem memiliki transisi dalam
perilakunya, maka hanya ssuatu keadaan dapat berubah
menjadi keadaan tertentu.
Gambar 2.3 Simbol Transition State
Untuk melengkapi STD, dibutuhkan dua hal tambahan
yaitu: kondisi sebelum keadaan dan aksi dari pemakai
untuk mengubah keadaan. Gambar 2.4 adalah ilustrasi
44
dari kondisi dan aksi yang ditampilkan disebelah anak
panah yang menghubungkan dua keadaan.
kondisi
aksi
Gambar 2.4 Simbol kondisi dan aksi
2. Alat berbentuk bagan, yaitu :
a. Organization Chart (Bagan Organisasi)
Menunjukan bagaimana departemen-departemen di dalam
organisasi, dikoordinasikan bersama-sama melalui satu jalur
wewenang dan tanggung jawab. (Jogianto, 2005:27).
b. System Flowchart (Bagan Alir Sistem)
Merupakan bagan yang menunjukan arus pekerjaan secara
keseluruhan dari sistem. Bagan ini menjelaskan urutan dari
prosedur yang ada didalam sistem. (Jogiyanto, 2005:796).
Tabel 2.2: Simbol Flowchart . (Sumber : Jogiyanto, 2011) Simbol Nama Fungsi
Terminator Permulaan/akhir proses
45
Preparation
Aproses inisialisasi/ pemberian
harga awal
Garis Alir Arah aliran program
Proses
Proses perhitungan/ proses
pengolahan data
Predefined Process
Permulaan sub program/ proses
menjalankan sub program
Decision
Perbandingan pernyataan,
penyeleksian data yang
memberikan pilihan untuk
langkah selanjutnya
On Page Connector
Penghubung bagian-bagian
Flowchart yang berada pada
satu halaman
Off Page Connector
Penghubung bagian-bagian
Flowchart yang berada pada
halaman berbeda
3. Alat yang bukan berbentuk gambar atau grafik yang biasa
digunakan dalam pengembangan sistem, yaitu :
a. Data Dictionary (kamus Data)
Kamus data katalog fakta data dan kebutuhan-kebutuhan
informasi dari suatu sistem informasi. (Jogiyanto, 2005:725).
46
47
b. Fungsi Kamus Data
Kamus data (Data Dictionary) berfungsi membantu pelaku
sistem untuk mengartikan aplikasi secara detil dan
mengorganisasi semua element data yang digunakan dalam
sistem secara persis, sehingga pemakai dan penganalisis system
mempunnyai dasar pengertian yang sama tentang masukan,
keluaran, dan proses. (Ladjamudin, 2005).
2.5. Konsep Basis Data
2.5.1. Basis Data
Menurut Jogiyanto (2005:217) menyatakan bahwa “basisdata
diartikan sebagai kumpulan data yang saling berhubungan satu sama lain,
tersimpan di simpanan luar computer dan digunakan perangkat lunak
tertentu untuk memanipulasinya”.
Sedangkan menurut (Fathansyah,2002) menyatakan bahwa
“basisdata merupakan kumpulan field, tabel dan arsip yang saling
berhubungan yang disimpan dalam media penyimpanan elektronik.
2.5.2. Pemanfaatan Basis Data
Pemanfaatan basis data dilakukan untuk tujuan seperti berikut ini
(Fathansyah, 2002):
48
1. Kecepatan Dan Kemudahan
Pemanfaatan basis data memungkinkan untuk dapat menyimpan
data atau melakukan perubahan atau manipulasi terhadap data atau
menampilkan kembali data tersebut secara cepat dan mudah.
2. Efisiensi Ruang Penyimpanan
Dengan basis data efisiensi dan optimalisasi pengguna ruang
penyimpanan dapat dilakukan, karena dapat melakuakan
penekanan jumlah redudansi data, baik dengan menerapkan
sejumlah pengkodean atau dengan membuat relasi-relasi antar
kelompok datd yang saling berhubungan.
3. Keakuratan
Pemanfaatan pengkodean atau pembentukan relasi antar data
bersama dengan penerapan aturan atau batasan tipe data, domain
data, keunikan data, dan sebagainya, yang secara ketat dapat
diterapkan dalam sebuah basis data sangat berguna untuk menekan
ketidakakuratan pemasukan atau penyimpanan data.
4. Ketersediaan
Sebuah basis data dapat memiliki data yang disebar banyak lokasi
geografis. Data nasabah sebuah bank misalnya, dipisah-pisah dan
disimpan dilokasi yang sesuai dengan keberadaan nasabah.dengan
pemanfaatan teknologi jaringan, data yang berada disuatu tempat
dapat juga di akses di tempat lain.
5. Kelengkapan
49
Untuk mengakomodasi kebutuhan kelengkapan data yang semakin
berkembang, maka kita tidak hanya dapat menambah recod-recod
data, tetapi juga dapat melakukan perubahan struktur dalam basis
data.
6. Keamanan
Untuk sistem yang besar dan serius, aspek keamanan juga dapat
diterapkan dengan ketat. Dengan begitu, dapat ditentukan siapa
yang boleh menggunakan basis data beserta objek-objek
didalamnya dan menentukan jenis-jenis operasi apa saja yang boleh
dilakukan dan tidak boleh dilakukan.
7. Kebersamaan Pemakai
Pemakai basis data sering kali tidak terbatas pada satu pemakai
saja, basis data yang dikelola oleh sistem yang mendukung
lingkungan multiuser, akan dapat memenuhi kebutuhan ini tetapi
tetap dengan menjaga terhadap munculnya persoalan baru seperti
inkonsistensi data atau kondisi deadlock.
2.6. Alat Bantu Aplikasi
2.6.1. Sekilas Tentang PHP
PHP (Hypertext preprocessor) merupakan bahasa yang mampu
menghasilkan aplikasi yang dinamis. Terbukti sejak dipublikasikan pertama
kali oleh Rasmus Lerdorf untuk membuat situs pribadinya, banyak
kalangan merespon positif dan beramai-ramai menawarkan jasa untuk
mengembangkan.
50
2.6.2. Sejarah PHP
Pada awal tahun 1995, Rasmus Lerdorf membuat produk bernama
PHP/FI (Personal Home Page /Form Interpreter). Produk yang merupakan
cikal bakal PHP ini ditulis menggunakan bahasa C, dan memiliki
kemampuan untuk berkomunikasidengan database serta membuat halaman
yang dinamis. Produk yang cukup ini dirilis dengan disertai source code-
nya, sehingga setiap orang dapat menggunakanya secara bebas.
Beberapa tahun kemudian, tepatnya November 1997, Rasmus
Lerdorf melepas PHP/FI versi 2.0. namun tidak lama kemudian, Andi
Gutsman dan Zeev Suraski melepas PHP 3.0 yang dihasilkan dengan
menulis ulang PHP/FI, hal ini juga berarti bahwa usia PHP/FI tidak
bertahan lama. Pada generasi ini pula disepakati bahwa PHP merupakan
singkatan dari PHP Hypertext Preprocessor. Hasil dari produk ini juga
cukup bagus, kurang lebih waktu itu 10% web server di internet telah
menggunakanya.
Usia PHP 3.0 memang diramalkan tidak bertahan lama, karena tahun
1998 PHP ditulis ulang kembali. Akan tetapi pada tahun 2003 secara resmi
PHP 4 dikeluarkan, dengan banyak kemampuan tambahan tentunya. Tujuan
utama yang ingin dicapai adalah meningkatkan performa dari kompleksitas
aplikasi dan meningkatkan modularitas.
PHP versi 5 dengan rilis Beta 1, teknologi inilah yang kemudian
akrab disebut sebagai PHP 5, meskipun sampai saat inipengembanganya
masi terus dilakukan, akan tetapi sudah mendapat erspon cukup baik
dikalangan programmer.
51
Sampai saat ini, pengembangan yang dilakukan telah mencapai versi
5.0.3 dan disebarkan secara luas sejak Desember 2004. Beberapa kesalahan
(bug) yang ditemukan pada versi-versi sebelumnya sudah banyak
diperbaiki. Sebenarnya sejak versi 5.0.0 sudah sempat dikatakan final, akan
tetapi satu bulan kemudian disempurnakan dengan meluncurkan versi 5.0.1
dan sampai kini terus dikembangkan lagi (Prasetya, 2005: 30).
2.6.3. MySQL
MySQL adalah Relation Database Management System (RDBMS)
yang didistribusikan secara gratis dibawah lisensi GPL (General Publik
Licenses), MySQL sebenarnya merupakan turunan salah satu konsep utama
dalam database sejak lama, yaitu SQL (Structure Query Language), SQL
adalah sebuah konsep pengoperasian database, terutama untuk pemilihan /
seleksi dan pemasukan data, yang memungkinkan pengoprasian data
dikerjakan dengan mudah secara otomatis. Sebagai database server yang
memiliki konsep database modern, MYSQL memiliki banyak sekali
keistimewaan. Berikut ini beberapa keistimewaan yang dimiliki oleh
MySQL (Prasetyo, 2003:1-3).
1. Protability, dapat berjalan stabil pada berbagai sistem operasi.
2. Open Source, dapat digunakan secara cuma-cuma.
3. Multi User, dapat digunakan oleh banyak user dalam waktu yang
bersamaan tanpa mengalami masalah atau konflik.
52
4. Performance Tuning, memiliki kecepatan dalam menangani query
sederhana, dengan kata lain dapat memproses lebih banyak SQL
persatuan waktu.
5. Column Type, memiliki tipe kolom yang sangat kompleks.
6. Command dan Fuctions, memiliki operator dan fungsi secara penuh
yang mendukung SELECT dan WHERE dalam query.
7. Security, memiliki beberapa lapisan keamanan seperti level
subnetmask, nama host, dan izin akses user dengan system perizinan
yang mendetail secara password.
8. Scalability dan Limits, mampu menangani database dalam skala
besar, dengan jumlah records lebih dari 50 juta dan 60 ribu table
serta 5 miliart baris.
9. Connectivity, dapat melakukan koneksi dengan client menggunakan
protocol TCP/IP, Unix soket (Unix), atau Named Pipes (NT).
10. Localication, dapat mendeteksi pesan kesalahan (error code) pada
client dengan menggunakan lebih dari dua puluh bahasa.
11. Interface, memiliki antar muka terhadap berbagai aplikasi dan
bahasa pemrograman dengan menggunakan fungsi API (Application
Programming Interface).
12. Client dan tool, dilengkapi dengan berbagai tool yang dapat
digunakan untuk administrasi database, dan pada setiap tool yang
ada disertakan petunjuk online.
53
13. Struktur Table, memiliki struktur table yang lebih fleksibel dalam
menangani ALTER TABLE, dibandingkan database lainnya semacam
Oracle.
2.6.4. Macromedia Dreamwever
Macromedia Dreamweaver dapat membantu dalam membuat
animasi atau multimedia yang interaktif. Macromedia Dreamweaver
merupakan program yang dapat digunakan untuk mendesain halaman
Web. (Andi,2007:2).
Fitur-fitur pengeditan yang ditampilkan secra visual dapat
mempercepat penambahan desain dan fungsih pada halaman web tanpa
harus menuliskan satu baris kode. Semua elemen didalam site dapat
ditampilkan dan di drag dari panel-panel ke dalam dokumen secara
langsung dan cepat (Komputer Wahana, 2004:34).
Penulis menggunakan aplikasi ini untuk memudahkan pengeditan
kode-kode dan desain interface aplikasi. Selain itu aplikasi ini dapat
memudahkan penulis dalam melakukan desain tampilan karena aplikasi ini
dapat menampilkan interface yang telah di buat.
Gambar 2.5 Area Kerja Macromedia Dreamweaver 8
54
55
BAB III
METODOLOGI PENELITIAN
Metode pengumpulan data dan metode pengembangan sistem adalah metode
yang digunakan penulis untuk penelitian tugas akhir ini.
3.1. Metode Pengumpulan Data
Untuk memperoleh data yang dibutuhkan dalam penelitian ini penulis
menggunakan teknik pengumpulan data yang terdiri dari :
1. Metode Observasi
Observasi merupakan sebuah metode pengumpulan informasi dengan
cara pengamatan atau peninjauan langsung terhadap objek penelitian.
Observasi pada PK Gaya Baru bertujuan untuk mengetahui kegiatan-
kegiatan apa saja yang ada pada perusahaan tersebut dalam sistem
penggajian karyawannya. Penulis mengumpulkan dan menelaah dokumen-
dokumen yang berhubungan dengan sistem penggajian dan mengamati
langsung cara kerja sistem penggajian PK Gaya Baru tersebut. Dalam
pengumpulan data dan informasi dengan metode ini penulis datang langsung
ke PK Gaya Baru Jl. Bambu Apus, Cipayung Jakarta Timur.
56
2. Metode Wawancara
Wawancara merupakan sebuah kegiatan pengumpulan informasi
dengan cara mengajukan sejumlah pertanyaan. Dalam hal ini penulis
melakukan tanya jawab dengan bagian-bagian yang terkait untuk
mengetahui tentang: profil perusahaan, sistem kerja dan prosedur penggajian
yang berjalan serta permasalahan atau kendala apa saja yang dihadapi
perusahaan.
3. Metode Studi Pustaka
Studi pustaka merupakan pengumpulan data yang diperoleh dari
perpustakaan baik berupa artikel, buku-buku, surat kabar, majalah, jurnal,
maupun sumber informasi lain yang berkaitan dengan pengembangan sistem
informasi penggajian, seperti :
a. Buku Panduan Tugas Akhir Membuat Aplikasi Penggajian
Karyawan dengan Visual Basic 6.0. karya Indah Indriyanna,
penerbit Alif Media Yogjakarta, tahun 2009.
b. Buku Adibe Dreamweaver CS3 dan PHP penerbit C.V Andi Offset
(Penerbit Andi) Yogyakarta 2007.
c. Buku Konsep Dasar Pengolahan dan Pemrograman Database
dengan SQL Server, MS.Acces, dan Ms. Visual Basic karya Ema
Utami dan Sukrisno Penerbit Andi Yogyakarta tahun 2005.
d. Membaca buku-buku referensi sebagai acuan pembahasan dalam
membangun web dengan photoshop dan dreamweaver.
57
e. Membaca buku-buku referensi sebagai acuan pembahasan dalam
membangun system penggajian karyawan.
f. Sumber tulisan dan artikel dari internet dan buku-buku lain untuk
selengkapnya dapat dilihat di daftar pustaka.
4. Metode Studi Literatur Sejenis
Studi literatur adalah salah satu kegiatan dalam riset S1 yang
memiliki fungsi penting. Tujuan studi literatur adalah untuk mendapatkan
“peta” tentang domain penelitian yang akan dilaksanakan. Peta domain ini
sebenarnya berwujud pengetahuan tentang riset-riset yang dilakukan oleh
peneliti lain dalam area penelitian kita. Pengetahuan ini tidak hanya berupa
pemahaman terhadap riset-riset tersebut, tetapi juga saling-kait yang
terbentuk antar riset-riset tadi. Seperti diketahui, sebuah penelitian tidak
muncul begitu saja, tetapi ia selalu mencoba menyelesaikan atau menjawab
persoalan yang ditinggalkan penelitian sebelumnya. Adapun beberapa studi
literatur yang penulis gunakan yaitu:
58
Tabel 3.1. Studi Literatur Sejenis
1. Nama Yuli Yanah
Perguruan
Tinggi UIN Syarif Hidayatullah Jakarta
Tahun 2008
Judul Karya
Ilmiah
Pengembangan Sistem Informasi Penggajian
Karyawan Pada Yayasan Pendidikan
Bidayatul Hidayah Bekasi.
Tujuan Mempermudah Yayasan dalam melakukan
penggajian karyawan yang bekerja di Yayasan
tersebut.
Metodologi Metode pengembangan sistem yang digunakan
adalah System Development Life Cycle
(SDLC)
Kekurangan Belum terkoneksi internet
Kelebihan Mudah pengoperasianya
2. Nama Ade Sudrajat
Perguruan
Tinggi UIN Syarif Hidayatullah Jakarta
Tahun 2009
Judul Karya
Ilmiah
Pengembangan Sistem Informasi Penggajian
PT. Mustika Abadi Sentosa
Tujuan
Mempermudah perusahaan dalam melakukan
penggajian karyawan, serta menerapkan
59
teknologi informasi pada tingkat perusahaan
dalam rangka peningkatan pelayanan dan
kinerja bagian penggajian
Metodologi Metode pengembangan sistem yang digunakan
adalah System Development Life Cycle
(SDLC)
Kekurangan Belum terkoneksi internet
Kelebihan Mudah dalam pengoperasianya
3. Nama Helmi Setiawan
Perguruan
Tinggi UIN Syarif Hidayatullah Jakarta
Tahun 2008
Judul Karya
Ilmiah
Perancangan Sistem Informasi Penggajian
Dengan Finger Print Pada PT. Refa Qualitama
Multitradex
Tujuan Mempermudah perusahaan dalam melakukan
penggajian karyawan yang bekerja di
perusahaan tersebut dan melakukan proses
absensi karyawan dengan finger print.
Metodologi Metode Perancangan Terstruktur
Kekurangan Belum terkoneksi internet
Kelebihan Absensi sudah menggunakan finger print.
60
3.2. Pengembangan Sistem
Seperti yang telah diuraikan pada bab satu, dalam pengembangan
sistem informasi penggajian karyawan PK Gaya Baru, penulis menerapkan
empat dari limatahap yang ada pada siklus hidup pengembangan sistem
(System Development Life Cycle), yaitu tahap perencanaan, analisa,
perancangan, dan implementasi. Alasan penulis memilih metode Siklus
Hidup Pengembangan Sistem atau yang biasa disebut System Development
Life Cycle (SDLC) model Waterfall, karena :
1. Kemudahanya dalam proses penelitian.
2. Mudah dalam pengolahan proyek.
3. Struktur sistem jelas.
4. Setiap tahap dari penelitian dapat terkontrol secara sistematis
karena harus menunggu satu tahap selesai sebelum dapat
dilanjutkan ke tahap berikutnya.
5. Dokumen dihasilkan setiap akhir fase.
6. Kebutuhan user telah sangat dipahami.
7. Kemungkinan terjadinya perubahan kebutuhan user kecil.
Tahapan-tahapan SDLC untuk penelitian sistem informasi
penggajian karyawan PK Gaya Baru adalah sebagai berikut :
61
1. Perencanaan (Planning)
Dalam tahapan ini penulis mencari pokok permasalahan dan
kebutuhan sistem informasi penggajian yang sedang berjalan, yang
bertujuan agar perbaikan atau pengembangan sistem penggajian di
PK Gaya Baru dapat diselesaikan dengan mudah. Pada tahap ini
penulis melakuakan investigasi untuk memperoleh data-data
berupa perangkat keras, perangkat lunak, brainware (perangkat
akal atau orang yang dapat mengopersikan komputer) dan basis
data dari sistem lama dengan cara wawancara kepada pihak-pihak
yang terkait dan observasi langsung untuk mengetahui proses
sistem informasi penggajian pada PK Gaya Baru.
2. Analisis Sistem (System Analysis)
Untuk tahapan ini penulis menganalisa prosedur dan
melakukan pengumpulan data-data untuk kebutuhan sistem usulan
yang berupa: data input, proses, dan output sistem lama, dan hasil
analisanya berupa diagram alir data (Data Flow Diagram) dengan
kamus data, dan diagram keterhubungan entitas (Entity
Relationship Diagram). Dari hasil analisa yang penulis lakukan
dari sistem penggajian yang sedang berjalan ditemukan bahwa
sistem informasi penggajian tersebut masi sering terjadi kesalahan-
kesalahan, yang disebabkan oleh single user dan masih
menggunakan cara manual dalam pengoperasianya. Adapun hasil
analisis ini adalah sebagai berikut:
62
a. Profil Perusahaan
Dalam profil perusahaan penulis menguraikan latar
belakang perusahaan, visi, misi, tujuan, struktur
organisasi, tugas dan tanggung jawab masing-masing
karyawan PK Gaya Baru.
b. Analisis Sistem Berjalan
Analisis sistem berjalan menguraikan tentang analisa
penyimpanan, dokumen, dan prosedur seperti aktivitas
bagian penggajian serta mendefinisikan kelebihan dan
kekurangan sistem penggajian yang sedang berjalan.
c. Solusi Pemecahan Masalah
Penulis mengusulkan alternatif yang dapat membantu
menyelaesaikan permasalahan yang ada dalam sistem
penggajian lama di PK Gaya Baru tersebut.
3. Perancangan (Design)
Pada tahapan ini penulis menggambarkan bagaimana suatu
sistem dibentuk yang dapat berupa penggambaran, perencanaan
dan pembuatan sketsa dari komponen-komponen perangkat lunak
dan perangkat keras sistem tersebut. Perancangan pada penelitian
ini yaitu desain pemrograman yang terdiri dari desain basisdata,
dan desain layout atau tampilan dari sistem yang dibuat.
Sedangkan untuk desain pertukaran data dan proses dipakai Data
flow Diagram (DFD).
63
Untuk lebih jelasnya penulis menjabarkan sebagai berikut :
a. Perancangan Sistem (System Design)
Yaitu menggambarkan aliran data yang ada pada sistem
informasi penggajian karyawan menggunakan tools DFD.
b. Perancangan File (File Design)
Yaitu merancang basisdata penggajian karyawan, dimulai
dengan merancanag diagram hubungan antar entitas.
c. Perancangan Masukan (Input Design)
Yaitu merancang form masukan berdasarkan dokumen
masukan pada sistem penggajian karyawan.
d. Perancangan Keluaran (Output Design)
Yaitu merancang form keluaran berdasarkan dokumen
keluaran pada sistem penggajian karyawan.
e. Kamus Data
Kamus data katalog fakta data dan kebutuhan-kebutuhan
informasi dari suatu sistem informasi. (Jogiyanto,
2005:725).
4. Implementasi (Implementation)
Pada tahap ini dilakukan kegiatan spesifikasi rancangan
logikal kedalam rancangan fisik dari sistem yang akan dirancang
dan dibangun. Lalu mengimplementasikan sistem tersebut kedalam
bahasa pemrograman. Penulis menggunakan bahasa pemrograman
PHP, database My SQL. Kemudian dilakukan pengujian terhadap
64
program tersebut. Setelah program diuji dan dinyatakan sudah
dapat berjalan sesuai dengan yang diharapkan, langkah selanjutnya
adalah penginstalan program, pelatihan kepada user serta membuat
evaluasi untuk menentukan apakah sistem beroperasi secara baik
dan benar.
65
BAB IV
PEMBAHASAN
4.1. Profil Perusahaan PK Gaya Baru
Profil Perusahaan PK Gaya Baru ini membahas tentang sejarah
Perusahaan, visi, misi, struktur organisasi perusahaan, dan deskripsi kerja
karyawan PK Gaya Baru.
4.1.1. Sejarah Perusahaan PK Gaya Baru
Sejarah berdirinya perusahaan PK Gaya Baru pada tahun 1980an
adalah dikarenakan keinginan untuk memenuhi kebutuhan lapangan
pekerjaan yang bisa memenuhi kebutuhan hidup pendiri dan juga
masyarakat di dekatnya. PK Gaya Baru merupakan perusahaan yang
didirikan oleh H. Abdul Hadi Bin Ismail yang sebelumnya perusahaan
tersebut bernama PK CINTA RASA yang berlokasi di Jl. KH Abdulah
Syafi’i, Bukit Duri, Jakarta Selatan, seiring perkembangan perusahaan yang
semakin pesat, lokasi perusahaan di pindahkan ke lokasi yang lebih
strategis, yaitu di Jl. Bambu Apus, Cipayung, Jakarta Timur.
Sejak didirikanya sampai saat ini perusahaan PK Gaya Baru banyak
mengalami perubahan baik dari segi nama perusahaan, bangunan, lokasi
perusahaan, kualitas sumber daya manusia, sarana dan prasarananya.
4.1.2. Visi dan Misi
Layaknya perusahaan lain, perusahaan PK Gaya Baru juga memiliki
visi dan misi dalam menjalankan roda usaha yang dilakukan perusahaan
tersebut. Adapun visi dan misi perusahaan PK Gaya Baru adalah :
1. Visi
“Membangun ekonomi karyawan yang lebih baik”
2. Misi
“PK Gaya Baru sebagai perusahaan yang mampu memberikan
layanan yang baik dan berkualitas”
4.1.3. Struktur Organisasi Perusahaan
Organisasi adalah sistem yang saling pengaruh-mempengaruhi antara
orang dalam kelompok kerjasama untuk mencapai suatu tujuan tertentu yang
sama. (Jogiyanto, 2005:27). Struktur organisasi di PK Gaya Baru adalah
sebagai berikut :
Gambar 4.1 Struktur Organisasi PK Gaya Baru
4.1.4. Deskripsi Kerja Karyawan
66
67
Berikut adalah uraian tentang deskripsi kerja karyawan khususnya
yang berhubungan dengan sistem penggajian karyawan di PK Gaya Baru
1. Pemimpin
Bertugas merancang dan menyediakan sarana dan prasarana,
menerima dan mengkoreksi laporan-laporan dari karyawannya.
2. Administrasi
Bertugas mengurus surat-surat atau kegiatan yang berhubungan
dengan perusahaan.
3. Bagian Keuangan
Bertugas mengurus keluar masuknya uang dalam perusahaan.
4. Kepala Bagian Produksi
Bertugas mengurus segala kegiatan yang berhubungan dengan
produksi barang yang dilakukan perusahaan.
5. Kepala Bagian Gudang
Bertugas mengurus keluar masuk barang yang ada di perusahaan.
6. Kepala Bagian Distribusi
Bertugas mengurus pendistribusian barang-barang dari
perusahaan ke perusahaan lain.
7. Kepala Bagian Teknisi
Bertugas mengurus kerusakan dan memelihara alat-alat yang ada
di perusahaan.
4.2. Perencanaan (Planning)
Dalam tahapan ini penulis mencari pokok permasalahan dan
kebutuhan sistem informasi penggajian yang sedang berjalan, yang
68
bertujuan agar perbaikan atau pengembangan sistem penggajian di PK Gaya
Baru dapat diselesaikan dengan mudah. Pada tahap ini penulis melakuakan
investigasi untuk memperoleh data-data berupa perangkat keras, perangkat
lunak, brainware (perangkat akal atau orang yang dapat mengopersikan
komputer ) dan basis data dari sistem lama dengan cara wawancara kepada
pihak-pihak yang terkait dan observasi langsung untuk mengetahui proses
sistem informasi penggajian pada PK Gaya Baru
4.3. Analisa Sistem
4.3.1. Analisa Sistem Berjalan
Analisa sistem berjalan menguraikan tentang analisa diagram alir
dokumen, kelebihan dan kekurangan sistem berjalan. Analisa sistem adalah
penelitian atas sistem yang telah ada dengan tujuan untuk merancang sistem
yang baru, pada tahap ini dilakukan investigasi awal terhadap sistem yang
sudah ada yang bertujuan untuk mengetahui lebih jelas bagaimana
bagaimana cara kerja sistem tersebut dan masalah yang dihadapi. Sistem
tersebut dapat dijadikan landasan ususlan perancangan sistem.
4.3.1.1. Analisa Diagram Alir Dokumen
Prosedur penggajian karyawan yang berjalan di PK Gaya
BAru adalah sebagai berikut :
1. Karyawan memberikan data karyawan. Data absensi yang
dilakukan setiap hari kepada bagian admin untuk dicatat
69
secara manual, selanjutnya bagian admin membuat
dokumennya kedalam buku khusus data karyawan yang
dilakukan secara manual, selanjutnya dibuat laporan daftar
gaji karyawan berdasarkan bagian atau posisi karyawan
tersebut.
2. Selanjutnya laporan tersebut dibuat rekapanya yang
kemudian diserahkan kepada bagian keuangan untuk
membuat dokumen daftar dan menghitung gaji karyawan.
3. Dari daftar gaji karyawan pula dibuatkan laporan gaji
karyawan, selanjutnya dibuatkan dokumen dua rekap,
lembar pertama diserahkan ke bagian keuangan,
sedangkan lembar kedua diserahkan ke pimpinan
perusahaan untuk diperiksa, setelah disetujui oleh
pimpinan baru pencairan dana dapat dilakukan oleh bagian
keuangan.
4. Setelah itu dibuat slip gaji. Untuk lebih jelasnya dapat
dilihat pada diagram alir dokumen berikut:
Diagram Alir Penentuan Gaji Sistem Berjalan
Karyawan Admin Bagian Keuangan Pimpinan
70
Gambar 4.2 Flowmap Penentuan Sistem Gaji Berjalan
Data karyawan dan data absensi
Catat data karyawan
dan absensi
Data karyawan dan data absensi
2
1
Buat laporan
gaji
2
Buat slip gaji
Slip gaji
Laporan gaji
Daftar gaji
Laporan gaji
Selesai 3
4
Buat daftar gaji
4
Laporan gaji
Data Karyawan
1
Mulai
3
Slip gaji
71
4.3.1.2. Kelebihan Dan Kekurangan Sistem Berjalan
1. Kelebihan Sistem yang berjalan :
a. Memiliki aturan yang jelas dalam penanganan
penggajian.
b. Sistem yang ada mampu menangani proses
penggajian karyawan dengan cukup baik.
c. Informasi yang diberikan pihak yang memerlukan
informasi penggajian cukup jelas sehingga tidak
menyulitkan dalam proses perhitungan Maupun
pengesahan gaji karyawan.
d. Kontrol terhadap sistem cukup baik dalam setiap
prosesnya.
2. Kelemahan Sistem yang berjalan :
a. Informasi yang disajikan tidak terlalu akurat karena
masih bisa terdapat kesalahan misalnya dalam proses
penghitungan gaji dan pemberian bonus.
b. Masih lambatnya sistem berjalan dengan proses
penyajian informasi tentang penggajian karyawan
karena masi menggunakan sistem manual.
c. Sistem masih dilakukan secara manual dalam proses
penyimpanan data sehingga menemui kesulitan jika
sewaktu-waktu diperlukan.
72
4.3.2. Solusi Pemecahan Masalah
Dari hasil analisa sistem berjalan maka penulis memberikan usulan
pemecahan masalah, yaitu:
a. Dibuat sistem informasi yang akurat dalam sistem penghitungan
penggajian karyawan.
b. Dibuat basis data penggajian untuk mengelola data-data yang
terkait dengan penggajian karyawan.
4.3.3. Analisa Sistem Ususlan
Analisis Sistem Usulan menguraikan tentang diagram alir dokumen
sistem informasi penggajian, dan diagram konteks sistem.
Sistem penggajian yang sudah ada di PK. Gaya Baru mampu
dijalankan dengan baik. Tetapi kebutuhan akan sistem semakin meningkat
seirirng dengan waktu yang berjalan, atas dasar inilah diperlukanya
pengembangan terhadap sistem yang ada. Usulan yang dilakukan adalah
merubah dalam segi pengolahan data yang selama ini dilakukan secara
manual sedangkan perancangan sistem baru yang diususlkan oleh penulis
adalah dengan menggunakan program PHP dengan database My SQL.
Bagian-bagian yang terlibat dalam prosedur penggajian yang
diususlkan adalah : Karyawan, Admin, Keuangan, Pimpinan.
73
4.3.3.1. Diagram Alir Dokumen Sistem Informasi Penggajian
Prosedur penggajian yang diususlkan adalah :
1. Karyawan memberikan data absensi kepada system melalui
admin, dan bagian admin memproses data tersebut ke dalam
sistem. Kemudian bagian keuangan melakukan proses
penghitungan gaji karyawan berdasarkan data yang ada.
2. Selanjutnya bagian keuangan membuat dokumen daftar gaji
untuk mengetahui jumlah gaji keseluruhan dan individu.
3. Dari daftar gaji karyawan tersebut dibuat laporan gaji karyawan,
selanjutnya dibuatkan dokumen dua rangkap, lembar pertama
diarsipkan dibagian keuangan, sedangkan lembar kedua
diserahkan ke pimpinan untuk diperiksa.
4. Laporan gaji yang akan diperiksa diserahkan ke pimpinan untuk
diperiksa dan untuk disetujui.
5. Laporan penggajian yang sudah di setujui oleh pimpinan,
kemudian bagian keuangan akan mencetak slip gaji yang dibuat
rangkap dua, rangkap pertama untuk arsip rangkap kedua untuk
karyawan.
6. Setelah dicetak slip gaji untuk karyawan, kemudian
didokumenkan dengan dibuat dua rangkap dimana dokumen
yang pertama berisis slip gaji karyawan yang diserahkan ke
karyawan sebagai pegangan pengambilan gaji, sedangkan
dokumen yang kedua diarsipkan untuk bagian keuangan.
Diagram Alir Penentuan Gaji Sistem Usulan
Karyawan Admin Keuangan Pimpinan
Gambar 4.3. Flowmap Penentuan Gaji Sistem Usulan.
74
75
4.4. Perancangan (Design)
4.4.1. Perancangan Diagram Arus Data (Data Flow Diagram)
Diagram Arus Data (DAD) merupakan gerakan data dari sebuah
sistem, mulai dari masuk sampai ketujuan. Arus data (Data Flow) di DFD
diberi symbol suatu anak panah. Arus data ini mengalir diantara proses
(process), simpanan data (data store) dan kesatuan luar (external entity).
DFD juga merupakan alat yang digunakan pada metodologi
pengembangan sistem yang terstruktur. Pendekatan terstruktur ini mencoba
untuk menggambarkan sistem pertama kali secara garis besar (disebut
dengan top level dan terpecah-pecah menjadi bagian yang lebih rinci atau
disbut dengan lower level).
DFD yang pertama kali digambarkan merupakan level teratas (top
level) dan diagram ini dinamakan context diagram. Dari context diagram ini
kemudian akan digambar dengan lebih rinci lagi yang disebut overview
diagram (level 0).
Tiap-tiap proses di overview diagram akan digambarkan secara lebih
rinci lagi yang disebut dengan level 1.
Tiap-tiap proses level 1 akan digambarkan kembali secara lebih rinci
lagi dan disebut dengan level 2 dan seterusnya sampai tiap-tiap proses tidak
dapat digambarkan lebih rinci lagi.
76
4.4.1.1. Diagram Konteks
Dengan pembuatan suatu diagram konteks dari sistem,
struktur pendekatan ini menggambarkan system secara garis besar
yang kemudian akan dipecah menjadi bagian-bagian lebih rinci.
Dalam diagram konteks dibawah ini terdapat beberapa pihak
terkait yang digambarkan secara umum, dimana kesatuan luar yang
terlibat dalam kesatuan langsung adalah admin, karyawan, bagian
keuangan dan pimpinan perusahaan. Admin berfungsi sebagai
pengelola sistem informasi penggajian karyawan. Karyawan adalah
orang yang bekerja pada perusahaan yang mempunyai system
informasi penggajian karyawan serta orang yang akan menerima gaji.
Bagian keuangan adalah orang yang bertugas mengurus keluar
masuknya uang dalam perusahaan, seperti pemasukan dan
pengeluaran keuangan, serta penggajian karyawan yang dilakukan
perusahaan. Pimpinan perusahaan merupakan orang yang memiliki
system informasi penggajian karyawan (PK Gaya Baru).
Gambar 4.4. Tampilan Diagram konteks
77
78
4.4.1.2. Diagram Arus Data Level 0
Penggambaran sistem DAD level-0 (Over view Diagram)
merupakan penjabaran dari konteks diagram, hanya pada level ini
sudah menjurus kepada suatu proses dan merupakan gabungan secara
keseluruhan yang melibatkan semua kesatuan luar secara lengkap.
Pada proses level-0 terdiri dari beberapa proses yaitu
pemrosesan data karyawan, data golongan, data jabatan, data
keluarga, data pendidikan, data posisi karyawan, data potongan, data
tunjangan, data absensi dan data penggajian. Pada level-0, proses-
proses diatas dikelompokan menjadi 11 (sebelas).
Gambar 4.5. Tampilan DAD level-0
79
80
Dalam diagram arus data diatas dapat dijelaskan arus data
penyimpanan ke dalam berkas, diantaranya adalah sebagai berikut :
1. Proses 1.0, Merupakan proses pemasukan data karyawan
atau karyawan yang bekerja pada perusahaan PK Gaya
Baru. Data karyawan tersebut akan direkam kedalam
tabel Karyawan.
2. Proses 2.0, Merupakan proses pemasukan data
pendidikan terakir karyawan. Dalam proses pemasukan
data pendidikan, data karyawan pada tabel Karyawan
juga dibutuhkan. Data-data hasil masukan data
pendidikan dan data dari tabel Karyawan akan direkam
ke dalam tabel Pendidikan.
3. Proses 3.0, Merupakan proses pemasukan data keluarga
karyawan. Dalam proses pemasukan data keluarga, data
karyawan dari tabel Karyawan juga dibutuhkan, maka
dalam proses tersebut akan mengambil sebagian data-data
karyawan dari tabel Karyawan yang sudah terbentuk.
Data-data hasil masukan data keluarga dan data dari tabel
Karyawan akan direkam ke dalam tabel Keluarga.
4. Proses 4.0, Merupakan proses pemasukan data-data
golongan dari seorang karyawan di PK Gaya Baru. Data
golongan tersebut akan direkam ke dalam tabel
Golongan.
81
5. Proses 5.0, Merupakan proses pemasukan data-data
jabatan yang ada pada PK Gaya Baru data jabatan
tersebut akan direkam ke dalam tabel Jabatan.
6. Proses 6.0, Merupakan proses pemasukan data-data
posisi karyawan. Dalam proses ini akan membutuhkan
data-data dari tabel Golongan dan Jabatan. Kemudian
proses pemasukan data-data tersebut akan direkam ke
dalam tabel Posisi_ Karyawan.
7. Proses 7.0, Merupakan proses pemasukan dat-dat
potongan yang dimiliki oleh karyawan setiap bulanya.
Dalam proses ini akan membutuhkan data-dat dari tabel
Karyawan. Kemudian proses pemasukan data-data
tersebut akan direkam ke dalam tabel Potongan.
8. Proses 8.0, Merupakan proses pemasukan data-data
tunjangan yang dimiliki oleh karyawan setiap bulanya.
Dalam proses ini akan membutuhkan data-data dari tabel
Karyawan. Kemudian proses pemasukan data-data
tersebut akan direkam ke dalam tabel Tunjangan.
9. Proses 9.0, Merupakan proses pemasukan data-data
absensi karyawan setiap harinya. Dalam proses ini akan
membutuhkan data-dat dari tabel Karyawan. Kemudian
proses pemasukan data-data tersebut akan direkam ke
dalam tabel Absensi.
10. Proses 10.0, Merupakan proses pemasukan data-data
penggajian karyawan setiap harinya. Dalam proses ini
akan membutuhkan data-dat dari tabel Karyawan.
Kemudian proses pemasukan data-data tersebut akan
direkam ke dalam tabel Penggajian.
11. Proses 11.0, Merupakan proses pencetakan laoporan.
Proses ini memerlukan data dari keseluruhan
tabel.laporan kemudian disampaikan kepada Pimpinan
perusahaan.
4.4.1.3. Diagram Arus Data Level-1 Proses 1
Diagram Arus Data Level 1 Proses 1 dapat dijabarkan secara
lengkap sebagai berikut:
Gambar 4.6. Tampilan DAD level -1 Proses 1
82
Dari diagram proses pemasukan data karyawan di atas
memerluka masukan dari bagian admin. Dalam diagram tersebut
dapat dijelaskan arus data penyimpanan data karyawan ke dalam
berkas penyimpanan. Berikut adalah penjelasasnnya:
1. Proses 1.1, Merupakan proses perekaman data karyawan
secara langsung yang dilakukan oleh pihak admin. Proses
perekaman data karyawan tersebut akan disimpan ke
dalam tabel Karyawan.
2. Proses 1.2, Merupakan proses perubahan data yang
dilakukan oleh pihak admin, dalam proses perubahan data
tersebut akan membutuhkan data dari tabel Karyawan,
kemudian akan disimpan ke dalam tabel Karyawan.
4.4.1.4. Diagram Arus Data Level-1 Proses 2
Gambar 4.7. Tampilan DAD level -1 Proses 2
83
Dari diagram proses pemasukan data pendidikan diatas
memerlukan masukan data dari tabel Karyawan. Berikut adalah
penjelasan dari arus data penyimpanan ke dalam berkas:
1. Proses 2.1, Merupakan proses perekaman data
pendidikan secara langsung yang dilakukan oleh pihak
admin yang membutuhkan data pemasukan dari tabel
Karyawan, proses perekaman data pendididkan
karyawan tersebut akan disimpan ke dalam tabel
Pendidikan.
2. Proses 2.2, Merupakan proses perubahan data yang
dilakukan oleh pihak admin, dalam proses perubahan data
tersebut akan membutuhkan data dari tabel Pendidikan,
kemudian akan direkam ke dalam tabel Pendidikan.
4.4.1.5. Diagram Arus Data Level-1 Proses 3
Gambar 4.8. Tampilan DAD level -1 Proses 3
84
Dari diagram proses pemasukan data keluarga diatas
memerlukan masukan data dari tabel Karyawan. Berikut adalah
penjelasan dari arus data penyimpanan ke dalam berkas:
1. Proses 3.1, Merupakan proses perekaman data keluarga
secara langsung yang dilakukan oleh pihak admin yang
membutuhkan data pemasukan dari tabel Karyawan,
proses perekaman data keluarga karyawan tersebut akan
disimpan ke dalam tabel Keluarga.
2. Proses 3.1, Merupakan proses perubahan data yang
dilakukan oleh pihak admin, dalam proses perubahan data
tersebut akan membutuhkan data dari tabel Keluarga,
kemudian akan direkam ke dalam tabel Keluarga.
4.4.1.6. Diagram Arus Data Level-1 Proses 4
Gambar 4.9. Tampilan DAD level -1 Proses 4
85
Dari diagram proses pemasukan data golongan diatas
memerlukan masukan data dari admin. Berikut adalah penjelasan dari
arus data penyimpanan ke dalam berkas penyimpanan:
1. Proses 4.1, Merupakan proses perekaman data golongan
secara langsung yang dilakukan oleh pihak admin, proses
perekaman data golongan karyawan tersebut akan
disimpan ke dalam tabel Golongan.
2. Proses 4.2, Merupakan proses perubahan data yang
dilakukan oleh pihak admin, dalam proses perubahan data
tersebut akan membutuhkan data dari tabel Golongan,
kemudian akan direkam kembali ke dalam tabel
Golongan.
4.4.1.7. Diagram Arus Data Level-1 Proses 5
Diagram Arus Data Level 1 Proses 5 dapat dijabarkan secara
lengkap sebagai berikut:
Gambar 4.10. Tampilan DAD level -1 Proses 5
86
Dari diagram proses pemasukan data jabatan diatas
memerlukan masukan data dari admin. Berikut adalah penjelasan dari
arus data penyimpanan ke dalam berkas penyimpanan:
1. Proses 5.1, Merupakan proses perekaman data jabatan
secara langsung yang dilakukan oleh pihak admin, proses
perekaman data jabatan karyawan tersebut akan disimpan
ke dalam tabel Jabatan.
2. Proses 5.2, Merupakan proses perubahan data yang
dilakukan oleh pihak admin, dalam proses perubahan data
tersebut akan membutuhkan data dari tabel Jabatan,
kemudian akan direkam kembali ke dalam tabel Jabatan.
4.4.1.8. Diagram Arus Data Level-1 Proses 6
Gambar 4.11. Tampilan DAD level -1 Proses 6 Dari diagram proses pemasukan data keluarga diatas
memerlukan masukan data dari tabel Karyawan, tabel Golongan dan
87
tabel Jabatan. Berikut adalah penjelasan dari arus data penyimpanan
ke dalam berkas:
1. Proses 6.1, Merupakan proses perekaman data posisi
karyawan secara langsung yang dilakukan admin. Proses
perekaman data posisi karyawan akan membutuhkan data
dari kesatuan luar, yaitu data dari tabel Karyawan, tabel
Golongan dan tabel Jabatan. Dari proses perekaman
data-data tersebut akan langsung disimpan ke dalam tabel
Posisi_Karyawan.
2. Proses 6.2, Merupakan proses perubahan data yang
dilakukan oleh pihak admin, dalam proses perubahan data
tersebut akan membutuhkan data dari tabel
Posisi_Karyawan, kemudian akan disimpan ke dalam
tabel Posisi_Karyawan.
4.4.1.9. Diagram Arus Data Level-1 Proses 7
Diagram Arus Data Level 1 Proses 7 dapat dijabarkan secara
lengkap sebagai berikut:
88
Gambar 4.12. Tampilan DAD level -1 Proses 7
Dari diagram proses pemasukan data potongan diatas
memerlukan masukan data dari admin yang membutuhkan data dari
tabel Karyawan. Berikut adalah penjelasan dari arus data
penyimpanan ke dalam berkas penyimpanan:
1. Proses 7.1, Merupakan proses perekaman data potongan
secara langsung yang dilakukan oleh pihak admin, yang
membutuhkan data dari tabel Karyawan, proses
perekaman data potongan karyawan tersebut akan
disimpan ke dalam tabel Potongan.
2. Proses 7.2, Merupakan proses perubahan data yang
dilakukan oleh pihak admin, dalam proses perubahan data
tersebut akan membutuhkan data dari tabel Golongan,
kemudian akan direkam kembali ke dalam tabel
Golongan.
4.4.1.10. Diagram Arus Data Level-1 Proses 8
Diagram Arus Data Level 1 Proses 8 dapat dijabarkan
secara lengkap sebagai berikut:
89
Gambar 4.13. Tampilan DAD level -1 Proses 8
Dari diagram proses pemasukan data tunjangan diatas
memerlukan masukan data dari admin. Berikut adalah penjelasan dari
arus data penyimpanan ke dalam berkas penyimpanan:
1. Proses 8.1, Merupakan proses perekaman data tunjangan
secara langsung yang dilakukan oleh pihak admin, yang
membutuhkan data pemasukan dari tabel Karyawan,proses
perekaman data tunjangan karyawan tersebut akan
disimpan ke dalam tabel Tunjanagan.
2. Proses 8.2, Merupakan proses perubahan data yang
dilakukan oleh pihak admin, dalam proses perubahan data
tersebut akan membutuhkan data dari tabel Tunjangan,
kemudian akan direkam kembali ke dalam tabel
Tunjangan.
4.3.11. Diagram Arus Data Level-1 Proses 9
Diagram Arus Data Level 1 Proses 9 dapat dijabarkan
secara lengkap sebagai berikut:
Gambar 4.14. Tampilan DAD level -1 Proses 9
90
91
Dari diagram proses pemasukan data absensi diatas
memerlukan masukan data dari admin yang mebutuhkan data dari
tabel Karyawan. Berikut adalah penjelasan dari arus data
penyimpanan ke dalam berkas penyimpanan:
1. Proses 9.1, Merupakan proses perekaman data absensi
secara langsung yang dilakukan oleh pihak admin, yang
membutuhkan data pemasukan dari tabel Karyawan.
proses perekaman data absensi karyawan tersebut akan
disimpan ke dalam tabel Absensi.
2. Proses 9.2, Merupakan proses perubahan data yang
dilakukan oleh pihak admin, dalam proses perubahan
data tersebut akan membutuhkan data dari tabel
Absensi, kemudian akan direkam kembali ke dalam
tabel Absensi.
4.3.12. Diagram Arus Data Level-1 Proses 10
Diagram Arus Data Level 1 Proses 10 dapat dijabarkan
secara lengkap sebagai berikut:
Gambar 4.15. Tampilan DAD level -1 Proses 10
Dari diagram proses pemasukan data penggajian diatas
memerlukan masukan data dari admin yang mebutuhkan data dari
tabel Karyawan. Berikut adalah penjelasan dari arus data
penyimpanan ke dalam berkas penyimpanan:
1. Proses 10.1, Merupakan proses perekaman data
penggajian secara langsung yang dilakukan oleh pihak
admin, yang membutuhkan data pemasukan dari tabel
Karyawan. Proses perekaman data absensi karyawan
tersebut akan disimpan ke dalam tabel Penggajian.
92
93
2. Proses 10.2, Merupakan proses perubahan data yang
dilakukan oleh pihak admin, dalam proses perubahan
data tersebut akan membutuhkan data dari tabel
Penggajian, kemudian akan direkam kembali ke dalam
tabel Penggajian.
4.3.13. Diagram Arus Data Level-1 Proses 11
Diagram Arus Data Level 1 Proses 11 dapat dijabarkan
secara lengkap sebagai berikut:
Gambar 4.16. Tampilan DAD level -1 Proses 11
94
95
Dari tampilan proses diagram alir sistem diatas merupakan
proses pembuatan keseluruhan laporan dari seluruh tabel yang telah
direkam yang akan disampaikan kepada admin, bagian keuangan dan
pimpinan perusahaan. Berikut adalah penjelasan dari arus data
tersebut:
1. Proses 11.1, Merupakan pemrosesan pembuatan
laporan seluruh karyawan yang akan menghasilkan satu
laporan, yaitu Laporan Seluruh Karyawan.
2. Proses 11.2, Merupakan pemrosesan laporan seluruh
pendidikan yang membutuhkan data dari tabel
Karyawan, kemudian akan menghasilkan satu laporan,
yaitu Laporan Seluruh Pendidikan.
3. Proses 11.3, Merupakan pemrosesan laporan seluruh
keluarga yang membutuhkan data dari tabel Karyawan,
kemudian akan menghasilkan satu laporan, yaitu
Laporan Seluruh Keluarga.
4. Proses 11.4, Merupakan pemrosesan laporan seluruh
golongan yang akan menghasilkan satu laporan, yaitu
Laporan Seluruh Golongan.
5. Proses 11.5, Merupakan pemrosesan laporan seluruh
jabatan yang akan menghasilkan satu laporan, yaitu
Laporan Seluruh Jabatan.
6. Proses 11.6, Merupakan pemrosesan laporan seluruh
posisi karyawan yang membutuhkan data dari tabel
96
Karyawan, tabel Golongan dan tabel Jabatan
kemudian akan menghasilkan satu laporan, yaitu
Laporan Seluruh Posisi Karyawan.
7. Proses 11.7, Merupakan pemrosesan laporan seluruh
potongan yang membutuhkan data dari tabel
Karyawan, kemudian akan menghasilkan satu laporan,
yaitu Laporan Seluruh Potongan.
8. Proses 11.8, Merupakan pemrosesan laporan seluruh
tunjangan yang membutuhkan data dari tabel
Karyawan, kemudian akan menghasilkan satu laporan,
yaitu Laporan Seluruh Tunjangan.
9. Proses 11.9, Merupakan pemrosesan laporan seluruh
absensi yang membutuhkan data dari tabel Karyawan,
kemudian akan menghasilkan satu laporan, yaitu
Laporan Seluruh Absensi.
10. Proses 11.10, Merupakan pemrosesan laporan seluruh
penggajian yang membutuhkan data dari tabel
Karyawan, kemudian akan menghasilkan satu laporan,
yaitu Laporan Seluruh Penggajian.
4.4.2. State Transition Diagram (STD)
Pada tahap ini akan menjelaskan bagaimana menu tersebut berubah
dari satu keadaan ke keadaan yang lain. Perancangan State Transition
Diagram (STD) digunakan untuk menggambarkan segala kemungkinan
yang terjadi dari satu state ke state yang lain, agar memperoleh proses yang
lebih rinci dari suatu system dan mudah di baca.
1. State Transitiaon Diagram (STD) Menu Utama
Gambar 4.17. Tampilan State Transition Diagram (STD) Menu
Utama
97
2. State Transition Diagram (STD) Super Admin
Gambar 4.18. Tampilan State Transition Diagram (STD) Super
Admin
3. State Transition Diagram (STD) Admin
Gambar 4.19.Tampilan State Transition Diagram (STD) Admin
98
4. State Transition Diagram (STD) User/Karyawan
Gambar 4.20. Tampilan State Transition Diagram (STD) Karyawan
5. State Transition Diagram (STD) Home
Gambar 4.21. Tampilan State Transition Diagram (STD) Home
99
6. State Transition Diagram (STD) Penggajian
Gambar 4.22. Tampilan State Transition Diagram (STD) Penggajian
100
7. State Transition Diagram (STD) Pengaturan
Gambar 4.23. Tampilan State Transition Diagram (STD)
Pengaturan
101
102
4.4.3. Merancang Database
Pada sub bab ini membahas tentang proses pembuatan database
penggajian yang digunakan dalam pembuatanstudi kasus penggajian
karyawan di PK. Gaya Baru.
1. Membuat Database Penggajian
Untuk membuat database penggajian yang harus dilakukan
adalah membuat tabel yang sudah dianalisa oleh penulis, tabel
tersebut adalah; tabel karyawan, tabel pendidikan, tabel keluarga,
tabel golongan, tabel jabatan, tabel posisi karyawan, tabel potongan,
tabel tunjangan, tabel absensi, tabel total gaji, tabel periode
penggajian.
2. Tabel Karyawan
Tabel karyawan digunakan untuk merekam data-data
karyawan. Dengan adanya pencatatan data kayawan ini, maka suatu
instansi dapat mendokumentasikan karyawan-karyawan yang bekerja
pada perusahaanya, sehingga akan mempermudah proses penggajian
kepada karyawan.
Tabel 4.1. Field-field tabel Karyawan
Field Type Length Collation
ip varchar 20 latin1_swedish_ci
nik int 11 latin1_swedish_ci
nama varchar 35 latin1_swedish_ci
alamat varchar 120 latin1_swedish_ci
tempat_lahir varchar 20 latin1_swedish_ci
103
tanggal_lahir varchar 35 latin1_swedish_ci
janis_kelamin varchar 15 latin1_swedish_ci
agama varchar 10 latin1_swedish_ci
status_nikah varchar 20 latin1_swedish_ci
no_telepon varchar 35 latin1_swedish_ci
status_karyawan varchar 20 latin1_swedish_ci
tanggal_masuk varchar 50 latin1_swedish_ci
3. Tabel Pendidikan
Tabel Pendidikan digunakan untuk merekam data
pendidikan terakhir karyawan. Dengan adanya data pendidikan,
maka pimpinan dapat mengetahui tingkat pendidikan dan keahlian
dari karyawan dengan mudah. Berikut adalah struktur dan desain
tabel pendidikan secara lengkap:
Tabel 4.2. Field-field tabel Pendidikan
Field Type Length Collation
ip varchar 20 latin1_swedish_ci
nik int 11 latin1_swedish_ci
pendidikan_akhir varchar 35 latin1_swedish_ci
nama_pendidikan varchar 75 latin1_swedish_ci
kota varchar 35 latin1_swedish_ci
no_ijazah varchar 35 latin1_swedish_ci
jurusan varchar 75 latin1_swedish_ci
tahun lulus varchar 4 latin1_swedish_ci
4. Tabel Keluarga
Tabel keluarga digunakan untuk merekam data-data
keluarga Karyawan. Keluarga akan menjelaskan status pasangan dari
104
karyawan apakah karyawan itu sudah menikah atau belum. Berikut
adalah struktur dan desain tabel keluarga secara lengkap:
Tabel 4.3. Field-field tabel Keluarga
Field Type Length Collation
ip varchar 20 latin1_swedish_ci
nik int 11 latin1_swedish_ci
status_pasangan varchar 35 latin1_swedish_ci
jumlah_anak varchar 10 latin1_swedish_ci
5. Tabel Golongan
Tabel golongan akan digunakan untuk merekam golongan
karyawan. Tabel golongan juga akan mendeklarasikan gaji sesuai
golongan serta jabatan golongan. Berikut adalah struktur dan desain
tabel golongan secara lengkap:
Tabel 4.4. Field-field tabel Golongan
Field Type Length Collation
ip varchar 20 latin1_swedish_ci
kode_golongan varchar 11 latin1_swedish_ci
golongan varchar 35 latin1_swedish_ci
gaji_pokok varchar 15 latin1_swedish_ci
id varchar 4 latin1_swedish_ci
6. Tabel Jabatan
Tabel jabatan digunakan untuk merekam data-data jabatan
yang ada dalam perusahaan. Data jabatan akan menjelaskan setiap
karyawan akan memiliki posisi jabatan sebagai apa dalam
105
perusahaan. Berikut adalah struktur dan desain tabel golongan secara
lengkap:
Tabel 4.5. Field-field tabel Jabatan
Field Type Length Collation
ip varchar 20 latin1_swedish_ci
kode_jabatan varchar 35 latin1_swedish_ci
jabatan varchar 35 latin1_swedish_ci
id varchar 4 latin1_swedish_ci
7. Tabel Posisi Karyawan
Tabel posisi karyawan digunakan untuk merekam posisi
seoarang karyawan berdasarkan golongan dan jabatan dalam
perusahaan. Dalam tabel posisi karyawan ini akan membutuhkan
tabel field NIP dari tabel karyawan, field kd_golongan dari tabel
golongan field kd_jabatan dari database jabatan. Berikut adalah
struktur dan desain tabel posisi karyawan secara lengkap:
Tabel 4.6. Field-field tabel Posisi Karyawan
Field Type Length Collation
ip varchar 20 latin1_swedish_ci
nik int 11 latin1_swedish_ci
kode_golongan varchar 11 latin1_swedish_ci
kode_jabatan varchar 35 latin1_swedish_ci
tanggal_sk varchar 50 latin1_swedish_ci
no_sk varchar 35 latin1_swedish_ci
8. Tabel Potongan
Tabel potongan digunakan untuk menyimpan potongan-
potongan biaya yang dimiliki oleh karyawan. Biaya dari potongan ini
106
akan mengurangi perolehan gaji karyawan setiap bulanya. Berikut
adalah struktur dan desain tabel potongan secara lengkap:
Tabel 4.7. Field-field tabel Potongan
Field Type Length Collation
ip varchar 20 latin1_swedish_ci
nik int 11 latin1_swedish_ci
nama varchar 35 latin1_swedish_ci
kode_potongan varchar 11 latin1_swedish_ci
tanggal_potongan varchar 50 latin1_swedish_ci
nama_potongan varchar 35 latin1_swedish_ci
nilai varchar 15 latin1_swedish_ci
9. Tabel Tunjangan
Tabel tunjangan digunakan untuk menyimpan tunjangan-
tunjangan yang dimiliki oleh karyawan. Tunjangan-tunjangan ini
akan menambah perolehan gaji karyawan setiap bulanya. Berikut
adalah struktur dan desain tabel tunjangan secara lengkap:
Tabel 4.8. Field-field tabel Tunjangan
Field Type Length Collation
ip varchar 20 latin1_swedish_ci
nik int 11 latin1_swedish_ci
nama varchar 35 latin1_swedish_ci
kode_tunjangan varchar 11 latin1_swedish_ci
tanggal_tunjangan varchar 50 latin1_swedish_ci
nama_tunjangan varchar 35 latin1_swedish_ci
nilai varchar 15 latin1_swedish_ci
107
10. Tabel Absensi
Tabel absensi digunakan untuk mencatat absensi pegawai
setiap harinya. Berikut adalah struktur dan desain tabel absensi secara
lengkap:
Tabel 4.9 Field-field tabel Absensi
Field Type Length Collation
ip varchar 20 latin1_swedish_ci
nik int 11 latin1_swedish_ci
nama varchar 35 latin1_swedish_ci
kode_absensi varchar 11 latin1_swedish_ci
tanggal_ absensi varchar 50 latin1_swedish_ci
hadir varchar 1 latin1_swedish_ci
tidak_hadir varchar 1 latin1_swedish_ci
status varchar 15 latin1_swedish_ci
11. Tabel Total Gaji
Tabel total gaji digunakan untuk proses pemberian gaji
setiap bulanya kepada karyawan. Berikut adalah struktur dan desain
tabel penggajian secara lengkap:
Tabel 4.10. Field-field tabel Total_Gaji
Field Type Length Collation
nik int 11 latin1_swedish_ci
nama varchar 50 latin1_swedish_ci
gaji varchar 35 latin1_swedish_ci
12. Relasi Antar Tabel Dalam Sistem Penggajian
Gambar 4.24. Tampilan Relasi Antar Tabel
Penjelasan Relasi Antar Tabel:
1. Tabel Karyawan dengan tabel Pendidikan memiliki relasi one
to ane artinya setiap karyawan hanya boleh memiliki satu data
pendidikan saja. Field penghubung data adalah nik, dimana
didalam tabel Karyawan sebagai kunci utama (primary key)
dan didalam tabel Pendidikan memiliki posisi sebagai kunci
utama (foreign key).
2. Tabel Karyawan dengan tabel Keluarga memiliki relasi one to
one artinya setiap karyawan hanya boleh memiliki satu data
keluarga saja. Field penghubung data adalah nik, dimana
108
109
didalam tabel Karyawan sebagai kunci utama (primary key)
dan didalam tabel Keluarga memiliki posisi sebagai kunci
utama (foreign key).
3. Tabel Karyawan dengan tabel Potongan memiliki relasi one to
many artinya setiap karyawan boleh memiliki lebih dari satu
data potongan biaya. Field penghubung data adalah nik,
dimana didalam tabel Karyawan sebagai kunci utama (primary
key) dan didalam tabel Potongan memiliki posisi sebagai kunci
utama (foreign key).
4. Tabel Karyawan dengan tabel Tunjangan memiliki relasi one to
many artinya setiap karyawan boleh memiliki lebih dari satu
data tunjangan. Field penghubung data adalah nik, dimana
didalam tabel Karyawan sebagai kunci utama (primary key)
dan didalam tabel Tunjangan memiliki posisi sebagai kunci
utama (foreign key).
5. Tabel Karyawan dengan tabel Posisi_Karyawan memiliki relasi
one to one artinya setiap karyawan hanya boleh memiliki satu
posisi saja. Field penghubung data adalah nik, dimana didalam
tabel Karyawan sebagai kunci utama (primary key) dan
didalam tabel Posisi_Karyawan memiliki posisi sebagai kunci
utama (foreign key).
6. Tabel Jabatan dengan tabel Posisi_Karyawan memiliki relasi
one to many artinya setiap karyawan boleh memiliki lebih dari
satu posisi jabantan . Field penghubung data adalah
110
kode_jabatan, dimana didalam tabel Jabatan sebagai kunci
utama (primary key) dan di tabel Posisi_Karyawan memiliki
posisi sebagai kunci utama (foreign key).
7. Tabel Karyawan dengan tabel Absensi memiliki relasi one to
many artinya setiap karyawan boleh memiliki lebih dari satu
data absensi. Field penghubung data adalah nik, dimana
didalam tabel Karyawan sebagai kunci utama (primary key)
dan didalam tabel Absensi memiliki posisi sebagai kunci utama
(foreign key).
8. Tabel Karyawan dengan tabel Total_Gaji memiliki relasi one to
many artinya setiap karyawan boleh memiliki lebih dari satu
data total gaji. Field penghubung data adalah nik, dimana
didalam tabel Karyawan sebagai kunci utama (primary key)
dan didalam tabel Total_Gaji memiliki posisi sebagai kunci
utama (foreign key).
4.4.4. Perancangan Input
Perancangan input diperlukan untuk menghasilkan informasi, dimana
perancangan input ini meliputu rancangan bentuk dokumen-dokumen dasar
yang akan digunakan untuk mendapatkan data dalam perancangan.
Perancangan input yang terdapat dalam sistem informasi penggajian
karyawan tersebut adalah sebagai berikut:
1. Form Input Log In
Nama Karyawan
Password
Lihat web
Login
LOGO
Gambar 4.25. Perancangan Input Log In Database
Gambar 4.25. Menunjukan perancangan dari form input login
database. Pemakai yang akan mengakses system informasi
penggajian karyawan harus menigisi nama karyawan dan password
yang sesuai dan sudah terdaftar di server.
2. Form Input Data Karyawan
111
INPUT DATA KARYAWAN
NIK Jenis kelamin
Nama Agama
Alamat Status Nikah
No. Telepon
Tempat Lahir Status Karyawan
Tanggal Lahir Tanggal Masuk
Simpan
Gambar 4.26. Perancangan Input Data Karyawan
Gambar 4.26 merupakan perancangan input dari form
pengisisan data karyawan. Dalam form tersebut dapat dilakukan
operasi data yaitu meyimpan data. Form ini hanya dapat digunakan
oleh operator atau admin.
3. Form Input Data Pendidikan
Gambar 4.27 dibawah ini merupakan perancangan input dari
form pengisisan data pendidikan karyawan. Dalam form tersebut
dapat dilakukan operasi data yaitu meyimpan data. Form ini hanya
dapat digunakan oleh operator atau admin.
INPUT DATA PENDIDIKAN
NIK/Nama
Pendidikan Akhir
Nama Pendidikan
Kota
No. Ijasah
Jurusan
Tahun Lulus
Simpan
Gambar 4.27. Perancangan Input Data Pendidikan
112
4. Form Input Data Keluarga
INPUT DATA KELUARGA
NIK/Nama
113
Status Pasangan
Jumlah Anak
Simpan
Gambar 4.28. Perancangan Input Data Keluarga
Gambar 4.28 merupakan perancangan input dari form
pengisisan data keluarga. Dalam form tersebut dapat dilakukan
operasi data yaitu meyimpan data. Form ini hanya dapat digunakan
oleh operator atau admin.
5. Form Input Data Golongan
INPUT DATA GOLONGAN
Kode Golongan
Golongan
Gaji Pokok
Gambar 4.29. Perancangan Input Data Golongan
No Kode Golongan Golongan Gaji Pokok Edit Hapus
Simpan
Gambar 4.29 merupakan perancangan input dari form
pengisisan data golongan. Dalam form tersebut dapat dilakukan
operasi data yaitu edit, hapus dan meyimpan data. Form ini hanya
dapat digunakan oleh operator atau admin.
6. Form Input Data Jabatan
INPUT DATA JABATAN
Kode Jabatan
Golongan
Simpan
No Kode Jabatan Jabatan Edit Hapus
Gambar 4.30. Perancangan Input Data Jabatan
Gambar 4.30 datas merupakan perancangan input dari form
pengisisan data jabatan. Dalam form tersebut dapat dilakukan operasi
data yaitu edit, hapus dan meyimpan data. Form ini hanya dapat
digunakan oleh operator atau admin.
7. Form Input Data Posisi Karyawan
INPUT DATA POSISI KARYAWAN
NIK
Golongan
Jabatan
Tanggal SK
No. SK Karyawan
Simpan
Gambar 4.31. Perancangan Input Data Posisi Karyawan
114
Gambar 4.31 merupakan perancangan input dari form
pengisisan data posisi karyawan. Dalam form tersebut dapat
dilakukan operasi data yaitu meyimpan data. Form ini hanya dapat
digunakan oleh operator atau admin.
8. Form Input Data Potongan
INPUT DATA POTONGAN
Tanggal Potongan
NIK
Nama Potongan
Nilai Rp
Simpan
Gambar 4.32. Perancangan Input Data Potongan
Gambar 4.32 merupakan perancangan input dari form
pengisisan data potongan. Dalam form tersebut dapat dilakukan
operasi data yaitu meyimpan data. Form ini hanya dapat digunakan
oleh operator atau admin.
9. Form Input Data Tunjangan
Gambar 4.33 merupakan perancangan input dari form
pengisisan data Tunjangan. Dalam form tersebut dapat dilakukan
operasi data yaitu meyimpan data. Form ini hanya dapat digunakan
oleh operator atau admin.
115
116
INPUT DATA TUNJANGAN
Tanggal Tunjangan
NIK
Nama Tunjangan
Nilai
Simpan
Gambar 4.33. Perancangan Input Data Tunjanagan
10. Form Input Absensi
INPUT DATA ABSENSI
Tanggal Absensi
NIK
Status Kehadiran O Hadir O Tidak Hadir
Simpan
Gambar 4.34. Perancangan Input Data Absensi
Gambar 4.34 merupakan perancangan input dari form
pengisisan data absensi. Dalam form tersebut dapat dilakukan operasi
data yaitu meyimpan data. Form ini hanya dapat digunakan oleh
operator atau admin.
117
4.4.5. Perancangan Output
Perancangan output digunakan untuk menghasilkan suatu informasi.
Perancangan output ini akan menampilkan data keluaran yang diinginkan.
Perancangan output tersebut adalah sebagai berikut:
1. Form Output Laporan Data Seluruh Karyawan
Tabel 4.11. Perancangan Output Seluruh Karyawan
LAPORAN DATA SELURUH KARYAWAN
No NIK Nama Alamat No. Tlp Statu
Karyawan
Tanggal
Masuk
Edit Hapus
Tabel 4.11 merupakan perancangan input dari form laporan data
seluruh karyawan. Dalam form tersebut dapat dilakukan operasi data
yaitu edit dan hapus. Form ini hanya dapat digunakan oleh operator
atau admin.
2. Form Output Laporan Data Seluruh Pendidikan
Tabel 4.12. Perancangan Output Pendidikan Seluruh Karyawan LAPORAN DATA PENDIDIKAN SELURUH KARYAWAN
No NIK Nama Pendidikan
Akhir
Nama
Pendidikan
Kota No.
Ijasah
Jurusan Tahun
Lulus
Edit Hapus
Tabel 4.12 merupakan perancangan input dari form laporan data
pendidikan seluruh karyawan. Dalam form tersebut dapat dilakukan
operasi data yaitu edit dan hapus. Form ini hanya dapat digunakan
oleh operator atau admin.
118
3. Form Output Laporan Data Seluruh Keluarga Karyawan
Tabel 4.13. Perancangan Output Keluarga Seluruh Karyawan LAPORAN DATA KELUARGA SELURUH KARYAWAN
No NIK Nama Status Pasangan Jumlah Anak
Edit Hapus
Tabel 4.13 merupakan perancangan input dari form laporan
data keluarga seluruh karyawan. Dalam form tersebut dapat
dilakukan operasi data yaitu edit dan hapus. Form ini hanya dapat
digunakan oleh operator atau admin.
4. Form Output Laporan Data Seluruh Golongan
Tabel 4.14. Perancangan Output Golongan Seluruh Karyawan
LAPORAN DATA GOLONGAN SELURUH KARYAWAN
No NIK Nama Kode
Golongan
Golongan Gaji
Pokok
Edit Hapus
Tabel 4.14 merupakan perancangan input dari form laporan data
golongan seluruh karyawan. Dalam form tersebut dapat dilakukan
operasi data yaitu edit dan hapus. Form ini hanya dapat digunakan
oleh operator atau admin.
5. Form Output Laporan Data Seluruh Jabatan
Tabel 4.15. Perancangan Output Jabatan Seluruh Karyawan
LAPORAN DATA JABATAN SELURUH KARYAWAN
No NIK Nama Kode Jabatan Jabatan
Edit Hapus
119
Tabel 4.15 merupakan perancangan input dari form laporan
data jabatan seluruh karyawan. Dalam form tersebut dapat dilakukan
operasi data yaitu edit dan hapus. Form ini hanya dapat digunakan
oleh operator atau admin.
6. Form Output Laporan Data Seluruh Posisi Karyawan
Tabel 4.16. Perancangan Output Posisi Seluruh Karyawan
LAPORAN DATA POSISI SELURUH KARYAWAN
No NIK Nama Golongan Jabatan Tanggal SK No SK
Edit Hapus
Tabel 4.16 Merupakan perancangan input dari form laporan data
posisi seluruh karyawan. Dalam form tersebut dapat dilakukan
operasi data yaitu edit dan hapus. Form ini hanya dapat digunakan
oleh operator atau admin.
7. Form Output Laporan Data Seluruh Potongan
abel 4.17. Perancangan Output Potongan Seluruh Karyawan
LAPORAN DATA POTONGAN SELURUH KARYAWAN
No NIK Nama Jumlah Potongan
Edit Hapus
Tabel 4.17 merupakan perancangan input dari form laporan data
potongan seluruh karyawan. Dalam form tersebut dapat dilakukan
operasi data yaitu edit dan hapus. Form ini hanya dapat digunakan
oleh operator atau admin.
120
8. Form Output Laporan Data Seluruh Tunjangan
Tabel 4.18. Perancangan Output Tunjangan Seluruh Karyawan
LAPORAN DATA TUNJANGAN SELURUH KARYAWAN
No NIK Nama Jumlah Tunjangan
Edit Hapus
Tabel 4.18 Merupakan perancangan input dari form laporan data
tunjangan seluruh karyawan. Dalam form tersebut dapat dilakukan
operasi data yaitu edit dan hapus. Form ini hanya dapat digunakan
oleh operator atau admin.
9. Form Output Laporan Data Seluruh Absensi
Tabel 4.19. Perancangan Output Absensi Seluruh Karyawan
LAPORAN DATA ABSENSI SELURUH KARYAWAN
No NIK Nama Tidak Hadir Hadir Sekarang
Edit Hapus
Tabel 4.19 merupakan perancangan input dari form laporan data
absensi seluruh karyawan. Dalam form tersebut dapat dilakukan
operasi data yaitu edit dan hapus. Form ini hanya dapat digunakan
oleh operator atau admin.
10. Form Output Laporan Data Seluruh Penggajian
Tabel 4.20. Perancangan Output Penggajian Seluruh Karyawan
LAPORAN DATA PENGGAJIAN SELURUH KARYAWAN
No NIK Nama Gaji Pokok Absensi
Hadir Tunjangan
Potongan Total
Gaji
Edit Hapus
121
Tabel 4.20 merupakan perancangan input dari form laporan data
penggajian seluruh karyawan. Dalam form tersebut dapat dilakukan
operasi data yaitu edit dan hapus. Form ini hanya dapat digunakan
oleh operator atau admin.
4.4.6. Kamus Data
Kamus data katalog fakta data dan kebutuhan-kebutuhan informasi
dari suatu sistem informasi. (Jogiyanto, 2005:725).
Tabel 4.21 Tabel Kamus Data
Karyawan Nik+nama+alamat+tempat_lahir+tanggal_lahir+Jenis_
kelamin+agama+status_nikah+no_tlp+ststus_karyawan+
tanggal_masuk
Pendidikan Nik/nama+pendidikan_ahir+nama_pendidikan+kota+no_
ijasah+jurusan+tahun_lulus
Keluarga Nik+status_pasangan+jumlah_anak
Golongan Kode_golongan+golongan+gaji_pokok
Jabatan Kode jabatan_jabatan
Posisi
karyawan Nik+golongan+jabatan+tanggal_sk+no_sk
Potongan Tanggal_potongan+nik+nama_potongan+nilai
Tunjangan Tanggal_tunjangan+nik+nama_tunjangan+nilai
Absensi Tanggal_absensi+nik+hadir+tidak_hadir
Penggajian Nik+nama+gaji_pokok+absensi_hadir+tunjangan+
potongan+total_gaji
122
4.5. Implementasi Sistem
Pada tahap ini penulis menguaraikan tentang Spesifikasi Komputer,
Kebutuhan Software, Kebutuhan Brainware, Pengujian, Pelatihan
(Training), Dan Pemeliharaan Sistem Informasi Penggajian Karyawan PK
GAYA BARU yang dirancang oleh penulis.
4.5.1. Spesifikasi Komputer
Untuk dapat menjalankan aplikasi program dengan baik, maka
spesifikasi minimal Hardware dan Software yang diperlukan yaitu:
1. Pembuatan Sistem
Laptop dengan spesifikasi:
a. Prosesor Intel Core 2 Duo T5450
b. Memori 512 MB
c. Hardisk 160 GB
d. Monitor 12,1” WXGA Acer CristalBrite LCD
e. Keybord
f. Mouse
2. Implementasi Sistem
Komputer dengan spesifikasi:
a. Prosesor Pentium IV
b. Memori 128 MB
c. Hardisk 80 MB
d. Monitor 14” SVGA
123
e. Keyboard
f. Mouse
4.5.2. Kebutuhan Software
1. Pembuatan Sistem
a. Sistem Operasi Windows XP3
b. PHP
c. XAMPP
d. Dreamweaver CS3
e. Photoshop CS3
f. Flock
2. Implementasi Sistem
a. Sistem Operasi Windows XP Profesional
b. PHP
c. XAMPP
d. Dreamweaver
e. Flock
4.5.3. Kebutuhan Brainware
Untuk menjalankan aplikasi sistem informaasi penggajian ini
dibutuhkan operator yang dapat menjalankan aplikasi ini sebaik dan
semaksimal mungkin, agar meminimalisasi kesalahan-kesalahan yang
terjadi.
124
4.5.4. Pengujian
Sebelum program diterapkan, maka program harus bebas dari
kesalahan. Maka program harus ditest untuk menemukan kesalahan yang
mungkin dapat terjadi seperti kesalahan dalam bahasa, kesalahan waktu
proses dengan cara pengetesan program yang telah dibuat.
Pengujian sistem dilakuakan setelah pengetesan program. Dan
dilakukan untuk memeriksa kekompakan antar komponen sistem yang
diimplementasi dan untuk mencari kesalahan serta kelemahan yang mungkin
masi terjadi. Pengujian yang dilakukan pada program sistem informasi
penggajian karyawan ini meliputi pengujian terhadap seluruh menu program
apakah telah sesuai dengan apa yang diharapkan oleh user dan pihak
perusahaan.pengujian ini dilakukan dengan metode Blakbox.
Tabel 4.22. Uji Coba Super Admin
No Rancangan Proses Hasil yang di Harapkan Hasil
1 Isi username dan password Masuk halaman utama (Home) Ok
2 Menu utama Home
Masuk ke Menu utama Home
yang terdapat keterangan login
sebagai super admin
Ok
3 Menu utam Penggajian
Masuk ke Menu utama
penggajian yang terdapat
beberapa menu inputan dan
laporan
Ok
4 Sub menu input Data
Karyawan
Masuk ke form input data
karyawan dan berhasil
menyimpan, edit, lihat, data
Karyawan.
Ok
5 Sub menu input Pendidikan Masuk ke form input data Ok
125
pendidikan dan berhasil
menyimpan, edit, dan lihat
data pendidikan.
6 Sub menu input Keluarga
Masuk ke form input data keluarga dan berhasil menyimpan, edit, dan lihat data keluarga
Ok
7 Sub menu input Golongan
Masuk ke form input data golongan dan berhasil menyimpan, edit, dan lihat data golongan
Ok
8 Sub menu input Jabatan Masuk ke form input data jabatan dan berhasil menyimpan data jabatan
Ok
9 Sub menu input Posisi
Karyawan
Masuk ke form input data posisi karyawan dan berhasil menyimpan, edit, dan lihat posisi karyawan
Ok
10 Sub menu input Potongan
Masuk ke form input data potongan dan berhasil menyimpan, edit, dan lihat potongan
Ok
11 Sub menu input Tunjangan
Masuk ke form input data tunjangan dan berhasil menyimpan, edit, dan lihat tunjangan
Ok
12 Sub menu input Absensi
Masuk ke form input data absensi dan berhasil menyimpan, edit, dan lihat absensi
Ok
13 Sub menu Penggajian
Masuk ke form input data penggajian dan berhasil menyimpan, edit, lihat dan print data penggajian
Ok
14 Sub menu Rubah Password Masuk ke form rubah Ok
126
password dan berhasil menyimpan, edit password
15 Menu Utama Kontak
Masuk ke Menu utama kontak yang terdapat keterangan no.telepon, fax, dan alamat perusahaan
Ok
16 Menu Utama Pengaturan
Masuk ke Menu utama
pengaturan yang terdapat
beberapa sub menu
management
Ok
17 Sub menu Hak Akses
Karyawan
Masuk ke form input data hak
akses karyawan dan berhasil
menyimpan, edit, lihat dan
data hak akses karyawan
Ok
18 Sub menu Password
Karyawan
Masuk ke form input data
password karyawan dan
berhasil menyimpan, edit, lihat
dan print data password
karyawan
Ok
19 Sub menu Periode
Penggajian
Masuk ke form input data
periode penggajian dan
berhasil menyimpan, edit, lihat
dan print data periode
penggajian karyawan
Ok
127
Tabel 4.23. Uji Coba Admin
No Rancangan Proses Hasil yang di Harapkan Hasil
1 Isi username dan password Masuk halaman utama (Home) Ok
2 Menu utama Home
Masuk ke Menu utama Home
yang terdapat keterangan login
sebagai admin
Ok
3 Menu utam Penggajian
Masuk ke Menu utama
penggajian yang terdapat
beberapa menu inputan dan
laporan
Ok
4 Sub menu input Data
Karyawan
Masuk ke form input data
karyawan dan berhasil
menyimpan, edit, lihat, data
Karyawan.
Ok
5 Sub menu input Pendidikan
Masuk ke form input data
pendidikan dan berhasil
menyimpan, edit, dan lihat data
pendidikan.
Ok
6 Sub menu input Keluarga
Masuk ke form input data keluarga dan berhasil menyimpan, edit, dan lihat data keluarga
Ok
7 Sub menu input Golongan
Masuk ke form input data golongan dan berhasil menyimpan, edit, dan lihat data golongan
Ok
8 Sub menu input Jabatan Masuk ke form input data jabatan dan berhasil menyimpan data jabatan
Ok
9 Sub menu input Posisi
Karyawan
Masuk ke form input data posisi karyawan dan berhasil menyimpan, edit, dan lihat posisi karyawan
Ok
10 Sub menu input Potongan
Masuk ke form input data potongan dan berhasil menyimpan, edit, dan lihat potongan
Ok
11 Sub menu input Tunjangan
Masuk ke form input data tunjangan dan berhasil menyimpan, edit, dan lihat tunjangan
Ok
12 Sub menu input Absensi
Masuk ke form input data absensi dan berhasil menyimpan, edit, dan lihat absensi
Ok
13 Sub menu Penggajian
Masuk ke form input data penggajian dan berhasil menyimpan, edit, lihat dan print data penggajian
Ok
14 Sub menu Rubah Password Masuk ke form rubah password dan berhasil menyimpan, edit password
Ok
15 Menu Utama Kontak
Masuk ke Menu utama kontak yang terdapat keterangan no.telepon, fax, dan alamat perusahaan
Ok
16 Sub menu Data Diri Masuk ke form informasi data
diri karyawan. Ok
Tabel 4.24. Uji Coba User (Karyawan)
No Rancangan Proses Hasil yang di Harapkan Hasil
1 Isi username dan password Masuk halaman utama (Home) Ok
2 Menu utama Home
Masuk ke Menu utama Home
yang terdapat keterangan login
sebagai user (karyawan)
Ok
128
129
3 Sub menu laporan Potongan Masuk ke form laporan data potongan Ok
4 Sub menu laporan
Tunjangan
Masuk ke form laporan data tunjangan Ok
5 Sub menu laporan Absensi Masuk ke form laporan data absensi Ok
6 Sub menu Penggajian Masuk ke form laporan data penggajian karyawan Ok
7 Sub menu Rubah Password Masuk ke form rubah password dan berhasil menyimpan, edit password
Ok
8 Menu Utama Kontak
Masuk ke Menu utama kontak yang terdapat keterangan no.telepon, fax, dan alamat perusahaan
Ok
4.5.5. Pelatihan
Pemilihan terhadap karyawan yang sudah ada merupakan prioritas
utama. Personil yang akan menduduki posisi yang baru perlu dilatih untuk
hal-hal yang belum di pahami dalam aplikasi penggajian ini. Adapun
beberapa pendekatan yang dapat dilakukan untuk melakukan pelatihan
sebagai berikut:
1. Pelatihan Tutorial
Pendekatan pelatihan ini ditujukan untuk personil secara tatap
muka. Pendekatan ini baik untuk personil yang membutuhkan
bimbingan langsung.
2. Latihan Langsung di Lapangan
130
Pendekatan ini dilakukan dengan meletakan personil langsung
pada posisi pekerjaanya dan diberi penjelasan serta instruksi
tentang apa-apa yang harus dikerjakannya dan bagaimana harus
mengerjakannya pada situasi yang sebenarnya.
4.5.6. Pemeliharaan Sistem
Menurut Jeffry L. Whitten (2004:96) pemeliharaan bukanlah
perbaikan sistem, namun aktivitas pemeliharaan adalah menambah daya
fungsi (peningkatan) ke program. Setelah sistem dioperasikan, ia akan
membutuhkan system support / dukungan sistem yang berkesinambungan
untuk siklus hidupnya yang berguna dan produktif.
131
BAB V
PENUTUP
5.1. Kesimpulan
Berdasarkan uraian dan penjelasan yang telah penulis lakukan pada
bab-bab sebelumnya, maka penulis dapat mengambil kesimpulan sebagai
berikut:
1. Mempermudah dan mempercepat proses pengolahan data
penggajian
2. Program sistem penggajian ini dapat mengurangi kesalahan-
kesalahan yang terjadi yang dapat mengakibatkan informasi yang
dihasilkan tidak sesuai dengan yang diharapkan.
5.2. Saran
Berdasarkan kesimpulan diatas, maka ada beberapa saran yang
diharapkan dapat diterima semua pihak yang bersangkutan :
1. Dalam memasukan data penggajian harus dilakukan oleh orang
yang paham tentang sistem penggajian.
2. Aplikasi maupun laporan penggajian karyawan yang dihasilkan
belum tersetruk dengan baik, sehingga diharapkan ada
pengembangan yang dilakukan untuk dapat memperbaiki
kekurangan yang ada pada program ini.
3. Lebih memperhatikan pemeliharaan dan perawatan perangkat
keras dan perangkat lunak agar tidak mudah rusak.
132
Daftar Pustaka
4. Al-Fatta, Hanif. Analisis dan Perancangan Sistem Informasi
Untuk Keunggulan Perusahaan dan Organisasi Modern,
Yogyakarta: Andi, 2007.
5. Bin Ladjamudin, Al Bahra. 2006. “REKAYASA PERANGKAT
LUNAK”. Yogyakarta: GRAHA ILMU.
6. Hasibuan, Malayu. 2005. “MANAJEMEN SUMBER DAYA
MANUSIA” Edisi Revisi. Jakarta: PT. bumi Aksara.
7. Jogiyanto, HM., Analisis & Desain Sistem Informasi Pendekatan
Terstuktur Teori dan Praktek Aplikasi Bisnis, Edisi ke-3, Andi,
Yogyakarta, 2005.
8. Laudon, Kenneth C. dan Laudon, Jane P. 2007. “Sistem
Informasi Manajemen” Mengelola Perusahaan digital Buku 1
edisi 10. Jakarta: Salemba Empat.
9. McLeod, Raymond. 2004. “Sistem Informasi Manajemen” Edisi
kedelapan. Jakarta: PT Indeks.
10. Nugroho, Bunafit. dan Indriyanna, Indah. 2009. “Panduan Tugas
Akhir Membuat Aplikasi Penggajian Karyawan dengan Visual
Basic 6.0”. Jogjakarta: Alif Media.
11. Prastyo, Didik Dwi. Solusi Menjadi Web Master Melalui
Manajemen Web Dengan PHP, Jakarta: Elex Media
Komputindo, 2005.
12. Samsudin, Sadili. 2006. “Manajemen Sumber Daya Manusia”.
Bandung: CV PUSTAKA SETIA.
133
13. White, Jeffrey L, Lonie D. Bentley dan Kevin C. Dittman,
System Analist and desaign Methode 6 Edition, Mcgrow Hill &
Andi, Yogyakarta, 2004.
14. Yanah, Yuli. 2008. “Pengembangan Sistem Informasi
Penggajian Karyawan Pada Yayasan Pendidikan Bidayatul
Hidayah Bekasi”. Jakarta: UIN Syarif Hidayatullah Jakarta.
15. http://jurnal‐sdm.blogspot.com/2009/05/gaji‐definisi‐peranan‐
fungsi‐dan‐tujuan.html.
16. http://www.google.co.id/url?sa=t&source=web&cd=2&ved=0CB
cQFjAB&url=http%3A%2F%2Fyohanes_ari.staff.gunadarma.ac.id
%2FDownloads%2Ffiles%2F5590%2Fspk3.pdf&ei=Y4PSTJX_H4jv
QOP16mgDw&usg=AFQjCNEPp0p3sM4qD0mCal5bQdbDFqe45A
&sig2=4zAVBANz‐RZcCenGTG‐8yw
17. http://bebas.ui.ac.id/v09/onno‐ind‐1/network/network‐
security/strategi‐merancang‐sekuriti‐jaringan‐komputer‐anda‐
01‐1998.rtf.
134
LAMPIRAN I - IV
135
136
Wawancara
Wawancara I
Responden : Maya R
Penanya : Sodikin
Tanggal : 02 September 2010
Tujuan : Mengetahui alur kerja system penggajian yang sedang
berjalan dan kendala-kendala apa saja yang sedang dialami
oleh PK. Gaya Baru khususnya pada bagian penggajian.
Poin Utama Wawancara:
1. Bagaimana alur kerja sistem penggajian yang sedang berjalan pada PK
Gaya Baru?
2. Apakah pengelolaan sistem penggajian yang sedang berjalan sudah
terkomputerisasi?
3. Kendala-kendala apa saja yang dihadapi sistem penggajian saat ini?
Hasil Wawancara:
1. Sistem penggajian PK Gaya Baru melakukan pembayaran gaji/upah
karyawanya tiap bulan sekali dengan rincian: gaji pokok, lembur,
potongan, dan tunjangan.
2. Proses pengelolaan penggajian masi manual.
3. Kendala penggajian yang dihadapi pada PK Gaya Baru saat ini, yaitu:
a. Kesulitan dalam proses pengelolaan data karyawan.
b. Proses absensi berbentuk form-form isian.
137
c. Penghitungan dan pembuatan slip gaji masi manual (menggunakan
Kalkulator).
d. Jumlah absensi, potongan, tunjangan, lemburan tidak di sertakan
dalam slip gaji.
Wawancara II
Responden : Maya R
Penanya : Sodikin
Tanggal : 09 September 2010
Tujuan : Mengetahui prosedur perhitungan gaji karyawan pada system
yang sedang berjalan.
Poin Utama Wawancara:
1. Bagaimana prosedur perhitungan gaji karyawan PK Gaya Baru?
2. Bagaimana output/slip gaji yang dipakai oleh bagian penggajian Pk Gaya
Baru?
Hasil Wawancara:
Dari wawancara kedua ini dapat diketahui tentang rincian prosedur
pembayaran gaji karyawan PK Gaya Baru.
Karyawan PK Gaya Baru menerima gaji tiap bulan, dengan rincian
absensi, tunjangan, dan potongan. Nilai gaji pokok ditentukan oleh golongan, dan
jabatan. Uang tunjangan ditentukan dari jumlah anak, masa kerja, jabatan,
138
golongan. Potongan terdiri dari pinjaman karyawan ke perusahaan, kasbon yang
diminta karyawan.
Output slip gaji yang diterima karyawan hanya rangkaian total gaji yang
sudah di tambah dengan tunjangan, dan di potong dengan potongan-potongan
yang dilakukan karyawan tiap bulannya.
Wawncara III
Responden : Maya R
Penanya : Sodikin
Tanggal : 21 September 2010
Tujuan : Mengetahui struktur organisasi dan mengetahui tugas masing-
masing karyawan PK Gaya Baru.
Point Utama Wawancara:
1. Bagaimana proses/berdirinya Pk Gaya Baru
2. Bagaimana struktur Organisasi PK Gaya Baru
3. Apa tugas masing-masing karyawan Pk Gaya Baru
Hasil Wawancara:
Wawancara ketiga ini didapat informasi tentang sejarah berdirinya PK
Gaya Baru serta struktur organisasinya yang ada dalam PK Gaya Baru. Dengan
diketahuinya struktur organisasi dan tugas masing-masing karyawan dapat
memudahkan penulis dalam mempelajari alur sistem yang ada pada bagian
penggajian PK Gaya Baru dengan membuat flowmap dari sistem tersebut.
Tampilan Aplikasi
Perancangan input diperlukan untuk menghasilkan informasi, dimana
perancangan input ini meliputi perancangan dokumen-dokumen dasar yang akan
digunakan untuk mendapatkan data dalam perancangan. Perancangan input yang
terdapat dalam sistem informasi penggajian adalah sebagai berikut:
1. Tampilan Menu Log In
Gambar III.1 Form Log In
Gambar III.1 menunjukan form Login database. Pemakai
yang akan mengakses sistem informasi penggajian ini harus mengisi nama
karyawan dan password yang sesuai dan sudah terdaftar di server.
2. Tampilan Menu Utama/Home
139
Gambar III.2 Tampilan Menu Utama/Home
Gambar III.2 merupakan tampilan menu utama/home yang berisi
ucapan selamat dating dari sistem penggajian karyawan.
3. Tampilan Menu Kontak
Gambar III.3 Tampilan Menu Kontak
4. Tampilan Menu Penggajian
140
Gambar III.4 Tampilan Menu Penggajian
Gambar III.4 merupakan tampilan data penggajian karyawan.
Dalam form tersebut dapat dilakukan operasi data simpan. Form ini hanya
dapat digunakan oleh operator atau admin.
5. Tampilan Menu Pengaturan
Gambar III.5 Tampilan Menu Pengaturan
Gambar III.5 di atas merupakan tampilan menu pengaturan sistem
informasi penggajian. Dalam form tersebut terdapat menu hak akses, menu
password, menu hapus potongan, menu hapus tunjangan dan menu hapus
141
absensi, operasi yang bias dilakukan adalah operasi edit dan simpan. Form
ini hanya dapat digunakan oleh operator super admin atau admin
6. Tampilan Input Data Karyawan
Gambar III.6 Tampilan Input Data Karyawan
Gambar III.6 merupakan tampilan input dari form pengisisan data
karyawan. Dalam form tersebut dapat dilakukan operasi data yaitu
meyimpan data. Form ini hanya dapat digunakan oleh operator super
admin atau admin.
142
7. Tampilan Input Data Pendidikan
Gambar III.7 Tampilan Input Data Pendidikan
Gambar III.7 diatas merupakan tampilan input dari form
pengisisan data pendidikan karyawan. Dalam form tersebut dapat
dilakukan operasi data yaitu meyimpan data. Form ini hanya dapat
digunakan oleh operator super admin atau admin.
8. Tampilan Input Data Keluarga
Gambar III.8 Tampilan Input Data Keluarga Karyawan
143
Gambar III.8 diatas merupakan tampilan input dari form pengisisan
data keluarga. Dalam form tersebut dapat dilakukan operasi data yaitu
meyimpan data. Form ini hanya dapat digunakan oleh operator super
admin atau admin.
9. Tampilan Input Data Golongan
Gambar III.9 Tampilan Input Data Golongan
Gambar III.9 merupakan ta input dari mpilan form pengisisan data
golongan. Dalam form tersebut dapat dilakukan operasi data yaitu edit,
hapus dan meyimpan data. Form ini hanya dapat digunakan oleh operator
super admin atau admin
144
10. Tampilan Input Data Jabatan
Gambar III.10 Tampilan Input Data Jabatan
Gambar III.10 diatas merupakan tampilan input dari form
pengisisan data jabatan. Dalam form tersebut dapat dilakukan operasi data
yaitu edit, hapus dan meyimpan data. Form ini hanya dapat digunakan
oleh operator super admin atau admin.
11. Tampilan Input Data Posisi Karyawan
Gambar III.11 Tampilan Input Data Posisi Karyawan
145
Gambar III.11 diatas merupakan tampilan input dari form
pengisisan data posisi karyawan. Dalam form tersebut dapat dilakukan
operasi data yaitu meyimpan data. Form ini hanya dapat digunakan oleh
operator super admin atau admin.
12. Tampilan Input Data Potongan
Gambar III.12 Tampilan Input Data Potongan
Gambar III.12 merupakan tampilan input dari form pengisisan data
potongan. Dalam form tersebut dapat dilakukan operasi data yaitu
meyimpan data. Form ini hanya dapat digunakan oleh operator super
admin atau admin.
146
13. Tampilan Input Data Tunjangan
Gambar III.13 Tampilan Input Data Tunjangan
Gambar III.13 merupakan tampilan input dari form pengisisan data
Tunjangan. Dalam form tersebut dapat dilakukan operasi data yaitu
meyimpan data. Form ini hanya dapat digunakan oleh operator super
admin atau admin.
14. Tampilan Input Data Absensi.
Gambar III.14 Tampilan Input Data Absensi
147
Gambar III.14 merupakan tampilan input dari form pengisisan
data absensi. Dalam form tersebut dapat dilakukan operasi data yaitu
meyimpan data. Form ini hanya dapat digunakan oleh operator super
admin atau admin.
15. Tampilan Laporan Data Karyawan
Gambar III.15 Tampilan Laporan Data Karyawan
Gambar III.15 merupakan tampilan form laporan data seluruh
karyawan. Dalam form tersebut dapat dilakukan operasi data yaitu edit dan
hapus. Form ini hanya dapat digunakan oleh operator super admin atau
admin.
148
16. Tampilan Laporan Data Pendidikan
Gambar III.16 Tampilan Laporan Data Pendidikan
Gambar III.16 merupakan tampilan form laporan data pendidikan
seluruh karyawan. Dalam form tersebut dapat dilakukan operasi data yaitu
edit dan hapus. Form ini hanya dapat digunakan oleh operator super admin
atau admin.
17. Tampilan Laporan Data Keluarga
Gambar III.17 Tampilan Laporan Data Keluarga
149
Gambar III.17 merupakan tampilan form laporan data keluarga
seluruh karyawan. Dalam form tersebut dapat dilakukan operasi data yaitu
edit dan hapus. Form ini hanya dapat digunakan oleh operator super admin
atau admin.
18. Tampilan Laporan Data Golongan
Gambar III.18 Tampilan Laporan Data Golongan
Gambar III.18 merupakan tampilan form laporan data golongan
seluruh karyawan. Dalam form tersebut dapat dilakukan operasi data yaitu
edit dan hapus. Form ini hanya dapat digunakan oleh operator super admin
atau admin.
150
19. Tampilan Laporan Data Jabatan
Gambar III.19 Tampilan Laporan Data Jabatan
Gambar III.19 merupakan tampilan form laporan data jabatan
seluruh karyawan. Dalam form tersebut dapat dilakukan operasi data yaitu
edit dan hapus. Form ini hanya dapat digunakan oleh operator super admin
atau admin.
20. Tampilan Laporan Data Posisi Karyawan
Gambar III.20 Tampilan Laporan Data Posisi Karyawan
151
Gambar III.20 diatas merupakan tampilan form laporan data posisi
seluruh karyawan. Dalam form tersebut dapat dilakukan operasi data yaitu
edit dan hapus. Form ini hanya dapat digunakan oleh operator super admin
atau admin.
21. Tampilan Laporan Data Potongan
Gambar III.21 Tampilan Laporan Data Potongan
Gambar III.21 merupakan tampilan form laporan data potongan
seluruh karyawan. Dalam form tersebut dapat dilakukan operasi data yaitu
edit dan hapus. Form ini hanya dapat digunakan oleh operator super admin
atau admin.
152
22. Tampilan Laporan Data Tunjangan
Gambar III.22 Tampilan Laporan Data Tunjangan
Gambar III.22 diatas merupakan tampilan form laporan data
tunjangan seluruh karyawan. Dalam form tersebut dapat dilakukan operasi
data yaitu edit dan hapus. Form ini hanya dapat digunakan oleh operator
atau admin.
23. Tampilan Laporan Data Absensi
Gambar III.23 Tampilan Laporan Data Absensi
153
Gambar III.23 merupakan tampilan form laporan data absensi
seluruh karyawan. Dalam form tersebut dapat dilakukan operasi data yaitu
edit dan hapus. Form ini hanya dapat digunakan oleh operator super admin
atau admin.
24. Tampilan Laporan Penggajian
Gambar III.24 Tampilan Laporan Data Penggajian
Gambar III.24 merupakan tampilan form laporan data penggajian
seluruh karyawan. Dalam form tersebut dapat dilakukan operasi data yaitu
edit dan hapus. Form ini hanya dapat digunakan oleh operator super admin
atau admin.
154
155
1. Coding log in
<html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="shortcut icon" href="images/logo.ico" /> <title>LOGIN</title> <style type="text/css"> <!-- body { background-color: #a1a1a1; margin-top: 150px; } --> </style> <link href="gaya.css" rel="stylesheet" type="text/css" /> <style type="text/css"> <!-- .style1 {color: #333333} .style4 {font-family: Arial, Helvetica, sans-serif; font-weight: bold; } .style6 {font-size: 12px} --> </style> <script type="text/javascript"> <!-- function MM_validateForm() { //v4.0 if (document.getElementById){ var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments; for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]); if (val) { nm=val.name; if ((val=val.value)!="") { if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@'); if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n'; } else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' must contain a number.\n'; if (test.indexOf('inRange') != -1) { p=test.indexOf(':'); min=test.substring(8,p); max=test.substring(p+1); if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n'; } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' Harus Di Isi.\n'; } } if (errors) alert('Isi Semua Data Dengan Lengkap.\n'+errors); document.MM_returnValue = (errors == ''); } } //--> </script> </head> <body> <table width="342" height="280" align="center" border="3" bordercolor="#a1a1a1" bordercolordark="#a1a1a1" bordercolorlight="#a1a1a1" background="images/background.gif"> <tr> <td width="328" align="center" valign="top"><table width="327"> <tr> <td width="32" height="50"> </td> <td width="260" align="center" class="banner"> <span class="style1">LOGIN</span></td> <td width="19"> </td> </tr> <tr> <td height="180" colspan="3" align="center"><form action="cek_login.php?op=in" method="post">
156
<table class="menu2"> <tr> <td> </td> <td> </td> </tr> <tr> <td>Nama Karyawan</td> <td><input name="nama" type="text" id="nama" size="20" /></td> </tr> <tr> <td>Password</td> <td><input name="password" type="password" id="password" size="20" /></td> </tr> <tr> <td colspan="2" align="center"><input type="submit" onclick="MM_validateForm('nama','','R','password','','R');return document.MM_returnValue" value="Login" /></td> </tr> </table> </form></td> </tr> <tr> <td> </td> <td align="right"><a href="index.php">Lihat web</a></td> <td> </td> </tr> </table></td> </tr> </table> </body> < /html>
2. Coding Home
<?php session_start(); //cek apakah user sudah login if(!isset($_SESSION['nama'])){ header("location:login.php");//jika belum login jangan lanjut.. }
if($_SESSION['pangkat']!=""){ if($_SESSION['pangkat']=="admin"){ header("location:kepala/index2.php"); }else if($_SESSION['pangkat']=="superadmin"){ header("location:kepala/index.php");} } header("Refresh: 600; url=../cek_login.php?op=out"); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Gaya Baru</title> <link href="gaya.css" rel="stylesheet" type="text/css" /> <link rel="shortcut icon" href="images/logo.ico" /> <style type="text/css"> <!-- body { margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; } a:link { text-decoration: none; } a:visited { text-decoration: none; } a:hover { text-decoration: none; } a:active { text-decoration: none; } --> </style></head> <body bgcolor="#949494"> <table width="100" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td><table width="1202" border="0" cellpadding="0" cellspacing="0">
157
<tr> <td rowspan="2"><img src="images/logo.gif" width="281" height="173" /></td> <td width="930" height="87" background="images/banner1.gif" valign="bottom"><table border="0" cellpadding="5"> <tr> <td width="930" align="right" valign="bottom"><? if($_SESSION['pangkat']=="superadmin"){ echo "<table border=0> <tr> <td><a href=# class=utama_link_aktif>HOME</a></td> <td><img src=images/home.gif width=28 height=28 /></td> <td><a href=lap_karyawan.php class=utama_link>LAPORAN ANDA</a></td> <td><img src=images/penggajian.gif width=28 height=28 /></td> <td><a href=contact.php class=utama_link>CONTACT</a></td> <td><img src=images/contact.gif width=28 height=28 /></td> </tr> </table>"; }else {if($_SESSION['pangkat']=="admin"){ echo "<table border=0> <tr> <td><a href=# class=utama_link_aktif>HOME</a></td> <td><img src=images/home.gif width=28 height=28 /></td> <td><a href=lap_karyawan.php class=utama_link>LAPORAN ANDA</a></td> <td><img src=images/penggajian.gif width=28 height=28 /></td>
<td><a href=contact.php class=utama_link>CONTACT</a></td> <td><img src=images/contact.gif width=28 height=28 /></td> </tr> </table>"; }else{ echo "<table border=0> <tr> <td><a href=# class=utama_link_aktif>HOME</a></td> <td><img src=images/home.gif width=28 height=28 /></td> <td><a href=lap_karyawan.php class=utama_link>LAPORAN ANDA</a></td> <td><img src=images/penggajian.gif width=28 height=28 /></td> <td><a href=contact.php class=utama_link>CONTACT</a></td> <td><img src=images/contact.gif width=28 height=28 /></td> </tr> </table>"; }} ?></td> </tr> <tr> <td align="left" valign="bottom" class="nametag">Factory and Distributor</td> </tr> </table></td> </tr> <tr> <td width="487" height="86" background="images/banner2.gif"><table border="0"> <tr> <td align="center" class="banner">Sistem Informasi<br /> Penggajian Karyawan</td> </tr> </table></td>
158
</tr> </table></td> </tr> <tr> <td align="center" valign="top"><table width="100" border="0" cellpadding="0" cellspacing="0"> <tr> <td colspan="2"><img src="images/top_content.gif" width="1202" height="58" /></td> </tr> <tr> <td width="197" background="images/left_content.gif" valign="top"><table border="0"> <tr> <td background="images/menu.gif" width="180"><div align="center" class="menu1">.:: LOGIN ::.</div></td> </tr> <tr> <td align="center" valign="top"><span class="nametag">SELAMAT DATANG</span><br> <span class="menu2">KARYAWAN</span><br> <span class="menu1"><?php echo "".$_SESSION['nama']."";?><br> <a href=cek_login.php?op=out> <input type="submit"value="Logout"> </a></span></td> </tr> <tr> <td background="images/menu.gif"><div align="center" class="menu1">.:: KALENDER ::.</div></td> </tr> <tr> <td bgcolor="#00FFFF"><script language="JavaScript" type="text/javascript"> <!-- Begin monthnames = new Array(
"Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "Nopember", "Desember"); var linkcount=0; function addlink(month, day, href) { var entry = new Array(3); entry[0] = month; entry[1] = day; entry[2] = href; this[linkcount++] = entry; } Array.prototype.addlink = addlink; linkdays = new Array(); monthdays = new Array(12); monthdays[0]=31; monthdays[1]=28; monthdays[2]=31; monthdays[3]=30; monthdays[4]=31; monthdays[5]=30; monthdays[6]=31; monthdays[7]=31; monthdays[8]=30; monthdays[9]=31; monthdays[10]=30; monthdays[11]=31; //saiki="27 Jul 2006"; todayDate=new Date(); thisday=todayDate.getDay(); thismonth=todayDate.getMonth(); thisdate=todayDate.getDate(); thisyear=todayDate.getYear(); thisyear = thisyear % 100; thisyear = ((thisyear < 50) ? (2000 + thisyear) : (1900 + thisyear)); if (((thisyear % 4 == 0) && !(thisyear % 100 == 0)) ||(thisyear % 400 == 0)) monthdays[1]++; startspaces=thisdate; while (startspaces > 7) startspaces-=7; startspaces = thisday - startspaces + 1; if (startspaces < 0) startspaces+=7;
159
document.write("<table border=0 cellspacing=1 cellpadding=0 "); document.write("bordercolor=#666666 width=100%><font color=black>"); document.write("<tr><td colspan=7><center><strong><font size=1>" + monthnames[thismonth] + " " + thisyear + "</font></strong></center></font></td></tr>"); document.write("<tr>"); document.write("<td align=center><font size=1 color=red>M</font></td>"); document.write("<td align=center><font size=1>S</font></td>"); document.write("<td align=center><font size=1>S</font></td>"); document.write("<td align=center><font size=1>R</font></td>"); document.write("<td align=center><font size=1>K</font></td>"); document.write("<td align=center><font size=1>J</font></td>"); document.write("<td align=center><font size=1>S</font></td>"); document.write("</tr>"); document.write("<tr>"); for (s=0;s<startspaces;s++) { document.write("<td> </td>"); } count=1; while (count <= monthdays[thismonth]) { for (b = startspaces;b<7;b++) { linktrue=false; document.write("<td align=center><font size=1>"); for (c=0;c<linkdays.length;c++) { if (linkdays[c] != null) { if ((linkdays[c][0]==thismonth + 1) && (linkdays[c][1]==count)) {
document.write("<a href=\"" + linkdays[c][2] + "\">"); linktrue=true; } } } if (count <= monthdays[thismonth]) { if (b==0) { document.write("<font color=red>");} if (count==thisdate) { document.write("<font size=2 color=blue><strong>");} document.write(count); if (count==thisdate) { document.write("</strong></font>");} if (b==0){ document.write("</font>");} if (b==5){ document.write("</font>");} } else { document.write(" "); } if (linktrue) document.write("</a>"); document.write("</font></td>"); count++; } document.write("</tr>"); document.write("<tr>"); startspaces=0; } document.write("</table>"); // End --> </script></td> </tr> </table></td>
160
<td width="1007" align="center" valign="top" background="images/right_content.gif" class="banner"><img src="images/logo2.gif" alt="" width="249" height="137" /><br /> <table width="548" border="0" background="images/mon.gif" class="banner"> <tr> <td width="556" height="43" align="center">PK GAYA BARU</td> </tr> <tr> <td height="59" align="center" class="nametag">Rajanya Krupuk Sari Kulit</td> </tr> <tr> <td height="72" align="center" class="nametag">Dari Jakarta</td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td width="1202" height="95" background="images/bottom.gif"> </td> </tr> </table> <a href="file:///C|/xampp/htdocs/coba/koneksi.php">koneksi</a></body> </html>
3. Coding kontak <?php session_start(); //cek apakah user sudah login if(!isset($_SESSION['nama'])){ header("location:login.p
hp");//jika belum login jangan lanjut.. } ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Gaya Baru</title> <link href="gaya.css" rel="stylesheet" type="text/css" /> <link rel="shortcut icon" href="images/logo.ico" /> <style type="text/css"> <!-- body { margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; } a:link { text-decoration: none; } a:visited { text-decoration: none; } a:hover { text-decoration: none; } a:active { text-decoration: none; } .banner {font-size: x-large; font-weight: bold; font-style: italic; color: #0000FF; } .banner_orenge {color: #E67A16} .menu4 { font-size: 14px; font-weight: bold; } .menu5 {font-size: 14px; font-weight: bold; color: #000000; }
161
.style3 {color: #000000}
.menu1 {color: #0000FF; font-weight: bold; } --> </style></head> <body bgcolor="#949494"> <table width="100" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td><table width="1202" border="0" cellpadding="0" cellspacing="0"> <tr> <td rowspan="2"><img src="images/logo.gif" width="281" height="173" /></td> <td width="930" height="87" background="images/banner1.gif" valign="bottom"><table border="0" cellpadding="5"> <tr> <td width="930" align="right" valign="bottom"><? if($_SESSION['pangkat']=="superadmin"){ echo "<table border=\"0\">"; echo "<tr>"; echo "<td><a href=\"kepala/index.php\" class=\"utama_link\">HOME</a></td>"; echo "<td><img src=\"images/home.gif\" width=\"28\" height=\"28\"></td>"; echo "<td><a href=\"kepala/karyawan.php\" class=\"utama_link\">LAPORAN ANDA</a></td>"; echo "<td><img src=\"images/penggajian.
gif\" width=\"28\" height=\"28\"></td>"; echo "<td><a href=\"#\" class=\"utama_link_aktif\">CONTACT</a></td>"; echo "<td><img src=\"images/contact.gif\" width=\"28\" height=\"28\"></td>"; echo "<td><a href=\"kepala/pengaturan.php\" class=\"utama_link\">PENGATURAN</a></td>"; echo "<td><img src=\"images/setup.gif\" width=\"28\" height=\"28\" /></td>"; echo "</tr>"; echo "</table>"; }else {if($_SESSION['pangkat']=="admin"){ echo "<table border=\"0\">"; echo "<tr>"; echo "<td><a href=\"kepala/index2.php\" class=\"utama_link\">HOME</a></td>"; echo "<td><img src=\"images/home.gif\" width=\"28\" height=\"28\"></td>"; echo "<td><a href=\"kepala/karyawan.php\" class=\"utama_link\">LAPORAN ANDA</a></td>"; echo "<td><img src=\"images/penggajian.gif\" width=\"28\" height=\"28\"></td>"; echo "<td><a href=\"#\" class=\"utama_link_aktif\">CONTACT</a></td>"; echo "<td><img src=\"images/contact.gif
162
\" width=\"28\" height=\"28\"></td>"; echo "</tr>"; echo "</table>"; }else{ echo "<table border=0> <tr> <td><a href=home.php class=utama_link>HOME</a></td> <td><img src=images/home.gif width=28 height=28 /></td> <td><a href=lap_karyawan.php class=utama_link_aktif>LAPORAN ANDA</a></td> <td><img src=images/penggajian.gif width=28 height=28 /></td> <td><a href=# class=utama_link>CONTACT</a></td> <td><img src=images/contact.gif width=28 height=28 /></td> </tr> </table>"; }} ?></td> </tr> <tr> <td align="left" valign="bottom" class="nametag">Factory and Distributor</td> </tr> </table></td> </tr> <tr> <td width="487" height="86" background="images/banner2.gif"><table border="0"> <tr> <td align="center" class="banner">Sistem Informasi<br /> Penggajian Karyawan</td>
</tr> </table></td> </tr> </table></td> </tr> <tr> <td align="center" valign="top"><table width="1202" border="0" cellpadding="0" cellspacing="0"> <tr> <td height="58" colspan="2" align="right" valign="top" background="images/top_content.gif"><b><font color="#FFFF00"><?php echo "".$_SESSION['nama']."";?></font></b> <a href=cek_login.php?op=out class="kiri_link style1 style3"> [LOGOUT] </a> </td> <tr> <tr> <td width="197" background="images/left_content.gif" valign="top"><table width="185" border="0"> <tr> <td width="200" background="images/menu.gif"><div align="center" class="menu1">.:: CONTACT ::.</div></td> </tr> <tr> <td align="center" valign="middle" class="banner"><table border="0" class="banner"> <tr> <td align="center">PK GAYA BARU</td>
163
</tr> <tr> <td align="center" class="banner_orenge">Rajanya Krupuk Sari Kulit</td> </tr> </table></td> </tr> <tr> <td background="images/menu.gif"><div align="center" class="menu1">.:: KALENDER ::.</div></td> </tr> <tr> <td bgcolor="#00FFFF"><script language="JavaScript"> <!-- Begin monthnames = new Array( "Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "Nopember", "Desember"); var linkcount=0; function addlink(month, day, href) { var entry = new Array(3); entry[0] = month; entry[1] = day; entry[2] = href; this[linkcount++] = entry; } Array.prototype.addlink = addlink; linkdays = new Array(); monthdays = new Array(12); monthdays[0]=31; monthdays[1]=28; monthdays[2]=31; monthdays[3]=30; monthdays[4]=31; monthdays[5]=30; monthdays[6]=31;
monthdays[7]=31; monthdays[8]=30; monthdays[9]=31; monthdays[10]=30; monthdays[11]=31; //saiki="27 Jul 2006"; todayDate=new Date(); thisday=todayDate.getDay(); thismonth=todayDate.getMonth(); thisdate=todayDate.getDate(); thisyear=todayDate.getYear(); thisyear = thisyear % 100; thisyear = ((thisyear < 50) ? (2000 + thisyear) : (1900 + thisyear)); if (((thisyear % 4 == 0) && !(thisyear % 100 == 0)) ||(thisyear % 400 == 0)) monthdays[1]++; startspaces=thisdate; while (startspaces > 7) startspaces-=7; startspaces = thisday - startspaces + 1; if (startspaces < 0) startspaces+=7; document.write("<table border=0 cellspacing=1 cellpadding=0 "); document.write("bordercolor=#666666 width=100%><font color=black>"); document.write("<tr><td colspan=7><center><strong><font size=1>" + monthnames[thismonth] + " " + thisyear + "</font></strong></center></font></td></tr>"); document.write("<tr>"); document.write("<td align=center><font size=1 color=red>M</font></td>"); document.write("<td align=center><font size=1>S</font></td>");
164
document.write("<td align=center><font size=1>S</font></td>"); document.write("<td align=center><font size=1>R</font></td>"); document.write("<td align=center><font size=1>K</font></td>"); document.write("<td align=center><font size=1>J</font></td>"); document.write("<td align=center><font size=1>S</font></td>"); document.write("</tr>"); document.write("<tr>"); for (s=0;s<startspaces;s++) { document.write("<td> </td>"); } count=1; while (count <= monthdays[thismonth]) { for (b = startspaces;b<7;b++) { linktrue=false; document.write("<td align=center><font size=1>"); for (c=0;c<linkdays.length;c++) { if (linkdays[c] != null) { if ((linkdays[c][0]==thismonth + 1) && (linkdays[c][1]==count)) { document.write("<a href=\"" + linkdays[c][2] + "\">"); linktrue=true; } } } if (count <= monthdays[thismonth]) {
if (b==0) { document.write("<font color=red>");} if (count==thisdate) { document.write("<font size=2 color=blue><strong>");} document.write(count); if (count==thisdate) { document.write("</strong></font>");} if (b==0){ document.write("</font>");} if (b==5){ document.write("</font>");} } else { document.write(" "); } if (linktrue) document.write("</a>"); document.write("</font></td>"); count++; } document.write("</tr>"); document.write("<tr>"); startspaces=0; } document.write("</table>");
165
// End --> </script></td>
<td><img src="images/telp.gif" width="38" height="36" /></td>
</tr> </table></td> <td width="1007" align="center" valign="top" background="images/right_content.gif" class="banner"><img src="images/logo2.gif" width="249" height="137" /><br /> <table border="0" class="banner"> <tr> <td align="center" class="banner">PK GAYA BARU</td> </tr> <tr> <td align="center" class="banner_orenge">Rajanya Krupuk Sari Kulit</td> </tr> <tr> <td align="center" class="banner_orenge">Dari Jakarta</td> </tr> <tr> <td align="center" class="menu4"><table border="0"> <tr> <td colspan="3" class="menu4 style3">Jl. Bambu Wulung, Rt/Rw. 003/005, Kel. Bambu Apus, Kec. Cipayung, Jakarta Timur.</td> </tr> <tr align="center"> <td width="172" align="right" class="menu5"><table border="0"> <tr>
<td>(021) 8445703 </td> </tr> </table></td> <td width="136" class="menu5"><table border="0"> <tr> <td><img src="images/fax.gif" width="38" height="36" /></td> <td>(021) 8445703 </td> </tr> </table></td> <td width="231" class="menu5" align="left"><table border="0"> <tr> <td><img src="images/mail.gif" alt="" width="38" height="36" /></td> <td>[email protected]</td> </tr> </table></td> </tr> </table></td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td width="1202" height="95"
166
background="images/bottom.gif"> </td> </tr> </table> </body> </html>
4. Coding Pengaturan <?php session_start(); //cek apakah user sudah login if(!isset($_SESSION['nama'])){ header("location:../login.php");//jika belum login jangan lanjut.. } //cek level user if($_SESSION['pangkat']!="superadmin"){ if($_SESSION['pangkat']=="admin"){ header("location:index2.php"); }else if($_SESSION['pangkat']==""){ header("location:../home.php");} } include('koneksi.php'); header("Refresh: 600; url=../cek_login.php?op=out"); ?> <html> <head> <title>Gaya Baru</title> <link href="gaya.css" rel="stylesheet" type="text/css"> <link rel="shortcut icon" href="../images/logo.ico"/> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css"> <!-- body { margin-left: 0px; margin-top: 0px; margin-right: 0px;
margin-bottom: 0px; } .style1 {color: #000000} --> </style> <script type="text/javascript"> <!-- function MM_goToURL() { //v3.0 var i, args=MM_goToURL.arguments; document.MM_returnValue = false; for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'"); } //--> </script> </head> <body bgcolor="#949494"> <table width="100" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td><table width="1202" border="0" cellpadding="0" cellspacing="0"> <tr> <td rowspan="2"><img src="../images/logo.gif" width="281" height="173" /></td> <td width="930" height="87" background="../images/banner1.gif" valign="bottom"><table border="0" cellpadding="5"> <tr> <td width="930" align="right" valign="bottom"> <table border="0"> <tr> <td><a href="index.php"
167
class="utama_link">HOME</a></td> <td><img src="../images/home.gif" width="28" height="28"></td> <td><a href="karyawan.php" class="utama_link">PENGGAJIAN</a></td> <td><img src="../images/penggajian.gif" width="28" height="28"></td> <td><a href="contact.php" class="utama_link">CONTACT</a></td> <td><img src="../images/contact.gif" width="28" height="28"></td> <td><a href="pengaturan.php" class="utama_link_aktif">PENGATURAN</a></td> <td><img src="../images/setup.gif" width="28" height="28" /></td> </tr> </table></td>
<td height="58" colspan="2" align="right" valign="top" background="../images/top_content.gif"><b><font color="#FFFF00"><?php echo "".$_SESSION['nama']."";?></font></b> <a href=../cek_login.php?op=out class="kiri_link style3 style1"> [LOGOUT]
</a> </td>
</tr> <tr> <td align="left" valign="bottom" class="nametag">Factory and Distributor</td> </tr> </table></td> </tr> <tr> <td width="487" height="86" background="../images/banner2.gif"><table border="0"> <tr> <td align="center" class="banner">Sistem Informasi<br /> Penggajian Karyawan</td> </tr> </table></td> </tr>
</table></td> </tr> <tr> <td align="center" valign="top"><table width="1202" border="0" cellpadding="0" cellspacing="0"> <tr>
</tr> <tr> <td width="197" height="275" background="../images/left_content.gif" valign="top"><table border="0"> <tr> <td background="../images/menu.gif"><div align="center" class="menu1">.:: MANAGEMENT ::.</div></td> </tr> <tr> <td align="center" cellpadding="5"><table border="0"> <tr> <td><div align="left" > <a href="#" class="kiri_link_aktif">
168
HAK AKSES KARYAWAN</a><br /> <a href="password_karyawan.php" class="kiri_link">PASSWORD KARYAWAN</a><br> <a href="periode_penggajian.php" class="kiri_link">PERIODE PENGGAJIAN</a><br /> <a href="hapus_data_potongan.php" class="kiri_link">HAPUS DATA POTONGAN</a><br /> <a href="hapus_data_tunjangan.php" class="kiri_link">HAPUS DATA TUNJANGAN</a><br /> <a href="hapus_data_absensi.php" class="kiri_link">HAPUS DATA ABSENSI</a></div></td> </tr> </table></td> </tr> </table> </td> <td width="1007" align="center" valign="top" background="../images/right_content.gif"><table border="1" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC"> <tr> <td align="center" class="judul"> HAK AKSES KARYAWAN</td> </tr> <tr> <td class="menu2" ><?php
function makeLink($str,$url,$bold="false"){ if($bold){ $str="<b>".$str."</b>"; } return '<a href="'.$url.'">'.$str.'</a>'; } function paging($smpn,$totalRec,$tmpl){ $totalPage=ceil($totalRec/$tmpl); $smpn=ceil(($smpn+1)/$tmpl); $str=""; /*--------------------------tombol Kembali-----------------------*/ if($smpn>1){ $rec=($smpn-2)*$tmpl; $str.=" ".makeLink("Kembali","?cur=".$rec,$bold)." "; } /*-------------------------Nomor Tampil Halaman----------------*/ for($i=1;$i<=$totalPage;$i++){ if($i==$smpn){ $bold=true; }else{ $bold=false; } $rec=($i-1)*$tmpl; $str.=" ".makeLink($i,"?cur=".$rec,$bold)." ";
169
} /*--------------------------tombol Berikut-----------------------*/ if($smpn<$totalPage){ $rec=($smpn*$tmpl); $str.=" ".makeLink("Berikut","?cur=".$rec,$bold)." "; } return $str; } $tmpl=15;// maximum record per page echo " <table width=975 bgcolor=#FFFFFF> <tr bgcolor=#999999 class=menu2> <td align=center>No.</td> <td align=center>Nik</td> <td align=center>Nama</td> <td align=center>Terakhir LOGIN</td> <td align=center>Pangkat</td> <td align=center>Edit Pangkat</td> </tr> "; $smpn=($_GET['cur']==null)?"0":$_GET['cur']; $query = "SELECT * FROM karyawan order by nik asc limit $smpn,$tmpl "; $hasil = mysql_query($query); $no = 1;
while ($data = mysql_fetch_array($hasil)) { echo "<tr bgcolor=\"#ebebeb\" class=menu2>"; echo "<td bgcolor=#999999>".$no.".</td>"; $nik = $data['nik']; echo "<td>$nik</td>"; echo "<td>".$data['nama']."</td>"; $r ="SElECT * from login where nik='$nik'"; $s = mysql_query($r); while ($data = mysql_fetch_array($s)) { echo "<td align=center>".$data['tanggal_daftar']."</td>"; if ($data['pangkat'] == "superadmin"){ print ("<td><font color=blue>Super Admin</font></td>"); }else{if ($data['pangkat'] == "admin"){ print ("<td><font color=green>Admin</font></td>"); }else{ print ("<td>Karyawan</td>"); } }; echo "<td align=center><input type=submit onclick=MM_goToURL('parent','edit_pengaturan.php?id=$nik');return document.MM_returnValue value=Edit /></td>"; echo "</tr>"; $no++; }} echo "</table>";
170
// get total Record from your table in database $tot=mysql_query("select count(*) as tot from karyawan"); $tot=mysql_fetch_row($tot); $tot=$tot[0]; ?></td> </tr> <tr> <td class="menu2" align="right"> Halaman <?=paging($smpn,$tot,$tmpl)?></td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td width="1202" height="95" background="../images/bottom.gif"> </td> </tr> </table> </body> </html>
5. Coding Penggajian <?php session_start(); //cek apakah user sudah login if(!isset($_SESSION['nama'])){ header("location:index.php");//jika belum login jangan lanjut.. } if($_SESSION['pangkat']==""){ header("location:../home.php");} header("Refresh: 600; url=../cek_login.php?op=out");
$query = "SELECT * FROM posisi_karyawan where nik='$nik'"; $hasil = mysql_query($query); while ($data = mysql_fetch_array($hasil)) { $golongan = $data['kode_golongan']; } $query = "SELECT * FROM golongan where id='$golongan'"; $hasil = mysql_query($query); while ($data = mysql_fetch_array($hasil)) { $gaji_pokok = $data['gaji_pokok']; } $r ="SElECT sum(hadir) as total from absensi where nik='$nik'"; $s = mysql_query($r); while ($data = mysql_fetch_array($s)) {if ($data[total] >=26) { $data[total] = 30;} $hadir = "$data[total]"; } $r ="SElECT sum(nilai) as total from tunjangan where nik='$nik'"; $s = mysql_query($r); while ($data = mysql_fetch_array($s)) { $total_tunjangan = "$data[total]"; } $r ="SElECT sum(nilai) as total from potongan where nik='$nik'"; $s = mysql_query($r); while ($data = mysql_fetch_array($s)) { $total_potongan = "$data[total]"; }
171
$total = "".round((($gaji_pokok/30)*$hadir)+($total_tunjangan-$total_potongan),-3); mysql_query("update total_gaji set gaji='$total' where nik='$nik'") ?>
6. Coding Data Karyawan <?php session_start(); //cek apakah user sudah login if(!isset($_SESSION['nama'])){ header("location:../login.php");//jika belum login jangan lanjut.. } if($_SESSION['pangkat']==""){ header("location:../home.php");} header("Refresh: 600; url=../cek_login.php?op=out"); //acak password default.. $range=range('A', 'Z'); $huruf1=$range[rand(0,25)]; $huruf2=$range[rand(0,25)]; $huruf3=$range[rand(0,25)]; $huruf4=$range[rand(0,25)]; $angka1=rand(0,9); $angka2=rand(0,9); $angka3=rand(5,9); $angka4=rand(1,9);
$array=array($huruf1,$huruf2,$huruf3,$huruf4,$angka1,$angka2,$angka3,$angka4); $acak1=$array[rand(0,7)]; $acak2=$array[rand(0,7)]; $acak3=$array[rand(0,7)]; $acak4=$array[rand(0,7)]; $acak5=$array[rand(0,7)]; $acak6=$array[rand(0,7)]; $acak7=$array[rand(0,7)]; $acak8=$array[rand(0,7)]; $acak="$acak1$acak2$acak3$acak4$acak5$acak6$acak7$acak8"; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Gaya Baru</title> <link href="gaya.css" rel="stylesheet" type="text/css" /> <link rel="shortcut icon" href="../images/logo.ico"/> <script type="text/javascript"> <!--
172
function MM_validateForm() { //v4.0 if (document.getElementById){ var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments; for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]); if (val) { nm=val.name; if ((val=val.value)!="") { if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@'); if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n'; } else if (test!='R') { num = parseFloat(val); if (isNaN(val)) errors+='- '+nm+' (Harus di Isi Dengan Angka).\n'; if (test.indexOf('inRange') != -1) { p=test.indexOf(':'); min=test.substring(8,p); max=test.substring(p+1); if (num<min || max<num)
errors+='- '+nm+' di Isi Minimal '+min+' Angka.\n'; } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' (Harus di Isi).\n'; } } if (errors) alert('(Data Harus di Dengan Benar)\n'+errors); document.MM_returnValue = (errors == ''); } } //--> </script> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css"> <!-- body { margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; } .style1 {color: #000000} --> </style></head> <body bgcolor="#949494"> <table width="100" border="0" align="center" cellpadding="0" cellspacing="0"> <tr>
173
<td><table width="1202" border="0" cellpadding="0" cellspacing="0"> <tr> <td rowspan="2"><img src="../images/logo.gif" width="281" height="173" /></td> <td width="930" height="87" background="../images/banner1.gif" valign="bottom"><table border="0" cellpadding="5"> <tr> <td width="930" align="right" valign="bottom"><? if($_SESSION['pangkat']=="superadmin"){ echo "<table border=\"0\">"; echo "<tr>"; echo "<td><a href=\"index.php\" class=\"utama_link\">HOME</a></td>"; echo "<td><img src=\"../images/home.gif\" width=\"28\" height=\"28\"></td>"; echo "<td><a href=\"#\" class=\"utama_link_aktif\">PENGGAJIAN</a></td>"; echo "<td><img src=\"../images/penggajian.gif\"
width=\"28\" height=\"28\"></td>"; echo "<td><a href=\"contact.php\" class=\"utama_link\">CONTACT</a></td>"; echo "<td><img src=\"../images/contact.gif\" width=\"28\" height=\"28\"></td>"; echo "<td><a href=\"pengaturan.php\" class=\"utama_link\">PENGATURAN</a></td>"; echo "<td><img src=\"../images/setup.gif\" width=\"28\" height=\"28\" /></td>"; echo "</tr>"; echo "</table>"; }else { echo "<table border=\"0\">"; echo "<tr>"; echo "<td><a href=\"index2.php\" class=\"utama_link\">HOME</a></td>"; echo "<td><img src=\"../images/home.gif\" width=\"28\" height=\"28\"></td>";
174
echo "<td><a href=\"#\" class=\"utama_link_aktif\">PENGGAJIAN</a></td>"; echo "<td><img src=\"../images/penggajian.gif\" width=\"28\" height=\"28\"></td>"; echo "<td><a href=\"contact.php\" class=\"utama_link\">CONTACT</a></td>"; echo "<td><img src=\"../images/contact.gif\" width=\"28\" height=\"28\"></td>"; echo "</tr>"; echo "</table>"; } ?></td> </tr> <tr> <td align="left" valign="bottom" class="nametag">Factory and Distributor</td> </tr> </table></td> </tr> <tr> <td width="487" height="86" background="../images/banner2.gif"><table border="0"> <tr>
<td align="center" class="banner">Sistem Informasi<br /> Penggajian Karyawan</td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td align="center" valign="top"><table width="1202" border="0" cellpadding="0" cellspacing="0"> <tr> <td height="58" colspan="2" align="right" valign="top" background="../images/top_content.gif"><b><font color="#FFFF00"><?php echo "".$_SESSION['nama']."";?></font></b> <a href=../cek_login.php?op=out class="kiri_link style3 style1"> [LOGOUT] </a> </td> </tr> <tr> <td width="197" background="../image
175
s/left_content.gif" valign="top"> <table border="0"> <tr> <td background="../images/menu.gif"><div align="center" class="menu1">.:: PROSES INPUT ::.</div></td> </tr> <tr> <td align="center" cellpadding="5"> <table border="0"> <tr> <td><div align="left" > <a href="#" class="kiri_link_aktif">DATA KARYAWAN</a><br /> <a href="pendidikan.php" class="kiri_link">DATA PENDIDIKAN</a><br /> <a href="keluarga.php" class="kiri_link">DATA KELUARGA</a><br /> <a href="golongan.php" class="kiri_link">DATA GOLONGAN</a><br /> <a href="jabatan.php" class="kiri_link">DATA JABATAN</a><br /> <a href="posisi karyawan.php"
class="kiri_link">DATA POSISI KARYAWAN</a><br /> <a href="potongan.php" class="kiri_link">DATA POTONGAN</a><br /> <a href="tunjangan.php" class="kiri_link">DATA TUNJANGAN</a><br /> <a href="absensi.php" class="kiri_link">DATA ABSENSI</a></div></td> </tr> </table> </td> </tr> </table> <table border="0"> <tr> <td background="../images/menu.gif"><div align="center" class="menu1">.:: LAPORAN ::.</div></td> </tr> <tr> <td align="center" cellpadding="5"><table border="0"> <tr> <td><div align="left" > <a href="lap_karyawan.php" class="kiri_link">DA
176
TA KARYAWAN</a><br /> <a href="lap_pendidikan.php" class="kiri_link">DATA PENDIDIKAN</a><br /> <a href="lap_keluarga.php" class="kiri_link">DATA KELUARGA</a><br /> <a href="lap_golongan.php" class="kiri_link">DATA GOLONGAN</a><br /> <a href="lap_jabatan.php" class="kiri_link">DATA JABATAN</a><br /> <a href="lap_posisi karyawan.php" class="kiri_link">DATA POSISI KARYAWAN</a><br /> <a href="lap_potongan.php" class="kiri_link">DATA POTONGAN</a><br /> <a href="lap_tunjangan.php" class="kiri_link">DATA TUNJANGAN</a><br />
<a href="lap_absensi.php" class="kiri_link">DATA ABSENSI</a><br /> <a href="lap_penggajian.php" class="kiri_link">DATA PENGGAJIAN<br /> </a><a href="../lap_karyawan.php" class="kiri_link">DATA DIRI</a></div></td> </tr> </table></td> </tr> </table></td> <td width="1007" align="center" valign="top" background="../images/right_content.gif"> <form name="tambah_karyawan" action="karyawansimpan.php" method="post" class="menu2"> <table border="0" align="center" cellpadding="8"> <tr> <td align="center" valign="top"><table border="0"
177
bordercolor="#CCCCCC"> <tr valign="top"> <td align="center"><table border="1" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC"> <tr> <td align="center" class="judul">INPUT DATA KARYAWAN</td> </tr> <tr> <td align="center" valign="middle" class="menu2"><table> <tr> <td class="menu2">NIK</td> <td class="menu2"><input name="nik" type="text" id="nik"/></td> <td class="menu2">Jenis Kelamin</td> <td class="menu2"><select name="jenis_kelamin">
<option value="-" selected>-</option>
<option value="Laki - Laki">Laki - Laki</option>
<option value="Perempuan">Perempuan</option> </select> </td> </tr> <tr> <td class="menu2">Nama</td> <td class="menu2"><input name="nama" type="text" id="nama" /></td> <td class="menu2">Agama</td> <td class="menu2"><select name="agama">
<option value="-" selected>-</option>
<option value="Islam">Islam</option>
<option value="Protestan">Protestan</option>
<option
178
value="Katholik">Katholik</option> <option value="Hindu">Hindu</option>
<option value="Nikah">Nikah</option>
<option value="Budha">Budha</option>
<option value="Kong Hu Cu">Kong Hu Cu</option>
</select> </td>
</tr> <tr> <td valign="top" class="menu2">Alamat</td> <td rowspan="2" class="menu2" valign="top"><textarea name="alamat" id="alamat"></textarea></td> <td class="menu2">Status Nikah</td> <td class="menu2"><select name="status_nikah"> <option value="-" selected>-</option>
<option value="Belum Nikah">Belum Nikah</option>
</select> </td> </tr> <tr> <td> </td> <td class="menu2">No Telepon</td> <td class="menu2"><input name="no_telepon" type="text" id="no_telepon"/></td> </tr> <tr> <td valign="top" class="menu2">Tempat Lahir</td> <td class="menu2"><select name="tempat_lahir"> <option value="-" selected>-</option> <option value="--> Jawa Barat <--">--> Jawa Barat <--</option> <option value="Bandung">Bandung</option>
179
<option value="Bandun Barat">Bandung Barat</option> <option value="Banjar">Banjar</option> <option value="Bekasi">Bekasi</option> <option value="Bogor">Bogor</option> <option value="Ciamis">Ciamis</option> <option value="Cianjur">Cianjur</option> <option value="Cirebon">Cirebon</option> <option value="Depok">Depok</option> <option value="Garut">Garut</option> <option value="Indramayu">Indramayu</option> <option value="Karawang">Karawang</option> <option value="Kuningan">Kuningan</option>
<option value="Majalengka">Majalengka</option> <option value="Purwakarta">Purwakarta</option> <option value="Subang">Subang</option> <option value="Sukabumi">Sukabumi</option> <option value="Sumedang">Sumedang</option> <option value="Tasikmalaya">Tasikmalaya</option> <option value="--> Kota Banten <--">--> Kota Banten <--</option> <option value="Cilegon">Cilegon</option> <option value="Lebak">Lebak</option> <option value="Pandeglang">Pandeglang</option> <option value="Serang">Serang</option> <option
180
value="Tanggerang">Tanggerang</option> <option value="--> DKI Jakarta <--">--> DKI Jakarta <--</option> <option value="Jakarta Barat">Jakarta Barat</option> <option value="Jakarta Pusat">Jakarta Pusat</option> <option value="Jakarta Selatan">Jakarta Selatan</option> <option value="Jakarta Timur">Jakarta Timur</option> <option value="Jakarta Utara">Jakarta Utara</option> <option value="--> Jawa Tengah <--">--> Jawa Tengah <--</option> <option value="Banjarnegara">Banjarnegara</option> <option value="Banyumas">Banyumas</option>
<option value="Batang">Batang</option> <option value="Blora">Blora</option> <option value="Boyolali">Boyolali</option> <option value="Brebes">Brebes</option> <option value="Cilacap">Cilacap</option> <option value="Demak">Demak</option> <option value="Grobogan">Grobogan</option> <option value="Jepara">Jepara</option> <option value="Karanganyar">Karanganyar</option> <option value="Kebumen">Kebumen</option> <option value="Kendal">Kendal</option> <option value="Klaten">Klaten</option>
181
<option value="Kudus">Kudus</option> <option value="Magelang">Magelang</option> <option value="Pati">Pati</option> <option value="Pekalongan">Pekalongan</option> <option value="Pemalang">Pemalang</option> <option value="Purbalingga">Purbalingga</option> <option value="Purworejo">Purworejo</option> <option value="Rembang">Rembang</option> <option value="Semarang">Semarang</option> <option value="Sragen">Sragen</option> <option value="Sukoharjo">Sukoharjo</option> <option value="Tegal">Tegal</option>
<option value="Temanggung">Temanggung</option> <option value="Wonogiri">Wonogiri</option> <option value="Wonosobo">Wonosobo</option> <option value="--> DI Yogyakarta <--">--> DI Yogyakarta <--</option> <option value="Bantul">Bantul</option> <option value="Gunung Kidul">Gunung Kidul</option> <option value="Kulonprogo">Kulonprogo</option> <option value="Sleman">Sleman</option> <option value="Yogyakarta">Yogyakarta</option> <option value="--> Jawa Timur <--">--> Jawa Timur <--</option> <option value="Bangkalan">Bangkalan</option>
182
<option value="Banyuwangi">Banyuwangi</option> <option value="Batu">Batu</option> <option value="Blitar">Blitar</option> <option value="Bojonegoro">Bojonegoro</option> <option value="Bondowoso">Bondowoso</option> <option value="Gresik">Gresik</option> <option value="Jember">Jember</option> <option value="Jombang">Jombang</option> <option value="Kediri">Kediri</option> <option value="Lamongan">Lamongan</option> <option value="Lumajang">Lumajang</option> <option value="Madiun">Madiun</option>
<option value="Magetan">Magetan</option> <option value="Malang">Malang</option> <option value="Mojokerto">Mojokerto</option> <option value="Nganjuk">Nganjuk</option> <option value="Ngawi">Ngawi</option> <option value="Pacitan">Pacitan</option> <option value="Pamekasan">Pamekasan</option> <option value="Pasuruan">Pasuruan</option> <option value="Ponorogo">Ponorogo</option> <option value="Probolinggo">Probolinggo</option> <option value="Sampang">Sampang</option> <option value="Sidoarjo">Sidoarjo</option>
183
<option value="Situbondo">Situbondo</option> <option value="Sumenep">Sumenep</option> <option value="Trenggalek">Trenggalek</option> <option value="Tuban">Tuban</option> <option value="Tulungagung">Tulungagung</option> <option value="Surabaya">Surabaya</option> </select></td> <td class="menu2">Status Karyawan</td> <td class="menu2"><select name="status_karyawan"> <option value="-" selected>-</option>
<option value="Tidak Tetap">Tidak Tetap</option>
<option value="Tetap">Tetap</option>
</select> </td> </tr> <tr> <td class="menu2">Tanggal Lahir</td> <td class="menu2"><select name="hari"> <?php echo "<option value='tanggal'>"."-tanggal-"."</option>"."<br>"; for($i=1;$i<=31;$i++) echo "<option value='$i'>"."$i"."</option>"."<br>"; ?> </select> - <select name="bulan">
<option selected="selected">-bulan-</option>
<option value="Januari">Januari</option> <option value="Pebruari">Pebruari</option>
184
<option value="Maret">Maret</option>
<?php echo "<option
value='tahun'>"."-tahun-"."</option>"."<br>";
<option value="April">April</option>
for($i=1950;$i<=2020;$i++)
<option value="Mei">Mei</option>
echo "<option value='$i'>"."$i"."</option>"."<br>";
<option value="Juni">Juni</option>
?>
<option value="Juli">Juli</option>
<td valign="top" class="menu2">Tanggal Masuk</td>
<option value="Agustus">Agustus</option>
<td valign="top" class="menu2"><select name="hari2">
<option value="September">September</option>
<?php echo "<option value='tanggal'>"."-tanggal-"."</option>"."<br>";
<option value="Oktober">Oktober</option> <option value="Nopember">Nopember</option>
echo "<option value='$i'>"."$i"."</option>"."<br>";
<option value="Desember">Desember</option>
?>
</select> - <select name="tahun">
<option selected="selected">-bulan-</option>
</select></td>
for($i=1;$i<=31;$i++)
</select> - <select name="bulan2">
185
<option value="Januari">Januari</option>
</select>
<option value="Pebruari">Pebruari</option>
<select name="tahun2">
<option value="Maret">Maret</option>
<?php echo "<option value='tahun'>"."-tahun-"."</option>"."<br>";
<option value="April">April</option> <option value="Mei">Mei</option>
echo "<option value='$i'>"."$i"."</option>"."<br>";
<option value="Juni">Juni</option>
?>
<option value="Juli">Juli</option>
</tr>
<option value="Agustus">Agustus</option>
</tr>
<option value="September">September</option>
<td align="center"><input type="submit" onClick="MM_validateForm('nik','','RinRange8','nama','','R','no_telepon','','RisNum','alamat','','R');return document.MM_returnValue" value="Simpan" /></td>
<option value="Oktober">Oktober</option> <option value="Nopember">Nopember</option> <option value="Desember">Desember</option>
-
for($i=1960;$i<=2020;$i++)
</select></td>
</table></td>
<tr>
</tr> </table></td>
186
</tr> </table></td> </tr> </table><? echo "<input name=\"password\" type=\"hidden\" value=$acak>"; ?> </form> </td> </tr> </table></td> </tr> <tr> <td width="1202" height="95" background="../images/bottom.gif"> </td> </tr> </table> </body> </html>
7. Coding Data Absensi <?php session_start(); //cek apakah user sudah login if(!isset($_SESSION['nama'])){ header("location:../login.php");//jika belum login jangan lanjut.. } if($_SESSION['pangkat']==""){ header("location:../home.php");} include('koneksi.php'); header("Refresh: 600; url=../cek_login.php?op=out"); //acak kode_absensi default..
$range=range('A', 'Z'); $huruf1=$range[rand(0,25)]; $huruf2=$range[rand(0,25)]; $huruf3=$range[rand(0,25)]; $huruf4=$range[rand(0,25)]; $angka1=rand(0,9); $angka2=rand(0,9); $angka3=rand(5,9); $angka4=rand(1,9); $array=array($huruf1,$huruf2,$huruf3,$huruf4,$angka1,$angka2,$angka3,$angka4); $acak1=$array[rand(0,7)]; $acak2=$array[rand(0,7)]; $acak3=$array[rand(0,7)]; $acak4=$array[rand(0,7)]; $acak5=$array[rand(0,7)]; $acak6=$array[rand(0,7)]; $acak7=$array[rand(0,7)]; $acak8=$array[rand(0,7)]; $acak9=$array[rand(0,7)]; $acak10=$array[rand(0,7)]; $acak11=$array[rand(0,7)]; $acak="$acak1$acak2$acak3$acak4$acak5$acak6$acak7$acak8$acak9$acak10$acak11"; $tanggal = date("d"); $tahun = date("Y"); $kode_hari = date("w"); if ($kode_hari == 0) $hari = "Minggu"; elseif ($kode_hari == 1) $hari = "Senin"; elseif ($kode_hari == 2) $hari = "Selasa"; elseif ($kode_hari == 3) $hari = "Rabu";
187
elseif ($kode_hari == 4) $hari = "Kamis"; elseif ($kode_hari == 5) $hari = "Jumat"; else $hari = "Sabtu"; $kode_bulan = date("F"); if ($kode_bulan == January) $bulan = " Januari"; elseif ($kode_bulan == February) $bulan = " Pebruari"; elseif ($kode_bulan == March) $bulan = "Maret"; elseif ($kode_bulan == April) $bulan = " April"; elseif ($kode_bulan == May) $bulan = " Mei"; elseif ($kode_bulan == June) $bulan = " Juni"; elseif ($kode_bulan == July) $bulan = " Juli"; elseif ($kode_bulan == August) $bulan = " Agustus"; elseif ($kode_bulan == September) $bulan = " September"; elseif ($kode_bulan == October) $bulan = " Oktober"; elseif ($kode_bulan == November) $bulan = " Nopember"; else $bulan = " Desember"; $rekap_bulan = "$hari $tanggal $bulan, $tahun"; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Gaya Baru</title> <link href="gaya.css" rel="stylesheet" type="text/css" /> <link rel="shortcut icon" href="../images/logo.ico" /> <style type="text/css"> <!-- .style1 {color: #000000} body { margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; } --> </style> </head> <body bgcolor="#949494"> <table width="100" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td><table width="1202" border="0" cellpadding="0" cellspacing="0"> <tr> <td rowspan="2"><img src="../images/logo.gif" width="281" height="173" /></td> <td width="930" height="87" background="../images/banner1.gif" valign="bottom"><table border="0" cellpadding="5"> <tr>
188
<td width="930" align="right" valign="bottom"><? if($_SESSION['pangkat']=="superadmin"){ echo "<table border=\"0\">"; echo "<tr>"; echo "<td><a href=\"index.php\" class=\"utama_link\">HOME</a></td>"; echo "<td><img src=\"../images/home.gif\" width=\"28\" height=\"28\"></td>"; echo "<td><a href=\"#\" class=\"utama_link_aktif\">PENGGAJIAN</a></td>"; echo "<td><img src=\"../images/penggajian.gif\" width=\"28\" height=\"28\"></td>"; echo "<td><a href=\"contact.php\" class=\"utama_link\">CONTACT</a></td>"; echo "<td><img src=\"../images/contact.gif\" width=\"28\" height=\"28\"></td>"; echo "<td><a href=\"pengaturan.php\" class=\"utama_link\">PENGATURAN</a></td>"; echo "<td><img src=\"../images/setup.gif\" width=\"28\" height=\"28\" /></td>"; echo "</tr>"; echo "</table>"; }else { echo "<table border=\"0\">"; echo "<tr>"; echo "<td><a href=\"index2.php\" class=\"utama_link\">HOME</a></td>";
echo "<td><img src=\"../images/home.gif\" width=\"28\" height=\"28\"></td>"; echo "<td><a href=\"#\" class=\"utama_link_aktif\">PENGGAJIAN</a></td>"; echo "<td><img src=\"../images/penggajian.gif\" width=\"28\" height=\"28\"></td>"; echo "<td><a href=\"contact.php\" class=\"utama_link\">CONTACT</a></td>"; echo "<td><img src=\"../images/contact.gif\" width=\"28\" height=\"28\"></td>"; echo "</tr>"; echo "</table>"; } ?></td> </tr> <tr> <td align="left" valign="bottom" class="nametag">Factory and Distributor</td> </tr> </table></td> </tr> <tr> <td width="487" height="86" background="../images/banner2.gif"><table border="0"> <tr> <td align="center" class="banner">Sistem Informasi<br /> Penggajian Karyawan</td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td align="center" valign="top"><table
189
width="1202" border="0" cellpadding="0" cellspacing="0"> <tr> <td height="58" colspan="2" align="right" valign="top" background="../images/top_content.gif"><b><font color="#FFFF00"><?php echo "".$_SESSION['nama']."";?></font></b> <a href=../cek_login.php?op=out class="kiri_link style1"> [LOGOUT] </a> </td> </tr> <tr> <td width="197" background="../images/left_content.gif" valign="top"><table border="0"> <tr> <td background="../images/menu.gif"><div align="center" class="menu1">.:: PROSES INPUT ::.</div></td> </tr> <tr> <td align="center" cellpadding="5"><table border="0"> <tr> <td><div align="left" > <a href="karyawan.php" class="kiri_link">DATA KARYAWAN</a><br /> <a href="pendidikan.php" class="kiri_link">DATA PENDIDIKAN</a><br /> <a href="keluarga.php"
class="kiri_link">DATA KELUARGA</a><br /> <a href="golongan.php" class="kiri_link">DATA GOLONGAN</a><br /> <a href="jabatan.php" class="kiri_link">DATA JABATAN</a><br /> <a href="posisi karyawan.php" class="kiri_link">DATA POSISI KARYAWAN</a><br /> <a href="potongan.php" class="kiri_link">DATA POTONGAN</a><br /> <a href="tunjangan.php" class="kiri_link">DATA TUNJANGAN</a><br /> <a href="#" class="kiri_link_aktif">DATA ABSENSI</a></div></td> </tr> </table></td> </tr> </table> <table border="0"> <tr> <td background="../images/menu.gif"><div align="center" class="menu1">.:: LAPORAN ::.</div></td> </tr> <tr> <td align="center" cellpadding="5"><table border="0"> <tr> <td><div align="left" > <a href="lap_karyawan.php" class="kiri_link">DATA KARYAWAN</a><br /> <a
190
href="lap_pendidikan.php" class="kiri_link">DATA PENDIDIKAN</a><br /> <a href="lap_keluarga.php" class="kiri_link">DATA KELUARGA</a><br /> <a href="lap_golongan.php" class="kiri_link">DATA GOLONGAN</a><br /> <a href="lap_jabatan.php" class="kiri_link">DATA JABATAN</a><br /> <a href="lap_posisi karyawan.php" class="kiri_link">DATA POSISI KARYAWAN</a><br /> <a href="lap_potongan.php" class="kiri_link">DATA POTONGAN</a><br /> <a href="lap_tunjangan.php" class="kiri_link">DATA TUNJANGAN</a><br /> <a href="lap_absensi.php" class="kiri_link">DATA ABSENSI</a><br /> <a href="lap_penggajian.php" class="kiri_link">DATA PENGGAJIAN<br /> </a><a href="../lap_karyawan.php" class="kiri_link">DATA DIRI</a></div></td> </tr> </table></td> </tr> </table></td> <td width="1007" align="center" valign="top" background="../images/ri
ght_content.gif"><form name="form1" method="post" action="absensisimpan.php"> <table border="0" align="center" cellpadding="1"> <tr> <td><table border="0" bordercolor="#CCCCCC"> <tr> <td align="center"><table border="1" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC"> <tr> <td align="center" class="judul">INPUT DATA ABSENSI</td> </tr> <tr> <td align="center" valign="middle" class="menu2"><table border="0" class="menu2"> <tr> <td>Tanggal Absensi</td> <td> <font color="#FFFFFF"> <?php echo "$tanggal";?> <input name="tanggal" type="hidden" value="<?php echo "$tanggal";?>" /> - <?php echo "$bulan";?> <input name="bulan" type="hidden" value="<?php echo "$bulan";?>" />
191
- <?php echo "$tahun";?> <input name="tahun" type="hidden" value="<?php echo "$tahun";?>" /> </font> </td> </tr> <tr> <td>NIK</td> <td><select name="nik"> <?php $no = 1; $query = "SELECT * FROM `karyawan` ORDER BY `nik`,'nama'"; $hasil = mysql_query($query); while ($brs = mysql_fetch_array($hasil)) { $nik = $brs['nik']; $nama = $brs['nama']; echo "<option value=\"$nik\">$nik ($nama)</option>"; $no++; } ?> </select></td> </tr> <tr> <td> </td> <td valign="top" align="left">Status Kehadiran <br />
<input type="radio" name="absensi" value="1" id="absensi_0"> Hadir <br> <input type="radio" name="absensi" value="0" id="absensi_1"> Tidak Hadir </p> </td> </tr> </table></td> </tr> <tr> <td align="center"><input type="submit" value="Simpan"></td> </tr> </table></td> </tr> </table></td> </tr> </table><? echo "<input name=kode_absensi type=\"hidden\" value=$acak>"; ?> </form> </td> </tr> </table></td> </tr> <tr> <td width="1202" height="95" background="../images/bottom.gif"> </td> </tr> </table> </body> </html>
192
8. Coding Koneksi <? $host = "localhost"; $user = "root"; $pass = ""; $db = "penggajian";
mysql_connect($host,$user,$pass); mysql_select_db($db); ?>