Anda di halaman 1dari 125

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

DAFTAR GAMBAR

xi

BAB 1 PENDAHULUAN

1.1 Latar Belakang

1.2 Perumusan Masalah

1.3 Tujuan Penelitian

1.4 Pembatasan Masalah

1.5 Metodologi Penelitian

1.6 Sistematika Penulisan

BAB 2 LANDASAN TEORI

2.1 Sejarah Singkat Internet

2.2 World Wide Web(WWW)

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)


2.3.1 Dokumen HTML
A. Penamaan Dokumen HTML

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.

15
15
15

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)


2.5.1 Sejarah PHP

24
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

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.

30

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 formatformat 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 crossplatform, 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.

Adabas D

12.

Direct MS-SQL

2.

DBase

13.

MySQL

3.

Empress

14.

ODBC

4.

FilePro (read-only)

15.

Oracle (OC17 dan OC18)

5.

Hyperware

16.

Ovrimos

6.

IBM DB2

17.

PostgreSQL

7.

Informix

18.

SQLite

8.

Ingres

19.

Solid

9.

Interbase

20.

Sybase

10

Frontbase

21.

Velocis

11.

MSQL

22.

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

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.

Admin

Pegawai

Info Data
Pegawai

- Data Admin
- Data pegawai
- Data Absensi

Data Pegawai
Sistem Informasi
Absensi
Pegawai CV.
Flashindomedia
Medan berbasis
Web

Info Absensi Pegawai

Laporan Absensi Pegawai

Pimpinan

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

Info Data Pegawai

Karyawan

Upload
Data
- Data Karyawan
- Data Absensi
- Data Jabatan

Info Absensi Karyawan


Info Data Karyawan
F1 Karyawan

F2 Absensi
Update
Data
F3 Jabatan

Pembuatan
Laporan

Pimpinan

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

Karyawan

Bagian Karyawan
1.0
Pengumpulan

Info Data
Karyawan

Data Karyawan

Data
F1 Karyawan

Pengisian
Absensi

2.0
Pengisian

Info Absensi

Absensi
F2 Karyawan

Info Rekap
Absensi

3.0

Rekap Absensi
Karyawan

Rekap
Absensi
Laporan Absensi Karyawan

Pimpinan

Gambar 4.3 Diagram Sistem Informasi Pegawai yang sedang berjalan pada
CV. Flashindomedia Medan

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.

92

4.2 Flowchart Program

Start

Halaman Absensi

Input NIK & Password


Log in

Database

Auto Presure
Absensi By Login

True?

Database

Menu

Edit
Profil

Alamat

TTL
New
Passswor

Password

No. Telp

Photo
Selesai
Lihat
Absen

Selesai

Log out

Simpan
Database

Simpan
Database

Absen Bulan
ini
End
Lihat
Bulan Lain

Input Date

Search Database
Search
Absensi

Gambar 4.4 Flowchart Menu Utama

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.

93

Start

Halaman Absensi

Input NIK & Password

Log in

Database

True?

Menu Admin

Absensi
Izin

Absensi
Cuti

Absensi
Reguler

Master Data

Data Karyawan

Data Karyawan

Data Absensi

Laporan

Absensi
Izin

Absensi
Cuti

Absensi
Reguler

Log Out

End

Gambar 4.5 Flowchart Admin

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.

94

A
Data Karyawan

Tambah
NIK
Edit
Nama

Hapus

Hapus

Databa

TTL

NIK

Jenis Kelamin

Nama

Jabatan

TTL

Alamat

Jenis Kelamin

No. Telp

Level

Photo

Jabatan

Password

Alamat

Level

No. Telp

Seles

Password
Photo

Simpan
Databas
e

Update

Simpan

Gambar 4.6 Keterangan Bagan Flowchart Admin

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.

95

B
Data

Tamba
Kode
Edit
Nama
J b

Hapus

Hapu

Hapus
dari

Data

Simpan

Data
Simpan
Database
Update

Simpan
Database

Gambar 4.7 Keterangan Bagan Flowchart Admin

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.

96

C
Data Absensi Hari
ini

Lihat Absensi

Hapus Date

Search Database

Database

show

Tanggal Lain

Tambah
NIK
Edit
Tanggal
Hapus

Hapus Karyawan

Database

Jam Masuk

NIK

Jam Istirahat

Nama

Masuk Istirahat

Tanggal

Jam keluar

Jam Masuk

Simpan

Jam Istirahat
Database
Masuk Istirahat

Jam Keluar

Update

Simpan Database

Gambar 4.8 Keterangan Bagan Flowchart Admin

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.

97

D
Data Inti Bulan ini

Tambah
NIK
Edit
Tgl Mulai
Hapus

Hapus

Database

NIK

Tgl Selesai

Jabatan

Keterangan

Tgl Mulai

Simpan

Tgl Selesai
Keterangan

Simpan
Database

Update

Database

Gambar 4.9 Keterangan Bagan Flowchart Admin

Absensi Bulan ini

Cetak

Search Bulan Lain

Database

Absensi

Gambar 4.10 Keterangan Bagan Flowchart Admin


Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.

Search Absensi

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

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.

Jam
keluar

99

Tabel Karyawan
Nik Nama Alamat

Tempat Tanggal
Kode
Gender Telepon
Password Level Photo
lahir
lahir
jabatan

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.
1.
2.
3.
4.
5.
6.
7.

Field
Tanggal
Nik
Masuk
Istirahat
Msk_istirahat
Keluar
ket

