Anda di halaman 1dari 172

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 W eb, 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 W eb,
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 TARA
U

Diluluskan di
Medan, Juni 2009

Komisi
Pembimbing :
Diketah
Departeui/Disetujui oleh

Dr. Saib Suwilo, M.Sc Drs.Sawaluddin,


M.IT NIP. 131796149 NIP. 132206398

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
2009.
42

PERNYATAAN

SISTEM INFORMASI ABSENSI PEGAWAI CV. FLASHINDOMEDIA


MEDAN BERBASIS WEB

Saya me uali
beberap ngakui bahwa tugas akhir ini adalah hasil kerja saya sendiri,
ernya. kec a kutipan dan ringkasan yang masing – masing disebutkan
sumb

Medan,
Juni 2009

MIRA
062406BELLINA
063

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
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 bagiap mahasiswa

guna m seti enyelesaikan Program Studi D3 Ilmu Komputer Fakultas tematika Dan

Ilmu PeMa ngetahuan 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

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 W eb,
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),
bunda (Siti
I Aisyah) dan juga kakak dan adik tersayang Bunga Anggina,

Melisa, Yuki Dermawan yang telah banyak memberikan duku gan,


n motivasi

ang tak terhingga dan tak ternilai harganya


y yang dirasakan oleh
penulis.
Seluruh teman-teman D3 Ilmu Komputer stambuk 06, dan juga p
7. ara senior.

Penulis menyadari sepenuhnya bahwa penulisan Tugas Akhir


ni masih jauh
i empurnaan yang dikarenakan pengetahuan dan
dari kes yang dimiliki
pengalaman nulis masih sangat terbatas yang masih perlu
oleh pe aik dari segi
diperbaiki, b n, bentuk maupun isinya.
penyajia

Akhirul kalam kepada Allah Subahana Wata’ala penulis bersera


h 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 W eb,
2009.
45

ABSTRAK

Tugas a khir ini merancang suatu aplikasi Sistem Informasi Absensi Pegawai CV.
Flashindomedia Medan Berbasis Web yang bermanfaat untuk menyediakan informasi
yang bai
k dengan cepat dan mudah, juga melalui kajian ini diharapkan d apat memberi
kemudahan kepada karyawan CV. Flashindomedia Medan dala m melakukan
pengisian absensi. Perancangan sistem dalam merancang Sistem Infor masi
Absensi Pegawai
CV. Flashindomedia Medan Berbasis Web ini dikemban gkan
dengan nakan perangkat lunak Macromedia Dreamweaver 8, Adobep menggu
hotoshop, dan aplikasi yang
. Dengan menggunakan XAMPP paket-paket XAMPP
kita merancang sebuah situs yang baik seperti
perlukan
Apache Web dalam
er, Serv PHP dan MySQL
ashindomedia
telah tersedia. Sistem Informasi Absensi Pegawai CV. Medan
seperti Fl ini meliput i pemakaian situs oleh karyawan
daftar absensi
ng diperlukan
Flashindomedia
dalam m harian. Hal tersebut digunakan untuk
menampung data-data ya empelancar sistem informasi.

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
2009.
46

DAFTAR ISI

PERSETUJUAN ii
PERNYATAAN iii
PENGHARGAAN iv
ABSTRAK vi
DAFTAR ISI vii
DAFTAR TABEL
x R GAMBAR DAFTA
xi PENDAHULUAN BAB 1
1 1.1 Latar Belakang
1.2 Perumusan Masalah 1
1.3 Tujuan Penelitian 3
1.4 Pembatasan Masalah 4
1.5 Metodologi Penelitian 4
1.6 Sistematika Penulisan 5
LANDASAN TEORI 6
BAB 2 2.1 Sejarah Singkat Internet 8
2.2 World Wide Web(WWW) 8
2.2.1 Lahirnya Web 9
2.2.2 Browser Web 11
12
2.2.2.1 Cara Kerja Browser Mengambil Halaman/Page 13
2.2.2.2 Cara Kerja Menampilkan Halaman/Page 13
2.2.3 Server Web 13
2.2.4 Istilah-Istilah Umum Yang Harus Diketahui 14
2.3 HTML (Hypertext Markup Language) 15
2.3.1 Dokumen HTML 15
A. Penamaan Dokumen HTML 15

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
2009.
47

B. Elemen dan Tag HTML 16


2.4 DHTML (Dynamic Hypertext Markup Language) 20
2.4.1 CSS (Cascading Style Sheet) 21
2.4.2 Java Script 23
2.5 Pengenalan PHP (Hypertext Prepocessor) 24
2.5.1 Sejarah PHP 24
2.5.1.1 PHP/FI (Personal Home Page/Form Interpreter) 24
2.5.1.2 PHP 3 25
2.5.1.3 PHP 4 26
2.5.1.4 PHP 5 27
2.5.2 Skrip PHP 27
2.5.3 Integrasi dengan Database 30
2.6 Pengenalan Konsep Pemograman Berorientasi Objek dengan PHP 33
2.6.1 Mengelola Kompleksitas Aplikasi 33
2.6.2 Mengantisipasi Adanya Perubahan 34
2.7 MySQL 34
2.8 Macromedia Dreamweaver 35
BAB 3 SEKILAS CV. FLASHINDOMEDIA MEDAN 36
3.1 Sejarah Singkat CV. Flashindomedia Medan 36
3.2 Visi, Misi dan Tujuan CV. Flashindomedia Medan 37
3.2.1 Visi CV. Flashindomedia Medan 38
3.2.2 Misi CV. Flashindomedia Medan 38
3.2.3 Tujuan CV. Flashindomedia Medan 38
BAB 4 RANCANGAN SISTEM PROGRAM 39
4.1 Data Flow Diagram 39
4.2 Flowchart Program 42
4.3 Normalisasi 48
4.4 Rancangan database 49

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
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 W eb,
2009.
49

DAFTAR TABEL

Halaman

Tabel 2.1 Daftar Database-Database yang didukung oleh PHP 30

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
2009.
50

DAFTAR GAMBAR

Halaman
Gambar 2.1 Dokumen HTML ditampilkan di Browser Mozila 20
Gambar 2.2 Dokumen PHP ditampilkan di Browser Mozila 29
Gambar 4.1 Diagram Konteks 39
Gambar 4.2 DFD Diagram Level Nol 40
Gambar 4.3 Diagram Sistem Absensi Pegawai yang sedang berjalan 41
Gambar 4.4 Flowchart Menu Utama 42
Gambar 4.5 Flowchart Menu Utama 43
Gambar 4.6 Keterangan Bagan Flowchart Admin 44
Gambar 4.7 Keterangan Bagan Flowchart Admin 45
Gambar 4.8 Keterangan Bagan Flowchart Admin 46
Gambar 4.9 Keterangan Bagan Flowchart Admin 47
Gambar 4.10 Keterangan Bagan Flowchart Admin 47
Gambar 5.1 Halaman Tampilan Windows XP 54
Gambar 5.2 Halaman Tampilan Macromedia Dreamweaver 8 55
Gambar 5.3 Tampilan Antar Muka Web Server 56
Gambar 5.4 Halaman Utama Login Absensi 57
Gambar 5.5 Halaman Menu Login Absensi 58
Gambar 5.6 Halaman Login Admin 59
Gambar 5.7 Halaman Menu Admin 60
Gambar 5.8 Halaman Menu Master Data 61
Gambar 5.9 Halaman Menu Data Absensi 62
Gambar 5.10 Halaman Menu Laporan 63

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
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 keefis ienan

dalam melaku
kan setiap pekerjaan. Mungkin suatu kenaifan kalau berb icara

tentang gi
teknolo
informasi dan komunikasi, tanpa membicarakan suatu benda yang

bernama
er.komput
Komputer merupakan suatu media elektronik yang meme gang

peranan yang san dalam perkembangan yang terjadi saat ini.


gat penting

Komputer bukan lagi barang mewah atau sesuatu yang langkauntuk dimiliki

oleh seseorang seperti awal kedatangannya, tetapi sudah menjadi su atu keperluan

bahkan kebutuhan yang sangat bersifat umum dan fital, terutama bagi perusahaan dan

badan i nstansi 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 W eb,
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 de script, yaitu bahasa yang berbentuk


serverscript yang terletak si

dieksekusi
dan ntuk kemudian
di hasilnya (berupa
server
kode HTML) u

n dikembalika a/user/client.
ke PHP dirancang untuk
browser penggun

yang membentuk suatu web yang artinya halaman


bersifatyang dinamis,

u ditampilkan dibuat
diminta
saat halaman it a/user/client.
oleh PHP juga penggun

mua dapat berinteraksi dengan hampir


teknologi
se web ya

memberikan
ng telah ada dan sifatnya open source (bebas pakai) kesemp

gunakansehingga
dan mengem
atan buat semua user dan programmer untuk

meng bangkannya.

emakin besar,

rumit, Selain itu demi mendukung berkembangnya aplikasi web yang ject oriented

programming
s dan dari PHP. Keuntungan
kompleks, yang dapat diperoleh
maka dikembangkanlah dari kemampuan object
kemampuan

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 W eb,
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 INFORMA SI ABSENSI

PEGAWAI PADA CV. FLASHINDOMEDIA MEDAN”.

1.2. Perumusan Masalah

Pada umumnya setiap perusahaan memerlukan sarana dalam me mberikan dan

menyaji kan informasi dengan lebih cepat dan mudah bagi masyarakat mum maupun

kalanga u n didalam instansi itu sendiri, semua itu juga berlaku di CV. ashindomedia

Medan. Fl Sehubungan dengan hal tersebut maka dapat masalah yang

