KERJA PRAKTEK
FUAD HASYIM
10113262
i
ABSTRACT
ii
KATA PENGANTAR
Dengan puji dan syukur penulis panjatkan kehadirat Allah Swt, atas berkat
rahmat dan hidayah-Nya penulis dapat menyelesaikan laporan kerja praktek ini
dengan tepat waktu. Shalawat serta salam semoga tercurahkan kepada Rasulullah
SAW, keluarga dan sahabatnya. Penyusunan kerja praktek dengan judul “Sistem
Informasi Penggajian Online Berbasis Web”. Kerja praktek ini disusun sebagai
syarat untuk memenuhi tugas mata matakuliah kerja praktek Fakultas Teknik dan
Ilmu Komputer Program Studi Informatika Universitas Komputer Indonesia.
Penulis menyadari bahwa dalam proses penulisan laporan kerja praktek ini
masih jauh dari kesempurnaan dan banyak mengalami kendala, namun berkat
dukungan, bimbinganya , penulis dapat mengatasi kendala-kendala yang dihadapi.
Selanjutnya penulis menyampaikan rasa terima kasih yang tak terhingga
kepada Bapak Erick Wijaya S.Kom., M.T.yang telah membimbing kelancaran
dalam penulisan laporan kerja praktek ini, karena tanpa bantuan tersebut sulit
rasanya penulis untuk bisa menyelesaikanya.
Semoga Allah SWT menjadikan amal sholeh atas budi baik yang telah
membantu penulis dalam menyusun laporan kerja praktek ini. Akhir kata, semoga
kerja praktek ini dapat bermanfaat bagi para pembaca.
iii
DAFTAR ISI
ABSTRAK........................................................................................................... i
ABSTRACT......................................................................................................... ii
BAB 1 PENDAHULUAN................................................................................... 1
iv
2.2 Landasan Teori ..................................................................................... 12
v
DAFTAR LAMPIRAN ................................................................................. lxxx
vi
DAFTAR GAMBAR
vii
Gambar 4. 9 Tampilan Layar Data Admin .................................................... 69
Gambar 4. 10 Tampilan Layar Tambah Data Admin .................................... 69
Gambar 4. 11 Tampilan Sukses Tambah Data Admin ................................... 70
Gambar 4. 12 Tampilan Layar Ubah Data Admin ......................................... 70
Gambar 4. 13 Tampilan Sukses Tambah Data Admin ................................... 71
Gambar 4. 14 Tampilan Layar Data Gaji PPH21 .......................................... 71
Gambar 4. 15 Tampilan Layar Tambah Data Gaji PPH21 ........................... 72
Gambar 4. 16 Tampilan Layar Sukses Menambahkan Gaji PPH21 ............. 72
Gambar 4. 17 Tampilan Layar Data Slip Gaji ............................................... 73
Gambar 4. 18 Tampilan Layar Tambah Data Slip Gaji ................................ 73
Gambar 4. 19 Tampilan Layar Data Absen .................................................... 74
Gambar 4. 20 Tampilan Layar Halaman Login Pegawai .............................. 74
Gambar 4. 21 Tampilan Layar Halaman Utama Pegawai ............................. 75
Gambar 4. 22 Tampilan Layar Data Pegawai ................................................ 75
Gambar 4. 23 Tampilan Layar Halaman Data PPH21 Pegawai .................... 76
Gambar 4. 24 Tampilan Layar Halaman Data Absen Pegawai ..................... 76
viii
DAFTAR TABEL
ix
DAFTAR LAMPIRAN
x
BAB 1
PENDAHULUAN
1
2
1.3.1 Maksud
Maksud dari kerja praktek yang dilakukan di Daily Foodhall Rest Area KM
125 adalah Membentuk keterbukaan antara perusahaan dan karyawan tetap
maupun kontrak, dapat mengakses sistem informasi online darimana saja dan
kapan saja (flexible)
3
1.3.2 Tujuan
Maksud dari kerja praktek yang dilakukan di Daily Foodhall Rest Area KM
125 adalah:
1. Memberikan informasi rincian perhitungan gaji karyawan dan PPh21
kepada karyawan tetap dan kontrak lewat sistem informasi online.
2. Mempermudah bagian HRD dalam memasukan, mengedit dan menghapus
data karyawan.
BAB 2
TINJAUAN PUSTAKA
8
9
9
10
GM
Supporting Operational
Head Office OM
Accounting HRD BM DM
Deskripsi kerja
1. GM (General Manager)
Mengawasi dan kontroling Head Office dan Operational
2. OM (Operational Manager)
Mengawasi operational The Foodhall dan Daily Foodhall serta tanggung
jawab langsung pada General Manager
3. Accounting
Mengurusi segala sesuatu tentang pembukuan dan rekap sales store
opersional dan Head Office
11
4. HRD
Menngani tentang segala sesuatu mengenai manpower, perekrutan
karyawan, training, dan hak nya karyawan
5. Finance
Mengurusi tentan permbayaran payroll dan vendor
6. IT
Menangani semua Jaringan, server dan database perusahaan
7. SDD/BDD
Menangani tentang pengembangan order toko terhadap vendor
8. MD
Menangani semua penawaran barang, listing, dan item barang yang dapat
di jual di store
9. BM (Branch Manager)
Bertanggung jawab atas segala sesuatu tentang sales, margin, dan stock
Toko The Foodhall serta Operasional di Store
10. DM (Daily Manager)
11. Bertanggung jawab atas segala sesuatu tentang sales, margin, dan stock
Toko Daily Foodhall serta Operasional di Store
12. SPV ( Supervisor)
Membantu BM/DM dalam mengawasi staff floor di operasional Store dan
membuat laporan mingguan dan bulanan yang dibutuhkan dari OM
13. Admin OP (Administrasi Operasional)
Menangai ordering dan estimasi barang ke vendor dan DC
14. Admin BO ( Administrasi Back Office)
Menangani laporan Keuangan Cashier, setoran Bank, dan SOD, EOD
Register Cashier
12
5. Komponen (Component)
Kegiatan – kegiatan atau proses dalam suatu sistem yang mentransformasikan
input menjadi bentuk setengah jadi (output). Komponen ini bisa berupa
subsistem dari sebuah sistem.
6. Penghubung (Interface)
Tempat dimana komponen atau sistem dan lingkungannya bertemu atau
berinteraksi.
7. Penyimpanan (Storage)
Area yang dikuasai dan digunakan untuk penyimpanan sementara dan tetap
dari informasi, energi, bahan baku, dan sebagainya. Penyimpanan merupakan
suatu media penyangga di antara komponen tersebut bekerja dengan berbagai
tingakatan yang ada dan memungkinkan komponen yang berbeda dari
berbagai data yang sama.
1. Komponen input
Input mewakili data yang masuk kedalam sistem informasi. Input disini
termasuk metode dan media untuk menangkap data yang akan dimasukkan,
yang dapat berupa dokumendokumen dasar.
2. Komponen model
Komponen ini terdiri dari kombinasi prosedur, logika, dan model matematik
yang akan memanipulasi data input dan data yang tersimpan di basis data
dengan cara yag sudah ditentukan untuk menghasilkan keluaran yang
diinginkan.
3. Komponen output
Hasil dari sistem informasi adalah keluaran yang merupakan informasi yang
berkualitas dan dokumentasi yang berguna untuk semua pemakai sistem.
4. Komponen teknologi
Teknologi merupakan “tool box” dalam sistem informasi, Teknologi digunakan
untuk menerima input, menjalankan model, menyimpan dan mengakses data,
neghasilkan dan mengirimkan keluaran, dan membantu pengendalian dari
sistem secara keseluruhan.
5. Komponen hardware
Hardware berperan penting sebagai suatu media penyimpanan vital bagi sistem
informasi.Yang berfungsi sebagai tempat untuk menampung database atau
lebih mudah dikatakan sebagai sumber data dan informasi untuk memperlancar
dan mempermudah kerja dari sistem informasi.
15
6. Komponen software
Software berfungsi sebagai tempat untuk mengolah,menghitung dan
memanipulasi data yang diambil dari hardware untuk menciptakan suatu
informasi.
7. Komponen basis data
Basis data (database) merupakan kumpulan data yang saling berkaitan dan
berhubungan satu dengan yang lain, tersimpan di pernagkat keras komputer dan
menggunakan perangkat lunak
untuk memanipulasinya. Data perlu disimpan dalam basis data untuk keperluan
penyediaan informasi lebih lanjut. Data di dalam basis data perlu
diorganisasikan sedemikian rupa supaya informasi yang dihasilkan
berkualitas. Organisasi basis data yang baik juga berguna untuk efisiensi
kapasitas penyimpanannya. Basis data diakses atau dimanipulasi menggunakan
perangkat lunak paket yang disebut DBMS (Database Management System).
8. Komponen control
anyak hal yang dapat merusak sistem informasi, seperti bencana alam, api,
temperatur, air, debu, kecurangan- kecurangan, kegagalan-kegagalan sistem itu
sendiri, ketidak efisien, sabotase dan lain sebagainya. Beberapa pengendalian
perlu dirancang dan diterapkan untuk meyakinkan bahwa hal-hal yang dapat
merusak sistem dapat dicegah atau pun bila terlanjur terjadi kesalahan-
kesalahan dapat langsung cepat diatasi.
1. Menentukan Entitas
Pada tahap ini dituntut untuk menentukan dengan cerdas sebuah entitas yang
ada dalam suatu proye/permasalahn. Entitas itu berguna untuk menentukan
kejadian, peran, lokasi dan konsep dimana penggunaanya ialah untuk
menyimpan data.
2. Menentukan Relasi
Setelah menentukan entitasnya, langakh selanjutnya itu ialah menentukan
hubungan/relasi antar entitasnya.
17
Jadi pada bagian ini dituntut untuk menentukan relasi apasaja yang dapat
terjadi pada setiap entitas, apakah “satu ke satu”, “satu ke banyak”, atau
“banyak ke banyak”.
3. Gambar ERD Sementara
Apabila entitas beserta relasi sudah diketahui, buatlah ERD sementara
dengan mengimplementasikan data yang telah didapat sebelumnya.
4. Isi Kardinalitas
Kardinalitas berguna untuk menentukan jumlah kejadian satu entitas untuk
sebuah kejadian pada entitas yang berelasi.
5. Tentukan Primary Key
Tahap ini menuntut untuk menentukan primary key pada setiap entitas.
Primary key merupakan sebuah attributpada suatu entitas yang bersifat unik.
Jadi setiap entitas hanya memiliki satu primary key saja. Selain itu tentukan
juga foreign key (kunci tamu) pada masing- masing entitas. Foreign key
adalah primary key yang berada dalam entitas yang lain.
6. Gambar ERD Berdasarkan Primary Key
Menghilangkan relasi "many to many" dan memasukkan Primary dan
Foreign Key pada masing-masing entitas. Relasi many to many antar entity
perlu dihilangkan dengan cara menambah atribut baru antara 2 entity yang
memiliki relasi many to many.
7. Menentukan Atribut
Jika sudah melakukan step diatas, sekarang saatnya menentukan atribut
pada masing-masing Entitas.
8. Pemetaan Atribut
Apabila atribut telah ditentukan, sekarang pasang atribut dengan entitas yang
sesuai.
9. Gambar ERD dengan Atribut
Mengatur ERD seperti langkah 6 dengan menambahkan atribut dan relasi
yang ditemukan.
10. Periksa Hasil
18
Periksa lagi ERD. Apakah ERD sudah menggambarkan system yang akan
dibangun? Jika belum, check kembali dari awal.
b. Proses
Proses adalah sesuatu yang mengubah input menjadi output. Proses
dapat digambar dengan lingkaran. Tiap simbol proses diidentifikasikan
dengan label. Teknik pembuatan label yang paling umum adalah dengan
menggunakan kata kerja dan objek, tetapi anda dapat juga menggunakan
nama sistem atau program komputer.
c. Arus Data.
Arus data terdiri dari sekelompok elemen data yang berhubungan
secara logis yang bergerak dari satu titik atau proses ke titik atau proses
yang lain. Tanda panah digunakan untuk menggambarkan arus itu. Panah
tersebut dapat digambar sebagai garis lurus atau garis lengkung.
d. Penyimpanan data.
Jika anda perlu dipertahankan karena suatu sebab, maka digunakan
penyimpanan data. Dalam istilah DFD, penyimpanan data ( data store )
adalah suatu penampungan. Data store digambarkan dengan garis sejajar.
2. Terminator
b. Kegiatan manual.
Menunjukkan pekerjaan manual.
21
c. Proses.
Menunjukkan kegiatan proses dari operasi program komputer.
d. Arsip.
Menunjukkan simpanan dokumen atau arsip.
d. Arus Data
Menunjukkan arus dari proses.
e. Penghubung.
Menunjukkan penghubung kehalaman yang masih sama atau kehalaman
lain.
Web Server yang mendukung php dapat ditemukan dimana - mana dari
mulai IIS sampai dengan apache, dengan configurasi yang relatif
mudah.
Dalam sisi pengembangan lebih mudah, karena banyaknya milis - milis
dan developer yang siap membantu dalam pengembangan.
Dalam sisi pemahamanan, php adalah bahasa scripting yang paling
mudah karena referensi yang banyak.
PHP adalah bahasa open source yang dapat digunakan di berbagai
mesin (linux, unix, windows) dan dapat dijalankan secara runtime
melalui console serta juga dapat menjalankan perintah-perintah sistem.
Sumber : Endang. ”Pengertian PHP dan sejarah PHP”. 3 Februari
2013. http://endangengkusdafa.blogspot.com/2012/04/pengertian-php-
dan-sejarah-php.html
2.2.7.2 HTML
HTML singkatan dari Hyper Text Markup Language merupakan
salah satu format yang digunakan dalam pembuatan dokumen dan aplikasi
yang berjalan dihalaman web. HTML merupakan salah satu elemen penting
di dalam pemrograman PHP. Dokumen HTML disusun oleh elemen-
elemen. Elemen merupakan istilah bagi komponen-komponen dasar
pembentuk dokumen HTML. Beberapa contoh elemen adalah : head, body,
table, paragraph, dan list. Elemen dapat berupa teks murni, atau bukan teks,
atau keduanya. Taryana (2004:12-13).
2.2.7.3 CSS
CSS adalah singkatan dari Cascading Style sheets, berisi rangkaian
instruksi yang menentukan bagaimana suatu test akan terampil di halaman
web. Perangcangan desain test dapat dilakukan dengan mendefinisikan font
(huruf), colors (warna), margins (ukuran), latar belakang (background),
ukuran font (font sizes) dan lain-lain. Elemen-elemen seperti colors (warna),
font (huruf), size (ukuran) dan spacing (jarak) disebut juga “style”.
24
Cascading style sheets juga bias berarti meletakan style yang berbeda pada
layers (lapisan) yang berbeda. CSS terdri dari style sheet yang
memberitahukan browser bagaimana suatu dokuman akan disajikan. Fitur-
fitur baru pada halaman web lama dapat ditambahakan dengan bantuan style
sheet. Ssaat menggunakan CSS, anda anda tidak perlu menulis font, color
atau sixe pada setiap paragraph, atau pada setiap dokumen. Setelah anda
membuat style sheet, anda dapat menyimpan kode tersebut sekali saja dan
dapat kembali menggunakannya bila diperlukan.
2.2.7.5 Mysql
MySQL (My Structure Query Language) adalah sebuah program
pembuat database yang bersifat open source. MySQL sebenarnya produk
yang berjalan pada platform Linux. Karena sifatnya open source
,maka MySQL dapat dijalankan pada semua platform baik Windows
maupun Linux. Selain itu, MySQL juga merupakan program pengakses
database yang bersifat jaringan sehingga dapat digunakan untuk aplikasi
Multi User (Banyak Pengguna). Saat ini database MySQL telah digunakan
hampir oleh semua programer database, apalagi dalam pemograman web.
MySQL menggunakan bahasa Query standar yang dimiliki SQL (Structure
Query Language). SQL adalah suatu bahasa permintaan yang terstruktur
yang telah di standarkan untuk semua program pengakses database seperti
Oracle, Posgre SQL ,SQL Server, dan lain-lain.
2.2.7.6 Xampp
25
2.2.7.7 Internet
Secara Umum, Pengertian Internet adalah sebuah jaringan komputer
yang saling terhubung dengan menggunakan suatu sistem standar global
transmission control protocol/internet protocol suite (TCP/IP) yang
digunakan sebagai protokol pertukaran paket dalam melayani miliaran
pengguna yang terdapat di seluruh dunia.
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
26
27
hasil dari proses analisis sistem informasi persediaan barang yang sedang
berjalan adalah sebagai berikut :
A. Proses Rekap Absen
Hasil data absen akan masuk kebagian Administrasi, setelah itu
Administrasi akan menyerahkan Rekap absen kebagian keuangan.
Kemudian bagian keuangan akan membuatkan laporan gaji yang akan
diserahkan ke Direktur. informasi yang didapat lalu mengarsipkan data itu
kedalam arsip absen.
B. Proses Perhitungan Gaji
Bagian keuangan membuat data perhitungan gaji atas dasar data Karyawan
dan rekap absen dari data yang diarsipkan oleh Administrasi kemudian
diserahkan kepada bagian Keuangan, lalu bagian keuangan membuat data
gaji setelah itu diarsipkan menjadi arsip data gaji.
C. Proses Pembayaran Gaji
Proses penyerahan gaji dilakukan pada awal bulan dengan bagian
Administrasi mengambil data gaji yang sudah disetujui oleh bagian
Keuangan dari arsip data gaji lalu dibuat slip gaji. Slip gaji dibuat dua
rangkap masing-masing karyawan menerima gaji dan slip gaji lalu copy
slip gaji diarsipkan.
D. Proses Pembuatan Laporan
Pembuatan laporan gaji diambil dari arsip data gaji dan arsip slip gaji.
Kemudian laporan gaji diarsipkan oleh bagian Administrasi.
28
Nb :
A-1 = Rekap Absensi
A-2 = Arsip Data Gaji
A-3 = Slip Gaji
29
Guna mempermudah HRD untuk mengolah data karyawan dan data gaji
karyawan, maka dibangun sebuah sistem informasi manajemen penggajian
karyawan berbasis web. Sistem yang dibangun memberikan kemudahan kepada
HRD dengan fitur yang sudah disediakan pada sistem yang dibangun. Selain
mempermudah HRD, sistem ini juga dibangun untuk mempermudah karyawan
dalam mencetak slip gaji sendiri dan melihat rincian gaji mereka secara rinci dan
mengetahui potongan PPH21 yang diterapkan perusahaan. Tujuan dari
pembangunan sistem ini adalah membentuk suatu kepercayaan para karyawan
terhadap perusahaan, hal ini diharapkan akan menambah loyalitas karyawan
terhadap perusahaan.
30
Sistem Informasi Penggajian ini dapat digunakan oleh pegawai serta staff
HRD yang telah memiliki wewenang atau hak akses tertentu. Pengguna yang
mempunyai wewenang atau hak akses untuk menggunakan sistem ini adalah :
Pengalaman
Tingkat
Tanggung Tingkat menggunak
Stakeholder Keterampilan
Jawab Pendidikan an
yang dimiliki
komputer
HRD Mengelola SDM Minimal S1 HRD sudah Karena
dan mengelola mampu hampir setiap
penggajian melakukan hari
karyawan pengoperasian menggunaka
pada komputer n komputer,
dan juga sudah HRD sudah
mengetahui tidak asing
tentang lagi dengan
bagaimana cara microsoft
menggunakan office.
internet.
Karyawan Bekerja dengan Minimal Hampir seluruh Seluruh
tekun dan SMK karyawan sudah karyawan
mentaati aturan terbiasa sering
serta mengikuti menggunakan bekerja
prosedur PC ataupun dengan
perusahaan. Laptop, karena memanfaatka
mereka bekerja n internet
sehari – hari untuk
32
dengan kebutuhan
perangkat pekerjaan
tersebut. mereka.
DFD sering digunakan untuk menggambarkan suatu sistem yang telah ada
atau sistem baru yang akan dikembangkan secara logika tanpa
mempertimbangkan lingkaran fisik dimana data tersebut mengalir atau lingkungan
fisik dimana data tersebut akan disimpan. Berikut ini adalah gambar data flow
36
Berikut adalah DFD level 1 dari perangkat lunak yang akan dibangun.
37
Berikut adalah DFD level 2 – Pengelolaan Data Gaji dari perangkat lunak yang
akan dibangun.
40
Berikut adalah DFD level 2 – Pengelolaan Data Absen dari perangkat lunak yang
akan dibangun.
41
Gaji
Berikut adalah DFD level 3 – Pengelolaan Tambah Data Slip Gaji dari perangkat
lunak yang akan dibangun
43
No Proses Keterangan
1 No Proses 2.1
Nama Proses Tampilkan Pengumuman
Source (sumber) Admin
Input Data Pengumuman
Output Data Pengumuman
Destination Karyawan
Logika Proses 1. Admin mengelola Data Pengumuman
2. Data Pengumuman yang telah dikelola
diinputkan ke Sistem dan tersimpan di
Database Sistem
3. Pengumuman yang telah di proses pada
sistem, selanjutnnya bisa diakses oleh
Pegawai
No Proses Keterangan
2 No Proses 2.2
Nama Proses Tambah Pengumuman
Source (sumber) Admin
Input Data Pengumuman
Output Pengumuman
Destination Karyawan
Logika Proses 1. Admin menambahkan data pengumuman
2. Data pengumuman yang telah dibuat
diinputkan ke sistem
oleh Admin dan tersimpan di database
sistem
3. Pengumuman berhasil ditambahkan.
No Proses Keterangan
5 No Proses 3.1
Nama Proses Tambah Data Pegawai
45
No Proses Keterangan
10 No Proses 4.1
Nama Proses Tampil Data Gaji
Source (sumber) Admin
Input Data Gaji
Output Info Gaji
Destination Admin
47
13 No Proses 4.4
Nama Proses Cari Data Gaji
Source (sumber) Admin
Input Data Gaji
Output Info Gaji
Destination Admin
Logika Proses 1. Admin ingin mencari data gaji pegawai
berdasarkan nama Pegawai
2. Admin melakukan proses validasi pada
sistem data gaji yang di masukan
berdasarkan nama
3. Jika data yang dimasukkan valid maka
akan muncul, Data gaji pegawai
No Proses Keterangan
14 No Proses 5.1
Nama Proses Tambah Absen
Source (sumber) Admin
Input Data Absen
49
No Proses Keterangan
15 No Proses 5.2
Nama Proses Edit Absen
Source (sumber) Admin
Input Data Absen
Output Info Absen
Destination Admin, Pegawai
Logika Proses 1. Admin mengedit data absen pegawai
2. Proses validasi data yang di masukan oleh
admin
3. Jika data yang dimasukkan valid maka
akan muncul, informasi “absen telah di
ubah”
16 No Proses 5.3
Nama Proses Cari Absen
Source (sumber) Admin
Input Data Absen
Output Info Absen
Destination Admin, Pegawai
50
No Kamus Keterangan
.
1. Nama Pengguna
. Deskripsi Berisi data Pengguna/pengguna yang digunakan untuk
proses login, pengguna bisa seorang admin ataupun
Pegawai dengan hak akses yang berbeda dalam
pengelolaan sistemnya.
Struktur Data Id+Penggunaname+password+nama+email+level+foto
Id [0-9]
Pengguna [A-Z | a–z | 0-9]
Password [A-Z | a–z | 0-9]
Nama [A-Z | a–z | 0-9]
Email [A-Z | a–z | 0-9]
Level [0-9]
Nip [0-9]
2 Nama Pengumuman
Kd_pengumum [0-9]
an
Nama_pengum [A-Z | a–z | 0-9]
uman
foto [jpg | jpeg]
nip [0-9]
3 Nama T_pegawai
Tgl_masuk [0-9]
Tgl_berakhir [0-9]
No_ktp [0-9]
Npwp [0-9]
Kd_bank [0-9]
No_rek [0-9]
55
Kd_jabatan [0-9]
Jk [A-Z | a–z]
4 Nama K_t_bank
Kd_bank [0-9]
5 Nama T_jabatan
k_jabatan [0-9]
6 Nama T_absen
Tanggal [0-9]
Nip [0-9]
Kd_jabatan [0-9]
Jam_masuk [0-9]
Jam_keluar [0-9]
7 Nama Cuti
8 Nama Slip_gaji
57
Work_days [0-9]
Net_pay_days [0-9]
Pay_mode [0-9]
Gaji_pokok [0-9]
Jht [0-9]
Jpk [0-9]
Jkk [0-9]
Jkm [0-9]
Jp [0-9]
Overtime [0-9]
Bonus [0-9]
Id_gaji [0-9]
Add_pay_jpk [0-9]
Add_pay_jhy [0-9]
58
Add_pay_jp [0-9]
Total_ear [0-9]
Total_dedu [0-9]
Net_pay [0-9]
Take_home_pa [0-9]
y
9 Nama T_gaji_pegawai
Nip [0-9]
Gaji_pokok [0-9]
Lembur [0-9]
Peng_tahun [0-9]
Biaya_jab [0-9]
Bpjs_kes [0-9]
Bpjs_ket [0-9]
Telat_alpa [0-9]
59
Ptkp [0-9]
Total_pengu [0-9]
Peng_kena_paj [0-9]
ak
Pph_terhutang_ [0-9]
set
Pph_terhutang_ [0-9]
seb
Bulan [A-Z | a–z ]
Tahun [0-9]
BAB 4
PERANCANGAN SISTEM
60
Gambar 4. 1 Diagram Relasi Sistem Informasi Penggajian
61
62
net_pay_days Int 11
pay_mode Varchar 30
gaji_pokok Double
Jht Double
Jpk Double
Jkk Double
Jkm Double
Jp Double
overtime Double
Bonus Double
id_gaji Int Foreign Key
add_pay_jpk Double
add_pay_jht Double
add_pay_jp Varchar
total_ear Double
total_dedu Double
net_pay Double
take_home_pay Double
Layout:
Layout:
5.1 Kesimpulan
Setelah melakukan analisis, perancangan, dan pengujian, maka dapat
diperoleh kesimpulan sebagai berikut :
1. Aplikasi Penggajian yang dibangun berbasis online memberikan
kemudahan bagi pegawai dan HRD dalam hal penggajian.
2. Aplikasi Penggajian Online yang dibangun ini dapat diakases dimana
saja dan kapan saja .
3. Aplikasi Penggajian Online ini Memberikan informasi rincian
perhitungan gaji karyawan dan PPh21.
5.2 Saran
Sistem yang dibuat dalam lalporan kerja praktek ini masih terdapat
kekurangan. Untuk itu, penulis memberikan beberapa saran bagi yang akan
melakukan pengembangan pada sitem informasi penggajian online ini dalam
jangka waktu kedepan, ada beberapa saran yang dapat dilakukan, antara lain :
1. Membuat tampilan atau antarmuka lebih menarik lagi.
2. Mengembangkan system informasi agar dapat digunakan di berbagai
platform.
78
79
DAFTAR PUSTAKA
[6] P. Monica, (2016, juni 08) Oracle JavaFX Documentation. [Online]. Available:
https://docs.oracle.com/javafx/2/overview/jfxpub-overview.pdf
<?php
session_start();
if($_SESSION){
header("Location: admin/media.php");
}
?>
<!DOCTYPE html>
<html >
<head>
<meta charset="UTF-8">
<title>Login Kepegawaian</title>
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,700'
rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-
awesome/4.3.0/css/font-awesome.min.css">
<link rel="stylesheet" href="css/normalize.css">
<style>
body {
font-family: "Open Sans", sans-serif;
height: 100vh;
background: url("http://linkis.com/url-
image/https://scontent.cdninstagram.com/t51.2885-
15/e35/12729414_1640546179543594_1915694026_n.jpg?ig_cache_key=MTE4
OTg3MjI0NTI1MDIyNTI4Mg%3D%3D.2") 50% fixed;
background-size: cover;
}
@keyframes spinner {
0% {
transform: rotateZ(0deg);
}
100% {
transform: rotateZ(359deg);
}
}
*{
box-sizing: border-box;
color: #ccc;
}
.wrapper {
display: flex;
align-items: center;
flex-direction: column;
justify-content: center;
width: 100%;
min-height: 100%;
padding: 20px;
background: rgba(4, 40, 68, 0.85);
}
.login {
border-radius: 2px 2px 5px 5px;
padding: 10px 20px 20px 20px;
width: 90%;
max-width: 320px;
background: #ffffff;
position: relative;
padding-bottom: 80px;
box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.3);
}
.register {
border-radius: 2px 2px 5px 5px;
padding: 10px 20px 20px 20px;
width: 90%;
max-width: 320px;
background: #ffffff;
position: relative;
padding-bottom: 80px;
box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.3);
}
.login.loading button {
max-height: 100%;
padding-top: 50px;
}
.login.loading button .spinner {
opacity: 1;
top: 40%;
}
.login.ok button {
background-color: #8bc34a;
}
.login.ok button .spinner {
border-radius: 0;
border-top-color: transparent;
border-right-color: transparent;
height: 20px;
animation: none;
transform: rotateZ(-45deg);
}
.login input {
display: block;
padding: 15px 10px;
margin-bottom: 10px;
width: 100%;
border: 1px solid #ddd;
transition: border-width 0.2s ease;
border-radius: 2px;
color: #0B0A0A;
}
.login input + i.fa {
color: #fff;
font-size: 1em;
position: absolute;
margin-top: -47px;
opacity: 0;
left: 0;
transition: all 0.1s ease-in;
}
.login input:focus {
outline: none;
color: #444;
border-color: #2196F3;
border-left-width: 35px;
}
.login input:focus + i.fa {
opacity: 1;
left: 30px;
transition: all 0.25s ease-out;
}
/*select*/
.login select {
display: block;
padding: 15px 10px;
margin-bottom: 10px;
width: 100%;
border: 1px solid #ddd;
transition: border-width 0.2s ease;
border-radius: 2px;
color: #ccc;
}
.login select + i.fa {
color: #fff;
font-size: 1em;
position: absolute;
margin-top: -47px;
opacity: 0;
left: 0;
transition: all 0.1s ease-in;
}
.login select:focus {
outline: none;
color: #444;
border-color: #2196F3;
border-left-width: 35px;
}
.login select:focus + i.fa {
opacity: 1;
left: 30px;
transition: all 0.25s ease-out;
}
.login a {
font-size: 0.8em;
color: #2196F3;
text-decoration: none;
}
.login .title {
color: #444;
font-size: 1.2em;
font-weight: bold;
margin: 10px 0 30px 0;
border-bottom: 1px solid #eee;
padding-bottom: 20px;
}
.login button {
width: 100%;
height: 100%;
padding: 10px 10px;
background: #2196F3;
color: #fff;
display: block;
border: none;
margin-top: 20px;
position: absolute;
left: 0;
bottom: 0;
max-height: 60px;
border: 0px solid rgba(0, 0, 0, 0.1);
border-radius: 0 0 2px 2px;
transform: rotateZ(0deg);
transition: all 0.1s ease-out;
border-bottom-width: 7px;
}
</style>
<script src="js/prefixfree.min.js"></script>
</head>
<body>
<div class="wrapper">
<?php
if(isset($_POST['login'])){
include("config/koneksi.php");
$username = $_POST['username'];
$password = sha1($_POST['password']);
$level = $_POST['level'];
if(mysqli_num_rows($query) == 0){
echo '<div class="alert alert-danger"> Data Yang dimasukan
Salah.</div>';
}else{
$row = mysqli_fetch_assoc($query);
$nip = $row['nip'];
$foto = $row['foto'];
if($row['level'] == 1){
$_SESSION['username']=$username;
$_SESSION['level']='1';
$_SESSION['foto']= $foto;
header("Location: admin/media.php?page=home");
}else if($row['level'] == 2){
$_SESSION['username']=$username;
$_SESSION['level']='2';
$_SESSION['foto']= $foto;
$_SESSION['nip']=$nip;
header("Location: admin/media.php?page=home");
}else{
echo '<div class="alert alert-danger"> Data Yang dimasukan
Salah</div>';
}
}
}
?>
<!-- Form -->
<form class="login" role="form" action="" method="post">
<p class="title">Log in Aplikasi Kepegawaian</p>
<input type="text" name="username" placeholder="Username" required
autofocus /><i class="fa fa-user"></i>
<input type="password" name="password" placeholder="Password"
required autofocus /><i class="fa fa-key"></i>
<button name="login" id="alert">
<span class="state">Log in </span>
</button>
</form>
<div>
</div>
</div>
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
</body>
</html>
<?php
include "config/koneksi.php";
$username = $_POST['username'];
$pass = $_POST['password'];
if($_SESSION[leveluser]==1){
header('location:media.php?module=home');
} else if($_SESSION[leveluser]==2){
header('location:media.php?module=home');
} if($_SESSION[leveluser]==3){
header('location:media.php?module=absensi');
}
}
else{
include "error-login.php";
}
?>
<?php
include "../config/koneksi.php";
if (isset($_GET['id_gaji'])) {
$id_gaji = $_GET['id_gaji'];
} else {
die ("Error, Tidak ada kode terpilih");
}
// tampilkan data
$query = "SELECT *FROM `t_pegawai` JOIN `t_jabatan`
USING(`kd_jabatan`) JOIN
`t_gaji_pegawai`USING(`nip`) where id_gaji='$id_gaji';";
$sql = mysqli_query($koneksi,$query);
$hasil = mysqli_fetch_array($sql);
$id_gaji = $hasil['id_gaji'];
$nama = $hasil['nama'];
$nip = $hasil['nip'];
$jk = $hasil['jk'];
$status = $hasil['status'];
$gaji_pokok = $hasil['gaji_pokok'];
$lembur = $hasil['lembur'];
$peng_tahun = $hasil['peng_tahun'];
$biaya_jab = $hasil['biaya_jab'];
$bpjs_kes = $hasil['bpjs_kes'];
$bpjs_ket = $hasil ['bpjs_ket'];
$telat_alpa = $hasil['telat_alpa'];
$tempat_lahir = $hasil['tempat_lahir'];
$ptkp = $hasil['ptkp'];
$total_pengu = $hasil['total_pengu'];
$peng_kena_pajak= $hasil['peng_kena_pajak'];
$pph_terhutang_set = $hasil['pph_terhutang_set'];
$pph_terhutang_seb = $hasil['pph_terhutang_seb'];
$bulan = $hasil['bulan'];
$tahun = $hasil ['tahun'];
?>
<!-- header title -->
<div class="box-header">
<h3 class="box-title"><i class="fa fa-tasks"></i> Detail gaji</h3>
<h3 class="profile-username text-center"><?php echo $nama; ?></h3>
<h3 class="profile-username text-center"><?php echo $nip; ?></h3>
</div>
<div class="box-body">
<!-- Foto, Nama, Nip, N_Jabatan, N_Bagian dan status kerja -->
<section class="content">
<div class="row">
<div class="col-md-4">
<?php
include "../config/koneksi.php";
if (isset($_GET['nip'])) {
$nip = $_GET['nip'];
} else {
die ("Error, Tidak ada kode terpilih");
}
// tampilkan data
$query = "SELECT *FROM `slip_gaji`
JOIN`t_gaji_pegawai`USING(`id_gaji`)
JOIN `t_pegawai` USING(`nip`)
JOIN `t_jabatan` USING(`kd_jabatan`)
JOIN `k_t_bank` USING(`kd_bank`)
where nip='$nip';";
$sql = mysqli_query($koneksi,$query);
$hasil = mysqli_fetch_array($sql);
$id_slip = $hasil['id_slip'];
$work_days = $hasil['work_days'];
$net_pay_days = $hasil['net_pay_days'];
$pay_mode = $hasil['pay_mode'];
$nama = $hasil ['nama'];
$nama_jabatan = $hasil['nama_jabatan'];
$nip = $hasil ['nip'];
$tgl_masuk1 = explode("-",$hasil ['tgl_masuk']);
$tgl_masuk = $tgl_masuk1[2]."-".$tgl_masuk1[1]."-".$tgl_masuk1[0];
$nama_bank = $hasil ['nama_bank'];
$npwp = $hasil ['npwp'];
$no_rek = $hasil ['no_rek'];
$status = $hasil ['status'];
$gaji_pokok = $hasil['gaji_pokok'];
$jht = $hasil['jht'];
$jpk = $hasil['jpk'];
$jkk = $hasil['jkk'];
$jkm = $hasil['jkm'];
$jp = $hasil['jp'];
$pph_terhutang_seb = $hasil ['pph_terhutang_seb'];
$overtime = $hasil ['overtime'];
$bonus = $hasil['bonus'];
$id_gaji = $hasil['id_gaji'];
$add_pay_jpk = $hasil['add_pay_jpk'];
$add_pay_jht = $hasil['add_pay_jht'];
$add_pay_jp= $hasil['add_pay_jp'];
$total_ear = $hasil['total_ear'];
$total_dedu = $hasil['total_dedu'];
$net_pay = $hasil['net_pay'];
$take_home_pay = $hasil ['take_home_pay'];
$bulan = $hasil ['bulan'];
$tahun = $hasil ['tahun'];
?>
<!-- header title -->
<div class="card-body">
<div>
<style type="text/css">
th{
text-align:center;
}
</style>
<tr>
<td width="25%">
BASIC SALARY
</td>
<td width="25%" align="right">
Rp <?php echo number_format($gaji_pokok,"2",",","."); ?>
</td>
<td width="25%">
TAX PPH 21
</td>
<td width="25%" align="right">
Rp <?php echo
number_format($pph_terhutang_seb,"2",",","."); ?>
</td>
</tr>
<tr>
<td width="25%">
PENSION ALLOWANCE (JHT)*
</td>
<td width="25%" align="right">
Rp <?php echo number_format($jht,"2",",","."); ?>
</td>
<td width="25%">
ADDITIONAL PAYMENT FOR JPK
</td>
<td width="25%" align="right">
Rp <?php echo
number_format($add_pay_jpk,"2",",","."); ?>
</td>
</tr>
<tr>
<td width="25%">
MEDICAL ALLOWANCE (JPK)*
</td>
<td width="25%" align="right">
Rp <?php echo number_format($jpk,"2",",","."); ?>
</td>
<td width="25%">
ADDITIONAL PAYMENT FOR JHT
</td>
<td width="25%" align="right">
Rp <?php echo number_format($add_pay_jht,"2",",","."); ?>
</td>
</tr>
<tr>
<td width="25%">
WORK SAFETY ALLOWANCE (JKK)*
</td>
<td width="25%" align="right">
Rp <?php echo number_format($jkk,"2",",","."); ?>
</td>
<td width="25%">
ADDITIONAL PAYMENT FOR JP
</td>
<td width="25%" align="right">
Rp <?php echo number_format($add_pay_jp,"2",",","."); ?>
</td>
</tr>
<tr>
<td width="25%">
DEATH ALLOWANCE (JKM)*
</td>
<td width="25%" align="right">
Rp <?php echo number_format($jkm,"2",",","."); ?>
</td>
<td width="25%">
</td>
<td width="25%">
</td>
</tr>
<tr>
<td width="25%">
PENSION ALLOWANCE (JP)*
</td>
<td width="25%" align="right">
Rp <?php echo number_format($jp,"2",",","."); ?>
</td>
<td width="25%">
</td>
<td width="25%">
</td>
</tr>
<tr>
<td width="25%">
OVERTIME
</td>
<td width="25%" align="right">
Rp <?php echo number_format($overtime,"2",",","."); ?>
</td>
<td width="25%">
</td>
<td width="25%">
</td>
</tr>
<tr>
<td width="25%">
BONUS
</td>
<td width="25%" align="right">
Rp <?php echo number_format($bonus,"2",",","."); ?>
</td>
<td width="25%">
</td>
<td width="25%">
</td>
</tr>
<tr>
<td width="25%"
height="20px">
</td>
<td width="25%" align="right">
</td>
<td width="25%">
</td>
<td width="25%">
</td>
</tr>
<tr>
<td width="25%">
Total Earning
</td>
<td width="25%" align="right">
Rp <?php echo number_format($total_ear,"2",",","."); ?>
</td>
<td width="25%">
Total Deduction
</td>
<td width="25%" align="right">
Rp <?php echo number_format($total_dedu,"2",",","."); ?>
</td>
</tr>
</table>
<br>
<table border="1" width="50%">
<tr>
<td width="25%">
Net Pay
</td>
<td width="25%" align="right">
Rp <?php echo number_format($net_pay,"2",",","."); ?>
</td>
</tr>
<tr>
<td width="25%">
Take Home Pay
</td>
<td width="25%" align="right">
Rp <?php echo
number_format($take_home_pay,"2",",","."); ?>
</td>
</tr>
</table>
<form method="POST"
action="pengolahan_gaji/cetak_gaji.php">
<br>
<input type="hidden" value="<?php echo"$nip" ; ?>"
name="nip">
<input class="btn btn-success" type="submit" value="CETAK
SLIP GAJI"></input></form> </b>
Fff
<?php
session_start();
$nip=$_SESSION['nip'];
include"../config/koneksi.php";
?>
<div class="row">
<div class="col-md-12">
<!-- Custom Tabs -->
<div class="nav-tabs-custom">
<ul class="nav nav-tabs">
<li class="active"><a href="#tab_1" data-toggle="tab">DATA GAJI
YANG DIBERIKAN BULAN INI</a></li>
<li class="pull-right"><a href="#" class="text-muted"><i class="fa fa-
gear"></i></a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="tab_1">
<!-- tampil gaji pegawai bulan ini -->
<!-- Modal -->
<div class="modal fade modal-primary" id="daftar" tabindex="-1"
role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<!-- bayarkan gaji pegawai -->
<div class="modal-dialog">
<div class="modal-content">
</div>
</div>
</div>
<br>
<table id="example1" class="table table-bordered table-striped">
<thead>
<tr>
<th>Bulan/Tahun</th>
<th>NIP</th>
<th>Nama</th>
<th>Status</th>
<th>Gaji Poko</th>
<!-- <th>Lembur</th> -->
<th>Penghasilan Setahun</th>
<th>Total Pengurang</th>
<th>Penghasilan Kena Pajak</th>
<!-- <th>PPH Terhutang Setahun</th> -->
<!-- <th>PPh Terhutang Sebulan</th> -->
<th>Aksi</th>
</tr>
</thead>
<tbody>
<?php
$hasil=mysqli_query($koneksi,"SELECT *
FROM `t_pegawai` JOIN `t_jabatan`
USING(`kd_jabatan`) JOIN
`t_gaji_pegawai`USING(`nip`) where nip=$nip;");
if($hasil != null){
while($kolom=mysqli_fetch_array($hasil)){
?>
<tr>
<td><?php echo $kolom['bulan']." ".$kolom['tahun']?></td>
<td><?php echo $kolom['nip']?></td>
<td><?php echo $kolom['nama']?></td>
<td><?php echo $kolom['status']?></td>
<td><?php echo "Rp
".number_format($kolom['gaji_pokok'],2,',','.');?></td>
<td><?php echo "Rp
".number_format($kolom['peng_tahun'],2,',','.');?></td>
<td><?php echo "Rp
".number_format($kolom['total_pengu'],2,',','.');?></td>
<td><?php echo "Rp
".number_format($kolom['peng_kena_pajak'],2,',','.');?></td>
<td>
<a href="media.php?page=detail_pph21_pegawai&id_gaji=<?php
echo $kolom['id_gaji']; ?>"><button type="button" class="btn btn-
success"><span class="fa fa-external-link"aria-hidden="true"> Detail
</span></button></a>
</td>
</tr>
<?php
}
}
else {
echo "data kosong";
}
?>
</tbody>
</table>
</div>
<!-- /.tab-pane -->
</div>
<!-- /.tab-content -->
</div>
<!-- nav-tabs-custom -->
</div>
<!-- /.col -->
<script>
$(function () {
$("#example1").DataTable();
$('#example2').DataTable({
"paging": true,
"lengthChange": false,
"searching": false,
"ordering": true,
"info": true,
"autoWidth": false
});
});
</script>
<?php
session_start();
$GetNip = $_SESSION['nip'];
include"../config/koneksi.php";
?>
<div class="row">
<div class="col-md-12">
<!-- Custom Tabs -->
<div class="nav-tabs-custom">
<ul class="nav nav-tabs">
<li class="active"><a href="#tab_1" data-toggle="tab">DATA GAJI
YANG DIBERIKAN BULAN INI</a></li>
<li class="pull-right"><a href="#" class="text-muted"><i class="fa fa-
gear"></i></a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="tab_1">
<!-- tampil gaji pegawai bulan ini -->
<!-- Modal -->
<div class="modal fade modal-primary" id="daftar" tabindex="-1"
role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<form class="form-horizontal"
action="pengolahan_gaji/simpan_slip.php" method="post">
<div class="modal-body">
<div class="form-group">
<label for="contact-name" class="col-lg-3 control-
label">bulan : </label>
<div class="col-lg-9">
<select class="form-control" name="bulan">
<option>Pilih bulan</option>
<?php
$query1 = "SELECT distinct `bulan` FROM
`t_gaji_pegawai`;";
$sql1 = mysqli_query($koneksi,$query1);
while ( $baris = mysqli_fetch_array($sql1)) {
echo '<option
value="'.$baris['bulan'].'">'.$baris['bulan'].'</option>';
}
?>
</select>
</div>
</div>
<div class="form-group">
<label for="contact-name" class="col-lg-3 control-
label">Tahun : </label>
<div class="col-lg-9">
<select class="form-control" name="tahun">
<option>Pilih Tahun</option>
<?php
$query1 = "SELECT distinct `tahun` FROM
`t_gaji_pegawai`;";
$sql1 = mysqli_query($koneksi,$query1);
while ( $baris = mysqli_fetch_array($sql1)) {
echo '<option
value="'.$baris['tahun'].'">'.$baris['tahun'].'</option>';
}
?>
</select>
</div>
</div>
<div class="form-group">
<label for="contact-name" class="col-lg-3 control-label">NIP
: </label>
<div class="col-lg-9">
<select class="form-control" name="nip">
<option>Pilih NIP</option>
<?php
$query1 = "SELECT `nip` FROM `t_pegawai`;";
$sql1 = mysqli_query($koneksi,$query1);
while ( $baris = mysqli_fetch_array($sql1)) {
echo '<option
value="'.$baris['nip'].'">'.$baris['nip'].'</option>';
}
?>
</select>
</div>
</div>
<div class="form-group">
<label for = "contact-msg" class="col-lg-3 control-
label">Working Days : </label>
<div class="col-lg-9">
<input name="work_days" class="form-control"
placeholder="Gaji Pokok" type="text" required="">
</div>
</div >
<div class="form-group">
<label for = "contact-msg" class="col-lg-3 control-label">Net
Payable Days : </label>
<div class="col-lg-9">
<input name="net_pay_days" class="form-control"
placeholder="Lembur" type="text" required="">
</div>
</div >
<div class="form-group">
<label for = "contact-msg" class="col-lg-3 control-label">Pay
Mode : </label>
<div class="col-lg-9">
<input name="pay_mode" class="form-control"
placeholder="Biaya Jabatan" type="text" required="">
</div>
</div >
<div class="form-group">
<label for = "contact-msg" class="col-lg-3 control-
label">BASIC SALARY : </label>
<div class="col-lg-9">
<input name="gaji_pokok" class="form-control"
placeholder="BASIC SALARY" type="text" required="">
</div>
</div >
<div class="form-group">
<label for = "contact-msg" class="col-lg-3 control-
label">Bonus : </label>
<div class="col-lg-9">
<input name="bonus" class="form-control"
placeholder="Bonus" type="text" required="">
</div>
</div >
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-
dismiss="modal">Keluar</button>
<button type="submit" class="btn btn-success" ><span
class="icon fa fa-user-plus"></span> Tambah</button>
</div>
</form>
</div>
</div>
</div>
<br>
<table id="example1" class="table table-bordered table-striped">
<thead>
<tr>
<th>Bulan/Tahun</th>
<th>Employee No</th>
<th>Employee Name</th>
<th>Joining Date</th>
<th>NPWP</th>
<!-- <th>Net Payable Days</th> -->
<!-- <th>Lembur</th> -->
<th>Designation</th>
<th>Pay Mode</th>
<!-- <th>PPH Terhutang Setahun</th> -->
<!-- <th>PPh Terhutang Sebulan</th> -->
<th>Aksi</th>
</tr>
</thead>
<tbody>
<?php
$hasil=mysqli_query($koneksi,"SELECT * FROM `slip_gaji` JOIN
`t_gaji_pegawai` USING(`id_gaji`) JOIN
`t_pegawai`USING(`nip`) JOIN t_jabatan USING
(kd_jabatan)
where nip = '$GetNip';");
if($hasil != null){
while($kolom=mysqli_fetch_array($hasil)){
?>
<tr>
<td><?php echo $kolom['bulan']." ".$kolom['tahun']?></td>
<td><?php echo $kolom['nip']?></td>
<td><?php echo $kolom['nama']?></td>
<td><?php echo $kolom['tgl_masuk']?></td>
<td><?php echo $kolom['npwp']?></td>
<td><?php echo $kolom['nama_jabatan']?></td>
<td><?php echo $kolom['pay_mode']?></td>
<td>
<a href="media.php?page=detail_slip&nip=<?php echo
$kolom['nip']; ?>"><button type="button" class="btn btn-success"><span
class="fa fa-external-link"aria-hidden="true"> Detail </span></button></a>
</td>
</tr>
<?php
}
}
else {
echo "data kosong";
}
?>
</tbody>
</table>
<!-- akhir tampil gaji pegawai bulan ini -->
</div>
</div>
<!-- /.tab-pane -->
<!-- /.col -->
<script>
$(function () {
$("#example1").DataTable();
$('#example2').DataTable({
"paging": true,
"lengthChange": false,
"searching": false,
"ordering": true,
"info": true,
"autoWidth": false
});
});
</script>
<?php
include"../config/koneksi.php";
?>
<div class="row">
<div class="col-md-12">
<!-- Custom Tabs -->
<div class="nav-tabs-custom">
<ul class="nav nav-tabs">
<li class="active"><a href="#tab_1" data-toggle="tab">DATA
ABSENSI</a></li>
<li class="pull-right"><a href="#" class="text-muted"><i class="fa fa-
gear"></i></a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="tab_1">
<!-- tampil gaji pegawai bulan ini -->
<!-- Modal -->
<div class="modal fade modal-primary" id="daftar" tabindex="-1"
role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<form class="form-horizontal"
action="pengolahan_absen/simpan_absen.php" method="post">
<div class="modal-body">
<div class="form-group">
<label for="contact-name" class="col-lg-3 control-
label">Masukan Tanggal : </label>
<div class="col-lg-9">
<input type=date name="tanggal" class="form-
control"></input>
</div>
</div>
<div class="form-group">
<label for="contact-name" class="col-lg-3 control-label">NIP
: </label>
<div class="col-lg-9">
<select class="form-control" name="nip">
<option>Pilih NIP</option>
<?php
$query1 = "SELECT `nip` FROM `t_pegawai`;";
$sql1 = mysqli_query($koneksi,$query1);
while ( $baris = mysqli_fetch_array($sql1)) {
echo '<option
value="'.$baris['nip'].'">'.$baris['nip'].'</option>';
}
?>
</select>
</div>
</div>
<div class="form-group">
<label for="contact-name" class="col-lg-3 control-
label">Jabatan : </label>
<div class="col-lg-9">
<select class="form-control" name="kd_jabatan">
<option>Pilih Jabatan</option>
<?php
$query1 = "SELECT * FROM `t_jabatan`;";
$sql1 = mysqli_query($koneksi,$query1);
while ( $baris = mysqli_fetch_array($sql1)) {
echo '<option
value="'.$baris['kd_jabatan'].'">'.$baris['nama_jabatan'].'</option>';
}
?>
</select>
</div>
</div>
<div class="form-group">
<label for = "contact-msg" class="col-lg-3 control-label">Jam
Masuk : </label>
<div class="col-lg-9">
<input type=time name="jam_masuk" class="form-
control"></input>
</div>
</div >
<div class="form-group">
<label for = "contact-msg" class="col-lg-3 control-label">Jam
Keluar : </label>
<div class="col-lg-9">
<input type=time name="jam_keluar" class="form-
control"></input>
</div>
</div >
<div class="form-group">
<label for = "contact-msg" class="col-lg-3 control-
label">Keterangan : </label>
<div class="col-lg-9">
<input name="keterangan" class="form-control"
placeholder="Keterangan" type="text" required="">
</div>
</div >
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-
dismiss="modal">Keluar</button>
<button type="submit" class="btn btn-success" ><span
class="icon fa fa-user-plus"></span> Tambah</button>
</div>
</form>
</div>
</div>
</div>
<br>
<table id="example1" class="table table-bordered table-striped">
<thead>
<tr>
<th>KODE ABSEN</th>
<th>TANGGAL</th>
<th>NIP</th>
<th>Nama</th>
<th>JABATAN</th>
<th>JAM MASUK</th>
<th>JAM KELUAR</th>
<th>KETERANGAN</th>
</tr>
</thead>
<tbody>
<?php
$hasil=mysqli_query($koneksi,"SELECT *
FROM `t_absen` JOIN `t_jabatan`
USING(`kd_jabatan`) JOIN
`t_pegawai`USING(`nip`);");
if($hasil != null){
while($kolom=mysqli_fetch_array($hasil)){
?>
<tr>
<td><?php echo $kolom['kd_absen']?></td>
<td>
<?php $tgl = explode("-",$kolom['tanggal']);
$tanggal = $tgl[2]."-".$tgl[1]."-".$tgl[0];
echo $tanggal;
?>
</td>
<td><?php echo $kolom['nip']?></td>
<td><?php echo $kolom['nama']?></td>
<td><?php echo $kolom['nama_jabatan']?></td>
<td><?php echo $kolom['jam_masuk']?></td>
<td><?php echo $kolom['jam_keluar']?></td>
<td><?php echo $kolom['keterangan']?></td>
</tr>
<?php
}
}
else {
echo "data kosong";
}
?>
</tbody>
</table>
</div>
<!-- /.tab-pane -->
</div>
<!-- /.tab-content -->
</div>
<!-- nav-tabs-custom -->
</div>
<!-- /.col -->
<script>
$(function () {
$("#example1").DataTable();
$('#example2').DataTable({
"paging": true,
"lengthChange": false,
"searching": false,
"ordering": true,
"info": true,
"autoWidth": false
});
});
</script>
<?php
include "../config/koneksi.php";
session_start();
if (isset($_SESSION['nip'])) {
$nip = $_SESSION['nip'];
} else {
die ("Error, Tidak ada kode terpilih");
}
// tampilkan data
$query = "SELECT * FROM t_pegawai JOIN t_jabatan USING (kd_jabatan)
JOIN k_t_bank USING (kd_bank) where nip = '$nip';";
$sql = mysqli_query($koneksi,$query);
$hasil = mysqli_fetch_array($sql);
$nip = $hasil['nip'];
$nama_jabatan = $hasil['nama_jabatan'];
$nama_bank = $hasil['nama_bank'];
$no_rek = $hasil['no_rek'];
$s_kerja = $hasil['s_kerja'];
$tgl_masuk1 = explode("-", $hasil['tgl_masuk']);
$tgl_masuk = $tgl_masuk1[2]."-".$tgl_masuk1[1]."-".$tgl_masuk1[0];
$tgl_berakhir1 = explode("-", $hasil['tgl_berakhir']);
$tgl_berakhir = $tgl_berakhir1[2]."-".$tgl_berakhir1[1]."-".$tgl_berakhir1[0];
$no_ktp = $hasil['no_ktp'];
$npwp = $hasil ['npwp'];
$nama = $hasil['nama'];
$tempat_lahir = $hasil['tempat_lahir'];
$tgl_lahir = explode("-", $hasil['tgl_lahir']);
$tgl = $tgl_lahir[2]."-".$tgl_lahir[1]."-".$tgl_lahir[0];
$alamat = $hasil['alamat'];
$n_hp= $hasil['n_hp'];
$jk = $hasil['jk'];
$foto = $hasil['foto'];
?>
<!-- header title -->
<div class="box-header">
<h3 class="box-title"><i class="fa fa-tasks"></i> Detail Pegawai</h3>
</div>
<div class="box-body">
<!-- Foto, Nama, Nip, N_Jabatan, N_Bagian dan status kerja -->
<section class="content">
<div class="row">
<div class="col-md-5">
</ul>
</div>
<!-- /.box-body -->
</div>
<!-- col-md-5 -->
</div>
<?php
if($_SESSION['level']=="admin"){
?>
<a href="media.php?page=edit_pegawai&id=<?php echo $hasil['nip'];
?>" class="btn btn-primary btn-block"><b>Edit Data Pegawai</b></a>
<?php
}
?>
</div>
<!-- /.box-body -->
</div>
<!-- col-md-5 -->
</div>
Tampilan Login
Tampilan Menu Home