Data Type
Date
Int
Time
Time
Time
Time
Int

Width
9
2

Description
Tanggal
Nomor induk karyawan
Masuk
Istirahat
Masuk istirahat
Keluar
Keterangan

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.

100

Tabel 2. Cuti
No.
1.
2.
3.
4.
5.

Field
Id
Nik
Tgl_mulai
Tgl_selesai
ket

Data Type
Int
Int
Date
Date
Varchar

Width
2
9
50

Description
Id
Nomor induk karyawan
Tanggal mulai
Tanggal selesai
Keterangan

Data Type
Int
Int
Date
Date
Varchar

Width
2
9
50

Description
Id
Nomor induk karyawan
Tanggal mulai
Tanggal selesai
Keterangan

Data Type
Varchar
Varchar

Width
4
30

Description
Kode jabatan
Nama jabatan

Data Type
Int
Varchar
Varchar
Varchar
Date
Varchar
Varchar
Varchar
Varchar
Varchar
Varchar

Width
9
30
250
30
6
15
4
32
20
50

Description
Nomor induk karyawan
Nama
Alamat
Tempat lahir
Tanggal lahir
Gender
Telepon
Kode jabatan
Password
Level
Photo

Tabel 3. Ijin
No.
1.
2.
3.
4.
5.

Field
Id
Nik
Tgl_mulai
Tgl_selesai
Ket

Tabel 4. Jabatan
No.
1.
2.

Field
Kode_jabatan
Nama_jabatan

Tabel 5. karyawan
No.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.

Field
Nik
Nama
Alamat
T4_lahir
Tgl_lahir
Gender
Telp
Kode_jabatan
Password
Level
Photo

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.

101

Tabel 6. Modul
No.
1.
2.
3.
4.

Field
Id_modul
Nama_modul
Link
Katagori

Data Type
Int
Varchar
Varchar
Varchar

Width
3
30
30
20

Description
Id modul
Nama modul
Link
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 komponenkomponen 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 &copy; 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">&nbsp;&nbsp;Home &nbsp;</a> |
<a
href="?modul=edit">&nbsp;&nbsp;Edit Profile &nbsp;</a> |
<a
href="?modul=passchange">&nbsp;Change Password&nbsp;</a> |
<a href="?modul=absen">&nbsp;Lihat
Absensi&nbsp;</a> |
<a href="logout.php">&nbsp;
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 &copy; 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{
type=text/css>";

echo "<link href=style.css rel=stylesheet

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

}else{
type=text/css>";

header('location:media.php?modul=home');
echo "<link href=style.css rel=stylesheet

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

}else{
type=text/css>";

header('location:media.php?modulss=home');
echo "<link href=style.css rel=stylesheet

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{

}
td{

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;
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>&nbsp;</p>
</div>
<div id="footer">
Copyright &copy; 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]'>&#187; $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',
'$_POST[gender]',
'$_POST[telp]',
'$_POST[jabatan]',
'$_POST[level]'

tgl_lahir =
gender =
telp =
kode_jabatan =
password = '$pass',
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],$_PO
ST[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],$_PO
ST[tgl_selesai]);

mysql_query("UPDATE cuti SET tgl_mulai


tgl_selesai
ket
WHERE nik =
header('location:media.php?modul='.$modul);

= '$mulai',
= '$selesai',
= '$_POST[ket]'
'$_POST[id]'");

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],$_PO
ST[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],$_PO
ST[tgl_selesai]);

mysql_query("UPDATE ijin SET tgl_mulai


tgl_selesai
ket
WHERE nik =
header('location:media.php?modul='.$modul);

= '$mulai',
= '$selesai',
= '$_POST[ket]'
'$_POST[id]'");

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
include
include
include
?>

"../config/koneksi.php";
"../config/library.php";
"../config/fungsi_indotgl.php";
"../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.1adobe_cs3.css" type="text/css" />
<link rel="stylesheet" media="screen" href="styles/vlaCal-v2.1apple_widget.css" type="text/css" />
<script type="text/javascript" src="jslib/mootools-1.2-corecompressed.js"></script>
<script type="text/javascript" src="jslib/vlaCal-v2.1compressed.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>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</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=\"retur
n 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

asc");

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

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

$y</h2>

</table>
</form>
<h2 align=center>Laporan Data Absensi Global<br>Bulan $m
<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>

$y</h2>

</table>
</form>
<h2 align=center>Laporan Data Absensi Global<br>Bulan $m
<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; fontweight: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; textdecoration: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-diii_files/mootools.js"></script>
<script type="text/javascript" src="145-komputer-diii_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>
</div>
<p>&nbsp;</p>

</div>
</body>
</html>

<?php include "content.php"; ?>

<div id="footer">
Copyright &copy; 2009

</div>

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 : Dekanat@FMIPA.USU.AC.ID
KARTU BIMBINGAN TUGAS AKHIR MAHASISWA

Nama Mahasiswa

: MIRA BELLINA

Nomor Induk Mahasiswa

: 062406063

Judul Tugas Akhir

: Sistem Informasi Absensi Pegawai CV.


Flashindomedia Berbasis Web

Dosen Pembimbing

NO

TANGGAL
BIMBINGAN

: Drs. Sawaluddin, M.IT

PEMBAHASAN
PADA BAB

PARAF
DOSEN
KETERANGAN
PEMBIMBING

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


NIP. 131796149

Drs. Sawaluddin, M.IT


NIP : 132206398

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis Web, 2009.

Anda mungkin juga menyukai