dihadapi penulis di dalam pembuatan aplikasi ini, yaitu:


dirumuskan

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 W eb,
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, them e, dan

script berdasar
kan pembagian tanggung jawab dan juga menunjukkan pen gg unaan

PHP dalam
membangun suatu aplikasi website yang membantu k an

informasi
menyedia
yang akt
ual bagi user/pengguna yang membutuhkan.

1.4. Pembatasan Masalah

Agar pe mbahasan masalah tidak menyimpang dari tujuan maka berikut

adalah bpenelitian, eberapa batasan yang perlu dibuat, yaitu:

a. Website ini akan menampilkan halaman-halaman web statis maupu


yang
n
dinamis mengenai sistem informasi absensi pegawai CV.
ashindomedia

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 menduku ng bahasa pemograman web yang

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
2009.
55
lainnya seperti: HTML (Hypertext Markup Language), CSS (Cascading Style

Sheets), dan Javascript.

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
2009.
56

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

1. lain: 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

an data yang
Wawancara yang dilakuka n penulis adalah meyakink

diperoleh akurat. Dalam pengumpulan data tersebut penulis

mewawancarai bagian umum dan yang terkait didalamnya. Untuk

mengetahui apa dan bagaimana dari kegiatan data tersebut

pengolahan serta kemampuan memberi informasi yang .

b. tepat
Observasi
dan jelas

Observasi yang dilakukan penulis adalah untuk mengamati dan

mengetahui secara langsung jalannya sistem yang sedang berjalan

saat itu dan proses kerja dari tugas masing-masing serta melihat

format- format laporan dalam perusahaan tersebut yang digunakan

saat itu.

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
2009.
57

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


Penelitian.
Sistematika

BAB 2 :
Landasan Teori
Dalam b ngan
ab ini penulis menguraikan beberapa hal yang berhubungan
aplikasi website
de dinamis yang ingin dibangun penulis yaitu sejarah singkat
ternet, World wide In
in ternet, HTML ( HyperText Markup Language ),
L ( Dynamic HyperT
DHTM ext Markup Language ), pengenalan PHP, pengenalan
bject 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
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
2009.
58
kegiatan CV. Flashindomedia Medan.

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
2009.
59

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 plikasi, tujuan

implema entasi aplikasi serta spesifikasi aplikasi.

BAB 6 : Kesimpulan dan Saran

Dalam ab ini penulis menguraikan tentang kesimpulan dan saran.


b

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
2009.
60

BAB 2

LANDASAN TEORI

2.1. Sejarah Singkat Internet

Internet berawal dari diciptakannya teknologi jaringan komputer. gan komputer

merupakJarin an beberapa komputer yang terhubung satu sama lain memakai

kabel dalam s
dengan r ini

berfungsi
atuagar pen misalnya satu kantor atau gedung. Jaringan kompute
lokasi, una

komputergguna
lainnya.
komputer bisa bertukar informasi dan data dengan pengg

ency ) atau

DeparteARPAnet ( Us Defense Advanced Research Projects Agomputer yang

tersebarmen Pertahanan Amerika pada tahun 1969 membuat jaringan kpabila terjadi

perang untuk menghindarkan terjadinya informasi terpusat, yang ngan


a jaringan

tergang dapat mudah dihancurkan. Jadi bila satu bagian dari sambu cara 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 W eb,
2009.
61

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 h satu layanan

yang dasala pat dipakai oleh pemakai komputer yang terhubung ke

internet.

rnet, dengan

mengguWeb pada awalnya adalah ruang informasi dalam Intekan informasi

dengan nakan teknologi hypertext, pemakai dituntun untuk menemumpilkan dalam

browsermengikuti link yang disediakan dalam dokumen web yang dita

web.

bagai standar

interfacSaat ini internet identik dengan web, karena kepopuleran web agai penyedia

informasi,
se e kini
pada digunakan juga yang
layanan-layanan untukadakomunikasi
di Internet, dari email sampai dengan
dari awalnya

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

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
2009.
62
pencarian

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
2009.
63

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 sampah, dari yang cuma-cuma sampai dengan


sampai
yang komersial, s dengan

emuanya ada.

Web memudahkan pengguna komputer untuk berinteraksi d

lainnya dan menelusuri (informasi) di Internet. engan pelaku

internet

Selain itu web telah diadopsi oleh perusahaan sebagai

bagian gi informasinya, karena beberapa alasan: dari strategi

teknolo a. Akses informasi mudah

b. Setup server lebih mudah

c. Informasi mudah didistribusikan

d. Bebas platform; informasi dapat disajikan oleh brow

ser 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 W eb,
2009.
64

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.
apat menampilkan
Pemakai
dokumen pada
di layar komputer
ERN d

menggunakan
dengan
software
browser baru.

Kode-kode khusus disisipkan ke dalam dokumen ektronik

ini memung
el kinkan pemakai untuk meloncat dari satu dokumen ke n lainnya

pada layer
dokume
de ngan hanya memilih sebuah hyperlink.

Kemampuan internet dimasukka n kedalam browser ini a lompat dari

satu dosehingg kumen ke dokumen lain, tidak lagi dari satu , tetapi dapat

melompkomputer saja orang

peneliti at ke dokumen lain yang letak nyadapat


pada komputer remote. Se ju

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 W eb,
2009.
65

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 pa da lingkungan

DOS ( Disk Operating System) dan *.nix (keluarga sistem operasi UN IX). Akan

tetapi perkembangan dari browser mode teks ini tidaklah secepat browse r 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 penggu na 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 W eb,
2009.
66

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-instruks i ini.i yang paling

umum u Instruks ntuk menampilkan disebut tag HTML. Tag HTML yaitu <p> ini

merupakcontohnya an 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 a.

klienny

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 W eb,
2009.
67

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

omunikasi dalam internet. digunakan dalam

kURL ( Universal Resource Locator ) ; URL adalah konsep na

b. ang diperluas dengan jaringannya. Nama file ini tidak hanyama file standar

ydirektori dan nama filenya, tetapi juga nama mesin dalam menunjukkan

jaringa disediakan (ada atau diakses) dengan berbagai metoda,n. URL dapat

dan bi ekedar file, karena URL dapat menunjukkan query- sa jadi bukan

squery, d disimpan dalam database, hasil dari suatu perintah okumen yang

finger ata papun yang berkaitan dengan data hasil proses. u archie, atau

aHTTP (HyperText Transfer Protocol) ; HTTP umumnya dig

c. melayani dokumen hypertext, karena HTTP adalah protokol unakan untuk

den gan overhead

ormasi 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

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
2009.
68
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 W eb,
2009.
69

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. Dok umen

HTML an dokumen yang disajikan dalam browser web surfer. merupak

Dokumen ini umumn


ya 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
rlu dituliskan
pe 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,
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
2009.
70
misalnya dokumen.html

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
2009.
71

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 kompon
en-komponen dasar pembentuk dokumen HTML. Untuk mena ndai

berbagaidalam
elemen
suatu dokumen HTML, digunakan tag. Tag HTML terdi ri

atas sudut kiri (<, tanda lebih kecil),


sebuah
sebuah nama tag, dan sebuah kurung

kurung >, tanda lebih besar).sudut kanan


