Php Dan Mysql Studi Kasus Database Karyawan 4o28b

  • ed by: Ye Cahyono
  • 0
  • 0
  • April 2020
  • PDF

This document was ed by and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this report form. Report 3b7i


Overview 3e4r5l

& View Php Dan Mysql Studi Kasus Database Karyawan as PDF for free.

More details w3441

  • Words: 36,612
  • Pages: 270


Jalankan script di atas, kemudian cobalah memasukkan sebuah kata, misalkan kata madiun dan klik tombol Hitung. Hasilnya akan tampak seperti pada Gambar 3.2 berikut:

Gambar 3.2. Tampilan script PHP dengan fungsi strlen.

12

Bab 3

Fungsi-fungsi PHP

Pada penggunaan fungsi strlen ini yang perlu diperhatikan adalah karakter yang akan dihitung adalah seluruh jenis karakter, baik yang berupa huruf, angka, simbol maupun spasi. MENGAMBIL POTONGAN DARI SEBUAH STRING Untuk mengambil potongan dari sebuah string dapat menggunakan fungsi substr(). Dengan menggunakan fungsi ini, Anda dapat mengambil potongan atau sebagian teks dari sebuah string pada posisi manapun, baik yang berada di awal string, di tengah string maupun di akhir string. Selain itu, Anda juga dapat menentukan jumlah potongan yang akan diambil. Bentuk sintaks dari fungsi substr() ini adalah: $potongan = substr(string_awal, [awal_pengambilan], [posisi_pengambilan]);

String_awal adalah string sumber yang akan diambil sebagian datanya. Awal_pengambilan adalah bernilai angka baik bernilai positif maupun negatif yang menunjukkan posisi dari awal pengambilan karakter. Apabila angka bernilai positif maka pengambilan dimulai dari kanan dan diawali dengan angka 0. Apabila angka bernilai negatif, maka pengambilan karakter akan dimulai dari kiri dan dihitung mulai dari angka 1. Posisi_pengambilan adalah jumlah karakter yang akan diambil dalam string awal. Posisi_pengambilan ini bernilai angka, baik bernilai positif maupun bernilai negatif. Untuk lebih jelasnya perhatikan gambar ilustrasi di bawah ini: Misalkan Anda mengambil potongan string dari sebuah kata INDONESIA, dengan menggunakan fungsi substr(“INDONESIA”, 2,4);, maka dalam ilustrasi gambar dapat Anda lihat sebagai berikut:

13

Fungsi-fungsi PHP

Bab 3

I

N

D

O

N

E

S

I

A

0

1

2

3

4

5

6

7

8

3

4

1

2

Substr(“INDONESIA”, 2, 4); Dengan menggunakan sintaks substr(“INDONESIA”, 2, 4); akan menghasilkan string “DONE”. Kemudian bagaimana apabila nilai dari awal pengambilan tersebut bernilai negatif ? Perhatikan contoh sintaks yang menggunakan parameter awal pengambilan dan panjang pengambilan memiliki nilai positif. I

N

D

O

N

E

S

I

A

-9

-8

-7

-6

-5

-4

-3

-2

-1

1

2

3

4

Substr(“INDONESIA”, -5, 4); Apabila diperhatikan pada fungsi pengambilan potongan string di atas, awal pengambilan adalah -5 artinya penghitungan karakter adalah keenam dari belakang. Kemudian posisi / jumlah pengambilan diambil dari kanan sebanyak 4 karakter. Hasilnya adalah kata “NESI”; Berikut adalah beberapa contoh model pengambilan potongan string berdasarkan parameter yang berbeda-beda: Pengambilan potongan string dengan parameter awal pengambilan menggunakan nilai 0 atau nilai positif. 14

Bab 3

Fungsi-fungsi PHP



Contoh pengambilan potongan dengan menggunakan parameter awal pengambilan negatif adalah sebagai berikut :

Berikut adalah contoh script pengambilan potongan dengan menggunakan parameter awal pengambilan potongan atau panjang / posisi pengambilan potongan dengan nilai negatif:

15

Fungsi-fungsi PHP

Bab 3

MENGGANTI POTONGAN STRING DENGAN STRING BARU Fungsi yang digunakan untuk mengganti potongan string dengan string baru adalah menggunakan fungsi Substr_replace(). Bentuk sintaksnya adalah : $data=substr_replace(string_awal, string_pengganti, [awal_penggantian], [panjang_pengambilan]);

String_awal pada bentuk fungsi di atas adalah string atau variabel yang berisikan data teks sebelum diubah. String_pengganti adalah string atau variabel yang mempunyai nilai string dan berfungsi sebagai pengganti. Awal_penggantian adalah angka yang menyatakan posisi awal pengambilan karakter dari string awal. Panjang_pengambilan adalah bernilai angka yang menyatakan jumlah karakter string awal yang akan diganti. Contoh script dari fungsi substr_replace di atas adalah sebagai berikut: // substr_replace.php // fungsi mengganti potongan string dengan string yang baru $var = 'ABCDEFGH:/MNRPQR/'; echo "Data Awal: $var
\n"; /* Dua contoh ini menggantikan semua dari variabel $var dengan 'madiun'. */ echo substr_replace($var, 'madiun', 0) . "
\n"; echo substr_replace($var, 'madiun', 0, strlen($var)) . "
\n"; /* Masukkan 'madiun' pada kanan dari nilai dari variabel $var. */ echo substr_replace($var, 'madiun', 0, 0) . "
\n"; /* Berikutnya ini dua contoh mengganti ' MNRPQR' pada variabel $ var dengan ' madiun'. */ echo substr_replace($var, 'madiun', 10, 5) . "
\n"; echo substr_replace($var, 'madiun', -7, -1) . "
\n"; /* Menghapus 'MNRPQR' dari variabel $var. */ echo substr_replace($var, '', 10, -1) . "
\n"; ?>

16

Bab 3

Fungsi-fungsi PHP

Apabila dijalankan pada browser akan tampak seperti pada Gambar 3.3 berikut:

Gambar 3.3 Tampilan fungsi substr_replace untuk mengganti potongan string.

Fungsi untuk mengganti potongan string dengan string baru yang lain adalah menggunakan fungsi str_replace(). Bedanya dengan fungsi sebelumnya adalah pada fungsi ini akan mencari kesamaan karakter atau kata yang akan diganti pada string awal, kemudian diganti dengan string pengganti yang sudah ditentukan. Bentuk dari fungsi ini adalah: $data = str_replace(“string_diganti”, “string_pengganti”, “string_awal”);

String_diganti adalah potongan string yang akan diganti dengan string pengganti. Artinya fungsi ini pertama akan mencari kesamaan string yang akan diganti terlebih dahulu yang ada di string awal, kemudian apabila ditemukan akan langsung diganti dengan string pengganti. Berikut adalah contoh script dengan fungsi str_replace(): 17

Fungsi-fungsi PHP

Bab 3

jaman ini sangat membantu pekerjaan manusia."; $string_diganti="jaman"; $string_pengganti="era tekhnologi"; $data_akhir=str_replace($string_diganti, $string_pengganti, $data_awal); // ditampilkan di browser echo "Data awal :
"; echo $data_awal."
"; echo "Data setelah diganti :
".$data_akhir; ?>

Setelah dijalankan di browser akan tampak seperti pada Gambar 3.4 berikut:

Gambar 3.4 Tampilan fungsi str_replace untuk mengganti potongan string.

FUNGSI PEMECAH DAN PENGGABUNG STRING Fungsi string selanjutnya adalah fungsi untuk memecah dan menggabungkan sebuah string. 18

Bab 3

Fungsi-fungsi PHP

Untuk memecah string adalah menggunakan fungsi explode(), kemudian fungsi untuk menggabungkan string adalah menggunakan fungsi implode(). Bentuk susunan fungsi ini adalah: $data = explode(pola, $string);

dan $data2 = implode(pola, string);

Yang dimaksud pola pada fungsi di atas adalah parameter atau karakter yang digunakan untuk memisahkan atau untuk menggabungkan string. Sedang string adalah data berupa karakter atau kata dan juga dapat berupa variabel yang mempunyai nilai berupa string atau karakter. Berikut contoh script yang menggunakan fungsi explode() dan implode() untuk memisah dan menggabung string: $data_awal
Dipisah dengan pola spasi"; echo "Potongan 1 : ".$pisah[0]."
"; echo "Potongan 2 : ".$pisah[1]."
"; echo "Potongan 3 : ".$pisah[2]."
"; echo "Potongan 4 : ".$pisah[3]."
"; echo "Potongan 5 : ".$pisah[4]."
"; //fungi menggabung potongan string. echo"Digabung kembali dengan pola (:) :
"; $data_akhir=implode(":", $pisah); echo $data_akhir; ?>

Apabila dijalankan pada browser akan terlihat seperti pada Gambar 3.5 berikut:

19

Fungsi-fungsi PHP

Bab 3

Gambar 3.5 Tampilan membagi dan menggabung potongan string.

FUNGSI LOGIKA Fungsi logika yang digunakan pada proyek ini adalah fungsi if. Fungsi if ini tidak hanya digunakan pada program PHP, namun pada semua bahasa pemrograman selalu menggunakan fungsi if (jika) sebagai pembagi atau syarat untuk meletakkan operasi program yang akan dijalankan. Fungsi if dalam program ini akan dibagi menjadi tiga tingkat atau bentuk. Bentuk yang pertama adalah : If(kondisi){ Operasi; }

Dalam bentuk script if di atas, kondisi adalah syarat yang digunakan untuk menjalankan operasi. Contoh fungsi if dalam program adalah sebagai berikut:

20

Bab 3

Fungsi-fungsi PHP



Penjelasan script:

Pada script di atas ada dua bagian utama, yang pertama adalah kondisi dan di dalamnya mengandung fungsi operasi. Variabel $var dengan nilai “merah“ dan nilai merah yang ada dalam variabel $var tersebut sebagai syarat atau kondisi dari fungsi if. Apabila syarat terpenuhi, maka script akan menjalankan perintah menampilkan kata dengan fungsi echo. Fungsi logika yang kedua adalah fungsi if else. Artinya fungsi if ini akan memberikan dua pilihan operasi yang akan dijalankan. Apabila syarat terpenuhi maka operasi yang pertama akan dilaksanakan, dan jika syarat tidak terpenuhi maka operasi yang kedua akan dilaksanakan. Berikut bentuk fungsi if else : If(kondisi){ Operasi 1; }else{ Operasi 2; }

Alur operasi dari fungsi ini adalah apabila kondisi bernilai salah maka operasi 1 akan diabaikan dan akan menjalankan operasi2. Berikut adalah contoh dalam program tentang fungsi if else ini:
21

Fungsi-fungsi PHP

Bab 3

If($hasil== $hasil){ Echo” Jumlah dari 5 + 5 adalah $hasil”; }else{ Echo”Jumlah dari 5 + 5 adalah bukan $hasil2 “; } ?>

Penjelasan script : Sebagai syarat pada script di atas adalah variabel $hasil dan $hasil2. Variabel $hasil memiliki nilai penjumlahan angka 5 dan lima atau sama dengan 10. Kemudian untuk nilai dari variabel $hasil2 mempunyai nilai angka 10. Pada fungsi if tersebut, variabel $hasil dan $hasil2 akan dijadikan syarat atau kondisi, jika variabel $hasil sama dengan variabel $hasil2 yang ditandai sama dengan ganda (==) menghasilkan nilai benar, maka operasi 1 akan dijalankan. Kemudian Anda coba untuk memasukkan nilai variabel $hasil2 dengan angka 12, maka kondisi akan menghasilkan false atau salah dan program akan menjalankan operasi 2. Fungsi logika yang ketiga adalah fungsi if elseif else. Fungsi if yang ketiga ini akan menyediakan banyak pilihan yang akan dijalankan berdasarkan kondisi tertentu. Bentuk fungsi ini adalah: If(kondisi 1){ Operasi 1; }elseif(kondisi 2){ Operasi 2; }else{ Operasi 3; }

Untuk fungsi if ini hampir sama dengan yang sebelumnya, namun untuk fungsi if ini mempunyai kondisi yang berbeda-beda sebagai syarat untuk menjalankan operasi yang berbeda-beda pula. 22

Bab 3

Fungsi-fungsi PHP

Untuk lebih jelasnya, perhatikan contoh dalam script berikut: $hari.”; ?>

Penjelasan script: Kondisi pada script di atas adalah nilai variabel $date yang dihasilkan dengan menggunakan fungsi date(). Fungsi date() ini akan menghasilkan nilai angka dari 0 sampai dengan 6 sesuai dengan hari sekarang. Misalkan sekarang hari Senin, maka variabel $date akan memiliki nilai 1 dan seterusnya. Kemudian pada script di atas dikombinasikan dengan fungsi if sebagai syarat untuk menjalankan operasi yaitu memberikan nilai pada variabel $hari. Apabila nilai variabel $date adalah 0, maka variabel $hari akan diberikan nilai “Minggu”. Apabila nilai dari variabel $date

23

Fungsi-fungsi PHP

Bab 3

adalah 1 maka nilai dari variabel $hari akan diberikan nilai “Senin” dan seterusnya. Untuk melihat hasilnya script tersebut maka jalankan dalam browser, dan hasilnya akan tampak seperti pada Gambar 3.6 berikut:

Gambar 3.6 Tampilan fungsi if dengan multi alternatif.

FUNGSI PENGULANGAN OPERASI Banyak fungsi PHP yang digunakan untuk mengulang operasi dalam sebuah program web. Beberapa fungsi tersebut adalah fungsi for dan while. Kedua fungsi tersebut akan digunakan dalam membangun proyek database cuti karyawan online. FUNGSI FOR Fungsi for ini sering digunakan pada script-script yang melakukan pengulangan perintah. Bentuk dari fungsi for ini adalah: For(syarat1;syarat2;syarat3){ Operasi; }

Syarat yang dimaksud di atas adalah kondisi di mana mulai pengulangan, jumlah pengulangan dan kelipatan pengulangan akan dilakukan pada operasi tersebut. Berikut contoh penggunaan fungsi for untuk memperjelas dari bentuk fungsi for tersebut : 24

Bab 3

Fungsi-fungsi PHP



Penjelasan script: Pada script di atas variabel $i adalah sebagai parameter pengulangan. Syarat pertama adalah variabel $i = 1 adalah pengulangan dimulai dengan angka 1, kemudian pada syarat ke dua adalah variabel $i <= 10, artinya adalah operasi pengulangan akan diakhiri dengan hitungan ke 10, syarat yang terakhir adalah variabel $i++, artinya pengulangan dilaksanakan dengan penambahan atau kelipatan 1. Berikut adalah hasil operasi fungsi for jika dijalankan menggunakan browser:

Gambar 3.7 Tampilan fungsi for dengan pengulangan sebanyak 10 kali.

25

Fungsi-fungsi PHP

Bab 3

Kemudian bagaimana apabila Anda ingin menggunakan fungsi for, namun hanya menampilkan kelipatan 2 saja? Pada script for di atas Anda ganti untuk kondisi atau syarat ketiga yaitu $i++ menjadi $i+=2, kemudian jalankan pada browser. Berikut adalah hasil dari perubahan script Anda dalam browser:

Gambar 3.8 Tampilan fungsi for dengan pengulangan kelipatan 2.

FUNGSI WHILE Fungsi while pada pengoperasiannya tidak jauh beda dengan fungsi for. Pada dasarnya fungsi ini juga digunakan untuk pengulangan perintah atau operasi. Bedanya adalah pada struktur atau bentuk dari fungsinya. Berikut bentuk dari fungsi while: Syarat1 While(syarat2{ Operasi; Syarat3; }

26

Bab 3

Fungsi-fungsi PHP

Pada fungsi ini akan menjalankan pengulangan dimulai dengan nilai syarat 1, kemudian perintah operasi terus-menerus dilaksanakan selama syarat 2 belum terpenuhi. Syarat 3 berfungsi untuk memberikan nilai kelipatan dan penambahan jumlah pengulangan operasi yang ada dalam fungsi while. Berikut contoh script yang menggunakan fungsi while: Pengulan dengan fungsi while
”; $data=1; While($data<11){ Echo”Dicetak diurutan ke $data
”; $data++; } ?>

Penjelasan Script: Fungsi while di atas menggunakan tiga syarat, yaitu syarat1, syarat2 dan syarat3. Syarat 1 berfungsi untuk memberikan nilai awal pengulangan, kemudian untuk syarat 2 digunakan untuk memberikan parameter di mana pengulangan akan dihentikan, dalam hal ini adalah nilai $data < 11. Syarat yeang ketiga adalah variabel data yang nilainya adalah kelipatan 1 dari variabel $data = 1 dari syarat 1, dengan parameter $data++. Berikut hasil dari script while di atas setelah dijalankan menggunakan browser:

27

Fungsi-fungsi PHP

Bab 3

Gambar 3.9 Tampilan fungsi while dengan pengulangan 10 kali.

FUNGSI TANGGAL DAN WAKTU Fungsi yang digunakan untuk mengolah waktu dalam program PHP sangat banyak sekali. Fungsi-fungsi waktu tersebut dipakai sesuai dengan kondisi dan kebutuhan pengolahan data tertentu. FUNGSI DATE Fungsi waktu pertama yang digunakan dalam proyek ini adalah fungsi date(). Fungsi ini digunakan untuk mengambil waktu dengan menggunakan format yang dapat diubah-ubah. Sedangkan format yang digunakan juga ada bermacam-macam. Berikut adalah daftar format yang dapat digunakan untuk fungsi date() :

28

Format

Keterangan

a atau A

Digunakan untuk memberikan keterangan am atau pm

Bab 3

Fungsi-fungsi PHP

Format

Keterangan

d

Digunakan untuk format 2 angka

D

Nama hari dengan bentuk singkatan tiga huruf

F

Nama bulan lengkap contoh “January”

h

Menyatakan jam dengan format 12 jam bentuk dua angka

H

Menyatakan jam dengan format 24 jam bentuk dua angka

i

Menyatakan menit format “00 – 59”

l (L kecil)

Nama hari lengkap “Friday”

j

Tanggal dengan format “1 – 31”

m

Menyatakan bulan “01 – 12”

M

Menyatakan bulan dengan format tiga huruf “Jan”

s

Menyatakan detik format “00 – 59”

t

Memerikasa jumlah hari dalam seminggu “28 – 31”

w

Menyatakan hari dalam seminggu bentuk angka contoh : “0” = minggu, “1” = Senin, dst.

y

Menyatakan tahun dengan bentuk dua angka “04”

Y

Menyatakan tahun dengan bentuk empat angka “2004”

z

Menyatakan hari dalam setahun “0 – 365”

mengambil

hari

dengan

Bentuk fungsi date() adalah : $tanggal = date(“format”);

Format yang ada pada fungsi date tersebut dapat dituliskan dengan format yang ada didaftar format waktu tersebut di atas. 29

Fungsi-fungsi PHP

Bab 3

Contoh script yang menggunakan fungsi date() untuk menuliskan tanggal sekarang dengan mengubah nama bulan menjadi format Indonesia adalah sebagai berikut:
30

Bab 3

Fungsi-fungsi PHP

}else{ $bulan="Desember"; } $sekarang="$hari $bulan $tahun"; echo "
Sekarang tanggal ".$sekarang.”
”; ?>

Apabila dijalankan di browser hasilnya akan tampak seperti pada Gambar 3.10. berikut:

Gambar 3.10 Tampilan fungsi date untuk menampilkan tanggal sekarang.

FUNGSI TIME Fungsi time ini digunakan untuk mendapatkan nilai detik dari jam 00:00:00 tanggal 01 januari 1970 sampai waktu file yang mengandung fungsi time ini dijalankan. Bentuk fungsi ini adalah: $data = time();

Fungsi time ini tidak mempunyai parameter seperti fungsi date. Karena pada fungsi time ini hanya mengambil nilai detik selama tahun tersebut di atas sampai sekarang.

31

Fungsi-fungsi PHP

Bab 3

Berikut adalah contoh script yang menggunakan fungsi time untuk menampilkan data tanggal sekarang dan data tanggal lima hari lagi: $sekarang
Besok tanggal $besok_tanggal”; ?>

Apabila dijalankan menggunakan browser akan tampak seperti pada Gambar 3.11 berikut:

Gambar 3.11 Tampilan fungsi time untuk menampilkan tanggal sekarang dan tanggal lima hari lagi.

FUNGSI MKTIME Fungsi waktu selanjutnya adalah mktime(). Fungsi ini digunakan untuk mengkonversikan tanggal dan jam ke dalam data detik. Artinya apabila Anda mempunyai data tanggal dan jam kemudian ingin menampilkan jumlah detik dari data waktu tersebut, maka 32

Bab 3

Fungsi-fungsi PHP

data detik yang Anda inginkan akan ditampilkan. Bentuk fungsi ini adalah: $detik = mktime(detik, menit, jam, bulan, hari, tahun);

Jumlah detik yang dihasilkan adalah jumlah detik dihitung dari jam 00:00:00 tanggal 1 januari 1970. Untuk menampilkan data detik ke dalam format tanggal kembali dapat menggunakan fungsi date dengan sumber dari jumlah detik menggunakan fungsi microtime. Berikut adalah contoh script untuk menampilkan tanggal yang dimasukkan dari formulir dan tanggal selanjutnya ditambah dengan jumlah hari dari formulir yang sama. fungsi mktime 3i4pv

Masukkan tanggal  (dd/mm/yyyy) :

Tanggal
Masukkan jumlah hari hari

Tanggal yang anda masukkan adalah


33

Fungsi-fungsi PHP

Bab 3

$tanggal
$hari
hari lagi tanggal $lanjut

"; } ?>


