Upload
ngothien
View
249
Download
2
Embed Size (px)
Citation preview
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
SISTEM INFORMASI ABSENSI PEGAWAI PADA
CV. FLASHINDOMEDIA MEDAN BERBASIS WEB
TUGAS AKHIR
OLEH:
MIRA BELLINA 062406063
PROGRAM STUDI D3 ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
2009
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
40
SISTEM INFORMASI ABSENSI PEGAWAI PADA
CV. FLASHINDOMEDIA MEDAN BERBASIS WEB
TUGAS AKHIR
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Ahli Madya
OLEH:
MIRA BELLINA
062406063
PROGRAM STUDI D3 ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA 2009
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
41
PERSETUJUAN
Judul : SISTEM INFORMASI ABSENSI PEGAWAI
PEGAWAI CV. FLASHINDOMEDIA MEDAN
BERBASIS WEB
Kategori : TUGAS AKHIR
Nama : MIRA BELLINA
NIM : 062406063
Program Studi : D-3 ILMU KOMPUTER
Departemen : MATEMATIKA
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN
ALAM UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, Juni 2009
Komisi Pembimbing :
Diketahui/Disetujui oleh
Departemen Matematika FMIPA USU Pembimbing
Dr. Saib Suwilo, M.Sc Drs.Sawaluddin, M.IT
NIP. 131796149 NIP. 132206398
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
42
PERNYATAAN
SISTEM INFORMASI ABSENSI PEGAWAI CV. FLASHINDOMEDIA MEDAN
BERBASIS WEB
Saya mengakui bahwa tugas akhir ini adalah hasil kerja saya sendiri, kecuali
beberapa kutipan dan ringkasan yang masing – masing disebutkan sumbernya.
Medan, Juni 2009
MIRA BELLINA
062406063
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
43
PENGHARGAAN
Puji Syukur Penulis ucapkan ke hadirat Allah SWT , yang masih memberikan
kesempatan dan kesehatan sehingga akhirnya Tugas Akhir dapat diselesaikan dalam
waktu yang telah ditetapkan.
Penulisan Tugas Akhir ini merupakan salah satu syarat bagi setiap mahasiswa
guna menyelesaikan Program Studi D3 Ilmu Komputer Fakultas Matematika Dan
Ilmu Pengetahuan Alam Universitas Sumatera Utara.
Dalam menyelesaikan Tugas Akhir ini, Penulis banyak mendapatkan
bimbingan dan bantuan dari berbagai pihak baik berupa material, spiritual. Pada
kesempatan ini Penulis mengucapkan terima kasih yang sebesar-besarnya kepada :
1. Bapak Prof. Dr. Eddy Marlianto, M.Sc selaku Dekan Fakultas Matematika
Dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.
2. Bapak Dr. Saib Suwilo, M.Sc selalku ketua jurusan Matematika Fakultas
Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.
3. Bapak Drs.Sawaluddin, M.IT selaku dosen pembimbing dalam penyusunan
Tugas Akhir yang telah banyak memberikan bimbingan dan masukan-
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
44
masukan yang sangat berarti kepada penulis, sehingga akhirnya bias
menyelesaikan Tugas Akhir ini dengan sebaik-baiknya.
4. Bapak Syahriol Sitorus, S.Si, M.IT selaku dosen wali yang telah banyak
membantu penulis dalam menjalani perkuliahan di kampus.
5. Para Dosen dan Pegawai Fakultas Matematika dan Ilmu Pengetahuan Alam.
6. Teristimewa kepada Orang Tua Penulis yang tercinta Ayahanda (Herman),
Ibunda (Siti Aisyah) dan juga kakak dan adik tersayang Bunga Anggina,
Melisa, Yuki Dermawan yang telah banyak memberikan dukungan, motivasi
yang tak terhingga dan tak ternilai harganya yang dirasakan oleh penulis.
7. Seluruh teman-teman D3 Ilmu Komputer stambuk 06, dan juga para senior.
Penulis menyadari sepenuhnya bahwa penulisan Tugas Akhir ini masih jauh
dari kesempurnaan yang dikarenakan pengetahuan dan pengalaman yang dimiliki
oleh penulis masih sangat terbatas yang masih perlu diperbaiki, baik dari segi
penyajian, bentuk maupun isinya.
Akhirul kalam kepada Allah Subahana Wata’ala penulis berserah diri, karena
hanya pada-Nyalah segala kebenaran dan kesempurnaan itu berada. Akhir kata penuli
berharap semoga Tugas Akhir ini dapat berguna bagi semua pihak yang membacanya
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
45
ABSTRAK
Tugas akhir ini merancang suatu aplikasi Sistem Informasi Absensi Pegawai CV.
Flashindomedia Medan Berbasis Web yang bermanfaat untuk menyediakan informasi
yang baik dengan cepat dan mudah, juga melalui kajian ini diharapkan dapat memberi
kemudahan kepada karyawan CV. Flashindomedia Medan dalam melakukan
pengisian absensi. Perancangan sistem dalam merancang Sistem Informasi Absensi
Pegawai CV. Flashindomedia Medan Berbasis Web ini dikembangkan dengan
menggunakan perangkat lunak Macromedia Dreamweaver 8, Adobephotoshop, dan
XAMPP. Dengan menggunakan XAMPP paket-paket aplikasi yang kita perlukan
dalam merancang sebuah situs yang baik seperti Apache Web Server, PHP dan
MySQL telah tersedia. Sistem Informasi Absensi Pegawai CV. Flashindomedia
Medan ini meliputi pemakaian situs oleh karyawan Flashindomedia seperti daftar
absensi harian. Hal tersebut digunakan untuk menampung data-data yang diperlukan
dalam mempelancar sistem informasi.
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
46
DAFTAR ISI
PERSETUJUAN ii
PERNYATAAN iii
PENGHARGAAN iv
ABSTRAK vi
DAFTAR ISI vii
DAFTAR TABEL x
DAFTAR GAMBAR xi
BAB 1 PENDAHULUAN 1
1.1 Latar Belakang 1
1.2 Perumusan Masalah 3
1.3 Tujuan Penelitian 4
1.4 Pembatasan Masalah 4
1.5 Metodologi Penelitian 5
1.6 Sistematika Penulisan 6
BAB 2 LANDASAN TEORI 8
2.1 Sejarah Singkat Internet 8
2.2 World Wide Web(WWW) 9
2.2.1 Lahirnya Web 11
2.2.2 Browser Web 12
2.2.2.1 Cara Kerja Browser Mengambil Halaman/Page 13
2.2.2.2 Cara Kerja Menampilkan Halaman/Page 13
2.2.3 Server Web 13
2.2.4 Istilah-Istilah Umum Yang Harus Diketahui 14
2.3 HTML (Hypertext Markup Language) 15
2.3.1 Dokumen HTML 15
A. Penamaan Dokumen HTML 15
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
47
B. Elemen dan Tag HTML 16
2.4 DHTML (Dynamic Hypertext Markup Language) 20
2.4.1 CSS (Cascading Style Sheet) 21
2.4.2 Java Script 23
2.5 Pengenalan PHP (Hypertext Prepocessor) 24
2.5.1 Sejarah PHP 24
2.5.1.1 PHP/FI (Personal Home Page/Form Interpreter) 24
2.5.1.2 PHP 3 25
2.5.1.3 PHP 4 26
2.5.1.4 PHP 5 27
2.5.2 Skrip PHP 27
2.5.3 Integrasi dengan Database 30
2.6 Pengenalan Konsep Pemograman Berorientasi Objek dengan PHP 33
2.6.1 Mengelola Kompleksitas Aplikasi 33
2.6.2 Mengantisipasi Adanya Perubahan 34
2.7 MySQL 34
2.8 Macromedia Dreamweaver 35
BAB 3 SEKILAS CV. FLASHINDOMEDIA MEDAN 36
3.1 Sejarah Singkat CV. Flashindomedia Medan 36
3.2 Visi, Misi dan Tujuan CV. Flashindomedia Medan 37
3.2.1 Visi CV. Flashindomedia Medan 38
3.2.2 Misi CV. Flashindomedia Medan 38
3.2.3 Tujuan CV. Flashindomedia Medan 38
BAB 4 RANCANGAN SISTEM PROGRAM 39
4.1 Data Flow Diagram 39
4.2 Flowchart Program 42
4.3 Normalisasi 48
4.4 Rancangan database 49
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
48
BAB 5 IMPLEMENTASI SISTEM 52
5.1 Pengertian Implementasi Sistem 52
5.2 Tujuan Implementasi Sistem 52
5.3 Komponen-Komponen Kebutuhan Sistem 53
5.3.1 Hardware 53
5.3.2 Software 53
5.3.3 Brainware 56
5.4 Demontrasi Program 57
5.4.1 Halaman Utama Login Absensi Karyawan 57
5.4.2 Halaman Menu Login Absensi 58
5.4.3 Halaman Login Admin 59
5.4.4 Halaman Menu Admin 59
5.4.5 Halaman Menu Master Data 60
5.4.6 Halaman Menu Data Absensi 61
5.4.7 Halaman Menu Laporan 62
BAB 6 KESIMPULAN DAN SARAN 64
6.1 Kesimpulan 64
6.2 Saran 65
DAFTAR PUSTAKA
LAMPIRAN
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
49
DAFTAR TABEL
Halaman
Tabel 2.1 Daftar Database-Database yang didukung oleh PHP 30
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
50
DAFTAR GAMBAR
Halaman
Gambar 2.1 Dokumen HTML ditampilkan di Browser Mozila 20
Gambar 2.2 Dokumen PHP ditampilkan di Browser Mozila 29
Gambar 4.1 Diagram Konteks 39
Gambar 4.2 DFD Diagram Level Nol 40
Gambar 4.3 Diagram Sistem Absensi Pegawai yang sedang berjalan 41
Gambar 4.4 Flowchart Menu Utama 42
Gambar 4.5 Flowchart Menu Utama 43
Gambar 4.6 Keterangan Bagan Flowchart Admin 44
Gambar 4.7 Keterangan Bagan Flowchart Admin 45
Gambar 4.8 Keterangan Bagan Flowchart Admin 46
Gambar 4.9 Keterangan Bagan Flowchart Admin 47
Gambar 4.10 Keterangan Bagan Flowchart Admin 47
Gambar 5.1 Halaman Tampilan Windows XP 54
Gambar 5.2 Halaman Tampilan Macromedia Dreamweaver 8 55
Gambar 5.3 Tampilan Antar Muka Web Server 56
Gambar 5.4 Halaman Utama Login Absensi 57
Gambar 5.5 Halaman Menu Login Absensi 58
Gambar 5.6 Halaman Login Admin 59
Gambar 5.7 Halaman Menu Admin 60
Gambar 5.8 Halaman Menu Master Data 61
Gambar 5.9 Halaman Menu Data Absensi 62
Gambar 5.10 Halaman Menu Laporan 63
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
51
BAB I
PENDAHULUAN
1.1. Latar Belakang
Teknologi informasi pada saat ini telah berkembang sangat pesat sehingga
mempunyai dampak dalam meningkatkan efektifitas dan keefisienan dalam
melakukan setiap pekerjaan. Mungkin suatu kenaifan kalau berbicara tentang
teknologi informasi dan komunikasi, tanpa membicarakan suatu benda yang bernama
komputer. Komputer merupakan suatu media elektronik yang memegang peranan
yang sangat penting dalam perkembangan yang terjadi saat ini.
Komputer bukan lagi barang mewah atau sesuatu yang langka untuk dimiliki
oleh seseorang seperti awal kedatangannya, tetapi sudah menjadi suatu keperluan
bahkan kebutuhan yang sangat bersifat umum dan fital, terutama bagi perusahaan dan
badan instansi baik milik pemerintah maupun swasta. Penggunaan komputer telah
berkembang menjadi sebuah sarana komunikasi dan edukasi yang paling cepat saat
ini. Sehingga pengunaannya menjadi penting di setiap sendi-sendi kehidupan
masyarakat, termasuk dalam proses perolehan informasi pada suatu perusahaan.
Sejak munculnya teknologi Internet, proses pengiriman, penyampaian, serta
penerimaan informasi itu sendiri menjadi lebih cepat dan efektif. Seiring
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
52
berkembangnya teknologi internet, maka aplikasi web atau yang sering juga disebut
dengan perangkat lunak berbasis web ini baik dari segi penggunaan, ukuran, dan
bahasa pemrograman yang digunakan serta kompleksitasnya juga ikut berkembang.
Aplikasi ini telah banyak yang bersifat dinamis dan task oriented.
PHP (Hypertext Preprocessor) merupakan bahasa pemrograman yang bersifat
server side script, yaitu bahasa yang berbentuk script yang terletak dan dieksekusi di
server untuk kemudian hasilnya (berupa kode HTML) dikembalikan ke browser
pengguna/user/client. PHP dirancang untuk membentuk suatu web yang bersifat
dinamis, yang artinya halaman yang ditampilkan dibuat saat halaman itu diminta oleh
pengguna/user/client. PHP juga dapat berinteraksi dengan hampir semua teknologi
web yang telah ada dan sifatnya open source (bebas pakai) sehingga memberikan
kesempatan buat semua user dan programmer untuk menggunakan dan
mengembangkannya.
Selain itu demi mendukung berkembangnya aplikasi web yang semakin besar,
rumit, dan kompleks, maka dikembangkanlah kemampuan object oriented
programming dari PHP. Keuntungan yang dapat diperoleh dari kemampuan object
oriented programming dari PHP, yaitu kemudahan untuk mengolah kompleksitas
yang dibuat serta kemudahan untuk melakukan perubahan dan pengembangan dari
aplikasi tersebut.
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
53
Sebagai salah satu perusahaan swasta yang bergerak dalam bidang IT
Solution, Marketing, Entertainment and Publishing, data absensi merupakan data
yang sangat vital bagi sebuah perusahaan. Untuk itu penulis mencoba membuat
perancangan suatu sistem untuk melakukan proses kerja khusunya dalam absensi
keseharian pegawai pada CV. Flashindomedia Medan.
Dengan pertimbangan diatas dan pribadi penulis yang ingin menerapkan
pengetahuan yang telah diperoleh selama ini maka penulis memutuskan untuk
membuat suatu aplikasi web yang berjudul : “SISTEM INFORMASI ABSENSI
PEGAWAI PADA CV. FLASHINDOMEDIA MEDAN”.
1.2. Perumusan Masalah
Pada umumnya setiap perusahaan memerlukan sarana dalam memberikan dan
menyajikan informasi dengan lebih cepat dan mudah bagi masyarakat umum maupun
kalangan didalam instansi itu sendiri, semua itu juga berlaku di CV. Flashindomedia
Medan. Sehubungan dengan hal tersebut maka dapat dirumuskan masalah yang
dihadapi penulis di dalam pembuatan aplikasi ini, yaitu:
a. Bagaimana mendesain, membuat dan menghasilkan suatu sistem informasi
yang berbasis web untuk dapat menyimpan, menampilkan dan mengedit data
absensi pegawai yang akan disampaikan dan dapat diperlukan oleh segenap
kariawan.
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
54
b. Bagaimana informasi pada website dapat di update dengan mudah pada waktu
yang diinginkan sesuai dengan tujuan aplikasi ini, yaitu website yang dinamis.
1.3. Tujuan Penelitian
Tujuan penelitian adalah mengimplementasikan sistem informasi absensi pegawai ini
untuk membagi fungsi-fungsi pada website seperti template, theme, dan script
berdasarkan pembagian tanggung jawab dan juga menunjukkan penggunaan PHP
dalam membangun suatu aplikasi website yang membantu menyediakan informasi
yang aktual bagi user/pengguna yang membutuhkan.
1.4. Pembatasan Masalah
Agar pembahasan masalah tidak menyimpang dari tujuan penelitian, maka berikut
adalah beberapa batasan yang perlu dibuat, yaitu:
a. Website ini akan menampilkan halaman-halaman web yang statis maupun
dinamis mengenai sistem informasi absensi pegawai CV. Flashindomedia
Medan, seperti: data perusahaan, data pegawai, data absensi pegawai.
b. Aplikasi ini dibangun dibawah sistem operasi Windows XP Professional
Services Pack 2.
c. Website yang dibangun mendukung bahasa pemograman web yang lainnya
seperti: HTML (Hypertext Markup Language), CSS (Cascading Style Sheets),
dan Javascript.
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
55
d. Aplikasi ini dibangun menggunakan Macromedia Dreamweaver 8.
e. Aplikasi dibangun menggunakan aplikasi web server XAMPP yang terdiri
dari Apache, PHP, dan MySQL.
1.5. Metodologi Penelitian
Metodologi penelitian yang digunakan penulis, meliput i antara lain:
1. Penelitian lapangan ( Field Research )
Penelitian dilakukan langsung ke sistem absensi pegawai CV. Flashindomedia
Medan untuk mendapatkan data dan sistem absensi yang sedang berjalan
sekarang dimana penulis melakukan pengumpulan data dengan dua cara yaitu:
a. Wawancara
Wawancara yang dilakukan penulis adalah meyakinkan data yang
diperoleh akurat. Dalam pengumpulan data tersebut penulis
mewawancarai bagian umum dan yang terkait didalamnya. Untuk
mengetahui apa dan bagaimana dari kegiatan pengolahan data tersebut
serta kemampuan memberi informasi yang tepat dan jelas.
b. Observasi
Observasi yang dilakukan penulis adalah untuk mengamati dan
mengetahui secara langsung jalannya sistem yang sedang berjalan saat
itu dan proses kerja dari tugas masing-masing serta melihat format-
format laporan dalam perusahaan tersebut yang digunakan saat itu.
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
56
2. Penelitian Kepustakaan
Penulis melakukan penelitian keperpustakaan dengan tujuan agar memperoleh
data teoritis yang bersumber dari buku-buku ilmiah dan tulisan yang berkaitan
dengan komputer dan masalah-masalah yang berkaitan dengan tugas akhir ini.
1.6. Sistematika Penulisan
Adapun sistematika penulisan laporan tugas akhir ini adalah sebagai berikut:
BAB 1 : Pendahuluan
Dalam bab ini penulis menguraikan Latar Belakang, Perumusan Masalah, Tujuan
Penelitian, Pembatasan Masalah, Metodologi Penelitian dan Sistematika Penelitian.
BAB 2 : Landasan Teori
Dalam bab ini penulis menguraikan beberapa hal yang berhubungan dengan aplikasi
website dinamis yang ingin dibangun penulis yaitu sejarah singkat internet, World
wide Internet, HTML ( HyperText Markup Language ), DHTML ( Dynamic
HyperText Markup Language ), pengenalan PHP, pengenalan konsep Object Oriented
Programming, MySQL dan Macromedia Dreamweaver.
BAB 3 : Sekilas CV. Flashindomedia Medan
Dalam bab ini penulis menyajikan gambaran tentang CV. Flashindomedia Medan
yang terdiri dari profil, struktur organisasi, visi misi, sasaran usaha, serta kegiatan
CV. Flashindomedia Medan.
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
57
BAB 4 : Perancangan Sistem
Dalam bab ini penulis menguraikan tentang perancangan sistem yang dirancang yang
meliputi perancangan layout, perancangan database, gambaran aplikasi website yang
akan dibuat serta bagaimana algoritma aplikasi tersebut saat dijalankan.
BAB 5 : Implementasi Sistem
Dalam bab ini penulis menyajikan tentang pengertian implementasi aplikasi, tujuan
implementasi aplikasi serta spesifikasi aplikasi.
BAB 6 : Kesimpulan dan Saran
Dalam bab ini penulis menguraikan tentang kesimpulan dan saran.
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
58
BAB 2
LANDASAN TEORI
2.1. Sejarah Singkat Internet
Internet berawal dari diciptakannya teknologi jaringan komputer. Jaringan komputer
merupakan beberapa komputer yang terhubung satu sama lain dengan memakai kabel
dalam satu lokasi, misalnya satu kantor atau gedung. Jaringan komputer ini berfungsi
agar pengguna komputer bisa bertukar informasi dan data dengan pengguna komputer
lainnya.
ARPAnet ( Us Defense Advanced Research Projects Agency ) atau
Departemen Pertahanan Amerika pada tahun 1969 membuat jaringan komputer yang
tersebar untuk menghindarkan terjadinya informasi terpusat, yang apabila terjadi
perang dapat mudah dihancurkan. Jadi bila satu bagian dari sambungan jaringan
terganggu dari serangan musuh, jalur yang melalui sambungan itu secara otomatis
dipindahkan ke sambungan lainnya.
Setelah angkatan bersenjata Amerika, dunia pendidikan pun merasa sangat
perlu mempelajari dan mengembangkan jaringan komputer. Salah satunya adalah
University of California at Los Angeles (UCLA). Akhirnya pada tahun 1970 internet
banyak digunakan di universitas-universitas di Amerika dan bekembang pesat sampai
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
59
saat ini. Agar pengguna komputer dengan merek dan tipe berlainan dapat saling
berhubungan, maka para ahli membuat sebuah protokol ( semacam bahasa) yang
sama untuk dipakai di internet. Namanya TCP ( Transmission Control Protocol ) dan
IP (Internet Protocol).
2.2. World Wide Web ( WWW )
World Wide Web (WWW) lebih dikenal dengan web, merupakan salah satu layanan
yang dapat dipakai oleh pemakai komputer yang terhubung ke internet.
Web pada awalnya adalah ruang informasi dalam Internet, dengan
menggunakan teknologi hypertext, pemakai dituntun untuk menemukan informasi
dengan mengikuti link yang disediakan dalam dokumen web yang ditampilkan dalam
browser web.
Saat ini internet identik dengan web, karena kepopuleran web sebagai standar
interface pada layanan-layanan yang ada di Internet, dari awalnya sebagai penyedia
informasi, kini digunakan juga untuk komunikasi dari email sampai dengan chatting,
sampai dengan melakukan transaksi bisnis (commerce).
Saat ini web seakan lebih populer daripada email, walaupun secara statistik
email masih merupakan aplikasi terbanyak yang digunakan oleh pengguna internet.
Web lebih populer bagi khalayak umum dan pemula, terutama untuk tujuan pencarian
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
60
informasi dan melakukan komunikasi email yang menggunakan web sebagai
interfacenya.
Internet identik dengan web, karena popularitasnya sebagai penyedia
informasi dan interface yang dibutuhkan oleh pengguna internet dari masalah
informasi sampai dengan komunikasi. Informasi produk dari yang serius sampai
dengan sampah, dari yang cuma-cuma sampai dengan yang komersial, semuanya ada.
Web memudahkan pengguna komputer untuk berinteraksi dengan pelaku
internet lainnya dan menelusuri (informasi) di Internet.
Selain itu web telah diadopsi oleh perusahaan sebagai bagian dari strategi
teknologi informasinya, karena beberapa alasan:
a. Akses informasi mudah
b. Setup server lebih mudah
c. Informasi mudah didistribusikan
d. Bebas platform; informasi dapat disajikan oleh browser web pada
sistem operasi mana saja karena adanya standar berbagai tipe data
dapat disajikan.
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
61
2.2.1 Lahirnya Web
Tahun 1989, Timothy Bernes-Lee seorang ahli komputer dari inggris dan peneliti lain
di European Particle Physics Lab (Consei European pour la Recherche Nucleaire,
atau CERN) di Geneva, Swiss, mengembangkan suatu cara untuk men-share data
antar koleganya menggunakan sesuatu yang disebut dengan hypertext. Pemakai di
ERN dapat menampilkan dokumen pada layar komputer dengan menggunakan
software browser baru.
Kode-kode khusus disisipkan ke dalam dokumen elektronik ini
memungkinkan pemakai untuk meloncat dari satu dokumen ke dokumen lainnya pada
layer dengan hanya memilih sebuah hyperlink.
Kemampuan internet dimasukkan kedalam browser ini sehingga lompat dari
satu dokumen ke dokumen lain, tidak lagi dari satu komputer saja, tetapi dapat
melompat ke dokumen lain yang letak nya pada komputer remote. Seorang peneliti
dapat juga mengirimkan sebuah file dari komputer remote ke sistem lokalnya, atau
log in ke dalam suatu sistem remote hanya dengan mengklik hyperlink, tidak perlu
melalui mekanisme FTP atau Telnet. Jalan pintas CERN digunakan sebagai dasar dari
yang disebut sekarang dengan World Wide Web dan berikut server browser web-nya.
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
62
2.2.2 Browser Web
Browser web adalah software yang digunakan untuk menampilkan informasi dari
server web. Software ini kini telah dikembangkan dengan menggunakan user
interface grafis, sehingga pemakai dapat dengan mudah melakukan poin dan klik
untuk pindah antar dokumen.
Lynx adalah browser web yang masih menggunakan mode teks, yang
akibatnya adalah tidak adanya gambar yang dapat ditampilkan. Lynx pada lingkungan
DOS ( Disk Operating System) dan *.nix (keluarga sistem operasi UNIX). Akan
tetapi perkembangan dari browser mode teks ini tidaklah secepat browser web dengan
GUI (Grafic User Interface).
Di saat perkembangan WWW ada dua browser web yang populer yaitu
Internet Explorer (IE) dan Netscape Navigator. Namun saat ini bermunculan browser
web lain yang turut meramaikan persaingan untuk merebut para pengguna internet.
Di antara browser web yang telah banyak digunakan pada saat peluncurannya adalah
MSN, Opera dan Mozila Firefox. Di antara browser web ini terdapat kelebihan dan
kekurangan sehingga pengguna dapat memilih sesuai keinginan dan kemudahan yang
ditawarkan.
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
63
2.2.2.1 Cara Kerja Browser Mengambil Halaman / Page
Suatu browser mengambil sebuah web page dari server dengan sebuah request.
Sebuah request adalah HTTP standar yang berisi sebuah page address. Sebuah page
address terlihat seperti berikut : hhtp://www.google.co.id.
2.2.2.2 Cara Kerja Menampilkan Halaman / Page
Seluruh web page berisi instruksi-instruksi bagaimana untuk ditampilkan. Browser
menampilkan page dengan membaca instruksi-instruksi ini. Instruksi yang paling
umum untuk menampilkan disebut tag HTML. Tag HTML contohnya yaitu <p> ini
merupakan suatu paragraph </p>.
2.2.3 Server Web
Server Web adalah komputer yang digunakan untuk menyimpan dokumen-dokumen
web, komputer ini akan melayani permintaan dokumen web dari kliennya.
Browser web seperti IE atau Opera berkomunikasi melalui jaringan (termasuk
jaringan internet) dengan server web, menggunakan HTTP. Browser akan
mengirimkan request kepada server untuk meminta dokumen tertentu atau layanan
lain yang disediakan oleh server. Server memberikan dokumen atau layanannya jika
tersedia juga dengan menggunakan protokol HTTP.
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
64
2.2.4 Istilah-Istilah Umum Yang Harus Diketahui
Berikut ini penjelasan beberapa istilah-istilah umum yang harus diketahui antara lain:
a. Protokol ; secara defenisi adalah standar pemrosesan informasi yang diterima
secara umum. Protokol TCP/IP merupakan protokol yang digunakan dalam
komunikasi dalam internet.
b. URL ( Universal Resource Locator ) ; URL adalah konsep nama file standar
yang diperluas dengan jaringannya. Nama file ini tidak hanya menunjukkan
direktori dan nama filenya, tetapi juga nama mesin dalam jaringan. URL dapat
disediakan (ada atau diakses) dengan berbagai metoda, dan bisa jadi bukan
sekedar file, karena URL dapat menunjukkan query-query, dokumen yang
disimpan dalam database, hasil dari suatu perintah finger atau archie, atau
apapun yang berkaitan dengan data hasil proses.
c. HTTP (HyperText Transfer Protocol) ; HTTP umumnya digunakan untuk
melayani dokumen hypertext, karena HTTP adalah protokol dengan overhead
yang sangat rendah, sehingga pada kenyataan navigasi informasi dapat
ditambahkan langsung ke dalam dokumen dengan demikian protokolnya
sendiri tidak harus mendukung navigasi secara penuh. Sebuah file dengan
nama “contoh.html” pada server lybrary.usu.ac.id dalam direktori “/pub/files”
maka URL-nya http://www.lybrary.usu.ac.id:1234/pub/files/contoh.html
c. Browser / Surfing ; kegiatan menelusuri dan mencari informasi dalam internet
melalui layanan informasi web.
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
65
d. Browser / Surfer ; pengguna komputer yang melakukan browsing / surfing.
2.3. HTML (HyperText Markup Language)
2.3.1 Dokumen HTML
Dokumen HTML adalah file teks murni yang dapat dibuat dengan editor teks
sembarang. Dokumen ini dikenal dengan sebagai web page. Dokumen HTML
merupakan dokumen yang disajikan dalam browser web surfer. Dokumen ini
umumnya berisi informasi atau interface aplikasi di dalam internet.
Ada dua cara untuk membuat sebuah web page : dengan web editor (misalnya
Macromedia Dreamweaver atau Microsoft Frontpage) atau dengan editor teks biasa
(misalnya notepad atau editplus).
A. Penamaan Dokumen HTML
Penamaan dokumen HTML dapat dilakukan dengan memilih suatu nama, sembarang
nama, kemudian menambahkan sebuah ekstensi “.htm” atau “.html” (tanda kutip
tidak perlu dituliskan karena digunakan sebagai penjelas saja).
Ekstensi dokumen HTML yang menggunakan 3 karakter awalnya adalah
untuk mengakomodasikan sistem penamaannya yang ada dalam sistem operasi DOS.
Nama dokumen pada beberapa sistem operasi bersifat case sensitive (membedakan
huruf besar dan huruf kecil). Nama dokumen yang sama tetapi dituliskan dengan case
yang berbeda akan dianggap sebagai dokumen yang berbeda, misalnya dokumen.html
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
66
akan berbeda dengan DOKUMEN.html. kasus case sensitive akan dijumpai pada
dokumen web yang do hosting di dalam server yang berbasis *nix (keluarga sistem
operasi UNIX).
B. Elemen Dan Tag HTML
Dokumen HTML disusun oleh elemen-elemen. “Elemen” merupakan istilah bagi
komponen-komponen dasar pembentuk dokumen HTML. Untuk menandai berbagai
elemen dalam suatu dokumen HTML, digunakan tag. Tag HTML terdiri atas sebuah
kurung sudut kiri (<, tanda lebih kecil), sebuah nama tag, dan sebuah kurung sudut
kanan (>, tanda lebih besar). Tag umumnya berpasangan (misalnya <H1> dengan
</H1>), tag yang menjadi pasangan selalu diawali dengan karakter garis miring. Tag
yang pertama menunjukkan tag awal yang berarti awal elemen, dan yang kedua
menunjukkan tag akhir, berarti akhir elemen.
Nama elemen ditunjukkan dengan nama tag nya. Suatu elemen didalam
dokumen HTML harus ditandai dengan penulisan tag nya berpasangan. Ada beberapa
elemen yang tidak mengharuskan tag nya dituliskan secara berpasangan, elemen
tersebut diantaranya adalah:
a. Paragraf dengan tag <p>
b. Ganti baris – line break dengan tag <br>
c. Garis datar – horizontal rule dengan tag <hr>
d. List item dengan tag <li>
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
67
Secara umum suatu elemen dalam dokumen HTML yang dinyatakan dengan
tagnya, dituliskan : <nama tag>_</nama tag>. Penulisan penamaan tag bebas, dapat
menggunakan huruf besar, huruf kecil, ataupun campuran (tidak case sensitive).
Tetapi untuk antisipasi pada standar penulisan tag, direkomendasikan untuk
menuliskan tag dengan menggunakan huruf kecil semuanya.
Tag mark up ini digunakan sebenarnya memberi tahu browser web bagaimana
memperlakukan atau menampilkan (memformat) halaman dokumen tersebut dalam
browser.
Dalam membuat suatu dokumen HTML dibutuhkan elemen yang dinyatakan
dengan tag <html>, <head> dan <body> berikut tag-tag pasangannya. Setiap
dokumen terdiri atas tag head dan body. Elemen head berisi teks yang sebenarnya
yang tersusun dari link, grafik, paragraf dan elemen lainnya.
Secara umum dokumen dibagi menjadi dua section (bagian), yaitu section
head dan section body. Sehingga setiap dokumen HTML harus mempunyai pola
dasar sebagai berikut:
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
68
<html>
<head>
…informasi tentang dokumen HTML
</head>
<body>
…informasi yang ditampilkan dalam browser web
</body>
</html>
Setiap dokumen HTML harus diawali dengan menuliskan tag <html> dan tag
</html> diakhir dokumen. Tag ini menandai elemen HTML, yang berarti dokumen
ini adalah dokumen HTML.
Dalam satu dokumen hanya ada satu elemen HTML. Section atau elemen
head ditandai dengan tag <head> diawal, dan tag </head> di akhir. Section ini berisi
informasi tentang dokumen HTMLnya. Minimal informasi yang dituliskan dalam
elemen ini adalah judul dari dokumen, judul ini akan ditampilkan pada caption bar
dari window browser, ditandai dengan menggunakan tag <title> dan diakhiri dengan
</title>.
Section atau elemen body ditandai dengan tag <body> diawal, dan tag
</body> diakhir. Section body merupakan elemen terbesar didalam dokumen HTML.
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
69
Elemen ini berisi isi dokumen yang akan ditampilkan pada browser, meliputi
paragraph, grafik, link, table, dan sebagainya.
Contoh penulisan suatu dokumen HTML sebagai berikut:
<!—contoh.html-->
<html>
<head>
<title>Halaman Contoh</title>
</head>
<body>
File ini merupakan file contoh<br>
<b>Ini untuk membuat huruf cetak tebal</b>
</body>
</html>
Hasil dokumen HTML yang ditampilkan didalam browser Internet Exlplorer:
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
70
Gambar 2.1 Dokumen HTML ditampilkan di browser IE. (Kadir,2002)
2.4 DHTML (Dynamic Hypertext Markup Language)
DHTML adalah suatu istilah yang diberikan untuk suatu halaman web yang
memanfaatkan HTML dan DOM (Document Object Model), CSS ( Cascading Style
Sheet) dan client-side scripting untuk membuat tampilan halaman tersebut dinamis
atau interaktif. Istilah Dynamic ditambahkan untuk membedakan sifat dinamis
halaman web ini dengan halaman web statis yang dibuat hanya berdasarkan HTML.
DHTML mulai diterapkan pada browser generasi ke empat – Microsoft
Internet Explorer 4 (IE4) dan Netscape Communicator 4 (NS4). DHTML sepenuhnya
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
71
merupakan teknologi client side yang hanya bergantung pada kemampuan browser
untuk menampilkan dan memanipulasi elemen halaman web yang tidak bisa
dilakukan dengan hanya mengandalkan HTML.
Sebagian besar hal yang bisa dibuat dengan DTML bisa juga dibuat dengan
teknologi authoring web lain seperti Java, Flash, atau Shockwave. Penggunaan
DHTML mempunyai kelebihan karena tidak memerlukan plugin apapun untuk
menjalankannya dan ukurannya jauh lebih kecil dibandingkan dengan penggunaan
teknologi lain. Kelemahannya, masih banyak hal-hal yang belum bisa dilakukan
dengan menggunakan DHTML seperti suara dan video. Saat ini sudah cukup banyak
penerapan DHTML yang sering ditemukan sewaktu mengakses internet sehari-hari.
Yang umum misalnya rollover menu ( baik berbentuk image ataupun teks biasa),
pulldown menu, trailing cursor, sliding text,dll.
2.4.1 CSS ( Cascading Style Sheet )
CSS mendefinisikan karakteristik tampilan ( warna, style, dan posisi ) suatu elemen
pada dokumen HTML dalam bentuk property elemen tersebut. Pemisahan isi dengan
tampilan yang dilakukan dengan penerapan CSS ini, memberikan kemungkinan
penyusunan struktur suatu halaman HTML dengan lebih fleksibel. CSS merupakan
bagian/subset dari DOM yang sangat berperan dalam HTML.
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
72
Perbedaan implementasi antara Netscape dan Microsoft sehingga akhirnya
W3C melakukan suatu standardisasi CSS. Pada awalnya, upaya standardisasi CSS
dibagi dua, yaitu CSSI untuk pengaturan warna dan style, serta CSS-P untuk
pengaturan posisi suatu elemen. CSS2 dari W3C selanjutnya menggabungkan kedua
standar ini menjadi suatu standar yang meliputi semua setting tampilan suatu elemen
halaman HTML.
Dalam spesifikasi CSS2, ada beberapa properti elemen dokumen yang
berhubungan dengan posisi suatu elemen dihalaman browser. Property tersebut
adalah:
a. Posisition - ada dua pilihan untuk nilai properti ini, yaitu absolute dan relative.
Setting absolute mengatur posisi elemen berdasarkan jarak terhadap ujung
kiri-atas elemen parent-nya. Sedangkan setting absolute bekerja sesuai layout
HTML biasa dimana posisinya ditentukan berdasarkan akhir elemen
sebelumnya.
b. Left dan Top – menentukan jarak kearah kanan dan ke bawah dari posisi awal
elemen. Unitnya bisa dinyatakan dalam point (pt), pixel(px) atau unit standar
CSS lainnya.
c. Width dan Height – menentukan lebar dan tinggi elemen. Unitnya bisa
dinyatakan dalam point(pt), pixel(px) atau unit standar CSS lainnya.
d. Z-index – menentukan apakah suatu elemen ditampikan dilayar. Nilainya bisa
visible (tampil) atau hidden (tersembunyi).
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
73
e. Overflow – menentukan perilaku ruang penampung jika isinya melebihi
batasnya. Ada tiga untuk nilai properti ini, yaitu clip, scroll, dan none. Setting
clip berarti isi akan dipotong jika melebihi batas. Scroll akan memunculkan
scrollbar pada container. Sedangkan none tidak akan melakukan apapun
terhadap isi sehingga isi tersebut akan keluar dari ruang batasnya.
f. Background-color atau Layer-background-color – menentukan warna dasar
dari suatu elemen. Yang pertama berlaku untuk IE, sedangkan yang kedua
berlaku untuk NS.
g. Background-image atau Layer-background-image – menentukan gambar latar
belakang dari suatu elemen. Yang pertama berlaku untuk IE, sedangkan yang
kedua berlaku untuk NS.
2.4.2 JavaScript
JavaScript pertama kali muncul di Netscape 2.0 dan dikembangkan lebih lanjut pada
Netscape 3.0. walaupun memiliki nama yang serupa. JavaScript sama sekali tidak
berhubungan dengan Java.
Java adalah bahasa pemograman tingkat tinggi untuk membuat aplikasi cross-
platform, sedangkan Java Script hanyalah scripting language yang terintegrasi dengan
web browser untuk memberikan fleksibilitas tambahan bagi programmer untuk
mengontrol elemen-elemen dalam halaman web.
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
74
Aplikasi JavaScript sebenarnya cukup luas, tetapi disini penulis menggunakan
JavaScript dibatasi untuk DHTML, yaitu JavaScript yang digunakan untuk
mengakses property, method, dan event handler yang disediakan oleh DOM dan CSS.
Property didefenisikan sebagai setting nilai suatu objek tertentu. Contohnya
adalah warna suatu teks, action untuk suatu form, nama file untuk suatu gambar, dll.
Method adalah fungsi-fungsi yang dapat diterapkan untuk suatu objek. Misalnya
maximize untuk window. Event handler menspesifikasikan bagaimana suatu objek
merespon terhadap suatu kejadian, misalnya suatu button di click, window di
resize,dll. (kadir,2002).
2.5 Pengenalan PHP (HyperText Preprocessor)
2.5.1 Sejarah PHP
PHP merupakan salah satu bahasa pemograman web yang masih muda namun telah
mengalami perkembangan yang cukup signifikan dan telah banyak digunakan oleh
banyak user dalam membuat aplikasi web baik perseorangan maupun perusahaan.
2.5.1.1 PHP/FI (Personal Home Page / Form Interpreter )
Pertama kali PHP dibuat dan diperkenalkan oleh Rasmus Lerdorf pada tahun 1995
menggunakan nama PHP/FI. Generasi awal PHP/FI dibuat dari Perl yang waktu itu
digunakan untuk kebutuhan pribadi saja. Pada awalnya, PHP/FI merupakan bagian
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
75
dari Personal Home Page Tools. Namun, karena kebutuhan penggunaan web yang
semakin kompleks maka dikembangkan PHP/FI dengan menggunakan bahasa c.
Rasmus menulis sejumlah besar fungsi untuk pengaksesan ke dalam database.
Penulisan itu juga bertujuan membangun halaman web menjadi lebih dinamis.
PHP/FI merupakan akronim dari Personal Home Page/Form Interpreter. Pada
awal penyusunan, PHP/FI hanya mempunyai fungsi dasar dari PHP yang ada
sekarang ini. Jadi, dengan kata lain, pondasi PHP sekarang ini adalah PHP/FI. Karena
ketika pertama dibuat menggunakan Perl maka PHP/FI juga mempunyai susunan dan
karakter pemograman yang sama dengannya.
Pada tahun 1997, dikeluarkan PHP/FI versi 2.0. Fungsi-fungsi pada PHP/FI
ditulis dengan menggunakan bahasa C karena telah memiliki fungsi khusus untuk
mengakses database maka, pada tahun yang sama terdapat kurang lebih 50.000
domain yang menggunakan PHP/FI sebagai bahasa pemograman untuk website, atau
sekitar 1% dari total domain yang ada pada waktu itu. Booming PHP/FI tersebut
membuat semakin banyak orang yang tertarik untuk berpartisipasi mengembangkan
PHP/FI. Berkat kerjasama dan kontribusi mereka, PHP versi 3.0 pun dikeluarkan
walau kala itu masih dalam tahap alpha.
2.5.1.2 PHP3
PHP 3 merupakan generasi baru hasil pengembangan PHP/FI. Banyak
developer yang terlibat didalamnya. Tak heran jika PHP 3 dianggap sebagai tonggak
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
76
awal bagi terciptanya PHP versi sekarang ini. Secara resmi, peluncur PHP 3.0 ialah
Andi Gutmans dan Zeev Suraski pada tahun 1997. Mereka mengeluarkan PHP 3.0
karena melihat kelemahan PHP/FI yang digunakan dalam aplikasi e-commerce.
Kemudian, mereka menulisnya ulang dengan masih mengacu kepada PHP/FI. Setelah
PHP 3 dikeluarkan, mereka menyarankan untuk menghentikan proyek PHP/FI karena
PHP 3 masih lebih baik.
Alasan untuk mulai mengembangkan PHP, dan memfokuskan diri pada PHP
3.0 ialah pengembangan versi ini secara meluas dalam mendukung berbagai jenis
database, protokol dan API. Dengan dukungan yang semakin besar dari berbagai
pihak yang menyumbangkan berbagai modul maka, pada tahun 1998, 10% dari
seluruh webserver yang ada kala itu telah menginstalasi PHP versi 3.0.
2.5.1.3 PHP 4
PHP versi 4 diluncurkan untuk menangani kelemahan PHP 3, yaitu penggunaan
fungsi yang begitu kompleks. Kurangnya efisiensi waktu dan kinerja yang buruk
diperbaiki dan ditulis ulang dari inti PHP 3.
Dengan penambahan fitur baru, seperti session, output buffering dan
penanganan input, menjadikan PHP 4 aman dari berbagai jenis bahasa pemograman
berbasis web. Selain itu, inti perbedaan mereka terletak pada penggunaan Zend
Engine. Zend Engine merupakan inti dari PHP. Sebagian dari inti PHP, secara
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
77
fungsional ia bertugas menangani input, menterjemahkan dan mengeksekusinya. Ia
juga berperan menterjemahkan fungsi.
2.5.1.4 PHP 5
Pada Juni 2004, Zend merilis PHP 5.0. Pada versi 5 muncul untuk menangani
kelemahan-kelemahan yang terdapat pada versi sebelumnya. PHP versi 5 dapat
membuat file swf dan applet java. Focus utamanya adalah mengoptimalkan
pengunaan PHP untuk OOP (Object Oreiented Programming).(Syafii, 2005)
2.5.2 Skrip PHP
Skrip PHP berkedudukan sebagai tag dalam bahasa HTML. Suatu skrip akan dikenali
sebagai skrip PHP bila diapit oleh tanda:
a. <?php……?>
b. <?..............?>
c. <script language=”PHP”>……</script>
Skrip yang dibuat dengan PHP disimpan dengan nama file dan diikuti dengan
ekstensi *.php, misalnya : contoh.php. Bila skrip PHP diakses melalui computer lokal
maka file PHP disimpan di folder htdocs di local web server. Sama halnya dengan
penamaan dokumen HTML, pemberian nama dokumen yang sama tetapi dituliskan
dengan case yang berbeda akan dianggap sebagai dokumen yang berbeda, misalnya
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
78
contoh.php akan berbeda dengan CONTOH.php atau Contoh.php. Skrip PHP dapat
disisipkan dibagian manapun dalam dokumen HTML, begitu pula sebaliknya skrip
HTML dapat diletakkan diantara skrip PHP.
Berikut ini contoh dari skrip PHP:
a. contoh1.php
<html>
<head>
<title> Menyisipkan PHP di dokumen HTML </title>
</head>
<body>
Cara menyapa PHP dengan akrab:<br>
<p>
<?php
Echo(“Hallo PHP, apa kabar?”);
?>
</body>
</html>
b. contoh2.php
<?php
Echo(“ini ditulis dengan skrip PHP !!”);
?>
<html>
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
79
<body>
<br><hr>
ini ditulis dengan HTML
</body>
</html>
<?php
Echo(“<br>sekian”);
?>
Gambar 2.2 Dokumen PHP ditampilkan di Browser Mozila
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
80
2.5.3 Integrasi dengan Database
PHP yang digabungkan dengan database akan lebih berkekuatan jika digabungkan
dengan database yang realible, gratis dan mudah diinstalasi. Terdapat dua jenis
database yang memenuhi yaitu MySQL dan PostgreSQL. Kedua jenis database ini
dipergunakan karena kinerja yang bagus dan untuk mengaksesnya.PHP mempunyai
fungsi khusus. berikut ini daftar database yang didukung oleh PHP sampai versi 5:
Tabel 2.1 Daftar Database-Database Yang Didukung PHP
No. Nama Database No. Nama Database
1.
2.
3.
4.
5.
6.
7.
8.
9.
10
11.
Adabas D
DBase
Empress
FilePro (read-only)
Hyperware
IBM DB2
Informix
Ingres
Interbase
Frontbase
MSQL
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Direct MS-SQL
MySQL
ODBC
Oracle (OC17 dan OC18)
Ovrimos
PostgreSQL
SQLite
Solid
Sybase
Velocis
Unix dbm
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
81
PHP mempunyai fungsi khusus untuk mengakses MySQL. Ada sekitar 48 fungsi
yang didukung PHP dalam mengakses PHP dalam mengakses MySQL dalam
membuat aplikasi. Adapun yang biasa digunakan diantaranya adalah :
a. mysql_connect()
fungsi mysql_connect adalah untuk menghubungkan PHP dengan database
MySQL. Format fungsinya adalah:
mysql_connect(string hostname, srting username, string password);
b. mysql_select_db
setelah terhubung ke database MySQL dengan menggunakan mysql_connect,
langkah selanjutnya adalah memilih database yang akan digunakan. Fungsi
mysql_select_db digunakan untuk memilih database. Format fungsinya
adalah:
mysql_select_db(string database, koneksi)
koneksi ialah variable yang terhubung ke MySQL. Jika tidak mengisi variable
koneksi maka koneksi yang terbuka saat itulah yang dianggap digunakan.
Manfaat berbagai macam koneksi adalah bahwa dengan pilihan seperti itu
maka dalam satu file dimungkinkan mengambil query dari 2 database
sekaligus.
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
82
c. mysql_query
Dalam database MySQL, perintah untuk melakukan transaksi ialah perintah
SQL. Sebutan untuk mengirim perintah SQL dinamakan query. Query
memberi perintah kepada database untuk melakukan apa yang dikehendaki.
Format fungsinya:
Int mysql_query(string query, int[link_identifier];
d. mysql_num_rows
kegunaan dari fungsi ini adalah untuk menghitung jumlah baris yang dikenai
oleh proses SQL.Format fungsinya adalah:
Int mysql_num_rows(int result);
e. mysql_fetch_array Fungsi ini berkaitan dengan menampilkan data. Untuk menampilkan data,
digunakan fungsi mysql_fetch_array. Dengan fungsi ini, haisl query
ditampung dalam bentuk array. Format fungsinya adalah:
Array mysql_fetch_array(int result, int [result type])
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
83
2.6. Pengenalan Konsep Pemograman Berorientasi Objek dengan PHP
2.6.1 Mengelola Kompleksitas Aplikasi
Pemograman berorientasi objek (object oriented programming) memandang aplikasi
perangkat lunak sebagai kumpulan object yang saling berinteraksi di dalam suatu
sistem. Merancang sebuah aplikasi menggunakan tehnik object oriented dilakukan
dengan membagi fungsi-fungsi berdasarkan pembagian tanggung jawab. Pembagian
tanggung jawab diterapkan kepada setiap class yang dibuat. Setiap class menyediakan
pelayanan untuk mengerjakan operasi tertentu. Operasi-operasi ini dilaksanakan oleh
object-object yang dibuat dari class tersebut. Dengan memfokuskan setiap class pada
tanggung jawab yang tertentu dengan tingkatan kompleksitas yang memadai tentu
akan sangat membantu untuk mereduksi kompleksitas aplikasi secara keseluruhan.
Pembangunan aplikasi dapat dianalogikan sebagai misi dari sebuah tim
dimana untuk mencapai tujuan dari misi ini dilakukan pembagian tugas yang jelas
agar dapat menyelesaikan tugas yang diberikan dengan baik. Dengan tehnik Object
Oriented ini, jalinan komunikasi antar programmer juga dipermudah dengan masing-
masing class yang dibuat akan dilengkapi dengan interface yang menjadi standar
bagaimana class tersebut dihubungi. Interface itu mencakup:
a. Nama
b. Operasi yang menjadi tugasnya
c. Cara penggunaannya
d. Hasil yang diperoleh
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
84
Pada akhirnya dengan pendekatan object oriented ini akan dihasilkan aplikasi
dengan struktur yang kokoh. Operasi dan data dibungkus dengan rapi di dalam class.
Data hanya dapat dimanipulasi menggunakan operasi-operasi yang disediakan
didalam class.
2.6.2 Mengantisipasi Adanya Perubahan
Salah satu prinsip dalam perancangan aplikasi dengan pendekatan object oriented
adalah pemisahan antara tampilan (user interface) dan implementasi (business logic).
Tujuan pemisahan antara bagian tampilan dengan bagian implementasi adalah
mengurangi ketergantungan antarbagian di dalam aplikasi.
Tingkat ketergantungan yang rendah tersebut dapat memudahkan
penggantian, perbaikan, atau pengembangan suatu modul dengan tidak menimbulkan
efek pada modul lainnya. Modul-modul yang independent memungkinkan
penggunaan ulang (reuse) dari modul-modul tersebut.(Syafii,2005).
2.7 MySQL
MySQL merupakan salah satu perangkat lunak sistem pengelola basis data (Data
Base Management System). MySQL juga dapat dikategorikan sebagai Relational
Data Base Management System (RDBMS), karena dalam pembuatan basis data pada
MySQL terdiri atas lajur horizontal dan lajur vertikal.
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
85
MySQL pada saat ini banyak digunakan oleh pemograman web untuk
membangun situs yang memerlukan basis data sebagai data dan pengolahan
data.(Syafii,2005).
2.8 Macromedia Dreamweaver
Dalam membuat website diperlukan suatu editor. Salah satu editor yang sangat
sederhana adalah notepad. Dengan perkembangan perangkat lunak, suatu perusahaan
yang bernama Macromedia, inc. membuat suatu editor berbasis GUI yang
dikhususkan untuk pembuatan website yang diberi nama Dreamweaver.
Dreamweaver merupakan editor HTML yang professional untuk mendesain,
menulis kode program, dan mengembangkan website, halaman web, dan aplikasi
web. Dalam pengerjaannya, Dreamweaver memberikan 3 (tiga) pilihan yaitu bekerja
dengan menulis kode program (menu code), dengan pengeditan secara visual (Mode
Design) dan dengan tampilan keduanya (mode split). Dreamweaver juga
menyediakan alat-alat Bantu untuk mengembangkan kreativitas pembuatan
web.(Bambang et al,2004).
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
86
BAB 3
SEKILAS CV. FLASHINDOMEDIA MEDAN
3.1 Sejarah Singkat CV. FLASHINDOMEDIA Medan
Flashindomdia merupakan sebuah perusahaan baru yang bergerak dibidang industri
kreatif dengan konsep pelayanan terbaru di dunia periklanan dan web development
yang mengutamakan kualitas dan kreatifitas yang dikembangkan dengan menjunjung
tinggi tanggung jawab kerja, kepuasan konsumen adalah hal utama yang ingin di
capai oleh CV. FLASHINDOMEDIA Medan, sehingga untuk setiap langkah yang
diambil kepuasan konsumen menjadi satu-satunya acuan.
Flashindomedia didirikan pada tanggal 9 juni 2007 dengan alamat Jl. Setia
Lama No.37 H.Adam Malik Medan. Flashindomedia dibangun berdasarkan
pengalaman matang para pendirinya serta didukung oleh team kreatif yang cerdas dan
berpengalaman dan bekerja sama untuk memberikan solusi serta kemudahan yang
memfokuskan pada tujuan bisnis anda.
Ketika pihak flashindomedia menyiapkan sebuah solusi komunikasi bagi
perusahaan anda, sangat penting bagi flashindomedia memfokuskan diri pada tujuan
bisnis anda, sinergi penggunaan media,dan market positioning perusahaan anda. Agar
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
87
setiap tujuan anda tercapai, proses perencanaan dilakukan secara teliti bersama
dengan anda sebagai calon klien Flashindomedia.
Flashindomedia kemudian akan mengkomunikasikan strategi bisnis anda
melalui suatu media promosi yang terintegrasi yang didesain secara cerdas ,kreatif,
inovatif dan sellable guna mendapatkan target yang akan dituju. Dengan metode
tersebut, maka akan dihasilkan output yang dapat memperkuat image perusahaan,
sekaligus melambangkan perusahaan anda sebagai perusahaan yang berkelas yang
nantinya akan menjadi brand tersendiri di benak konsumen anda.
Pelayanan kami melingkupi spektrum yang luas mulai dari terciptanya ide,
pembuatan konsep, perencanaan sampai pada pelaksanaan. Flashindomedia membuka
pintu layanan dan memberikan kemudahan kepada anda sebagai konsumen.
3.2 Visi, Misi dan Tujuan CV. Flashindomedia Medan
Sebuah perusahaan baik itu instansi pemerintah maupun swasta haruslah mempunyai
visi, misi, dan tujuan dalam mendirikan dan menjalankan perusahaan. Semuanya itu
juga berlaku pada CV. FLASHINDOMEDIA Medan.
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
88
3.2.1 Visi CV. FLASHINDOMEDIA Medan
"Federating the smart creatice energy for supporting the mission".
Penyatuan energi kreatif yang cerdas untuk mendukung misi.
3.2.2 Misi CV. FLASHINDOMEDIA Medan
"Make your company talking without your words ".
Membuat perusahaan anda berbicara tanpa harus berbicara.
3.2.3 Tujuan CV. FLASHINDOMEDIA Medan
Memberikan pelayanan terbaru di dunia periklanan dan web development yang
mengutamakan kualitas dan kreatifitas yang dikembangkan dengan menjunjung
tinggi tanggung jawab kerja, kepuasan konsumen adalah hal utama yang ingin di
capai oleh CV. FLASHINDOMEDIA Medan.
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
89
Admin
Sistem Informasi Absensi
Pegawai CV. Flashindomedia Medan berbasis
Web
Pegawai
Pimpinan
BAB 4
RANCANGAN SISTEM PROGRAM
4.1 Data Flow Diagram
Perancangan DFD yang penulis buat dalam perancangan ini terdiri dari Diagram
Konteks dan DFD Level Nol.
Info Data Data Pegawai Pegawai
Info Absensi Pegawai - Data Admin - Data pegawai - Data Absensi
Laporan Absensi Pegawai
Gambar 4.1 Diagram Konteks Sistem Informasi Absensi Pegawai CV.
Flashindomedia Medan Berbasis Web
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
90
Admin
F3 Jabatan
Karyawan
F2 Absensi
F1 Karyawan
Pimpinan
Upload
Data
Update
Data
Pembuatan
Laporan
Info Data Pegawai
- Data Karyawan Info Absensi Karyawan - Data Absensi Info Data Karyawan - Data Jabatan
Gambar 4.2 Data Flow Diagram Level Nol Sistem Informasi Absensi Pegawai
CV. Flashindomedia Medan Berbasis Web
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
91
Data Karyawan
Info Data Karyawan Pengisian Absensi Info Absensi
Info Rekap Rekap Absensi Absensi Karyawan
Laporan Absensi Karyawan
Gambar 4.3 Diagram Sistem Informasi Pegawai yang sedang berjalan pada
CV. Flashindomedia Medan
Bagian Karyawan Karyawan
Pimpinan
1.0
Pengumpulan
Data
2.0
Pengisian
Absensi
3.0
Rekap
Absensi
F1 Karyawan
F2 Karyawan
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
92
4.2 Flowchart Program
Gambar 4.4 Flowchart Menu Utama
New Passswor
Selesai
Simpan Database
Log out
End
Auto Presure Absensi By Login
Database
Menu
Edit Profil
Password
Lihat Absen
Start
Input NIK & Password
Halaman Absensi
True? Database Log in
Alamat
TTL
No. Telp
Photo
Selesai
Simpan Database
Lihat Bulan Lain
Absen Bulan ini
Input Date
Search Database
Search Absensi
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
93
Gambar 4.5 Flowchart Admin
Database True?
Input NIK & Password
Log in
Start
Halaman Absensi
Menu Admin
Master Data
Data Absensi
Laporan
Log Out
End
Data Karyawan Data Karyawan
A B
Absensi Cuti
Absensi Izin
Absensi Reguler
F G H
Absensi Cuti
Absensi Izin
Absensi Reguler
C D E
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
94
Gambar 4.6 Keterangan Bagan Flowchart Admin
Data Karyawan
Tambah
Edit
Hapus Hapus
Databa
NIK
Nama
TTL
Jenis Kelamin
Jabatan
Alamat
No. Telp
Photo
Password
Level
NIK
Nama
TTL
Jenis Kelamin
Level
Jabatan
Alamat
No. Telp
Password
Photo
Update
Simpan
Seles
Simpan Databas
e
A
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
95
Gambar 4.7 Keterangan Bagan Flowchart Admin
Simpan
Kode
Nama J b
Simpan Database
Data
Data
Update
Simpan Database
Hapu
Hapus dari
Data
B
Tamba
Edit
Hapus
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
96
Gambar 4.8 Keterangan Bagan Flowchart Admin
Update
Simpan Database
NIK
Nama
Tanggal
Jam Masuk
Jam Istirahat
Masuk Istirahat
Jam Keluar
Simpan
Database
NIK
Tanggal
Jam Masuk
Jam Istirahat
Masuk Istirahat
Jam keluar
C
Data Absensi Hari ini
Lihat Absensi
Tanggal Lain
Edit
Hapus Hapus Karyawan Database
Tambah
Hapus Date Search Database Database show
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
97
Gambar 4.9 Keterangan Bagan Flowchart Admin
Gambar 4.10 Keterangan Bagan Flowchart Admin
D
NIK
Jabatan
Update
Tgl Mulai
Tgl Selesai
Keterangan
Database
NIK
Tgl Mulai
Simpan
Simpan Database
Tgl Selesai
Keterangan
Hapus Database
Data Inti Bulan ini
Tambah
Edit
Hapus
F
Absensi Bulan ini Search Absensi
Cetak
Search Bulan Lain Database
Absensi
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
98
4.3 Normalisasi
Dalam hal ini penulis memberikan penjelasan mengenai normalisasi table database
yang penulis gunakan untuk merancang sistem informasi absensi pegawai, antara lain
sebagai berikut:
1. Bentuk Tidak Normal
Berikut ini adalah bentuk tabel tidak normal seperti terlihat pada tabel absensi
pegawai dibawah ini:
Tabel Absensi Pegawai
Tanggal Nik Nama Jabatan Jam masuk
Jam istirahat
Jam masuk
isrirahat
Jam pulang
2. Bentuk Normal
Berikut ini adalah tabel normal dimana tabel absensi dipecah menjadi 3
bagian seperti terlihat pada tabel absensi, tabel karyawan, dan tabel jabatan
dibawah ini:
Tabel Absensi
Tanggal Nik Jam masuk
Jam istirahat
Jam masuk
istirahat
Jam keluar
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
99
Tabel Karyawan
Nik Nama Alamat Tempat lahir
Tanggal lahir Gender Telepon Kode
jabatan Password Level Photo
Tabel Jabatan
Kode jabatan Nama jabatan
4.4 Rancangan Database
Dalam hal ini penulis memberikan struktur tabel database yang penulis gunakan
untuk merancang sistem informasi absensi pegawai, antara lain sebagai berikut:
Tabel 1. Absensi
No. Field Data Type Width Description 1. Tanggal Date - Tanggal 2. Nik Int 9 Nomor induk karyawan 3. Masuk Time - Masuk 4. Istirahat Time - Istirahat 5. Msk_istirahat Time - Masuk istirahat 6. Keluar Time - Keluar 7. ket Int 2 Keterangan
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
100
Tabel 2. Cuti
No. Field Data Type Width Description 1. Id Int 2 Id 2. Nik Int 9 Nomor induk karyawan 3. Tgl_mulai Date - Tanggal mulai 4. Tgl_selesai Date - Tanggal selesai 5. ket Varchar 50 Keterangan
Tabel 3. Ijin
No. Field Data Type Width Description 1. Id Int 2 Id 2. Nik Int 9 Nomor induk karyawan 3. Tgl_mulai Date - Tanggal mulai 4. Tgl_selesai Date - Tanggal selesai 5. Ket Varchar 50 Keterangan
Tabel 4. Jabatan
No. Field Data Type Width Description 1. Kode_jabatan Varchar 4 Kode jabatan 2. Nama_jabatan Varchar 30 Nama jabatan
Tabel 5. karyawan
No. Field Data Type Width Description 1. Nik Int 9 Nomor induk karyawan 2. Nama Varchar 30 Nama 3. Alamat Varchar 250 Alamat 4. T4_lahir Varchar 30 Tempat lahir 5. Tgl_lahir Date - Tanggal lahir 6. Gender Varchar 6 Gender 7. Telp Varchar 15 Telepon 8. Kode_jabatan Varchar 4 Kode jabatan 9. Password Varchar 32 Password 10. Level Varchar 20 Level 11. Photo Varchar 50 Photo
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
101
Tabel 6. Modul
No. Field Data Type Width Description 1. Id_modul Int 3 Id modul 2. Nama_modul Varchar 30 Nama modul 3. Link Varchar 30 Link 4. Katagori Varchar 20 Katagori
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
102
BAB 5
IMPLEMENTASI SISTEM
5.1 Pengertian Implementasi Sistem
Implementasi sistem adalah prosedur-prosedur yang dilakukan dalam penyelesaian
desain sistem yang ada dalam rancangan sistem yang telah ditetapkan dan disetujui
seperti menginstal, menguji sistem yang dibuat dan memulai sistem yang baru.
5.2 Tujuan Implementasi Sistem
Adapun tujuan dari implementasi sistem ini adalah sebagai berikut:
1. Menyelesaikan desain sistem yang telah disetujui sebelumnya.
2. Memastikan bahwa pemakai (user) dapat mengoperasikan sistem baru
3. Menguji apakah sistem baru tersebut sesuai dengan pemakai
4. Memastikan bahwa konversi ke sistem baru berjalan yaitu dengan membuat
rencana, mengontrol dan melakukan instalasi baru secara benar.
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
103
5.3 Komponen- komponen kebutuhan sistem
Untuk menunjang penerapan sistem yang dirancang , dibutuhkan komponen-
komponen yang sangat berperan terhadap kebutuhan sistem. Berikut beberapa
komponen yang dibutuhkan sistem agar dapat beroperasi dengan baik.
5.3.1 Hardware
Komponen ini merupakan komponen pertama yang sangat diperlukan dalam
mewujudkan sistem yang diusulkan. Dalam hal ini merincikan spesifikasi hardware
yang diajukan adalah sebagai berikut:
a. Komputer dengan processor Intel Pentium 4
b. Memori RAM 256 MB atau lebih
c. Kapasitas Hardisk minimal 10 GB
d. Microsoft Windows 2000 service pack 4 atau XP Home
e. Microsoft Windows XP Professional (lebih disarankan)
5.3.2 Software
Dengan adanya hardware saja, tentu tidak akan dapat digunakan tanpa adanya
bantuan penuh dari komponen Software. Adapun Software yang digunakan dalam
pembuatan website ini adalah:
a. Sistem Operasi Windows XP
Pada saat ini sistem operasi windows XP merupakan sistem operasi yang
sering digunakan oleh masyarakat umum Indonesia. Sistem operasi ini lebih
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
104
dikenal cara pengoperasiannya atau penggunaannya disbanding sistem operasi
lain. Oleh karena itu penulis menggunakan sistem operasi ini.
Gambar 5.1 Halaman Tampilan antar muka Sistem Operasi Windows XP
b. Macromedia Dreamweaver 8
Dreamweaver program professional text editor dalam penulisan PHP maupun
HTML yang digunakan untuk mengelola situs dan menata layout halaman
web. Saat ini versi terbaru dreamweaver yang dikeluarkan oleh macromedia
dreamweaver adalah versi 8, tetapi disini penulis menggunakan Macromedia
Dreamweaver 8.
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
105
Gambar 5.2 Halaman Tampilan Macromedia Dreamweaver 8
c. XAMPP
XAMPP merupakan software triad dari 3 aplikasi yaitu apache sebagai web
servernya, PHP sebagai bahasa pemograman serta MySQL sebagai
databasenya. Dengan XAMPP kebutuhan software telah terpenuhi.
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
106
Gambar 5.3 Tampilan Antar Muka Web Server
5.3.3 Brainware
Brainware adalah sumber daya manusia yang nantinya akan berperan sebagai user
ataupun administrator. Brainware sebagai administrator adalah yang melakukan
pengolahan website. Administrator harus mengerti tentang bahasa pemograman PHP
dan MySQL serta jalannya sistem. Sedangkan user adalah pengguna website itu
sendiri. User tidak harus mengerti tentang bahasa pemograman tersebut karena user
hanyalah pengguna dan hanya cukup mampu mengoperasikan internet browser.
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
107
5.4 Demonstrasi Program
Aplikasi sistem informasi absensi CV. Flashindomedia Berbasis Web yang penulis
rancang ini memiliki beberapa halaman. Halaman – halaman yang akan ditampilkan
merupakan halaman- halaman program yang penulis rancang:
5.4.1 Halaman Utama Login Absensi Karyawan
Halaman login karyawan adalah halaman khusus karyawan untuk melakukan absensi.
Dimana absensi dilakukan sebanyak 4 kali, yaitu jam masuk, jam istirahat, jam
masuk istirahat dan jam keluar.
Gambar 5.4 Halaman Utama Login Absensi
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
108
5.4.2 Halaman Menu Login Absensi
Halaman menu login adalah halaman lanjutan setelah melakukan login pada halaman
utama login absensi. Halaman ini berisi tentang absensi yang akan di lakukan seorang
karyawan di CV. Flashindomedia. Di halaman ini dapat melakukan edit profil,
mengganti password yang telah dimiliki serta dapat melihat absensi yang telah lalu.
Gambar 5.5 Halaman Menu Login Absensi
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
109
5.4.3 Halaman Login Admin
Halaman login admin adalah halaman khusus admin. Sebelum admin masuk ke dalam
halaman web nya, admin harus melakukan login terlebih dahulu di halaman login
admin dengan cara mengisi kotak NIK dan memasukkan PASSWORD.
Gambar 5.6 Halaman Login Admin
5.4.4 Halaman Menu Admin
Pada saat admin sukses melakukan proses login maka akan tampil menu admin,
dimana pada menu tersebut admin dapat menambah, mengedit dan menghapus data.
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
110
Gambar 5.7 Halaman Menu Admin
5.4.5 Halaman Menu Master Data
Pada halaman ini ada terdapat dua menu yaitu data karyawan dan data jabatan. Di
mana di menu data karyawan admin dapat melakukan pengeditan pada profil
karyawan serta dapat melakukan penambahan data karyawan baru sedangkan pada
menu data jabatan berisi tentang jabatan-jabatan yang ada pada CV. Flashindomedia
Medan.
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
111
Gambar 5.8 Halaman Menu Master Data
5.4.6 Halaman Menu Data Absensi
Halaman ini berisikan tentang absensi semua karyawan. Admin dapat melihat absensi
semua karyawan. Pada halaman ini terdapat 3 menu yaitu absensi regular, absensi
cuti dan absensi ijin.
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
112
Gambar 5.9 Halaman Menu Data Absensi
5.4.7 Halaman Menu Laporan
Halaman ini berisikan tentang laporan absensi semua karyawan yang dapat di
tampilkan dari bulan berapa pun. Pada halaman ini terdapat 3 menu yaitu absensi
global, absensi cuti dan absensi ijin.
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
113
Gambar 5.10 Halaman Menu Laporan
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
114
BAB 6
KESIMPULAN DAN SARAN
6.1 Kesimpulan
Sistem informasi absensi pegawai CV. Flashindomedia Medan Berbasis web ini
adalah media yang dapat digunakan untuk menyampaikan informasi khususnya
kepada pimpinan dan pegawai perusahaan. Sistem informasi absensi pegawai ini
dirancang penulis dengan menggunakan sistem operasi Windows XP Professional,
Macromedia Dreamweaver 8, Photoshop CS, Aplikasi Triad XAMPP sebagai web
servernya, PHP bahasa scripting-nya dan MySQL sebagai database manajemen
sistem (DBMS). Dari penjelasan pada bab-bab sebelumnya, penulis dapat
merangkum beberapa kesimpulan yaitu sebagai berikut:
1. Penggunaan dan Pemanfaatan aplikasi Sistem Informasi Absensi Pegawai
CV. Flashindomedi medan ini dapat memberikan kemudahan bagi pihak
perusahaan dalam melakukan absensi kepegawaiannya.
2. Dengan adanya Sistem Informasi Absensi Pegawai CV. Flashindomedia ini
baik pimpinan dan karyawan dapat melihat langsung data absensi mereka.
Karyawan juga bisa melihat data pribadinya sehingga jika terjadi kesalahan
informasi data yang ditampilkan dapat dilaporkan langsung kepada admin dan
segera di update.
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
115
3. Program aplikasi XAMPP yang digunakan memudahkan penulis dalam
membuat aplikasi ini karena dalam hal peng-installan maupun penggunaannya
sangat lah mudah.
6.2 Saran
Dari peninjauan dan riset yang telah dilakukan oleh penulis, maka penulis
berkeinginan memberikan saran – saran yang mungkin dapat digunakan sebagai
bahan pertimbangan bagi para pembaca, yaitu:
1. Sejalan dengan pesatnya kemajuan Teknologi, Penulis berharap agar pembaca
lebih memperdalam pengetahuan dibidang komputer, mengingat penggunaan
komputer dewasa ini tidak dapat dipisahkan lagi dengan aktifitas sehari-hari.
2. Dalam pembuatan Sistem Informasi Absensi Pegawai CV. Flashindomedia
Medan ini masih banyak kekurangan yang terdapat dalam sistem tersebut.
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
116
DAFTAR PUSTAKA
Hakim, L, dan Musalini, U. 2004. Cara Mudah Memadukan Web Design dan Web
Programming. Jakarta: PT Elex Media Komputindo
Kadir, Abdul. 2003. Pemograman WEB Mencakup HTML, CSS, JavaScript dan PHP.
Yogyakarta. Andi Offset
Kartoyo, Haris Supriansyah. 2006. 30 Menit Menjadi Webmaster. Bandung : Oase
Media
RS, Bernard. Pijono, A. Agustaf R. 2005. Mudah dan Cepat Menguasai Pemograman
WEB. Bandung : Informatika Bandung
Syafii, M. 2005. Panduan Membuat Aplikasi Database dengan PHP 5. Yogyakarta :
Andi Offset
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
117
Listing Program Index.php <html> <head> <title>:: Sistem Absensi CV. FLASHINDOMEDIA ::</title> <link href="style.css" rel="stylesheet" type="text/css" /> <link rel="shortcut icon" href="favicon.ico" > <link rel="icon" type="image/gif" href="animated_favicon1.gif" > </head> <body> <div id="header"> <div id="content"> <h2>Login Absensi</h2> <img src="images/login-welcome.gif" width="97" height="105" hspace="10" align="left"> <?php include "form_login.php"; ?> </div> <div id="content"> <?php include "hadir.php"; ?> </div> <div id="footer"> Copyright © 2009 by mira </div> </div> </body> </html> Aksi.php <?php session_start(); include "config/koneksi.php"; include "config/library.php"; $act=$_GET[act]; if($act=='update'){ $lokasi_file = $_FILES['fupload']['tmp_name']; $nama_file = $_FILES['fupload']['name']; $tgl_lahir=sprintf("%02d%02d%02d",$_POST[thn_lahir],$_POST[bln_lahir],$_POST[tgl_lahir]); if (empty($lokasi_file)){ mysql_query("UPDATE karyawan SET alamat = '$_POST[almt]', t4_lahir = '$_POST[t4_lahir]', tgl_lahir = '$tgl_lahir', telp = '$_POST[telp]' WHERE nik = '$_POST[nik]'"); } else{ move_uploaded_file($lokasi_file,"admin/images/photo/$nama_file"); mysql_query("UPDATE karyawan SET alamat = '$_POST[almt]', t4_lahir = '$_POST[t4_lahir]', tgl_lahir = '$tgl_lahir', telp = '$_POST[telp]', photo = '$nama_file' WHERE nik = '$_POST[nik]'"); } header('location:media.php?modul=home'); }elseif($act =='change'){ $pas=md5($_POST[pass]); $p=mysql_query("select * from karyawan where nik = '$_POST[nik]' and password ='$pas'");
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
118
$j=mysql_num_rows($p); if($j > 0){ if($_POST[pass1]==$_POST[pass2]){ $pas1=md5($_POST[pass1]); mysql_query("update karyawan set password = '$pas1' where nik = '$_POST[nik]' "); header('location:media.php?modul=passchange'); }else{ echo "<link href=style.css rel=stylesheet type=text/css>"; echo "Password tidak cocok<br>"; echo "<a href=media.php?modul=passchange><b>ULANGI LAGI</b></a></center>"; } }else{ echo "<link href=style.css rel=stylesheet type=text/css>"; echo "Password Anda Salah<br>"; echo "<a href=media.php?modul=passchange><b>ULANGI LAGI</b></a></center>"; } } ?> Media.php <?php session_start(); include "config/koneksi.php"; include "config/library.php"; include "config/fungsi_combobox.php"; include "config/fungsi_indotgl.php"; ?> <!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=windows-1252" /> <link href='style.css' rel='stylesheet' type='text/css'> <title>:: Sistem Absensi CV. FLASHINDOMEDIA ::</title> </head> <body> <div id="header"> <div id="content"> <div id="nav"> <a href="?modul=home"> Home </a> | <a href="?modul=edit"> Edit Profile </a> | <a href="?modul=passchange"> Change Password </a> | <a href="?modul=absen"> Lihat Absensi </a> | <a href="logout.php"> Logout</a> </div> <?php if($_GET[modul]=='edit'){ $nik=$_SESSION[nik]; $sq=mysql_query("select * from karyawan, jabatan where nik='$nik' and karyawan.kode_jabatan = jabatan.kode_jabatan "); $d=mysql_fetch_array($sq);
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
119
echo " <h2>Edit Profil</h2> <form method=post enctype='multipart/form-data' action=aksi.php?act=update> <input type=hidden name=nik value='$d[nik]'> <table> <tr><td>Nik</td><td>: $d[nik]</td></tr> <tr><td>Nama</td><td>: $d[nama]</td></tr> <tr><td>Alamat</td><td>: <textarea name=almt cols=20 rows=2>$d[alamat]</textarea></td></tr> <tr><td>Tempat / Tanggal Lahir</td><td>: <input type=text name=t4_lahir value='$d[t4_lahir]'>"; $get_tgl=substr("$d[tgl_lahir]",8,2); combotgl2(1,31,'tgl_lahir',$get_tgl); $get_bln=substr("$d[tgl_lahir]",5,2); combobln3(1,12,'bln_lahir',$get_bln); $get_thn=substr("$d[tgl_lahir]",0,4); $thn_skrg=date("Y"); combotgl2($get_thn-10,$thn_sekarang+2,'thn_lahir',$get_thn); echo " </td></tr> <tr><td>Jenis Kelamin</td><td>: $d[gender]</td></tr> <tr><td>No. Telp</td><td>: <input type=text name=telp value='$d[telp]'></td></tr> <tr><td>Jabatan</td><td>: $d[nama_jabatan]</td></tr> <tr><td>Photo</td><td> : <img src='admin/images/photo/$d[photo]' width=100 height=100 border=0></td></tr> <tr><td>Ganti Photo</td> <td> : <input type=file name=fupload> *)</td></tr> <tr><td colspan=2>*) Apabila gambar tidak diubah, dikosongkan saja.</td></tr> <tr><td colspan=2><input type=submit value=Simpan id=submit> <input type=button value=Batal id=submit onclick=self.history.back()></td></tr> </table> </form> "; }elseif($_GET[modul]=='passchange'){ $nik=$_SESSION[nik]; $p=mysql_query("select * from karyawan where nik = '$nik' "); $e=mysql_fetch_array($p); echo " <h2>Ganti Password</h2> <form method=post action=aksi.php?act=change> <input type=hidden name=nik value='$e[nik]'> <table> <tr><td>Current Password</td><td>: <input type=password name=pass ></td></tr> <tr><td>New Password</td><td>: <input type=password name=pass1 ></td></tr> <tr><td>Retype New Password</td><td>: <input type=password name=pass2></td></tr> <tr><td colspan=2><input type=submit id=submit value=Update> <input type=button value=Batal id=submit onclick=self.history.back()></td></tr> </table> </form> "; }elseif($_GET[modul]=='absen'){ $nik=$_SESSION[nik]; $m=date("m"); $y=date("Y"); echo "<h2>Absensi</h2> <form action=?act=tampilkan method=POST>
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
120
<table> <tr><td>Bulan</td><td>:"; $bln=date("m"); combobln3(1,12,'bln',$bln); $thn_skrg=date("Y"); combotgl2($thn_sekarang-2,$thn_sekarang+2,'thn',$thn_skrg); echo " </td><td><input type=submit value=Tampilkan></td></tr> </table> <h2 align=center>Absensi<br>Bulan $m $y</h2> <table> <tr><th>no</th><th>Tanggal</th><th>NIK</th><th>Nama</th><th>Jabatan</th><th>Jam Masuk</th><th>Jam Istirahat</th><th>Jam Masuk Istirahat</th><th>Jam Keluar</th></tr>"; $tampil=mysql_query("SELECT * from absensi,karyawan,jabatan where absensi.nik=karyawan.nik and absensi.nik='$nik' and karyawan.kode_jabatan=jabatan.kode_jabatan and month(tanggal)='$m' and year(tanggal)='$y' order by tanggal"); $no=1; while ($r=mysql_fetch_array($tampil)){ $tgl=tgl_indo($r[tanggal]); echo "<tr><td>$no</td> <td>$tgl</td> <td>$r[nik]</td> <td>$r[nama]</td> <td>$r[nama_jabatan]</td> <td>$r[masuk]</td> <td>$r[istirahat]</td> <td>$r[msk_istirahat]</td> <td>$r[keluar]</td> </tr>"; $no++; } echo "</table>"; } elseif ($_GET[act]=='tampilkan'){ $m=$_POST[bln]; $y=$_POST[thn]; $nik=$_SESSION[nik]; echo "<h2>Absensi</h2> <form action=?act=tampilkan method=POST> <table> <tr><td>Bulan</td><td>:"; $bln=date("m"); combobln3(1,12,'bln',$bln); $thn_skrg=date("Y"); combotgl2($thn_sekarang-2,$thn_sekarang+2,'thn',$thn_skrg); echo " </td><td><input type=submit value=Tampilkan></td></tr> </table> <h2 align=center>Absensi <br>Bulan $m $y</h2> <table> <tr><th>no</th><th>Tanggal</th><th>NIK</th><th>Nama</th><th>Jabatan</th><th>Jam Masuk</th><th>Jam Istirahat</th><th>Jam Masuk Istirahat</th><th>Jam Keluar</th></tr>"; $tampil=mysql_query("SELECT * from absensi,karyawan,jabatan where absensi.nik=karyawan.nik and absensi.nik='$nik' and karyawan.kode_jabatan=jabatan.kode_jabatan and month(tanggal)='$m' and year(tanggal)='$y' order by tanggal"); $no=1; while ($r=mysql_fetch_array($tampil)){
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
121
$tgl=tgl_indo($r[tanggal]); echo "<tr><td>$no</td> <td>$tgl</td> <td>$r[nik]</td> <td>$r[nama]</td> <td>$r[nama_jabatan]</td> <td>$r[masuk]</td> <td>$r[istirahat]</td> <td>$r[msk_istirahat]</td> <td>$r[keluar]</td> </tr>"; $no++; } echo "</table>"; }else{ if (empty($_SESSION[nik]) AND empty($_SESSION[pass])){ echo "<link href='style.css' rel='stylesheet' type='text/css'> <center>Anda harus login <br>"; echo "<a href=index.php><b>LOGIN</b></a></center>"; } else{ ?> <?php $nik=$_SESSION[nik]; $s=mysql_query("select * from karyawan, absensi where karyawan.nik = absensi.nik and karyawan.nik='$nik' and absensi.nik='$nik' and absensi.tanggal='$tgl_sekarang' "); $r=mysql_fetch_array($s); echo "<h2>Selamat Datang</h2>"; echo " <table width=60% border=0 cellspacing=0 cellpadding=0> <tr> <td width=20% rowspan=6><img src='admin/images/photo/$r[photo]' width=120 height=120 hspace=10 border=0 align=center valign=top></td> <td width=20%>NIK</td> <td width=20%>: $r[nik]</td> </tr> <tr> <td>Nama</td> <td>: $r[nama]</td> </tr> <tr> <td>Jam Masuk </td> <td>: $r[masuk]</td> </tr> <tr> <td>Jam Istirahat </td> <td>: $r[istirahat]</td> </tr> <tr> <td>Jam Masuk Istirahat </td> <td>: $r[msk_istirahat]</td> </tr> <tr> <td>Jam Keluar </td> <td>: $r[keluar]</td> </tr> </table> ";
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
122
} } ?> </div> <div id="footer"> Copyright © 2009 by mira </div> </div> </body> </html> Logout.php <?php session_start(); session_destroy(); header('location:index.php'); ?> Form_login.php <?php echo "<form method=POST action=cek_login.php> <table> <tr><td>NIK</td><td> : <input type=text name=nik></td></tr> <tr><td>Password</td><td> : <input type=password name=pass></td></tr> <tr><td colspan=2><input type=submit value=Login id=submit></td></tr> </table> </form>"; ?> Hadir.php <?php include "config/koneksi.php"; include "config/library.php"; include "config/fungsi_indotgl.php"; $sq=mysql_query("select * from absensi, karyawan where absensi.nik=karyawan.nik and absensi.tanggal='$tgl_sekarang' order by absensi.masuk asc"); $r=mysql_num_rows($sq); if($r > 0){ echo "<table><tr><th>Tanggal</th><th>NIK</th><th>Nama</th><th>Jam Masuk</th><th>Jam Istirahat</th><th>Masuk Istirahat</th><th>Jam Pulang</th></tr>"; while($t=mysql_fetch_array($sq)){ $tgl=tgl_indo($t[tanggal]); echo "<tr> <td>$tgl</td> <td>$t[nik]</td> <td>$t[nama]</td> <td>$t[masuk]</td> <td>$t[istirahat]</td> <td>$t[msk_istirahat]</td> <td>$t[keluar]</td> </tr>"; } echo "</table>";
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
123
} ?> Cek_login.php <?php session_start(); include "config/koneksi.php"; include "config/library.php"; $pass=md5($_POST[pass]); $nik=$_POST[nik]; $login=mysql_query("select * from karyawan where nik='$nik' and password='$pass'"); $ketemu=mysql_num_rows($login); $r=mysql_fetch_array($login); if($ketemu > 0){ $_SESSION[nik]=$r[nik]; $_SESSION[pass]=$r[password]; $k=mysql_query("select * from absensi where tanggal='$tgl_sekarang' and nik='$nik'"); $m=mysql_fetch_array($k); $n=mysql_num_rows($k); $nik=$_SESSION[nik]; if($m[ket]==0){ mysql_query("insert into absensi(tanggal, nik, masuk, ket) values('$tgl_sekarang', '$nik','$jam_sekarang','1')") or die("data gagal masuk"); header('location:media.php?modul=home'); }elseif($m[ket]==1 or $ket==2){ if($n > 0){ mysql_query("update absensi set istirahat = '$jam_sekarang', ket = $m[ket]+1 where tanggal='$tgl_sekarang' and nik='$nik'"); header('location:media.php?modul=home'); }else{ echo "<link href=style.css rel=stylesheet type=text/css>"; echo "<center>Anda belum Login Jam Masuk<br>Silahkan Login Masuk Terlebih Dahulu<br>"; echo "<a href=index.php><b>ULANGI LAGI</b></a></center>"; } }elseif($m[ket]==2 or $ket==3){ if($n > 0){ mysql_query("update absensi set msk_istirahat = '$jam_sekarang', ket = $m[ket]+1 where tanggal='$tgl_sekarang' and nik='$nik'"); header('location:media.php?modul=home'); }else{ echo "<link href=style.css rel=stylesheet type=text/css>";
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
124
echo "<center>Anda belum Login Jam Masuk<br>Silahkan Login Masuk Terlebih Dahulu<br>"; echo "<a href=index.php><b>ULANGI LAGI</b></a></center>"; } }elseif($m[ket]==3 or $ket==4){ if($n > 0){ mysql_query("update absensi set keluar = '$jam_sekarang', ket = $m[ket]+1 where tanggal='$tgl_sekarang' and nik='$nik'"); header('location:media.php?modulss=home'); }else{ echo "<link href=style.css rel=stylesheet type=text/css>"; echo "<center>Anda belum Login Jam Masuk<br>Silahkan Login Masuk Terlebih Dahulu<br>"; echo "<a href=index.php><b>ULANGI LAGI</b></a></center>"; } }else{ echo "<link href=style.css rel=stylesheet type=text/css>"; echo "<center>Maaf Anda Tidak dapat absen lagi hari ini<br>"; echo "<a href=index.php><b>Kembali</b></a></center>"; } } else{ echo "<link href=style.css rel=stylesheet type=text/css>"; echo "<center>Login gagal! username & password tidak benar<br>"; echo "<a href=index.php><b>ULANGI LAGI</b></a></center>"; } ?> Style.css body{ font-family: Tahoma; text-align: center; } #header { position: relative; background-image: url(images/header.jpg); background-repeat: no-repeat; margin-right: auto; margin-left: auto; width: 780px; border: 2px solid #265180; padding-top: 70px; text-align: left; } #content { margin-left: 20px; padding: 20px 10px 0 0; } #content p { font-size: 75%; line-height: 1.8em; padding-left: 2em; } #menu { position: absolute; top: 90px;
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
125
left: 0; width: 180px; } #menu ul { list-style: none; margin: 0; padding: 0; border: none; } #menu li { width: 180px; border-bottom: 1px solid #969BA5; margin: 0; padding: 0; font-size: 80%; vertical-align: bottom; } #menu a:link, #menu a:visited { display: block; padding: 5px 5px 5px 0.5em; border-left: 12px solid #265180; border-right: 1px solid #265180; background-color: #CAD6EC; color: #265180; text-decoration: none; } #menu a:hover { background-color: #265180; color: #FFFFFF; } a:link,a:visited { color:#265180; text-decoration:none; } a:hover { color: #FF6600; text-decoration:none; } h2 { font: normal 120% Georgia; color: #265180; background-color: transparent; border-bottom: 1px dotted #265180; } table { font-family: Tahoma; font-size: 8pt; border-width: 1px; border-style: solid; border-color: #999999; border-collapse: collapse; margin: 10px 0px; } th{ color: #FFFFFF; font-size: 7pt; text-transform: uppercase; text-align: center; padding: 0.5em; border-width: 1px; border-style: solid; border-color: #969BA5; border-collapse: collapse; background-color: #265180; } td{ padding: 0.5em;
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
126
vertical-align:top; border-width: 1px; border-style: solid; border-color: #969BA5; border-collapse: collapse; } input,textarea,select{ font-family: Tahoma; font-size: 8pt; } #footer{ text-align:left; padding: 20px 0 10px 255px; font-size: 70%; color: #FFFFFF; background-color: #265180; } #nav{ text-align:left; position:relative; height:20px; font-size: 70%; color: #FFFFFF; background-color: #265180; } #nav a:link, #nav a:visited{ color: #fff; text-decoration:none; } #nav a:hover{ color: #a5a2a2; text-decoration:none; } #submit { color:#FFF; font-size:1em; font-weight:bold; width:auto; background:#265180; } input#submit:hover { border-color:#003366; } .datepicker table { border-width:0px; border-collapse:collapse; border-spacing:0; } .datepicker th{ color: #FFFFFF; font-size: 7pt; text-transform: uppercase; text-align: center; padding: 0.05em; border-width: 0px; border-collapse: collapse; background: #121212; } .datepicker td{ padding: 0.05em; vertical-align:top; border-width: 0px;
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
127
border-collapse: collapse; } .datepicker { position: relative; font-family: Arial, Helvetica, sans-serif; font-size: 12px; width: 196px; height: 147px; position: absolute; cursor: default; top: 0; left: 0; display: none; } .datepickerContainer { background: #121212; position: absolute; top: 10px; left: 10px; } .datepickerBorderT { position: absolute; left: 10px; top: 0; right: 10px; height: 10px; background: url(images/datepicker_t.png); } .datepickerBorderB { position: absolute; left: 10px; bottom: 0; right: 10px; height: 10px; background: url(images/datepicker_b.png); } .datepickerBorderL { position: absolute; left: 0; bottom: 10px; top: 10px; width: 10px; background: url(images/datepicker_l.png); } .datepickerBorderR { position: absolute; right: 0; bottom: 10px; top: 10px; width: 10px; background: url(images/datepicker_r.png); } .datepickerBorderTL { position: absolute; top: 0; left: 0; width: 10px; height: 10px; background: url(images/datepicker_tl.png); } .datepickerBorderTR { position: absolute; top: 0; right: 0; width: 10px; height: 10px; background: url(images/datepicker_tr.png);
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
128
} .datepickerBorderBL { position: absolute; bottom: 0; left: 0; width: 10px; height: 10px; background: url(images/datepicker_bl.png); } .datepickerBorderBR { position: absolute; bottom: 0; right: 0; width: 10px; height: 10px; background: url(images/datepicker_br.png); } .datepickerHidden { display: none; } .datepicker table { border-collapse:collapse; border-spacing:0; border-collapse:collapse; } .datepicker a { color: #eee; text-decoration: none; cursor: default; outline: none; } .datepicker table td { text-align: right; padding: 0; margin: 0; } .datepicker th { text-align: center; color: #999; font-weight: normal; } .datepicker tbody th { text-align: left; } .datepicker tbody a { display: block; } .datepickerDays a { width: 20px; line-height: 16px; height: 16px; padding-right: 2px; } .datepickerYears a, .datepickerMonths a{ width: 44px; line-height: 36px; height: 36px; text-align: center; } td.datepickerNotInMonth a { color: #666; } tbody.datepickerDays td.datepickerSelected{ background: #136A9F; } tbody.datepickerDays td.datepickerNotInMonth.datepickerSelected { background: #17384d; }
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
129
tbody.datepickerYears td.datepickerSelected, tbody.datepickerMonths td.datepickerSelected{ background: #17384d; } .datepicker a:hover, .datepicker a:hover { color: #88c5eb; } .datepicker td.datepickerNotInMonth a:hover { color: #999; } .datepicker tbody th { text-align: left; } .datepickerSpace div { width: 20px; } .datepickerGoNext a, .datepickerGoPrev a, .datepickerMonth a { text-align: center; height: 20px; line-height: 20px; } .datepickerGoNext a { float: right; width: 20px; } .datepickerGoPrev a { float: left; width: 20px; } table.datepickerViewDays tbody.datepickerMonths, table.datepickerViewDays tbody.datepickerYears { display: none; } table.datepickerViewMonths tbody.datepickerDays, table.datepickerViewMonths tbody.datepickerYears, table.datepickerViewMonths tr.datepickerDoW { display: none; } table.datepickerViewYears tbody.datepickerDays, table.datepickerViewYears tbody.datepickerMonths, table.datepickerViewYears tr.datepickerDoW { display: none; } td.datepickerDisabled a, td.datepickerDisabled.datepickerNotInMonth a{ color: #333; } td.datepickerDisabled a:hover { color: #333; } td.datepickerSpecial a { background: #700; } td.datepickerSpecial.datepickerSelected a { background: #a00; } Absensi/Admin Index.php <html> <head> <title>:: ABSENSI CV. FLASHINDOMEDIA ::</title>
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
130
<link href="../config/adminstyle.css" rel="stylesheet" type="text/css" /> <link rel="shortcut icon" href="../favicon.ico" > <link rel="icon" type="image/gif" href="../animated_favicon1.gif" > </head> <body> <div id="header"> <div id="content"> <h2>Login Admin</h2> <img src="images/login-welcome.gif" width="97" height="105" hspace="10" align="left"> <?php include "form_login.php"; ?> <p> </p> </div> <div id="footer"> Copyright © 2009 </div> </div> </body> </html> Menu.php <?php include "../config/koneksi.php"; if ($_SESSION[namauser]=='admin'){ $sql=mysql_query("select * from modul where aktif='Y' order by urutan"); } else{ $sql=mysql_query("select * from modul where status='user' and aktif='Y' order by urutan"); } while ($data=mysql_fetch_array($sql)){ echo "<li><a href='$data[link]'>» $data[nama_modul]</a></li>"; } ?> Aksi.php <?php session_start(); include "../config/koneksi.php"; include "../config/library.php"; include('fpdf.php'); $modul=$_GET[modul]; $act=$_GET[act]; if ($modul=='jabatan' AND $act=='input'){ mysql_query("INSERT INTO jabatan(kode_jabatan, nama_jabatan) VALUES('$_POST[kode_jabatan]', '$_POST[nama_jabatan]')"); header('location:media.php?modul='.$modul); } elseif ($modul=='jabatan' AND $act=='update'){ mysql_query("UPDATE jabatan SET kode_jabatan = '$_POST[kode_jabatan]', nama_jabatan = '$_POST[nama_jabatan]' WHERE id_user = '$_POST[id]'"); header('location:media.php?modul='.$modul); } elseif($modul=='jabatan' and $act=='hapus'){ mysql_query("DELETE FROM jabatan WHERE kode_jabatan='$_GET[id]' ");
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
131
header('location:media.php?modul='.$modul); } elseif ($modul=='karyawan' AND $act=='input'){ $tanggal=sprintf("%02d%02d%02d",$_POST[year],$_POST[month],$_POST[day]); $lokasi_file = $_FILES['fupload']['tmp_name']; $nama_file = $_FILES['fupload']['name']; $pass=md5($_POST[pass]); if (!empty($lokasi_file)){ move_uploaded_file($lokasi_file,"images/photo/$nama_file"); mysql_query("INSERT INTO karyawan(nik, nama, alamat, t4_lahir, tgl_lahir, gender, telp, kode_jabatan, password, level, photo) VALUES('$_POST[nik]', '$_POST[nama]', '$_POST[alamat]', '$_POST[t4_lahir]', '$tanggal', '$_POST[gender]', '$_POST[telp]', '$_POST[jabatan]', '$pass', '$_POST[level]', '$nama_file')"); }else{ mysql_query("INSERT INTO karyawan(nik, nama, alamat, t4_lahir, tgl_lahir, gender, telp, kode_jabatan, password, level) VALUES('$_POST[nik]', '$_POST[nama]', '$_POST[alamat]', '$_POST[t4_lahir]', '$tanggal', '$_POST[gender]', '$_POST[telp]', '$_POST[jabatan]', '$pass', '$_POST[level]')"); } header('location:media.php?modul='.$modul); } // Update modul elseif ($modul=='karyawan' AND $act=='update'){ $tgl_lahir=sprintf("%02d%02d%02d",$_POST[thn_lahir],$_POST[bln_lahir],$_POST[tgl_lahir]); $lokasi_file = $_FILES['fupload']['tmp_name']; $nama_file = $_FILES['fupload']['name']; $pass=md5($_POST[pass]); // Apabila gambar tidak diganti if (empty($lokasi_file)){ mysql_query("UPDATE karyawan SET nik = '$_POST[nik]',
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
132
nama = '$_POST[nama]', alamat = '$_POST[alamat]', t4_lahir = '$_POST[t4_lahir]', tgl_lahir = '$tgl_lahir', gender = '$_POST[gender]', telp = '$_POST[telp]', kode_jabatan = '$_POST[jabatan]', password = '$pass', level = '$_POST[level]' WHERE nik = '$_POST[id]'"); } else{ move_uploaded_file($lokasi_file,"images/photo/$nama_file"); mysql_query("UPDATE karyawan SET nik = '$_POST[nik]', nama = '$_POST[nama]', alamat = '$_POST[alamat]', t4_lahir = '$_POST[t4_lahir]', tgl_lahir = '$tgl_lahir', gender = '$_POST[gender]', telp = '$_POST[telp]', kode_jabatan = '$_POST[jabatan]', password = '$pass', level = '$_POST[level]', photo = '$nama_file' WHERE nik = '$_POST[id]'"); } header('location:media.php?modul='.$modul); } elseif($modul=='karyawan' and $act=='hapus'){ mysql_query("DELETE FROM karyawan WHERE nik='$_GET[id]' "); header('location:media.php?modul='.$modul); } // Input absensi admin elseif ($modul=='absensi' AND $act=='input'){ $tanggal=sprintf("%02d%02d%02d",$_POST[year],$_POST[month],$_POST[day]); mysql_query("INSERT INTO absensi(tanggal, nik, masuk, istirahat, msk_istirahat, keluar) VALUES('$tanggal', '$_POST[nik]', '$_POST[masuk]', '$_POST[istirahat]', '$_POST[msk_istirahat]', '$_POST[keluar]')"); header('location:media.php?modul='.$modul); } // Update absensi elseif ($modul=='absensi' AND $act=='update'){ $tgl=sprintf("%02d%02d%02d",$_POST[thn],$_POST[bln],$_POST[tgl]);
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
133
mysql_query("UPDATE absensi SET tanggal = '$tgl', masuk = '$_POST[masuk]', istirahat = '$_POST[istirahat]', msk_istirahat = '$_POST[msk_istirahat]', keluar = '$_POST[keluar]' WHERE nik = '$_POST[id]'"); header('location:media.php?modul='.$modul); } elseif($modul=='absensi' and $act=='hapus'){ mysql_query("DELETE FROM absensi WHERE nik='$_GET[id]' and tanggal='$_GET[tgl]'"); header('location:media.php?modul='.$modul); } // Input cuti elseif ($modul=='cuti' AND $act=='input'){ $mulai=sprintf("%02d%02d%02d",$_POST[thn_mulai],$_POST[bln_mulai],$_POST[tgl_mulai]); $selesai=sprintf("%02d%02d%02d",$_POST[thn_selesai],$_POST[bln_selesai],$_POST[tgl_selesai]); mysql_query("INSERT INTO cuti(nik, tgl_mulai, tgl_selesai, ket) VALUES('$_POST[nik]', '$mulai', '$selesai', '$_POST[ket]')"); header('location:media.php?modul='.$modul); } // Update cuti elseif ($modul=='cuti' AND $act=='update'){ $mulai=sprintf("%02d%02d%02d",$_POST[thn_mulai],$_POST[bln_mulai],$_POST[tgl_mulai]); $selesai=sprintf("%02d%02d%02d",$_POST[thn_selesai],$_POST[bln_selesai],$_POST[tgl_selesai]); mysql_query("UPDATE cuti SET tgl_mulai = '$mulai', tgl_selesai = '$selesai', ket = '$_POST[ket]' WHERE nik = '$_POST[id]'"); header('location:media.php?modul='.$modul); } elseif($modul=='cuti' and $act=='hapus'){ mysql_query("DELETE FROM cuti WHERE id='$_GET[id]'"); header('location:media.php?modul='.$modul); } elseif ($modul=='ijin' AND $act=='input'){ $mulai=sprintf("%02d%02d%02d",$_POST[thn_mulai],$_POST[bln_mulai],$_POST[tgl_mulai]); $selesai=sprintf("%02d%02d%02d",$_POST[thn_selesai],$_POST[bln_selesai],$_POST[tgl_selesai]); mysql_query("INSERT INTO ijin(nik, tgl_mulai, tgl_selesai,
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
134
ket) VALUES('$_POST[nik]', '$mulai', '$selesai', '$_POST[ket]')"); header('location:media.php?modul='.$modul); } // Update ijin elseif ($modul=='ijin' AND $act=='update'){ $mulai=sprintf("%02d%02d%02d",$_POST[thn_mulai],$_POST[bln_mulai],$_POST[tgl_mulai]); $selesai=sprintf("%02d%02d%02d",$_POST[thn_selesai],$_POST[bln_selesai],$_POST[tgl_selesai]); mysql_query("UPDATE ijin SET tgl_mulai = '$mulai', tgl_selesai = '$selesai', ket = '$_POST[ket]' WHERE nik = '$_POST[id]'"); header('location:media.php?modul='.$modul); } elseif($modul=='ijin' and $act=='hapus'){ mysql_query("DELETE FROM ijin WHERE id='$_GET[id]'"); header('location:media.php?modul='.$modul); } elseif($modul=='cetak' and $act=='global'){ $m=date("m"); $y=date("Y"); $qry_data =mysql_query("SELECT * ,TIMEDIFF( `masuk` , '08:15:00' ) AS `selisih` from absensi,karyawan,jabatan where absensi.nik=karyawan.nik and karyawan.kode_jabatan=jabatan.kode_jabatan and month(tanggal)='$m' and year(tanggal)='$y' order by tanggal"); $_nData =mysql_num_rows($qry_data); if ($_nData > 0) { $pdf = new FPDF('P', 'mm', 'A4'); $headerData = array("No","tanggal", "NIK","Nama", "Jabatan", "Jam Masuk", "Istirahat", "Msk Istirahat", "keluar", "Keterlambatam"); $pdf->AddPage(); //HEADER $pdf->setXY(5,5); $pdf->SetFont('Arial','',8.5); //TITLE $pdf->SetFont('Arial','B',12); $pdf->Cell(0,6,"Laporan Data Absensi Global",0,1,'C',0); $pdf->Ln(); $pdf->Cell(0,6,"Bulan $m Tahun $y",0,1,'C',0); $pdf->Ln(4); //BODY $pdf->SetMargins(5, 25, 5, 5); $pdf->SetXY(5, 35); $pdf->SetFont('Arial','',8.5); $pdf->SetFillColor(193,193,193); $pdf->SetTextColor(0); $pdf->SetLineWidth(.1); $pdf->SetFont('','', 7); $w = array(5,17,17,30,30,15,15,19,15,20); $nHD = count($headerData);
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
135
for($i = 0; $i < $nHD; $i++) $pdf->Cell($w[$i], 5, $headerData[$i], 1, 0, 'C', 1); $pdf->Ln(); $pdf->SetFillColor(231,231,231); $fill = 0; $iData = 1; while($record_data = mysql_fetch_array($qry_data)) { $ln = 0; $pdf->Cell($w[0],6,$iData,1,$ln,'C',$fill); $pdf->Cell($w[1],6,$record_data["tanggal"],1,$ln,'C',$fill); $pdf->Cell($w[2],6,$record_data["nik"],1,$ln,'C',$fill); $pdf->Cell($w[3],6,$record_data["nama"],1,$ln,'C',$fill); $pdf->Cell($w[4],6,$record_data["nama_jabatan"],1,$ln,'C',$fill); $pdf->Cell($w[5],6,$record_data["masuk"],1,$ln,'C',$fill); $pdf->Cell($w[6],6,$record_data["istirahat"],1,$ln,'C',$fill); $pdf->Cell($w[7],6,$record_data["msk_istirahat"],1,$ln,'C',$fill); $pdf->Cell($w[8],6,$record_data["keluar"],1,$ln,'C',$fill); $pdf->Cell($w[9],6,$record_data["selisih"],1,$ln,'C',$fill); $pdf->Ln(); $fill=!$fill; $iData++; $ln = 0; if ($iData == 24 || $_nData < $iData) { $ln = 1; $pdf->SetY(179); $pdf->SetFont('Arial','I',8); $pdf->Cell(0,10,$pdf->PageNo(),0,$ln,'R'); } unset($_val); } $pdf->Cell(array_sum($w),0,'','T'); $pdf->Output(); } header('location:media.php?modul=global'); } elseif($modul=='cetak' and $act=='tampilkan'){ $m=$_POST[m]; $y=$_POST[y]; $nik=$_POST[nik]; if(empty($_POST[nik])){ $qry_data=mysql_query("SELECT * ,TIMEDIFF( `masuk` , '08:15:00' ) AS `selisih` from absensi,karyawan,jabatan where absensi.nik=karyawan.nik and karyawan.kode_jabatan=jabatan.kode_jabatan and month(tanggal)='$m' and year(tanggal)='$y' order by tanggal"); }else{ $qry_data=mysql_query("SELECT * ,TIMEDIFF( `masuk` , '08:15:00' ) AS `selisih` from absensi,karyawan,jabatan where absensi.nik=karyawan.nik and absensi.nik='$nik' and karyawan.kode_jabatan=jabatan.kode_jabatan and month(tanggal)='$m' and year(tanggal)='$y' order by tanggal"); } $_nData =mysql_num_rows($qry_data); if ($_nData > 0) { $pdf = new FPDF('P', 'mm', 'A4');
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
136
$headerData = array("No","tanggal", "NIK","Nama", "Jabatan", "Jam Masuk", "Istirahat", "Msk Istirahat", "keluar", "Keterlambatam"); $pdf->AddPage(); //HEADER $pdf->setXY(5,5); $pdf->SetFont('Arial','',8.5); //TITLE $pdf->SetFont('Arial','B',12); $pdf->Cell(0,6,"Laporan Data Absensi Global",0,1,'C',0); $pdf->Ln(); $pdf->Cell(0,6,"Bulan $m Tahun $y",0,1,'C',0); $pdf->Ln(4); //BODY $pdf->SetMargins(5, 25, 5, 5); $pdf->SetXY(5, 35); $pdf->SetFont('Arial','',8.5); $pdf->SetFillColor(193,193,193); $pdf->SetTextColor(0); $pdf->SetLineWidth(.1); $pdf->SetFont('','', 7); $w = array(5,17,17,30,30,15,15,19,15,20); $nHD = count($headerData); for($i = 0; $i < $nHD; $i++) $pdf->Cell($w[$i], 5, $headerData[$i], 1, 0, 'C', 1); $pdf->Ln(); $pdf->SetFillColor(231,231,231); $fill = 0; $iData = 1; while($record_data = mysql_fetch_array($qry_data)) { $ln = 0; $pdf->Cell($w[0],6,$iData,1,$ln,'C',$fill); $pdf->Cell($w[1],6,$record_data["tanggal"],1,$ln,'C',$fill); $pdf->Cell($w[2],6,$record_data["nik"],1,$ln,'C',$fill); $pdf->Cell($w[3],6,$record_data["nama"],1,$ln,'C',$fill); $pdf->Cell($w[4],6,$record_data["nama_jabatan"],1,$ln,'C',$fill); $pdf->Cell($w[5],6,$record_data["masuk"],1,$ln,'C',$fill); $pdf->Cell($w[6],6,$record_data["istirahat"],1,$ln,'C',$fill); $pdf->Cell($w[7],6,$record_data["msk_istirahat"],1,$ln,'C',$fill); $pdf->Cell($w[8],6,$record_data["keluar"],1,$ln,'C',$fill); $pdf->Cell($w[9],6,$record_data["selisih"],1,$ln,'C',$fill); $pdf->Ln(); $fill=!$fill; $iData++; $ln = 0; if ($iData == 24 || $_nData < $iData) { $ln = 1; $pdf->SetY(179); $pdf->SetFont('Arial','I',8); $pdf->Cell(0,10,$pdf->PageNo(),0,$ln,'R'); } unset($_val); } $pdf->Cell(array_sum($w),0,'','T');
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
137
$pdf->Output(); } header('location:media.php?modul=tampilkan'); } elseif($modul=='cetak' and $act='cuti'){ $m=date('m'); $y=date('Y'); $qry_data =mysql_query("SELECT * from cuti,karyawan,jabatan where cuti.nik=karyawan.nik and karyawan.kode_jabatan=jabatan.kode_jabatan and month(tgl_mulai)='$m' and year(tgl_mulai)='$y' order by tgl_mulai"); $_nData =mysql_num_rows($qry_data); if ($_nData > 0) { $pdf = new FPDF('P', 'mm', 'A4'); $headerData = array("No","NIK", "Nama","Jabatan", "Tanggal Mulai", "Tanggal Selesai", "Keterangan"); $pdf->AddPage(); //HEADER $pdf->setXY(5,5); $pdf->SetFont('Arial','',8.5); //TITLE $pdf->SetFont('Arial','B',12); $pdf->Cell(0,6,"Laporan Data Cuti",0,1,'C',0); $pdf->Ln(); $pdf->Cell(0,6,"Bulan $m Tahun $y",0,1,'C',0); $pdf->Ln(4); //BODY $pdf->SetMargins(5, 25, 5, 5); $pdf->SetXY(5, 35); $pdf->SetFont('Arial','',8.5); $pdf->SetFillColor(193,193,193); $pdf->SetTextColor(0); $pdf->SetLineWidth(.1); $pdf->SetFont('','', 7); $w = array(5,17,30,30,19,22,20); $nHD = count($headerData); for($i = 0; $i < $nHD; $i++) $pdf->Cell($w[$i], 5, $headerData[$i], 1, 0, 'C', 1); $pdf->Ln(); $pdf->SetFillColor(231,231,231); $fill = 0; $iData = 1; while($record_data = mysql_fetch_array($qry_data)) { $ln = 0; $pdf->Cell($w[0],6,$iData,1,$ln,'C',$fill); $pdf->Cell($w[1],6,$record_data["nik"],1,$ln,'C',$fill); $pdf->Cell($w[2],6,$record_data["nama"],1,$ln,'C',$fill); $pdf->Cell($w[3],6,$record_data["nama_jabatan"],1,$ln,'C',$fill); $pdf->Cell($w[4],6,$record_data["tgl_mulai"],1,$ln,'C',$fill); $pdf->Cell($w[5],6,$record_data["tgl_selesai"],1,$ln,'C',$fill); $pdf->Cell($w[6],6,$record_data["ket"],1,$ln,'C',$fill); $pdf->Ln(); $fill=!$fill; $iData++;
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
138
$ln = 0; if ($iData == 24 || $_nData < $iData) { $ln = 1; $pdf->SetY(179); $pdf->SetFont('Arial','I',8); $pdf->Cell(0,10,$pdf->PageNo(),0,$ln,'R'); } unset($_val); } $pdf->Cell(array_sum($w),0,'','T'); $pdf->Output(); } header('location:media.php?modul=lapcuti'); } elseif($modul=='cetak' and $act='tampilkancuti'){ $m=$_POST[m]; $y=$_POST[y]; $qry_data =mysql_query("SELECT * from cuti,karyawan,jabatan where cuti.nik=karyawan.nik and karyawan.kode_jabatan=jabatan.kode_jabatan and month(tgl_mulai)='$m' and year(tgl_mulai)='$y' order by tgl_mulai"); $_nData =mysql_num_rows($qry_data); if ($_nData > 0) { $pdf = new FPDF('P', 'mm', 'A4'); $headerData = array("No","NIK", "Nama","Jabatan", "Tanggal Mulai", "Tanggal Selesai", "Keterangan"); $pdf->AddPage(); //HEADER $pdf->setXY(5,5); $pdf->SetFont('Arial','',8.5); //TITLE $pdf->SetFont('Arial','B',12); $pdf->Cell(0,6,"Laporan Data Cuti",0,1,'C',0); $pdf->Ln(); $pdf->Cell(0,6,"Bulan $m Tahun $y",0,1,'C',0); $pdf->Ln(4); //BODY $pdf->SetMargins(5, 25, 5, 5); $pdf->SetXY(5, 35); $pdf->SetFont('Arial','',8.5); $pdf->SetFillColor(193,193,193); $pdf->SetTextColor(0); $pdf->SetLineWidth(.1); $pdf->SetFont('','', 7); $w = array(5,17,30,30,19,22,20); $nHD = count($headerData); for($i = 0; $i < $nHD; $i++) $pdf->Cell($w[$i], 5, $headerData[$i], 1, 0, 'C', 1); $pdf->Ln(); $pdf->SetFillColor(231,231,231); $fill = 0; $iData = 1;
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
139
while($record_data = mysql_fetch_array($qry_data)) { $ln = 0; $pdf->Cell($w[0],6,$iData,1,$ln,'C',$fill); $pdf->Cell($w[1],6,$record_data["nik"],1,$ln,'C',$fill); $pdf->Cell($w[2],6,$record_data["nama"],1,$ln,'C',$fill); $pdf->Cell($w[3],6,$record_data["nama_jabatan"],1,$ln,'C',$fill); $pdf->Cell($w[4],6,$record_data["tgl_mulai"],1,$ln,'C',$fill); $pdf->Cell($w[5],6,$record_data["tgl_selesai"],1,$ln,'C',$fill); $pdf->Cell($w[6],6,$record_data["ket"],1,$ln,'C',$fill); $pdf->Ln(); $fill=!$fill; $iData++; $ln = 0; if ($iData == 24 || $_nData < $iData) { $ln = 1; $pdf->SetY(179); $pdf->SetFont('Arial','I',8); $pdf->Cell(0,10,$pdf->PageNo(),0,$ln,'R'); } unset($_val); } $pdf->Cell(array_sum($w),0,'','T'); $pdf->Output(); } header('location:media.php?modul=tampilkancuti'); } elseif($modul=='print' AND $act='ijin'){ $m=date('m'); $y=date('Y'); $qry_dat = mysql_query("SELECT * from ijin,karyawan,jabatan where ijin.nik=karyawan.nik and karyawan.kode_jabatan=jabatan.kode_jabatan and month(tgl_mulai)='$m' and year(tgl_mulai)='$y' order by tgl_mulai"); $_nDat = mysql_num_rows($qry_dat); if ($_nDat > 0) { $pdf = new FPDF('P', 'mm', 'A4'); $headerData = array("No","NIK", "Nama","Jabatan", "Tanggal Mulai", "Tanggal Selesai", "Keterangan"); $pdf->AddPage(); //HEADER $pdf->setXY(5,5); $pdf->SetFont('Arial','',8.5); //TITLE $pdf->SetFont('Arial','B',12); $pdf->Cell(0,6,"Laporan Data Ijin",0,1,'C',0); $pdf->Ln(); $pdf->Cell(0,6,"Bulan $m Tahun $y",0,1,'C',0); $pdf->Ln(4); //BODY $pdf->SetMargins(5, 25, 5, 5); $pdf->SetXY(5, 35); $pdf->SetFont('Arial','',8.5); $pdf->SetFillColor(193,193,193); $pdf->SetTextColor(0); $pdf->SetLineWidth(.1);
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
140
$pdf->SetFont('','', 7); $w = array(5,17,30,30,19,22,20); $nHD = count($headerData); for($i = 0; $i < $nHD; $i++) $pdf->Cell($w[$i], 5, $headerData[$i], 1, 0, 'C', 1); $pdf->Ln(); $pdf->SetFillColor(231,231,231); $fill = 0; $iData = 1; while($record_dat = mysql_fetch_array($qry_dat)) { $ln = 0; $pdf->Cell($w[0],6,$iData,1,$ln,'C',$fill); $pdf->Cell($w[1],6,$record_dat["nik"],1,$ln,'C',$fill); $pdf->Cell($w[2],6,$record_dat["nama"],1,$ln,'C',$fill); $pdf->Cell($w[3],6,$record_dat["nama_jabatan"],1,$ln,'C',$fill); $pdf->Cell($w[4],6,$record_dat["tgl_mulai"],1,$ln,'C',$fill); $pdf->Cell($w[5],6,$record_dat["tgl_selesai"],1,$ln,'C',$fill); $pdf->Cell($w[6],6,$record_dat["ket"],1,$ln,'C',$fill); $pdf->Ln(); $fill=!$fill; $iData++; $ln = 0; if ($iData == 24 || $_nDat < $iData) { $ln = 1; $pdf->SetY(179); $pdf->SetFont('Arial','I',8); $pdf->Cell(0,10,$pdf->PageNo(),0,$ln,'R'); } unset($_val); } $pdf->Cell(array_sum($w),0,'','T'); $pdf->Output(); } header('location:media.php?modul=lapijin'); } elseif($modul=='print' and $act='tampilkanijin'){ $m=$_POST[m]; $y=$_POST[y]; $qry_dat =mysql_query("SELECT * from ijin,karyawan,jabatan where ijin.nik=karyawan.nik and karyawan.kode_jabatan=jabatan.kode_jabatan and month(tgl_mulai)='$m' and year(tgl_mulai)='$y' order by tgl_mulai"); $_nDat =mysql_num_rows($qry_data); if ($_nDat > 0) { $pdf = new FPDF('P', 'mm', 'A4'); $headerData = array("No","NIK", "Nama","Jabatan", "Tanggal Mulai", "Tanggal Selesai", "Keterangan"); $pdf->AddPage(); //HEADER $pdf->setXY(5,5); $pdf->SetFont('Arial','',8.5); //TITLE $pdf->SetFont('Arial','B',12);
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
141
$pdf->Cell(0,6,"Laporan Data Ijin",0,1,'C',0); $pdf->Ln(); $pdf->Cell(0,6,"Bulan $m Tahun $y",0,1,'C',0); $pdf->Ln(4); //BODY $pdf->SetMargins(5, 25, 5, 5); $pdf->SetXY(5, 35); $pdf->SetFont('Arial','',8.5); $pdf->SetFillColor(193,193,193); $pdf->SetTextColor(0); $pdf->SetLineWidth(.1); $pdf->SetFont('','', 7); $w = array(5,17,30,30,19,22,20); $nHD = count($headerData); for($i = 0; $i < $nHD; $i++) $pdf->Cell($w[$i], 5, $headerData[$i], 1, 0, 'C', 1); $pdf->Ln(); $pdf->SetFillColor(231,231,231); $fill = 0; $iData = 1; while($record_dat = mysql_fetch_array($qry_dat)) { $ln = 0; $pdf->Cell($w[0],6,$iData,1,$ln,'C',$fill); $pdf->Cell($w[1],6,$record_dat["nik"],1,$ln,'C',$fill); $pdf->Cell($w[2],6,$record_dat["nama"],1,$ln,'C',$fill); $pdf->Cell($w[3],6,$record_dat["nama_jabatan"],1,$ln,'C',$fill); $pdf->Cell($w[4],6,$record_dat["tgl_mulai"],1,$ln,'C',$fill); $pdf->Cell($w[5],6,$record_dat["tgl_selesai"],1,$ln,'C',$fill); $pdf->Cell($w[6],6,$record_dat["ket"],1,$ln,'C',$fill); $pdf->Ln(); $fill=!$fill; $iData++; $ln = 0; if ($iData == 24 || $_nDat < $iData) { $ln = 1; $pdf->SetY(179); $pdf->SetFont('Arial','I',8); $pdf->Cell(0,10,$pdf->PageNo(),0,$ln,'R'); } unset($_val); } $pdf->Cell(array_sum($w),0,'','T'); $pdf->Output(); } header('location:media.php?modul=lapcuti'); } ?> Form_login.php <?php echo "<form method=POST action=cek_login.php> <table> <tr><td>NIK</td><td> : <input type=text name=nik></td></tr> <tr><td>Password</td><td> : <input type=password name=pass></td></tr> <tr><td colspan=2><input type=submit value=Login></td></tr>
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
142
</table> </form>"; ?> Content.php <?php include "../config/koneksi.php"; include "../config/library.php"; include "../config/fungsi_indotgl.php"; include "../config/fungsi_combobox.php"; ?> <link rel="stylesheet" media="screen" href="styles/vlaCal-v2.1.css" type="text/css" /> <link rel="stylesheet" media="screen" href="styles/vlaCal-v2.1-adobe_cs3.css" type="text/css" /> <link rel="stylesheet" media="screen" href="styles/vlaCal-v2.1-apple_widget.css" type="text/css" /> <script type="text/javascript" src="jslib/mootools-1.2-core-compressed.js"></script> <script type="text/javascript" src="jslib/vlaCal-v2.1-compressed.js"></script> <style> .pickerImg { position: absolute; margin-left: -16px; margin-top: 5px; cursor: pointer; } </style> <script type="text/javascript"> window.addEvent('domready', function() { new vlaDatePicker('exampleIII', { openWith: 'togglePicker', offset: { y: -2, x: 2 }, separateInput: { day: 'day', month: 'month', year: 'year' } }); }); </script> <?php // Bagian Home if ($_GET[modul]=='home'){ echo "<h2>Selamat Datang</h2> <p>Hai <b>$_SESSION[namauser]</b>, silahkan klik menu pilihan yang ada untuk mengelola content sistem absensi. </p> <p> </p> <p> </p> <p> </p> <p align=right>Login Hari ini: "; echo tgl_indo(date("Y m d")); echo " | "; echo date("H:i:s"); echo "</p>"; }
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
143
elseif ($_GET[modul]=='jabatan'){ echo "<h2>Data Jabatan</h2> <form method=POST action='?act=tambahjabatan'> <input type=submit value='Tambah Jabatan'> </form> <table> <tr><th>no</th><th>Kode Jabatan</th><th>Keterangan Jabatan</th> <th>aksi</th></tr>"; $tampil=mysql_query("SELECT * FROM jabatan ORDER BY kode_jabatan"); $no=1; while ($r=mysql_fetch_array($tampil)){ echo "<tr><td>$no</td> <td>$r[kode_jabatan]</td> <td>$r[nama_jabatan]</td> <td><a href=?act=editjabatan&id=$r[kode_jabatan]><img src='images/edit.jpeg' width=20 height=20 border=0></a> | <a href=\"aksi.php?modul=jabatan&act=hapus&id=$r[kode_jabatan]\"onClick=\"return confirm('Apakah Anda benar-benar akan menghapus $r[nama_jabatan]?')\"><img src='images/del.jpeg' width=20 height=20 border=0></a> </td></tr>"; $no++; } echo "</table>"; } // Form tambah user elseif ($_GET[act]=='tambahjabatan'){ echo "<h2>Tambah Jabatan</h2> <form method=POST action='aksi.php?modul=jabatan&act=input'> <table> <tr><td>Kode Jabatan</td> <td> : <input type=text name=kode_jabatan></td></tr> <tr><td>Keterangan Jabatan</td> <td> : <input type=text name=nama_jabatan></td></tr> <tr><td colspan=2><input type=submit value=Simpan> <input type=button value=Batal onclick=self.history.back()></td></tr> </table> </form>"; } // Form edit user elseif ($_GET[act]=='editjabatan'){ $edit=mysql_query("SELECT * FROM jabatan WHERE kode_jabatan='$_GET[id]'"); $r=mysql_fetch_array($edit); echo "<h2>Edit Jabatan</h2> <form method=POST action=aksi.php?modul=jabatan&act=update> <input type=hidden name=id value='$r[kode_jabatan]'> <table> <tr><td>Kode Jabatan</td> <td> : <input type=text name=kode_jabatan value='$r[kode_jabatan]'></td></tr> <tr><td>Keterangan Jabatan</td> <td> : <input type=text name=nama_jabatan value='$r[nama_jabatan]'></td></tr> <tr><td colspan=2><input type=submit value=Update> <input type=button value=Batal onclick=self.history.back()></td></tr> </table> </form>"; } // Bagian Modul elseif ($_GET[modul]=='karyawan'){ echo "<h2>Data Karyawan</h2>
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
144
<form method=POST action='?act=tambahkaryawan'> <input type=submit value='Tambah Karyawan'> </form> <form method=POST action='?act=hasilcari'> <table> <tr> <td>NIK</td><td>: <input type=text name=nik></td><td><input type=submit value=Cari></td> </tr> </table> </form> <table> <tr><th>No</th><th>NIK</th><th>Nama</th> <th>Jabatan</th><th>Jenis Kelamin</th><th>Alamat</th><th>No. Telp</th><th>aksi</th></tr>"; $tampil=mysql_query("SELECT karyawan.nik,karyawan.alamat, karyawan.telp,karyawan.t4_lahir, karyawan.tgl_lahir, karyawan.nama, karyawan.gender, jabatan.nama_jabatan FROM karyawan, jabatan where karyawan.kode_jabatan=jabatan.kode_jabatan ORDER BY nik"); $no=1; while ($r=mysql_fetch_array($tampil)){ echo "<tr><td>$no</td> <td>$r[nik]</td> <td>$r[nama]</td> <td align=center>$r[nama_jabatan]</td> <td align=center>$r[gender]</td> <td align=center>$r[alamat]</td> <td align=center>$r[telp]</td> <td><a href=?act=editkaryawan&id=$r[nik]><img src='images/edit.jpeg' width=20 height=20 border=0></a> | <a href=\"aksi.php?modul=karyawan&act=hapus&id=$r[nik]\"onClick=\"return confirm('Apakah Anda benar-benar akan menghapus $r[nama]?')\"><img src='images/del.jpeg' width=20 height=20 border=0></a> </td></tr>"; $no++; } echo "</table>"; } // Form Tambah Karyawan elseif ($_GET[act]=='tambahkaryawan'){ echo "<h2>Tambah Karyawan</h2> <form method=POST action='aksi.php?modul=karyawan&act=input' enctype='multipart/form-data'> <table> <tr><td>NIK</td> <td> : <input type=text name=nik></td></tr> <tr><td>Nama Lengkap</td> <td> : <input type=text name=nama></td></tr> <tr><td>Tempat / Tanggal Lahir</td> <td> : <input type=text name=t4_lahir> /"; ?> <span id="exampleIII"> <input name="day" type="text" style="width: 18px; border-width: 1px 0 1px 1px;" maxlength="2" /><input value="/" type="text" style="width: 5px; border-width: 1px 0 1px 0;" disabled="disabled" /><input name="month" class="textbox" type="text" style="width: 16px; border-width: 1px 0 1px 0;" maxlength="2" /><input value="/" type="text" style="width: 5px; border-width: 1px 0 1px 0;" disabled="disabled" /><input name="year" type="text" style="width: 28px; border-width: 1px 0 1px 0;" maxlength="4" /><input type="text" style="width: 15px; border-width: 1px 1px 1px 0;" disabled="disabled" /><img src="images/calendar.gif" id="togglePicker" class="pickerImg" width="13px" height="12px" alt="" /> </span><? echo " </td></tr> <tr><td>Jenis Kelamin</td> <td> : <input type=radio name=gender value='Pria' checked>Pria <input type=radio name=gender value='Wanita'>Wanita </td></tr>
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
145
<tr><td>Jabatan</td> <td> : <select name=jabatan> <option value=0 selected>- Pilih Jabatan -</option> "; $q=mysql_query("select * from jabatan order by kode_jabatan asc"); while($r=mysql_fetch_array($q)){ echo "<option value=$r[kode_jabatan]>$r[nama_jabatan]</option>"; } echo "</select> </td></tr> <tr><td>Alamat</td><td>: <textarea name=alamat cols=20 rows=1></textarea></td></tr> <tr><td>No. Telp</td><td>: <input type=text name=telp></td></tr> <tr><td>Photo</td><td>: <input type=file name=fupload ></td></tr> <tr><td>Password</td><td>: <input type=password name=pass></td></tr> <tr><td>Level</td> <td> : <input type=radio name=level value='user' checked>user <input type=radio name=level value='admin'>admin </td></tr> <tr><td colspan=2><input type=submit value=Simpan name=simpanmodul> <input type=button value=Batal onclick=self.history.back()></td></tr> </table> </form>"; } // Form Edit Modul elseif ($_GET[act]=='editkaryawan'){ $edit = mysql_query("SELECT * FROM karyawan,jabatan WHERE nik='$_GET[id]' and karyawan.kode_jabatan = jabatan.kode_jabatan"); $r = mysql_fetch_array($edit); echo "<h2>Edit Karyawan</h2> <form method=POST action=aksi.php?modul=karyawan&act=update enctype='multipart/form-data'> <input type=hidden name=id value='$r[nik]'> <table> <tr><td>NIK</td> <td> : <input type=text name=nik value='$r[nik]'></td></tr> <tr><td>Nama</td> <td> : <input type=text name=nama value='$r[nama]'></td></tr> <tr><td>Tempat / Tanggal Lahir</td><td>: <input type=text name=t4_lahir value='$r[t4_lahir]'>"; $get_tgl=substr("$r[tgl_lahir]",8,2); combotgl2(1,31,'tgl_lahir',$get_tgl); $get_bln=substr("$r[tgl_lahir]",5,2); combobln2(1,12,'bln_lahir',$get_bln); $get_thn=substr("$r[tgl_lahir]",0,4); $thn_skrg=date("Y"); combotgl2($get_thn-10,$thn_sekarang+2,'thn_lahir',$get_thn); echo " </td></tr>"; if ($r[gender]=='Pria'){ echo "<tr><td>Jenis Kelamin</td> <td> : <input type=radio name=gender value=Pria checked>Pria <input type=radio name=gender value=wanita> Wanita</td></tr>"; } else{ echo "<tr><td>Jenis Kelamin</td> <td> : <input type=radio name=gender value=pria>Pria <input type=radio name=gender value=Wanita checked>Wanita</td></tr>";
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
146
} if ($r[level]=='admin'){ echo "<tr><td>Level</td> <td> : <input type=radio name=level value=admin checked>Admin <input type=radio name=level value=user>User</td></tr>"; } else{ echo "<tr><td>Level</td> <td> : <input type=radio name=level value=admin>Admin <input type=radio name=level value=user checked>User</td></tr>"; } echo "<tr><td>Jabatan</td><td> :<select name=jabatan>"; $q=mysql_query("select * from jabatan"); while($d=mysql_fetch_array($q)){ if($r[kode_jabatan]==$d[kode_jabatan]) echo " <option value=$d[kode_jabatan] selected>$d[nama_jabatan]</option>"; else echo "<option value=$d[kode_jabatan]>$d[nama_jabatan]</option>"; } echo " </select></td></tr> <tr><td>Alamat</td> <td> : <textarea name=alamat rows=2 cols=20>$r[alamat]</textarea></td></tr> <tr><td>No. Telp</td><td>: <input type=text name=telp value='$r[telp]'></td></tr> <tr><td>Password</td><td>: <input type=password name=pass value='$r[password]'></td></tr> <tr><td>Photo</td><td> : <img src='images/photo/$r[photo]' width=100 height=110></td></tr> <tr><td>Ganti Gbr</td> <td> : <input type=file name=fupload size=30> *)</td></tr> <tr><td colspan=2>*) Apabila gambar tidak diubah, dikosongkan saja.</td></tr> <tr><td colspan=2><input type=submit value=Update> <input type=button value=Batal onclick=self.history.back()></td></tr> </table> </form>"; } elseif($_GET[act]=='hasilcari'){ $nik=$_POST[nik]; $i=mysql_query("select * from karyawan where nik like '%$nik%'"); $h=mysql_num_rows($i); echo "<h2>Hasil Cari</h2>"; if($h > 0){ echo " <table> <tr><th>No</th><th>NIK</th><th>Nama</th> <th>Jabatan</th><th>Jenis Kelamin</th><th>Alamat</th><th>No. Telp</th><th>aksi</th></tr>"; $no=1; while ($r=mysql_fetch_array($i)){ echo "<tr><td>$no</td> <td>$r[nik]</td> <td>$r[nama]</td> <td align=center>$r[nama_jabatan]</td> <td align=center>$r[gender]</td> <td align=center>$r[alamat]</td> <td align=center>$r[telp]</td> <td><a href=?act=editkaryawan&id=$r[nik]><img src='images/edit.jpeg' width=20 height=20 border=0></a> | <a href=\"aksi.php?modul=karyawan&act=hapus&id=$r[nik]\"onClick=\"return
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
147
confirm('Apakah Anda benar-benar akan menghapus $r[nama]?')\"><img src='images/del.jpeg' width=20 height=20 border=0></a> </td></tr>"; $no++; } echo "</table>"; }else{ echo "Maaf<br> Tidak Ditemukan Karyawan dengan NIK : $nik"; } } elseif ($_GET[act]=='tampil'){ $tanggal=sprintf("%02d%02d%02d",$_POST[year],$_POST[month],$_POST[day]); $k=mysql_query("select * from absensi, karyawan where absensi.nik=karyawan.nik and absensi.tanggal='$tanggal' order by absensi.masuk asc"); echo "<h2>Absensi</h2> <form method=POST action='?act=tambahabsensi'> <input type=submit value='Tambah Absensi'> </form> <form method=POST action='?act=tampil'> <table> <tr><td>Tanggal</td><td>:";?> <span id="exampleIII"> <input name="day" type="text" style="width: 18px; border-width: 1px 0 1px 1px;" maxlength="2" /><input value="/" type="text" style="width: 5px; border-width: 1px 0 1px 0;" disabled="disabled" /><input name="month" class="textbox" type="text" style="width: 16px; border-width: 1px 0 1px 0;" maxlength="2" /><input value="/" type="text" style="width: 5px; border-width: 1px 0 1px 0;" disabled="disabled" /><input name="year" type="text" style="width: 28px; border-width: 1px 0 1px 0;" maxlength="4" /><input type="text" style="width: 15px; border-width: 1px 1px 1px 0;" disabled="disabled" /><img src="images/calendar.gif" id="togglePicker" class="pickerImg" width="13px" height="12px" alt="" /> </span> <input type=submit value=Tampilkan></td></tr> </table></form> <? echo " <table><tr><th>No</th><th>Tanggal</th><th>NIK</th><th>Nama</th><th>Jam Masuk</th><th>Jam Istirahat</th><th>Masuk Istirahat</th><th>Jam Pulang</th><th>Aksi</th></tr>"; $no=1; while($l=mysql_fetch_array($k)){ $tgl=tgl_indo($l[tanggal]); echo "<tr> <td>$no</td> <td>$tgl</td> <td>$l[nik]</td> <td>$l[nama]</td> <td align=center>$l[masuk]</td> <td align=center>$l[istirahat]</td> <td align=center>$l[msk_istirahat]</td> <td align=center>$l[keluar]</td> <td><a href=?act=editabsensi&id=$l[nik]&tgl=$l[tanggal]><img src='images/edit.jpeg' width=20 height=20 border=0></a> | <a href=\"aksi.php?modul=absensi&act=hapus&id=$l[nik]&tgl=$l[tanggal]\"onClick=\"return confirm('Apakah Anda benar-benar akan menghapus $l[nama]?')\"><img src='images/del.jpeg' width=20 height=20 border=0></a> </td></tr> ";
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
148
$no++; } echo "</table>"; } elseif($_GET[act]=='editabsensi'){ $g=mysql_query("select * from absensi, karyawan where absensi.nik=karyawan.nik and absensi.tanggal='$_GET[tgl]' and absensi.nik='$_GET[id]' "); $f=mysql_fetch_array($g); echo "<h2>Edit Absensi Reguler</h2> <form method=POST action=aksi.php?modul=absensi&act=update> <input type=hidden name=id value=$f[nik]> <table> <tr><td>NIK</td><td> : $f[nik]</td></tr> <tr><td>Nama</td> <td> : $f[nama]</td></tr> <tr><td>Tanggal</td> <td> :"; $get_tgl=substr("$f[tanggal]",8,2); combotgl2(1,31,'tgl',$get_tgl); $get_bln=substr("$f[tanggal]",5,2); combobln2(1,12,'bln',$get_bln); $get_thn=substr("$f[tanggal]",0,4); $thn_skrg=date("Y"); combotgl2($get_thn-2,$thn_sekarang+2,'thn',$get_thn); echo " </td></tr> <tr><td>Jam Masuk</td> <td> : <input type=text name=masuk value='$f[masuk]'></td></tr> <tr><td>Jam Istirahat</td> <td> : <input type=text name=istirahat value='$f[istirahat]'></td></tr> <tr><td>Masuk Istirahat</td> <td> : <input type=text name=msk_istirahat value='$f[msk_istirahat]'></td></tr> <tr><td>Jam Keluar</td> <td>: <input type=text name=keluar value='$f[keluar]'></td></tr> <tr><td colspan=2><input type=submit value=Update> <input type=button value=Batal onclick=self.history.back()></td></tr> </table> </form>"; } elseif ($_GET[modul]=='cuti'){ echo "<h2>Data Cuti</h2> <form method=POST action='?act=tambahcuti'> <input type=submit value='Tambah Data Cuti'> </form>"; $bln=date("m"); $tampil=mysql_query("SELECT * FROM cuti,karyawan where cuti.nik=karyawan.nik and date_format(tgl_mulai,'%m')='$bln' ORDER BY tgl_mulai ASC"); $br=mysql_num_rows($tampil); if($br > 0){ echo "<table> <tr><th>no</th><th>NIK</th><th>Nama</th><th>Tgl Mulai</th><th>Tgl Selesai</th><th>Keterangan Cuti</th><th>aksi</th></th></tr>"; $no=1; while ($r=mysql_fetch_array($tampil)){ $tgl_mulai=tgl_indo($r[tgl_mulai]); $tgl_selesai=tgl_indo($r[tgl_selesai]); echo "<tr><td>$no</td> <td>$r[nik]</td>
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
149
<td>$r[nama]</td> <td>$tgl_mulai</td> <td>$tgl_selesai</td> <td align=center>$r[ket]</td> <td><a href=?act=editcuti&id=$r[id]><img src='images/edit.jpeg' width=20 height=20 border=0></a> | <a href=\"aksi.php?modul=cuti&act=hapus&id=$r[id]\"onClick=\"return confirm('Apakah Anda benar-benar akan menghapus $r[nama]?')\"><img src='images/del.jpeg' width=20 height=20 border=0></a> </td></tr>"; $no++; } echo "</table>"; } } elseif ($_GET[act]=='tambahcuti'){ echo "<h2>Tambah Data Cuti</h2> <form method=POST action='aksi.php?modul=cuti&act=input'> <table> <tr><td>NIK</td><td> : <input type=text name=nik></td></tr> <tr><td>Tgl Mulai</td><td> : "; $tgl=date("d"); combotgl2(1,31,'tgl_mulai',$tgl); $bln=date("m"); combobln2(1,12,'bln_mulai',$bln); $thn_skrg=date("Y"); combotgl2($get_thn-2,$thn_sekarang+2,'thn_mulai',$thn_skrg); echo "</td></tr> <tr><td>Tgl Selesai</td><td> : "; $tgl=date("d"); combotgl2(1,31,'tgl_selesai',$tgl); $bln=date("m"); combobln2(1,12,'bln_selesai',$bln); $thn_skrg=date("Y"); combotgl2($get_thn-2,$thn_sekarang+2,'thn_selesai',$thn_skrg); echo "</td></tr> <tr><td>Keterangan</td><td> : <input type=text name=ket></td></tr> <tr><td colspan=2><input type=submit value=Simpan> <input type=button value=Batal onclick=self.history.back()></td></tr> </table> </form>"; } elseif ($_GET[act]=='editcuti'){ $edit = mysql_query("SELECT * FROM cuti,karyawan where cuti.nik=karyawan.nik and cuti.nik='$_GET[id]'"); $r = mysql_fetch_array($edit); echo "<h2>Edit Data Cuti</h2> <form method=POST action=aksi.php?modul=cuti&act=update> <input type=hidden name=id value=$r[nik]> <table> <tr><td>NIK</td><td> : $r[nik]</td></tr> <tr><td>Nama</td><td> : $r[nama]</td></tr> <tr><td>Tgl Mulai</td><td> : "; $get_tgl=substr("$r[tgl_mulai]",8,2); combotgl2(1,31,'tgl_mulai',$get_tgl); $get_bln=substr("$r[tgl_mulai]",5,2); combobln2(1,12,'bln_mulai',$get_bln); $get_thn=substr("$r[tgl_mulai]",0,4); $thn_skrg=date("Y"); combotgl2($thn_sekarang-2,$thn_sekarang+2,'thn_mulai',$get_thn); echo "
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
150
</td></tr> <tr><td>Tgl Selesai</td><td> : "; $get_tgl=substr("$r[tgl_selesai]",8,2); combotgl2(1,31,'tgl_selesai',$get_tgl); $get_bln=substr("$r[tgl_selesai]",5,2); combobln2(1,12,'bln_selesai',$get_bln); $get_thn=substr("$r[tgl_selesai]",0,4); $thn_skrg=date("Y"); combotgl2($thn_sekarang-2,$thn_sekarang+2,'thn_selesai',$get_thn); echo " </td></tr> <tr><td>Keterangan</td><td> : <input type=text name=ket value='$r[ket]'></td></tr> <tr><td colspan=2><input type=submit value=Update> <input type=button value=Batal onclick=self.history.back()></td></tr> </table> </form>"; } elseif ($_GET[modul]=='ijin'){ echo "<h2>Data Ijin</h2> <form method=POST action='?act=tambahijin'> <input type=submit value='Tambah Data Ijin'> </form>"; $bln=date("m"); $tampil=mysql_query("SELECT * FROM ijin,karyawan where ijin.nik=karyawan.nik and date_format(tgl_mulai,'%m')='$bln' ORDER BY tgl_mulai ASC"); $br=mysql_num_rows($tampil); if($br > 0){ echo "<table> <tr><th>no</th><th>NIK</th><th>Nama</th><th>Tgl Mulai</th><th>Tgl Selesai</th><th>Keterangan Cuti</th><th>aksi</th></th></tr>"; $no=1; while ($r=mysql_fetch_array($tampil)){ $tgl_mulai=tgl_indo($r[tgl_mulai]); $tgl_selesai=tgl_indo($r[tgl_selesai]); echo "<tr><td>$no</td> <td>$r[nik]</td> <td>$r[nama]</td> <td>$tgl_mulai</td> <td>$tgl_selesai</td> <td align=center>$r[ket]</td> <td><a href=?act=editijin&id=$r[id]><img src='images/edit.jpeg' width=20 height=20 border=0></a> | <a href=\"aksi.php?modul=ijin&act=hapus&id=$r[id]\"onClick=\"return confirm('Apakah Anda benar-benar akan menghapus $r[nama]?')\"><img src='images/del.jpeg' width=20 height=20 border=0></a> </td></tr>"; $no++; } echo "</table>"; } } elseif ($_GET[act]=='tambahijin'){ echo "<h2>Tambah Data Cuti</h2> <form method=POST action='aksi.php?modul=ijin&act=input'> <table> <tr><td>NIK</td><td> : <input type=text name=nik></td></tr> <tr><td>Tgl Mulai</td><td> : "; $tgl=date("d"); combotgl2(1,31,'tgl_mulai',$tgl); $bln=date("m"); combobln2(1,12,'bln_mulai',$bln);
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
151
$thn_skrg=date("Y"); combotgl2($get_thn-2,$thn_sekarang+2,'thn_mulai',$thn_skrg); echo "</td></tr> <tr><td>Tgl Selesai</td><td> : "; $tgl=date("d"); combotgl2(1,31,'tgl_selesai',$tgl); $bln=date("m"); combobln2(1,12,'bln_selesai',$bln); $thn_skrg=date("Y"); combotgl2($get_thn-2,$thn_sekarang+2,'thn_selesai',$thn_skrg); echo "</td></tr> <tr><td>Keterangan</td><td> : <input type=text name=ket></td></tr> <tr><td colspan=2><input type=submit value=Simpan> <input type=button value=Batal onclick=self.history.back()></td></tr> </table> </form>"; } elseif ($_GET[act]=='editijin'){ $edit = mysql_query("SELECT * FROM ijin,karyawan where ijin.nik=karyawan.nik and ijin.nik='$_GET[id]'"); $r = mysql_fetch_array($edit); echo "<h2>Edit Data Ijin</h2> <form method=POST action=aksi.php?modul=ijin&act=update> <input type=hidden name=id value=$r[nik]> <table> <tr><td>NIK</td><td> : $r[nik]</td></tr> <tr><td>Nama</td><td> : $r[nama]</td></tr> <tr><td>Tgl Mulai</td><td> : "; $get_tgl=substr("$r[tgl_mulai]",8,2); combotgl2(1,31,'tgl_mulai',$get_tgl); $get_bln=substr("$r[tgl_mulai]",5,2); combobln2(1,12,'bln_mulai',$get_bln); $get_thn=substr("$r[tgl_mulai]",0,4); $thn_skrg=date("Y"); combotgl2($thn_sekarang-2,$thn_sekarang+2,'thn_mulai',$get_thn); echo " </td></tr> <tr><td>Tgl Selesai</td><td> : "; $get_tgl=substr("$r[tgl_selesai]",8,2); combotgl2(1,31,'tgl_selesai',$get_tgl); $get_bln=substr("$r[tgl_selesai]",5,2); combobln2(1,12,'bln_selesai',$get_bln); $get_thn=substr("$r[tgl_selesai]",0,4); $thn_skrg=date("Y"); combotgl2($thn_sekarang-2,$thn_sekarang+2,'thn_selesai',$get_thn); echo " </td></tr> <tr><td>Keterangan</td><td> : <input type=text name=ket value='$r[ket]'></td></tr> <tr><td colspan=2><input type=submit value=Update> <input type=button value=Batal onclick=self.history.back()></td></tr> </table> </form>"; } elseif ($_GET[modul]=='global'){ $m=date("m"); $y=date("Y"); echo "<h2>Laporan Absensi Global</h2> <form action=?act=tampilkan method=POST> <table> <tr><td>Bulan</td><td>:"; $bln=date("m");
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
152
combobln2(1,12,'bln',$bln); $thn_skrg=date("Y"); combotgl2($thn_sekarang-2,$thn_sekarang+2,'thn',$thn_skrg); echo " </td><td rowspan=2><input type=submit value=Tampilkan></td></tr> <tr><td>NIK</td><td>: <input type=text name=nik></td></tr> </table> </form> <h2 align=center>Laporan Data Absensi Global<br>Bulan $m $y</h2> <table> <tr><th>no</th><th>Tanggal</th><th>NIK</th><th>Nama</th><th>Jabatan</th><th>Jam Masuk</th><th>Jam Istirahat</th><th>Jam Masuk Istirahat</th><th>Jam Keluar</th><th>Keterlambatan</th></tr>"; $tampil=mysql_query("SELECT * ,TIMEDIFF( `masuk` , '08:15:00' ) AS `selisih` from absensi,karyawan,jabatan where absensi.nik=karyawan.nik and karyawan.kode_jabatan=jabatan.kode_jabatan and month(tanggal)='$m' and year(tanggal)='$y' order by tanggal"); $no=1; while ($r=mysql_fetch_array($tampil)){ $tgl=tgl_indo($r[tanggal]); echo "<tr><td>$no</td> <td>$tgl</td> <td>$r[nik]</td> <td>$r[nama]</td> <td>$r[nama_jabatan]</td> <td>$r[masuk]</td> <td>$r[istirahat]</td> <td>$r[msk_istirahat]</td> <td>$r[keluar]</td> <td align=center>$r[selisih]</td> </tr>"; $no++; } echo "</table>"; echo "<br><br><form action=aksi.php?modul=cetak&act=global method=POST> <input type=submit value=Cetak PDF> </form> "; } elseif ($_GET[act]=='tampilkan'){ $m=$_POST[bln]; $y=$_POST[thn]; $nik=$_POST[nik]; echo "<h2>Laporan Absensi Global</h2> <form action='' method=POST> <table> <tr><td>Bulan</td><td>:"; $bln=date("m"); combobln2(1,12,'bln',$bln); $thn_skrg=date("Y"); combotgl2($thn_sekarang-2,$thn_sekarang+2,'thn',$thn_skrg); echo " </td><td rowspan=2><input type=submit value=Tampilkan></td></tr> <tr><td>NIK</td><td>: <input type=text name=nik></td></tr> </table> </form> <h2 align=center>Laporan Data Absensi Global<br>Bulan $m $y</h2> <table>
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
153
<tr><th>no</th><th>Tanggal</th><th>NIK</th><th>Nama</th><th>Jabatan</th><th>Jam Masuk</th><th>Jam Istirahat</th><th>Jam Masuk Istirahat</th><th>Jam Keluar</th><th>Keterlambatan</th></tr>"; if(empty($_POST[nik])){ $tampil=mysql_query("SELECT * ,TIMEDIFF( `masuk` , '08:15:00' ) AS `selisih` from absensi,karyawan,jabatan where absensi.nik=karyawan.nik and karyawan.kode_jabatan=jabatan.kode_jabatan and month(tanggal)='$m' and year(tanggal)='$y' order by tanggal"); }else{ $tampil=mysql_query("SELECT * ,TIMEDIFF( `masuk` , '08:15:00' ) AS `selisih` from absensi,karyawan,jabatan where absensi.nik=karyawan.nik and absensi.nik='$nik' and karyawan.kode_jabatan=jabatan.kode_jabatan and month(tanggal)='$m' and year(tanggal)='$y' order by tanggal"); } $no=1; while ($r=mysql_fetch_array($tampil)){ $tgl=tgl_indo($r[tanggal]); echo "<tr><td>$no</td> <td>$tgl</td> <td>$r[nik]</td> <td>$r[nama]</td> <td>$r[nama_jabatan]</td> <td>$r[masuk]</td> <td>$r[istirahat]</td> <td>$r[msk_istirahat]</td> <td>$r[keluar]</td> <td align=center>$r[selisih]</td> </tr>"; $no++; } echo "</table>"; echo "<br><br><form action=aksi.php?modul=cetak&act=tampilkan method=POST> <input type=hidden name=m value=$m> <input type=hidden name=y value=$y> <input type=hidden name=nik value=$nik> <input type=submit value=Cetak PDF> </form>"; } elseif ($_GET[modul]=='lapcuti'){ $m=date("m"); $y=date("Y"); echo "<h2>Laporan Absensi Data Absensi Cuti</h2> <form action=?act=tampilkancuti method=POST> <table> <tr><td>Bulan</td><td>:"; $bln=date("m"); combobln2(1,12,'bln',$bln); $thn_skrg=date("Y"); combotgl2($thn_sekarang-2,$thn_sekarang+2,'thn',$thn_skrg); echo " </td><td><input type=submit value=Tampilkan></td></tr> </table> </form> <h2 align=center>Laporan Data Absensi Cuti<br>Bulan $m $y</h2> <table> <tr><th>no</th><th>NIK</th><th>Nama</th><th>Jabatan</th><th>Tanggal Mulai</th><th>Tanggal Selesai</th><th>Keterangan</th></tr>"; $tampil=mysql_query("SELECT * from cuti,karyawan,jabatan where cuti.nik=karyawan.nik and karyawan.kode_jabatan=jabatan.kode_jabatan and month(tgl_mulai)='$m' and year(tgl_mulai)='$y' order by tgl_mulai"); $no=1; while ($r=mysql_fetch_array($tampil)){ $tgl=tgl_indo($r[tanggal]);
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
154
echo "<tr><td>$no</td> <td>$r[nik]</td> <td>$r[nama]</td> <td>$r[nama_jabatan]</td> <td>$r[tgl_mulai]</td> <td>$r[tgl_selesai]</td> <td>$r[ket]</td> </tr>"; $no++; } echo "</table>"; echo "<br><br><form action=aksi.php?modul=cetak&act=cuti method=POST> <input type=submit value=Cetak PDF> </form> "; } elseif ($_GET[act]=='tampilkancuti'){ $m=$_POST[bln]; $y=$_POST[thn]; echo "<h2>Laporan Data Cuti</h2> <form action=?act=tampilkancuti method=POST> <table> <tr><td>Bulan</td><td>:"; $bln=date("m"); combobln2(1,12,'bln',$bln); $thn_skrg=date("Y"); combotgl2($thn_sekarang-2,$thn_sekarang+2,'thn',$thn_skrg); echo " </td><td><input type=submit value=Tampilkan></td></tr> </table> </form> <h2 align=center>Laporan Data Cuti<br>Bulan $m $y</h2> <table> <tr><th>no</th><th>NIK</th><th>Nama</th><th>Jabatan</th><th>Tanggal Mulai</th><th>Tanggal Selesai</th><th>Keterangan</th></tr>"; $tampil=mysql_query("SELECT * from cuti,karyawan,jabatan where cuti.nik=karyawan.nik and karyawan.kode_jabatan=jabatan.kode_jabatan and month(tgl_mulai)='$m' and year(tgl_selesai)='$y' order by tgl_mulai"); $no=1; while ($r=mysql_fetch_array($tampil)){ $tgl=tgl_indo($r[tanggal]); echo "<tr><td>$no</td> <td>$r[nik]</td> <td>$r[nama]</td> <td>$r[nama_jabatan]</td> <td>$r[tgl_mulai]</td> <td>$r[tgl_selesai]</td> <td>$r[ket]</td> </tr>"; $no++; } echo "</table>"; echo "<br><br><form action=aksi.php?modul=cetak&act=tampilkancuti method=POST> <input type=hidden name=m value=$m> <input type=hidden name=y value=$y> <input type=submit value=Cetak PDF> </form>"; } elseif ($_GET[modul]=='lapijin'){ $m=date("m");
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
155
$y=date("Y"); echo "<h2>Laporan Absensi Data Absensi Ijin</h2> <form action=?act=tampilkanijin method=POST> <table> <tr><td>Bulan</td><td>:"; $bln=date("m"); combobln2(1,12,'bln',$bln); $thn_skrg=date("Y"); combotgl2($thn_sekarang-2,$thn_sekarang+2,'thn',$thn_skrg); echo " </td><td><input type=submit value=Tampilkan></td></tr> </table> </form> <h2 align=center>Laporan Data Absensi Ijin<br>Bulan $m $y</h2> <table> <tr><th>no</th><th>NIK</th><th>Nama</th><th>Jabatan</th><th>Tanggal Mulai</th><th>Tanggal Selesai</th><th>Keterangan</th></tr>"; $tampil=mysql_query("SELECT * from ijin,karyawan,jabatan where ijin.nik=karyawan.nik and karyawan.kode_jabatan=jabatan.kode_jabatan and month(tgl_mulai)='$m' and year(tgl_mulai)='$y' order by tgl_mulai"); $no=1; while ($r=mysql_fetch_array($tampil)){ $tgl=tgl_indo($r[tanggal]); echo "<tr><td>$no</td> <td>$r[nik]</td> <td>$r[nama]</td> <td>$r[nama_jabatan]</td> <td>$r[tgl_mulai]</td> <td>$r[tgl_selesai]</td> <td>$r[ket]</td> </tr>"; $no++; } echo "</table>"; echo "<br><br><form action='aksi.php?modul=print&act=ijin' method=POST> <input type=submit value=Cetak > </form> "; } elseif ($_GET[act]=='tampilkanijin'){ $m=$_POST[bln]; $y=$_POST[thn]; echo "<h2>Laporan Absensi Data Ijin</h2> <form action=?act=tampilkanijin method=POST> <table> <tr><td>Bulan</td><td>:"; $bln=date("m"); combobln2(1,12,'bln',$bln); $thn_skrg=date("Y"); combotgl2($thn_sekarang-2,$thn_sekarang+2,'thn',$thn_skrg); echo " </td><td><input type=submit value=Tampilkan></td></tr> </table> </form> <h2 align=center>Laporan Data Ijin<br>Bulan $m $y</h2> <table> <tr><th>no</th><th>NIK</th><th>Nama</th><th>Jabatan</th><th>Tanggal Mulai</th><th>Tanggal Selesai</th><th>Keterangan</th></tr>"; $tampil=mysql_query("SELECT * from ijin,karyawan,jabatan where ijin.nik=karyawan.nik and karyawan.kode_jabatan=jabatan.kode_jabatan and month(tgl_mulai)='$m' and year(tgl_selesai)='$y' order by tgl_mulai");
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
156
$no=1; while ($r=mysql_fetch_array($tampil)){ $tgl=tgl_indo($r[tanggal]); echo "<tr><td>$no</td> <td>$r[nik]</td> <td>$r[nama]</td> <td>$r[nama_jabatan]</td> <td>$r[tgl_mulai]</td> <td>$r[tgl_selesai]</td> <td>$r[ket]</td> </tr>"; $no++; } echo "</table>"; echo "<br><br><form action='aksi.php?modul=print&act=tampilkanijin' method=POST> <input type=hidden name=m value=$m> <input type=hidden name=y value=$y> <input type=submit value=Cetak PDF> </form>"; } elseif($_GET[act]=='tambahabsensi'){ echo " <h2>Tambah Absensi</h2> <form action='aksi.php?modul=absensi&act=input' method=POST> <table> <tr><td>NIK</td><td>: <input type=text name=nik></td></tr> <tr><td>Tanggal</td><td>:";?> <span id="exampleIII"> <input name="day" type="text" style="width: 18px; border-width: 1px 0 1px 1px;" maxlength="2" /><input value="/" type="text" style="width: 5px; border-width: 1px 0 1px 0;" disabled="disabled" /><input name="month" class="textbox" type="text" style="width: 16px; border-width: 1px 0 1px 0;" maxlength="2" /><input value="/" type="text" style="width: 5px; border-width: 1px 0 1px 0;" disabled="disabled" /><input name="year" type="text" style="width: 28px; border-width: 1px 0 1px 0;" maxlength="4" /><input type="text" style="width: 15px; border-width: 1px 1px 1px 0;" disabled="disabled" /><img src="images/calendar.gif" id="togglePicker" class="pickerImg" width="13px" height="12px" alt="" /> </span> </td></tr> <?php echo " <tr><td>Jam Masuk</td><td>: <input type=text name=masuk></td></tr> <tr><td>Jam Istirahat</td><td>: <input type=text name=istirahat></td></tr> <tr><td>Jam Msk Istirahat</td><td>: <input type=text name=msk_istirahat></td></tr> <tr><td>Jam Keluar</td><td>: <input type=text name=keluar></td></tr> <tr><td colspan=2><input type=submit value=Simpan name=simpanmodul> <input type=button value=Batal onclick=self.history.back()></td></tr> </table> </form> "; } elseif($_GET[modul]='absensi'){ echo "<h2>Data Absensi Reguler</h2> <form method=POST action='?act=tambahabsensi'> <input type=submit value='Tambah Absensi'> </form> <form method=POST action='?act=tampil'> <table> <tr><td>Tanggal</td><td>:";?> <span id="exampleIII"> <input name="day" type="text" style="width: 18px; border-width: 1px 0 1px 1px;" maxlength="2" /><input value="/" type="text" style="width: 5px; border-width: 1px 0 1px 0;"
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
157
disabled="disabled" /><input name="month" class="textbox" type="text" style="width: 16px; border-width: 1px 0 1px 0;" maxlength="2" /><input value="/" type="text" style="width: 5px; border-width: 1px 0 1px 0;" disabled="disabled" /><input name="year" type="text" style="width: 28px; border-width: 1px 0 1px 0;" maxlength="4" /><input type="text" style="width: 15px; border-width: 1px 1px 1px 0;" disabled="disabled" /><img src="images/calendar.gif" id="togglePicker" class="pickerImg" width="13px" height="12px" alt="" /> </span> <input type=submit value=Tampilkan></td></tr> </table></form> <? $sq=mysql_query("select * from absensi, karyawan where absensi.nik=karyawan.nik and absensi.tanggal='$tgl_sekarang' order by absensi.masuk asc"); $r=mysql_num_rows($sq); if($r > 0){ echo "<table><tr><th>No</th><th>Tanggal</th><th>NIK</th><th>Nama</th><th>Jam Masuk</th><th>Jam Istirahat</th><th>Masuk Istirahat</th><th>Jam Pulang</th><th>Aksi</th></tr>"; $no=1; while($t=mysql_fetch_array($sq)){ $tgl=tgl_indo($t[tanggal]); echo "<tr> <td>$no</td> <td>$tgl</td> <td>$t[nik]</td> <td>$t[nama]</td> <td align=center>$t[masuk]</td> <td align=center>$t[istirahat]</td> <td align=center>$t[msk_istirahat]</td> <td align=center>$t[keluar]</td> <td><a href=?act=editabsensi&id=$t[nik]&tgl=$t[tanggal]><img src='images/edit.jpeg' width=20 height=20 border=0></a> | <a href=\"aksi.php?modul=absensi&act=hapus&id=$t[nik]&tgl=$t[tanggal]\"onClick=\"return confirm('Apakah Anda benar-benar akan menghapus $t[nama]?')\"><img src='images/del.jpeg' width=20 height=20 border=0></a> </td></tr> "; $no++; } echo "</table>"; } } else{ echo "<p align=center><b>MODUL BELUM ADA</b></p>"; } ?> Media.php <?php session_start(); if (empty($_SESSION[namauser]) AND empty($_SESSION[passuser])){ echo "<link href='../config/adminstyle.css' rel='stylesheet' type='text/css'> <center>Untuk mengakses modul, Anda harus login <br>"; echo "<a href=index.php><b>LOGIN</b></a></center>"; } else{
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
158
include "../config/koneksi.php"; ?> <html> <head> <title>:: ABSENSI CV. FLASHINDOMEDIA ::</title> <link href="../config/adminstyle.css" rel="stylesheet" type="text/css" /> <style type="text/css"> <!-- .dropdown { font-size: 11px; font-weight: normal; margin-top: 0px; margin-left: 0px; float: left; } .dropdown dt {border:0px solid #9ac1c9; padding:0px; font-weight:bold; cursor:pointer; } .dropdown dt:hover {} .dropdown dd {padding:0px; margin: 0px; position:absolute; overflow:hidden; display:none; background:#265180; z-index:200; opacity:1.0} .dropdown ul {padding:0px; margin: 0px;border:1px solid #9AC1C9; list-style:none; border-top:none; border-bottom: none;} .dropdown li {display:inline} .dropdown a {display:block; padding:5px; text-decoration:none; } .dropdown a:active {display:block; padding:5px; text-decoration:none; } .dropdown a:visited {display:block; padding:5px; text-decoration:none; } .dropdown a:hover {text-decoration: none; } .dropdown .underline {border-bottom:1px solid #B9D6DC} .separator { font-size: 11px; font-weight: normal; margin-top: 5px; margin-left: 0px; float: left; color: #fff; } --> </style> <script type="text/javascript" src="145-komputer-d-iii_files/mootools.js"></script> <script type="text/javascript" src="145-komputer-d-iii_files/caption.js"></script> <script type="text/javascript"> var DDSPEED = 10; var DDTIMER = 15; // main function to handle the mouse events // function ddMenu(id,d){ var h = document.getElementById(id + '-ddheader'); var c = document.getElementById(id + '-ddcontent'); clearInterval(c.timer); if(d == 1){ clearTimeout(h.timer); if(c.maxh && c.maxh <= c.offsetHeight){return} else if(!c.maxh){ c.style.display = 'block'; c.style.height = 'auto'; c.maxh = c.offsetHeight; c.style.height = '0px'; } c.timer = setInterval(function(){ddSlide(c,1)},DDTIMER); }else{ h.timer = setTimeout(function(){ddCollapse(c)},50);
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
159
} } // collapse the menu // function ddCollapse(c){ c.timer = setInterval(function(){ddSlide(c,-1)},DDTIMER); } // cancel the collapse if a user rolls over the dropdown // function cancelHide(id){ var h = document.getElementById(id + '-ddheader'); var c = document.getElementById(id + '-ddcontent'); clearTimeout(h.timer); clearInterval(c.timer); if(c.offsetHeight < c.maxh){ c.timer = setInterval(function(){ddSlide(c,1)},DDTIMER); } } // incrementally expand/contract the dropdown and change the opacity // function ddSlide(c,d){ var currh = c.offsetHeight; var dist; if(d == 1){ dist = (Math.round((c.maxh - currh) / DDSPEED)); }else{ dist = (Math.round(currh / DDSPEED)); } if(dist <= 1 && d == 1){ dist = 1; } c.style.height = currh + (dist * d) + 'px'; c.style.opacity = currh / c.maxh; c.style.filter = 'alpha(opacity=' + (currh * 100 / c.maxh) + ')'; if((currh < 2 && d != 1) || (currh > (c.maxh - 2) && d == 1)){ clearInterval(c.timer); } } </script> <link rel="stylesheet" href="config/template.css" type="text/css"> </head> <body> <div id="header"> <div id="content1"> <div id="menu_container"> <dl class="dropdown"> <dt id="menu0-ddheader" onMouseOver="ddMenu('menu0',1)" onMouseOut="ddMenu('menu0',-1)"> <li><a href="media.php?modul=home">Home</a></li> </dt> <dd id="menu0-ddcontent" onMouseOver="cancelHide('menu0')" onMouseOut="ddMenu('menu0',-1)"> <ul></ul> </dd> </dl> <div class="separator">|</div> <dl class="dropdown"><dt id="menu1-ddheader" onMouseOver="ddMenu('menu1',1)" onMouseOut="ddMenu('menu1',-1)"> <li><a href="#">Master Data</a></li> </dt><dd style="display: block; height: 0px; opacity: 0;" id="menu1-ddcontent" onMouseOver="cancelHide('menu1')" onMouseOut="ddMenu('menu1',-1)">
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
160
<?php $s=mysql_query("select * from modul where kategori='master'"); while($q=mysql_fetch_array($s)){ echo "<ul><li><a class=underline href=$q[link]>$q[nama_modul] </a></li> <div class=clr></div> "; } echo "</ul></dd></dl>"; ?> <div class="separator">|</div> <dl class="dropdown"> <dt id="menu3-ddheader" onMouseOver="ddMenu('menu3',1)" onMouseOut="ddMenu('menu3',-1)"> <li><a href="#">Data Absensi</a></li> </dt> <dd id="menu3-ddcontent" onMouseOver="cancelHide('menu3')" onMouseOut="ddMenu('menu3',-1)"> <?php $s=mysql_query("select * from modul where kategori='absen'"); while($q=mysql_fetch_array($s)){ echo "<ul><li><a class=underline href=$q[link]>$q[nama_modul] </a></li> <div class=clr></div> "; } echo "</ul></dd></dl>"; ?> <div class="separator">|</div><dl class="dropdown"><dt id="menu5-ddheader" onMouseOver="ddMenu('menu5',1)" onMouseOut="ddMenu('menu5',-1)"> <li><a href="#">Laporan</a></li></dt> <dd id="menu5-ddcontent" onMouseOver="cancelHide('menu5')" onMouseOut="ddMenu('menu5',-1)"> <?php $s=mysql_query("select * from modul where kategori='laporan'"); while($q=mysql_fetch_array($s)){ echo "<ul><li><a class=underline href=$q[link]>$q[nama_modul] </a></li> <div class=clr></div> "; } echo "</ul></dd></dl>"; ?> <div class="separator">|</div> <dl class="dropdown"> <dt id="menu0-ddheader" onMouseOver="ddMenu('menu0',1)" onMouseOut="ddMenu('menu0',-1)"> <li><a href="logout.php">Logout</a></li> </dt> <dd id="menu0-ddcontent" onMouseOver="cancelHide('menu0')" onMouseOut="ddMenu('menu0',-1)"> <ul></ul> </dd> </dl> </div> <?php include "content.php"; ?> </div> <p> </p> <div id="footer"> Copyright © 2009 </div> </div> </body> </html>
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
161
<? } ?> Logout.php <?php session_start(); session_destroy(); // Apabila setelah logout langsung menuju halaman utama website, aktifkan baris di bawah ini: header('location:index.php'); ?> Cek_login.php <?php session_start(); include "../config/koneksi.php"; $pass=md5($_POST[pass]); $nik=$_POST[nik]; $login=mysql_query("SELECT * FROM karyawan WHERE nik='$nik' AND password='$pass' and level='admin'"); $ketemu=mysql_num_rows($login); $r=mysql_fetch_array($login); // Apabila username dan password ditemukan if ($ketemu > 0){ $_SESSION[namauser]=$r[id_user]; $_SESSION[passuser]=$r[password]; header('location:media.php?modul=home'); } else{ echo "<link href=../config/adminstyle.css rel=stylesheet type=text/css>"; echo "<center>Login gagal! username & password tidak benar<br>"; echo "<a href=index.php><b>ULANGI LAGI</b></a></center>"; } ?>
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
162
SURAT KETERANGAN Hasil Uji Program Tugas Akhir
Yang bertanda tangan di bawah ini, menerangkan bahwa Tugas Akhir mahasiswa
Program Diploma 3 Komputer:
Nama : MIRA BELLINA
NIM : 062406063
Program Studi : Ilmu Komputer D-3
Judul Tugas Akhir : SISTEM INFORMASI ABSENSI PEGAWAI
CV. FLASHINDOMEDIA MEDAN BERBASIS WEB
Telah melakukan uji program Tugas Akhir mahasiswa tersebut diatas pada tanggal
………….2009
Dengan Hasil : Sukses / Gagal
Demikianlah diterangakan digunakan untuk melengkapi syarat pendaftaran ujian
meja hijau tugas akhir mahasiswa bersangkutan dijurusan matematika Fakultas
Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara Medan.
Medan,………….2009
Dosen Pembimbing
Drs. Sawaluddin, M.IT
NIP : 132206398
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.
163
DEPARTEMEN PENDIDIKAN NASIONAL UNIVERSITAS SUMATERA UTARA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM(FMIPA) Jl. Bioteknologi No.1 Kampus USU Telp. (061) 8211050 Fax (061) 8214290
MEDAN – 20155, Email : [email protected]
Nama Mahasiswa
Nomor Induk Mahasiswa
Judul Tugas Akhir
Dosen Pembimbing
KARTU BIMBINGAN TUGAS AKHIR MAHASISWA
:
:
:
:
MIRA BELLINA
062406063
Sistem Informasi Absensi Pegawai CV.
Flashindomedia Berbasis Web
Drs. Sawaluddin, M.IT
NO TANGGAL BIMBINGAN
PEMBAHASAN PADA BAB
PARAF DOSEN
PEMBIMBING KETERANGAN
* Kartu ini harap dikembalikan ke Departemen Matematika bila bimbingan telah selesai.
Diketahui/Disetujui oleh Departemen Matematika FMIPA USU Ketua, Dosen Pembimbing Dr. Saib Suwilo, M.Sc Drs. Sawaluddin, M.IT NIP. 131796149 NIP : 132206398