Tag umumnya berpasangan (misalnya (

<H1> dengan
tag yang menjadi pasangan selalu diawali dengan karakter gar

</H1>), rtama menunjukkan tag awal yang berarti awal elemen, is miring. Tag

yang peda kkan tag akhir, berarti akhir elemen. n yang kedua

menunju

Nama elemen ditunjukkan dengan nama tag nya. Suatu ele

n HTML harus ditandai dengan penulisan tag nya berpasangan.men didalam

dokumeyang tidak mengharuskan tag nya dituliskan secara berpasa Ada beberapa

elemen ngan, 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 W eb,
2009.
72

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

memperw lakukan atau menampilkan (memformat) halaman ersebut dalam

browser dokumen t

ng dinyatakan

dengan Dalam membuat suatu dokumen HTML dibutuhkan elemen yaannya. Setiap

dokumetag <html>, <head> dan <body> berikut tag-tag pasang g sebenarnya

yang tern terdiri atas tag head dan body. Elemen head berisi teks

yan susun dari link, grafik, paragraf dan elemen lainnya.

yaitu section

head daSecara umum dokumen dibagi menjadi dua section mpunyai pola

dasar sebagai berikut:


(bagian), n section body. Sehingga setiap dokumen HTML

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
2009.
73

<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 judu l dari dokumen, judu l ini akan ditampilkan a caption bar

dari window
pad 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 W eb,
2009.
74

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 et Exlplorer:


Intern

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
2009.
75

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 ( Ca scading Style

Sheet) dan client-side scripting untuk membuat tampilan halaman ter sebut

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 W eb,
2009.
76

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 intern et sehari-

hari. Yang
mumu misalnya rollover menu ( baik berbentuk image ataupu n teks

biasa), pulldow
n menu, trailing cursor, sliding text,dll.

2.4.1 S ( Cascading Style Sheet )


CS

ndefinisikan karakteristik tampilan ( warna, style, dan posisi )


CSS me 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 W eb,
2009.
77

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 absolut
e dan relative.

Setting absolute mengatur posisi elemen berdasarkan jarak rhadap ujung

te kiri-atas elemen parent-nya. Sedangkan setting absolute sesuai layout

bekerja HTML biasa dimana posisinya ditentukan akhir elemen

sberdasarkan ebelumnya.

b. Left dan Top – menentukan jarak kearah kanan dan ke bawah dari posisi awal

e lemen. Unitnya bisa dinyatakan dalam point (pt), pixel(px) u unit standar
ata
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 W eb,
2009.
78

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
ari suatu
d elemen. Yang pertama berlaku untuk IE, n yang kedua

sedangka berlaku untuk NS.

g.ackground-image
B atau Layer-background-image – menentuka n gambar

belakang dari suatu elemen. Yang pertama berlaku untuk IE, selatar dangkan

edua berlaku untuk NS. yang

avaScript

2.4.2 J

pt pertama kali muncul di Netscape 2.0 dan dikembangkan leb

JavaScrie 3.0. walaupun memiliki nama yang serupa. JavaScript samih lanjut pada

Netscapngan dengan Java. a sekali

tidak berhubu

Java adalah bahasa pemograman tingkat tinggi untuk membuat aplikasi

cross- platform, sedangkan Java Script hanyalah scripting language yang terintegrasi

dengan web browser untuk memberikan fleksibilitas tambahan bagi programmer

untuk mengontrol elemen-elemen dalam halaman web.


Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
2009.
79

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 me rupakan salah satu bahasa pemograman web yang masih muda namun telah

mengalami perkembangan yang cukup signifikan dan telah banyak dig unakan 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
Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
2009.
80
digunakan untuk kebutuhan pribadi saja. Pada awalnya, PHP/FI merupakan

bagian

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
2009.
81

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 sekaran
g ini. Jadi, dengan kata lain, pondasi PHP sekarang ini adalah P HP/FI.

Karena ketika
ertamapdibuat menggunakan Perl maka PHP/FI juga i

susunanmempunya
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 mengak
ses database maka, pada tahun yang sama terdapat kurang lebih

50.000 yang menggunakan PHP/FI sebagai bahasa pemograman untuk domain

website,1% dari total domain yang ada atau


pada waktu itu. Booming P sekitar

HP/FI t semakin banyak orang yang tertarik untuk


tersebut
berpartisipasi me membua

ngembangkan
Berkat kerjasama dan kontribusi mereka, PHP versi 3.0 pu PHP/FI.

n 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 W eb,
2009.
82

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 diri pada PHP

3.0 iala memfokuskan h pengembangan versi ini secara meluas berbagai jenis

databasedalam mendukung dari

berbagai, pihak
protokol
y dan API. Dengan dukungan yang semakin besar 98,

10% dari
angseluruh
menyumbangkan berbagai modul maka, pada tahun 19

webserver yang ada kala itu telah menginstalasi PHP versi 3.0.

2.5.1.3

PHP 4

PHP ve u penggunaan

fungsi yrsi 4 diluncurkan untuk menangani kelemahan PHP 3, yaita yang buruk

ang
diperbaiki danbegitu
dituliskompleks.
ulang dari Kurangnya
inti PHP 3. efisiensi waktu dan

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 W eb,
2009.
83

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 ngoptimalkan

penguname an PHP untuk OOP (Object Oreiented Programming). 005)