Penjelasan script: Pada script di atas mengandung formulir yang berfungsi untuk memasukkan data tanggal dan jumlah hari untuk menghasilkan tanggal setelah memasukkan formulir tanggal ditambah dengan formulir jumlah hari yang telah dimasukkan. Kode PHP yang pertama adalah , maksud dari kode tersebut adalah untuk mengisikan action pada formulir dengan nilai nama file itu sendiri. Artinya data yang dikirimkan dari formulir akan dikirim ke file itu sendiri. Kode PHP selanjutnya adalah if($submit){, artinya apabila tombol submit yang ada di formulir ditekan maka akan menjalankan operasi selanjutnya yang ada dalam fungsi if. Kemudian fungsi explode(“/”, $tanggal), adalah fungsi yang digunakan untuk memisahkan data tanggal lengkap dengan bulan dan tahun yang akan dipisah menjadi tanggal sendiri, bulan sendiri dan tahunpun sendiri, kemudian akan dimasukkan ke dalam data array yaitu $data[0] = data tanggal, $data[1] = data bulan, $data[2]= data tahun. Setelah data tanggal dipisahkan kemudian data tersebut dimasukkan ke dalam fungsi mktime untuk dikonversikan ke dalam data detik. Untuk menampilkan data tanggal tersebut harus dikonversikan kembali dengan menggunakan fungsi date. Untuk mencari data tanggal 5 hari lagi maka data hari dijadikan data detik dengan cara dikalikan dengan jumlah detik dalam sehari. Kemudian ditambahkan dengan data detik dari fungsi mktime dan konversikan ke dalam data tanggal dengan fungsi date. 34

Bab 3

Fungsi-fungsi PHP

Untuk melihat hasilnya, coba jalankan script di atas dengan browser, hasilnya akan tampak seperti pada Gambar 3.12 berikut:

Gambar 3.12 Tampilan formulir untuk menampilkan data tanggal dengan fungsi mktime.

Untuk melihat hasil dari fungsi script mktime tersebut, coba masukkan tanggal 5/4/04 kemudian untuk jumlah hari berikutnya adalah 5 dan Anda tekan tombol Proses, maka akan menghasilkan data tanggal seperti yang Anda masukkan dan data tanggal 5 hari setelah tanggal yang Anda masukkan seperti pada Gambar 3.13.

35

Fungsi-fungsi PHP

Bab 3

Gambar 3.13 Tampilan data tanggal dengan fungsi mktime.

SESSION Session atau sesi pada program PHP adalah salah satu fungsi yang banyak digunakan untuk program-program aplikasi dengan pembatasan akses oleh / kepada pengunjung yang dikehendaki. Misalkan untuk mengakses halaman data karyawan hanya akan diijinkan oleh karyawan yang bersangkutan saja. Data sesi ini pada dasarnya data yang diambil dari data variabel kemudian disimpan pada webserver. Data sesi ini tidak akan terhapus selama browser belum ditutup, atau sebelum sesi dihapus dengan fungsi PHP untuk menghapus sesi. Pada penulisannya fungsi sesi ini diawali dengan fungsi pertama adalah session_start(). Ketentuan penulisan fungsi untuk memulai session ini harus diletakkan pada awal script. Kemudian untuk mendaftarkan sebuah nilai variabel ke dalam data sesi adalah dengan menggunakan fungsi session_(); 36

Bab 3

Fungsi-fungsi PHP

Data sesi ini akan tersimpan ke dalam web server pada direktori atau path yang sudah diatur oleh webserver. Data sesi ini tidak dapat dipanggil kembali apabila pengunjung telah keluar dari halaman anggota atau telah menutup browser. Aplikasi dari fungsi sesi ini selalu digabungkan dengan tag HTML yang membentuk sebuah formulir untuk pengunjung. Berikut adalah contoh aplikasi formulir dengan fungsi sesi untuk mengakses halaman keanggotaan : Formulir 1r6r2g

Nama :

Status Keanggotaan :
Pengunjung Anggota

 



37

Fungsi-fungsi PHP

Bab 3



Jalankan script HTML tersebut pada browser, pada browser akan ditampilkan formulir yang akan digunakan oleh pengunjung untuk seperti pada Gambar 3.14 berikut:

Gambar 3.14 Tampilan formulir untuk pengunjung.

Apabila Anda perhatikan pada script tersebut ada dua bagian yang penting dalam pengolahan data, yang pertama adalah adanya dua variabel yang akan dikirim datanya dari formulir tersebut ke file pengolah data. Yang kedua adalah action dari formulir tersebut, yaitu berisikan alamat dan nama dari file yang akan dijadikan tujuan pengiriman data apabila tombol ditekan oleh pengunjung. Berikut adalah script yang berfungsi untuk mengolah data yang diterima dari formulir dan dituliskan pada file dengan nama member.php:

38

Bab 3

Fungsi-fungsi PHP

Halaman member 6i586u

Selamat datang
Anda telah dan tercatat sebagai

Halaman ke dua
 



Penjelasan script: Setiap script yeng mengandung fungsi sesi harus diawali dengan fungsi session_start() sebagai identitas dan berfungsi untuk mengenalkan kepada webserver bahwa dalam halaman tersebut mengandung data sesi. Kemudian pada fungsi selanjutnya adalah session_() yang berfungsi untuk mendaftarkan data variabel yaitu nama dan status menjadi data sesi. Penulisan fungsi session_() adalah: Session_(“nama_variabel”);

Jadi pada fungsi ini memberikan parameter nama variabel tanpa memberikan tanda dollar ($) di depan nama variabel. Setelah data dari variabel nama dan status terdaftar sebagai data sesi, maka setiap membuka halaman data tersebut akan selalu terbawa, walaupun variabel tidak dideklarasikan. Pada contoh dalam halaman member.php tersebut disisipkan sebuah link ke halaman dua. Apabila link tersebut dikunjungi

39

Fungsi-fungsi PHP

Bab 3

maka data nama dan status tetap akan terbawa dan apabila ditampilkan di browser akan ditampilkan datanya. Untuk mencobanya, masukkan sebuah nama dan pilih status yang Anda inginkan kemudian tekan tombol . Berikut contoh aplikasi dengan data sesi dengan nama yang dimasukkan adalah “Nana” dan status dipilih “anggota” kemudian tekan tombol , hasilnya akan tampak seperti pada Gambar 3.15.

Gambar 3.15 Tampilan Halaman member setelah pengunjung .

Kemudian untuk halaman dua, buat script berikut: Halaman 2 n4k1i

HALAMAN 2

Nama Anda
Status Anda sebagai

Halaman ke

40

Bab 3

Fungsi-fungsi PHP

1

 


 



Penjelasan script: Script yang menggunakan fungsi sesi selalu diawali dengan fungsi pembuka sesi yaitu session_start() pada awal halaman, kemudian pada badan script untuk menampilkan data nama dan status cukup menggunakan fungsi echo saja, sehingga data yang ada pada kedua variabel tersebut dapat langsung ditampilkan. Untuk mencobanya, buka link ke halaman dua pada halaman member.php tersebut, hasilnya akan tampak seperti pada Gambar 3.16 berikut:

Gambar 3.16 Tampilan Halaman 2 setelah pengunjung klik pada link ke halaman 2.

FUNGSI EKSPRESI Fungsi ekspresi disebut juga fungsi perbandingan. Artinya dengan menggunakan fungsi ekspresi ini Anda dapat memberikan nilai 41

Fungsi-fungsi PHP

Bab 3

benar atau salah apabila ada dua atau lebih data yang akan dibandingkan. FUNGSI EREG Fungsi ekspresi yang pertama adalah fungsi ereg. Fungsi ini digunakan untuk membanding dua buah string, apabila salah satu string mempunyai kesamaan dengan data string yang kedua maka nilai yang dihasilkan adalah true atau benar. Bentuk dari fungsi ereg adalah: $hasil=ereg(string_pola, string_data);

String_pola adalah karakter (penyaring) yang dicocokkan.

yang

digunakan

untuk

filter

String_data adalah string yang dijadikan data sumber, di mana apabila data_pola sesuai dengan string yang ada dalam string data maka hasilnya akan bernilai true atau benar. Berikut contoh script yang menggunakan fungsi ereg sebagai kontrol sebuah konfirmasi pengisian data: ini yang anda masukkan mengandung spasi.
Masukkan id yang benar"; }else{ echo"
Selamat ID $, Anda telah masuk halaman ini."; } }else{ ">

ID



42

Bab 3

Fungsi-fungsi PHP



Penjelasan script: Pada script di atas terbagi menjadi dua bagian yaitu script PHTM yang berisikan formulir untuk memasukkan id dan script PHP yang berfungsi untuk memeriksa data yang dimasukkan mengandung spasi atau tidak menggunakan fungsi if dan ereg untuk mencari kesamaan data spasi tersebut. Untuk mencoba script tersebut, jalankan file ereg.php menggunakan browser sehingga akan tampil sebuah formulir untuk menuliskan id seperti pada Gambar 3.17 berikut:

Gambar 3.17 Tampilan formulir untuk mengisi id.

Kemudian coba masukkan sebuah nama dengan sebuah spasi, misalkan “Cahya c75”. Setelah Anda tekan tombol maka fungsi if dan ereg akan memeriksa data yang diisikan dari formulir apakah mengandung spasi atau tidak. Apabila data yang telah Anda masukkan mengandung spasi, maka akan ditampilkan pesan kesalahan seperti pada Gambar 3.18 berikut:

43

Fungsi-fungsi PHP

Bab 3

Gambar 3.18 Tampilan pesan kesalahan dari formulir .

Dengan menggunakan fungsi ereg ini banyak sekali manfaat yang dapat diambil, pada dasarnya fungsi ereg ini digunakan untuk fungsi penyaring atau filter data dari formulir yang diisi dari atau pengunjung web. FUNGSI SPLIT() Fungsi regular yang kedua adalah fungsi split. Fungsi ini digunakan untuk memecah sebuah string menjadi beberapa string sesuai dengan pola yang telah ditentukan. Bentuk fungsi split adalah : $data = split(‘pola’, data_string);

Yang dimaksud dengan pola pada bentuk fungsi di atas adalah format yang digunakan untuk pemisah data string. Kemudian untuk data_string adalah variabel yang mempunyai nilai jenis string atau data string itu sendiri. Untuk lebih jelasnya, coba jalankan script yang menggunakan fungsi split untuk memecah string di bawah ini:
44

Bab 3

Fungsi-fungsi PHP

$date = "02/06/2004"; // Dipisah dengan tanda slash, titik dan tanda hubung. list ($hari, $bulan, $tahun) = split ('[/.-]', $date); echo "Tanggal: $hari; Bulan: $bulan; Tahun: $tahun
\n"; echo” Dipisah dengan tanda titik sebagai polanya.
”; $data="kalimat satu. Kalimat dua. Kalimat tiga."; list ($satu, $dua, $tiga) = split ('[/.-]', $data); echo"1. $satu
2. $dua
3. $tiga"; ?>

Penjelasan script: Pada script di atas adalah program yang berfungsi untuk memecah string dari dua string sumber. Yang pertama adalah string dengan data “02/06/2004”. Pada fungsi yang kedua, data string dipecah dengan menggunakan fungsi split. Pola yang digunakan untuk memecah string tersebut adalah “[/.-]”, artinya apabila ada salah satu karakter yang ada dalam tanda kurung siku [ dan ] maka akan dijadikan sebagai pola pemecahannya. Untuk kasus yang pertama pada string ditemukan tanda slash “/” dan sesuai dengan salah satu pola untuk memecah string, maka string tersebut dipecah menjadi tiga bagian. Data pecahan string tersebut dimasukkan ke dalam beberapa variabel menggunakan fungsi list, kemudian ditampilkan ke dalam browser dengan menggunakan fungsi echo. Pada bagian yang kedua adalah memecah string dengan data "kalimat satu. Kalimat dua. Kalimat tiga.", kemudian string tersebut dipecah dengan menggunakan pola tanda titik yang juga sesuai dengan salah satu pola pemecah string pada fungsi split. Hasil pemecahan string tersebut kemudian dimasukkan ke dalam beberapa variabel dan ditampilkan ke dalam browser menggunakan fungsi echo seperti pada Gambar 3.19 berikut: 45

Fungsi-fungsi PHP

Bab 3

Gambar 3.19 Tampilan pecahan string menggunakan fungsi split.

46

Pada dasarnya database adalah kumpulan data yang disimpan ke dalam sebuah file atau beberapa file. Dalam sistem informasi komputer, database adalah sebuah kumpulan data yang tersusun secara sistematis sehingga akan memudahkan pengguna untuk mengakses dan mengatur sehingga akan menghasilkan sebuah informasi yang efektif dan efisien. Banyak sekali macam dari database, antara lain data karyawan, data cuti, data absensi, data siswa, data penjualan, data inventori dan masih banyak lagi. Database tersebut dapat berdiri-sendiri dan juga dapat digabung menjadi satu kesatuan. Menggabung dua atau lebih jenis database sering juga disebut mengkorelasikan.

Suatu contoh kasus sebuah database karyawan dihubungkan dengan database absensi karyawan. Untuk menggabungkan beberapa database harus ada sebuah penghubung di antara dua database tersebut yang disebut index. Untuk menggabungkan kedua database tersebut dibutuhkan index dengan nama NIK (nomor induk karyawan). Syarat dari sebuah index adalah tidak boleh ada data yang sama dan pada kedua database tersebut harus memuat data index tersebut. Sistem manajemen database (Database Management System) DBMS merupakan software yang banyak digunakan untuk mengolah data, dari pendefinisian database, pengolahan data, perawatan data, 47

Perencanaan Database Menggunakan MySQL

Bab 4

sampai dengan pengaturan siapa saja yang diberi hak untuk mengakses data tersebut.

Sistem manajemen databse relasi merupakan salah satu bentuk dari suatu manajemen database. Sistem manajemen database relasi memiliki komponen dasar, yaitu: 

Database, tempat menyimpan data yang distrukturkan: 

Data disimpan ke dalam tabel.



Setiap tabel terdiri atas baris dan kolom.



Sistem manajemen, software yang memungkinkan data dapat dimasukkan, diubah, diambil kembali (dibaca), dicari, dan dihapus recordnya.



Relasi, menunjukkan bahwa data yang ada di dalamnya, data pada suatu tabel dapat berhubungan dengan data yang ada pada tabel lainnya.

Ada beberapa database yang umum digunakan sekarang ini, antara lain adalah Oracle, Sybase, MS SQL Server, Interbase, Informix, PostgreSQL,MySQL dan MS Access. Pada proyek yang akan dibuat ini akan menggunakan database MySQL.

Setiap jenis database tersebut memiliki kelebihan dan kekurangan masing-masing. Kemampuan menangani jumlah data yang banyak, kelengkapan system keamanan, kemudahan untuk melakukan backup data replikasi, dan lain-lain merupakan salah satu tawaran database sebagai kelebihan yang diberikan.

MySQL sebagai database, mempunyai banyak kelebihan, pemakai database ini adalah di lingkungan internet merupakan aspek yang paling menonjol. MySQL terkenal dengan pengolahan data yang cepat walaupun data record yang dimasukkan dalam jumlah yang banyak.

 TABEL Data yang disimpan ke dalam database dipisahkan menggunakan tabel-tabel. Setiap tabel memiliki data / informasi yang sudah dikelompokkan, disusun dalam setiap baris dan kolom. Data setiap baris dinamakan record. Setiap record memiliki beberapa macam informasi, yang dipisahkan oleh kolom yang disebut field. 48

Bab 4

Perencanaan Database Menggunakan MySQL

Untuk lebih jelasnya, perhatikan contoh struktur database dalam sebuah tabel berikut: Nama

Alamat

Kota

Umur

Jabatan

Bani

Jl. Manggis 53

Madiun

33

Personalia

Iwan

Jl. Pahlawan 32

Malang

31

Operasional

Sumadi

Jl. Jalak 44

Surabaya

36

Kepala Bagian Keuangan

Jaenal

Jl. Seneru 65

Ponorogo

28

Satpam

Nana

Jl. Mawar 98

Ponorogo

27

istrasi

Adin

Jl. Salak 44

Jombang

25

Front office

Tabel di atas adalah data yang ada dalam database terdiri atas 6 baris dan 5 kolom atau field. Setiap baris disebut satu record yang memiliki kolom-kolom sendiri yang disebut field. Kolom pada satu baris merupakan data yang berkaitan satu sama lain dan tidak dapat dipisahkan karena milik satu baris. Baris yang terdapat pada posisi paling atas adalah nama kolom atau field. Setiap kolom mempunyai jenis dan lebar kolom yang sama pula.

 TIPE DATA Tipe data yang dapat disimpan ke dalam database secara garis besar dibedakan menjadi :  Tipe data Numerik  Tipe data Karakter  Tipe data Tanggal  Tipe data Boolean Tipe data numeric adalah semua data bilangan (angka) yang dapat diperhitungkan bukan angka yang bersifat keterangan. Contohnya adalah data angka jumlah alat tulis pada sebuah kantor, jumlah barang yang dijual pada sebuah toko dan lain sebagainya. Jumlah angka ini dapat dijumlahkan / diperhitungkan dengan data angka yang lain, sehingga akan menghasilkan data angka yang benar juga. Contoh data angka namun bukan data angka yang sebenarnya adalah 49

Perencanaan Database Menggunakan MySQL

Bab 4

sebuah data yang menyatakan nomor dalam sebuah keterangan yang menunjuk pada alamat. Tipe data angka ini masih dapat dibedakan lagi menjadi beberapa kelompok yang lebih khusus lagi, yaitu Integer, Float, Single, Double, Currency dan masih ada beberapa jenis lagi sesuai dengan database yang digunakan. Tipe data karakter adalah semua data huruf, angka, tanda baca. Tipe data karakter ini juga dapat dikelompokkan lagi menjadi beberapa bagian yang lebih spesifik lagi, antara lain Char, String, Text, Memo, dan masih ada beberapa lagi. Tipe data tanggal digunakan untuk mendefinisikan data waktu. Tipe data tanggal ini dibagi lagi menjadi tipe data waktu: Date, DateTime, Time, Timestamp. Tipe data yang terakhir adalah tipe data Boolean, adalah tipe data yang digunakan untuk menyatakan status benar atau salah, sering digunakan untuk mengakomodasikan data yang pasti bernilai dua macam atau lebih, misalkan 0 adalah salah dan 1 adalah benar. Pada beberapa database digunakan untuk menyatakan true atau false, yes atau no dan beberapa macam lagi sesuai dengan database yang digunakan.

 FIELD KUNCI ATAU INDEX Pada setiap baris data record sebaiknya ditentukan sebuah field kunci sebagai pengenal dan pembeda antar baris, sehingga dapat memudahkan dalam mencari / pembacaan data dan lebih cepat dalam mendapatkan informasi yang berada dalam satu tabel. Pengenal baris dalam sebuah baris record tersebut disebut field kunci atau key index. Field kunci ini adalah sebuah kolom khusus dan biasanya isi dari kolom ini tidak sama antara data record satu dengan yang lainnya. Biasanya field kunci pada sebuah database adalah nomor baris, namun field kunci juga tidak harus nomor baris, hal ini sesuai dengan database yang digunakan. Misalkan field kunci pada database karyawan dapat menggunakan Nomor Induk Karyawan (NIK) sebagai field kunci karena NIK ini pasti tidak ada yang sama antara karyawan yang satu dengan yang lainnya.

50

Bab 4

Perencanaan Database Menggunakan MySQL

 PERSIAPAN MERANCANG DATABASE Sebenarnya secara sederhana membangun sebuah database adalah pekerjaan mendefinisikan tabel-tabel yang akan dibuat untuk menjadi satu kesatuan database. Setiap tabel yang akan dibuat selalu didefinisikan dan digunakan untuk menyimpan sejumlah informasi berdasarkan kolom-kolom yang ada di dalam tabel. Misalkan database siswa, maka pada tabel tersebut akan dibuat beberapa kolom yang akan memisahkan data-data siswa sesuai dengan field yang akan dimasukkan. Misalkan field yang akan digunakan pada tabel database siswa adalah nama, alamat, nama orangtua, kelas, jenis kelamin dan lain sebagainya.

Hasil perancangan sebuah database tergantung pada pemikiran pembuat database. Jadi kemampuan dan keahlian pembuat database untuk menganalisa situasi dan kondisi dari obyek yang akan menggunakan database tersebut sangat dibutuhkan. Apabila seorang pembuat database tidak cukup jeli dalam menganalisa permasalahan maka database yang dihasilkanpun akan jauh dari harapan sebuah system manajemen database.

Hasil perancangan database ini juga sangat menentukan sekali system yang akan dibangun, perancangan harus diawali dengan tahap analisis system. Ketidakjelian dan kepekaan seorang analis akan menyebabkan awal dari ketidaksempurnaan database yang dibuat, demikian juga sederhananya sebuah database akan mengakibatkan banyaknya kekurangan informasi yang harus dikelola oleh aplikasi pemakai database tersebut. Dengan demikian penggunaan hasil system aplikasi ini akan banyak mengalami hambatan dan kelemahan pada data yang dibutuhkan. Untuk dapat merancang dan menyempurnakan database adalah dengan melihat contoh kasus yang dapat mencakup banyak informasi dan banyak aplikasi yang akan mengelola database tersebut. Dengan menganalisis contoh kasus tersebut, mungkin akan ditemukan kelemahan dan kekurangan dari database tersebut. Setelah system database dijalankan dan dianalisa maka akan ditemukan beberapa kendala dan kekurangan. Kekurangan dan kelemahan database yang telah ditemukan tersebut kemudian disempurnakan kembali dengan

51

Perencanaan Database Menggunakan MySQL

Bab 4

mengubah system database tersebut hingga database tersebut mencapai tingkat sempurna, artinya kelemahan-kelemahan yang ditemukan tersebut telah disempurnakan. Dengan cara tesebut seorang perancang database akan dilatih untuk jeli dan tanggap terhadap sebuah kasus dan bagaimana cara membuat database sehingga database yang telah dibuat akan menjadi jalan pemecahan sebuah kelemahan dari sebuah system informasi database.

 CONTOH KASUS PEMBUATAN DATABASE Untuk memperjelas bagaimana merancang dan membuat sebuah database yang sesuai dengan kondisi sebuah system informasi, kita akan mencoba dengan menggunakan sebuah contoh kasus. Contoh kasus yang akan diambil adalah sebuah penanganan database yang sederhana, namun diharapkan nanti akan memberikan gambaran yang cukup jelas bagaimana melakukan perancangan sebuah database. Contoh kasus yang diambil adalah sebuah database sekolah yang digunakan untuk mengelola nilai ujian siswa.

Pekerjaan pertama yang akan dilakukan adalah mendefinisikan tabel yang akan digunakan untuk menyimpan data siswa dan data nilai ujian siswa. Diasumsikan seorang siswa akan mengambil beberapa mata pelajaran sekolah, misalkan setiap siswa akan mengambil tiga mata pelajaran setiap semester. Pada contoh kasus ini, kita menggunakan dua buah tabel, yaitu tabel siswa yang mendefinisikan NAMA siswa dan NIS (nomor induk siswa). Hal ini dimaksudkan untuk menghindari data siswa yang ganda. Misalkan ada nama yang sama namun untuk memberikan nomor induk siswa pasti tidak sama. Pada tabel ini akan diberikan sebuah index sebagai kunci pembacaan data. Field kunci pada tabel siswa ini adalah field NIS (nomor induk siswa). Dengan menggunakan field kunci NIS ini nanti diharapkan tidak akan terjadi pembacaan data yang berulang.

52

Bab 4

Tabel Siswa Nama Dinna Mawar Bani Bani Nana

Perencanaan Database Menggunakan MySQL

NIS * 1003 1004 1005 1006 1007

Tabel Nilai NIM * 1003 1004 1005 1006 1007

Mata Pelajaran 1 Matematika Agama Ketrampilan Matematika Agama

Nilai 8 7 6 8 7

Mata Pelajaran 1 Bhs. Inggris Bhs. Daerah Bhs. Daerah Bhs. Inggris

6 8

Mata Pelajaran 1 Olah Raga Olah Raga

7 8

6

Ketrampilan

9

Nilai

Nilai

Apabila diperhatikan pada tabel siswa yang ada di atas, terdapat dua buah nama siswa yang sama, kemudian Anda perhatikan pada field yang kedua dengan nama NIS, maka pada saat pembacaan data siswa tidak dikhawatirkan akan terjadi pembacaan ganda. Pada tabel siswa tersebut masih dapat dimodifikasi lagi dengan ditambah field alamat nama orang tua, umur, tempat tanggal lahir dan data yang berhubungan dengan siswa yang lainnya. Tabel yang kedua adalah tabel yang digunakan untuk menampung data nilai siswa. Data nilai siswa tersebut dapat dibaca menggunakan field kunci NIM, karena hanya pada field ini yang tidak akan memiliki data ganda dan dapat dijadikan field kunci.

Namun demikian rancangan tabel-tabel ini masih mempunyai kelemahan-kelemahan, khususnya pada tabel nilai, sebab:

1. 2. 3.

Bagaimana apabila ada siswa yang mengikuti mata pelajaran yang lebih dari tiga ? Di mana harus menyimpannya ? Masih ada kolom yang kosong, karena ada beberapa siswa yang hanya mengambil kurang dari tiga mata pelajaran.

Pada saat melakukan query akan mengalami kesulitan, karena pada saat melakukan pencarian / pembacaan akan melakukan pemeriksaan setiap record berapa mata pelajaran yang diambil, 53

Perencanaan Database Menggunakan MySQL

4. 5.

Bab 4

berapa mata pelajaran yang sudah keluar nilainya untuk setiap siswa.

Mengambil informasi dan entri data dilakukan berulang, data nama pelajaran selalu dituliskan berulang-ulang.

Data yang dientrikan akan tidak konsisten, karena pada saat menuliskan data mata pelajaran ada kemungkinan kesalahan ketik dan hal ini akan mengakibatkan data tidak valid lagi.

Anda perhatikan pada perubahan perancangan database berikut untuk memperbaiki kelemahan pada database yang dibuat sebelumnya: Untuk meminimalkan kelemahan pada rancangan database tersebut, maka untuk pembuatan tabel dibuat sebanyak 3 jenis. Yang pertama adalah tabel siswa, tabel nilai dan tabel mata pelajaran.

Karena pada database nilai siswa tersebut ada tiga tabel, maka untuk menggabungkan data yang ada di dalamnya dibutuhkan relasi antar tabel. Untuk membuat relasi antar tabel dibutuhkan sebuah field yang dijadikan field index. Syarat field yang akan dijadikan index dari sebuah tabel dan akan direlasikan dengan tabel lain dalam satu database adalah: 

Jenis data pada field harus sama dengan data yang ada di tabel lain.



Data yang ada dalam field index tidak boleh ada yang ganda.

Pada kasus ini field index yang digunakan untuk relasi pada tabel siswa dan nilai adalah field NIM, kemudian untuk field index sebagai field penghubung / relasi antara tabel nilai dan mata pelajaran adalah field kode pelajaran. Berikut adalah gambaran dari system database nilai ujian siswa dengan menggunakan tiga tabel:

54

Bab 4

Tabel Siswa Nama Dinna Mawar Bani Bani Nana

Perencanaan Database Menggunakan MySQL

NIS * 1003 1004 1005 1006 1007

Tabel Nilai NIM * 1003 1003 1003 1004 1004 1005 1006 1007 1007 1007

Kode pelajaran Mp1 Mp6 Mp5 Mp5 Mp3 Mp3 Mp1 Mp4 Mp1 Mp7

8 7 9 7 6 6 8 7 7 9

Nilai

Kode Pelajaran Kode Pelajaran Mp1 Mp2 Mp3 Mp4 Mp5 Mp6 Mp7

Mata Pelajaran Matematika Agama Ketrampilan Agama Bhs. Inggris Bhs. Daerah Olah raga

Anda perhatikan pada struktur tabel untuk database yang telah diperbarui tersebut. Pada susunan tabel tersebut lebih efektif dan lebih efisien. Hal-hal yang telah dipermudah dengan struktur database baru ini adalah:

55

Perencanaan Database Menggunakan MySQL

Bab 4



Pada saat entri data dan pencarian (query) pada salah satu data pada tabel tertentu lebih cepat, karena hanya membaca satu tabel dengan field yang juga tidak banyak.



Siswa dapat mengambil mata pelajaran lebih dari dua.



Entri data nilai ujian siswa dapat dimasukkan dengan lebih cepat, karena pada waktu mengakses tabel nilai untuk menambahkan data tidak harus mengakses field nama siswa pada tabel siswa dan juga field mata pelajaran pada tabel mata pelajaran.



Perhatikan pada kode siswa dengan nomor induk siswa 1003, pada daftar tabel nilai terdapat tiga buah, artinya siswa dengan nomor induk siswa 1003 telah mengambil mata pelajaran sebanyak tiga buah. Apabila siswa tersebut akan mengambil mata pelajaran lebih dari tigapun tidak mengalami permasalahan. Pada saat proses query jumlah pelajaran yang diambil oleh siswa dengan nomor induk 1003 pun lebih mudah.

 RELASI Jika diperhatikan pada contoh kasus di atas, maka ditemukan sebuah relasi antara satu tabel dengan tabel yang lain. Relasi yang ada adalah hubungan atau relasi antar entri data pada tiap-tiap tabel. Pada setiap tabel data akan diwakili dengan sebuah field yang dijadikan field index untuk merelasikan dengan tabel yang lain. Relasi yang pertama adalah antara tabel siswa dengan tabel nilai, di sini field yang digunakan untuk merelasikan adalah field NIS. Pada tabel siswa dan tabel nilai sama-sama mempunyai field dengan data entri NIS dan tidak mempunyai data yang diulang-ulang. Pada setiap siswa dapat mengambil mata pelajaran sesuai dengan jumlah yang ditentukan oleh system. Data tersebut kemudian akan disimpan pada tabel nilai. Tabel nilai ini akan menampung NIS siswa yang mengambil mata pelajaran, data kode mata pelajaran dan data nilai yang dapat dimasukkan dari system.

Dari tabel nilai ini akan dapat diperoleh satu NIS siswa dapat tercatat pada lebih dari satu baris atau entri, demikian juga dengan kode mata pelajaran dapat tercatat lebih dari satu entri data. Dengan contoh 56

Bab 4

Perencanaan Database Menggunakan MySQL

kasus di atas dapat dilihat sebuah gambaran bahwa entri siswa terelasi dengan banyak entri mata pelajaran. Relasi yang terjadi akan disimpan ke dalam tabel nilai berupa NIS dan mata pelajaran. Kemudian untuk field nilai menjadi sebuah keterangan dalam tabel nilai tersebut. Sebagai gambaran hubungan data tabel dalam database tersebut dapat dilihat seperti pada diagram berikut: SISWA NIS NAMA

NILAI NIS = NIS

NIS KODE NILAI

KODE = KODE

MATA PELAJARAN KODE MATA PELAJARAN

Pada diagram di atas dapat diambil penjelasan bahwa untuk tabel SISWA dan tabel NILAI direlasikan dengan field NIS, kemudian untuk tabel NILAI dengan tabel MATA PELAJARAN direlasikan dengan field KODE.

57

Setelah kita memahami tentang database dan system dalam database tersebut pada bab 4, maka langkah berikutnya dalam membangun sebuah database karyawan yang menangani tentang cuti online dan database kehadiran / absensi karyawan adalah merancang sebuah database yang efektif dan efisien. Dengan membangun sebuah struktur database yang baik diharapkan semua kelemahan pada sebuah system dapat diminimalkan. Pada system database karyawan online ini akan dibutuhkan beberapa database, antara lain :  Data dan .  Data karyawan.  Data cuti karyawan.  Hak akses karyawan.  Jumlah cuti karyawan. Pada bab ini juga diuraikan tentang tabel-tabel yang digunakan dan bagaimana membuat dan mengatur relasi antar tabel sehingga akan menjadi sebuah system yang baik.

59

Mempersiapkan Database

Bab 5

 MEMBUAT DATABASE Untuk kasus database karyawan ini hanya dibutuhkan sebuah database saja, dengan nama karyawan. Untuk membuat database tersebut menggunakan sebuah script PHP seperti yang ada di bawah ini:

Penjelasan Script :

Perintah script yang berfungsi untuk membuat sebuah database adalah mysql_create_db (“nama_database”);.

Namun sebelum fungsi untuk membuat database dituliskan, terlebih dahulu program harus terhubung pada MySQL. Fungsi yang digunakan untuk koneksi ke MySQL adalah mysql_connect (“host”, “”, “”). Host pada MySQL secara umum adalah localhost, kemudian untuk adalah root dan diisi dengan dari masing-masing .

 DATABASE

UNTUK

NAME

DAN



Database ini digunakan untuk menyimpan name dan . Untuk menangani database ini cukup dibuat sebuah tabel dengan tiga field, yaitu id sebagai index, 60

Bab 5

Mempersiapkan Database

_name dan . Tabel yang dibuat diberi nama dan field-fieldnya adalah sebagai berikut : Field

Tipe

Panjang

Keterangan

Id

Int

2

Primary key



varchar

10

-



Varchar

10

-

Pada kasus di atas, untuk field id mempunyai tipe Int yaitu jenis angka dengan panjang 2 karakter dan mempunyai atribut primary key auto_increament. Kemudian untuk field dan menggunakan tipe varchar dengan panjang 10 karakter. Script PHP yang digunakan untuk membuat tabel tersebut adalah:

Penjelasan script:

Perintah yang digunakan untuk membuat tabel adalah dengan fungsi CREATE TABLE nama_tabel (field1, field2, .. ). Pada saat menentukan nama tabel tidak diijinkan dengan adanya spasi. Field yang pertama adalah id dengan tipe int (integer / angka) dengan panjang 2 karakter dan atribut auto_increment artinya nilai yang akan dituliskan pada field id ini akan angka yang dimulai dengan angka 1 dan bertambah satu setiap penambahan entri baru. Kemudian untuk field dan mempunyai tipe varchar dengan panjang 10 karakter.

61

Mempersiapkan Database

Bab 5

 DATABASE UNTUK MENYIMPAN DATA HAK AKSES KARYAWAN

Kriteria hak akses pada setiap karyawan diharapkan berbedabeda, misalkan hak akses karyawan sebagai atasan diharapkan lebih luas dibandingkan dengan hak akses karyawan biasa. Hal ini dilakukan supaya ada pembedaan fungsi dan tugas karyawan sesuai dengan kelompok hak akses masing-masing karyawan. Misalkan pada karyawan biasa hanya diberi hak untuk melihat data pribadi, halaman pengajuan cuti dan halaman persetujuan cuti untuk melihat hasil pengajuan cuti yang telah diajukan kepada atasan. Kemudian hak atasan dapat melihat data seluruh karyawan dan memberikan persetujuan cuti kepada karyawan yang mengajukan cuti. Untuk membuat database hak akses ini dibuatkan sebuah tabel dengan nama hak_akses dan menggunakan dua buah field yaitu NIK dan kode_akses. Berikut keterangan lengkap tentang database hak akses tersebut: Field

Tipe

Panjang

Keterangan

NIK

varchar

8

-

Kode_akses

enum

-

‘0’,’1’,’11’,’2’

Field NIK menggunakan tipe varchar dengan panjang 8 karakter. Kemudian untuk field kode_akses sengaja menggunakan tipe enum, artinya value atau nilai dari field ini sudah diset atau ditentukan pada saat tabel dibuat. Nilai dari field kode akses ini sudah ditentukan yaitu 0 artinya digunakan untuk karyawan biasa, 1 adalah kode hak akses yang diberikan kepada karyawan sebagai atasan yang memberikan persetujuan cuti, 11 adalah kode akses yang diberikan kepada karyawan yang menjabat sebagai wakil atasan yang bertugas memberikan keputusan cuti apabila atasan sedang cuti atau tidak aktif, kemudian untuk 2 adalah kode akses yang diberikan kepada kepala bagian yang berfungsi untuk mengatur data karyawan yang menjadi bawahannya. Script yang digunakan untuk membuat tabel tersebut adalah sebagai berikut: 62

Bab 5

Mempersiapkan Database



Penjelasan script:

Script di atas berfungsi untuk membuat sebuah tabel dengan nama hak_akses dengan field sebanyak 2 buah yaitu NIK dengan tipe varchar, panjang 8 karakter, value defaultnya adalah kosong, kemudian untuk field kedua adalah kode_akses dengan tipe enum nilai pilihannya adalah 0, 1, 11, 2 dan nilai defaultnya adalah 0.

 DATABASE KARYAWAN Database yang harus dibuat berikutnya adalah database karyawan. Database karyawan ini nanti digunakan untuk menampung seluruh informasi yang berhubungan dengan identitas karyawan. Misalkan : nama, NIK, alamat, jabatan, golongan, NIK atasan, NIK kepala bagian, status dan karyawan. Berikut keterangan lengkap tentang tabel untuk database karyawan: Field

Tipe

Panjang

Keterangan

Id

Int

2

Auto_increment, pramary key

Nama

Varchar

50

-

Nik

Varchar

10

-

Tingkat

Varchar

10

-

Jabatan

Varchar

50

-

Posisi

Varchar

50

-

Nik_atasan

Varchar

10

-

Nik_

Varchar

10

-

63

Mempersiapkan Database Field

Tipe

Bab 5

Panjang

Keterangan

Status

Enum

‘0’,’1’

-



Varchar

8

-

Field id mempunyai tipe int (integer) dan memiliki atribut auto_increment, primary key, maksudnya adalah value yang ada dalam field tersebut akan ditambah satu apabila terdapat data entri baru yang dimasukkan. Jadi data pada field id tidak diisikan melalui form. Pada sistem yang akan dibuat, field id akan digunakan sebagai index pembacaan data karyawan yang akan diakses oleh atasan dan . Field NIK yang ada dalam tabel karyawan tersebut digunakan untuk menghubungkan dengan data yang ada dalam tabel hak_akses untuk memberikan hak akses terhadap karyawan dengan NIK yang sama tersebut. Field status sengaja dibuat dengan tipe field enum, maksudnya data yang diisikan nanti akan dibatasi dengan data yang sudah ditetapkan oleh sistem, ketentuan data yang akan diisikan pada field status adalah 0 dan 1. Arti dari nilai tersebut adalah sistem akan membaca apabila value atau nilai dari field status pada tiaptiap baris tersebut 0 maka karyawan tersebut mempunyai status sedang aktif, kemudian apabila nilai data dari field status tersebut 1 maka akan diberikan keterangan sedang cuti.

 DATABASE JUMLAH CUTI Database cuti ini digunakan untuk menyimpan jumlah cuti setiap karyawan yang masih tersisa pada setiap tahun.

Database yang diberi nama cuti ini mempunyai empat field yaitu id, nik, th2004, th2005, th2006 dan cuti_besar. Selain field nik, masing-masing field akan digunakan untuk menyimpan data jumlah cuti selama setahun yang sudah ditentukan oleh sistem. Namun untuk field cuti_besar digunakan untuk menyimpan data cuti besar. Tabel cuti ini akan direlasikan dengan tabel karyawan menggunakan data yang ada pada field nik sebagai field kuncinya.

64

Bab 5

Mempersiapkan Database

Pada proyek ini diasumsikan akan digunakan oleh sistem selama tiga tahun dan dapat ditambah apabila dikehendaki oleh . Setiap tahun diberikan jumlah cuti sebanyak 12 hari yang dapat diambil oleh karyawan. Selain cuti tahunan karyawan juga diberikan cuti khusus yang disebut cuti besar. Pada aplikasinya karyawan dapat mengambil cuti maksimal sebanyak 12 selama setahun dan juga dapat mengambil cuti besar dengan jumlah 45 hari yang harus diambil dalam sekali pengajuan cuti besar. Berikut adalah keterangan detail tentang tabel cuti sebagai tempat untuk menyimpan data jumlah cuti: Field

Tipe

Panjang

Keterangan

Id

int

3

Auto_increment

NIK

varchar

10

-

Th2004

int

12

-

Th2005

int

12

-

Th2006

int

12

-

Besar

int

45

-

Data yang dalam field NIK pada tabel cuti tersebut digunakan sebagai kunci relasi dengan tabel karyawan dan tabel lama_cuti. Kemudian untuk field th2004, th2005, th2006 dan besar menggunakan tipe int (integer) karena digunakan untuk menyimpan data dengan tipe angka. Berikut script yang digunakan untuk membuat tabel cuti:
65

Mempersiapkan Database

Bab 5

PRIMARY KEY (id) ) TYPE=MyISAM; ?>