(Syafii, 2

2.5.2 Sk

rip PHP

Skrip P akan dikenali

sebagaiHP berkedudukan sebagai tag dalam bahasa HTML. Suatu

a. <skrip skr ip PHP bila diapit oleh tanda:

b. ?php……?>

c. <?..............?>
<

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 W eb,
2009.
84

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 W eb,
2009.
85

<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 W eb,
2009.
86

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

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 W eb,
2009.
87

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

s etelah terhubung ke database MySQL dengan menggunakan ysql_connect,

lm angkah selanjutnya adalah memilih database yang akan nakan. Fungsi

digu mysql_select_db digunakan untuk memilih database.mat fungsinya

aFor dalah:

mysql_select_db(string database, koneksi)

k oneksi ialah variable yang terhubung ke MySQL. Jika tidak ngisi


me
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 W eb,
2009.
88

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:

I
nt mysql_query(string query,
int[link_identifier];

d.

k
mysql_num_rows yang
dikenai
egunaan dari fungsi ini adalah untuk menghitung jumlah

baris leh proses SQL.Format fungsinya adalah:

I
nt mysql_num_rows(int
result);
e.

mysql_fetch_array mpilkan data,

Fungsi ini berkaitan dengan menampilkan data. Untuk haisl query

mena digunakan fungsi mysql_fetch_array. Dengan fungsi ini,

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 W eb,
2009.
89

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
membagi
dengan fungsi-fungsi berdasarkan pembagian tanggung b.

Pembagian
jawa g jawab diterapkan kepada setiap class yang dibuat. Setiap tanggun

menyediakan
class an untuk mengerjakan operasi tertentu. Operasi-operasi pelayan

ksanakan
ini dila bject yang dibuat dari
oleh class tersebut. Dengan object-o

iap memfokuskan setclass


g jawab yang tertentupada
dengan tingkatan tanggun

memadai
kompleksitas yang tentu akan sa

seluruhan.
ngat membantu untuk mereduksi kompleksitas aplikasi secara ke

Pembangunan aplikasi dapat dianalogikan sebagai misi dari sebuah tim

dimana untuk mencapai tujuan dari misi ini dilakukan pembagian tug as yang jelas

agar dapat menyelesaikan tugas yang diberikan dengan baik. Dengan tehnik

Object Oriente ngan

masing- masing class yang dibuat akan dilengkapi dengan interface yang

menjadi standar bagaimana class tersebut dihubungi. Interface itu mencakup:

a. Nama

b. Operasi yang menjadi

tugasnya c. Cara penggunaannya


Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
2009.
90
d. Hasil yang diperoleh

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
2009.
91

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

orientedemisahan antara tampilan (user interface)


adalah dan implementasi (b p

usiness pemisahan antara bagian tampilan


logic). dengan bagian implem Tujuan

entasi adalah
angi ketergantungan
mengur antarbagian di dalam aplikasi.

Tingkat ketergantungan yang rendah tersebut dapat memudahkan

penggantian, perbaikan, atau pengembangan suatu modul dengan tidak menimbulkan

efek ada modul lainnya. Modul-modul yang independent p

emungkinkan
m aan penggun
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 W eb,
2009.
92

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,

menuliskode program, dan mengembangkan website, halaman web , dan aplikasi

web. Dalam pengerjaannya, Dreamweaver memberikan 3 (tiga) pilihan yaitu

bekerja menulis kode program (menu code), dengan pengeditan secara dengan

visual (Mode (mode split). Dream


dan dengan tampilan keduanya Design)

weaver iakan alat-alat Bantu untuk mengembangkan juga


kreativita menyed

s pembuatan web.(Bambang et al,2004).

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
2009.
93

BAB 3

SEKILAS CV. FLASHINDOMEDIA MEDAN

3.1 Sejarah Singkat CV. FLASHINDOMEDIA Medan

Flashindomdia merupakan sebuah perusahaan baru yang bergerak dibidang industri

kreatif engan konsep pelayanan terbaru di dunia periklanan dan web d

development yangdikembangkan denga


ngutamakan kualitas dan kreatifitas yang me

n anggung jawabmenjunjung tinggi


kerja, kepuasan konsumen adalah hal utama t

yang ingin Medan, sehingga


eh CV. FLASHINDOMEDIA di capai
untuk setiap ol

langkahkepuasan
yang diambil
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 ng cerdas dan

berpengya alaman dan bekerja sama untuk memberikan solusi serta mudahan

yang memfokuskan
ke 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 W eb,
2009.
94

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

perusahaan,
us melambangkan perusahaan anda sebagai perusahaan yang sekalig

berkelas yang
akan nantinya
menjadi brand tersendiri di benak konsumen anda.

Pelayanan kami melingkupi spektrum yang luas mulai dari terciptanya ide,

pembuatan konsep, perencanaan sampai pada pelaksanaan. Flashindome dia membuka

pintu la yanan dan memberikan kemudahan kepada anda sebagai konsu


men.

3.2 Visi, Misi dan Tujuan CV. Flashindomedia Medan

Sebuahperusahaan baik itu instansi pemerintah maupun swasta harusla h 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 W eb,
2009.
95

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

mengutadeve makan kualitas dan kreatifitas yang dikembangkan n menjunjung

tinggi tdenga anggung jawab kerja, kepuasan konsumen adalah hal yang ingin di

capai olutama eh CV. FLASHINDOMEDIA Medan.

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
2009.
96

BAB 4

RANCANGAN SISTEM PROGRAM

4.1 Data Flow Diagram

Perancangan DFD yang penulis buat dalam perancangan ini dari Diagram

Konteks terdiri dan DFD Level Nol.

Admin Pegawai

Info Data Data Pegawai


Pegawai
Sistem Informasi
Absensi
Pegawai CV.
Flashindomedia
Medan berbasis Info Absensi Pegawai
- Data Admin Web
- Data pegawai
- Data Absensi

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 W eb,
2009.
97

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
2009.
98

Info Data Pegawai


Admin Karyawan

Upload
Data

- Data Karyawan Info Absensi Karyawan


- Data Absensi Info Data Karyawan
- Data Jabatan
F1 Karyawan

F2 Absensi
Update
Data
F3 Jabatan

Pembuatan
Laporan

Pimpinan

Ga mbar 4.2 Data Flow Diagram Level Nol Sistem Informasii Pegawai
Absens

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
2009.
Karyawan Bagian Karyawan

1.0
Data Karyawan
Pengumpulan
Info Data Data
Karyawan

F1 Karyawan

Pengisian
Absensi
2.0
Pengisian
Info Absensi
Absensi

F2 Karyawan

Info Rekap Rekap Absensi


Absensi 3.0 Karyawan
Rekap
Absensi

Laporan Absensi Karyawan

Pimpinan

Ga mbar 4.3 Diagram Sistem Informasi Pegawai yang sedanglan pada


berja
CV. Flashindomedia Medan
4.2 Flowchart Program

Start

Halaman Absensi

Input NIK & Password


Log in Database True?

Auto Presure Database


Absensi By Login

Menu

Edit Alamat
Profil

TTL

New Password
Passswor No. Telp

Photo
Selesai
Lihat
Absen Selesai
Simpan
Database
Simpan
Log out Database

Absen Bulan
ini
End

Lihat
Bulan Lain

Input Date

Search Database

Search Gambar 4.4 Flowchart Menu Utama


93

Start

Halaman Absensi

True?
Input NIK & Password

Log in Database

Absensi Absensi
Izin an Data Karyawan
Cuti
Menu Admin

B
E D Absensi
Master Data Data
Karyaw
Reguler
Absensi Absensi
Cuti Reguler

Data Absensi A
C

G H
Absensi
Laporan
Izin

End

Gambar 4.5 Flowchart


Log Out Admin F

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb, 2009.
94

Data Karyawan

Tambah

NIK

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
2009.
95

Edit
Nama

Hapus Hapus Databa TTL

NIK Jenis Kelamin

Nama
Jabatan
TTL

Jenis Kelamin Alamat

Level Jabatan
No. Telp
Alamat

No. Telp Photo

Password
Password
Photo

Level

Seles

Simpan
Databas
e

Update

Simpan

Gambar 4.6 Keterangan Bagan Flowchart Admin

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
2009.
B

Data

Tamba

Kode
Edit
Nama
J b

Hapus
Hapus Hapu Data
dari Simpan

Data
Simpan
Database
Update

Simpan
Database

Gambar 4.7 Keterangan Bagan Flowchart Admin


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 Nama Jam Istirahat

Tanggal
Masuk Istirahat
Jam Masuk

Jam Istirahat Jam keluar

Masuk Istirahat
Simpan
Jam Keluar

Update Database

Simpan Database

Gambar 4.8 Keterangan Bagan Flowchart Admin


D

Data Inti Bulan ini

Tambah

NIK
Edit
Tgl Mulai

Hap us Hapus Database NIK Tgl Selesai

Jabatan Tgl Keterangan

Mulai Tgl
Simpan
Selesai

Keterangan
Simpan
Database
Update

Database

Gambar 4.9 Keterangan Bagan Flowchart Admin

Absensi Bulan ini Search Bulan Lain Database Search Absensi

Cetak Absensi

Gambar 4.10 Keterangan Bagan Flowchart Admin


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

ppada egawai dibawah ini:

Tabel Absensi Pegawai

Jam Jam am
J
Tanggal Nik Nama Jabatan masuk Jam
masuk istirahat pulang
isrirahat

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

Jam
Jam Jam Jam
Tanggal Nik masuk
masuk istirahat keluar
istirahat
Tabel Karyawan

Tempat Tanggal Kode


Nik Nama Alamat 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

unakan untuk
g erancang
m sistem informasi absensi pegawai, antara lain

berikut: sebagai

Tabel 1. Absensi

No. Field Data Type Width Descript ion


1. Tanggal Date - Tanggal
2. Nik Int 9 Nomor induk karyawan
3.
4. Istirahat Time - Istirahat
5. Msk_istirahat Time - Masuk istirahat
6. Keluar Time - Keluar
7. ket Int 2 Keterangan
Tabel 2. Cuti

No. Field Data Type Width Descript ion


1. Id Int 2 Id
2. Nik Int 9 Nomor induk karyawan
3. Tgl_mulai Date - Tanggal mulai
4. Tgl_selesai Date - Tanggal selesai
5. ket Varchar 50 Keterangan

Tabel 3. Ijin

No. Field Data Type Width Descript ion


1. Id Int 2 Id
2. Nik Int 9 Nomor induk karyawan
3. Tgl_mulai Date - Tanggal mulai
4. Tgl_selesai Date - Tanggal selesai
5. Ket Varchar 50 Keterangan

Tabel 4. Jabatan

No. Field Data Type Width Descript ion


1. Kode_jabatan Varchar 4 Kode jabatan
2. Nama_jabatan Varchar 30 Nama jabatan

Tabel 5. karyawan

No. Field Data Type Width Descript ion


1. Nik Int 9 Nomor induk karyawan
2. Nama Varchar 30 Nama
3. Alamat Varchar 250 Alamat
4. T4_lahir Varchar 30 Tempat lahir
5. Tgl_lahir Date - Tanggal lahir
6. Gender Varchar 6 Gender
7. Telp Varchar 15 Telepon
8. Kode_jabatan Varchar 4 Kode jabatan
9. Password Varchar 32 Password
10. Level Varchar 20 Level
11. Photo Varchar 50 Photo
Tabel 6. Modul

No. Field Data Type Width Descript ion


1. Id_modul Int 3 Id modul
2. Nama_modul Varchar 30 Nama modul
3. Link Varchar 30 Link
4. Katagori Varchar 20 Katagori
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 baru

3. sistem Menguji apakah sistem baru tersebut sesuai dengan

4. pemakai Memastikan bahwa konversi ke sistem baru berjalan gan membuat

rencana,
yaitu denmengontrol dan melakukan instalasi baru secara benar.
5.3 Komponen- komponen kebutuhan sistem

Untuk menunjang penerapan sistem yang dirancang , dibutuhkan komponen-

komponen yang sangat berperan terhadap kebutuhan sistem. Berikut beberapa

komponen yang dibutuhkan sistem agar dapat beroperasi dengan baik.

5.3.1 H rdware

Komponen ini merupakan komponen pertama yang sangat diperlukan dalam

mewujudka n sistem yang diusulkan. Dalam hal ini merincikan kasi hardware

yang dia
spesifi

a. jukan adalah sebagai berikut:

b. Komputer dengan processor Intel Pentium 4

c. Memori RAM 256 MB atau lebih

d. Kapasitas Hardisk minimal 10 GB

e. Microsoft Windows 2000 service pack 4 atau XP Home

Microsoft Windows XP Professional (lebih disarankan)

5.3.2 S

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
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 penulisanPHP 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.
Gambar 5.2 Halaman Tampilan Macromedia Dreamweaver8

c. XAMPP

XAMPP merupakan software triad dari 3 aplikasi yaitu sebagai web

sapache ervernya, PHP sebagai bahasa pemograman SQL sebagai

dserta My atabasenya. Dengan XAMPP kebutuhan software hi.

telah terpenu
Gambar 5.3 Tampilan Antar Muka Web Server

5.3.3 Brainware

Brainwa re adalah sumber daya manusia yang nantinya akan sebagai user

ataupun berperan administrator. Brainware sebagai administratorg melakukan

pengolaadalah yan han website. Administrator harus mengerti tentangograman 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.
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 H

laman Utama Login Absensi Karyawan

Halama ukan

absensi.nDimana
login karyawan adalah halaman khusus karyawan untuk melak

istirahat,absensi
jam dilakukan sebanyak 4 kali, yaitu jam masuk, jam

masuk istirahat dan jam keluar.

Gambar 5.4 Halaman Utama Login Absensi


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. Flashindo media. 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


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 H laman 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.
Gambar 5.7 Halaman Menu Admin

5.4.5 H laman Menu Master Data

Pada ha laman ini ada terdapat dua menu yaitu data karyawan dan data jabatan. Di

mana d i menu data karyawan admin dapat melakukan pengedita n pada profil

karyawan serta dapat melakukan penambahan data karyawan baru se dangkan pada

menu data jabatan berisi tentang jabatan-jabatan yang ada pada CV. Flashindomedia

Medan.
Gambar 5.8 Halaman Menu Master Data

5.4.6 H laman 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.


Gambar 5.9 Halaman Menu Data Absensi

5.4.7 H laman 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.


113

Gambar 5.10 Halaman Menu Laporan

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb, 2009.
114

BAB 6

KESIMPULAN DAN SARAN

6.1 Kesimpulan

Sistem informasi absensi pegawai CV. Flashindomedia Medan Ber basis web ini

adalah media yang dapat digunakan untuk menyampaikan si khususnya

kepada informa pimpinan dan pegawai perusahaan. Sistem i pegawai ini

dirancan informasi absens g penulis dengan menggunakan sistem Professional,

Macrom operasi Windows XP edia Dreamweaver 8, Photoshop CS, sebagai web

serverny Aplikasi Triad XAMPP a, PHP bahasa scripting-nya dan e manajemen

sistem MySQL sebagai databas enulis dapat

merang (DBMS). Dari penjelasan pada bab-bab sebelumnya, p

1. kum beberapa kesimpulan yaitu sebagai berikut: ensi Pegawai

Penggunaan dan Pemanfaatan aplikasi Sistem Informasi Absn bagi pihak

CV. Flashindo medi medan ini dapat memberikan

2. kemudaha
Dengan erusahaan
adanya dalam
Sistem melakukan
Informasi absensiPegawai CV. Flashindomedia
Absensi

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 W eb,
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 pe ninjauan dan riset yang telah dilakukan oleh penulis, maka penulis

berkeinginan memberikan saran – saran yang mungkin dapat akan sebagai

bahan digun ertimbangan bagi para pembaca, yaitu:

1. Sejalan dengan pesatnya kemajuan Teknologi, Penulis berharapagar pembaca

lebih memperdalam pengetahuan dibidang komputer, t penggunaan

kmenginga omputer dewasa ini tidak dapat dipisahkan lagi sehari-hari.

2. dengan aktifitas Dalam pembuatan Sistem Informasi Absensi ashindomedia

Pegawai CV. Fl Medan ini masih banyak kekurangan yang tersebut.

terdapat dalam sistem

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
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. Yogya
karta. Andi Offset

Kartoyo, Haris Supriansyah. 2006. 30 Menit Menjadi Webmaster. ndung : Oase


Ba
Media

RS, Ber Pemograman


nard. Pijono, A. Agustaf R. 2005. Mudah dan Cepat
WEB. B
Menguasai andung : Informatika Bandung

Syafii, Yogyakarta :
M. 2005. Panduan Membuat Aplikasi Database dengan PHP
Andi Of
5. fset

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
2009.
117

Mira Bellina : Sistem Informasi Absensi Pegawai Pada CV. Flashindomedia Medan Berbasis W eb,
2009.
118

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],$_POS [tgl_lahir]); T[bln_lahir]
,$_POST
f (empty($lokasi_file)){
iql_query("UPDATE karyawan SET alamat =
mys '$_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 W eb,
2009.
$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
type=text/css>";
rel=stylesheet 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" t/html;
charset content="tex
=windows-1252" /> ='text/css'>
<link href='style.css' rel='stylesheet' ::</title>
type
<title>:: Sistem Absensi CV. FLASHINDOMEDIA
</head>
<body>
<div id="header">
<div id="content">
href="? <div id="nav">
<a
modul=home">&nbsp;&nbsp;Home &nbsp;</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);
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', hn);
$get_t 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 =fupload>
*)</td> name
</tr> ngkan
saja.</ <tr><td colspan=2>*) Apabila gambar tidak diubah,
<dikoso td></tr> it>
tr><td colspan=2><input type=submit value=Simpan
onclick id=subm
< <input type=button value=Batal id=submit
<=self.history.back()></td></tr>
"/table>
/form>
;
}elseif
$
$($_GET[modul]=='passchange'){ ");
$nik=$_SESSION[nik];
p=mysql_query("select * from karyawan where nik =
e'$nik' e=mysql_fetch_array($p);
<
<cho "
<h2>Ganti Password</h2>
<form method=post action=aksi.php?act=change>
<input type=hidden name=nik value='$e[nik]'> ame=pass
></td>< table>
tr><td>Current
<tr><td>New Password</td><td>:
Password</td><td>: <input
<input type=password
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>
<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 m' and
year(tamonth(tanggal)='$ nggal)='$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)){
$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 nter>";
href=index.php><b>LOGIN</b></a></ce
}
else{
?>

<?php

$nik=$_SESSION[nik]; ere
karyawa $s=mysql_query("select * from karyawan, absensi wh
n.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 "
padding=0>
<tr> <table width=60% border=0 cellspacing=0
<td o]'
width=1 cell width=20% rowspan=6><img src='admin/images/photo/ </td>
<td
< $r[phot
</tr>20 height=120 hspace=10 border=0 align=center
<tr> valign=top>
<td width=20%>NIK</td>
<td width=20%>: $r[nik]</td>
</tr>
<tr>
<td>J>Nama</td>
<td>:td>:
$r[masuk]</td>
$r[nama]</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>

";
}
}

?>

</div>
<div id="footer">
Copyright &copy; 2009 by mira
</div>
</div>
</body>
</html>
Logout.php

<?php
session_start(); on_destroy();
sessieader('location:index.php');
h
?>
gin.php
Form_lo
<?php form method=POST action=cek_login.php>
echo "<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
id=submvalue=Login it></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' er by
absensiord
$r=mysq.masuk asc");
l_num_rows($sq);
if($r >
echo 0){
"<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>";
}
?>
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 _sekarang'


and nik tanggal='$tgl
$='$nik'");
$m=mysql_fetch_array($k);
$n=mysql_num_rows($k);
nik=$_SESSION[nik];

if($m[ket]==0){ gal, nik,


masuk, mysql_query("insert into absensi(tang ) or
die("daket) values('$tgl_sekarang',
'$nik','$jam_sekarang','1')" ta gagal masuk");

e');
header('location:media.php?modul=hom
}elseif($m[ket]==1 or $ket==2){
if($n > 0){ t istirahat =
'$jam_s mysql_query("update absensi se nd
nik='$nekarang', ket = $m[ket]+1 where tanggal='$tgl_sekarang'
a ik'");

header('location:media.php?mod
}else{
echo "<link href=style.css
ul=home');

stylesheet
type=text/css>";
echo "<center>Anda belum Login Jam
Masuk<br>Silahkan Login Masuk Terlebih Dahulu<br>";
echo "<a href=index.php><b>ULANGI
LAGI</b></a></center>";
}
}elseif($m[ket]==2 or $ket==3){
if($n > 0){
mysql_query("update absensi
set msk_istirahat = '$jam_sekarang', ket = $m[ket]+1 where
tanggal='$tgl_sekarang' and nik='$nik'");

header('location:media.php?modul=home');
}else{
echo "<link href=style.css rel=stylesheet
type=text/css>";
echo "<center>Anda belum Login Jam
Masuk<br>Silahkan Login Masuk Terlebih Dahulu<br>";
echo "<a href=index.php><b>ULANGI
LAGI</b></a></center>";
}
}elseif($m[ket]==3 or $ket==4){
if($n > 0){
mysql_query("update absensi set keluar =
'$jam_sekarang', ket = $m[ket]+1 where tanggal='$tgl_sekarang' and
nik='$nik'");
header('location:media.php?modulss=home');
}else{
echo "<link href=style.css
type=text/css>";
rel=stylesheet echo "<center>Anda belum

Login Jam
Masuk<br>Silahkan Login Masuk Terlebih Dahulu<br>";
NGI
LAGI</b echo "<a href=index.php><b>ULA
></a></center>";
}
}else{
type=te echo "<link href=style.css rel=stylesheet
xt/css>";
lagi ha echo "<center>Maaf Anda Tidak apat absen
d
href=inri ini<br>";
echo "<a
dex.php><b>Kembali</b></a></center>";
}
}
else{ ext/css>";
echo "<link href=style.css rel=stylesheet idak
benar<b type=t echo "<center>Login gagal! username &
password t center>";
r>";
?> echo "<a href=index.php><b>ULANGI LAGI</b></a></
}

Style.c
body{ ss
f
text-
} ont-family: Tahoma;
#headeralign: center;
p
b{
bosition: relative;
mackground-image: url(images/header.jpg);
mackground-repeat: no-repeat;
width: 780px; auto;
argin-right:
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;
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; order-
bwidth: 1px; order-
bstyle: solid; order-
bcolor: #999999;
border-collapse: collapse;
margin: 10px 0px;
o kground-color:
} r #265180;
th{ d
color e
: r padding: 0.5em;
#FFFF -
FF; s
font- t
size: y
7pt; l
text- e
trans :
form:
upper s
case; o
} t l
td{e i
x d
t ;
- b
a o
l r
i d
g e
n r
: -
c
c o
e l
n o
t r
e :
r
;
#
9
p 6
a 9
d B
d A
i 5
n ;
g
:
b
o
0 r
. d
5 e
e r
m -
; c
o
b l
o l
r a
d p
e s
r e
- :
w
i c
d o
t l
h l
: a
p
1 s
p e
x ;
;
b
b a
c
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;
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);
}
.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;
}
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
table.dtbody.datepickerYears, atepickerViewMonths
dtr.datepickerDoW { isplay: none;
}
table.datepickerViewYears tbody.datepickerDays,
table.datepickerViewYears
table.dtbody.datepickerMonths, atepickerViewYears
dtr.datepickerDoW { isplay: none;
}
td.datepickerDisabled a,
td.datepickerDisabled.datepickerNotInMonth
ca{ olor: #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>
<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 urutan");
} by
else{
$sql= aktif='Y'
order bmysql_query("select * from modul where status='user'
} and y urutan");
while (
echo $data=mysql_fetch_array($sql)){ li>";
} "<li><a href='$data[link]'>&#187;
?> $data[nama_modul]</a></
Aksi.ph

<?php p
session
include
include_start();
include "../config/koneksi.php";
"../config/library.php";
('fpdf.php');
$modul=
$act=$_
$_GET[modul];
GET[act];
if ($mo
mysql
dul=='jabatan' AND $act=='input'){
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]' ");
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]',
nama = '$_POST[nama]',
alamat = '$_POST[alamat]',
t4_lahir =
'$_POST[t4_lahir]',
tgl_lahir =
'$tgl_lahir',
gender =
'$_POST[gender]',
telp =
'$_POST[telp]',
kode_jabatan =
'$_POST[jabatan]',
password = '$pass',
level =
'$_POST[level]'
WHERE nik = '$_POST[id]'");
}
else{
move_uploaded_file($lokasi_file,"images/photo/$nama_file");
mysql_query("UPDATE karyawan SET nik = '$_POST[nik]',
nama = '$_POST[nama]',
alamat = '$_POST[alamat]',
t4_lahir =
'$_POST[t4_lahir]',
tgl_lahir =
'$tgl_lahir',
gender =
'$_POST[gender]',
telp =
'$_POST[telp]',
kode_jabatan =
'$_POST[jabatan]',
password = '$pass',
level =
'$_POST[level]',
photo = '$nama_file'
WHERE nik = '$_POST[id]'");
}
header('location:media.php?modul='.$modul);
}

elseif($modul=='karyawan' and $act=='hapus'){


mysql_query("DELETE FROM karyawan WHERE nik='$_GET[id]' );
h"
} eader('location:media.php?modul='.$modul);

// Inpu
elseif t absensi admin
$tang($modul=='absensi' AND $act=='input'){ OST[day]);
gal=sprintf("%02d%02d%02d",$_POST[year],$_POST[month],
mysql_query("INSERT
$_P INTO
absensi(t
anggal,
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]);
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[tgl
_mulai]$_POST[bln_mulai
);
$selesa elesai],$_PO
ST[tgl_i=sprintf("%02d%02d%02d",$_POST[thn_selesai],
$_POST[bln_s selesai]);
mysql
_query("INSERT INTO cuti(nik, tgl_mulai,
tgl_selesai, ket) T[nik]',
VALUES('$_POS
'$mulai',
'$selesai',
heade '$_POST[ket]')");
} r('location:media.php?modul='.$modul);

// Upda
elseif te cuti
($modul=='cuti' AND $act=='update'){
$mulai= ],$_POST[tgl
_mulai]sprintf("%02d%02d%02d",$_POST[thn_mulai],
$_POST[bln_mulai
$selesa); elesai],$_PO
ST[tgl_
i=sprintf("%02d%02d%02d",$_POST[thn_selesai],
mysql$_POST[bln_s selesai]);
_query("UPDATE cuti SET tgl_mulai = '$mulai',
tgl_selesai = '$selesai',
heade ket =
} '$_POST[ket]' WHERE nik =
'$_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,
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 = '$mulai',
tgl_selesai = '$selesai',
ket =
'$_POST[ket]' WHERE nik =
heade '$_POST[id]'");
} r('location:media.php?modul='.$modul);
elseif(
m$modul=='ijin' and $act=='hapus'){
hysql_query("DELETE FROM ijin WHERE id='$_GET[id]'");
} eader('location:media.php?modul='.$modul);
elseif(
$m=date$modul=='cetak' and $act=='global')
$y=date{ ("m");
("Y");
$qry_da ) AS
`selisita =mysql_query("SELECT * ,TIMEDIFF( `masuk` , an.nik and
karyawa'08:15:00' h` from absensi,karyawan,jabatan where m' and
year(taabsensi.nik=karyaw n.kode_jabatan=jabatan.kode_jabatan
$_nDataand month(tanggal)='$ nggal)='$y' order by tanggal");
if ($_n =mysql_num_rows($qry_data);
Data > 0) {
$pdf =
$headernew FPDF('P', 'mm', 'A4'); m Masuk",
"IstiraData = array("No","tanggal", "NIK","Nama", "Jabatan",
$pdf->A"Ja
hat", "Msk Istirahat", "keluar", "Keterlambatam");
//HEADEddPage();
$pdf->s
$pdf->SR etXY(5,5);
etFont('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', );
$pdf->C$fill ell($w[8],6,$record_data["keluar"],1,$ln,'C',
$pdf->C$fill); ell($w[9],6,$record_data["selisih"],1,$ln,'C',
$pdf->L$fill);
$fill=!n();
$iData+$fill;
$ln = 0+;
;
if ($iD
$ln = 1ata == 24 || $_nData < $iData) {
$pdf->S;
$pdf->SetY(179);
$pdf->CetFont('Arial','I',8);
} ell(0,10,$pdf->PageNo(),0,$ln,'R');

unset($
_val);
}

$pdf->C
ell(array_sum($w),0,'','T');
$pdf->O
utput();
}
header(
} 'location:media.php?modul=global');

elseif(
$m=$_PO$modul=='cetak' and $act=='tampilkan')
$y=$_PO{ ST[m];
$nik=$_ST[y];
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');


$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; ell($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',
$pdf->C$fill) ell($w[5],6,$record_data["masuk"],1,$ln,'C', ;
$pdf->C$fill); ell($w[6],6,$record_data["istirahat"],1,$ln,'C',
$pdf->C$fill);
$pdf->Cell($w[7],6,$record_data["msk_istirahat"],1,$ln,'C', );
$pdf->C$fill ell($w[8],6,$record_data["keluar"],1,$ln,'C',
$pdf->C$fill); ell($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=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", l Mulai",
"Tangga"Tangga l 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++;
$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=$_PO{ ST[m];
$y=$_POST[y];
$qry_data =mysql_query("SELECT * from an where
cuti.ni cuti,karyawan,jabat atan and
month(tk=karyawan.nik and i");
$karyawan.kode_jabatan=jabatan.kode_jab gl_mulai)='$m'
iand year(tgl_mulai)='$y' order by tgl_mula
_nData =mysql_num_rows($qry_data);
$f ($_nData > 0) {
$ l Mulai",
"Tangga pdf = new FPDF('P', 'mm', 'A4');
$headerData = array("No","NIK", "Nama","Jabatan",
"Tangga l 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->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++;
$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 an where
ijin.niijin,karyawan,jabat k=karyawan.nik and atan and
month(tkaryawan.kode_jabatan=jabatan.kode_jab gl_mulai)='$m' i");
$and year(tgl_mulai)='$y' order by tgl_mula
i_nDat = mysql_num_rows($qry_dat);
f ($_nDat > 0) {
$
$pdf = new FPDF('P', 'mm', l Mulai",
"Tangga 'A4');
$headerData = array("No","NIK", "Nama","Jabatan",
"Tangga
/l Selesai", "Keterangan");
$pdf->AddPage();
$
/HEADER

//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);
$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- $fill);
$>Cell($w[3],6,$record_dat["nama_jabatan"],1,$ln,'C', ll);
$pdf->Cell($w[4],6,$record_dat["tgl_mulai"],1,$ln,'C', fill);
$$fi pdf-
$>Cell($w[5],6,$record_dat["tgl_selesai"],1,$ln,'C',$
$pdf->Cell($w[6],6,$record_dat["ket"],1,$ln,'C',$fill);
$pdf->Ln();
$fill=!$fill;
iData++;
iln = 0;
$
$f ($iData == 24 || $_nDat < $iData) {
$ln = 1;
$pdf->SetY(179);
}pdf->SetFont('Arial','I',8);
pdf->Cell(0,10,$pdf->PageNo(),0,$ln,'R');
u

}nset($_val);

$pdf->Cell(array_sum($w),0,'','T');

}pdf->Output();
h
}
eader('location:media.php?modul=lapijin');
elseif(
$m=$_PO
$y=$_PO$modul=='print' and $act='tampilkanijin')
${ ST[m]; n where
ST[y];
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);
$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- $fill);
$>Cell($w[3],6,$record_dat["nama_jabatan"],1,$ln,'C', ll);
$pdf->Cell($w[4],6,$record_dat["tgl_mulai"],1,$ln,'C', fill);
$$fi pdf-
$>Cell($w[5],6,$record_dat["tgl_selesai"],1,$ln,'C',$
$pdf->Cell($w[6],6,$record_dat["ket"],1,$ln,'C',$fill);
$pdf->Ln();
$fill=!$fill;
iData++;
iln = 0;
$
$f ($iData == 24 || $_nDat < $iData) {
$ln = 1;
$pdf->SetY(179);
}pdf->SetFont('Arial','I',8);
pdf->Cell(0,10,$pdf->PageNo(),0,$ln,'R');
u

}nset($_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>
</table>
</form>";
?>
Content.php

<?php
include "../config/koneksi.php";
include "../config/library.php";
include "../config/fungsi_indotgl.php";
include "../config/fungsi_combobox.php";
?>

<link rel="stylesheet" media="screen" href="styles/vlaCal-


v2.1.css" type="text/css" />
<link rel="stylesheet" media="screen" href="styles/vlaCal-
v2.1- adobe_cs3.css" type="text/css" />
<link rel="stylesheet" media="screen" href="styles/vlaCal-
v2.1- apple_w
idget.css" type="text/css" />

<script type="text/javascript" src="jslib/mootools-1.2- re-


compresco sed.js"></script>
<script type="text/javascript" src="jslib/vlaCal-v2.1-
compressed.js"></script>

<style>
.pickerImg {
position: absolute;
margin-left: -16px;
margin-top: 5px;
cursor: pointer;
}

</style>

<script type="text/javascript">
window.addEvent('domready', function() {

new vlaDatePicker('exampleIII', { openWith:


'togglePicker', offset: { y: -2, x: 2 }, separateInput: { day: day', month:
'month''
, year: 'year' } });

< });
/script>

<?php
// Bagian Home
if ($_GET[modul]=='home'){
echo "<h2>Selamat Datang</h2>
<p>Hai <b>$_SESSION[namauser]</b>, silahkan klik menu pilihan yang
ada untuk mengelola content sistem absensi. </p>
<p>&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>";

}
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='im

href=\" lick=\"retur
n confi n]?')\"><img
src='im

$n
}
echo
}
ages/edit.jpeg' width=20 height=20 border=0></a> |
<a aksi.php?
modul=jabatan&act=hapus&id=$r[kode_jabatan]\"onC
rm('Apakah Anda benar-benar akan menghapus
$r[nama_jabata ages/del.jpeg' width=20 height=20
border=0></a>
</td></tr>";
o++;
// Form"</table>";
elseif
echo
tambah user ut'>
($_GET[act]=='tambahjabatan'){
"<h2>Tambah Jabatan</h2>
name=ko <form method=POST action='aksi.php?
modul=jabatan&act=inp ext
name=na <table>
<tr><td>Kode Jabatan</td> <td> : <input type=text
de_jabatan></td></tr>
onclick <tr><td>Keterangan Jabatan</td> <td> : <input
type=t
ma_jabatan></td></tr>
} <tr><td colspan=2><input type=submit value=Simpan>
<input type=button value=Batal
// Form=self.history.back()></td></tr>
elseif </table>
$edit </form>"; _GET[id]'");
$r=my
echo edit user
($_GET[act]=='editjabatan'){
<form method=POST action=aksi.php?modul=jabatan&act=update>
=mysql_query("SELECT * FROM value='$r[kode_jabatan]'>
<input type=hidden name=id jabatan WHERE
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>
<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 karyawa
n.kode_jabatan=jabatan.kode_jabatan ORDER BY
$no=1nik");
while;
ech ($r=mysql_fetch_array($tampil)){
o "<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>
src='im <td><a href=?act=editkaryawan&id=$r[nik]><img
ages/edit.jpeg' width=20 height=20 border=0></a>
href=\"| eturn
confirm <a mg
src='imaksi.php?
modul=karyawan&act=hapus&id=$r[nik]\"onClick=\"r
$n('Apakah Anda benar-benar akan menghapus
} $r[nama]?')\"><i ages/del.jpeg' width=20 height=20
echo border=0></a>
} </td></tr>";
o++;

"</table>";

Tambah Karyawan
($_GET[act]=='tambahkaryawan'){
"<h2>Tambah Karyawan</h2>
<form method=POST action='aksi.php?
modul=karyawan&act=in
='multipart/form-data'>
<table>
<tr><td>NIK</td> <td> : <input type=text
// Form
elseif
echo
put'
enctype

/tr>
name=na
type=text
name=t4
<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>
<tr><td>Jabatan</td> <td> : <select name=jabatan>
<option value=0 selected>- Pilih Jabatan -</option>
";
$q=mysql_query("select * from jabatan order by kode_jabatan
asc");
while($r=mysql_fetch_array($q)){
echo "<option
value=$r[kode_jabatan]>$r[nama_jabatan]</option>";
}
echo "</select>
</td></tr>
<tr><td>Alamat</td><td>: <textarea name=alamat cols=20
rows=1></textarea></td></tr>
<tr><td>No. Telp</td><td>: <input type=text
name=telp></td></tr>
<tr><td>Photo</td><td>: <input type=file name=fupload
></td></tr>
<tr><td>Password</td><td>: <input
name=patype=password ss></td></tr>
<tr><td>Level</td> <td> : <input type=radio name=level
value='user' checked>user
<input type=radio vel
value=' name=le
admin'>admin </td></tr> impanmodul>
<tr><td colspan=2><input type=submit value=Simpan
onclick name=s
<input type=button value=Batal
=self.history.back()></td></tr>
</table>
} </form>";

// Form
elseif Edit Modul
$edit($_GET[act]=='editkaryawan'){ '$_GET[id]'
and kar = mysql_query("SELECT * FROM karyawan,jabatan WHERE
$r nik=
yawan.kode_jabatan = jabatan.kode_jabatan");
= mysql_fetch_array($edit);
echo
ate
enctype"<h2>Edit Karyawan</h2>
<form method=POST action=aksi.php?
modul=karyawan&act=upd
='multipart/form-data'>
value=' <input type=hidden name=id value='$r[nik]'>
<table>
value=' <tr><td>NIK</td> <td> : <input type=text name=nik
$r[nik]'></td></tr> pe=text
name=t4 <tr><td>Nama</td> <td> : <input type=text name=nama
$r[nama]'></td></tr>
<tr><td>Tempat / Tanggal Lahir</td><td>: <input ty
$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>";
}
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 upload
size=30 name=f
> *)</td></tr> dikosongkan
saja.</ <tr><td colspan=2>*) Apabila gambar tidak
diubah, td></tr>
<tr><td colspan=2><input type=submit value=Update>
onclick <input type=button value=Batal
=self.history.back()></td></tr>
</table>
</form>";
}

elseif($_GET[act]=='hasilcari'){
$nik=$_POST[nik];
$i=mysql_query("select * from karyawan where nik like '% nik%'");
$$
eh=mysql_num_rows($i);
icho "<h2>Hasil Cari</h2>";
f($h > 0){

<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
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
absensiby
.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="exampleIIIstyle="width:
18px; b <input name="day" type="text" ="/"
type="torder-width: 1px 0 1px 1px;" maxlength="2" /><input
disablevalue ext" style="width: 5px; border-width: 1px 0 1px text"
style="0;" d="disabled" /><input name="month" class="textbox" <input
value="type=" width: 16px; border-width: 1px 0 1px 0;" 0;"
disablemaxlength="2" /> h: 28px;
border-/" type="text" style="width: 5px; border-width: 1px 0 tyle="width:
15px; b1px
src="imd="disabled" /><input name="year" type="text" dth="13px"
height=style="widt width: 1px 0 1px 0;" maxlength="4" /><input
type="text" s order-width: 1px 1px 1px 0;"
value=Tdisabled="disabled" /><img ages/calendar.gif"
id="togglePicker" class="pickerImg" wi "12px" alt="" />
<? echo </span> <input type=submit
ampilkan></td></tr>
<table> </table></form> th>Jam
Masuk</ "
Pulang<
$no=1; <tr><th>No</th><th>Tanggal</th><th>NIK</th><th>Nama</th>
w<
$th><th>Jam Istirahat</th><th>Masuk Istirahat</th><th>Jam
/th><th>Aksi</th></tr>";
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>
";
$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
< $f[masuk]'></td></tr>
<tr><td>Jam Istirahat</td> <td> : <input =text
value=' type
tirahat value='$f[istirahat]'></td></tr> pe=text
name=is <tr><td>Masuk Istirahat</td> <td> : <input ty
k_istirahat value='$f[msk_istirahat]'></td></tr> t
name=ms <tr><td>Jam Keluar</td> <td>: <input type=tex
luar value='$f[keluar]'></td></tr>
name=ke <tr><td colspan=2><input type=submit value=Update>
<input type=button value=Batal
=self.history.back()></td></tr>
onclick </table>
</form>";

($_GET[modul]=='cuti'){
elseif "<h2>Data Cuti</h2>action='?act=tambahcuti'>
<form method=POST
echo <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>
<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>
<tr><td>NIK</td><td> : <input type=text
name=nik></td><
<tr><td>Tgl Mulai</td><td> : ";
$tgl=date("d");
combotgl2(1,31,'tgl_mulai',$tgl);
$bln=date("m");
combobln2(1,12,'bln_mulai',$bln); rg);
$thn_skrg=date("Y");
combotgl2($get_thn-2,$thn_sekarang+2,'thn_mulai',
$thn_sk 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); skrg);
$thn_skrg=date("Y");
combotgl2($get_thn-2,$thn_sekarang+2,'thn_selesai',
$thn_ </td></tr>
echo "</td></tr>

onclick <tr><td>Keterangan</td><td> : <input type=text


name=ket>
<tr><td colspan=2><input type=submit value=Simpan>
} <input type=button value=Batal
=self.history.back()></td></tr>
</table>
elseif </form>";
$edit
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 "
</td></tr>
<tr><td>Tgl Selesai</td><td> : ";
$get_tgl=substr("$r[tgl_selesai]",8,2);
combotgl2(1,31,'tgl_selesai',$get_tgl);
$get_bln=substr("$r[tgl_selesai]",5,2);
combobln2(1,12,'bln_selesai',$get_bln);
$get_thn=substr("$r[tgl_selesai]",0,4);
$thn_skrg=date("Y");
combotgl2($thn_sekarang-2,$thn_sekarang+2,'thn_selesai',$get_thn);
echo "
</td></tr>
<tr><td>Keterangan</td><td> : <input type=text name=ket
value='$r[ket]'></td></tr>
<tr><td colspan=2><input type=submit value=Update>
<input type=button value=Batal
onclick=self.history.back()></td></tr>
</table>
</form>";
}

elseif ($_GET[modul]=='ijin'){
echo "<h2>Data Ijin</h2>
<form method=POST action='?act=tambahijin'>
<input type=submit value='Tambah Data Ijin'>
</form>";
$bln=date("m");
$tampil=mysql_query("SELECT * FROM ijin,karyawan where
ijin.nik=karyawan.nik and date_format(tgl_mulai,'%m')='$bln' ER BY
tgl_mulORD ai ASC");
$br=mysql_num_rows($tampil);
if($br > 0){
echo "<table>
<tr><th>no</th><th>NIK</th><th>Nama</th><th>Tgl h><th>Tgl
Selesai Mulai</t
$no=1</th><th>Keterangan Cuti</th><th>aksi</th></th></tr>";
while;
$tg ($r=mysql_fetch_array($tampil)){
$l_mulai=tgl_indo($r[tgl_mulai]);
echtgl_selesai=tgl_indo($r[tgl_selesai]);
o "<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>
src='im <td><a href=?act=editijin&id=$r[id]><img
ages/edit.jpeg' width=20 height=20 border=0></a>
href=\"|
confirm <a aksi.php? mg
src='immodul=ijin&act=hapus&id=$r[id]\"onClick=\"return
('Apakah Anda benar-benar akan menghapus
</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);
$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',
$g

</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-
et_thn);
echo "

$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");
combobln2(1,12,'bln',$bln);
$thn_skrg=date("Y");
combotgl2($thn_sekarang-2,$thn_sekarang+2,'thn',$thn_skrg);
echo "
</td><td rowspan=2><input type=submit
value=Tampilkan></td></tr>
<tr><td>NIK</td><td>: <input type=text name=nik></td></tr>
</table>
</form>
<h2 align=center>Laporan Data Absensi Global<br>Bulan $m
$y</h2>
<table>

<tr><th>no</th><th>Tanggal</th><th>NIK</th><th>Nama</th><th>Jabatan</th><th
> Jam Masuk</th><th>Jam Istirahat</th><th>Jam Masuk Istirahat</th><th>Jam
Keluar</th><th>Keterlambatan</th></tr>";
$tampil=mysql_query("SELECT * ,TIMEDIFF( `masuk` , '08:15:00' ) AS
`selisih` from absensi,karyawan,jabatan where an.nik and
karyawaabsensi.nik=karyaw n.kode_jabatan=jabatan.kode_jabatan m' and
year(taand month(tanggal)='$ nggal)='$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 hod=POST>
<met input type=submit value=Cetak PDF>
</form>
";
}

elseif ($_GET[act]=='tampilkan'){
$m=$_POST[bln];
$y=$_POST[thn];
$nik=$_POST[nik];
echo "<h2>Laporan Absensi
Global</h2>
<form action='' method=POST>
<table>
<tr><td>Bulan</td><td>:";
$bln=date("m");
combobln2(1,12,'bln',$bln);
$thn_skrg=date("Y");
combotgl2($thn_sekarang-2,$thn_sekarang+2,'thn',$thn_skrg);
echo "
</td><td rowspan=2><input type=submit
value=Tampilkan></td></tr>
<tr><td>NIK</td><td>: <input type=text name=nik></td></tr>

</table>
</form>
<h2 align=center>Laporan Data Absensi Global<br>Bulan $m
$y</h2>
<table>
<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++;
}
"</table>";
cho "<br><br><form action=aksi.php?
modul=cetak&act=tampi
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>";

($_GET[modul]=='lapcuti'){
("m");
("Y");
"<h2>Laporan Absensi Data Absensi Cuti</h2>
<form action=?act=tampilkancuti method=POST>
<table>
<tr><td>Bulan</td><td>:";
$bln=date("m");
echo
e lkan
method=
<
<
<
<
<
}

elseif
$m=date
$y=date
echo

$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]);
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', g);
$thn_skr
echo " </tr>
</td><td><input type=submit value=Tampilkan></td>

</table>
</form> /h2>
<h2 align=center>Laporan Data Cuti<br>Bulan $m $y<
<table> <th>Tanggal
Mulai</ <tr><th>no</th><th>NIK</th><th>Nama</th><th>Jabatan</th
>
$tampth><th>Tanggal
cuti.niSelesai</th><th>Keterangan</th></tr>"; atan and
month(t lai");
il=mysql_query("SELECT * from cuti,karyawan,jabatan
$no=1where k=karyawan.nik and
whilekaryawan.kode_jabatan=jabatan.kode_jab gl_mulai)='$m'
$tgand year(tgl_selesai)='$y' order by tgl_mu
ech
;
($r=mysql_fetch_array($tampil)){
l=tgl_indo($r[tanggal]);
<td>$r[tgl_mulai]</td>
o "<tr><td>$no</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");
$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
ijin.niwhere k=karyawan.nik and atan and
month(tkaryawan.kode_jabatan=jabatan.kode_jab gl_mulai)='$m' i");
$no=1and year(tgl_mulai)='$y' order by tgl_mula
while;
$tg ($r=mysql_fetch_array($tampil)){
echl=tgl_indo($r[tanggal]);
o "<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>
$no </tr>";
} ++;
echo
echo "</table>"; hod=POST>
<"<br><br><form action='aksi.php?modul=print&act=ijin'
<met
"; input type=submit value=Cetak >
} /form>

elseif
$m=$_PO
$y=$_PO($_GET[act]=='tampilkanijin'){
ST[bln];
echo ST[thn];
"<h2>Laporan Absensi Data Ijin</h2>
<form action=?act=tampilkanijin method=POST>
<table>
<tr><td>Bulan</td><td>:";
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");
$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' ST>
<method=PO
<table> >
<tr><td>NIK</td><td>: <input type=text
name=nik></td></tr style="width:
18px; b tr><td>Tanggal</td><td>:";?> <span id="exampleIII"> ="/"
type="t <input name="day" type="text"
disableorder-width: 1px 0 1px 1px;" maxlength="2" /><input text"
style="value ext" style="width: 5px; border-width: 1px 0 1px <input
value="0;" d="disabled" /><input name="month" class="textbox" 0;"
disabletype=" width: 16px; border-width: 1px 0 1px 0;" h: 28px;
border-maxlength="2" /> tyle="width:
15px; b/" type="text" style="width: 5px; border-width: 1px 0
src="im1px d="disabled" /><input name="year" type="text" dth="13px"
height=style="widt width: 1px 0 1px 0;" maxlength="4" /><input
type="text" s order-width: 1px 1px 1px 0;"
<?php edisabled="disabled" /><img ages/calendar.gif"
<id="togglePicker" class="pickerImg" wi "12px" alt="" /> /td></tr>
< </span> </td></tr>
name=ischo "
<tr><td>Jam Masuk</td><td>: <input type=text
name=msname=masuk>< tr><td>Jam Istirahat</td><td>: <input
<type=text tirahat></td></tr> ></td></tr>
<tr><td>Jam Msk Istirahat</td><td>: <input type=text mpanmodul>
k_istirahat></td></tr>
tr><td>Jam Keluar</td><td>: <input type=text
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;"
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>Nam </th><th>Jam
Masuk</a th><th>Jam Istirahat</th><th>Masuk
Pulang<Istirahat</th><th>Jam
$no=1; /th><th>Aksi</th></tr>";
w
$hile($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>
href=?a <td><a s/edit.jpeg'
width=2ct=editabsensi&id=$t[nik]&tgl=$t[tanggal]><img
src='image
href=\"0 height=20 border=0></a> l]\"onClick=
\"retur| ]?')\"><img
src='im <a
aksi.php?
modul=absensi&act=hapus&id=$t[nik]&tgl=$t[tangga n
confirm('Apakah Anda benar-benar akan menghapus $t[nama
}ages/del.jpeg' width=20 height=20 border=0></a>
</td></tr>
echo "< ";
$no++;

}
/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{
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; -
weight:font bold; cursor:pointer; }
.dropdown dt:hover {}
.dropdown dd {padding:0px; margin: 0px; ;
overfloposition:absolute w:hidden; display:none; opacity:1.0}
.background:#265180; z-index:200; dropdown ul 9AC1C9;
list-st{padding:0px; margin: 0px;border:1px solid # yle:none;
.border-top:none; border-bottom: none;}
.dropdown li {display:inline} none; }
.dropdown a {display:block; padding:5px; text- ration:none;
} decoration:
.dropdown a:active {display:block; padding:5px; text-
decorat deco
.
.dropdown a:visited {display:block; padding:5px;
.text- ion: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;
</sty color: #fff;
<scri
iii_fil
<scrile>
iii_filpt type="text/javascript" src="145-komputer-
<scrid- es/mootools.js"></script>
pt type="text/javascript" src="145-komputer-
var DDSd- es/caption.js"></script>
var DDTpt type="text/javascript">
// 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);
}
}

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


functioopa n 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((c' urrh < 2 && d != 1) || (currh > (c.maxh - 2) && d ==
cle1)){ arInterval(c.timer);
}
}
</script>

<link rel="stylesheet" href="config/template.css" ">


type="text/css
</head>
<body>

<div id
<div ="header">
<div id="content1">
<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)">
<?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',- ">
<?php 1)
$s=mysq
while($l_query("select * from modul where kategori='absen'");
echo "<q=mysql_fetch_array($s)){ a></li>
ul><li><a class=underline href=$q[link]>$q[nama_modul]
</
<div class=clr></div>
} ";
echo "<
?>
/ul></dd></dl>";
class=" nu5',1)"
onMouse <div class="separator">|</div><dl
dropdown"><dt id="menu5-ddheader"
onMouseOver="ddMenu('me Out="ddMenu('menu5',-1)">
onMouse <li><a href="#">Laporan</a></li></dt> ">
<?php <dd id="menu5-ddcontent"
$s=mysqOver="cancelHide('menu5')" onMouseOut="ddMenu('menu5',-
while($1)
echo "< a></li>
l_query("select * from modul where kategori='laporan'");
q=mysql_fetch_array($s)){
ul><li><a class=underline href=$q[link]>$q[nama_modul]
</
<div class=clr></div>
";

/ul></dd></dl>";

lass="separator">|</div>
ass="dropdown">
}
echo "<
?>
<div c
<dl cl

onMouse
t</a></li>
</dt>
<dd id="menu0-ddcontent"
onMouseOver="cancelHide('menu0')" onMouseOut="ddMenu('menu0',-1)">
<ul></ul>
</dd>
</dl>
</div>

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


</div>
<p>&nbsp;</p>

<div id="footer">
Copyright &copy; 2009 </div>
</div>
</body>
</html>
<?
}
?>
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


if ($keditemukan temu > 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 text/css>";
echo type= "<center>Login gagal! username & password tidak ";
echo benar<br> "<a href=index.php><b>ULANGI
} LAGI</b></a></center>";
?>
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 pada tanggal
diatas
………
….2009

Dengan Hasil : Sukses / Gagal

Demikia aftaran ujian


nlah diterangakan digunakan untuk melengkapi syarat
meja hi tika Fakultas
pend jau tugas akhir mahasiswa bersangkutan dijurusan
Matema edan.
matema tika dan Ilmu Pengetahuan Alam Universitas Sumatera
Utara M

Medan,………….2009
Dosen Pembimbing

Drs. Sawaluddin, M.IT


NIP : 132206398
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 i CV.
Pegawa
Flashindo media Berbasis
Dose
Web n Pembimbing : Drs. Sawaluddin, M.IT

NO PARAF ERANGAN
TANGGAL PEMBAHASAN
DOSEN KET
BIMBINGAN PADA BAB
PEMBIMBING

* Kart ngan telah


selesu ini harap dikembalikan ke Departemen Matematika bila
bimbi ai.

Diketahui/Disetujui oleh
Departemen Matematika FMIPA USU
Ketua, Dosen Pembimbing

Dr. Saib Suwilo, M.Sc Drs. Sawaluddin,


M.IT NIP. 131796149 NIP : 132206398

Anda mungkin juga menyukai