Penjelasan script :

Bila diperhatikan pada script di atas pada pembuatan tabel dengan field besar sampai dengan field th2006 menggunakan tipe int dengan panjang 2 karakter dan mempunyai nilai default, artinya pada saat tabel dibuat value atau nilai dari tabel tersebut sudah dimasukkan sesuai dengan nilai yang ada dalam nilai defaultnya.

 DATABASE LAMA CUTI Database lama cuti digunakan untuk menampung data karyawan yang mengajukan cuti. Field yang akan dibuatpun agak banyak, karena akan digunakan untuk menampung beberapa data mengenai cuti yang diambil karyawan. Berikut adalah daftar field yang ada dalam tabel cuti : Field

66

Tipe

Panjang

Keterangan

Id

int

4

auto_increment

Nama

varchar

200

-

Nik

varchar

10

-

nik_atasan

varchar

10

-

nik_

varchar

10

-

Mulai

varchar

20

-

Masuk

varchar

20

-

Lama

char

2

-

Jenis

varchar

20

-

Alamat

varchar

255

-

Alasan

varchar

255

-

Catatan

varchar

255

-

Bab 5 Field

Mempersiapkan Database Tipe

Panjang

Keterangan

Tanggal

varchar

20

-

Status

varchar

20

-

Aktivasi

varchar

20

-

Field nik digunakan untuk menghubungkan tabel cuti dengan tabel karyawan. Pada field tanggal mengapa tidak menggunakan tipe date, namun menggunakan tipe varchar ? Dengan kasus demikian Anda akan diajak untuk melihat keunikan dari script PHP, walaupun data tanggal disimpan dalam tipe teks namun masih dapat diolah oleh PHP menjadi informasi dalam bentuk tanggal.

67

Dalam membangun sebuah web dengan skala besar, umumnya akan membutuhkan banyak file script pendukung. Script pendukung tersebut akan digunakan oleh file script PHP yang lain. Script pendukung ini biasanya mempunyai kegunaan khusus dan sering dibutuhkan dalam sebuah sistem web. Contoh kegunaan khusus ini misalnya script yang digunakan untuk mengakses database, script yang berfungsi sebagai otentikasi, script yang berfungsi untuk mendeklarasikan sebuah variabel dan lain sebagainya.

 SCRIPT UNTUK MENGAKSES DATABASE Script pendukung yang pertama adalah script yang berfungsi untuk mengakses database. Script ini akan digunakan oleh file-file PHP lain yang akan mengakses data dalam database MySQL. Script ini akan disimpan pada sebuah file dengan nama sambung.php yang isinya adalah:
69

Script Pendukung

Bab 6

$host="localhost"; $db="root"; $db=""; $namadb="karyawan"; $sambung=mysql_connect($host,$db,$db); mysql_select_db($namadb,$sambung); ?>

Penjelasan script: Pada script tersebut terdapat banyak variabel, antara lain variabel $host mempunyai nilai “localhost” adalah nama server yang digunakan oleh database. Variabel $db adalah variabel yang memiliki nilai “root” yaitu yang mempunyai hak akses terhadap database. Variabel $db adalah variabel yang mempunyai nilai kosong, pada variabel ini akan diberi nilai yang digunakan untuk mengakses database apabila akses database diberikan . Variabel $namadb adalah variabel yang digunakan untuk menyimpan nilai “karyawan” yaitu nama dari database yang akan diakses. Perintah yang digunakan untuk mengakses database adalah: $sambung=mysql_connect($host,$db,$db);

Kemudian untuk memilih database yang akan diakses adalah dengan menggunakan fungsi : mysql_select_db($namadb,$sambung);

Dengan menggunakan file tersebut, maka file PHP lain apabila akan mengakses database tidak perlu lagi menulis script tersebut berulangulang, namun dengan memanggil file tersebut database dapat diakses dengan lancar.

 SCRIPT UNTUK Script untuk ini berguna untuk proses otentikasi dan berhubungan dengan script otentikasi. Kegunaan dari script ini

70

Bab 6

Script Pendukung

adalah untuk menampilkan formulir bagi anggota. Berikut script yang digunakan untuk karyawan: karyawan 5d5q4y







71 Script Pendukung Bab 6

NIK

 



 SCRIPT UNTUK OTENTIKASI Script otentikasi ini selalu digunakan pada semua halaman atau halaman anggota dengan akses terbatas anggota tersebut. Pada proyek pembuatan database cuti online ini, file tersebut diberi nama karyawan.php dengan isi script PHP berikut :
72

Bab 6

Script Pendukung

}else{ header("Location:./keluar.php"); } }else{ echo" <TITLE>Website Cuti Online Maaf, yang Anda masukkan salah,
Klik di sini untuk mengulangi. “; } ?>

Penjelasan script: Script di atas adalah bentuk script lengkap yang digunakan untuk memeriksa kebenaran name dan yang diisikan oleh karyawan, kemudian apabila data yang diisikan sudah benar maka akan dibuat data sesi dan akses database data_karyawan dan data_cuti. Script tersebut akan diuraikan berdasarkan fungsinya dalam sebuah sistem. Fungsi yang pertama adalah: session_start();

Fungsi ini digunakan untuk mengawali dan mendeklarasikan bahwa pada file ini mengandung data sesi, sesi telah dibahas pada bab sebelumnya. Fungsi session_start() tidak mempunyai atribut apapun. File ini juga akan mengakses database karena pada saat melakukan pemeriksaan yang diisikan dengan data karyawan yang ada dalam database dibutuhkan koneksi dengan database. Untuk membaca database ini tentunya script harus terhubung dengan 73

Script Pendukung

Bab 6

database. Untuk koneksi database script ini tidak perlu menulis fungsi koneksi database lagi karena sebelumnya sudah dibuat file pendukung yang digunakan untuk mengakses database dengan nama sambung.php. Berikutnya Anda tinggal memanggil file tersebut dengan menggunkan fungsi include seperti pada script di bawah ini: include"sambung.php";

Yang perlu diperhatikan dalam memanggil file dalam file lain adalah path atau lokasi dari file yang dipanggil harus benar-benar tepat. Berikutnya adalah membaca data yang ada dalam database, pada script ini akan membaca dua kali database yang sama, yaitu database karyawan. Pada pembacaan yang pertama adalah berdasarkan dengan nik karyawan dan pembacaan yang kedua berdasarkan dengan nik atasan dari karyawan tersebut. Berikut adalah script yang digunakan dalam program tersebut: $data=mysql_query("select * from data_karyawan where nik='$nik'"); $=mysql_fetch_array($data); $data2=mysql_query("select * from data_karyawan where nik='$[nik_atasan]'"); $2=mysql_fetch_array($data2);

Fungsi yang digunakan untuk membaca data adalah: mysql_query("select * from data_karyawan where nik='$nik'");

Dan mysql_query("select * from data_karyawan where nik='$[nik_atasan]'");

Kemudian hasil pembacaan database oleh script di atas akan disimpan ke dalam variabel dan 2. Fungsi utama dalam script di atas adalah pada fungsi if yang berguna untuk mencocokkan data dari formulir dan data dari pembacaan database karyawan, yaitu pada bagian script : if($=="$[]"){

Kemudian pada script di atas diikuti dengan fungsi berikutnya adalah fungsi session atau sesi. Fungsi tersebut adalah:

74

Bab 6

Script Pendukung

session_("nik"); session_("");

Fungsi di atas digunakan untuk mendaftarkan variabel nik dan ke dalam data sesi. Dengan demikian nilai dari variabel nik dan akan selalu terbawa ke halaman yang dibuka berikutnya selama sesi belum dihapus atau sebelum browser ditutup. Pada langkah berikutnya script akan menganalisa hak akses dari karyawan yang telah masuk dengan menggunakan fungsi if seperti pada script di bawah ini : if($[hak_akses]=="0"||$[hak_akses]=="22"||$[hak_akses]=="11" ){ if($2[status]!=="0"){ header("Location:./data_karyawan2.php"); }else{ header("Location:./detail_karyawan.php"); } }elseif($[hak_akses]=="1"||$[hak_akses]=="2"){ header("Location:./data_karyawan.php"); }else{ header("Location:./keluar.php"); }

Kode akses setiap karyawan akan dibedakan dengan menggunakan kode angka yaitu apabila karyawan mempunyai kode akses 1, maka karyawan tersebut mempunyai hak akses sebagai atasan dan akan diarahkan untuk menuju file data_karyawan.php. File ini akan menampilkan data karyawan yang menjadi bawahannya dan karyawan yang sedang atau mengajukan cuti dari karyawan yang sedang . Kode akses yang kedua adalah menggunakan angka 0, artinya karyawan yang mempunyai hak akses biasa dan hanya dapat melihat data personal dirinya saja. Karyawan ini hanya dapat mengajukan cuti dan melihat persetujuan cuti yang telah diajukan kepada atasannya.

75

Script Pendukung

Bab 6

Kode akses selanjutnya adalah angka 2, artinya karyawan yang memiliki hak akses sebagai atau kepala bagian. Karyawan ini mempunyai akses pada data karyawan dibawahnya dan tidak mempunyai hak untuk memberikan keputusan diterima atau ditolaknya sebuah pengajuan cuti. Kemudian untuk hak ases dengan menggunakan kode angka 11 adalah karyawan yang mempunyai status sebagai wakil atasan. Fungsi wakil atasan dalam program ini adalah karyawan yang dapat memberikan keputusan diterima atau tidak pengajuan cuti yang diajukan oleh karyawan bawahannya apabila atasan sedang berhalangan atau sedang cuti. Kode akses 22 adalah hak akses yang diberikan kepada wakil kepala bagian. Tugas dari wakil kepala bagian adalah memberikan informasi tentang karyawan yang ada di bawahnya apabila kepala bagian sedang tidak aktif atau cuti.

 SCRIPT UNTUK MEMERIKSA KEBERADAAN

SESI

Pada setiap program yang menggunakan fasilitas akses terbatas selalu menggunakan data sementara dan global yaitu data sesi. Data sesi ini selalu ada dalam sistem selama tidak dihapus oleh program tersebut. Dalam program ini juga memuat sebuah script yang berfungsi memeriksa keberadaan data sesi. Setiap file yang akan diakses oleh karyawan selalu membutuhkan data sesi yang dibentuk pada saat karyawan tersebut , kemudian akan selalu dibawa pada setiap menelusuri halaman member. Karyawan yang mengunjungi halaman tertentu dan tidak melalui berarti tidak mempunyai data sesi tersebut sebagai syarat untuk mengakses halaman tersebut. Pada halaman tesebut akan diberikan sebuah script yang berfungsi untuk memeriksa keberadaan data sesi ini, apabila data sesi tidak ada maka akan dialihkan ke file yang memuat keterangan kesalahan. Script yang berfungsi untuk memeriksa data sesi ini akan disimpan

76

Bab 6

Script Pendukung

ke dalam sebuah file yang diberi nama cek.php. Pada setiap file yang membutuhkan konfirmasi data sesi dapat memanggil file ini dengan perintah include. Berikut script yang digunakan untuk memeriksa data sesi:

Penjelasan script: Apabila Anda perhatikan pada script di atas ada bagian yang sangat penting dan berfungsi untuk memeriksa keberadaan data sesi yaitu: session_start(); if(!session_is_ed("")){

Pada bagian baris pertama adalah session_start() digunakan program untuk mendefinisikan bahwa pada script tersebut memiliki data sesi dan pada baris kedua yaitu session_is_ed yang berfungsi untuk memeriksa keberadaan data sesi dengan nama . Apabila data sesi tidak ditemukan maka program akan mengalihkan pengunjung untuk membuka file error.php yang menyatakan informasi kesalahan dengan menggunakan fungsi header. Fungsi exit; pada script di atas berfungsi untuk menghentikan pembacaan script dibawahnya agar perintah-perintah yang tidak sesuai syarat data sesi akan diabaikan.

77

Langkah berikutnya adalah menyusun file-file yang digunakan untuk membuat program pengolah database karyawan. File-file ini dibuat sesuai dengan fungsi dalam program ini.

 SCRIPT UNTUK MENGAKSES DATABASE Untuk koneksi dengan database dalam proyek ini menggunakan database MySQL diperlukan sebuah script yang sifatnya global yang berfungsi untuk mengakses database tersebut. Script tersebut akan disimpan ke dalam sebuah file dan nantinya akan dapat dipanggil oleh file lain yang membutuhkan koneksi dengan database. Dengan menggunakan file koneksi ini maka setiap script yang membutuhkan hubungan dengan database tidak akan membuat script baru dengan fungsi untuk koneksi ke database secara berulang-ulang. Berikut ini adalah script yang digunakan untuk koneksi ke database dan disimpan ke dalam sebuah file dengan nama sambung.php.
79

File Pendukung dalam Program

Bab 7

$db=""; $namadb="karyawan"; $sambung=mysql_connect($host,$db,$db); mysql_select_db($namadb,$sambung); ?>

Penjelasan script:

Pada dasarnya script ini mempunyai dua bagian fungsi pokok. Perhatikan pada bagian berikut: $sambung=mysql_connect($host,$db,$db); mysql_select_db($namadb,$sambung);

Pada fungsi yang pertama adalah :

$sambung=mysql_connect($host,$db,$db);, fungsi ini digunakan untuk menghubungkan program dengan database MySQL dengan menggunakan parameter yaitu server host, name dan . Server yang digunakan biasanya adalah localhost, name dan diisi sesuai dengan name dan pada saat daftar pada server MySQL. Script berikutnya adalah mysql_select_db($namadb, $sambung);. Script ini berfungsi untuk memilih database yang akan diakses. $namadb adalah nama dari database yang akan diakses, kemudian untuk $sambung adalah variabel yang mempunyai nilai hasil koneksi database yang menggunakan fungsi mysql_connect.

 SCRIPT UNTUK MEMBUAT DATABASE Untuk membuat media penyimpan data dalam MySQL, yang pertama harus dilakukan adalah membuat sebuah database terlebih dahulu. Setelah database dibuat, langkah berikutnya adalah membuat sebuah tabel yang berisikan field-field sesuai dengan kebutuhan penyimpanan data. Fungsi yang digunakan untuk membuat database ini adalah:

80

Bab 7

File Pendukung dalam Program

Mysql_Create_db(database); Database adalah string yang berisikan kata yang akan menjadi nama dari database. Berikut ini adalah contoh script yang berfungsi untuk membuat database :
Database dataku gagal dibuat."; } ?>

Penjelasan script:

Pada script di atas mengandung beberapa fungsi yang berhubungan dengan koneksi database dan membuat database.

Untuk membuat database, langkah yang pertama adalah melakukan koneksi terlebih dahulu dengan database menggunakan perintah mysql_connect(), berikut ini adalah perintah untuk melakukan koneksi dengan database yang ada dalam script di atas:

81

File Pendukung dalam Program

Bab 7

$sambung=mysql_connect("localhost","madcoms","madiun");

Pada script koneksi di atas server yang diakses adalah localhost, kemudian untuk name-nya adalah madcoms dan -nya adalah madiun. Fungsi yang kedua adalah perintah untuk membuat sebuah database. Bentuk scritptnya adalah mysql_create_db();. Pada script di atas bagian yang berfungsi untuk membuat database adalah: $buat_database=mysql_create_db("karyawan");

Pada script di atas karyawan adalah nama database yang akan dibuat menggunakan fungsi mysql_create_db();.

Jalankan kode program di atas pada browser, maka database dengan nama karyawan akan dibuat dan menampilkan informasi bahwa koneksi dengan mysql berhasil dan database karyawan telah sukses dibuat seperti pada gambar berikut:

Gambar 7.1 Membuat database.

 SCRIPT UNTUK MEMBUAT TABEL Tabel dalam sebuah database adalah media untuk menyimpan data. Data yang ada pada tabel ini tiap-tiap barisnya memiliki beberapa 82

Bab 7

File Pendukung dalam Program

informasi yang disimpan pada masing-masing tabel. Untuk sebuah proyek pembuatan database, setelah dibuat sebuah database kemudian harus menyediakan sebuah tabel. Tabel yang ada dalam database ini tidak ada begitu saja, namun harus dibuat dengan ketentuan sesuai dengan kondisi atau kasus sebuah program. Pada proyek istrasi Cuti karyawan online ini membutuhkan beberapa tabel yang digunakan untuk menyimpan data-data tertentu.

 TABEL KARYAWAN Yang pertama dibutuhkan tabel untuk menyimpan data karyawan dengan nama tabelnya adalah karyawan. Berikut script yang digunakan untuk membuat tabel karyawan:

83

File Pendukung dalam Program

Bab 7

Penjelasan script :

Baris pertama pada script di atas adalah perintah untuk memanggil file sambung.php, yang mana dalam file tersebut terdapat script yang berfungsi untuk melakukan koneksi dengan database MySQL. Perintah untuk memanggil file tersebut adalah menggunakan fungsi include.

Fungsi berikutnya adalah CREATE_TABLE();. Perintah ini digunakan untuk membuat sebuah tabel. Pada script ini akan dibuat sebuah tabel dengan nama karyawan dengan field-field antara lain: id, nama, nik, tingkat, jabatan, posisi, nik_atasan, nik_, status, . Pada setiap field memiliki atribut sendiri-sendiri sesuai dengan jenis data yang akan dimasukkan selanjutnya. Atribut varchar digunakan pada field yang akan digunakan untuk data tipe teks dengan panjang kurang atau sama dengan 255 karakter. Atribut int diberikan pada field yang akan digunakan untuk menampung data tipe integer atau angka. Enum adalah atribut yang diberikan kepada field yang akan digunakan untuk menampung data yang sudah ditentukan sebelumnya, pada kasus ini adalah data 1 dan 0. Kemudian pada field id juga memiliki atribut tambahan, yaitu auto_increment dan PRIMARY KEY, artinya adalah data yang akan diisikan ke dalam field ini data angka berurutan dan secara otomatis ditambahkan apabila ada masukkan baru. Selain itu data pada field ini tidak ada data yang kembar.

Untuk membuat tabel tersebut dengan cara menjalankan file buat_tabel_karyawan.php menggunakan bantuan browser. Setelah dijalankan maka tabel karyawan secara otomatis akan dibuat dalam database karyawan tersebut. Berikut apabila tabel tersebut ditampilkan dengan menggunakan SQL dalam browser:

84

Bab 7

File Pendukung dalam Program

Gambar 7.2 Tampilan struktur tabel karyawan

 TABEL HAK AKSES Tabel yang perlu disiapkan berikutnya adalah tabel hak_akses yang digunakan untuk menyimpan data hak akses pada tiap-tiap karyawan. Berikut adalah script untuk membuat tabel hak_akses:

85

File Pendukung dalam Program

Bab 7

Penjelasan Script :

Pada script untuk membuat tabel hak_akses di atas masih menggunakan file koneksi yang sama, yaitu memanggil file sambung.php menggunakan fungsi include. Berikutnya untuk membuat tabel juga menggunakan fungsi create_table() dengan field yang dibuat adalah nik memakai atribut varchar panjang karakter 10 dan field hak_akses menggunakan atribut enum dan diatur pilihan yang sudah ditentukan yaitu 0, 1, 11, 2. Pada pilihan yang telah ditentukan ini mempunyai arti bahwa hak akses 0 adalah hak akses biasa yang akan diberikan kepada karyawan biasa, kemudian kode akses 1 yaitu hak akses sebagai atasan akan diberikan kepada karyawan yang menjadi atasan dan hak akses 11 adalah kode akses yang diberikan kepada karyawan yang mempunyai jabatan wakil atasan. Pada karyawan yang mempunyai jabatan sebagai atau kepala bagian akan diberikan kode hak akses 2. Berikut adalah tampilan tabel hak akses apabila diakses menggunakan SQL pada browser :

86

Bab 7

File Pendukung dalam Program

Gambar 7.3 Tampilan tabel hak_akses

 TABEL DATA CUTI Untuk menampung data-data karyawan yang sedang cuti dan data-data yang berhubungan dengan cuti karyawan, maka dibuat sebuah tabel khusus untuk menampung data tersebut. Tabel ini diberi nama data_cuti. Berikut adalah script yang digunakan untuk membuat tabel data_cuti:
87

File Pendukung dalam Program

Bab 7

nama varchar(200) NOT NULL default '', nik varchar(10) NOT NULL default '', nik_atasan varchar(10) NOT NULL default '', nik_ varchar(10) NOT NULL default '', mulai varchar(20) NOT NULL default '', masuk varchar(20) NOT NULL default '', lama char(2) NOT NULL default '', jenis varchar(20) NOT NULL default '', alamat varchar(255) NOT NULL default '', alasan varchar(255) NOT NULL default '', catatan varchar(255) NOT NULL default '', tanggal varchar(20) NOT NULL default '', status varchar(20) NOT NULL default '', aktivasi varchar(20) NOT NULL default '', PRIMARY KEY (id) ) TYPE=MyISAM; ?>

Penjelasan Script:

Untuk membuat tabel data_cuti ini tetap dibutuhkan file sambung.php sebagai media untuk koneksi dengan database. Field yang ada dalam tabel data_cuti ini lebih banyak dibandingkan dengan tabel karyawan sesuai dengan data cuti yang akan dimasukkan. Tipe data yang akan dimasukkan ke dalam tabel data_cuti ini semua adalah data teks, kecuali data yang akan dimasukkan ke dalam field id. Field id juga memiliki atribut auto_increment dan PRIMARY KEY. Berikut adalah struktur tabel data_cuti apabila dilihat menggunakan SQL seperti pada Gambar 6.4 di bawah ini:

88

Bab 7

File Pendukung dalam Program

Gambar 7.4 Tampilan struktur tabel data_cuti

 TABEL Tabel dibutuhkan untuk menampung data dan sebagai hak akses yang paling tinggi dalam program ini. Tabel ini dibuat menggunakan script php seperti di bawah ini :
89

File Pendukung dalam Program

Bab 7

CREATE TABLE ( id int(3) NOT NULL auto_increment, varchar(10) NOT NULL default '', varchar(10) NOT NULL default '', PRIMARY KEY (id) ) TYPE=MyISAM; ?>

Penjelasan script:

Nama tabel ini adalah mempunyai tiga field yaitu , dan id. Field id difungsikan sebagai index dalam tabel ini dan mempunyai atribut int sebagai identitas untuk menyimpan data angka, auto_increment dan PRIMARY KEY. Berikut adalah struktur menggunakan SQL:

tabel

Gambar 7.5 Tampilan struktur tabel

90



apabila

ditampilkan

Bab 7

File Pendukung dalam Program

 SCRIPT

UNTUK AUTORISASI DAN

Pada sebuah program yang membedakan hak akses pada setiap penggunanya selalu memberikan fasilitas untuk . Untuk , setiap pengguna diminta untuk mengisikan nama dan yang benar. Benar atau salah sebuah dan ini akan diperiksa oleh sebuah bagian program. Pada dasarnya sistem kerja dari program yang berfungsi untuk memeriksa data masukkan ( dan ) adalah membandingkan data masukkan dengan data yang ada dalam database. Apabila data tersebut sama, maka data masukkan tersebut dianggap valid atau benar dan sebaliknya apabila data yang dimasukkan tersebut tidak sesuai dengan data yang ada dalam database maka data masukkan tersebut akan dianggap tidak valid, kemudian program akan menginformasikan bahwa data yang dimasukkan tersebut tidak benar. Berikut adalah script yang berfungsi untuk memeriksa benar atau tidaknya dan yang dimasukkan seorang karyawan :
91

File Pendukung dalam Program

Bab 7

if($2[status]!=="0"){ header("Location:./data_karyawan2.php"); }else{ header("Location:./detail_karyawan.php"); } }elseif($[hak_akses]=="1"||$[hak_akses]=="2"){ header("Location:./data_karyawan.php"); }else{ header("Location:./keluar.php"); } }else{ echo" <meta http-equiv=\"Content-Language\" content=\"en-us\"> <TITLE>Website Cuti Online <META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=windows-1252\"> <style>
{ font-family: arial; color: #000080 }

--> <script language=\"JavaScript\">
92

Bab 7

File Pendukung dalam Program

for(n=2; n<args.length; n+=2) { elm=FP_getObjectByID(args[n]); if(elm) { doc.\$imgSwaps[doc.\$imgSwaps.length]=elm; elm.\$src=elm.src; elm.src=args[n+1]; } } } function FP_getObjectByID(id,o) {//v1.0 var c,el,els,f,m,n; if(!o)o=document; if(o.getElementById) el=o.getElementById(id); else if(o.layers) c=o.layers; else if(o.all) el=o.all[id]; if(el) return el; if(o.id==id || o.name==id) return o; if(o.childNodes) c=o.childNodes; if(c) for(n=0; n

\"\"

93

File Pendukung dalam Program

Bab 7

cellpadding=\"0\" background=\"images/tkm_02.gif\" id=\"table1\">
 

 

margin-bottom: 5px\">


yang Anda masukkan salah,

margin-bottom: 5px\">

Atau



margin-bottom: 5px\">


Data Anda belum terdaftar dalam database.

margin-bottom: 5px\">

Silakan ulangi

lagi.
margin-bottom: 3px\">

 


src=\"images/buttonE.gif\" height=\"20\" width=\"125\" alt=\"ULANGI\" fpstyle=\"fp-btn: Metal Rectangle 1; fp-font-color-hover: #FF0000; fp-img-press: 0; fp-transparent: 1; fp-proportional: 0\" fp-title=\"ULANGI\" onmouseover=\"FP_swapImg(1,0,/*id*/'img1',/*url*/'images/buttonF.gif')\" onmouseout=\"FP_swapImg(0,0,/*id*/'img1',/*url*/'images/buttonE.gif')\">

 


94

Bab 7

File Pendukung dalam Program

\"\" "; } ?>

Penjelasan script:

Pada script di atas banyak sekali menggunakan fungsi php sesuai dengan tugasnya. Yang pertama adalah fungsi session_start(), fungsi ini digunakan untuk mendeklarasikan bahwa pada file ini mengandung data dan fungsi session yang lain. Fungsi session_start() selalu dituliskan pada awal script. Apabila dituliskan di tengah atau di akhir script, maka akan ditolak oleh program php dan dinyatakan sebagai kesalahan. Fungsi berikutnya yang digunakan dalam program di atas adalah include yang digunakan untuk memanggil file sambung.php sebagai script koneksi database. Setelah program terhubung dengan database MySQL maka program akan membaca data yang ada dalam tabel karyawan dan tabel hak_akses menggunakan fungsi MySQL seperti di bawah ini: $data=mysql_query("select * from data_karyawan where nik='$nik'"); $=mysql_fetch_array($data); $data2=mysql_query("select * from hak_akses where nik='$[nik_atasan]'");

Untuk mengakses data pada suatu tabel adalah menggunakan fungsi MySQL adalah mysql_query. Pokok dari fungsi autorisasi ini adalah 95

File Pendukung dalam Program

Bab 7

fungsi if. Fungsi ini digunakan untuk memisahkan operasi satu dengan yang lainnya sesuai dengan kondisi tertentu. Berikut adalah script yang digunakan untuk autorisasi dalam program di atas: if($=="$[]"){ session_("nik"); session_(""); if($[hak_akses]=="0"||$[hak_akses]=="11"){ if($2[status]!=="0"){ header("Location:./data_karyawan2.php"); }else{ header("Location:./detail_karyawan.php"); } }elseif($[hak_akses]=="1"||$[hak_akses]=="2"){ header("Location:./data_karyawan.php"); }else{ header("Location:./keluar.php"); }

Pada fungsi if dalam script di atas sebagai syarat atau kondisi adalah membandingkan data yang ada dalam variabel $ yaitu data dari formulir dengan data yang ada dalam variabel $[] yaitu hasil pembacaan dari database sesuai dengan data karyawan yang telah dimasukkan oleh seorang . Apabila data yang ada dalam variabel $ dan data yang ada dalam variabel $[] sama maka program berikutnya akan dijalankan yaitu mendaftarkan data dari variabel nik dan data yang ada pada variabel sebagai data sesi. Dengan terdaftarnya kedua data tersebut maka seorang karyawan yang telah melakukan tersebut dapat membuka halaman keanggotaan yang lain, karena data sesi nik dan selalu ter-include terus selama browser tidak ditutup atau karyawan tersebut keluar dari halaman anggota. Kenapa data nik dan harus didaftarkan menjadi data sesi? Data sesi ini sifatnya global dan tersimpan dalam server dalam jangka 96

Bab 7

File Pendukung dalam Program

waktu tertentu, selama masih dibutuhkan walau pindah dari halaman satu ke halaman berikutnya. Kemudian pada tiap halaman anggota tersebut selalu meminta nik dan pengunjung sehingga dapat mengakses isi dari halaman tersebut. Dengan adanya data sesi tersebut maka karyawan dapat mengakses seluruh halaman yang menjadi hak aksesnya.

Di dalam fungsi if tersebut masih mengandung fungsi if lagi yang berfungsi untuk memisahkan hak akses dari masing-masing karyawan yang telah . Data hasil pembacaan database pada tabel hak_akses berdasarkan nik karyawan akan diperiksa nilainya. Apabila dalam field hak akses mempunyai nilai 0 maka karyawan tersebut diarahkan program untuk menuju file data_karyawan2.php menggunakan fungsi header(); dan apabila data yang ada pada field hak akses 11 maka karyawan akan dialihkan membuka file detail_karyawan.php. Kemudian apabila data dari field hak akses pada tabel hak akses dari karyawan tersebut mempunyai nilai 1 atau 2 maka akan dialihkan ke file data_karyawan.php. Mengapa hal ini dilakukan? Dengan menggunakan fungsi ini maka setiap karyawan dapat dibedakan hak aksesnya dan dibatasi untuk membuka halaman-halaman yang sesuai dengan haknya. Kemudian apabila pengunjung lain tidak terdaftar dalam database maka akan dialihkan ke halaman keluar.php menggunakan fungsi header();.

 SCRIPT UNTUK MEMERIKSA DATA SESI Script ini akan digunakan pada setiap halaman keanggotaan yang akan diakses oleh karyawan. Fungsi dari script ini adalah memeriksa apakah pengunjung yang membuka halaman keanggotaan mempunyai data sesi atau tidak. Apabila seorang pengunjung membuka halaman keanggotaan melalui prosedur yang benar yaitu melalui , maka data sesi akan diciptakan. Tetapi apabila seorang pengunjung dalam membuka sebuah halaman tidak melalui , maka secara otomatis tidak memiliki data sesi dan berikutnya pengunjung akan ditolak dan ditampilkan sebuah pesan kesalahan oleh program. Berikut adalah script yang digunakan untuk memeriksa keberadaan data sesi:

97

File Pendukung dalam Program

Bab 7

<meta http-equiv=\"Content-Language\" content=\"en-us\"> <TITLE>Website Cuti Online <META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=windows-1252\"> <style>
{ font-family: arial; color: #000080 }

--> <script language=\"JavaScript\">
98

Bab 7

File Pendukung dalam Program

for(n=0; n

\"\"
 

 

 

Anda Tidak diijinkan mengakses halaman ini,


99

File Pendukung dalam Program

Bab 7

\margin-bottom: 3px\"> Anda harus terlebih dahulu.

margin-bottom: 3px\"> margin-bottom: 3px\">


src=\"../images/buttonE.gif\" height=\"20\" width=\"125\" alt=\"ULANGI\" fp-style=\"fp-btn: Metal Rectangle 1; fp-font-color-hover: #FF0000; fp-img-press: 0; fp-transparent: 1; fp-proportional: 0\" fp-title=\"ULANGI\" onmouseover=\"FP_swapImg(1,0,/*id*/'img1',/*url*/'../images/buttonF.gif')\" onmouseout=\"FP_swapImg(0,0,/*id*/'img1',/*url*/'../images/buttonE.gif')\">

 
\"\"
"; exit; } ?>

100

Bab 7

File Pendukung dalam Program

Penjelasan script: Pada script untuk memeriksa data sesi ini didominasi tag php dan html. Fungsi yang digunakan untuk memeriksa data sesi dalam script di atas adalah : session_start(); if(!session_is_ed("")){

Penjelasan dari fungsi di atas adalah setiap sebuah file mengandung data sesi harus ditambahkan fungsi session_start(); sehingga data sesi yang ada dalam script dapat dikenali. Kemudian untuk memeriksa keberadaan data sesi maka menggunakan fungsi session_is_ed yang berada dalam kondisi fungsi if. Tanda seru (!) dalam fungsi if tersebut adalah menyatakan tidak. Jadi jika data sesi tidak terdaftar, maka akan ditampilkan komentar kesalahan yang diciptakan menggunakan tag-tag html dan diakhiri dengan fungsi php yaitu exit; yang artinya perintah berikutnya akan diabaikan. Namun apabila data sesi telah terdaftar maka program akan dilanjutkan dan membuka halaman tersebut. File yang mengandung script pemeriksaan data sesi ini diberi nama cek.php. Untuk memasukkan ke dalam setiap file keanggotaan yaitu menggunakan fungsi include pada setiap halaman keanggotaan.

 SCRIPT UNTUK MENGHAPUS DATA SESI Apabila seorang karyawan akan meninggalkan halaman keanggotaan diharapkan data sesi juga akan dihapus, karena apabila data sesi tidak terhapus, maka orang lain dapat membuka halaman keanggotaan sesuai hak yang dimiliki olah karyawan yang terakhir mengakses halaman keanggotaan tersebut. Untuk menghapus data sesi ini, maka dibuat sebuah file yang berisi script yang berfungsi untuk menghapus data sesi. Berikut adalah script yang berfungsi untuk menghapus data sesi dalam file keluar.php.
101

File Pendukung dalam Program

Bab 7

session_destroy(); header("location:index.php"); ?>

Penjelasan script:

Script untuk menghapus data sesi sangat sederhana sekali. Pada awal script harus dituliskan fungsi sessien_start(); yang menyatakan bahwa dalam script tersebut mengandung data sesi, kemudian untuk menghapus data sesi menggunakan fungsi session_destroy();. Pada akhir script setelah data sesi dihapus maka pengunjung diarahkan ke halaman index.php menggunakan fungsi header.

102

Yang dimaksud dengan file program utama dalam proyek ini adalah semua file yang berfungsi untuk mengakses dan sekaligus menampilkan data pada browser. File tersebut secara langsung dapat dilihat oleh pengunjung atau karyawan yang sudah terdaftar dalam database. File-file tersebut dapat dibedakan menjadi dua bagian besar, antara lain halaman utama dan halaman keanggotaan.

 HALAMAN UTAMA Halaman utama dalam proyek ini adalah file yang pertama kali akan diakses oleh karyawan. Isi dari halaman utama adalah menampilkan jumlah karyawan yang aktif, jumlah karyawan yang mengajukan cuti dan jumlah karyawan yang sedang cuti. Selain itu pada halaman ini juga menampilkan formulir untuk karyawan. Berikut adalah script yang digunakan untuk menampilkan halaman utama :
103

File Program Utama

Bab 8

$proses=mysql_num_rows($data3); $total=$aktif + $cuti; ?> <TITLE>Website Cuti Online









105 File Program Utama Bab 8
 

DATA KARYAWAN

tr>
Keterangan

Jumlah

Jumlah Karyawan Aktif

Jumlah Karyawan Cuti

Jumlah Karyawan Mengajukan Cuti

104

Bab 8

File Program Utama

Jumlah Total Karyawan

UNTUK KARYAWAN

NIK

 

 


Penjelasan script:

Pada file index.php sebagai halaman utama dari proyek ini menampilkan data karyawan yang diakses dari database, sehingga membutuhkan file sambung.php sebagai script untuk koneksi dengan database. File sambung.php dipanggil menggunakan fungsi include seperti di bawah ini : include"sambung.php";

Fungsi berikutnya adalah perintah query untuk membaca data yang ada dalam database karyawan dan database data_cuti. Berikut adalah potongan perintah query yang digunakan untuk membaca data karyawan tersebut : $data=mysql_query("select * from karyawan where status='0'"); $aktif=mysql_num_rows($data);

Potongan script di atas berfungsi untuk membaca data karyawan yang memiliki status 0 (sedang aktif) sebagai syarat pembacaan data. Setelah data dibaca kemudian dihitung jumlah data sesuai dengan syarat statusnya 0 menggunakan fungsi mysql_num_rows(). Hasil dari fungsi di atas adalah data angka dengan nilai sebanyak record karyawan yang memiliki data status 0. Pembacaan data berikutnya adalah menghitung jumlah karyawan yang sedang cuti, pada database diberikan status 1, artinya karyawan tersebut sedang cuti. Berikut adalah penggalan script yang berfungsi untuk membaca dan menghitung jumlah karyawan yang memiliki status 1 atau sedang cuti : $data2=mysql_query("select * from karyawan where status='1'"); $cuti=mysql_num_rows($data2);

Pembacaan data hanya yang memiliki status 1 saja, artinya hanya data karyawan yang cuti saja. Kemudian data yang telah dibaca menggunakan fungsi mysql_num_rows().

106

Bab 8

File Program Utama

Selanjutnya adalah membaca data karyawan yang sedang mengajukan cuti. Artinya bahwa karyawan tersebut masih aktif, namun pada saat tersebut telah mengajukan cuti dan belum disetujui oleh pimpinan. Hal ini dimaksudkan untuk mempermudah atasan / pimpinan untuk mengetahui apakah hari tersebut ada karyawan yang sedang mengajukan cuti yang akan diterima atau ditolak. Apabila ada maka seorang atasan akan melakukan ke data karyawan dan memberikan tanggapan atas pengajuan cuti yang telah diajukan oleh karyawannya. Berikut adalah fungsi yang digunakan oleh halaman utama tersebut untuk membaca dan menghitung data karyawan yang sedang mengajukan cuti: $data3=mysql_query("select * from data_cuti where status='0'"); $proses=mysql_num_rows($data3);

Pada ketiga fungsi tersebut adalah sama yaitu untuk mengakses database dan menghitung data yang telah dibaca. Bedanya adalah database yang dibaca dan syarat pembacaan database tersebut. Setelah database telah dibaca, kemudian data tersebut disimpan ke dalam variabel. Hasil pembacaan dan penghitungan data karyawan yang sedang cuti disimpan ke dalam variabel $cuti, kemudian untuk data karyawan yang sedang mengajukan cuti disimpan ke dalam variabel $proses dan data karyawan yang sedang aktif disimpan ke dalam variabel $aktif. Setelah data hasil pembacaan disimpan dalam masing-masing variabel, kemudian script php menampilkannya ke dalam halaman utama dengan menyisipkan data tersebut disela-sela tag HTML menggunakan fungsi echo. Berikut adalah tampilan dari halaman utama menggunakan script di atas :

107

File Program Utama

Bab 8

Gambar 8.1 Tampilan halaman utama

Tampilan dari halaman utama adalah dibagi menjadi dua bagian, yang pertama adalah bagian kiri yang berisikan tentang informasi karyawan dan yang kedua adalah bagian kanan berisikan formulir untuk karyawan.

 HALAMAN DATA KARYAWAN Halaman data karyawan ini digunakan untuk menampilkan daftar data karyawan yang telah dimasukkan ke dalam database. Apabila hak akses karyawan yang melalui formulir ini adalah seorang atasan atau pimpinan, maka halaman ini akan menampilkan nama-nama karyawan yang menjadi bawahannya. Namun apabila karyawan yang hanya memiliki hak akses sebagai karyawan biasa maka tidak dapat mengakses halaman ini, namun akan dialihkan ke halaman detail_karyawan.php. Berikut adalah script yang digunakan untuk menampilkan halaman data karyawan : 108

Bab 8

File Program Utama

<meta http-equiv="Content-Language" content="en-us"> <TITLE>Website Cuti Online <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252"> <style>



109

File Program Utama

Bab 8

 







Baru






Sedang Cuti"; } echo" 111 File Program Utama Bab 8 "; } ?> '2'and aktivasi<>'-'"); while($d2=mysql_fetch_array($data3)){ if($d2[status]=="0"){ $d2[status]=""; }elseif($d2[status]=="1"){ $d2[status]="Sedang Cuti"; }else{ $d2[status]="Ditolak"; } echo" 112 Bab 8 File Program Utama 1px solid #FFFFFF\">$d2[nama] "; } ?>



110

Bab 8

File Program Utama

width="150" alt="Persetujuan Cuti" onmouseover="FP_swapImg (1,0,/*id*/'img4',/*url*/'images/button9.gif')" onmouseout="FP_swapImg (0,0,/*id*/'img4',/*url*/'images/button8.gif')" fp-style="fp-btn: Metal Rectangle 1; fp-font-color-hover: #FF0000; fp-img-press: 0; fp-transparent: 1; fp-proportional: 0" fp-title="Persetujuan Cuti">
Keluar

Data Karyawan
Nama Jabatan Posisi Status Keterangan
$d1[nama]$d1[jabatan] $d1[posisi] $d1[status]

Lihat Detail

Data Karyawan Cuti
Nama Mulai Cuti Alamat Cuti Jumlah Cuti Keterangan
$d2[mulai] $d2[alamat] $d2[lama] hari

$d2[status]

Untuk Memberikan persetujuan pengajuan cuti oleh karyawan,
dapat diklik kata Baru pada bagian keterangan
di tiap-tiap karyawan yang mengajukan cuti.

 


Penjelasan script :

Script pada halaman data karyawan ini terdiri dari tag-tag html dan kode-kode php. Kode php berfungsi untuk mengolah data yang ada dalam database dan tag-tag html berfungsi untuk membuat tampilan grafik pada browser. Pada awal script dituliskan fungsi session_start() yang memberikan identitas bahwa dalam file ini terdapat data sesi yang akan dideklarasikan dalam sebuah variabel. Baris berikutnya adalah menggunakan fungsi include untuk memanggil file cek.php. File cek.php ini berfungsi untuk memeriksa apakah pengunjung tersebut melalui proses yang sah atau tidak. Artinya apabila melalui prosedur yang sah akan melalui formulir dan dalam proses berikutnya akan mendaftarkan data dari variabel dimasukkan menjadi data sesi. 113

File Program Utama

Bab 8

Apabila data sesi tidak ada maka dengan adanya file cek.php ini akan dialihkan ke halaman index.php, dan apabila data sesi terdaftar maka perintah selanjutnya akan dijalankan. Selain memanggil file cek.php, script ini juga memanggil file sambung.php yang digunakan untuk koneksi dengan database. Potongan script ini adalah sebagai berikut: session_start(); include"cek.php"; include"sambung.php";

Fungsi session_start() selau dituliskan pada awal script. Kemudian diikuti fungsi-fungsi yang lain sesuai dengan struktur operasi dalam sebuah file. Script berikutnya adalah perintah query yang berfungsi untuk membaca data yang ada dalam database karywan. Data yang dibaca kemudian diperiksa apakah karyawan yang bersangkutan mempunyai hak akses sebagai kepala bagian () atau mempunyai hak akses sebagai atasan. Berikut adalah potongan script yang berfungsi untuk mengakses dan memeriksa hak akses karyawan tersebut: $data4=mysql_query("select * from karyawan where nik='$nik'"); $d4=mysql_fetch_array($data4); if($d4[hak_akses]=="1"){ $akses="nik_atasan"; }else{ $akses="nik_"; }

Perintah query pertama adalah mysql_query(); untuk membaca database berdasarkan nik tertentu, kemudian hasilnya dimasukkan ke dalam variabel $d4 dengan menggunakan perintah query mysql_fetch_array($data4);. Berikutnya adalah fungsi if yang digunakan untuk menganalisa / memeriksa apakah hak akses karyawan tersebut sebagai atasan atau kepala bagian (). Setelah hak akses karyawan ditentukan, kemudian halaman data karyawan ditampilkan menggunakan tag-tag html. Namun pada tampilan data karyawan digunakan fungsi php kembali untuk mengakses database dan mendeklarasikan field-field data yang ada dalam database ke tag-tag html. Berikut adalah bagian kode php yang 114

Bab 8

File Program Utama

berfungsi untuk mengakses dan menampilkan data ke dalam halaman data karyawan : $data1=mysql_query("select * from karyawan where $akses='$nik' order by nama"); while($d1=mysql_fetch_array($data1)){ if($d1[status]=="0"){ $d1[status]="Sedang Aktif"; }else{ $d1[status]="Sedang Cuti"; }

Pada potongan script di atas berfungsi untuk mengakses data yang ada dalam database karyawan dan menampilkan ke dalam halaman data karyawan, apabila mempunyai kode status 0 maka dinyatakan sedang aktif dan apabila mempunyai kode 1 maka karyawan dinyatakan sedang cuti. Namun pada script di atas belum ada fungsi untuk menampilkan data pada browser, berikut adalah bagian script yang berfungsi untuk menampilkan data pada browser: Echo" $d1[nama] $d1[jabatan] $d1[posisi] $d1[status]

Lihat Detail ";

115

File Program Utama

Bab 8

Sebagian besar pada script di atas adalah kode html, namun apabila Anda berhatikan ada bagian-bagian tertentu yang dideklarasikan dengan variabel-variabel dari script php, seperti $d1[nama], $d1[jabatan], $d1[posisi], $d1[status] dan $d1[id]. Kelima variabel tersebut berisikan data yang diambil dari pembacaan database karyawan. Pada bagian ke dua dalam file ini adalah membaca dan menampilkan data yang ada dalam database data_cuti. Tujuan dari pembacaan database data_cuti ini adalah untuk menginformasikan data karyawan yang sedang mengajukan cuti berdasarkan nik atasan. Berikut adalah bagian script yang berfungsi untuk membaca dan menampilkan data karyawan yang sedang cuti: $data3=mysql_query("select * from data_cuti where $akses='$nik' and status<>'2'and aktivasi<>'-'"); while($d2=mysql_fetch_array($data3)){ if($d2[status]=="0"){ $d2[status]="Baru"; }elseif($d2[status]=="1"){ $d2[status]="Sedang Cuti"; }else{ $d2[status]="Ditolak"; } echo"$d2[nama] $d2[mulai] $d2[alamat] $d2[lama] hari

$d2[status]"; }

Pada prinsipnya script untuk membaca database karyawan dan data_cuti sama, yang membedakan adalah filter yang digunakan untuk membaca data yang ada dalam data_cuti, yaitu pembacaan data berdasarkan data field akses harus sesuai dengan nik atasan 116

Bab 8

File Program Utama

kemudian untuk field status tidak sama dengan 2 dengan menggunakan tanda <> dan field aktivasi tidak bernilai “-“ dengan menggunakan parameter <> artinya “tidak sama dengan”. Untuk menampilkan data pada halaman data karyawan ini juga menggunakan fungsi echo, sama dengan menampilkan data karyawan dari hasil pembacaan database karyawan di atas. Berikut adalah tampilan halaman data karyawan yang diakses oleh seorang atasan:

Gambar 8.2 Tampilan halaman data karyawan.

 HALAMAN DETAIL KARYAWAN Halaman detail ini berisikan data pribadi karyawan yang sedang . Apabila karyawan tersebut sebagai karyawan biasa, maka 117

File Program Utama

Bab 8

setelah akan langsung diarahkan ke halaman ini. Namun apabila karyawan ini sebagai atasan atau untuk mengakses halaman ini setelah diarahkan ke halaman data karyawan kemudian menekan menu Lihat Data Pribadi pada halaman data karyawan yang diakses.

Tombol untuk melihat data pribadi

Gambar 8.3 Tombol menu lihat data karyawan.

Setelah tombol Lihat Data Pribadi diklik, maka akan ditampilkan sebuah halaman yang berisikan informasi tentang data diri karyawan. Berikut adalah script yang digunakan untuk menampilkan halaman detail_karyawan.php :
118

Bab 8

File Program Utama

}else{ $akses="nik"; $val=$nik; } $data=mysql_query("select * from karyawan where $akses='$val'"); $d1=mysql_fetch_array($data); if($d1[status]=="0"){ $d1[status]="Aktif"; $aju=""; }else{ $d1[status]="Cuti"; $aju=""; }?> <TITLE>Website Cuti Online


Pengajuan cuti yang Anda tulis tidak diterima,

karena jumlah cuti yang tersisa tidak mencukupi.
ulangi lagi.

 

br>\"Keluar\"


"; } }else{ $psn=" "; } ?> <TITLE>Website Cuti Online
















Pengajuan cuti yang Anda tulis tidak diterima,

karena jumlah cuti yang tersisa tidak mencukupi.
Silakan ulangi lagi.

 










\"Keluar\"












119 File Program Utama Bab 8 121 File Program Utama Bab 8 "; } }else{ $psn=" 138 Bab 8 File Program Utama "; } "> 139 File Program Utama Bab 8 } function FP_swapImg() {//v1.0 var doc=document,args=arguments,elm,n; doc.$imgSwaps=new Array(); for(n=2; n<args.length; n+=2) { elm=FP_getObjectByID(args[n]); if(elm) { doc.$imgSwaps[doc.$imgSwaps.length]=elm; elm.$src=elm.src; elm.src=args[n+1]; } } } function FP_getObjectByID(id,o) {//v1.0 var c,el,els,f,m,n; if(!o)o=document; if(o.getElementById) el=o.getElementById(id); else if(o.layers) c=o.layers; else if(o.all) el=o.all[id]; if(el) return el; if(o.id==id || o.name==id) return o; if(o.childNodes) c=o.childNodes; if(c) for(n=0; n
 

  Keluar

Data Karyawan

     Data

120

Bab 8

File Program Utama

Personal

Nama

$d1[nama]

NIK

$d1[nik]

Tingkat

$d1[tingkat]

Jabatan

$d1[jabatan]

Tempat Kerja

$d1[posisi]

NIK Atasan

$d1[nik_atasan]

NIK

$d1[nik_]

Status

$d1[status]

 

 

 

Jumlah Cuti yang belum diambil

Cuti Besar

$d1[besar] Hari

Tahun 2004

$d1[th2004]

Tahun 2005

$d1[th2005] Hari

Tahun 2006

$d1[th2006] Hari

 

 


122

Bab 8

File Program Utama

2px\"> 

untuk karyawan bersangkutan

 
126

Bab 8

File Program Utama

MARGINWIDTH=0 MARGINHEIGHT=0 background="images/bg.gif" onload="FP_preloadImgs(/*url*/'images/buttonB.gif', /*url*/'images/batal1.gif', /*url*/'images/button13.gif')">


  tr>

Kembali Keluar


127

File Program Utama

Bab 8

echo"







132 Bab 8 File Program Utama

Halaman Pengajuan Cuti

     Data Personal

Nama

$d1[nama]

NIK

$d1[nik]

Tingkat

$d1[tingkat]



128

Bab 8

File Program Utama

Jabatan

$d1[jabatan]

Tempat Kerja

$d1[posisi]

NIK Atasan

$d1[nik_atasan]

NIK

$d1[nik_]

 

 



129

File Program Utama

Bab 8

 

Jumlah Cuti yang belum diambil

Cuti Besar

$d1[besar] Hari

Tahun 2004

$d1[th2004] Hari

Tahun 2005

$d1[th2005] Hari

Tahun 2006

$d1[th2006] Hari



130

Bab 8

File Program Utama

 

 

 

Pengajuan Cuti

Mulai Cuti Tanggal

 <select size=\"1\" name=\"t\" style=\"color: #000080; font-family: Arial; font-size:12pt\">"; $tanggal=date("j"); for($t=$tanggal; $t<=31;$t++){ echo""; } echo"<select size=\"1\" name=\"b\" style=\"font-family: Arial; color: #000080; font-size:12pt\">"; $b=date("n"); $bln=array("Januari","Pebruari","Maret","April","Mei","Juni", "Juli","Agustus","September","Oktober","Nopember","Desember"); while($b<13){ $bb= $b-1; echo""; $b++; } echo"

131

File Program Utama

Bab 8

<select size=\"1\" name=\"y\" style=\"font-family: Arial; color: #000080; font-size:12pt\">

Lama Cuti

 <select size=\"1\" name=\"lama\" style=\"color: #000080; font-family: Arial; font-size:12pt\">"; for($l=1; $l<=10;$l++){ echo""; } echo" hari

Jenis Cuti Yang Diambil

Tahunan  Besar

Alamat Cuti Yang Dapat Dihubungi

 

Alasan Mengambil Cuti

 

   

 

"; ?> /td>
 


Penjelasan script:

Pada dasarnya halaman ini adalah berisi formulir pengajuan cuti yang disusun dengan tag-tag html. Namun karena halaman ini bersifat personal atau akses terbatas, maka dibutuhkan kode-kode php yang berfungsi untuk membatasi akses oleh orang yang tidak diinginkan. Berikut adalah script php yang digunakan untuk fungsi tersebut:
133

File Program Utama

Bab 8

$d1[status]="Cuti"; } ?>

Setelah diperiksa menggunakan file validasi yaitu file cek.php, kemudian karyawan yang sedang diperiksa apakah berstatus cuti atau sedang aktif dengan menggunakan fungsi if yang memeriksa data cuti karyawan dalam database data_cuti. Hal tersebut dilakukan dengan tujuan untuk menampilkan keterangan apakah karyawan tersebut sedang cuti atau sedang aktif dalam halaman pengajuan cuti. Script php berikutnya yang ada dalam halaman ini adalah kombinasi fungsi date dan fungsi for (pengulangan). Gabungan kedua fungsi ini digunakan untuk membentuk bagian formulir yaitu option. Bagian formulir option adalah salah satu jenis isian formulir yang menyediakan pilihan tertentu. Berikut adalah script php tersebut: <select size=\"1\" name=\"t\" style=\"color: #000080; font-family: Arial; font-size:12pt\">"; $tanggal=date("j"); for($t=$tanggal; $t<=31;$t++){ echo""; } echo"”;

Hasilnya apabila dijalankan menggunakan browser adalah seperti pada gambar berikut:

134

Bab 8

File Program Utama

Gambar 8.5 Tampilan option menggunakan php.

Fungsi tersebut selain digunakan untuk menyusun bagian formulir tanggal juga untuk membuat option pada bulan dan tahun. Berikut adalah script php yang digunakan untuk membuat option bulan: Echo”<select size=\"1\" name=\"b\" style=\"font-family: Arial; color: #000080; font-size:12pt\">"; $b=date("n"); $bln=array("Januari","Pebruari","Maret","April","Mei","Juni", "Juli","Agustus","September","Oktober","Nopember","Desember"); while($b<13){ $bb= $b-1; echo""; $b++; } echo"”;

135

File Program Utama

Bab 8

Selain mengunakan fungsi while dan date dalam script di atas juga menggunakan fungsi array untuk mendeklarasikan nama bulan dalam bahasa Indonesia. Berikut adalah tampilan halaman pengajuan cuti oleh karyawan dengan menggunakan browser:

Gambar 8.6 Tampilan halaman pengajuan cuti.

136

Bab 8

File Program Utama

Jika Anda perhatikan pada gambar halaman pengajuan cuti di atas, untuk menampilkan data personal adalah dengan cara membaca database karyawan dan untuk menampilkan data jumlah cuti yang belum diambil adalah dengan membaca data_cuti.

 SCRIPT PROSES PENGAJUAN CUTI Script untuk memproses data yang dikirimkan melalui formulir pengajuan cuti ini disimpan ke dalam file proses_pengajuan.php. Jadi sudah pasti formulir pengajuan cuti ini actionnya diarahkan ke file proses_pengajuan.php.

Fungsi dari script ini bertugas untuk mengolah data isian dari formulir pengajuan. Tugas utamanya adalah memasukkan data isian ke dalam database dan meng-update data karyawan, khususnya pada status karyawan, sebelumnya berstatus aktif menjadi berstatus sedang mengajukan cuti. Dengan demikian seorang atasan dari karyawan tersebut dapat melihat bahwa karyawan bawahannya telah mengajukan cuti dan akan diperiksa. Berikut adalah script yang berfungsi untuk mengolah data isian pengajuan cuti tersebut :
137

File Program Utama

Bab 8

if($lama <= $data[$array]){ $add=mysql_query("INSERT INTO `data_cuti` ( `id` , `nama` , `nik` , `nik_atasan` , `nik_` , `mulai` , `masuk` , `lama` , `jenis` , `alamat` , `alasan` , `catatan` , `tanggal` , `status` , `aktivasi` ) VALUES ( '', '$data[nama]', '$data[nik]', '$data[nik_atasan]', '$data[nik_]', '$t / $b / $y', '', '$lama', '$array', '$alamat', '$alasan', '', '$tanggal', '0', '0' )"); if($add){ $psn="

Pengajuan cuti yang Anda tulis telah terkirim

ke dalam database. Untuk melihat persetujuan Cuti Anda,
Silakan kembali beberapa jam lagi.

 


\"Keluar\"

  








140 Bab 8 File Program Utama cellpadding="0" background="images/tkm_02.gif" id="table1">
 

 



Penjelasan script:

Script di atas berfungsi untuk mengolah data yang dikirim dari formulir pengajuan cuti oleh karyawan. Inti dari script ini adalah pada awal script, yaitu kode-kode php yang menggunakan fungsifungsi untuk memasukkan data ke dalam database. Kemudian tag-tag html yang ada dalam script ini adalah digunakan untuk menampilkan keterangan apakah data pengajuan cuti berhasil dikirim atau gagal. Berikut adalah potongan script yang berfungsi untuk mengakses dan mengolah data dalam database : include"cek.php"; include"sambung.php"; $d=mysql_query("select * from karyawan where nik='$nik'"); $data=mysql_fetch_array($d); $year=date("Y"); if($jenis=="besar"){ $array="$jenis"; $lama=45; }else{ $array="th$year"; }

141

File Program Utama

Bab 8

$tanggal=mktime(0,0,0, $b, $t, $y); if($lama <= $data[$array]){

Sebelum data dimasukkan ke dalam database, maka data yang dikirim akan diperiksa terlebih dahulu menggunakan fungsi if dengan jalan memeriksa apakah pengajuan cuti yang terkirim adalah cuti tahunan atau cuti besar. Kemudian dari hasil pemeriksaan ini disimpan ke dalam variabel $array dan variabel $lama. Script berikutnya digunakan untuk memasukkan data dari formulir pengajuan cuti ke dalam database sesuai dengan jenis cuti yang diambil oleh karyawan tersebut. Berikut adalah potongan script yang berfungsi untuk mengakses dan mengolah data dalam database: $add=mysql_query("INSERT INTO `data_cuti` ( `id` , `nama` , `nik` , `nik_atasan` , `nik_` , `mulai` , `masuk` , `lama` , `jenis` , `alamat` , `alasan` , `catatan` , `tanggal` , `status` , `aktivasi` ) VALUES ( '', '$data[nama]', '$data[nik]', '$data[nik_atasan]', '$data[nik_]', '$t / $b / $y', '', '$lama', '$array', '$alamat', '$alasan', '', '$tanggal', '0', '0' )");

Data yang telah dikirim dari formulir pengajuan cuti tersebut kemudian disimpan ke dalam database data_cuti menggunakan query database yaitu mysql_query(insert into database).

Perintah berikutnya adalah fungsi if dan fungsi echo yang digunakan untuk menampilkan tag-tag html pada browser dengan isi komentar bahwa data pengajuan cuti telah terkirim ke database atau gagal dikirim karena ada kesalahan pengisian formulir. Berikut adalah tampilan halaman proses_pengajuan cuti.php apabila seorang karyawan telah mengisi formulir pengajuan cuti online:

142

Bab 8

File Program Utama

Gambar 8.7 Tampilan halaman persetujuan pengajuan cuti.

Pada halaman ini ditampilkan komentar bahwa data pengajuan cuti telah terkirim dan juga ditampilkan dua buah tombol, yaitu tombol Halaman member apabila ditekan maka akan dibawa ke halaman data karyawan dan apabila ditekan tombol keluar akan dialihkan ke file keluar.php yang fungsinya untuk menghapus data sesi.

 PROSES PERSETUJUAN PENGAJUAN CUTI Yang memberikan persetujuan cuti ini tentunya adalah seorang atasan dari karyawan yang mengajukan cuti. Proses pemberian persetujuan cuti pun dalam proyek ini akan dilakukan dengan sistem online, artinya persetujuan dapat diberikan melalui website dari jarak yang jauh dan tanpa harus bertemu dengan karyawan yang mengajukan cuti. Inilah yang dimaksud dengan sistem manajemen informasi online melalui internet. Keuntungan dengan adanya sistem ini adalah : 1.

Untuk mengajukan cuti, seorang karyawan tidak perlu mendatangi ruang atau kantor atasannya. Apalagi apabila lokasi kantor tidak terletak dalam satu area, misalkan ada kantor pusat 143

File Program Utama

2. 3. 4.

Bab 8

yang ada di kota A dan ada beberapa kantor cabang yang berlokasi di luar daerah. Pengajuan dan persetujuan cuti dapat dilakukan secara realtime, artinya apabila dilakukan pada saat itu maka akan ditampilkan pada saat itu juga.

Pencatatan atau istrasi pengajuan cuti dapat diarsipkan dengan aman dan rapi tanpa ada kemungkinan rusak atau tertinggal di tempat lain.

Kemudahan bagi seorang kepala bagian atau seorang atasan untuk melihat status karyawan bawahannya tanpa harus mencari-cari buku arsip. Untuk melihat atau mengontrol istrasi cuti cukup dengan membuka halaman website cuti online dan dapat dilihat informasi yang up to date.

Langkah-langkah yang dilakukan oleh seorang atasan untuk melihat dan memberikan persetujuan pengajuan cuti oleh karyawannya adalah :

1. Seorang atasan pertama adalah harus membuka halaman website cuti online dan melakukan untuk melihat data karyawan dibawahnya.

2. Setelah melakukan , maka akan ditampilkan data karyawan bawahannya baik karyawan yang aktif, sedang cuti maupun yang mengajukan cuti. Berikut adalah gambar tampilan data karyawan yang diakses oleh kepala bagian atau atasan:

144

Bab 8

File Program Utama

Klik disini untuk memberi persetujuan

Gambar 8.8 Tampilan halaman data karyawan.

Pada halaman data karyawan ini akan ditampilkan data karyawan yang hanya karyawan bawahannya. Selain itu juga ditampilkan status karyawan yang ditampilkan di tabel bawah, yaitu data karyawan cuti. Pada bagian keterangan akan ditampilkan keterangan baru, artinya karyawan tersebut sedang mengajukan cuti dan belum diputuskan disetujui atau tidak. Untuk memberi persetujuan, maka seorang atasan harus membuka link baru tersebut. Apabila karyawan tersebut disetujui, maka akan ditampilkan pada bagian keterangan sedang cuti dan apabila tidak disetujui maka data karyawan cuti tersebut akan dihapus dari tabel data karyawan cuti tersebut. Berikut tampilan halaman untuk menyetujui pengajuan karyawan cuti oleh atasan:

145

File Program Utama

Bab 8

Gambar 8.9 Tampilan halaman formulir persetujuan pengajuan cuti.

Pada halaman persetujuan ini ditampilkan data pengajuan cuti yang diambil dari pembacaan database data_cuti. Pada halaman ini juga ditampilkan sebuah formulir persetujuan yang akan diisi oleh karyawan yang mengajukan cuti tersebut. Berikut adalah script yang digunakan untuk menampilkan halaman persetujuan tersebut:

146

Bab 8

File Program Utama

<TITLE>Website Cuti Online

 

   Keluar


147

File Program Utama

Bab 8

$data3=mysql_query("select * from data_karyawan where nik='$d2[nik]'"); $d1=mysql_fetch_array($data3); $data4=mysql_query("select * from karyawan where nik='$d1[nik_atasan]'"); $d4=mysql_fetch_array($data4); echo"








/ / "; $d2[lama]=""; $d2[status]=" Diterima  Ditolak"; $d2[catatan]=""; $act="

150

Bab 8

File Program Utama

"; $submit=" "; } echo"$act

























"; ?> if($d2[status]=="0"){ $d2[status]="Baru"; }elseif($d2[status]=="1"){ $d2[status]="Sedang Cuti"; }else{ $d2[status]="Ditolak"; } $dt=explode("/", $d2[mulai]); 149 File Program Utama $dt[2]); Bab 8 $dari=mktime(0,0,0, $dt[1], $dt[0], $lama=$d2[lama]-1; $hs= ($lama * 86400)+$dari; $dt=date("d / m / Y", $hs); $dt=explode("/", $dt); if($d4[hak_akses]=="1"){ $d3[hak_akses]="1"; }else{ $d3[hak_akses]="$d3[hak_akses]"; } if($d3[hak_akses]=="1" && $s=="new"){ $d2[masuk]=" 151 File Program Utama Bab 8 152 Bab 8 File Program Utama "; ?> 153 File Program Utama Bab 8

Halaman Data Karyawan Cuti

     Data Personal

Nama

$d1[nama]

NIK

$d1[nik]

Tingkat

$d1[tingkat]

Jabatan

$d1[jabatan]

Tempat Kerja


148

Bab 8

File Program Utama

margin-top: 2px; margin-bottom: 2px\">$d1[posisi]

NIK Atasan

$d1[nik_atasan]

NIK

$d1[nik_]

 

 

 

Jumlah Cuti yang belum

diambil

Cuti Besar

$d1[besar] Hari

Tahun 2004

$d1[th2004] Hari

Tahun 2005

$d1[th2005] Hari

Tahun 2006

$d1[th2006] Hari

 

 

 

Pengajuan Cuti

Mulai Cuti Tanggal

$d2[mulai]

Selesai Cuti Tanggal

$d2[masuk]

Lama Cuti

$d2[lama] hari

Jenis Cuti Yang Diambil

$d2[jenis]

Alamat Cuti Yang Dapat Dihubungi

$d2[alamat]

Alasan Mengambil Cuti

$d2[alasan]

Pengajuan Cuti Karyawan

$d2[status]

Catatan

$d2[catatan]

 

 


Penjelasan script:

Langkah pertama dalam menyusun script ini adalah membuat kode-kode php yang berfungsi untuk koneksi dan membaca data yang ada dalam database. Berikut adalah potongan kode php yang mempunyai fungsi koneksi dan membaca data dalam database: include"sambung.php"; $data1=mysql_query("select * from karyawan where nik='$nik'"); $d1=mysql_fetch_array($data1);

Bagian kode php yang pertama adalah membaca database karyawan untuk memberikan informasi tentang karyawan yang mengajukan cuti, kemudian ditampilkan menggunakan tag-tag html dalam halaman website. Script php berikutnya adalah bagian yang berfungsi untuk membaca data yang ada dalam database data_cuti sebagai syarat untuk membaca database karyawan. Berikut adalah potongan dari script untuk membaca data_cuti: $data2=mysql_query("select * from data_cuti where id='$id'"); $d2=mysql_fetch_array($data2); $data3=mysql_query("select * from karyawan where nik='$d2[nik]'"); $d1=mysql_fetch_array($data3); $data4=mysql_query("select * from karyawan where

154

Bab 8

File Program Utama

nik='$d1[nik_atasan]'"); $d4=mysql_fetch_array($data4); $acc="Belum disetujui"; }

Tujuan dari script di atas adalah untuk membaca data yang ada dalam database data_cuti berdasarkan nik dan nik atasan yang diabmil dari database karyawan. Data tang telah dibaca dengan script di atas kemudian di tampilkan menggunakan tag-tag html berikutnya. Namun pada beberapa bagian tampilan data dibutuhkan script php untuk menyaring data yang akad ditampilkan antara lain adalah membedakan status dari pengajuan cuti tersebut, misalkan dengan status 0 maka pengajuan cuti tersebut masih baru dan belum di periksa oleh atasan dan apabila status data cuti tersebut 1 maka pengajuan cuti ditolak dan apabila status cuti tersebut 2 maka pengajuan cuti telah diterima. Berikut adalah script yang digunakan untuk memeriksa data tersebut: if($d2[status]=="0"){ $d2[status]="Baru"; }elseif($d2[status]=="1"){ $d2[status]="Sedang Cuti"; }else{ $d2[status]="Ditolak"; }

Script berikutnya adalah fungsi-fungsi yang digunakan untuk mengolah data waktu. Berikut adalah potongan script tersebut : $dt=explode("/", $d2[mulai]); $dari=mktime(0,0,0, $dt[1], $dt[0], $dt[2]); $lama=$d2[lama]-1; $hs= ($lama * 86400)+$dari; $dt=date("d / m / Y", $hs); $dt=explode("/", $dt); if($d4[hak_akses]=="1"){ $d3[hak_akses]="1";

155

File Program Utama

Bab 8

}else{ $d3[hak_akses]="$d3[hak_akses]"; }

Dalam potongan script di atas yang pertama adalah menggunakan fungsi explode untuk memecah data string hasil pembacaan field mulai dari database data_cuti. Hasil dari fungsi explode ini adalah data dalam bentuk data array. Kemudian data array ini dijadikan data sumber untuk menciptakan data waktu mikro menggunakan fungsi mktime(). Hasil dari fungsi ini adalah jumlah detik dari tanggal 1 januari 1970 jam 00:00:00 (ditetapkan oleh program php). Dengan menciptakan data waktu mikro ini diharapkan dapat dioperasikan dengan penjumlahan lama hari dan mulai pengajuan cuti. Variabel $hs mempunyai nilai lama hari cuti dalam bentuk hitungan detik, jadi pada script tersebut dituliskan lama cuti dalam bentuk hari dari pembacaan database data_cuti kemudian dikalikan dengan jumlah detik dalam satu hari yaitu 86400 detik. Hasilnya kemudian di tambah dengan data waktu dalam detik dari penggunaan fungsi mktime(). Sebelum ditampilkan ke dalam halaman website data tersebut harus dikonversikan dalam format data tanggal dengan menggunakan fungsi data() dan dipisah lagi sehingga menghasilkan data tanggal bulan dan tahun menggunakan fungsi explode. Proses selanjutnya adalah menampilkan data tersebut menyatu dengan tag-tag html sesuai dengan lokasi data akan ditampilkan. 3. Langkah pemberian persetujuan yang ketiga adalah seorang atasan harus mengisi formulir pesetujuan beserta catatan yang ada dalam bagian formulir dan yang terakhir adalah menekan tombol persetujuan cuti.

 SCRIPT PENGOLAH DATA PERSETUJUAN

CUTI

Data yang terkirim dari formulir persetujuan cuti yang dikirim oleh seorang atasan dari formulir tanggapan persetujuan, kemudian dikirim ke file yang berisi script pengolah data persetujuan ini. File ini diberi nama proses_persetujuan.php. 156

Bab 8

File Program Utama

Berikut adalah script yang digunakan untuk mengolah data persetujuan cuti dalam file proses_persetujuan.php : Pengajuan cuti yang Anda tulis telah terkirim

ke dalam database. Untuk melihat persetujuan Cuti Anda,
Silakan kembali beberapa jam lagi.

 


\"Halamana href=\"keluar.php\">

157

File Program Utama

Bab 8

border=\"0\" id=\"img2\" src=\"images/button22.gif\" height=\"20\" width=\"125\" alt=\"Keluar\">

  
 

 



158

Bab 8

File Program Utama



Penjelasan script:

Pada dasarnya script ini adalah berfungsi untuk mengolah data yang dikirim dari formulir persetujuan cuti. Data dari persetujuan cuti yang diisi oleh atasan ini akan dimasukkan ke dalam database data_cuti dan merubah status karyawan dari 0 (sedang aktif) menjadi 1 (sedang cuti) dalam database karyawan. Susunan script yang pertama adalah cek keberadaan data sesi dengan menggunakan file cek.php dengan memanggilnya menggunakan fungsi include. Kemudian melakukan koneksi ke database dengan cara memanggil file koneksi yaitu sambung.php menggunakan fungsi include. Berikut adalah potongan script pertama dalam file ini yang berfungsi seperti yang dijelaskan di atas: include"cek.php"; include"sambung.php"; $d=mysql_query("select * from karyawan where nik='$nik'"); $data=mysql_fetch_array($d);

Data yang dibaca dari database karyawan tersebut kemudian diperiksa, apakah data cuti yang diambil cuti tahuan atau cuti besar menggunakan fungsi if seperti pada potongan script di bawah ini: $year=date("Y"); if($jenis=="besar"){ $array="$jenis"; $lama=45; }else{ $array="th$year";

159

File Program Utama

Bab 8

} $tanggal=mktime(0,0,0, $b, $t, $y);

Langkah berikutnya dalam script ini adalah mengirimkan data dari formulir ke dalam database. Berikut adalah potongan script yang berfungsi untuk mengirim data dalam database : $add=mysql_query("INSERT INTO `data_cuti` ( `id` , `nama` , `nik` , `nik_atasan` , `nik_` , `mulai` , `masuk` , `lama` , `jenis` , `alamat` , `alasan` , `catatan` , `tanggal` , `status` , `aktivasi` ) VALUES ( '', '$data[nama]', '$data[nik]', '$data[nik_atasan]', '$data[nik_]', '$t / $b / $y', '', '$lama', '$array', '$alamat', '$alasan', '', '$tanggal', '0', '0' )");

Untuk memasukkan data ke dalam database data_cuti menggunakan query dari mysql, yaitu mysql_query(insert into data_cuti (field) values (value); Penempatan urutan field dan data yang akan dimasukkan harus sesuai, misalkan field nama berada diurutan kedua, maka untuk data yang akan dimasukkan juga harus di urutan kedua dalam bagian value. Berikut adalah tampilan halaman proses data persetujuan cuti setelah pengajuan cuti disetujui menggunakan tag-tag html:

Gambar 8.10 Tampilan halaman persetujuan pengajuan cuti.

160

Bab 8

File Program Utama

 HALAMAN

KONFIRMASI CUTI KARYAWAN

PERSETUJUAN

Halaman persetujuan ini ditujukan untuk karyawan yang telah mengajukan cuti. Data karyawan yang telah mengajukan cuti dan telah ditanggapi oleh atasannya akan disimpan ke dalam halaman persetujuan ini. Halaman ini hanya dapat diakses oleh karyawan yang mengajukan cuti tersebut. Data yang ada dalam halaman ini adalah data tentang cuti yang diajukan dan persetujuan cuti yang telah diberikan oleh atasannya, baik disetujui atau ditolak. Untuk melihat hasil tanggapan pengajuan cuti ini, seorang karyawan harus terlebih dahulu dan menekan tombol persetujuan cuti yang ada di bagian atas halaman keanggotaan. Berikut adalah tampilan dan posisi tombol persetujuan cuti dalam halaman keanggotaan: Tombol untuk melihat persetujuan cuti

Gambar 8.11 Tombol untuk menampilkan halaman persetujuan cuti.

Berikut adalah script yang berfungsi untuk mengakses database data_cuti dan data karyawan sekaligus menampilkan pada halaman persetujuan menggunakan tag-tag html :
161

File Program Utama

Bab 8

include"sambung.php"; $data1=mysql_query("select * from karyawan where nik='$nik'"); $d1=mysql_fetch_array($data1); ?> <TITLE>Website Cuti Online









167 File Program Utama Bab 8
















162 Bab 8 File Program Utama "; $data2=mysql_query("select * from data_cuti where nik='$nik' and aktivasi<>'-' order by id desc limit 1"); while($d2=mysql_fetch_array($data2)){ if($d2[status]=="1"){ $acc="Cuti Diterima"; }elseif($d2[status]=="2"){ $acc="Cuti Ditolak"; $d2[lama]="-"; $d2[masuk]="-"; }else{ $acc="Belum disetujui"; } echo" 166 Bab 8 File Program Utama "; } ?>
 

Keluar

Halaman Persetujuan Cuti

     Data Personal

Nama

$d1[nama]

NIK

$d1[nik]

Tingkat

$d1[tingkat]

Jabatan

$d1[jabatan]

Tempat Kerja

$d1[posisi]

NIK Atasan

$d1[nik_atasan]

NIK


163

File Program Utama

Bab 8

2px\">$d1[nik_]

 

 

 

Jumlah Cuti yang belum diambil

Cuti Besar

$d1[besar] Hari

Tahun 2004

$d1[th2004] Hari

Tahun 2005

$d1[th2005] Hari

Tahun 2006

$d1[th2006] Hari

 



164

Bab 8

File Program Utama

 

 

Persetujuan Cuti

Pengajuan Cuti Anda

$acc

Mulai Cuti Tanggal

$d2[mulai]


165

File Program Utama

Bab 8

2px\">Selesai Cuti Tanggal

$d2[masuk]

Lama Cuti

$d2[lama] hari

Jenis Cuti Yang Diambil

 $d2[jenis]

Alamat Cuti Yang Dapat Dihubungi

$d2[alamat]

Alasan Mengambil Cuti

$d2[alasan]

Catatan

$d2[catatan]

 

 

 

Cetak dan Aktivasi

Tampilan Cetak

Tampilan cetak digunakan untuk menampilkan data atau persetujuan pengajuan cuti, kemudian dicetak ke dalam bentuk cetakan kertas.

\"Tampilan

Aktivasi

Apabila Anda mulai aktif kembali atau mengakhiri cuti, Anda dapat mengaktifkan data cuti Anda dengan meng-klik tombol aktivasi
\"Aktivasi\"

   

 

 

 


Penjelasan script: Langkah pertama dalam menyusun script ini adalah membuat kodekode php yang berfungsi untuk koneksi dan membaca data yang ada dalam database. Berikut adalah potongan kode php yang berfungsi untuk koneksi dan membaca data dalam database: include"sambung.php"; $data1=mysql_query("select * from karyawan where nik='$nik'"); $d1=mysql_fetch_array($data1);

Bagian kode php yang pertama adalah membaca database karyawan untuk memberikan informasi tentang karyawan yang mengajukan cuti, kemudian ditampilkan menggunakan tag-tag html dalam halaman website.

Script php berikutnya adalah bagian yang berfungsi untuk membaca data yang ada dalam database data_cuti. Berikut adalah potongan dari script untuk membaca data_cuti: $data2=mysql_query("select * from data_cuti where nik='$nik' and aktivasi<>'-' order by id desc limit 1"); while($d2=mysql_fetch_array($data2)){ if($d2[status]=="1"){ $acc="Cuti Diterima"; }elseif($d2[status]=="2"){ $acc="Cuti Ditolak"; $d2[lama]="-"; $d2[masuk]="-"; }else{ $acc="Belum disetujui"; }

168

Bab 8

File Program Utama

Tujuan dari script di atas adalah untuk membaca data yang ada dalam database data_cuti berdasarkan nik dan aktivasi tidak sama dengan “-“. Hasil pembacaan data dari database data_cuti kemudian diurutkan berdasarkan id. Pada halaman tampilan data karyawan cuti ini akan dibedakan berdasarkan dengan status karyawan masingmasing, yaitu apabila mempunyai status 1 maka karyawan tersebut dinyatakan cuti diterima, kemudian untuk kode status 2 maka permohonan cuti karyawan dinyatakan ditolak. Apabila data yang ada dalam field status selain 1 dan 2 maka akan dinyatakan pengajuan cuti belum disetujui. Data yang telah dibaca akan ditampilkan ke dalam sebuah halaman website menggunakan fungsi echo dengan tagtag html. Berikut adalah tampilan halaman persetujuan cuti yang akan diakses oleh masing-masing karyawan yang mengajukan cuti: Keterangan persetujuan cuti

Gambar 8.12 Halaman persetujuan cuti.

169

File Program Utama

Bab 8

Pada halaman ini akan diinformasikan beberapa bagian, yaitu data pribadi karyawan, jumlah cuti yang belum diambil dan persetujuan cuti yang telah diajukan kepada atasannya. Di bagian bawah dari halaman ini ditampilkan dua tombol yaitu tombol tampilan cetak dan tombol aktivasi. Tombol tampilan cetak digunakan untuk menampilkan data dari halaman persetujuan cuti ini apabila ingin dicetak ke dalam kertas. Tombol yang kedua adalah tombol aktivasi yaitu digunakan untuk menginformasikan bahwa karyawan tersebut telah aktif kembali. Proses aktivasi atau berakhirnya masa cuti karyawan tidak perlu lagi menemui atasannya, namun cukup menekan tombol aktivasi oleh karyawan itu sendiri.

Setelah karyawan aktif kembali, seorang atasan tinggal memeriksa status karyawan yang telah aktif kembali dari website online tersebut.

 TAMPILAN CETAK PERSETUJUAN CUTI Tampilan cetak ini hanya digunakan untuk menampilkan format cetak untuk halaman persetujuan cuti. Kadang seorang membutuhkan arsip data dalam bentuk cetakan kertas. Dari alasan tersebut di atas maka halaman persetujuan cuti format cetak ini dibuat. Berikut adalah script yang digunakan untuk menyusun halaman tampilan cetak persetujuan cuti :
170

Bab 8

File Program Utama

$d4=mysql_query("select * from karyawan where nik='$data[nik_]'"); $data4=mysql_fetch_array($d4); if($data2[status]=="1"){ $kep="Disetujui"; $data2[lama]=$data2[lama]; $mulai="$data2[mulai] s/d $data2[masuk]"; }else{ $kep="Tidak Disetujui"; $data2[lama]="-"; $mulai ="-"; } ?> Laporan Cuti Karyawan 154q1y
 


PERMOHONAN / LAPORAN CUTI KARYAWAN

 

 

A. DATA PEGAWAI









173 File Program Utama Bab 8 "; ?>

1.  N a m a / NIK

:

171

File Program Utama

Bab 8

$data[nama]  /  $data[nik]

2. Tingkat

: $data[tingkat]

3. Jabatan

: $data[jabatan]

4. Tempat Bekerja

: Area $data[posisi]

5. Lama Cuti

: $data2[lama] hari kerja

6. Alamat Cuti

: $data2[alamat]

7. Alasan Cuti  *)

: $data2[alasan]

 

 

Madiun, $data2[tanggal]
Pemohon,



172

Bab 8

File Program Utama

 

 

$data[nama]
NIK : $data[nik]
 

B. CATATAN PEJABAT KEPEGAWAIAN

$data2[catatan]

<span style=\"text-transform: uppercase\">ss.

 

 

$data4[nama]
 NIK :$data[nik_]
 

C. KEPUTUSAN / PENETAPAN PEJABAT YANG BERWENANG

     $kep            selama :     ( $data2[lama] ) hari kerja
     Mulai tanggal    $mulai

 

 


Pejabat yang berwenang

 

 

 

$data3[nama]
NIK : $data[nik_atasan]

   

 

 

*) Diisi untuk Cuti Alasan Penting
    dan Cuti diluar Tanggungan Perusahaan.


  REVISI : 01

01 - 09 - 1999



Penjelasan script:

Pada dasarnya script ini hanya berfungsi untuk membaca data persetujuan cuti dalam database kemudian ditampilkan ke dalam halaman html sederhana. Halaman ini hanya menampilkan data teks tanpa grafis yang rumit dan bermacam-macam warna. Tujuan dari halaman ini dibuat hanya digunakan untuk dicetak ke dalam kertas. Berikut adalah tampilan halaman cetak persetujuan cuti: 174

Bab 8

File Program Utama

Gambar 8.13 Halaman tampilan cetak persetujuan cuti.

175

File Program Utama

Bab 8

Untuk mencetak halaman ini menjadi sebuah arsip, cukup sederhana dan tidak perlu program yang lain. Yaitu setelah halaman ditampilkan kemudian pilih menu File dan pilih menu Print, sehingga akan ditampilkan jendela print seperti pada gambar di bawah ini :

Gambar 8.14 Jendela Print.

Langkah berikutnya adalah tekan tombol Print pada jendela Print tersebut, apabila printer sudah siap maka proses mencetak ke dalam kertas akan segera dijalankan.

 AKTIVASI KARYAWAN CUTI Untuk kembali aktif atau mengakhiri masa cuti dapat dilakukan sendiri oleh karyawan yang sedang cuti tersebut. Langkah yang harus 176

Bab 8

File Program Utama

dilakukan oleh karyawan yang sedang cuti dan akan aktif kembali adalah membuka halaman persetujuan cuti, kemudian menekan tombol aktivasi yang ada di bawah dari halaman tersebut. Setelah menekan tombol tersebut, maka akan diarahkan ke halaman aktivasi. Berikut adalah script yang digunakan untuk menampilkan halaman aktivasi tersebut : <TITLE>Website Cuti Online









"; $data2=mysql_query("select * from data_cuti where nik='$nik' order by id desc limit 1"); while($d2=mysql_fetch_array($data2)){ if($d2[status]=="1"){ $acc="Cuti Diterima"; }elseif($d2[status]=="2"){ $acc="Cuti Ditolak"; $d2[lama]="-"; $d2[masuk]="-"; }else{ $acc="Belum disetujui"; } echo" 180 Bab 8 File Program Utama
 

  

177

File Program Utama

Bab 8

src="images/buttonA.gif" height="20" width="150" alt="Keluar" >

Halaman Aktivasi

     Data Personal

Nama

$d1[nama]

NIK

$d1[nik]

Tingkat

$d1[tingkat]

Jabatan

$d1[jabatan]

Tempat Kerja

$d1[posisi]



178

Bab 8

File Program Utama

NIK Atasan

$d1[nik_atasan]

NIK

$d1[nik_]

 

 

 

Jumlah Cuti yang belum diambil

Cuti Besar

$d1[besar] Hari

Tahun 2004

$d1[th2004] Hari

Tahun 2005

$d1[th2005]Hari

Tahun 2006

$d1[th2006]Hari

 

 


179

File Program Utama

Bab 8

2px\"> 

Aktivasi

Mulai cuti tanggal

$d2[mulai]

Aktif kembali pada tanggal

$d2[masuk]

Jumlah Cuti

$d2[lama]

   

 

"; } ?>
 


Penjelasan script:

Dengan script ini akan ditampilkan sebuah halaman yang menginformasikan tentang karyawan dan data cuti yang sedang berjalan. Script pertama adalah membaca database tentang karyawan tersebut yaitu pada bagian potongan script paling awal dari script ini. include"cek.php"; include"sambung.php"; $data1=mysql_query("select * from karyawan where nik='$nik'"); $d1=mysql_fetch_array($data1);

Seperti script sebelumnya adalah untuk melakukan koneksi dengan database adalah menggunakan file sambung.php. Kemudian untuk membaca data karyawan menggunakan query mysql. Untuk menampilkan pada browser dalam script di atas adalah menggunakan tag-tag html. Yang perlu diperhatikan dalam halaman ini adalah tombol aktif kembali pada bagian bawah dari halaman ini. Tombol ini dibuat dengan tag html khususnya menggunakan form. Berikut adalah tampilan halaman aktivasi setelah mengakhiri masa cuti :

181

File Program Utama

Bab 8

Gambar 8.15 Halaman aktivasi.

Perhatikan pada bagian bawah halaman aktivasi ini, yang menampilkan tombol dari obyek formulir yang namanya adalah AKTIF KEMBALI. Tombol tersebut digunakan untuk memberikan informasi bahwa karyawan yang sedang cuti mulai aktif kembali. 182

Bab 8

File Program Utama

Setelah tombol tersebut ditekan, maka akan diarahkan ke file prosesaktivasi.php sebagai file yang memproses data karyawan untuk mengubah status cuti menjadi aktif kembali. Berikut script yang ada dalam file prosesaktivasi.php : <meta http-equiv="Content-Language" content="en-us"> <TITLE>Website Cuti Online <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252"> <style> <script language="JavaScript">
183

File Program Utama

Bab 8

elm.$src=elm.src; elm.src=args[n+1]; } } } function FP_getObjectByID(id,o) {//v1.0 var c,el,els,f,m,n; if(!o)o=document; if(o.getElementById) el=o.getElementById(id); else if(o.layers) c=o.layers; else if(o.all) el=o.all[id]; if(el) return el; if(o.id==id || o.name==id) return o; if(o.childNodes) c=o.childNodes; if(c) for(n=0; n

 

184

Bab 8

File Program Utama

 

 

Terimakasih, Anda telah aktif kembali



Keluar

 


Penjelasan script: Script inti dalam halaman ini adalah kode html yang ada di awal script, yaitu: include"cek.php"; include"sambung.php";

185

File Program Utama

Bab 8

$update=mysql_query("update data_karyawan set status='0' where nik='$nik'"); $update1=mysql_query("update data_cuti set aktivasi='-' where id='$id'");

Script ini berfungsi untuk merubah status karyawan dalam database karyawan yaitu field status menjadi 0 dan juga mengubah data cuti yang ada dalam database data_cuti pada field aktivasi dengan nilai “-“. Untuk script berikutnya adalah menampilkan informasi konfirmasi bahwa aktivasi telah dijalankan. Setelah tombol aktivasi ditekan maka akan ditampilkan halaman konfirmasi seperti pada gambar berikut:

Gambar 8.16 Halaman konfirmasi aktivasi.

 SCRIPT UNTUK MENGGANTI Dalam proyek istrasi pengajuan cuti online karyawan ini juga menyediakan fasilitas untuk mengganti oleh tiap-tiap karyawan yang bersangkutan. Hal ini dilakukan untuk memberikan privasi karyawan yang bersangkutan atas data pribadi masingmasing. Untuk mengganti , seorang karyawan harus melakukan terlebih dahulu. Pada halaman data karyawan ini 186

Bab 8

File Program Utama

akan ditampilkan sebuah formulir untuk mengganti di bawah halaman ini. Berikut adalah tampilan formulir untuk mengganti tersebut:

Gambar 8.17 Formulir untuk mengganti .

Pada formulir ini akan otomatis terisi data yang telah ada sebelumnya. Untuk mengganti , seorang karyawan cukup mengisi baru pada kotak isian ini dan menekan tombol “Klik disini untuk ubah Anda” yang berada di sebelah kanan kotak isian . Berikut adalah potongan script yang digunakan untuk membuat formulir ganti tersebut:



187

File Program Utama

Bab 8

style=\"margin-right: 10px; margin-top: 2px; margin-bottom: 2px\">

  ”; ?>

Penjelasan script: Script di atas dibentuk dengan tag-tag html dan ditampilkan dengan kode php. Pada script formulir ini mengandung beberapa obyek, yang pertama adalah action dengan nilai ubah_.php. Artinya apabila tombol submit ditekan maka data yang diisikan dalam formulir akan dikirim ke halaman ubah_.php. Obyek berikutnya adalah kotak teks dengan nama . Kotak teks ini mempunyai nilai atau value data yang diambil dari pembacaan database karyawan yang bersangkutan. Obyek lain yang ada dalam formulir tersebut adalah submit yang akan menjadi sebuah tombol dan sebuah obyek hidden yang mempunyai nilai nik dari karyawan tersebut. Setelah baru diketik kemudian data baru tersebut akan dikirim ke halaman ubah_.php dengan script pengolah data seperti di bawah ini:

188

Bab 8

File Program Utama

<TITLE>Website Cuti Online


\"\"
 

 

Anda telah diubah menjadi
$

 

Untuk kembali ke halaman data karyawan
Klik tombol berikut ini

\"LANJUT\"

 
\"\"
"; } ?>

Penjelasan script:

Inti dari script di atas adalah mengubah data lama yang ada dalam database karyawan diganti dengan baru yang dikirim 189

File Program Utama

Bab 8

dari formulir ubah . Script yang berfungsi untuk mengubah data tersebut adalah: include"./sambung.php"; $edit=mysql_query("update karyawan set ='$' where nik='$id'");

Perintah yang digunakan adalah update dengan tujuan mengubah isi dari database karyawan pada field dengan nilai baru dari formulir $ dengan filter atau syarat field nik adalah nilai dari variabel $id.

Setelah proses mengubah data lama dengan data yang baru, maka pada halaman ini akan ditampilkan konfirmasi bahwa data telah diubah dengan data yang baru seperti pada gambar berikut :

Gambar 8.18 Konfirmasi bahwa telah diubah..

 ARSIP CUTI TIAP KARYAWAN Data cuti yang pernah diambil oleh tiap karyawan akan disimpan di dalam database sebagai arsip dan laporan di tiap akhir periode. Data arsip cuti ini hanya dapat diakses oleh atasan, kepala bagian dan karyawan itu sendiri. Cara mengakses data arsip cuti ini adalah setiap karyawan harus dan menekan tombol arsip cuti yang ada

190

Bab 8

File Program Utama

di menu atas pada halaman data karyawan. Halaman arsip cuti karyawan ini menampilkan data cuti yang pernah diambil berdasarkan waktu pengambilan cuti. Berikut adalah script yang digunakan untuk menampilkan halaman arsip cuti karyawan: <TITLE>Website Cuti Online

 

  Keluar


191

File Program Utama

Bab 8

$d1[status]="Aktif"; }else{ $d1[status]="Cuti"; } echo"







"; ?> 194 Bab 8 File Program Utama

Data cuti yang pernah diambil

     DataPersonal

Nama

$d1[nama]

NIK

$d1[nik]

Tempat Kerja

$d1[posisi]

 

 

 



192

Bab 8

File Program Utama

Jumlah cuti yang belum diambil

Cuti Besar

$d1[besar] Hari

Tahun 2004

$d1[th2004] Hari

Tahun 2005

$d1[th2005] Hari

Tahun 2006

$d1[th2006] Hari

 

 

 

Arsip cuti yang pernah diambil

Untuk melihat data cuti secara lengkap, silakan klik pada bagian keterangan (detail) pada masing masing data cuti yang pernah

193

File Program Utama

Bab 8

diambil

"; } ?>

Jenis Cuti

Tanggal Cuti

Jumlah Cuti

Alasan Mengambil Cuti

Keterangan
 $d2[jenis] $d2[mulai] $d2[lama] hari $d2[alasan]

Detail

 

 

 


Penjelasan script: Dalam script ini membaca data personal karyawan dan membaca data cuti yang pernah diambil selama menjadi karyawan dalam setiap periode. Yang pertama dalam script di atas adalah membaca data karyawan yaitu membaca database yang ada dalam database karyawan. Berikut adalah potongan script yang membaca data karyawan tersebut: include"sambung.php"; $data=mysql_query("select * from karyawan where nik='$id'"); $d1=mysql_fetch_array($data); if($d1[status]=="0"){ $d1[status]="Aktif"; }else{ $d1[status]="Cuti"; }

Setelah membaca database karyawan dan menampilkan status aktif atau cuti dengan menggunakan fungsi if, kemudian ditampilkan menggunakan tag-tag html. 195

File Program Utama

Bab 8

Tahap berikutnya adalah membaca data cuti yang ada dalam database data_cuti. Pembacaan data cuti ini berdasarkan field nik, yaitu nik dari karyawan yang sedang membuka halaman tersebut. Data yang telah dibaca kemudian ditampilkan semua. Berikut adalah potongan script yang berfungsi membaca dan menampilkan data arsip cuti tersebut: $data2=mysql_query("select * from data_cuti where nik='$id' and status='1' order by mulai"); while($d2=mysql_fetch_array($data2)){ echo"  $d2[jenis]$d2[mulai] $d2[lama] hari $d2[alasan]

Detail "; }

Script di atas yang pertama adalah membaca database data_cuti dengan menggunakan perintah query select berdasarkan field nik adalah id dan field status bernilai 1. Pembacaan data diurutkan berdasarkan field mulai. Untuk menampilkan data sera berurutan dan berulang-ulang sampai data dibaca dan ditampilkan semua menggunakan fungsi while. Data ditampilkan menggunakan tag-tag html yang ada dalam fungsi while. Berikut adalah tampilan halaman arsip cuti tiap-tiap karyawan:

196

Bab 8

File Program Utama

Gambar 8.19 Halaman arsip cuti karyawan.

Perhatikan pada tampilan halaman arsip cuti tersebut, bagian atas dari halaman ini ditampilkan data personal dari karyawan yangh bersangkutan dan bagian bawah ditampilkan daftar cuti yang pernah diambil. Tiap-tiap arsip cuti pada bagian keterangan adalah sebuah link yang digunakan untuk membuka keterangan detail ditiap-tiap data cuti.

 HALAMAN DETAIL ARSIP CUTI Yang disebut dengan halaman detail cuti dalam proyek ini adalah sebuah halaman yang menampilkan data secara detail pada tiap-tiap cuti yang pernah diambil oleh seorang karyawan. Halaman ini dapat dibuka apabila seorang karyawan yang sudah membuka halaman arsip cuti. Setelah ditampilkan halaman data arsip cuti kemudian dalam tiap data cuti dapat dilihat sebuah link yang ada di bagian keterangan. Dengan menekan link ini maka akan ditampilkan halaman detail cuti dari arsip cuti.

197

File Program Utama

Bab 8

Berikut adalah script yang digunakan untuk membuat halaman detail cuti tersebut: <meta http-equiv="Content-Language" content="en-us"> <TITLE>Website Cuti Online <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252"> <style> <script language="JavaScript">
function FP_swapImg() {//v1.0 var doc=document,args=arguments,elm,n; doc.$imgSwaps=new Array(); for(n=2; n<args.length; n+=2) { elm=FP_getObjectByID(args[n]); if(elm) { doc.$imgSwaps[doc.$imgSwaps.length]=elm; elm.$src=elm.src; elm.src=args[n+1]; } } }

198

Bab 8

File Program Utama

function FP_getObjectByID(id,o) {//v1.0 var c,el,els,f,m,n; if(!o)o=document; if(o.getElementById) el=o.getElementById(id); else if(o.layers) c=o.layers; else if(o.all) el=o.all[id]; if(el) return el; if(o.id==id || o.name==id) return o; if(o.childNodes) c=o.childNodes; if(c) for(n=0; n










209 File Program Utama Bab 8





Nama








Jabatan








/ / "; $d2[lama]=""; $d2[status]=" Diterima  Ditolak"; $d2[catatan]="
204

Bab 8

File Program Utama

font-size: 12pt; color: #000080\">"; $act=" "; $submit=" "; } echo"$act








Tahun 2005




Jenis Cuti Yang Diambil









bgcolor=\"#F5DDB8\" align=\"right\"> 201 File Program Utama bgcolor=\"#F5DDB8\" align=\"right\"> Bab 8 "; ?> 203 File Program Utama Bab 8 $d2[status]="Ditolak"; } $dt=explode("/", $d2[mulai]); $dari=mktime(0,0,0, $dt[1], $dt[0], $dt[2]); $lama=$d2[lama]-1; $hs= ($lama * 86400)+$dari; $dt=date("d / m / Y", $hs); $dt=explode("/", $dt); if($d4[hak_akses]=="1"){ $d3[hak_akses]="1"; }else{ $d3[hak_akses]="$d3[hak_akses]"; } if($d3[hak_akses]=="1" && $s=="new"){ $d2[masuk]=" 205 File Program Utama bgcolor=\"#F5DDB8\" align=\"right\"> Bab 8 bgcolor=\"#F5DDB8\" align=\"right\"> 208 Bab 8 File Program Utama "; ?>
 







199 File Program Utama Bab 8

   Keluar

Halaman Data Karyawan Cuti

     Data

200

Bab 8

File Program Utama Personal

$d1[nama]

NIK

$d1[nik]

Tingkat

$d1[tingkat]

$d1[jabatan]

Tempat Kerja

$d1[posisi]

NIK Atasan

$d1[nik_atasan]


202

Bab 8

File Program Utama

margin-top: 2px; margin-bottom: 2px\"> NIK

$d1[nik_]

 

 

 

Jumlah Cuti yang belum diambil

Cuti Besar

$d1[besar] Hari

Tahun 2004

$d1[th2004] Hari

$d1[th2005] Hari

Tahun 2006

$d1[th2006] Hari

 

 


206

Bab 8

File Program Utama

margin-top: 2px; margin-bottom: 2px\"> 

Pengajuan Cuti

Mulai Cuti Tanggal

$d2[mulai]

Selesai Cuti Tanggal

$d2[masuk]

Lama Cuti


207

File Program Utama

Bab 8

top: 2px; margin-bottom: 2px\"> $d2[lama] hari

$d2[jenis]

Alamat Cuti Yang Dapat Dihubungi

$d2[alamat]

Alasan Mengambil Cuti

$d2[alasan]

Pengajuan Cuti Karyawan

$d2[status]

Catatan

$d2[catatan]

 

 


Penjelasan script:

Bagian awal script ini adalah membaca database karyawan berdasarkan nik karyawan yang sedang membuka halaman ini. Kemudian data yang telah dibaca dari database karyawan ini ditampilkan kedalam awal halaman sebagai data personal karyawan. Berikut adalah potongan script yang membaca data karyawan tersebut: $data4=mysql_query("select * from karyawan where nik='$nik'"); $d3=mysql_fetch_array($data4);

Script yang perlu diperhatikan lagi adalah bagian yang mendeklarasikan apakah karyawan tersebut berstatus sedang cuti atau sedang aktif. Sumber data yang digunakan untuk menentukan status ini adalah dari database karyawan dan dideklarasikan menggunakan fungsi if. Berikut adalah script yang berfungsi untuk menyaring data status dan mendeklarasikan ke dalam halaman detail_cuti.php: if($d2[status]=="0"){ $d2[status]="Baru"; }elseif($d2[status]=="1"){ $d2[status]="Sedang Cuti"; }else{ $d2[status]="Ditolak"; }

210

Bab 8

File Program Utama

Untuk menampilkan data yang telah dibaca dari database karyawan kemudian ditampilkan dalam browser dengan tag-tag html. Berikut adalah tampilan detail dari halaman detail_cuti karyawan yang bersangkutan:

Gambar 8.20 Halaman detail arsip cuti karyawan.

211

Setiap program dan website membutuhkan fasilitas yang dapat mengelola isi atau data yang ada di dalam program tersebut. adalah atau pengguna yang mempunyai hak akses paling tinggi dalam sebuah program. bertanggungjawab atas data yang ada dalam program tersebut. Fungsi dari ini adalah sebuah solusi pemecahan permasalahan dalam lingkup pengolahan data pada program ini. Misalkan dalam pengisian data karyawan dalam program ini ada kesalahan dan perlu diperbaiki, maka seorang sangat dibutuhkan untuk memperbaiki kesalahan yang terjadi. Script-script disimpan dalam file-file yang disimpan dalam sebuah folder tersendiri diberi nama . File utama dalam folder ini adalah index.php. Apabila file index.php ini dipanggil menggunakan browser, maka akan ditampilkan sebuah halaman yang berisikan formulir untuk . Berikut adalah tampilan halaman index.php sebagai file utama untuk mengakses halaman : 213

Script Halaman

Bab 9

Gambar 9.1. Tampilan halaman utama .

Setiap sebagai yang akan masuk ke halaman harus memasukkan id dan . yang membuka halaman ini harus memiliki hak akses penuh sebagai . Berikut adalah script yang digunakan untuk membentuk halaman index.php: <meta http-equiv="Content-Language" content="en-us"> <TITLE>Website Cuti Online <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252"> <style>
214

Bab 9

Script Halaman

MARGINWIDTH=0 MARGINHEIGHT=0 background="../images/bg.gif">

 

 

ID

:



215

Script Halaman

Bab 9

:

 



 

 


216

Bab 9

Script Halaman

Penjelasan script: Yang perlu diperhatikan dalam menyusun script ini adalah menyusun bagian tag-tag formulir. Pada formulir ini memiliki beberapa obyek yang harus dibuat dengan benar. Yang pertama adalah obyek action, obyek action dalam sebuah formulir adalah parameter yang mempunyai nilai lokasi dan nama file tujuan apabila tombol submit ditekan. Secara otomatis data yang ada dalam obyek-obyek yang lain akan terkirim ke file tujuan tersebut.


Nilai dari obyek action dalam formulir tersebut adalah .php. Artinya apabila id dan telah diisi dan tombol ditekan, maka data yang ada dalam formulir tersebut akan dikirim ke file .php. Obyek yang ke dua adalah kotak teks dengan tipe text dan diberi nama . Obyek ini digunakan untuk menuliskan data id oleh .

Script ini apabila dijalankan pada browser akan membentuk sebuah kotak teks dengan nama . Obyek yang ke tiga adalah kotak teks juga dengan nama . Tipe dari kotak teks ini adalah . Dengan membuat kotak teks dengan tipe ini, maka data yang dituliskan ke dalam kotak teks ini akan ditampilkan dengan karakter tertentu sehingga data tidak terbaca seperti karakter yang diketikkan.

Script ini apabila dijalankan menggunakan browser, maka akan ditampilkan sebagai kotak teks yang akan digunakan untuk menulis . Obyek yang terakhir adalah sebuah tombol dengan tipe submit. Tombol ini digunakan untuk menjalankan formulir sehingga data akan terkirim ke file .php. Tombol submit ini diberi nama

217

Script Halaman

Bab 9

dan memiliki nilai atau value . Nilai dari tombol ini nantinya akan ditampilkan di dalam tombol, yaitu .

Kemudian script formulir ini ditutup dengan tag
sebagai batas akhir dari sebuah formulir.

 HALAMAN Halaman disusun dengan script php dan tag-tag html. Script php dalam halaman ini berfungsi untuk mengakses database dan memanipulasi data yang telah dibaca dari database. Tag-tag html berfungsi untuk menampilkan halaman dan data yang telah diakses dalam bentuk grafis. Pada awal script dalam halaman ini disusun oleh script php yang fungsinya mengakses data dari database . Database digunakan untuk menampung data dan . Berikut adalah script yang ada dalam file .php: <meta http-equiv="Content-Language" content="en-us"> <TITLE>Website Cuti Online

218

Bab 9

Script Halaman

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252"> <style>
{ font-family: arial; color: #000080 }

-->

 

 

 

ID atau yang Anda masukkan salah,

Silakan ulangi lagi




219

Script Halaman

Bab 9

ULANGI
 


Penjelasan script: Pada awal script di atas diawali dengan kode-kode php yaitu fungsi session() yang berfungsi untuk mendeklarasikan bahwa dalam halaman ini mengandung data sesi yang akan diciptakan. Kemudian dibawahnya adalah fungsi include untuk memanggil file sambung.php yang di dalamnya terdapat script untuk koneksi dengan database MySQL. Script berikutnya adalah query SQL yang berfungsi untuk membaca database yaitu data dan untuk . Potongan script tersebut adalah : session_start(); include"../sambung.php"; $=mysql_query("select * from where id='1'"); $2=mysql_fetch_array($);

220

Bab 9

Script Halaman

Data dan hasil pembacaan dari database kemudian disimpan ke dalam beberapa variabel. Jenis data yang dihasilkan adalah data array. Berikut adalah data dan data yang telah dihasilkan : $2[]=””; $2[]=”ku”;

Maksud dari script di atas adalah data yang telah dibaca dari database disimpan di dalam variabel $2[] dengan nilai “” dan data disimpan ke dalam variabel $2[] dengan nilai “ku”. Langkah berikutnya dalam script halaman .php ini akan menyaring atau membandingkan data hasil pembacaan dari database dengan data yang telah dikirim dari formulir dalam halaman index.php (halaman utama ). Fungsi yang digunakan untuk membandingkan kedua data ini adalah fungsi logika if else. Berikut adalah script yang digunakan untuk membandingkan kedua data tersebut dengan fungsi if else : if($==$2[] && $==$2[]){ session_(""); header("location:./.php"); exit; }

Maksud dari potongan script di atas adalah apabila data pada variabel $ dari formulir sama dengan data dalam variabel $2[], dan data yang ada dalam variabel $ sama dengan data yang ada dalam variabel $2[], maka data yang ada dalam variabel $ akan didaftarkan sebagai data sesi dengan fungsi: session_("");

Kemudian dialihkan membuka file .php menggunakan fungsi : header("location:./.php");

Apabila data dan yang dikirim dari formulir tidak sama dengan data hasil pembacaan dari database , maka akan 221

Script Halaman

Bab 9

ditampilkan pesan kesalahan yang disusun dengan tag-tag html dari script dibawahnya, seperti yang tampak pada Gambar 9.2 berikut :

Gambar 9.2 Komentar kesalahan memasukkan pada

 HALAMAN Pada halaman ini ditampilkan beberapa link yang digunakan untuk membuka halaman-halaman yang lain, seperti halaman untuk menambah data karyawan dan halaman untuk mengubah data karyawan. Namun sebelum menampilkan isi dari halaman ini keberadaan data sesi akan diperiksa terlebih dahulu. Hal ini dilakukan untuk menolak lain selain yang akan membuka halaman ini. Script yang digunakan untuk memeriksa keberadaan data sesi ini ada dalam file cek.php. Jadi urutan kerja script dalam halaman ini adalah memanggil file cek.php, berikutnya mengakses database dan menampilkan halaman pada browser. Berikut adalah script yang ada dalam halaman .php:
222

Bab 9

Script Halaman

"> <style>

 

Tambah Data Karyawan



223

Script Halaman

Bab 9

Ubah

Ubah ID dan

ID Baru
BAru
 

224

Bab 9

Script Halaman

name="submit" style="color: #000080; font-family: arial">
">

Keluar

 


Penjelasan script:

Susunan script pada halaman ini diawali dengan kodekode php yang berfungsi sebagai autorisasi keberadaan data sesi. Berikut potongan script php tersebut:

Apabila data sesi ditemukan, maka akan ditampilkan halaman yang berisikan beberapa link dan formulir

225

Script Halaman

Bab 9

untuk mengganti baru dan baru. Berikut adalah tampilan halaman .php:

Gambar 9.3 Halaman .php

 HALAMAN DATA KARYAWAN Halaman data karyawan diakses dari link lihat data karyawan yang ada dalam halaman . Halaman data karyawan ini menampilkan data karyawan dan data cuti yang pernah diambil oleh karyawan secara keseluruhan. Berikut adalah script yang digunakan untuk membentuk halaman data karyawan : <meta http-equiv="Content-Language" content="en-us"> <TITLE>Website Cuti Online <META HTTP-EQUIV="Content-Type" CONTENT="text/html;

226

Bab 9

Script Halaman

charset=windows-1252"> <style>

 














227 Script Halaman Bab 9 "; } ?> 229 Script Halaman Bab 9 #FFFFFF\"> $d2[mulai] "; } ?>

Keluar

Data Karyawan
Nama Jabatan Posisi Status Keterangan
 ".$d1[nama]." ".$d1[jabatan]." ".$d1[posisi]." ".$d1[status]."



228

Bab 9

Script Halaman

HAPUS

         
Data Karyawan Cuti        
Nama N I K Mulai Cuti Jumlah Cuti Keterangan
$d2[nama] $d2[nik] $d2[jumlah] hari

Lihat Detail

 


Penjelasan script:

Struktur dari script halaman data karyawan ini dibentuk oleh kodekode php dan tag-tag html. Script php digunakan untuk mengakses data yang ada dalam database karyawan dan data_cuti, kemudian data tersebut diolah dan ditampilkan di halaman data karyawan menggunakan tag-tag html. Yang perlu diperhatikan dalam script di atas adalah kode-kode php yang berfungsi mengakses dan membaca database karyawan seperti pada potongan script di bawah ini : include"../sambung.php"; $data2=mysql_query("select * from karyawan order by nama"); while($d1=mysql_fetch_array($data2)){ if($d1[status]=="0"){ $d1[status]="Aktif"; }else{

230

Bab 9

Script Halaman

$d1[status]="Cuti"; }

Script bagian ini berfungsi untuk melakukan koneksi dengan database karyawan dan membaca data karyawan. Hasil pembacaan data karyawan ini disimpan ke dalam variabel $d1 dengan tipe data array. Khusus data yang dibaca dari field status akan dijadikan filter untuk menampilkan status karyawan, yaitu sedang aktif atau sedang cuti. Tahap berikutnya adalah menampilkan data hasil pembacaan dari database karyawan ini ke dalam halaman data karyawan dengan cara menyisipkan pada bagian-bagian tag-tag html. Kode php berikutnya adalah digunakan untuk melakukan koneksi dengan database data cuti. Hal ini dilakukan untuk menampilkan seluruh arsip cuti dari seluruh karyawan yang tercatat dalam database.

Berikut adalah kode-kode php yang berfungsi untuk membaca data cuti dan sekaligus menampilkan dalam halaman data karyawan: $data2=mysql_query("select * from data_cuti order by nama"); while($d2=mysql_fetch_array($data2)){ echo" $d2[nama] $d2[nik] $d2[mulai] $d2[jumlah] hari

Lihat Detail"; }

231

Script Halaman

Bab 9

Fungsi yang pertama untuk membaca database menggunakan perintah query dari MySQL. Kemudian data ditampilkan menggunakan fungsi echo yang ada di dalam fungsi while sebagai perintah pengulangan menampilkan data cuti karyawan sebanyak record yang ada dalam database. Berikut adalah tampilan halaman data karyawan tersebut:

Gambar 9.4 Halaman data karyawan .

Jika diperhatikan pada tampilan halaman data karyawan ini setiap bagian keterangan data karyawan ditampilkan link UBAH dan HAPUS. Kedua link tersebut digunakan untuk mengubah data dan menghapus data karyawan yang bersangkutan. Kemudian di bagian data karyawan cuti pada bagian keterangan di masing-masing data karyawan cuti juga ditampilkan sebuah link dengan nama Lihat

232

Bab 9

Script Halaman

Detail dengan tujuan untuk melihat data cuti secara detail dan apabila ada kesalahan, maka dapat diperbaiki oleh .

 UBAH DATA KARYAWAN Halaman ubah data karyawan ini digunakan untuk menampilkan data karyawan tertentu ke dalam formulir dengan tujuan untuk mengubah data yang salah menjadi data yang benar atau baru. Cara membuka halaman ini yaitu dengan membuka link UBAH di sebelah kanan data karyawan pada halaman data karyawan . Berikut adalah script untuk menampilkan halaman ubah data karyawan tersebut: <TITLE>Website Cuti Online










234 Bab 9 Script Halaman
 



233

Script Halaman

Bab 9

Lihat Data
Keluar

Masukkan Data Karyawan

     Data Karyawan

Nama

NIK

Tingkat

Jabatan

Tempat Kerja

<select size=\"1\" name=\"posisi\" style=\"color: #000080; fontfamily: arial; font-size: 12pt\">

NIK Atasan

NIK



235

Script Halaman

Bab 9

Status

Aktif   Cuti

Hak Akses

<select size=\"1\" name=\"akses\" style=\"color: #000080; font-family: arial; font-size: 12pt\">

 

 

 

Jumlah Cuti yang belum diambil

Cuti Besar



236

Bab 9

Script Halaman

Hari

Tahun 2004

Hari

Tahun 2005

Hari

Tahun 2006

Hari

 

 

 

untuk karyawan bersangkutan

 
237

Script Halaman

Bab 9

value=\"$d[]\" maxlength=\"8\">

 

Maksimal 8 karakter

   

 

"; ?>
 


Penjelasan Script: Pada script tersebut banyak didominasi tag-tag html pembentuk formulir. Dalam formulir ini terdapat beberapa obyek, antara lain kotak teks, option dan drop down. Nilai yang ada di dalam masingmasing obyek ini adalah data karyawan yang akan diubah datanya. Data yang ditampilkan tersebut diambil dari database karyawan yang dibaca menggunakan kode-kode php. Berikut adalah potongan script php yang berfungsi untuk mengakses dan membaca data karyawan dalam script di atas:

238

Bab 9

Script Halaman

include"../sambung.php"; $dat=mysql_query("select * from data_karyawan where id='$id'"); $d=mysql_fetch_array($dat);

Pembacaan data karyawan dalam database karyawan tersebut berdasarkan field id dengan nilai sama dengan nilai yang ada dalam variabel $id.Field id dalam database karyawan menjadi index, sehingga setiap pembacaan berdasarkan field id akan menghasilkan data record tunggal. Hasil pembacaan tersebut kemudian ditampilkan menggunakan perintah echo ke dalam nilai tiap-tiap obyek dalam formulir ubah data karyawan sesuai dengan namanya. Berikut adalah tampilan halaman ubah data karyawan:

Gambar 9.5 Halaman ubah data karyawan .

239

Script Halaman

Bab 9

Pada halaman ini apabila Anda perhatikan adalah sebuah formulir yang berisikan data karyawan tertentu. Untuk mengubah data karyawan cukup mengganti data yang akan diubah dan menekan tombol KIRIM pada bagian bawah formulir. Setelah tombol KIRIM, data baru yang ada di formulir tersebut akan dikirim ke file yang berisikan script untuk mengolah data karyawan yang telah diubah tersebut.

 SCRIPT PROSES UBAH DATA KARYAWAN Script ini disimpan ke dalam sebuah file dengan nama proses_ubah_data.php. File ini dijadikan nilai action dari formulir ubah data pada halaman ubah_data.php yang telah dibahas sebelumnya. Fungsi utama dari script ini adalah melakukan koneksi dengan database karyawan dan mengubah atau meng-update data karyawan tertentu dari data lama diganti dengan data baru yang telah diubah dari formulir ubah data karyawan sebelumnya. Berikut adalah script proses ubah data tersebut:

Penjelasan script:

Pada script di atas diawali dengan memanggil file cek.php sebagai otorisasi keberadaan data sesi. Apabila data sesi tidak ditemukan

240

Bab 9

Script Halaman

maka proses ubah data akan dibatalkan dan dialihkan ke halaman index.php yang berisikan formulir untuk . Perintah berikutnya adalah memanggil file sambung.php untuk melakukan koneksi dengan database. Karena script ini juga sebagai referensi untuk menghapus data karyawan, maka digunakan juga fungsi if sebagai pemisah operasi menghapus data dan mengubah data. Jika dari halaman sebelumnya mengandung variabel $act dengan nilai “del”, maka perintah penghapusan data akan dilakukan. Jika dari halaman sebelumnya tidak mempunyai variabel $act dengan nilai “del”, maka perintah mengubah data akan dilaksanakan. Berikut adalah potongan script yang berfungsi mengubah data karyawan tersebut : $add=mysql_query("UPDATE karyawan set nama='$nama' , nik='$nik_baru' , tingkat='$tingkat' , jabatan='$jabatan' , posisi='$posisi' , nik_atasan='$nik_atasan' , nik_='$nik_' , status='$status' , hak_akses= '$akses', besar='$besar' , th2004='$th2004' , th2005='$th2005' , th2006='$th2006' , ='$' where id='$id'");

Perintah untuk mengubah data dalam database adalah perintah query UPDATE. Kemudian diikuti nama database dan nama fieldfield dengan nilai baru.

Pada akhir script ini, tuliskan fungsi header dengan nilai “location:./.php”, artinya apabila proses perubahan data selesai maka akan langsung diarahkan untuk membuka halaman .php.

 PROSES MENGHAPUS DATA KARYAWAN Menghapus data karyawan dari database kadang perlu dilakukan apabila seorang karyawan telah meninggalkan perusahaan. Pekerjaan ini akan dilakukan oleh seorang . Proses menghapus data karyawan ini diawali dari membuka data karyawan. Setiap daftar data karyawan yang ditampilkan akan diberikan sebuah link HAPUS untuk menghapus data karyawan yang bersangkutan. Berikut adalah tampilan link HAPUS dari data karyawan dalam halaman data karyawan:

241

Script Halaman

Bab 9

Link untuk menghapus data

Gambar 9.6 Link untuk menghapus data karyawan.

Nilai link HAPUS tersebut adalah: http://localhost/karyawan//proses_ubah_data.php?id=5&act=del Maksud dari link di atas adalah file yang dituju dari link hapus adalah proses_ubah_data.php yang mempunyai dua atribut yaitu id dengan nilai 5 dan atribut act dengan nilai del. Kedua atribut tersebut pada script yang ada dalam file proses_ubah_data.php adalah sebagai filter untuk proses penghapusan data karyawan. Berikut script yang berfungsi untuk menghapus data karyawan:

242

Bab 9

Script Halaman

Penjelasan script: Yang perlu diperhatikan dalam script di atas adalah fungsi if yang mempunyai filter variabel $act dengan nilai “del”. Variabel ini diambil dari atribut link HAPUS, artinya Jika variabel $act tersebut ada maka perintah yang akan dijalankan dalam script ini adalah query SQL delete. Kemudian atribut id dengan nilai 5 digunakan untuk filter penghapusan record di database karyawan yaitu data yang akan dihapus adalah data karyawan yang berada dalam database karyawan pada field id dengan nilai 5. Untuk lebih jelasnya perhatikan potongan script untuk menghapus data tersebut: $del=mysql_query("delete from karyawan where id='$id'");

 UBAH DATA CUTI KARYAWAN Fasilitas untuk mengubah data cuti karyawan ini digunakan untuk mengubah data cuti yang diisi oleh karyawan yang mengajukan cuti dan pengisian persetujuan cuti yang diisi oleh atasan. Pengubahan data cuti ini hanya dapat dilakukan oleh istraor. Hal ini dilakukan untuk mengantisipasi kecurangan yang dilakukan oleh pemakai program. Pengubahan data cuti karyawan ini diawali dari membuka halaman detail cuti karyawan dari link yang ada di halaman . Setelah link dibuka maka akan ditampilkan data cuti karyawan seperti pada Gambar 9.6 berikut :

243

Script Halaman

Bab 9

Gambar 9.7 Data detail karyawan untuk diubah.

Script yang digunakan untuk menampilkan data cuti karyawan tersebut adalah sebagai berikut :






























244 Bab 9 Script Halaman $d2=mysql_fetch_array($data); $data1=mysql_query("select * from karyawan where nik='$d2[nik]'"); $d1=mysql_fetch_array($data1); if($d2[status]=="0"){ $d2[status]="Baru"; }elseif($d2[status]=="1"){ $d2[status]="Diterima"; }else{ $d2[status]="Ditolak"; } echo" "; ?> 246 Bab 9 Script Halaman 247 Script Halaman Bab 9 249 Script Halaman Bab 9

Halaman Karyawan Cuti

     Data Personal

Nama

$d1[nama]

NIK

$d1[nik]


245

Script Halaman

Bab 9

right: 10px; margin-top: 2px; margin-bottom: 2px\">Tingkat

$d1[tingkat]

Jabatan

$d1[jabatan]

Tempat Kerja

$d1[posisi]

NIK Atasan

$d1[nik_atasan]

NIK

$d1[nik_]

 

 

 

Jumlah Cuti yang belum diambil

Cuti Besar

Hari

Tahun 2004

Hari

Tahun 2005

Hari

Tahun 2006

Hari

 

 

 

Persetujuan Cuti

Pengajuan Cuti Anda

Mulai Cuti Tanggal

Selesai Cuti Tanggal

Lama Cuti

hari

Jenis Cuti Yang Diambil

 

Alamat Cuti Yang Dapat Dihubungi

Alasan Mengambil Cuti

Catatan

 

 

 



Penjelasan script: Pada awal script di atas memanggil file sambung.php yang digunakan untuk melakukan koneksi dengan database MySQL dengan fungsi include. Langkah berikutnya adalah menggunakan perintah query untuk membaca data cuti berdasarkan data id karyawan yang ada dalam field id. Perintah pembacaan data cuti karyawan ini disimpan ke dalam variabel $d2. Hasil pembacaan data dari database data_cuti ini disimpan dengan jenis data array berdasarkan nama filed dari database data_cuti. Misalkan nama field yang akan diambil datanya adalah nama maka hasil pembacaan data ini disimpan ke dalam

250

Bab 9

Script Halaman

variabel $d2[nama]. Berikut adalah potongan script yang berfungsi untuk membaca database tersebut: include"../sambung.php"; $data=mysql_query("select * from data_cuti where id='$id'"); $d2=mysql_fetch_array($data); $data1=mysql_query("select * from karyawan where nik='$d2[nik]'"); $d1=mysql_fetch_array($data1); if($d2[status]=="0"){ $d2[status]="Baru"; }elseif($d2[status]=="1"){ $d2[status]="Diterima"; }else{ $d2[status]="Ditolak"; }

Setelah data cuti dibaca kemudian dengan menggunakan data nik karyawan dari database data_cuti dijadikan filter atau data relasi untuk membaca data karyawan yang ada dalam database karyawan. Khusus pada data status, yaitu “diterima” atau “ditolak”, perlu dideklarasikan tersendiri. Data yang ada dalam database status dinyatakan dengan nilai angka yaitu 0 atau 1. Dengan menggunakan fungsi if kemudian data status tersebut di ubah menjadi teks “Diterima” atau “Ditolak”. Untuk menampilkan data hasil pembacaan menggunakan fungsi echo.

 FORMULIR UBAH DATA CUTI KARYAWAN Formulir ini akan ditampilkan apabila menekan tombol UBAH DATA pada bagian bawah halaman detail cuti. Tujuan ditampilkannya formulir ubah data cuti ini adalah untuk mengisikan data baru dan mengirimkan ke database data_cuti. Berikut adalah script yang digunakan untuk menampilkan formulir untuk mengubah data cuti karyawan :














251 Script Halaman Bab 9 $data=mysql_query("select * from data_cuti where id='$id'"); $d2=mysql_fetch_array($data); $data1=mysql_query("select * from karyawan where nik='$d2[nik]'"); $d1=mysql_fetch_array($data1); if($d2[status]=="0"){ $d2[status]="Baru"; }elseif($d2[status]=="1"){ $d2[status]="Diterima"; }else{ $d2[status]="Ditolak"; } echo" 255 Script Halaman Bab 9 "; ?>

Halaman Karyawan Cuti

     Data Personal

Nama

$d1[nama]

NIK

$d1[nik]

Tingkat

$d1[tingkat]

Jabatan

$d1[jabatan]


252

Bab 9

Script Halaman

2px\">Tempat Kerja

$d1[posisi]

NIK Atasan

$d1[nik_atasan]

NIK

$d1[nik_]

 

 

 

Jumlah Cuti yang belum diambil

Cuti Besar

$d1[besar]Hari

Tahun 2004

$d1[th2004] Hari

Tahun 2005

$d1[th2005] Hari

Tahun 2006



253

Script Halaman

Bab 9

$d1[th2006] Hari

 

 

 

Persetujuan Cuti

Pengajuan Cuti Anda

Diterima Ditolak Baru

Mulai Cuti Tanggal

Selesai Cuti Tanggal



254

Bab 9

Script Halaman

Lama Cuti

hari

Jenis Cuti Yang Diambil

Tahunan Besar

Alamat Cuti Yang Dapat Dihubungi

Alasan Mengambil Cuti

Catatan

 

 

 



Penjelasan script:

Pada script di atas didominasi oleh tag-tag html untuk membentuk sebuah formulir. Formulir ini digunakan untuk mengisi data cuti yang baru karena ada kesalahan pada data lama. Nilai dari setiap obyek formulir diisi oleh data yang dibaca dari database data_cuti. Script php dari program di atas yang berfungsi untuk membaca data cuti adalah sebagai berikut: include"../sambung.php"; $data=mysql_query("select * from data_cuti where id='$id'"); $d2=mysql_fetch_array($data);

Hasil pembacaan data cuti tersebut kemudian ditampilkan ke dalam obyek-obyek formulir. Untuk obyek formulir yang perlu diperhatikan adalah action. Nilai dari obyek action ini adalah “proses_ubah_cuti.php”, artinya data yang telah diisikan dalam formulir setelah ditekan tombol UBAH DATA akan dikirim ke file ubah_data_cuti.php sebagai script proses pengubahan data cuti. Berikut adalah tampilan formulir untuk mengganti data cuti karyawan:

256

Bab 9

Script Halaman

Gambar 9.8 Formulir untuk mengubah data cuti karyawan.

257

Script Halaman

 SCRIPT

PROSES KARYAWAN

Bab 9

UBAH

DATA

CUTI

Script ini digunakan untuk melakukan pengubahan data cuti karyawan yang memiliki kesalahan tulis. Fungsi utama script ini adalah melakukan koneksi dengan database data_cuti dan mengubah data cuti karyawan berdasarkan syarat tertentu, misalkan mengubah data cuti tertentu berdasarkan field id tertentu. Berikut adalah script yang berfungsi mengubah data cuti karyawan:

Penjelasan script:

Pada script di atas yang menyatakan perintah untuk mengubah data cuti karyawan yang ada dalam database data_cuti adalah query SQL UPDATE. Kemudian setelah perintah update dilaksanakan, kemudian akan dialihkan untuk membuka halaman detail_cuti.php dengan fungsi header.

 FORMULIR

KARYAWAN

UNTUK

MENAMBAH

DATA

Program database cuti online ini juga menyediakan fasilitas untuk menambah data karyawan baru. Hal ini dibuat untuk mendaftarkan data karyawan baru ke dalam database karyawan. Hak untuk menambah data karyawan baru dimiliki oleh sebagai hak paling tinggi dan yang bertanggung jawab atas seluruh data. 258

Bab 9

Script Halaman

Proses penambahan data karyawan baru ini dimulai dari halaman dengan menekan link Tambah data karyawan setelah seorang melakukan . Halaman tambah data karyawan ini berisikan tag-tag html yang membentuk formulir tambah data karyawan. Berikut adalah script yang digunakan untuk membentuk formulir tambah data:

Masukkan Data Karyawan      Data Karyawan

Nama

NIK

Tingkat

Jabatan


259

Script Halaman

Bab 9

name=\"jabatan\" size=\"29\" style=\"color: #000080; font-family: arial; font-size: 12pt\" value=\"$d[jabatan]\">

Tempat Kerja

<select size=\"1\" name=\"posisi\" style=\"color: #000080; fontfamily: arial; font-size: 12pt\">

NIK Atasan

NIK


260

Bab 9

Script Halaman

2px\">Status

Aktif   Cuti

Hak Akses

<select size=\"1\" name=\"akses\" style=\"color: #000080; font-family: arial; font-size: 12pt\">

 

 

 

Jumlah Cuti yang belum diambil

Cuti Besar

Hari

261

Script Halaman

Bab 9

Tahun 2004

Hari

Tahun 2005

Hari

Tahun 2006

Hari

 

 

 

untuk karyawan bersangkutan



262

Bab 9

Script Halaman

 

 

Maksimal 8 karakter    

 

"; ?>

Penjelasan script:

Yang perlu diperhatikan dalam membuat sebuah formulir adalah nilai dari obyek yang ada di dalamnya. Yang pertama adalah obyek action, nilai dari obyek action ini adalah “proses_input_data.php”. Arti dari nilai obyek ini adalah tujuan pengiriman data yang dituliskan dalam formulir adalah ke file proses_input_data.php. Kemudian untuk memberikan nama dari setiap obyek tidak boleh diawali dengan angka dan tidak boleh mengandung karakter-karakter yang tidak lazim seperti $, @, !, &, * dan yang lainnya. Nama obyek tersebut apabila dikirim ke file proses_input_data.php akan menjadi sebuah variabel dengan nama yang sama. Berikut adalah tampilan formulir untuk menambah data karyawan: 263

Script Halaman

Bab 9

Gambar 9.9 Formulir untuk menambah data karyawan.

Untuk mendaftarkan data karyawan baru adalah mengisi data karyawan baru dan menekan tombol KIRIM yang ada di bagian bawah formulir tersebut.

264

Bab 9

Script Halaman

 SCRIPT PROSES KIRIM DATA KARYAWAN

BARU

Script yang berfungsi untuk menerima data dari formulir tambah data dan memasukkan ke database karyawan ini disimpan ke dalam sebuah file yang namanya sama dengan nilai dari obyek action dalam formulir tambah data. Nama file itu adalah proses_input_data.php. Berikut adalah script untuk memproses tambah data tersebut:
Penjelasan script:

Langkah pertama dari script di atas adalah koneksi dengan database karyawan. Kemudian membaca data yang ada dan memeriksa apakah dalam database dengan nik yang akan dimasukkan sudah terdaftar atau belum. Pencarian data berdasarkan nik akan dilakukan dengan menggunakan perintah query select. Hasilnya akan dihitung dengan menggunakan perintah SQL yaitu mysql_num_rows() yang berfungsi untuk menghitung hasil pencarian. Berikut adalah potongan script tersebut: $cek=mysql_query("select nik from karyawan where nik='$nik_baru'"); $total=mysql_num_rows($cek);

265

Script Halaman

Bab 9

Nilai dari variabel $total adalah angka sejumlah data yang ditemukan oleh perintah query mysql_query(select ).

Apabila nilai dari variabel $total adalah 0, berarti data karyawan yang mempunyai nik baru belum pernah didaftarkan. Kemudian perintah berikutnya adalah memasukkan data karyawan baru dengan menggunakan perintah query: $add=mysql_query("INSERT INTO karyawan ( nama , nik , tingkat , jabatan , posisi , nik_atasan , nik_ , status , hak_akses , besar , th2004 , th2005 , th2006 , ) VALUES ( '$nama', '$nik_baru', '$tingkat', '$jabatan', '$posisi', '$nik_atasan', '$nik_', '0', '$akses', '45', '12', '12', '12', '$')");

Pada akhir script ditambahkan sebuah fungsi header yang digunakan untuk mengalihkan ke halaman data_karyawan.php setelah menambahkan data karyawan baru berhasil dilaksanakan.

 SCRIPT GANTI Untuk mengantisipasi penyalahgunaan oleh orang yang tidak berhak, maka harus sering diganti secara berkala. Dengan melakukan penggantian secara berkala ini dapat mengantisipasi kebocoran oleh orang lain. Untuk mengganti , Anda harus membuka halaman terlebih dahulu. Pada halaman ini akan ditampilkan sebuah formulir untuk mengisikan baru. Berikut adalah tampilan formulir ganti pada halaman :

Gambar 9.10 Formulir untuk ganti .

Untuk mengganti dan id baru, masukkan id baru dan baru kemudian tekan tombol UBAH pada bagian bawah formulir. Data id dan baru ini akan dikirim ke script yang ada di dalam file ubah_.php. Berikut adalah script yang 266

Bab 9

Script Halaman

berfungsi untuk mengganti data id dan baru dalam file ubah_.php tersebut: <meta http-equiv=\"Content-Language\" content=\"en-us\"> <TITLE>Website Cuti Online <META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=windows-1252\"> <style>

\"\"










267 Script Halaman margin-bottom: 3px\"> Bab 9
 

 


Anda telah diubah menjadi
$_baru

 

Untuk kembali ke halaman data karyawan
Klik tombol berikut ini

\"LANJUT\"

 
\"\"
"; } ?>

Penjelasan script: Pada bagian awal script adalah memeriksa keberadaan data sesi dengan memanggil file cek.php, kemudian melakukan koneksi dengan 268

Bab 9

Script Halaman

database dengan memanfaatkan file sambung.php. Script berikutnya adalah menggunakan perintah query yaitu: edit=mysql_query("update set ='$_baru',='$_baru' where id='1'");

Fungsinya adalah mengganti data dan dengan data yang baru dari formulir ganti . Setelah data dan diganti kemudian ditampilkan sebuah komentar bahwa data dan telah diganti menggunakan tag-tag html di akhir script ini. Berikut adalah tampilan halaman yang menyatakan data dan telah sukses diubah:

Gambar 9.11 Konfirmasi Ganti telah sukses diganti.

269

Related Documents 3m3m1z

Php Dan Mysql Studi Kasus Database Karyawan 4o28b
April 2020 33
Php Mysql 4w6b3z
July 2020 4
Php Mysql 4w6b3z
May 2020 32
Database Karyawan r3t30
October 2019 78
ing Files (pdf) To Mysql Database - Php Mysql Tutorial 4d1u4w
November 2019 49
Studi Kasus 3v652e
November 2019 59

More Documents from "Ye Cahyono" 2r661r

Php Dan Mysql Studi Kasus Database Karyawan 4o28b
April 2020 33
Ebook 8 Rahasia Top Manager Sukses.pdf 3s6y1x
November 2020 0
Terminal Evacuation Plan 1ae2c
January 2022 0
Soal Pilihan Ganda Prakarya 5n1v5z
August 2020 0
Final Lm In Beauty Care.pdf 6m2g3x
October 2019 211
4.2.1.5. Bukti Evaluasi Dan Tindak Lanjut 2v5v3c
August 2020 0