117
PHP

PHP - · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

Embed Size (px)

Citation preview

Page 1: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

PHP

Page 2: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

i

Serial AiTi mBeling

PHP :

Padahal (bisanya) Hanya PHP

Oleh :

dwi sakethi, s.si, m.komhttp://www.dwijim.wordpress.com

http://www.dwijim.wordpress.com

[email protected]

0816 403 432

pengrajin teknologi informasi

Lembah (jangan) Banjir

Tanjung Seneng 2004/2012

Page 3: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

ii

Page 4: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

Bagian I

Pengantar

iii

Page 5: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan
Page 6: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

Bab 1

Sambutan

1.1 Kata Pengantar

Segala puji hanya untuk Allah Yang Maha Tinggi, puja yang sempurna hanyauntuk Allah Yang Maha Kuasa. Sholawat dan salam semoga senantiasa dilimpahkankepada tauladan semua yang mengaku manusia Muhammad saw., keluarganya,sahabatnya, pengikutnya dan seluruh muslimin kapan dan dimana bae.Buku ini pada mulanya disusun dengan mencoba menggunakan bahasa formal,karena siapa tahu bisa digunakan untuk kepentingan formal. Hal ini seba-gaimana buku Clipper yang pernah penulis buat. Namun ... ternyata masihsusah untuk kepentingan formal. Nah ... maka terfikirlah oleh penulis un-tuk menggunakan bahasa mbeling, bahasa gaul, nggak pake pakem dan seba-gainya. Siapa tahu bisa memberikan suasana baru ketika belajar komputer(baca teknologi informasi).Biasanya ... yang aneh-aneh kan bisa jadi ngetop ... Tapi itu bukan tujuanutama. Kalau penulis boleh mengatakan, mau nyumbang uang mungkin masihtermasuk miskin, mau nyumbang perhatian kayaknya gue orang sok sibuk ...dan sebagainya. Nah ... oleh karenanya sebagai salah satu bentuk ke-care-anpenulis untuk bangsa dan rakyat Indonesia ini, maka penulis mencoba menulisbuku ini. Katanya orang kalau kalo dah mati semua amalnya terputus, kecualitiga ... dan salah satunya adalah ilmu yang bermanfaat.Penulis yakin ... sudah banyak buku yang mengupas tentang PHP. Nah ... tapiyang mbeling barangkali baru satu ini ... Dan mudah-mudahan ini lain dariyang lain (baca : kalau yang lain bagus maka yang ini jelek). Berdasarkanpengalaman di lapangan, karena kesalahan pengetikan atau tulisan yang tidaktercetak, dan beberapa kesalahan lain maka hal tersebut menyebabkan tulisanyang dibuat tidak sukses ketika dicoba. Suatu hal yang sangat tidak dikehenda-ki, sebab buku ini dibuat dengan sebisa mungkin menghindari kesalahan, entahitu kesalahan prosedur, human error, atau entah apalagi namanya. Untuk itupenulis mohon maaf sebesar-besarnya, sebab Anda sudah mengeluarkan biayauntuk mendapatkan tulisan ini tapi ternyata tidak bisa digunakan. Jika Andamenemukan kesalahan dalam buku ini alangkah indahnya jika Anda berkenanmemberi tahu penulis.Di dalam buku ini ada nama-nama atau data-data personal. Penulis sebelumnyamohon maaf karena nama-nama atau data-data tersebut tercantum di dalam

v

Page 7: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

vi BAB 1. SAMBUTAN

buku ini tanpa meminta ijin kepada yang bersangkutan. Mudah-mudahan initidak menjadi masalah dan memberikan pahala kepada yang bersangkutan ter-hadap partisipasinya di dalam buku ini. Pencatuman nama-nama tersebut samasekali tidak ada maksud apapun selain karena data itulah yang bisa digunakansebagai contoh.Tidak lupa penulis mengucapkan terima kasih kepada semuanya yang telahmembantu secara langsung ataupun tidak langsung atas tersusunya buku ini.Biar nggak pada ngiri nggak usah ditulis di sini namanya satu per satu ya ...Buku ini Insyaa Allah tersedia di http://www.dwijim.wordpress.com pada saat-nya nanti, kalo dah sempet nge-upload. Mengikuti jejak tradisi Imam Bukhari,Imam Muslim, dan lain-lainnya yang tidak mematenkan buku tulisannya, ma-ka siapa saja boleh men-download, memodifikasi, memperbanyak sebagian atauseluruh isi buku ini. Mudah-mudahan memberi manfaat seluas-luasnya kepa-da siapa saja yang memerlukannya. Hanya kepada Allah-lah kami berharapbalasan dan ampunan-Nya.Tulisan ini, pertama kali mulai ditulis pada tahun 2004. Oleh karenanya akanpembaca temukan tulisan-tulisan yang sifatnya djadoel, karena memang itulahzamannya. Kemudian mulai dibuka-buka kembali (setelah sekian lama hilang),pada bulan Maret 2012. Hmmm . . . ternyata sudah delapan tahun ya . . .Dan akhir kata yang cukup penting yaitu isi di luar tanggung jawab penulis ... :-) Tidak ada yang serius di dalam buku ini. Semuanya hanyalah sebagai sekedarpenghibur (belum merupakan solusi) bagi rakyat yang sedang merindukan kead-ilan dan kesejahteraan di bumi pertiwi ini ...

dwi [email protected]://www.dwijim.wordpress.comhp : 0816 403 432 (nomor cantik ya ...)pengrajin teknologi informasi

Page 8: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

1.2. KATA PENGANTAR 2010 vii

1.2 Kata Pengantar 2010

�áÓ��ð � A

�J��

�®

�K

� @ P

�ð �Qå

���

�áÓ� é�

��<Ë

�AK.�

�Xñ

�ª

�K

�ð � �

è �Q®�

�ª

��J

��

��

�ð

�é�JJª�

��J

��

��

�ð

�è

�Y

�Ò

�m�

�' � é�

��<�

�Y

�Ò

�m

�Ì'

�@

��à@�

B� �

à

� @

�Y

�îD

���

� @ � �

é�Ë �ø

X� A

�ë C

� �¯

�ÉÊ�

��

��

�á�Ó

�ð � �

é�Ë

��É

��

�Ó C

� �¯

�é��<Ë

�@ ø

Y�

�î�E

�á�Ó � A

�J� A

�Ô�«

� @

�H�

A� J���

��

�áÓ� é��J��K. A

�m�

�� �

ð Y�

��Ò

�m�

× ú�Î

�«

��É

��

��Ñ

�ê

��ÊË

� @ � é�

��<Ë

�@

�Èñ

�� �P @

�Y

��Ò

�m�

×��à

� @

�Y

�îD

���

� @

�ð � �

é��<Ë

�@ B

��@ �

�é�Ë @ �

��è�Q�J.�

�º

�Ë�@ é�

�J�

�Ò

�ª

K� ú

�Î

�« ú

�Í A

�ª

��K

�é��<Ë

�@ �Q

�º

��

��� � á

�K

��YË

�@ Ð

�ñ

�K ú

�Í@ �

�Ñ

�ê

�ªJ.�

��K

�á�Ó

�ð P

�A

��

��

� B��@

�ð

�áKQ�k.�

A�ê �Ü

��@

����PA

�J.�Ü

��@

��é

�«A

�Ò

�m.

�Ì'

�@ è�

Y�

�ë

�ð �

��è�

ñ�«

��YË

�@

�ð

�Èñ

��

��Q�@

�ð

�áK

��YË

�@

�ð

�é��<Ë

�@

��é�Q̄�

�ª

�Ó A

�J�J

�Ê�« é� Ò

��ª

K�

�áÓ��ð �

@

�Y

�ë ú

¯�

�©Ò

��J�m.�

�' . . .

����PA

�J.�Ü

��@

�ZA

���Ü

��@ / �PA

�î

��DË

�@ /

�É

�J

��ÊË

�@ @

�Y

�ë � A

�J��

�®

�K

� @

��é�Q̄�

�ª

�Ó

�½Ë�

�Y

�»

�ð �

��é�J�̄ A

�ª

��@

�ð �ø

�ñ

��®

���JË

�@

�ð

��Q�.�

�Ë�@ ú

�Í A

�ª

��K

�é��<Ë

�@

�È

� A

��

�� � �

é��<Ë

�@ ú

�Í@ �

��è�

ñ�«

��YË

�@

�ð

���

ñ�

k

� B��@ É

�g. A

� J� �� �

�j.

�Ü

��@

� �XB

��ð

� B��@

�ð É

�ë

� B��@ ú

¯�

A�JK�

�Y

�K. ú

¯�

Menemukan kembali tulisan yang sudah dibuat 6 tahun yang lalu (2004), sepertimenemukan mutiara yang hilang. Pada mulanya tulisan ini mulai ditulis-tulismenggunakan IBM ThinkPad milik rakyat yang sekarang sudah dikembalikanlagi. Otomatis isi-isinya juga pada berserakan, apalagi waktu itu harddisk -nyaerror.dwi [email protected]://dwijim.staff.unila.ac.idhp : 0816 403 432 (nomor cantik ya ...)pengrajin teknologi informasi

Page 9: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

viii BAB 1. SAMBUTAN

Page 10: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

Daftar Isi

I Pengantar iii

1 Sambutan v1.1 Kata Pengantar . . . . . . . . . . . . . . . . . . . . . . . . . . . . v1.2 Kata Pengantar 2010 . . . . . . . . . . . . . . . . . . . . . . . . . vii

II Bingung Judulnya 3

2 Ngomongin Apa Sih ? 5

3 Antasena Mencari Kitab 7

III Jurus Pertama 9

4 Helikopter Apache, Mesin PHP dan Bahan Bakar MySQL 114.1 Merangkai Helikopter . . . . . . . . . . . . . . . . . . . . . . . . 114.2 Aduh .. lupa password root ... . . . . . . . . . . . . . . . . . . . . 214.3 Merangkai Helikopter 2010 . . . . . . . . . . . . . . . . . . . . . 224.4 Kabar Gembira (jangan dilewatkan lho) ... . . . . . . . . . . . . 23

IV HTML 29

5 ’Dasar’ HTML 315.1 Pada Suatu Ketika ... . . . . . . . . . . . . . . . . . . . . . . . . 31

5.1.1 title . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315.1.2 table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315.1.3 marquee . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315.1.4 img src . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315.1.5 a href . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

V SQL 33

6 ’Dasar’ SQL 356.1 Pada Suatu Ketika ... . . . . . . . . . . . . . . . . . . . . . . . . 356.2 Latihan ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

ix

Page 11: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

x DAFTAR ISI

VI PHP 39

7 Mengenal PHP 417.1 Situs Sederhana . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417.2 MySQL dan PHP Sederhana . . . . . . . . . . . . . . . . . . . . 427.3 Form Input dan Cari Data . . . . . . . . . . . . . . . . . . . . . . 45

VII Latihan Bisnis Lima Tahunan 61

8 Ketiban Proyek Pahala 638.1 Mengais Pahala . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638.2 Memulai Proyek . . . . . . . . . . . . . . . . . . . . . . . . . . . 648.3 Numpang lewat, tapi penting . . . . . . . . . . . . . . . . . . . . 648.4 Memulai Proyek . . . . . . . . . . . . . . . . . . . . . . . . . . . 658.5 Latihan Mempersiapkan database . . . . . . . . . . . . . . . . . . 71

8.5.1 Tabel tps . . . . . . . . . . . . . . . . . . . . . . . . . . . 718.5.2 Tabel kelurahan . . . . . . . . . . . . . . . . . . . . . . . 728.5.3 Tabel Perolehan suara tingkat kabupaten . . . . . . . . . 728.5.4 Tabel Perolehan suara tingkat propinsi . . . . . . . . . . . 738.5.5 Tabel Perolehan suara tingkat pusat . . . . . . . . . . . . 748.5.6 Tabel rekapitulasi suara tingat kabupaten . . . . . . . . . 758.5.7 Tabel rekapitulasi suara tingat propinsi . . . . . . . . . . 758.5.8 Tabel rekapitulasi suara tingat pusat . . . . . . . . . . . . 768.5.9 Tabel caleg . . . . . . . . . . . . . . . . . . . . . . . . . . 76

8.6 Contoh Penyelesaian . . . . . . . . . . . . . . . . . . . . . . . . . 768.7 Latihan Membuat Menu Utama . . . . . . . . . . . . . . . . . . . 788.8 Latihan Pemasukan Data TPS . . . . . . . . . . . . . . . . . . . 808.9 Latihan Pengeditan Data TPS . . . . . . . . . . . . . . . . . . . 828.10 Latihan Pnghapusan Data TPS . . . . . . . . . . . . . . . . . . . 838.11 Latihan Pemasukan Data Perolehan Suara . . . . . . . . . . . . . 85

VIII Penutup Buku 89

9 Penutup 919.1 Harapan dan Impian . . . . . . . . . . . . . . . . . . . . . . . . . 91

IX Penyelesaian Soal-Soal 93

10 Contoh Penyelesian Soal-Soal Proyek 9510.1 Latihan Mempersiapkan database . . . . . . . . . . . . . . . . . . 9510.2 Latihan Membuat Menu Utama . . . . . . . . . . . . . . . . . . . 97

10.2.1 Latihan Membuat Sub Menu . . . . . . . . . . . . . . . . 10010.2.2 Latihan Membuat Sub Menu . . . . . . . . . . . . . . . . 101

10.3 Latihan Membuat Sub Menu . . . . . . . . . . . . . . . . . . . . 10110.4 Latihan Membuat Sub Menu . . . . . . . . . . . . . . . . . . . . 10210.5 Latihan Membuat Menu Utama . . . . . . . . . . . . . . . . . . . 103

Page 12: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

Daftar Tabel

xi

Page 13: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

xii DAFTAR TABEL

Page 14: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

Daftar Gambar

4.1 Pengujian Web Server Apache . . . . . . . . . . . . . . . . . . . . 204.2 Pengujian Web Server Apache+PHP . . . . . . . . . . . . . . . . 214.3 Linux Knoppix 3.2 . . . . . . . . . . . . . . . . . . . . . . . . . . 254.4 Root Shell Linux Knoppix 3.2 . . . . . . . . . . . . . . . . . . . . 264.5 Running PHP di Linux Knoppix 3.2 . . . . . . . . . . . . . . . . 27

7.1 Contoh Situs Pribadi di Server . . . . . . . . . . . . . . . . . . . 427.2 Contoh Program Menampilkan Data Saksi . . . . . . . . . . . . . 457.3 Contoh Tipe Text . . . . . . . . . . . . . . . . . . . . . . . . . . 467.4 Contoh Input Tipe Password . . . . . . . . . . . . . . . . . . . . 467.5 Contoh Input Tipe Button . . . . . . . . . . . . . . . . . . . . . . 467.6 Contoh Input Tipe Submit . . . . . . . . . . . . . . . . . . . . . . 477.7 Eksekusi Program Pemasukan Data TPS . . . . . . . . . . . . . . 497.8 Eksekusi Pemasukan Potongan Nama untuk Pencarian Saksi . . 507.9 Hasil Pencarian Saksi . . . . . . . . . . . . . . . . . . . . . . . . 517.10 Eksekusi Program Contoh Pemasukan Data . . . . . . . . . . . . 547.11 Hasil Pengiriman Nilai . . . . . . . . . . . . . . . . . . . . . . . . 567.12 Pengiriman Nilai dengan GET . . . . . . . . . . . . . . . . . . . 587.13 Ekstraksi Nilai pada GET . . . . . . . . . . . . . . . . . . . . . . 59

8.1 Rancangan File index.html . . . . . . . . . . . . . . . . . . . . . 668.2 Bikin Tabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 688.3 Bikin Link dengan Button dan Link Biasa . . . . . . . . . . . . . 698.4 Modul Pilihan Daerah Pemilihan (DP) . . . . . . . . . . . . . . . 718.5 Running script pembuatan tabel tps . . . . . . . . . . . . . . . . 788.6 Modul Sistem Tabulasi Pemilihan Umum . . . . . . . . . . . . . 788.7 Salah karena file DP-1 . . . . . . . . . . . . . . . . . . . . . . . . 798.8 Menu untuk file DP-1 . . . . . . . . . . . . . . . . . . . . . . . . 798.9 Menu untuk file DP-5 . . . . . . . . . . . . . . . . . . . . . . . . 798.10 Menu untuk tingkat propinsi . . . . . . . . . . . . . . . . . . . . 808.11 Menu untuk tingkat pusat . . . . . . . . . . . . . . . . . . . . . . 808.12 Menu TPS untuk tingkat kabupaten . . . . . . . . . . . . . . . . 818.13 Menu Pemasukan Data TPS Baru . . . . . . . . . . . . . . . . . 818.14 Drop down pilihan kelurahan . . . . . . . . . . . . . . . . . . . . 828.15 Menu Perekaman Data TPS . . . . . . . . . . . . . . . . . . . . . 828.16 Daftar TPS yang Akan Diedit . . . . . . . . . . . . . . . . . . . . 838.17 Edit TPS No. 4 Kel. Sukamenanti . . . . . . . . . . . . . . . . . 838.18 Rekam Edit TPS No. 4 Kel. Sukamenanti . . . . . . . . . . . . . 83

xiii

Page 15: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

DAFTAR GAMBAR 1

8.19 Menu TPS untuk tingkat kabupaten . . . . . . . . . . . . . . . . 848.20 Konfirmasi Hapus Data TPS . . . . . . . . . . . . . . . . . . . . 848.21 Data TPS Sudah Dihapus . . . . . . . . . . . . . . . . . . . . . . 858.22 Menu Pemasukan Perolehan Suara . . . . . . . . . . . . . . . . . 858.23 Detail Pemasukan Perolehan Suara dari TPS . . . . . . . . . . . 868.24 Partai Peserta Pemilu Legislatis 2004 . . . . . . . . . . . . . . . . 878.25 Pesan Kesalahan Waktu Perekaman . . . . . . . . . . . . . . . . 87

Page 16: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

2 DAFTAR GAMBAR

Page 17: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

Bagian II

Bingung Judulnya

3

Page 18: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan
Page 19: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

Bab 2

Ngomongin Apa Sih ?

Yah memang bingung ngomong-nya. Buku ini ditulis pake LATEXdengan jenisdokumen buku. Nah ... biasanya kalo orang Indonesia kan langsung bab dansub bab, tapi kalo pake LATEXkan ada part-chapter-section. Ya ... udahlah,untuk ngikutin LATEXmaka terpaksa ada bagian ini ya ...Wah cape’ juga nulis-nya. Abis dikit-dikit nulis itshape, karena banyak tulisanyang dibuat miring. Resiko ... supaya halal, karena semuanya gratis Linux, vi,LATEX, xpdf. Tapi kalau lagi bete ya pakai Miktex di Microsoft Windows denganeditor qEdit.Buku ini berisi pengembangan sistem informasi dengan menggunakan Apache,Mysql, dan PHP. Akan tetapi dalam coding atau implementasinya belum memikirkanoptimasi program, pemakaian fungsi, atau masalah keamanan sistem. Yangmenjadi fokus adalah sistem bisa berjalan meskipun apa adanya. Keamanantidak menjadi fokus karena pada implementasinya sistem ini digunakan olehorang-orang yang insyaa allah amanah, jujur ... sehingga tidak perlu difikirkanmasalah keamanan sistem. Buku ini diarahkan untuk mereka yang memangbaru sekali belajar PHP.

5

Page 20: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

6 BAB 2. NGOMONGIN APA SIH ?

Page 21: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

Bab 3

Antasena Mencari Kitab

Hari ini merupakan hari ketiga Antasena masuk kuliah di semester Genap 2003/2004. Sudah 3 bahasa pemrograman dipelajarinya. Semester 1 bahasa Pemro-graman I, semester 2 bahasa Pemrograman II, ... enak ya tinggal ngurut aja.Hasilnya ... sebanyak itu jugalah bahasa pemrograman yang dilupakannya. Jamsudah menunjukkan angka 10 lebih 10 (biasanya gambar jam kan kayak gini ju-ga). Padahal kuliah harusnya mulai dari jam sembilan. ”Ant ... kita cabutaja yo ...! ”, kata Yasin. ”Mending kita terusin sniffing-nya. Sape tahu panenpassword. Sekarang kan lagi jam sibuk.”, lanjutnya.Baru saja mereka memasang tas di pundak masing-masing ... Seseorang tergopoh-gopoh masuk ruangan. Sambil menenteng IBeeM Thinkpad, sang dosen punmenebar senyum ke semua mahasiswa.”Ini baru mainan gue ...”, celetuk Antasena dalam hatinya. Habis udah empatsemester kuliah, baru kali ini ketemu dosen yang bajunya nggak dimasukin.”Assalaamu’alaikum warahmatullahi wa barakatuh ...”, salam pak dosen.”Wa’alaikum salam warahmatullahi wa barakatuh ...”, jawab mahasiswa den-gan tidak kompak.”Kita sudah selayaknya bersyukur bahwa pada hari ini bisa bertemu. Khusus-nya sebagai kuliah perdana (kayak voucher aja yah) Pemrograman IV. Adapunyang akan kita pelajari adalah pemrograman menggunakan PHP ...””Pak ... kalo PHP ikut pemilu nggak kemarin ... Kan ada PKS, PD, PDIP,PPP, PBR, PKPB, ...”, tanya Luni, si mahasiswi tomboy.”PHP kan singkatan Partai Hoikot Pemilu”, celetuk Antasena. ”Jadi nggak ikutpemilu ya ... Pak”. Kelaspun jadi ger.Lantas pak dosen pun berkata, ”Hebat ... ! Baru kali ini saya masuk ke kelasyang begitu dinamis. Selama mengajar ya ... baru sekarang inilah ada kelasyang hidup. Nah biar kalian nggak ngaco kayak gitu, hendaknya kalian minumpuyer no. 16 ya ... ”.Kemudian sang dosen pun menjelaskan berbagai hal terkait dengan kuliah se-lama satu semester ini.”Soal buku referensi gimana pak ? ”, tanya Luni. Tumben juga Luni nanyawaktu kuliah, apalagi pertanyaannya sedikit akademis.”Buku Anda bebas mencari sendiri ... Di Pustaka Geram Media ada banyakbuku PHP. Juga Anda bisa men-download sendiri buku-buku PHP gratis diwww.ilmukomputer.com ... ”, jawab pak dosen.”Pak ... Kenapa bapak nggak bikin buku aja sendiri, ntar kita-kita tinggal beli”,

7

Page 22: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

8 BAB 3. ANTASENA MENCARI KITAB

tanya Luni lagi.”Saya tidak mau dicap diktator ... Jual diktat untuk beli motor. Maksud sayakalo untuk mobil sih mau ...”.Kemudian materi kuliah pun dilanjutkan. Sampai akhirnya beliau mengatakan,” Baiklah anak-anak ... Waktu awal mulai kuliah boleh terlambat, tapi waktuberakhirnya tidak boleh mundur. Jadi karena waktunya sudah berakhir, makakuliah kita cukupkan sampai di sini saja ...”

***

”Loe mau ke mana, Ant ...”, buru-buru amat. ”Enduran sama kita-kita dulu,kenapa sih ...”.”Gua lagi mo browsing terus ntar mo cari buku ... ”, sahut kata Antasena, tan-pa terlalu banyak peduli kepada temen- temennya. Meski di sana ada si Luni,Iqbal, Imam (tanpa samudra), dan rekan’s.Ya memang Antasena terus bergegas ke gedung bawah. Turun, lantas naik lagi,karena Lab. Komputer ada di lantai 2. Bukan Antasena namanya kalo gak bisaakses internet meskipun gak punya account.”Mas ... pinjem komputernya buat buka internet dong ...”, seperti biasanya kalomerayu penjaga komputer. Sebagai sesama komunitas komputer, Antasena punbisa memakai internet. Tentu saja tidak gratis, cuman ada fasilitas tambahan...Mulai-mula Antasena memakai Mozilla Web Browser untuk surfing internet.Tapi ... aduh kok error ya ... Kemudian dicobanya Galeon. ”Alhamdulillah ...”, gumannya. Terbanglah Antasena ke dunia maya. ”www.ilmukomputer.com... klik ...”, belum sampai matanya berkedip, dan hasilnya ... Request timed out... Ya belum sempat matanya berkedip karena melotot terus meski sudah satumenit.”Maklumlah ... bisa akses internet aja udah untung ...”, guman Antasena dalamhatinya. Dicobanya lagi dengan me-refresh akses internetnya. Dan byar ...nongol-lah www.ilmukomputer.com di layar komputernya. Bejibun judul tulisantentang teknologi informasi ada di situ.”Kalo untuk membaca tulisan di sini harus buka internet terus ... repot jugaya ...”, gumannya dalam hati. ”Aha ... ada menu download. Tapi berapa haribisa selesai proses download dengan kondisi akses internet yang seperti ini ...”,gumannya dalam hati. ”Oh ini dia yang gue cari ...”, riang hatinya. Ya ...Antasena bisa memesan cd ilmukomputer.com supaya bisa akses secara off line.”Eit ... nama dosen gue ada juga di sini ya ... Ntar dech ... suatu saat gue jugamo nulis ke ilmukomputer.com ...”, Antasena ngancam dalam hati.Kalau buku sudah ada, terus software-nya gimana ya ? Download di www.php.net,www.mysql.com, www.apache.org jelas nggak mungkin. Kalau pun berhasil,bagaimana mbakar ke CD-R-nya ? Antasena bingung walau nggak sampe seten-gah mati. Oh ya ... kenapa gue nggak ngemail dosen gue aja. Masak yangngajarin nggak punya software-nya.Segera saja diaksesnya server Linux putty dengan ip 192.168.150.230. Wah kokgak pake ssh ya ? Gimana kalo ada yang nyadap password di tengah jalan ?Antasena pun nggak jadi pergi ke Pustaka Geram Media. Udahlah, pake bukuyang gratisan dulu.

Page 23: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

Bagian III

Jurus Pertama

9

Page 24: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan
Page 25: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

Bab 4

Helikopter Apache, MesinPHP dan Bahan BakarMySQL

4.1 Merangkai Helikopter

”Makasih ya Pak ... Bapak baik dech ... Kalo lagi nggak puasa Kamisan pastikami traktir ...”, kata Antasena. ”Kemarin ngopiin Linux, sekarang Apache,PHP, dan MySQL ...”, sambungnya.”Ya ... inilah yang bisa saya lakukan untuk kalian. Saya sudah senang melihatkalian tertarik ngoprek komputer”.Antasena keluar ruangan terlarang (karena hanya mahasiswa yang konsultasiyang boleh masuk), dengan penuh rasa penasaran. Kayak apa sih rasanyaApache, MySQL, dan PHP itu. Ingin segera pulang untuk memasangnya dimesin Pinguin di rumah. Bahan-bahan referensi sudah didapatnya dari CD il-mukomputer.com yang sudah diterimanya beberapa hari lalu.

***

RedHat Linux 9.0 dengan kernel 2.4.20-8 menemani Antasena memasuki duniapemrograman web. Linux Mandrake-nya diganti dengan si Topi Merah. Bukanapa-apa, tapi beberapa proses instalasi program tidak sukses, seperti misalnyaXMMS. Mungkin bukan salah di Mandra-nya, tapi Antasena saja yang masihbelum ngerti. Setelah Pinguin hidup, Antasena memasukkan login root. Men-gapa ? Karena akan melakukan proses instalasi. Ditimang-timangnya cd yangtadi siang baru di-bakarin oleh dosennya. Setidaknya pembajak software di In-donesia berkurang satu, karena Antasena memakai Apache, MySQL, dan PHPyang open source. Memang tidak signifikan dibanding pembajakan yang terjadi.Antasena cuman ngikutin kata Aa Gym, mulailah dari diri sendiri, dari yangkecil-kecil. Kemudian dimasukkannya cd tersebut ke CD-ROM Driver, inget yamasukin CD Linux-nya setelah proses login selesai. Dan ... byar ... nongol nama-nama file yang ada di cd. Akan tetapi kemudian di-close lagi jendela yang adadi layar. Antasena memilih menggunakan perintah-perintah di shell. Antasenapun meng-klik ikon Gnome Terminal. Kemudian dituliskannya perintah :

11

Page 26: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

12BAB 4. HELIKOPTER APACHE, MESIN PHP DAN BAHAN BAKARMYSQL

cd /mnt/cdrom --> pindah ke subdirektori CD ROM

ls --> melihat isi subdirektori, sama dengan DIR di DOS

Kemudian dilihatnya file-file yang ada terlihat di layar monitornya.

apache_1.3.28.tar.gz mysql-3.23.58.tar.gz

aswsyn20.zip pemilu.tar

clip-prg-1.1.7-1.tgz php-4.3.3.tar.gz

dsniff-2.3.tar.gz PHPEdit-stable-0.6-2001-10-11.exe

fpc-1.0.6.ELF.tar phpMyAdmin-2.5.4-php.tar.gz

http phptriad2-2-1.exe

httpd putty.exe

php.pdf samba-3.0.1pre1.tar.gz

jdk-1_2_1_004-win.lnk webmin-1.110.tar.gz

manual-php word2x-0.005.tar.gz

miktex xclip-prg-1.1.7-1.tgz

mysql xmms-1.2.7.tar.gz

”Yes ... !”, teriaknya Antasena sambil menggerakkan tangannya. Ada Apacheversi 1.3.28 ... ada MySQL versi 3.23.58 ... ada PHP versi 4.3.3. Dan ... adajuga bonus buku PHP (php.pdf) serta manual PHP. Kurang apa lagi ya ...Mungkin kurangnya cuman satu ... Mudah-mudahan tidak kurang beruntung... :-)”Gue mo instal MySQL dulu ah ...”, kata Antasena dalam hati. Adanya filemysql-3.23.58.tar.gz. Ini berarti file-nya dikompres. ”Harus gue ekstrak duludong”, lanjutnya. Maka dicobanya mengekstrak source code Apache. Kemudiandituliskannya perintah untuk mengekstrak file tersebut :

tar -zxvf mysql-3.23.58.tar.gz

Sambil berdegup jantungnya, Antasena pun menekan tombol Enter dengan sege-nap emosi. Dan hasilnya ...

mysql-3.23.58/innobase/include/eval0proc.h

tar: mysql-3.23.58/innobase/include/eval0proc.h:

Cannot open: No such file or directory

mysql-3.23.58/innobase/include/dict0mem.h

tar: mysql-3.23.58/innobase/include/dict0mem.h:

Cannot open: No such file or directory

mysql-3.23.58/innobase/include/fsp0fsp.h

tar: mysql-3.23.58/innobase/include/fsp0fsp.h:

Cannot open: No such file or directory

tar: Error exit delayed from previous errors

”Kok error-nya banyak banget ... Kenapa yach ... Cannot open: ... Apapula ini ... Oh ya baru inget sekarang ... gue kan tadi pindah ke direktori /mnt/cdrom. Coba gue tes dulu ...”, Antasena ngomong sendirian.

pwd [enter] --> mengecek posisi direktori aktif yang terakhir

Hasilnya :

/mnt/cdrom --> berarti sekarang aktif di cd rom

Page 27: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

4.1. MERANGKAI HELIKOPTER 13

”Pantesan aja gue nggak bisa nulis ... Masak mo nulis di CD-ROM”, Antasenamenyadari kekeliruannya. Syukur dia sadar, kalo gak sadar, gak bakalan selesaiitu masalah. Tapi ... kok banyak pejabat yang nggak sadar dengan kekeliruannyaya ... ”Ok ... sekarang gue pindah dulu ke direktori /tmp, baru nanti ekstrakMySQL.

cd /tmp --> pindah ke direktori tmp

tar -zxvf /mnt/cdrom/mysql3.23.58.tar.gz --> ekstrak mysql ke direktori tmp

tar (child): /mnt/disk/dwi/source/mysql3.23.58.tar.gz:

Cannot open: No such file or directory

tar (child): Error is not recoverable: exiting now

tar: Child returned status 2

tar: Error exit delayed from previous errors

”Aduuuhhhh ... kok masih error juga ya ...”, Antasena terbengong-bengong. Nosuch file or directory ... He ... he ... Terang aja gue ngasih namanya kurangtanda ’-’, harusnya kan mysql-3.23.58.tar.gz, gue tadi cuma mysql3.23.58.tar.gz.Menungsa (baca:manusia) memang banyak salahnya ... Jadi yang bener :

tar -zxvf /mnt/cdrom/mysql-3.23.58.tar.gz --> ekstrak mysql ke direktori tmp

Dengan tidak lagi adanya error maka Antasena pun mendapatkan subdirektorimysql-3.23.58 di dalam direktori /tmp atau lengkapnya /tmp /mysql-3.23.58.Lantas ... ? Ya ... kemudian Antasena pindah ke direktori mysql hasil ekstrakdengan perintah :

cd mysql-3.23.58

Wow ... tinggal instalasi sekarang nich ... Gimana caranya ya ... ? Dibuka-bukanya kembali rangkuman catatan dari berbagai kitab yang sudah dibacanya.Proses yang dikerjakan meliputi konfigurasi, kompilasi source code, dan terakhirinstalasi. Proses kompilasi dan instalasi memerlukan software gcc. Nah lho ... !Seandainya paket ini belum terpasang, bisa ditambahkan dengan mengklik TopiMerah- System Setting-Add/Remove Applications. Pada bagian De-velopment Tools ada gcc. Itu yang diaktifkan. Biasanya penambahan paketseperti ini memerlukan master Linux RedHat. Antasena kemudian melakukankonfigurasi mysql dengan menggunakan perintah ./configure :

./configure --prefix=/usr/local/mysql

--with-unix-socket-path=/tmp/mysql.sock

Pilihan prefix untuk menentukan direktori tempat file-file hasil instalasi. Padaperintah di atas, artinya Antasena akan menginstall MySQL ke direktori /usr /local /mysql. Sedangkan pilihan –with-unix-socket-path untuk menentukanletak dari file socket program MySQL. Biasanya client mysql akan mencari sock-et di /tmp. Oleh karena itu, server MySQL juga harus mengarahkan socket-nyake /tmp. Sehingga ditambahkan pilihan seperti tersebut di atas. Akan tetapi,pilihan ini bisa tidak dituliskan selama memang server MySQL bisaberjalan. ”Baru konfigurasi aja perlu waktu cukup lama ya ...”, guman Antase-na. Tapi untungnya ... sebelumnya matanya berkedip, di layar keluar tulisan:

Page 28: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

14BAB 4. HELIKOPTER APACHE, MESIN PHP DAN BAHAN BAKARMYSQL

MySQL has a Web site at http://www.mysql.com/ which carries details on the

latest release, upcoming features, and other information to make your

work or play with MySQL more productive. There you can also find

information about mailing lists for MySQL discussion.

Remember to check the platform specific part of the reference manual for

hints about installing MySQL on your platform. Also have a look at the

files in the Docs directory.

Thank you for choosing MySQL!

Tapi kok ada temen yang waktu konfigurasi MySQL gak pake pilihan –with-unix-socket-path ya ? Ehm ... gini aja dech Kalo nggak pakai pilihan –with-unix-socket-path ternyata MySQL-nya bisa jalan ya nggak usah pakai. Tapikalau ternyata ada pesan

ERROR 2002: Can’t connect to local MySQL server

through socket ’/tmp/mysql.sock’ (2)

maka lakukan konfigurasi ulang dengan pilihan tersebut. Kemungkinan sihkarena pernah diinstal MySQL kemudian gagal, maka pada proses konfigurasimemakai pilihan –with-unix-socket-path. Satu langkah sudah selesai. Nahsekarang proses kompilasi. ”Proses kompilasi dan instalasi memerlukan wak-tu yang cukup lama ( tergantung komputer yang digunakan). Mendingangue sambil nunggu dengerin ’Indahnya Keadilan’ dari Shotul Harokah. Asyikkan ...”, Antasena berkata sendirian. Antasena kemudian menjalankan XMMSdan mounting harddisk, karena .mp3 ada di partisi FAT. Sekarang gue ting-gal melakukan kompilasi source code dari MySQL. Enak ya punya source code,ntar suatu saat bisa dimodifikasi sesuai selera. ”Apa ya perintah untuk kom-pilasi program ?”, tanya Antasena pada dirinya sendiri. Dibuka-bukanya kitabcatatan PHP-nya. Oh ya ... tahu sekarang lah. Kemudian diketikkannya per-intah kompilasi program MySQL :

make --> mengkompilasi program MySQL

”Kok gcc-ya ? Ini mirip dengan kompilasi program bahasa C di lab ya ? Cumanmemang lebih kompleks. ”, Antasena pun teringat dengan praktikum C di labyang memakai server Topi Merah. Coba kalo namanya Kapak Merah, lebihkeren ’galak’ kali ya ... Kok ngomong terus, udah selesai tuh kompilasinya. Nahsekarang proses instalasi :

#make install

Sekarang gue mesti bikin satu group pemakai di sistem Linux dengan namamysql. Perintah menambah group apa ya ? Coba deh gue ketik perintah :

groupadd mysql --> menambah grup baru dengan nama mysql

Catatan : tool groupadd belum tentu ditemukan. Jika tidak dikenal, makaditulis lengkap seperti :

/usr/sbin/groupadd mysql

Page 29: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

4.1. MERANGKAI HELIKOPTER 15

Nah ... lantas bikin juga pemakai

• Buat satu user mysql di sistem Linux

#/usr/sbin/useradd mysql

Catatan : tool useradd belum tentu berada di direktori tersebut

• Pindah ke direktori tempat hasil instalasi mysql server.

#cd /usr/local/mysql

• Jalankan script mysql install db

#bin/mysql_install_db

• Ubah owner direktori /usr/local/mysql menjadi milik mysql. Direktori inisesuai dengan pilihan prefix pada perintah konfigurasi.

#chown mysql -R /usr/local/mysql

• Ubah user menjadi mysql

#su mysql

• Jalankan database server mysql

#bin/safe_mysqld &

Catatan : ’&’ supaya program dijalankan secara background

• Masuk ke server database

bin/mysql -u root -p

password:

Isian password dikosongkan, karena secara itshape default password mysqladalah blank. Bisa jadi ada error ketika hendak masuk ke server databaseyang tampak seperti berikut :

ERROR 2002: Can’t connect to local MySQL server

through socket ’/tmp/mysql.sock’ (2)

Hal ini terjadi karena di direktori /tmp tidak ada file mysql.sock. Filemysql.sock ada di direktori /var/lib/mysql. Oleh karenanya, seandainyaterjadi demikian, maka perintah masuk ke server database diubah menjadiseperti berikut :

bin/mysql -u root -p --socket=/var/lib/mysql/mysql.sock

Page 30: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

16BAB 4. HELIKOPTER APACHE, MESIN PHP DAN BAHAN BAKARMYSQL

Tandanya akses ke server database berhasil dilakukan, maka kita sudahmasuk ke mysql :

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 1 to server version: 3.23.58

Type ’help;’ or ’\h’ for help. Type ’\c’ to clear the buffer.

mysql> \h

MySQL commands:

Note that all text commands must be first on line and end with ’;’

help (\h) Display this help.

? (\?) Synonym for ‘help’.

clear (\c) Clear command.

connect (\r) Reconnect to the server. Optional arguments are db and host.

1. Ubah password root untuk pemakai mysql. root di sini bukan root untukLinux.

bin/mysqladmin -u root password sejahtera

Inget ya ... kalo gak konek perintahnya ditambah menjadi :

bin/mysqladmin -u root password sejahtera --sock=/var/lib/mysql/mysql.sock

mysql dicek kembali untuk user root, seperti sebelumnya. Akan tetapipassword-nya sekarang adalah ’sejahtera’. Penggantian password menjadimoment yang sangat penting untuk menghindari ’penyusup’ ke dalambasis data sistem yang akan dibuat.

bin/mysql -u root -p --socket=/var/lib/mysql/mysql.sock

Sampai di sini, proses instalasi mysql sudah berhasil. Salah satu carauntuk mengetahui apa database server mysql sudah aktif adalah denganmelihat daemon yang aktif, menggunakan perintah nmap.

# nmap localhost

Starting nmap V. 3.00 ( www.insecure.org/nmap/ )

Interesting ports on kapuskom (127.0.0.1):

(The 1594 ports scanned but not shown below are in state: closed)

Port State Service

21/tcp open ftp

111/tcp open sunrpc

515/tcp open printer

1024/tcp open kdm

Page 31: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

4.1. MERANGKAI HELIKOPTER 17

1025/tcp open NFS-or-IIS

3306/tcp open mysql

6000/tcp open X11

Nmap run completed -- 1 IP address (1 host up) scanned in 2 seconds

2. Gunakan command line tar untuk meng-extract file apache 1.38.tar.gz danfile php-4.3.3.tar.gz. Ingat bahwa posisi direktori aktif ada di /tmp.

#cd /tmp

#tar -zxvf /mnt/cdrom/apache_1.3.28.tar.gz

#tar -zxvf /mnt/cdrom/php-4.3.3.tar.gz

3. Pindah ke folder apache hasil extract

#cd apache_1.3.28

4. Konfigurasi apache dengan menggunakan ./configure

#./configure --prefix=/usr/local/apache

Catatan : Pilihan prefix menunjuk ke folder hasil instalasi Apache. Dalamcontoh tersebut, Apache akan diinstal ke direktori /usr/local/apache. Hasil-nya tampak seperti berikut :

# ./configure --prefix=/usr/local/apache

Configuring for Apache, Version 1.3.28

+ using installation path layout: Apache (config.layout)

Creating Makefile

Creating Configuration.apaci in src

Creating Makefile in src

+ configured for Linux platform

+ setting C compiler to gcc

+ setting C pre-processor to gcc -E

+ using "tr [a-z] [A-Z]" to uppercase

+ checking for system header files

+ adding selected modules

+ using system Expat

+ checking sizeof various data types

+ doing sanity check on compiler and options

Creating Makefile in src/support

Creating Makefile in src/regex

Creating Makefile in src/os/unix

Creating Makefile in src/ap

Creating Makefile in src/main

Page 32: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

18BAB 4. HELIKOPTER APACHE, MESIN PHP DAN BAHAN BAKARMYSQL

Creating Makefile in src/modules/standard

#make

#make install

Setelah selesai akan terlihat hasil instalasi :

+--------------------------------------------------------+

| You now have successfully built and installed the |

| Apache 1.3 HTTP server. To verify that Apache actually |

| works correctly you now should first check the |

| (initially created or preserved) configuration files |

| |

| /usr/local/apache/conf/httpd.conf

| |

| and then you should be able to immediately fire up |

| Apache the first time by running: |

| |

| /usr/local/apache/bin/apachectl start

| |

| Thanks for using Apache. The Apache Group |

| http://www.apache.org/ |

+--------------------------------------------------------+

5. Pindah ke direktori hasil extract PHP :

#cd /tmp/php-4.3.3

6. Konfigurasi PHP menggunakan ./configure. Perlu dicatat di sini bahwamysql ada di /usr/local/mysql dan sumber Apache ada di /tmp/apache 1.3.28.

./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql

--with-apache=/tmp/apache_1.3.28 --enable-calendar

--with-gd=/usr/local/gd

&& make && make install

Catatan : Pilihan prefix menunjuk direktori hasil instalasi PHP, –prefix=/usr/local/apacheberarti Apache akan diinstal ke direktori /usr/local/apache. Pilihan –with-apache, untuk menunjuk bahwa web server yang digunakan adalahApache yang source-nya ada di /tmp/apache 1.3.28. Dan pilihan –with-mysql untuk menunjuk bahwa database server yang digunakan adalahMySQL dan program MySQL ada di /usr/local/mysql. Pilihan –with-gd=/usr/local/gd/ dipakai jika dalam PHP ini akan ditambahkan fungsi-fungsi untuk menipulasi gambar yang disediakan oleh gd. Jiika nii di-lakukan maka library gd harus sudah diinstal dulu. Penulisan configure&& make && make install artinya jalankan proses configure, kemu-dian make dan selanjutnya make install. Jika PHP akan diintegrasikandengan database server Oracle, maka pada waktu instalasi PHP, pilihandilengkapi dengan perintah berikut :

--with-oracle=/opt/oracle/product/9.2.0/

--with-oci8=/opt/oracle/product/9.2.0/

Page 33: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

4.1. MERANGKAI HELIKOPTER 19

Tentu saja Oracle harus sudah terlebih dahulu diinstal. Pada contoh diatas, PHP diintegrasikan dengan Oracle Versi 9.2.0. Setelah proses insta-lasi PHP selesai, kemudian salin file php.ini-recomended dengan perintahberikut :

cp php.ini-recommended /usr/local/lib/php.ini

7. Selanjutnya Pindah ke direktori sumber Apache :

#cd /tmp/apache_1.3.28

8. Konfigurasi ulang Apache menggunakan configure :

./configure --prefix=/usr/local/apache

--activate-module=src/modules/php4/libphp4.a

--enable-suexec --suexec-userdir=public_html

Catatan :

• Pilihan prefix menunjuk direktori hasil instalasi Apache.

• Pilihan –activate-module untuk mengaktifkan PHP sebagai moduledari Web Server Apache.

• Pilihan –enable-suexec untuk mengaktifkan feature mod user sehing-ga pemakai biasa bisa membuat situs di home masing-masing. Situspribadi ini kemudian bisa diakses dengan memakai simbol atau tilde.

• Pilihan –suexec-dir=public html artinya pemakai biasa membuat di-rektori public html di home masing-masing sebagai tempat file-filesitusnya.

Kemudian jalankan perintah berikut untuk melakukan compiling and link-ing dan instalasi program :

#make

#make install

Keberhasilan ditandai dengan tulisan dari Apache :

+--------------------------------------------------------+

| You now have successfully built and installed the |

| Apache 1.3 HTTP server. To verify that Apache actually |

| works correctly you now should first check the |

| (initially created or preserved) configuration files |

| |

| /usr/local/apache/conf/httpd.conf

| |

| and then you should be able to immediately fire up |

| Apache the first time by running: |

| |

| /usr/local/apache/bin/apachectl start

| |

| Thanks for using Apache. The Apache Group |

| http://www.apache.org/ |

+--------------------------------------------------------+

Page 34: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

20BAB 4. HELIKOPTER APACHE, MESIN PHP DAN BAHAN BAKARMYSQL

Mudah-mudahan proses ini berhasil. Mengapa ? Karena Web ServerApache belum dicoba. Untuk itu, daemon Apache dijalankan terlebihdahulu dengan perintah :

#cd /usr/local/apache/bin

#./apachectl start

./apachectl start: httpd started

# nmap localhost

Starting nmap V. 3.00 ( www.insecure.org/nmap/ )

Interesting ports on kapuskom (127.0.0.1):

(The 1594 ports scanned but not shown below are in state: closed)

Port State Service

21/tcp open ftp

80/tcp open http

111/tcp open sunrpc

515/tcp open printer

1024/tcp open kdm

1025/tcp open NFS-or-IIS

6000/tcp open X11

Nmap run completed -- 1 IP address (1 host up) scanned in 2 seconds

Untuk mengetahui apakah web server Apache sudah berjalan, dapat di-gunakan browser apa saja. Pada bagian proxy diatur ’no proxy’ untuklocalhost. Selanjutnya isi alamat yang akan diakses dengan localhostdan semoga didapatkan hasil seperti berikut : Agar web server Apache

Gambar 4.1: Pengujian Web Server Apache

Page 35: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

4.2. ADUH .. LUPA PASSWORD ROOT ... 21

mengenal script PHP, maka tambahkan perintah seperti berikut pada filehttpd.conf di bagian IfModule mod mime.c.

AddType application/x-httpd-php .php

Buatlah file info.php yang diletakkan di direktori /usr/local/apache/htdocsdengan ini seperti berikut :

<?

phpinfo();

?>

Dengan menggunakan browser buka file localhost/info.php. Jika didap-atkan hasil seperti berikut ini, berarti Apache sudah terintegrasi denganPHP.

Gambar 4.2: Pengujian Web Server Apache+PHP

4.2 Aduh .. lupa password root ...

Kejadian ini bukan sesuatu yang mustahil atau bisa juga password root digantioleh orang lain. Mengatasinya ? Menurut handadi [email protected] solusinyaseperti ini :

1. Shutdown MySQL server

2. Idupin server dengan perintah : safe mysqld –skip-grant-tables &

Page 36: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

22BAB 4. HELIKOPTER APACHE, MESIN PHP DAN BAHAN BAKARMYSQL

3. Perintah SQL : update user set password=password(’password baru’) whereuser=’root’

4. Matiin server lantas dihidupkan kembali dengan password baru.

Waduh ... Susah juga tapi ya ... Ngajarin ngasah pisau untuk motong tempedan dage buat bikin mendoan, tapi pisaunya malah dipake nodong ... He ... he... Kali-kali bisa dipake ngrubah password di server.

4.3 Merangkai Helikopter 2010

Waktu 6 tahun ternyata memang bukan waktu yang sebentar untuk mencer-mati berbagai perkembangan yang ada. GNU Linux yang semula ber-distroRedHat, maka sekarang Antasena banyak berkiprah dengan Debian dan Ubun-tu. Kebiasaan memakai Ubuntu dengan Synaptic Package Manager ternyataberbuah pahit. Masalah yang dihadapi sekarang adalah bagaimana mentranserdata dari MySQL ke format xBase. Kalo di sistem operasi Microsoft Windowsmungkin tidak akan serumit di GNU Linux. So . . . mau tidak mau proses insta-lasi kudu dilakukan dengan cara manual bukan dengan paket manajer. Entahitu Synaptic Package Manager atau pun apt-get install.Tulisan pada bagian ini hanya merupakan rekayasa ulang dari catatan insta-lasi yang diberikan oleh kolegaku [email protected] dengan ditambahinbumbu-bumbu ala kadarnya. Matur nuwun Mas Bambang . . . Pada catatan iniakan dijelaskan proses instalasi Apache, MySQL, PHP yang dilengkapi denganbeberapa fasilitas tambahan seperti koneksi yang diacak dengan SSL, pembu-atan file .pdf dalam PHP, serta penambahan fasilitas gambar. File-file yangdibutuhkan meliputi :

1. httpd-2.2.14.tar.gz

2. mysql-5.0.41.tar.gz

3. php-5.3.1.tar.gz

4. clibpdf202r1.tar.gz

5. jpegsrc.v6b.tar.gz

6. libiconv-1.9.2.tar.gz

7. libpng-1.2.8.tar.gz

8. mod ssl-2.8.31-1.3.41.tar.gz

9. openssl-0.9.7d.tar.gz

File-file bisa diunduh di internet atau bisa (mudah-mudahan) juga ditelusuri dihttp://dwijim.staff.unila.ac.id. Lumayan dapat Rp. 10,- . . . he he he . . .

Page 37: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

4.4. KABAR GEMBIRA (JANGAN DILEWATKAN LHO) ... 23

4.4 Kabar Gembira (jangan dilewatkan lho) ...

Teeeeettt ... teeeeeeettt ... bising suara klakson mengagetkan Antasena, padahaldia sedang enak-enaknya menikmati keindahan perjalanan bersama ide men-garungi samudra pemikiran nan luas seolah tiada batas. Ditengoknya mobildi belakangnya via spion King-nya. Mobil baru ... apa maksudnya ... Ya ...memang Antasena termasuk orang yang paling benci melewati pertigaan ini.Ini perempatan yang deket dengan kampusnya, tapi semrawutnya tidak kalahdengan perempatan di pasar. Kalau yang nylonong mobil angkot, Antasenamasih agak maklum. Ini ... mobil baru ... punya pribadi, lampu merah diter-jang seolah jalan ini milik neneknya. Bahkan ibu-ibu pake motor pun cuek sajanylonong berhadapan dengan angkot. Kalo perempatan di lingkungan kampusmestinya sedikit akademis-lah keadaannya. Pada akhirnya Antasena berfikirbahwa kekayaan dan jabatan tidak berbanding lurus dengan attitude seseorang.Yang mengherankan juga ... toh orang yang nylonong dibandingkan dengan diayang santai saja nunggu lampu hijau, tidak jarang Antasena yang nyampe lebihdulu. Apa karena Antasena pake King ?

***

Demam PHP sedang melanda kampus Antasena. Tidak cuma di jurusannyayang memang berkaitan erat dengan teknologi informasi, mahasiswa di jurusanlain pun banyak yang tertarik belajar PHP. Terutama sejak mudah akses sumberinformasi yang berkaitan dengan PHP sehingga mahasiswa cepat mendapatkaninformasi-informasi (sejak kapan ya ... ? )

***

”Ant ... gue kan udah bisa dikit-dikit PHP. Cuma selama ini kita kan pakePHP di server. Lantas kalo mau pake di rumah gimana caranya ?”, tanya Lunidalam acara endurans - enakan duduk-duduk sambil sante. Ya ... sekarangjaman memang sudah berubah. Ngerumpi bukan sekedar ngomongin merk HP,cari voucher, jalan-jalan.”Loe di rumah komputernya pake Windows kan ...”, tanya Antasena menebak-nebak, soalnya Antasena jarang main ke tempat cewek.”Ya ... terus gimana ?”, kata Luni.”Loe instal dua sistem operasi deh Windows sama Linux ... Terus ...”, Antasenamencoba menjelaskan. ”Eh ... ”, Luni memotong pembicaraan. ”Loe kayaknggak tahu gue aja ... Instal Linux gue masih takut datanya ilang. Di kompigue kan ada kerjaan banyak orang. Ada skripsi ayu gue ...”.”Nah ... kalo gitu ... ”, belum selesai Antasena melanjutkan penjelasannya Imammenimpali. ”Kamu pasti mau menyarankan instal Apache, PHP, dan MySQLyang under Windows kan ...?”, kata Imam. ”Aku udah mencoba berkali-kalisesuai dengan petunjuk di buku yang aku beli, sampe sekarang masih belumberhasil. Ada nggak sih yang mudah aja ?”, tanya Imam.”Yang lebih mudah ... kalo yang lebih mahal ada ... He ... he ... ”, Antasenalagi nggak serius. Bukan Antasena namanya kalo nggak ada solusi.

***

Inilah enaknya pake Linux. Ada sistem operasi Linux yang harus tidak diinstalatau dengan kata lain tidak harus diinstal. Namanya Knoppix dan ... Linux

Page 38: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

24BAB 4. HELIKOPTER APACHE, MESIN PHP DAN BAHAN BAKARMYSQL

Knoppix 3.2 sudah mencakup web server Apache, database server MySQL danweb programming PHP. Plus ... itu tadi ... Linux Knoppix tidak perlu diinstal,cukup masukkan cd Linux Knoppix, hidupkan komputer ... maka Linux sudahnongol di depan mata. Kelemahannya ... salah satunya adalah prosesnya cukuplambat karena akses ke cd rom dan setting-an segala macam akan hilang ketikakomputer dihidupkan kembali. Lantas gimana caranya ?”Gini deh ... mudah-mudahan sangat gampang pake Knoppix”, kata Antasenamemulai penjelasannya.”Jelas pertama-tama masukkan cd rom Knoppix ke ...”, belum selesai Antasenangomong Imam menginterupsi (soalnya Imam ini biasa rapat komisi sih.”Ant ... gue fikir ada yang lebih awal ...”, kata Imam. ”Gimana caranya ndapetincd rom Knoppix ... ”,kata Imam. ”Ok ... It’s smart idea from smart boybecause he had smart friends not friend ... Ha ... ha ...”, Antasena sedangkumat bengalnya. Sekarang kamu orang tulis baik-baik nih. Jadi :

1. Loe orang harus punya komputer dengan sistem file FAT, misalnya Win-dows 98, Windows Millenium, Windows XP, atau yang lainnya dan sekalilagi sistem file-nya FAT. Kenapa ? Sekali lagi gue tanya sendiri dan guejawab sendiri. Ntar semua pekerjaan kan disimpan di harddisk. Inget kalodisimpannya di /tmp/kerja (misalnya), ntar waktu loe idupin itu komput-er, loe bakalan nangis karena semua pekerjaan ilang. Seperti gue bilangdiawal. Nah ... sistem file yang bisa di-mounting read write dengankernel yang standar, yang gue tahu sistem FAT. Kalo pake NTFS ya readaja. Tapi ini yang gue tahu, bisa jadi salah. Nah ... kalo terlanjur pakeNTFS gimana ? Simpan saja pekerjaannya ke disket, disket kan FAT ?

2. Kalo loe orang mo nyari cd rom Knoppix, mo nyari cd r atau cd rw, atobahkan mo nyari komputer, loe bisa nanya ke Mas Wisnu Wardhana di0816 403 583 atau 0721 265 802 email [email protected]. Terus yanggue tahu, Linux Knoppix 3.2 yang ada Apache, MySQL dan PHP. Versiyang lain mungkin ada, tapi gue belum tahu.

3. Atur di BIOS komputer loe orang, supaya first boot-nya dari cd rom. Kaloyang ini kagak tahu, jangan ngaku temen gue ... he ... he

4. Masukkan cd rom Linux Knoppix ke cd rom driver. Kenapa ? Ya percumasaja diatur first boot dari cd rom kalo cd rom-nya sendiri kagak dipasang.Ya nggak ... ya nggak ...

5. Biasanya sih lancar-lancar saja alias sistem komputer langsung masuk keLinux. Masalah yang muncul, terkadang di monitor tidak muncul tampi-lan apapun. Ini biasanya disebabkan resolusi monitor. Jadi waktu keluartanda : (titik dua) di komputer (ini harus cepetan lho) ketikkan knop-pix=800x600.

6. Nah sampe di sini, mudah-mudahan kamu orang sudah masuk ke sistemLinux Knoppix. Kurang lebih kayak gini

7. Mounting dulu media yang akan menjadi tempat penyimpanan hasil peker-jaan. Apa ke disket atau ke harddisk. Inget penjelasan di awal ya ...Mounting ini bisa dilakukan dengan mengklik suatu ikon, tapi ini manualaja dech ... Yang bisa melakukan mounting hanya root. Klik aja StartPanel Application-Knoppix-Root Shell.

Page 39: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

4.4. KABAR GEMBIRA (JANGAN DILEWATKAN LHO) ... 25

Gambar 4.3: Linux Knoppix 3.2

mount /dev/hda1/ /mnt/hda1 -t vfat -rw --> untuk harddisk

mount /dev/fd01/ /mnt/floppy -t vfat -rw --> untuk disket

Mounting ini harus selalu dikerjakan kalo kompi sudah dimatikan kemu-dian dihidupkan kembali.

8. Di harddisk buat suatu subdirektori untuk menyimpang file PHP, prosesini cukup dikerjakan sekali saja. Misal

mkdir /mnt/hda1/php --> untuk harddisk

mkdir /mnt/floppy/php --> untuk disket

mkdir /mnt/hda1/ --> kalo gue sih

mkdir /mnt/hda1/dwi/php --> kayak gini

Namun perlu diingat bahwa data MySQL tetap tersimpan secara semen-tara di Knoppix. Jadi yang disimpan di harddisk hanya PHP. Belum tahusih gimana caranya merubah direktori kerja MySQL ke harddisk, bukantemporer di Knoppix. Tentu saja direktori dan alias bebas, sesuai dengandirektori di mana file-file PHP akan diletakkan.

9. Tinggal kita bikin aja file PHP. Tapi jangan coba-coba menjalankan fungsiphp info(), ntar kecewa sendiri. Jangan lupa pindah direktori kerja ataunggak juga nggak papa yang penting ingat di mana file PHP disimpan.

cd /mnt/hda1/dwi/php

vi ngetes.php --> isi file ngetes.php

Page 40: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

26BAB 4. HELIKOPTER APACHE, MESIN PHP DAN BAHAN BAKARMYSQL

Gambar 4.4: Root Shell Linux Knoppix 3.2

<?

echo "PHP pake Linux Knoppix <br>";

if (1==1) echo "Memang berhasil"; else echo "Gagal";

php_info();

?>

Kalo ngikutin pengaturan dasar dari Apache, maka file-file PHP disimpandi /var/www. Jadi file PHP yang semula tersimpan di sistem FAT dengandirektori /mnt/hda1/dwi/php (misalnya) mesti disalin ke /var/www. Jadibuka Root Shell satu lagi, terus :

cp /mnt/hda1/dwi/php/ngetes.php /var/www

Sekaleeeeeee ... lagi inget ya, pekerjaan disimpan di harddisk terus disalinke /var/www.

10. Jalankan web server Apache dengan cara (dari Root Shell ya ) :

apachectl start

11. Sekarang tinggal lihat hasilnya pake browser Mozilla (misalnya) dan jrengggggg

”Aku masih bingung kenapa kita kerjanya seolah-olah dua kali. Pertama kerjadi harddisk atau di disket. Kedua, lantas file tadi kudu tak salin ke /var/www.Kenapa gak satu aja ?”, sang Imam berkomentar.”Gini Mam ... sebenarnya ya karena gue tahunya baru segitu. Kalo nulisnyahanya di /var/www, file itu bakalan ilang kalo kompi itshape dimatiin. Ka-lo nulisnya di partisi FAT aja, Apache (yang gue tahu) nggak bisa ngebacameskipun sudah dibuatkan ’alias’. Jadi ya begitu modelnya ...”, Antasena men-coba menjelaskan sejelas-jelasnya meskipun masih nggak jelas juga walaupun

Page 41: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

4.4. KABAR GEMBIRA (JANGAN DILEWATKAN LHO) ... 27

Gambar 4.5: Running PHP di Linux Knoppix 3.2

Antasena sudah berusaha menjelaskan dengan sejelas-jelasnya meskipun ...

***

Tet tet ... tet tet ... Nada peringatan SMS terdengar dari Antasena’s hand-phone. Antasena mengambil handphone kesayangannya yang pingin digantidengan handphone yang bisa dipake GPRS. ”SMS anyar, maca siki (baca :baca sekarang)”. Dari Asnia, ”Abdi tos tiyasa nganggo PHP Knoppix”. Klik ...suara Antasena menekan tombol shorcut TransSundaGaul di handphone-nya.”Gue udah bisa pake PHP di Knoppix 3.2”.

***

Antasena terharu dengan semangat friends-nya untuk belajar PHP. Ya Allah ...mudahkanlah mereka yang ingin mempelajari PHP dan menjadikannya sebagaisesuatu yang bermanfaat.

Page 42: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

28BAB 4. HELIKOPTER APACHE, MESIN PHP DAN BAHAN BAKARMYSQL

Page 43: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

Bagian IV

HTML

29

Page 44: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan
Page 45: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

Bab 5

’Dasar’ HTML

5.1 Pada Suatu Ketika ...

Dalam penggunaan PHP, prinsip-prinsip dasar-dasar tentang HTML.

5.1.1 title

5.1.2 table

5.1.3 marquee

5.1.4 img src

img src digunakan untuk memasukkan gambar ke dalam halaman html.

5.1.5 a href

a href digunakan untuk membuat kaitan atau link ke suatu halaman lain dariweb.

5.1.6 Form

Form digunakan untuk membuat suatu halaman web bisa berinteraksi denganpemakai.

1. input type=textMengisi data ke dalam form dan apa yang diisi bisa dilihat di layar.

2. input type=password Mengisi data ke dalam form akan tetapi data yangdiisi tidak terbaca di layar. Biasanya untuk pengisian password (misal-nya).

3. select option Pada pengisian yang sifat pilihan, maka bisa dilakukan den-gan select option.

31

Page 46: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

32 BAB 5. ’DASAR’ HTML

Page 47: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

Bagian V

SQL

33

Page 48: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan
Page 49: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

Bab 6

’Dasar’ SQL

6.1 Pada Suatu Ketika ...

Dalam ceramahnya Aa Gyn sering menyarankan siapa saja untuk selalu berfiki-ran positif. Dalam keseharian, jika lagi dongkol dan kelepasan, seperti karak-ternya, Antasena kebablas nyerocos, ”Dasar kampungan lo ...”. Ya ... sepertiitulah cara membaca judul-judulan di atas ... :-)”Ant ... kalo sequel (SQL) apa maksudnya seperti Perang Dunia II merupakansekuel dari Perang Dunia I, Once Upon A Time in Purwokerto sekuel dari OnceUpon A Time in China, atau Partai Keadilan Sejahtera sekuel dari Partai Kead-ilan ...”, tanya Luni.”Ha ... ha ... ha ... ”, Boim nggak bisa menahan tawanya.”Im ... Rasulullah itu kalo tertawa cuman kelihatan gigi serinya aja. Nggakkayak kamu orang ... sampe gempa bumi ...”, kata Antasena.”Astaghfirullah ... ok ... ok ... I am sorry ... ladies and gentleman ...”, tukasBoim. Boim ini aslinya bernama Ibraheem ya ...”Sorry friend ... lo bagus, nggak tahu terus nanya”, kata Boim kepada Luni.

6.2 Latihan ...

”Nah temen-temen ikhwati fillah ... kita udah punya data base dengan namapemilu dan salah salah tabelnya tentang tps dengan struktur seperti ini

ql> desc tps;

+-------------+----------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-------------+----------+------+-----+---------+-------+

| dp | char(1) | | PRI | | |

| kelurahan | char(10) | | PRI | | |

| no_tps | int(11) | | PRI | 0 | |

| alamat_tps | char(57) | YES | | NULL | |

| saksi | char(57) | YES | | NULL | |

| cp | char(57) | YES | | NULL | |

| hp_cp | char(27) | YES | | NULL | |

| kode_gabung | char(14) | YES | | NULL | |

35

Page 50: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

36 BAB 6. ’DASAR’ SQL

+-------------+----------+------+-----+---------+-------+

Data yang ada cukup buanyaaaaakkkkkk (red, kayak Dik Doang) ... Kalo gakpercaya lihat data ini ...

mysql> select count(*) from tps;

+----------+

| count(*) |

+----------+

| 2035 |

+----------+

”Bentar Ant ...”, tukas Ikhwati (ini memang ada orang namanya Ikhwati). ”Ke-napa datanya harus banyak ?””Nah ini pertanyaan orang smart. Di situ kan artinya ada 2035 data dan otoma-tis isinya bermacam-macam. Kalo datanya cuman 10 biji ya ntar semua perintahSQL-nya cukup

select * from tps;

Selesailah semua urusan ... Karena datanya dikit”, jelas Antasena. ”Fahimtum... Do u understand ...”, tanya Antasena.”Fahimna ... Yes, we do ...”, jawab kawan-kawan Antasena.”Good ... Good ... Kamu orang memang bukan cuman pinter bahasa pemro-graman ... He ... he ... ”, celoteh Antasena.”Nah sekarang siapa yang bisa menjawab masalah-masalah yang beginian ...”.

1. Atribut no tps tipenya apa ya ?

2. Atribut apa apa yang ada di tabel tps ya ?

3. Nomor handphone orang bernama Purwanto berapa sih ?

4. Ada nggak saksi namanya Dwi Sakethi ? Kalo ada di tps berapa, alamattps di mana dan berapa nomor hpnya ?

5. Gue punya temen namanya Rosidin. Nah gue pingin tau dia orang jadisaksi di mana.

6. Kelurahan Kemiling Permai memiliki kode kelurahan 1871071007. Jumlahtps ada 29 buah. TPS berapa saja yang datanya belum dimasukkan ketabel tps ?

7. Di Jl. Imba Kesuma Gg. Siswa ada tps. TPS nomor berapa ya ?

8. Ada berapa jumlah tps yang sudah dimasukkan ke tabel tps ya ?

9. Bagaimana perintah SQL yang menghasilkan informasi seperti ini :

+------------+--------+----------------------------------------+

| kelurahan | no_tps | alamat_tps |

+------------+--------+----------------------------------------+

| 1871080013 | 1 | SD 01 Sepang Jaya |

| 1871081001 | 1 | |

| 1871081002 | 1 | Jl. Teuku Umar Depan Hawatri |

Page 51: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

6.2. LATIHAN ... 37

| 1871081003 | 1 | |

| 1871081004 | 1 | |

| 1871082001 | 1 | Jl. Kamboja |

| 1871082002 | 1 | JL. CEMARA LK II TJ. SENANG |

| 1871082003 | 1 | Jl Pulau Panggung II |

| 1871082004 | 1 | Jl. Titaria. Way Kandis |

| 1871090003 | 1 | saatu |

| 1871090004 | 1 | Jl. Pulau Buru |

| 1871090005 | 1 | Bintara I |

| 1871090009 | 1 | |

| 1871090010 | 1 | |

| 1871091001 | 1 | |

| 1871091002 | 1 | Villa Citra |

| 1871091003 | 1 | |

| 1871091004 | 1 | |

| 1871091005 | 1 | Jl. Asahan |

| 1871091006 | 1 | |

+------------+--------+----------------------------------------+

10. Alamat tps nomor 1 di kelurahan 1871081001 apa ya ? Nah sekarang gantialamatnya menjadi ’Jl. Kesejahteraan No. 16 Tanjung Seneng’ ...

11. Ehm ... ternyata semua kelurahan dengan kode 187109003 salah. Seharus-nya kode kelurahannya 187109700.

12. Saksi di tps 1 kelurahan 187091006 seharusnya bernama Gutheng Manise.

13. Opo perintah SQL-nya ya ... Aku rodho bingung ...

+------------------+------+--------------+------------+

| saksi | cp | hp_cp | kelurahan |

+------------------+------+--------------+------------+

| | | | 1871091002 |

| | | | 1871091002 |

| | | | 1871091002 |

| Ahmad Suhari | | | 1871091002 |

| Arif Ridwansah | | | 1871091002 |

| Bima Johansyah | | | 1871091002 |

| Budi | | | 1871091002 |

| Edis Mari Eko | | 081540923430 | 1871091002 |

| Hamam Waluyo | | | 1871091002 |

| Irsan | | | 1871091002 |

| Jumadi - Tarmizi | | | 1871091002 |

| Listianto R | | | 1871091002 |

| M. Riduan | | | 1871091002 |

| M. Zaelani | | | 1871091002 |

| Prayogo | | | 1871091002 |

| Suroso | | | 1871091002 |

| Yuhelsaputra | | | 1871091002 |

+------------------+------+--------------+------------+

Page 52: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

38 BAB 6. ’DASAR’ SQL

Page 53: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

Bagian VI

PHP

39

Page 54: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan
Page 55: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

Bab 7

Mengenal PHP

7.1 Situs Sederhana

”Gue fikir kamu orang udah pada terbiasa memakai internet kan ...?”, tanyaAntasena. ”Nah ... kalo selama ini kita mengakses suatu situs entah ituwww.ilmukomputer.com, www.detik.com, www.syariahonline.com ato yang laen-nya, maka mulai sekarang kita akan belajar membuat situs yang lebih dari itu...”, lanjut Antasena.”Maksudnya lebih ... ?”, tanya Boim.”Nah itu dia ...”, tukas Antasena. ”Bisa lebih bagus ... bisa lebih jelek ...:-)”, terang Antasena. ”Kamu orang kan udah pada punya account di server... Sekarang login dulu aja ... ”, terang Antasena. ”Di home masing-masingbuatlah direktori dengan nama public html, caranya :

mkdir public_html ---> membuat (make direktory) public_html

Ubah hak akses di home dan public html dengan perintah :

chmod 711 /home/m0317031007

chmod 711 /home/m0317031007/public_html

Karena semua file akan disimpan di direktori public html, maka pindah duluaja di direktori itu :

cd /home/m0317031007/public_html

Dengan text editor vi, sekarang kita rame-rame bikin file index.php seperti ini :

vi index.php [enter] ... supaya bisa ngetik tekan Esc i, terus ketik isinya

Isi dari index.php seperti ini ya ...

<?

echo "<title> Situs pribadi : dwI sakethI </title>";

echo "<h1>Selamat datang di situs pribadi dwI sakethI</h1>";

echo "Situs ini telah berdiri sejak tahun 1919 M, kalo nggak

percaya ya udah";

echo "<hr>";

echo "Data pengunjung, mohon diisi<br>";

41

Page 56: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

42 BAB 7. MENGENAL PHP

echo "<form’>";

echo "Nama : <input type=text> <br>";

echo "Alamat : <input type=text> <br>";

echo "<input type=submit value=’Rekam’>";

echo "</form’>";

echo "<marquee>created with PHP-@ 2004, dwi sakethi</marquee>";

?>

Kalo udah selesai, direkam dengan perintah Esc :w [enter]. Nah ... sekarangbuka browser, terus pada bagian address isi dengan :

192.168.150.230/~m0317031007

Kenapa begitu ? Ya ... asumsinya server memiliki alamat 192.168.150.230 dannama login m0317031007. Tapi ... gue di sini pake localhost. Ehm ... kalosukses, hasilnya kayak gini :

Gambar 7.1: Contoh Situs Pribadi di Server

Telah bertambah satu situs di internet bertepatan dengan selesainya situs ini.”Ok ... kamu orang sekarang sudah mendapat satu kemajuan besar dalam hidupkamu ya ... Kalo udah pinter jangan lupa sama gue”, Antasena mengakhiri liqodengan geng-nya. ”Dari pada kamu orang ngebor, maku, malu, nogel ... mendingngoprek komputer”.

7.2 MySQL dan PHP Sederhana

”Kamu-kamu masih inget kan kalo kita pernah membuat perintah sequel yangmenghasilkan informasi seperti ini :

+------------------+------+--------------+------------+

Page 57: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

7.2. MYSQL DAN PHP SEDERHANA 43

| saksi | cp | hp_cp | kelurahan |

+------------------+------+--------------+------------+

| | | | 1871091002 |

| | | | 1871091002 |

| | | | 1871091002 |

| Ahmad Suhari | | | 1871091002 |

| Arif Ridwansah | | | 1871091002 |

| Bima Johansyah | | | 1871091002 |

| Budi | | | 1871091002 |

| Edis Mari Eko | | 081540923430 | 1871091002 |

| Hamam Waluyo | | | 1871091002 |

| Irsan | | | 1871091002 |

| Jumadi - Tarmizi | | | 1871091002 |

| Listianto R | | | 1871091002 |

| M. Riduan | | | 1871091002 |

| M. Zaelani | | | 1871091002 |

| Prayogo | | | 1871091002 |

| Suroso | | | 1871091002 |

| Yuhelsaputra | | | 1871091002 |

+------------------+------+--------------+------------+

Nah ... sekarang bagaimana kalo informasi itu mau dipasang di situs denganmemakai PHP ...”, kata Antasena memulai jurus PHP-nya. Ehm ... yang perludiingat terlebih dahulu adalah perintah sequel-nya :

select saksi,cp,hp_cp,no_tps from tps where kelurahan=’1871091002’

order by saksi

Perintah ini nantinya akan ditempelkan di dalam program PHP ...”, lanjutAntasena.Kerangka program untuk melihat isi tabel kurang lebih kayak gini :

<?

$akses = mysql_connect("localhost","root","sejahtera");

if ($akses)

{

mysql_select_db("pemilu");

...

echo "<table border=1>";

echo "... judul tabel ... ";

$perintah = "perintah sql ditulis di sini";

$mhasil = mysql_query($perintah);

...

while ($datanya=mysql_fetch_row($mhasil))

{

...

$msaksi = $datanya[0];

$mcp = $datanya[1];

$mhp_cp = $datanya[2];

... tampilkan datanya ...

}

echo "</table>";

Page 58: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

44 BAB 7. MENGENAL PHP

}

?>

”Ant ... ada contoh yang lengkap nggak ... ?”, tanya Claudia.”Ehm ... yang lengkap ... ? Kalo yang lebih mahal ada ...”, jawab Antasena.”Kebanyakan nonton iklan, kacian deh loe jadi PKI ... pemuda korban iklan...”, si Luni nyerocos kayak kereta babaranjang (red : kereta batubara rangkaianpanjaaaaaaaaaangngngngngng).”Okey ... sekarang lihat program ini aja ...”, kata Ant.

<?

/*

nama file lihat-saksi.php

program untuk menampilkan nama-nama saksi diurut berdasarkan

nama saksi tersebut

*/

$akses = mysql_connect("localhost","root","sejahtera");

if ($akses)

{

mysql_select_db("pemilu");

echo "Daftar Saksi <br> ";

echo "<table border=1>";

echo "<tr> <td> No. </td> <td> Nama Saksi </td>

<td> Contact Person </td> <td> HP </td>

</tr>";

$perintah = "select saksi,cp,hp_cp from tps where

kelurahan=’1871091002’ order by saksi";

$mhasil = mysql_query($perintah);

$ada_data = 0;

$nomor = 0;

while ($datanya=mysql_fetch_row($mhasil))

{

$ada_data = 1;

$nomor = $nomor + 1;

$msaksi = $datanya[0];

$mcp = $datanya[1];

$mhp_cp = $datanya[2];

echo "<tr> <td> $nomor </td> <td> $msaksi </td>

<td> $mcp </td> <td>$mhp_cp </td> </tr>";

}

echo "</table>";

}

?>

Hasilnya seperti ini :

Page 59: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

7.3. FORM INPUT DAN CARI DATA 45

Gambar 7.2: Contoh Program Menampilkan Data Saksi

7.3 Form Input dan Cari Data

Input atau pemasukkan data dalam PHP menggunakan perintah HTML taginput seperti berikut :

<input type=[text|hidden|button] name=... value=... maxlength=...>

Tag input ini merupakan tag standar dalam HTML. Keterangan lebih jauhtentang tag input ini, bisa didapatkan di buku-buku tentang HTML. Tipe-tipeyang bisa digunakan antara lain :

1. type=text, biasanya digunakan untuk memasukkand data biasa sepertinama, alamat, harga, dan sebagainya. Bisa dikatakan semua nilai yangdimasukkan ke dalam sistem menggunakan type=text ini. Contoh :

<? echo "<form method=POST action=’rekam_pemilu.php’>";

echo "Alamat TPS : <input type=text values=’$alamat_tps’ name=’alamat_tps’>";

echo "</form>"; ?>

Hasil eksekusinya seperti berikut :

Page 60: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

46 BAB 7. MENGENAL PHP

Gambar 7.3: Contoh Tipe Text

2. type=password, biasanya digunakan untuk proses pemasukkan data yangberupa password. Dengan tipe ini, apa yang diketikkan oleh pemakaiakan ditampilkan dalam bentuk karakter bintang atau lingkaran bisa jugakarakter lain (tergantung sistem operaso) sehingga tidak terbaca denganmata biasa.

<? echo "<form method=POST action=’rekam_pemilu.php’>";

echo "Password : <input type=password values=’$kunci’ name=’kunci’>";

echo "</form>"; ?>

Hasil eksekusinya seperti berikut :

Gambar 7.4: Contoh Input Tipe Password

3. type=button, biasanya digunakan untuk membuat link atau kaitan ke filelain. Jika button tersebut diklik, maka proses akan menjalankan file lainsesuai dengan yang ditentukan pada perintah onclick. Bedanya denganlink adalah kalau dengan link maka akan keluar gambar tangan pada saatpenunjuk mouse diarahkan ke posisi link sedangkan kalau button yangtampil di layar adalah simbol button.

<? echo "<form method=POST action=’rekam_pemilu.php’>";

echo "<input type=button value=’Batal’

onclick=\"location.href=’dp1.php’\" >";

echo "<input type=button value=’Home’

onclick=\"location.href=’index.html’\" >";

echo "</form>"; ?>

Hasil dari program tersebut tampak seperti berikut : Jika pemakai mengk-

Gambar 7.5: Contoh Input Tipe Button

lik button Batal, maka proses akan dialihkan ke file dp1.php. Demikianjuga kalau pemakai mengklik Home.

4. type=submit, fungsinya hampir sama dengan type=button. Dengan type=submit,proses akan menjalankan file yang disebutkan dalam perintah action=’apa.php’

Page 61: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

7.3. FORM INPUT DAN CARI DATA 47

pada perintah < form...action =′ ...′ >. Jadi kalau tipe button berhubun-gan dengan file pada perintah onclick, maka tipe submit berkaitan denganfile yang disebutkan pada perintah action=’...’. Contoh seperti berikut :

<?

echo "<form method=POST action=’rekam_pemilu.php’>";

echo "<input type=submit value=’Rekam’>";

echo "<input type=button value=’Batal’

onclick=\"location.href=’dp1.php’\" >";

echo "<input type=button value=’Home’

onclick=\"location.href=’index.html’\" >";

echo "</form>";

?>

Gambar 7.6: Contoh Input Tipe Submit

Terlihat bahwa antara tipe submit dan tipe button tampilannya sama.

5. type=hidden, tipe ini digunakan untuk menyertakan nilai-nilai variabel kehalaman lain file .php lain tapi di layar tidak kelihatan bahwa nilai-nilai ituada. Misalkan kalau dengan type=text name=’$mkunci’ maka di la-yar ada masukkan kunci tersebut, kalau type=hidden name=’$kunci’di layar tidak akan ada pertanyaan untuk memasukkan nilai kunci. Akantetapi nilai $kunci tersebut ada.

Pada dasarnya tipe-tipe tersebut berkaitan erat dengan method yang dise-butkan dalam perintah form. Dengan tipe-tipe tersebut, method yang digu-nakan biasanya sih method=POST. Dengan metode ini, nilai-nilai variabelyang ada pada suatu halaman akan dikenali pada file .php berikutnya (ter-gantung action pada form atau onclick pada button. Nah pada file .phpyang berikutnya, supaya mengenal nilai-nilai variabel pada halaman sebelum-nya harus memberikan perintah extract{$ POST} atau extract{$ GET}tergantung method pada form. Ya ... sebagaimana dipahami, method adadua macam yaitu POST atau GET.Contoh pemasukkan data, dapat dilihat pada program berikut :

<?

echo "<title> Menu Pemasukan TPS </title>";

echo "<h1>Pemasukan Data TPS </h1>";

echo "<form method=post action=’rekam_tps.php’>";

echo "<table border=0>";

echo "<tr>";

echo "<td>DP </td>";

echo "<td><input type=text name=’mdp’ value=’$mdp’ size=11>

</td>";

echo "</tr>";

echo "<tr>";

Page 62: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

48 BAB 7. MENGENAL PHP

echo "<td>Kelurahan </td>";

echo "<td><input type=text name=’mkelurahan’

value=’$mkelurahan’ size=11> </td>";

echo "</tr>";

echo "<tr>";

echo "<td>Nomor TPS </td>";

echo "<td><input type=text name=’mno_tps’

value=’$mno_tps’ size=11></td>";

echo "</tr>";

echo "<tr>";

echo "<td>Alamat TPS </td>";

echo "<td><input type=text name=’malamat_tps’

value=’$malamat_tps’ size=57></td>";

echo "</tr>";

echo "<tr>";

echo "<td>Saksi </td>";

echo "<td><input type=text name=’msaksi’

value=’$msaksi’ size=57></td>";

echo "</tr>";

echo "<tr>";

echo "<td>Contact Person </td>";

echo "<td><input type=text name=’mcp’ value=’$mcp’

size=57></td>";

echo "</tr>";

echo "<tr>";

echo "<td>No. HP Contact Person </td>";

echo "<td><input type=text name=’mhp_cp’ value=’$mhp_cp’

size=57></td>";

echo "</tr>";

echo "</table>";

echo "<br><br>";

echo "<input type=submit value=Rekam>";

echo "<input type=button value=’Cari Saksi’

onclick=\"location.href=’cari_saksi.php’\">";

echo "<input type=button value=Batal

onclick=\"location.href=’menu_tps.php’\">";

echo "</form>";

?>

Dengan hasil eksekusi seperti ini :

Page 63: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

7.3. FORM INPUT DAN CARI DATA 49

Gambar 7.7: Eksekusi Program Pemasukan Data TPS

Jika pemakai menekan button ’Rekam’ maka sistem akan menjalankan file rekam tps.phpsesuai dengan perintah pada < form > :

echo "<form method=post action=’rekam_tps.php’>";

Untuk melakukan pengecekan apakah data yang direkan sudah benar-benar ter-simpan di tabel pada basis datanya, maka disediakan fasilitas untuk mencaridata saksi dengan memilih button Cari Saksi.

echo "<input type=button value=’Cari Saksi’

onclick=\"location.href=’cari_saksi.php’\">";

Pada rekam tps.php, intinya adalah perintah SQL insert into dengan nilai-nilai sesuai variabel yang telah dimasukkan pada file entri tps.php. Adapun isilengkap dari file rekam tps.php sebagai berikut :

<?

extract($_POST);

$akses = mysql_connect("localhost","root","sejahtera");

if ($akses)

{

mysql_select_db("pemilu");

extract($_POST);

echo "<title> Perekaman TPS DP $mdp</title>";

echo "<h1>Perekaman Data TPS DP $mdp </h1>";

$mkode_gabung = $mdp.$mkelurahan.$mno_tps;

$perintah = "insert into tps(

dp,kelurahan,no_tps,alamat_tps,saksi,cp,hp_cp,kode_gabung)

values

(’$mdp’,’$mkelurahan’,’$mno_tps’,’$malamat_tps’,’$msaksi’,

’$mcp’,’$mhp_cp’,’$mkode_gabung’)";

$hasil = mysql_query($perintah);

if ($hasil)

{ echo "Data telah direkam"; }

else

{ echo "Data tidak bisa direkam"; }

echo "<form>";

echo "<input type=button value=’Menu TPS’

onclick=\"location.href=’menu_tps.php?mdp=$mdp’\">";

Page 64: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

50 BAB 7. MENGENAL PHP

echo "</form>";

}

else

{

echo "Basis data pemuli tidak bisa diakses ...";

}

?>

Proses pencarian saksi dilakukan jika pemakai mengklik button ’Cari Saksi’ den-gan menjalankan file cari saksi.php. Pada proses ini, mula-mula diminta poton-gan nama saksi yang dicari, kemudian jika data ditemukan, akan ditampilkanhasilnya. Analog dengan pemasukkan data sebenarnya, maka pertama sistemmeminta potongan nama yang dimasukkan dengan perintah < input type =text ... >. Kemudian variabel ini dipakai sebagai elemen pada perintah SQL :select ... from tps where saksi like ′%$variabel%′. Isi dari file adalah sebagaiberikut :

<?

// file : cari_saksi.php

echo "<form method=POST action=’daftar_saksi.php’>";

echo "<h1> Pencarian Data Saksi </h1>";

echo "Potongan Nama Saksi : ";

echo "<input type=text value=’$potongan_saksi’ name=’potongan_saksi’> ";

echo "<input type=submit value=’Proses’>";

echo "</form>";

?>

Dengan hasil eksekusi (mengklik button ’Cari Saksi’ pada pemasukan data TPS):

Gambar 7.8: Eksekusi Pemasukan Potongan Nama untuk Pencarian Saksi

Variabel $potongan saksi akan dibawa ke file daftar saksi.php sebagai elemendari perintah SQL-nya. Hasil program menampilkan saksi berdasarkan poton-gan nama sebagai berikut :

Page 65: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

7.3. FORM INPUT DAN CARI DATA 51

Gambar 7.9: Hasil Pencarian Saksi

Program untuk menampilkan saksi berdasarkan potongan nama :

<?

// nama file daftar_saksi.php

extract($_POST);

$akses = mysql_connect("localhost","root","sejahtera");

if ($akses)

{

mysql_select_db("pemilu");

extract($_POST);

echo "<title> Daftar Saksi TPS$mdp</title>";

echo "<h1>Daftar Saksi TPS$mdp </h1>";

$perintah = "select kelurahan,no_tps,alamat_tps,saksi,cp,hp_cp

from tps where saksi like ’%$potongan_saksi%’

order by saksi";

$hasil = mysql_query($perintah);

echo "<table border=1>";

echo "<tr>";

echo "<td>No</td><td>Nama Saksi</td><td>Contact Pers </td>";

echo "<td>HP CP</td><td>Alamat</td><td>No. TPS</td>";

echo "</tr>";

$nomor = 0;

while ($data_saksi=mysql_fetch_row($hasil))

{

$nomor = $nomor + 1;

if (empty($data_saksi[5])) { $data_saksi[5]="-";}

if (empty($data_saksi[2])) { $data_saksi[2]="-";}

if (empty($data_saksi[3])) { $data_saksi[3]="-";}

if (empty($data_saksi[4])) { $data_saksi[4]="-";}

echo "<tr>";

echo "<td>$nomor</td><td>$data_saksi[3]</td>";

echo "<td>$data_saksi[4]</td><td>$data_saksi[5]</td>";

echo "<td>$data_saksi[2]</td><td>$data_saksi[5]</td>";

echo "</tr>";

}

echo "</table>";

echo "<form>";

echo "<input type=button value=’Menu TPS’

onclick=\"location.href=’menu_tps.php?mdp=$mdp’\">";

Page 66: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

52 BAB 7. MENGENAL PHP

echo "</form>";

}

else

{

echo "Basis data pemilu tidak bisa diakses ...";

}

?>

Page 67: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

7.3. FORM INPUT DAN CARI DATA 53

Contoh pemasukan data alumni.

<?

// nama file input-lulusan.php

echo ("<form method=post action=cek.php>");

echo ("<title> Sistem Informasi Alumni - Alumni Versi 1.0 </title>");

echo "<font size=10 color=green > Pemasukan Data Lulusan </font>";

echo("<img src=’islaminside.jpg’ width=’68’ height=’68’ border=’0’>");

echo("<br> <table>");

echo("<tr>");

echo("<td> NPM </td> <td>

<input type=text name=’mnpm’ value=’$mnpm’ size=10 maxlength=10> ");

echo("</td>");

echo("</tr>");

echo("<tr>");

echo("<td> Nama </td> <td> <input type=text

name=’mnama’ value=’$mnama’ size=30 maxlength=30> ");

echo("</td>");

echo("</tr>");

echo("<tr>");

echo("<td> Tempat Lahir </td> <td> <input type=text

name=’mtpt_lhr’ value=’$mtpt_lhr’ size=30 maxlength=30> ");

echo("</td>");

echo("</tr>");

echo("<tr>");

echo("<td> Tanggal Lahir </td> <td> <input type=text

name=’mtgl_lhr’ value=’$mtgl_lhr’ size=10 maxlength=10> ");

echo("</td>");

echo("</tr>");

echo("<tr>");

echo("<td> Jenis Kelamin </td>");

echo "<td> <select name=’msex’>";

echo "<option value=’Laki-laki’> 1.Laki-Laki";

echo "<option value=’Perempuan’> 2.Perempuan";

echo("<tr>");

echo("<td> Alamat </td> <td> <input type=text

name=’malamat’ value=’$malamat’ size=30 maxlength=30> ");

echo("</td>");

echo("</tr>");

echo("<tr>");

echo("<td> </td> <td align=right>

<input type=button value=’Menu’

onclick=\"location.href=’menu.php?id=$xnama’\">

<input type=button value=’Lihat-Edit-Hapus’

onclick=\"location.href=’see_lulusan.php?id=$xnama’\">

<input type=submit name=submit value=Rekam size=30> ");

echo("</td>");

echo("</tr>");

echo("</table>");

echo("</form>");

Page 68: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

54 BAB 7. MENGENAL PHP

echo("<br>");

echo("<hr>");

echo ("<center>");

echo("Komentar atau saran : <a href=’mailto:[email protected]’>

dwi sakethi </a>");

echo(", <a href=’mailto:[email protected]’> yusuf suhendro </a>");

echo("atau ");

echo("<a href=’mailto:[email protected]’> mardiana </a>");

echo(". Anda dapat juga menghubungi ADPC Puskom Pesawat 567");

echo ("</center>");

?>

Untuk menjalankan program tersebut, ada beberapa catatan yang perlu diper-hatikan yaitu :

1. Server Apache harus sudah dijalankan. Jika belum ketikkan (denganasumsi Apache diinstal di /usr/local/apache:

/usr/loca/apache/bin/apachectl start

2. Jika httpd.conf masih belum dimodifikasi, maka file program harus dis-impan di direktori /usr/local/apache/htdocs dan misalkan diberi namacek-input.php.

3. Buka browser Anda, jangan lupa untuk memasang pilihan noproxy untuklocalhost. Kemudian pada bagian address ketikkan :

localhost/cek-input.php

Jika berhasil, Insyaa Allah Anda akan mendapatkan hasil eksekusi programtersebut tampak seperti berikut : Perlu diperhatikan, bahwa contoh di atas

Gambar 7.10: Eksekusi Program Contoh Pemasukan Data

Page 69: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

7.3. FORM INPUT DAN CARI DATA 55

adalah program untuk memasukkan data-data, yang kemudian jika pemakaimengklik button Rekam, sistem akan membuka program cek.php. Hal ini di-tandai dengan ada perintah berikut :

<?

// nama file input-lulusan.php

...

echo ("<form method=post action=cek.php>");

...

<input type=submit name=submit value=Rekam size=30> ");

?>

Selanjutnya, nilai-nilai yang telah dimasukkan tersebut akan dikirimkan ke hala-man lain. Pengiriman nilai ke suatu halaman lain dalam PHP bisa menggunakanbeberapa model yaitu :

1. Metode POST, model ini ditandai dengan adanya tag

<form methode=POST action=’file.php’>

...

<input type=text ... >

...

<input type=submit value=...>

Kemudian, supaya nilai-nilai yang dikirim dikenal pada halaman berikut-nya, maka pada halaman berikutnya tersebut diberikan perintah extract($ POST).Terlihat pada contoh sebelumnya, nilai-nilai yang dimasukkan meliputi :$mnpm, $mnama, $mtpt lhr, dan sebagainya. Jika kemudian pemakaimengklik button Rekam, maka sistem akan beralih ke file cek.php. Padabagian awal cek.php ini, dilakukan ekstrasi terhadap nilai-nilai pada hala-man sebelumnya (input-lulusan.php) dengan perintah extract($ POST).Program lengkap dari cek.php dapat dilihat seperti berikut :

<?

// nama file cek.php

extract($_POST);

echo ("<title> Sistem Informasi Alumni - Alumni Versi 1.0 </title>");

echo("<img src=’islaminside.jpg’ width=’68’ height=’68’ border=’0’>");

echo("<br> <table>");

echo("<tr>");

echo("<td> NPM </td> <td> $mnpm");

echo("</td>");

echo("</tr>");

echo("<tr>");

echo("<td> Nama </td> <td>$mnama");

echo("</td>");

echo("</tr>");

echo("<tr>");

echo("<td> Tempat Lahir </td> <td>$mtpt_lhr");

Page 70: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

56 BAB 7. MENGENAL PHP

echo("</td>");

echo("</tr>");

echo("</table>");

?>

Hasil eksekusi file cek.php tampak seperti berikut :

Gambar 7.11: Hasil Pengiriman Nilai

Di sini terlihat bahwa nilai-nilai yang ada pada program sebelumnya(input-lulusan.php) dikenali pada halaman yang lain (cek.php).

Bisa disimpulkan bahwa metode POST dilakukan untuk pemasukkan datadengan kombinasi perintah < inputtype = . . . . . . dan < inputtype =submit . . . > Selain itu juga terlihat bahwa data-data yang dimasukkanbanyak.

2. Metode GET, model GET ini berbeda dengan metode POST. Pada modelini, yang dilakukan adalah membuat link dan dalam proses link tersebutada nilai variabel yang dikirimkan. Sesuai dengan bahasa HTML, proseslink dilakukan dengan perintah :

<a href=’file-program.php$?variable=nilai’> ... </a>

...

<input type=text ... >

...

<input type=submit value=...>

Akan tetapi, jika link akan memakai button, maka perintah link dimodi-fikasi sehingga menjadi seperti berikut :

echo "<form>";

echo "<input type=button value=’...’

onclick=\"location.href=’file-program.php$variable=nilai’\">

...

echo "</form>";

Kemudian supaya variabel yang dikirim dengan perintah $variable=nilaibisa dikenal, maka diawal program pada file yang menjadi target link harusdiberikan perintah extract($ GET);.

Page 71: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

7.3. FORM INPUT DAN CARI DATA 57

Pada program berikut, diberikan contoh program untuk menampilkan daf-tar mahasiswa. Kemudian dibuat suatu link untuk masing-masing maha-siswa, dimana pada hasil link akan ditampilkan data yang lebih lengkapuntuk mahasiswa bersangkutan. Contoh lengkapnya dari dilihat sepertiberikut :

<?

// nama file lihat-data.php

$akses = mysql_connect("localhost","root","sejahtera");

if ($akses)

{

mysql_select_db("alumni");

echo "Daftar Alumni <br> ";

echo "<form>";

echo "<table border=1>";

echo "<tr> <td> No. </td> <td> NPM </td>

<td> Nama Mahasiswa </td> <td> Edit </td>

<td> Hapus </td> </tr>";

$perintah = "select npm,nama from lulusan order by npm";

$mhasil = mysql_query($perintah);

$ada_data = 0;

$nomor = 0;

while ($datanya=mysql_fetch_row($mhasil))

{

$ada_data = 1;

$nomor = $nomor + 1;

$mnpm = $datanya[0];

$mnama = $datanya[1];

echo "<tr> <td> $nomor </td> <td> $mnpm </td>

<td> $mnama </td>

<td> <input type=button value=’Edit’

onclick=\"location.href=’edit_data.php?npmnya=$mnpm’\"> </td>

<td> <input type=button value=’Hapus’

onclick=\"location.href=’menu_hapus_data.php?npmnya=$mnpm’\">

</td> </tr>";

}

echo "</table>";

echo "<br> <input type=button value=’Menu’

onclick=\"location.href=’menu.php?id=$xnama’\">";

echo "</form>";

}

?>

Hasil eksekusi dari program tampak seperti berikut :

Jika pemakai kemudian mengklik tombol Edit pada baris mahasiswa den-gan npm=99173001, maka dilakukan pengiriman nilai ke file edit data.phpdan variabel serta nilai yang dikirim adalah $npmnya=99173001. Variabelini kemudian diekstrak pada file edit data.php, seperti berikut :

<?

Page 72: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

58 BAB 7. MENGENAL PHP

Gambar 7.12: Pengiriman Nilai dengan GET

extract($_GET);

// nama file edit-data.php

$akses = mysql_connect("localhost","root","sejahtera");

if ($akses)

{

mysql_select_db("alumni");

echo "Daftar Alumni <br> ";

echo "<form>";

echo "<table border=1>";

$perintah = "select npm,nama,tmp_lahir from lulusan where npm=’$npmnya’";

$mhasil = mysql_query($perintah);

while ($datanya=mysql_fetch_row($mhasil))

{

$mnpm = $datanya[0];

$mnama = $datanya[1];

$mtmp_lahir = $datanya[2];

echo "<tr> <td> NPM </td> <td> : $mnpm </td> </tr>";

echo "<tr> <td> Nama </td> <td> : $mnama </td> </tr>";

echo "<tr> <td> Tempat lahir </td> <td> : $mtmp_lahir </td> </tr>";

}

echo "</table>";

echo "<br> <input type=button value=’Menu’

onclick=\"location.href=’menu.php?id=$xnama’\">";

echo "</form>";

}

?>

Dengan demikian variabel $npmnya dikenal di edit data.php dan nilainya99173001. Nilai ini tentu saja sesuai dengan posisi NPM yang diklik padahalaman file lihat-data.php. Hasilnya tampak seperti berikut :

3. Sesi, pembahasan tentang sesi akan diberikan kemudian pada saat yangtepat.

Page 73: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

7.3. FORM INPUT DAN CARI DATA 59

Gambar 7.13: Ekstraksi Nilai pada GET

Page 74: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

60 BAB 7. MENGENAL PHP

Page 75: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

Bagian VII

Latihan Bisnis LimaTahunan

61

Page 76: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan
Page 77: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

Bab 8

Ketiban Proyek Pahala

8.1 Mengais Pahala

Negara antar berantah ini memiliki hajat lima tahunan yang sangat meriah.Meriah karena banyak pesertanya. Meriah karena banyak intriknya. Meriahkarena banyak orang yang mendadak memiliku impian besar yang selama initidak pernah terlintas di benaknya. Meriah karena merupakan kesempatan un-tuk meluaskan da’wah secara masif. Meriah karena uang yang bertebaran dimana. Ya ... semua orang sudah mafhum dengan hajat pemilihan umum.Antasena menelusuri sepanjang jalan Pasar Bawah dengan fikiran yang melayangke sana ke sini. Setiap kali pandangannya tertuju ke salah satu penjuru mataangin, maka bola matanya akan menatap warna-warni bendera-bendera partai.Kalau sedikit tertunduk ke bawah, bertebaran aneka topi. Kalau lurus ke de-pan, maka kaos dengan berbagai corak partai menari-nari di tiup angin sambilmelambai-lambai ke lubuk hatinya. Seolah-olah sambil berkata, ”Aja kelalennyoblos ...” (baca : jangan lupa mencoblos). Yah lumayanlah ... setidaknyapara tukang becak setiap lima tahun sekali memiliki 16 kaos baru.Tidak cukup sampai di situ. Manakala Antasena memimjam buku, maka bukuitupun penuh dengan stiker, bahkan motor. Dan ... handphone pun bersuaramemanggil rakyat ini dengan nada deringnya. Kalo stiker nempel di handphonesih sudah biasa. Masih kurang juga ? SMS penuh, mail box penuh denganperingatan ”awas virus ...”.Dari peristiwa ini, Antasena mengambil berbagai pelajaran. Ada orang yang kesana ke sini seperti kutu loncat. Ada yang memperjuangkan idealisme dengansegenap kecintaan dan ketulusan. Tidak goyah diterpa badai prahara. Tidakluluh dilumuri gemerincing rupiah. Bahkan di suatu daerah ada yang sampaisyahid kesetrum listrik, ada yang tertabrak kendaraan. Lantas ... Gue sendirimau kemana ? Netral seperti golput. Apakah netral itu pilihan yang bijak ?Netral sering jadi salah penempatan. Manakala ada persetuan antara keadilandan kezholiman, antara kecintaan hakiki dan angkara murka, antara kejujurandan kedustaan, antara kesejahteraan dan kemelaratan ... Apakah ... Apakahgue akan berdiam diri ? Gue kan cuma mahasiswa teknologi informasi yangmasih bloon.Te te te te ... Dering hp jeleknya menyadarkan Antasena. Sebenernya kalaudi tempat ramai seperti ini sih jangan ngeluarin HP. Tapi ... toh HP gue kan

63

Page 78: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

64 BAB 8. KETIBAN PROYEK PAHALA

HP jelek, jadi copet juga nggak ada yang berminat. Lagian gue kan Antasena,wayang paling sakti (saking saktinya, orang bisa mati jika bekas tapak kakinyadigigit Antasena), masak takuk sama jambret. Kalo sama Allah memang harustakut. +62721709103 ... nomor siapa ya ? Perasaan gue nggak kenal. ”As-salaamu’alaikum ... bisa bicara dengan salah sambung ...”, suara dari seberangtelpon. ”Eh kok salah sambung, dengan Den Bagus Antasena ...”, katanya lagi.”Wa’alaikum salam ... Ya gue sendiri ... Ini siapa ya ? Dari POLDA mana ?Rasanya gue gak punya masalah ... He ... he ...”, kata gue sekenanya aja. Abisdia sendiri panggil den bagus.”Gini Mas ... kami dari DPD di Koga. Untuk menghadapi pemilu 2004, kamiingin melakukan pendataan perolehan suara kami se Kota Bandar Lampung.Nah ... kami bermaksud mengadakan kerja sama dengan Mas Antasena untukmembuat program tersebut bagi kami.”Wah ... kesempatan nih, kalo partai biasanya buanyakkkk uangnya. Oh ... gam-pang, itu bisa diaturlah. Untuk proyek teknologi KPU saja sampai 200 milyar,kalo ini sesial-sialnya bisalah untuk ganti jumlah roda kendaraan ... :-)”Mudah-mudahan semuanya sudah jelas ... Tinggal sekarang masalah biaya ...”,kata Bang Fahmi melanjutkan pembicaraan.Antasena kemudian memberikan komentarnya, ”Semula gue memang berharapini jadi proyek. Akan tetapi setelah menimbang-nimbang, gue menganggap inisebagai partisipasi gue untuk mendorong pemilu yang jujur dan adil. Hanyainilah yang bisa gue lakukan ... Dan hanya Allah-lah yang kepada-Nya gueberharap semua hal ... ”

8.2 Memulai Proyek

Antasena mondar-mandir mengitari kamarnya. Sangat sulit untuk memulaibagian ini. Ini salah, itu salah ... Otaknya yang memang kadang-kadang sajaencer, sekarang lagi kambuh.”Udahlah dari pada bingung-bingung gue mulai aja ...”, gumannya kepadadirinya sendiri.”Ini nih barang berharga gue”, sambil menimang-nimang handy drive yang se-lalu dibawa ke mana-mana. Ya ... karena di situlah Antasena menyimpan semuaide-idenya, dari ide gila sampai ide tak wajar. Kalo ditanya, paling Antasenabilang, ”Ya biar aja, sekarang ide gila, siapa tahu besok jadi ide beneran”.

8.3 Numpang lewat, tapi penting

Attention please ... Perhatian-perhatian ... Pesawat Apache dengan mesin PHPdan bahan bakar MySQL akan segera take off. Kepada para penumpang supayamembaca buku-buku algorithma dan pemrograman, buku-buku SQL, buku-buku pemrograman HTML. Hal ini penting supaya perjalanan Anda insyaaAllah akan lebih menyenangkan. Tapi ya ora usah kewatir, bagi Anda yang gaksempat membacanya semoga Allah swt. memudahkan jalannya.

***

Satu web server Apache bisa dipasang beberapa sistem informasi. Untuk melakukanpengaturan ini, file-nya adalah httd.conf. Di desktop klik kanan mouse kamuAnt, lantas pilih New terminal. Abis itu, loe ketikkan aja :

Page 79: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

8.4. MEMULAI PROYEK 65

vi /usr/local/apache/conf/httpd.conf

Nah ... ntar kamu cari bagian alias seperti ini :

<IfModule mod_alias.c>

...

<IfModule>

Tambahin baris berikut ya ... Kalo mau nambah tekan dulu tombol Esc i, barubisa menambah tulisan.

Alias/pemilu "/usr/local/apache/htdocs/pemilu/"

<Directory "/usr/local/apache/htdocs/pemilu">

Options Indexes FollowSymlinks MultiViews

AllowOverride None

Order allow,deny

Allow from all

</Directory>

Nah ... kalo udah selesai meng-edit terus mo direkam dan langsung keluar vi,tekan tombol Esc :wq! Jangan lupa menjalankan kembali web server Apache :

/usr/local/apache/bin/apachectl stop

/usr/local/apache/bin/apachectl start

Dengan demikian, ntar di browser, cara memanggilnya adalah dengan mengetikanalamat berikut : localhost/pemilu atau localhost/pemilu/index.html

8.4 Memulai Proyek

Antasena mondar-mandir mengitari kamarnya. Sangat sulit untuk memulaibagian ini. Ini salah, itu salah ... Otaknya yang memang kadang-kadang sajaencer, sekarang lagi kambuh.”Udahlah dari pada bingung-bingung gue mulai aja ...”, gumannya kepadadirinya sendiri.”Ini nih barang berharga gue”, sambil menimang-nimang handy drive yang se-lalu dibawa ke mana-mana. Ya ... karena di situlah Antasena menyimpan semuaide-idenya, dari ide gila sampai ide tak wajar. Kalo ditanya, paling Antasenabilang, ”Ya biar aja, sekarang ide gila, siapa tahu besok jadi ide beneran”.”Alhamdulillaahi ahyana ba’da ma amatana wa ilaihi nusyur ...”, suara adzanShubuh dari masjid membangunkan Antasena, do’a syukur mengalir dari kedala-man hati Antasena yang paling dalam. Memulai hari dengan penuh syukur atassegala nikmat Allah yang selalu hadir. Meskipun kemudian, ”Wadow ... qiya-mul lail gue ketinggalan lagi ...”, Antasena berkata kepada dirinya sendiri. Tapigue kan udah punya niat. Alarm udah diidupin. Yah ... mo gimana lagi ... Tapi... eit ... tunggu dulu ... Berarti gue bikin aja modul untuk merekam identitasTPS. Kan ... nanti data suara harus ada asal TPS-nya. Modul pemasukandata TPS ini dipilih dari menu utama sesuai dengan daerah pemilihan (dp)masing-masing.

***

Page 80: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

66 BAB 8. KETIBAN PROYEK PAHALA

Begitulah ... ide kadang diperoleh ketika bangun tidur. Kadang ketika sedangnaik motor di jalan. Kadang ketika jalan menuju kampus. Hari-hari pun berlaludengan kesibukan mengembangan sistem informasi pemilu untuk tingkat KotaBandar Lampung.

***

TPS ada di tiap kelurahan. Kelurahan digabung menjadi kecamatan. Beber-apa kecamatan membentuk Daerah Pemilihan (DP). Dalam satu Kodya atauKabupaten ada beberapa DP. Kalo di Bandar Lampung ada 5 DP, yaitu :

1. DP 1 terdiri atas 3 kecamatan yaitu Kedaton, Rajabasa, dan TanjungSenang.

2. DP 2 terdiri atas 3 kecamatan yaitu Sukarame, Sukabumi dan TanjungKarang Timur.

Ehm ... mungkin enaknya dari awal, disediakan menu pilihan per dp aja kali ya... Jadi kurang lebih begini jadinya (maaf ya ... terus terang gambar yang inibikinnya pake Power Point ... :-), soalnya pake GIMP masih kagok) Jadi isi file

Gambar 8.1: Rancangan File index.html

index.html gue tulis kayak gini

<html>

<title> Sistem Informasi Pendataan Suara Pemilu 2004 </title>

<center>

<img src=’logo_pks.gif’>

Jadi isi {\itshape file} {\bfseries index.html} {\itshape gue}

tulis {\itshape kayak gini}

\begin{verbatim}

<html>

Page 81: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

8.4. MEMULAI PROYEK 67

<title> Sistem Informasi Pendataan Suara Pemilu 2004 </title>

<center>

<img src=’logo_pks.gif’>

<br> <h1> Sistem Informasi Pendataan Suara Pemilu 2004 </h1>

<form>

<hr>

Pemilihan Anggota DPR Tingkat Kota

<table border=1>

<tr> <td>

<input type=button value=’Daerah Pemilihan 1’

onclick="location.href=’dp1.php’"> </td></tr>

<tr> <td>

<input type=button value=’Daerah Pemilihan 2’

onclick="location.href=’dp2.php’"> </td></tr>

<tr> <td>

<input type=button value=’Daerah Pemilihan 3’

onclick="location.href=’dp3.php’"> </td></tr>

<tr> <td>

<input type=button value=’Daerah Pemilihan 4’

onclick="location.href=’dp4.php’"> </td></tr>

<tr> <td>

<input type=button value=’Daerah Pemilihan 5’

onclick="location.href=’dp5.php’"> </td></tr>

</table>

</form>

</center>

</html>

Panjang banget file index.html-nya. Eh ... boss ... itu belum seberapa. Kaloudah bikin sistem beneran satu file bisa puluhan, ratusan, atau bahkan ribuanbaris. Gini penjelasannya :

1. Tag < html >. Tag ini dipake karena kita membuat sebuah file html,dalam hal ini index.html. Setiap tag umumnya selalu berpasangan, se-hingga file html diawali dengan < html > dan diakhiri dengan < /html >.Gitu coy.

2. Tag < title > ini dipake untuk menampilkan tulisan yang nantinya akantampak disudut kiri atas pada browser. Nulis apa aja boleh dalam tag ini,yang penting nulis yang baek-baek, kalo nggak mending biarin kosong aja.

3. Tag < center > dipake supaya semua tampilan yang ada, entah itu tulisan,gambar, ato apa aja akan diletakkan di tengah-tengah layar. Tag ini harussepasang ya ...

4. Tag < img src =′ file− gambar − apa− aja.xxx′ >. Nah ... biar sistemyang dibuat nggak hambar tapi ada unsur keindahan, atau animasi makasuatu gambar bisa dimasukkan dengan tag ini.

Page 82: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

68 BAB 8. KETIBAN PROYEK PAHALA

5. Tag < h1 > gunanya untuk membuat tulisan dengan ukuran besar sesuaidengan standar header, diakhiri dengan < /h1 >.

6. itshape Tag < form > dipakai kalo di dalam halaman web terdapattag < input type = ... >. Biasanya tag ini dipasang supaya web yangdibuat bisa berinteraksi dengan pemakai, baik untuk memasukkan da-ta, meng-click button, dan sebagainya. Jika dikombinasikan dengan tag< input type = submit value =′ Rekam′ > di mana pemakai bisa mengk-lik button Rekam, maka tag-nya dilengkapi menjadi < form method =POST action =′ namaf ile php.php′ >. He ... he ... soal method=POSTbaca lagi Chapter Input Data. Pada pemakaian di index.html, < form >hanya berkaitan dengan < input type = button onclick = ... > yang hanyaberupa link biasa, tidak ada nilai variabel yang dibawa ke halaman webberikutnya.

7. Tag < hr > kalo gak salah kependekan dari kepanjangannya ... :-) yaituhorizontal rule gunanya untuk membuat garis mendatar. Kalo garis miringgimana ? Loe aja yang miring sendiri.

8. Tag < table > dipake untuk membuat tabel. Jika tabel tabel akan diberibingkai maka tag menjadi < table border = 1 >. Kalo < table border =0 > hasilnya seperti apa ? Coba aja sendiri. Pada akhir tabel, kamu mestipasang < /table >.

9. Tag < tr > dan < td > dipake untuk membuat baris dan kolom padasuatu tabel. < tr > untuk baris dan < td > untuk kolom. Misalnya kayakgini :

<tr> <td> baris 1 kolom 1 </td> <td> baris 1 kolom 2 </td> </tr>

<tr> <td> baris 2 kolom 1 </td> <td> baris 2 kolom 2 </td> </tr>

<tr> <td> baris 3 kolom 1 </td> <td> baris 3 kolom 2 </td> </tr>

Hasilnya (moga-moga jelas ya ...) :

Gambar 8.2: Bikin Tabel

10. Tag < input type = button... > digunakan untuk membuat link yang beru-pa button. Link kan bisa juga dibuat dengan tag < a href =′ file.php′ >.Bedanya hanya masalah tampilan saja. Contoh berikut mudah-mudahanbisa memberikan penjelasan yang gamblang.

<table border=1>

<tr> <td>Link dengan button</td> <td> Link biasa</td></tr>

<tr> <td>

Page 83: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

8.4. MEMULAI PROYEK 69

<input type=button value=’Daerah Pemilihan 1’

onclick="location.href=’dp1.php’"> </td>

<td><a href=’dp1.php’>Daerah Pemilihan 1</a></td>

</tr>

<tr> <td>

<input type=button value=’Daerah Pemilihan 2’

onclick="location.href=’dp2.php’"> </td>

<td><a href=’dp2.php’>Daerah Pemilihan 2</a></td>

</tr>

<tr> <td>

<input type=button value=’Daerah Pemilihan 3’

onclick="location.href=’dp3.php’"> </td>

<td><a href=’dp3.php’>Daerah Pemilihan 3</a></td>

</tr>

<tr> <td>

<input type=button value=’Daerah Pemilihan 4’

onclick="location.href=’dp4.php’"> </td>

<td><a href=’dp4.php’>Daerah Pemilihan 4</a></td>

</tr>

<tr> <td>

<input type=button value=’Daerah Pemilihan 5’

onclick="location.href=’dp5.php’"> </td>

<td><a href=’dp5.php’>Daerah Pemilihan 5</a></td>

</tr>

</table>

Dengan hasil running seperti gini :

Gambar 8.3: Bikin Link dengan Button dan Link Biasa

Page 84: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

70 BAB 8. KETIBAN PROYEK PAHALA

Sedangkan pada index.html tersebut di atas, tag < input type = button >yang dipakai seperti ini :

<tr> <td>

<input type=button value=’Daerah Pemilihan 1’

onclick="location.href=’dp1.php’">

</td></tr>

Artinya, jika pemakai mengklik button Daerah Pemilihan 1 maka prosesakan diteruskan ke file dp1.php.

***

Ok dech ... gue mo mabit dulu, jadi ntar aja diterusin lagi ngobrolnya.

***

Mentari pagi masih malu menampakkan diri, berlindung di balik awan, menyem-bunyikan wajahnya yang putih berseri dan lebih putih dari kulit Sinta apalagiSanti. Alunan nasyid pendongkrak semangat perjuangan dari Ar Ruhul Jadidmengiringi bergeliatnya hari Selasa ini. Antasena terlihat lagi asyik ngoprekPHP-nya. Antasena ingin mencoba program index.html yang kemarin dibu-atnya. Segera dibukanya browser Galeon, dan kemudian pada bagian addressditulisnya :

localhost/pemilu/index.html

Hasilnya ... satu detik ... dua detik ... tiga detik ... Site not found. Wow... kenapa ya ? Antasena tertegun melihat hasil eksekusi program yang telahdibuatnya. Coba gue cek dulu server udah hidup ato belum ... Maka Antasenamencari Terminal dan ...

nmap localhost

Di layar pun keluar informasi

Starting nmap V. 3.00 ( www.insecure.org/nmap/ )

Interesting ports on note.adpc.unila.ac.id (127.0.0.1):

(The 1591 ports scanned but not shown below are in state: closed)

Port State Service

21/tcp open ftp

23/tcp open telnet

25/tcp open smtp

111/tcp open sunrpc

513/tcp open login

515/tcp open printer

1024/tcp open kdm

1025/tcp open NFS-or-IIS

6000/tcp open X11

10000/tcp open snet-sensor-mgmt

Nmap run completed -- 1 IP address (1 host up) scanned in 3 seconds

Page 85: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

8.5. LATIHAN MEMPERSIAPKAN DATABASE 71

Ya ila ... pantes aja orang server Apache-nya belum diidupin. Kalo udah iduptandanya ada service http yang di-open.

/usr/local/apache/bin/apachectl start --> ngidupin Apache web server

Kalo mo enak sebenarnya service ini bisa diaktifkan tiap kali komputer bootingke mesin Linux. Sekalian juga cek di proxy dengan cara Setting- Preference-Advance-Network-Proxy pada pilihan No proxy for : tambah dengan lo-calhost. Insyaa Allah hasilnya :

Gambar 8.4: Modul Pilihan Daerah Pemilihan (DP)

8.5 Latihan Mempersiapkan database

Ehm ... sistem ini adalah sistem untuk pendataan hasil pemilu legislatif. Untukpemilu legislatif ini, wakil yang dipilih kan ada wakil tingkat kabupaten, tingkatpropinsi, dan tingkat pusat. Ada juga suara yang tidak mewakili parpol, yaituDPD. Penghitungan suara dilakukan per daerah pemilihan. Kemudian ... tem-pat pemungutan suara (tps) dibuat per kelurahan. Ehm ... jadi paling tidakada tabel-tabel untuk menyimpan data-data : tps, kelurahan, perolehan suarakabupaten, perolehan suara propinsi, perolehan suara pusat.OK man ... sekarang kita mulai pekerjaan kita. Nah ... oleh karenanya buatlahsuatu basis data yang memiliki tabel-tabel seperti berikut :

8.5.1 Tabel tps

Memiliki struktur atribut seperti ini :

+-------------+----------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-------------+----------+------+-----+---------+-------+

| dp | char(1) | | PRI | | |

| kelurahan | char(10) | | PRI | | |

| no_tps | int(11) | | PRI | 0 | |

| alamat_tps | char(57) | YES | | NULL | |

Page 86: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

72 BAB 8. KETIBAN PROYEK PAHALA

| saksi | char(57) | YES | | NULL | |

| cp | char(57) | YES | | NULL | |

| hp_cp | char(27) | YES | | NULL | |

| kode_gabung | char(14) | YES | | NULL | |

+-------------+----------+------+-----+---------+-------+

8.5.2 Tabel kelurahan

Memiliki struktur atribut seperti ini :

+------------+----------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+------------+----------+------+-----+---------+-------+

| kode | char(10) | | PRI | | |

| keterangan | char(30) | YES | | NULL | |

+------------+----------+------+-----+---------+-------+

8.5.3 Tabel Perolehan suara tingkat kabupaten

Memiliki struktur atribut seperti ini :

+-------------+----------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-------------+----------+------+-----+---------+-------+

| dp | char(1) | YES | | NULL | |

| kecamatan | char(6) | YES | | NULL | |

| kelurahan | char(10) | YES | | NULL | |

| nomor_tps | int(11) | YES | | NULL | |

| partai_01 | int(11) | YES | | 0 | |

| partai_02 | int(11) | YES | | 0 | |

| partai_03 | int(11) | YES | | 0 | |

| partai_04 | int(11) | YES | | 0 | |

| partai_05 | int(11) | YES | | 0 | |

| partai_06 | int(11) | YES | | 0 | |

| partai_07 | int(11) | YES | | 0 | |

| partai_08 | int(11) | YES | | 0 | |

| partai_09 | int(11) | YES | | 0 | |

| partai_10 | int(11) | YES | | 0 | |

| partai_11 | int(11) | YES | | 0 | |

| partai_12 | int(11) | YES | | NULL | |

| partai_13 | int(11) | YES | | NULL | |

| partai_14 | int(11) | YES | | NULL | |

| partai_15 | int(11) | YES | | NULL | |

| partai_16 | int(11) | YES | | NULL | |

| partai_16_0 | int(11) | YES | | NULL | |

| partai_16_1 | int(11) | YES | | NULL | |

| partai_16_2 | int(11) | YES | | NULL | |

| partai_16_3 | int(11) | YES | | NULL | |

| partai_16_4 | int(11) | YES | | NULL | |

| partai_16_5 | int(11) | YES | | NULL | |

| partai_16_6 | int(11) | YES | | NULL | |

Page 87: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

8.5. LATIHAN MEMPERSIAPKAN DATABASE 73

| partai_16_7 | int(11) | YES | | NULL | |

| partai_16_8 | int(11) | YES | | NULL | |

| partai_16_9 | int(11) | YES | | NULL | |

| partai_17 | int(11) | YES | | NULL | |

| partai_18 | int(11) | YES | | NULL | |

| partai_19 | int(11) | YES | | NULL | |

| partai_20 | int(11) | YES | | NULL | |

| partai_21 | int(11) | YES | | NULL | |

| partai_22 | int(11) | YES | | NULL | |

| partai_23 | int(11) | YES | | NULL | |

| partai_24 | int(11) | YES | | NULL | |

| kode_gabung | char(14) | YES | | NULL | |

+-------------+----------+------+-----+---------+-------+

8.5.4 Tabel Perolehan suara tingkat propinsi

Memiliki struktur atribut seperti ini :

+-------------+----------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-------------+----------+------+-----+---------+-------+

| dp | char(1) | YES | | NULL | |

| kecamatan | char(6) | YES | | NULL | |

| kelurahan | char(10) | YES | | NULL | |

| nomor_tps | int(11) | YES | | NULL | |

| partai_01 | int(11) | YES | | 0 | |

| partai_02 | int(11) | YES | | 0 | |

| partai_03 | int(11) | YES | | 0 | |

| partai_04 | int(11) | YES | | 0 | |

| partai_05 | int(11) | YES | | 0 | |

| partai_06 | int(11) | YES | | 0 | |

| partai_07 | int(11) | YES | | 0 | |

| partai_08 | int(11) | YES | | 0 | |

| partai_09 | int(11) | YES | | 0 | |

| partai_10 | int(11) | YES | | 0 | |

| partai_11 | int(11) | YES | | 0 | |

| partai_12 | int(11) | YES | | NULL | |

| partai_13 | int(11) | YES | | NULL | |

| partai_14 | int(11) | YES | | NULL | |

| partai_15 | int(11) | YES | | NULL | |

| partai_16 | int(11) | YES | | NULL | |

| partai_16_0 | int(11) | YES | | NULL | |

| partai_16_1 | int(11) | YES | | NULL | |

| partai_16_2 | int(11) | YES | | NULL | |

| partai_16_3 | int(11) | YES | | NULL | |

| partai_16_4 | int(11) | YES | | NULL | |

| partai_16_5 | int(11) | YES | | NULL | |

| partai_16_6 | int(11) | YES | | NULL | |

| partai_16_7 | int(11) | YES | | NULL | |

| partai_16_8 | int(11) | YES | | NULL | |

Page 88: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

74 BAB 8. KETIBAN PROYEK PAHALA

| partai_16_9 | int(11) | YES | | NULL | |

| partai_17 | int(11) | YES | | NULL | |

| partai_18 | int(11) | YES | | NULL | |

| partai_19 | int(11) | YES | | NULL | |

| partai_20 | int(11) | YES | | NULL | |

| partai_21 | int(11) | YES | | NULL | |

| partai_22 | int(11) | YES | | NULL | |

| partai_23 | int(11) | YES | | NULL | |

| partai_24 | int(11) | YES | | NULL | |

| kode_gabung | char(14) | YES | | NULL | |

+-------------+----------+------+-----+---------+-------+

8.5.5 Tabel Perolehan suara tingkat pusat

Memiliki struktur atribut seperti ini :

+-------------+----------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-------------+----------+------+-----+---------+-------+

| dp | char(1) | YES | | NULL | |

| kecamatan | char(6) | YES | | NULL | |

| kelurahan | char(10) | YES | | NULL | |

| nomor_tps | int(11) | YES | | NULL | |

| partai_01 | int(11) | YES | | 0 | |

| partai_02 | int(11) | YES | | 0 | |

| partai_03 | int(11) | YES | | 0 | |

| partai_04 | int(11) | YES | | 0 | |

| partai_05 | int(11) | YES | | 0 | |

| partai_06 | int(11) | YES | | 0 | |

| partai_07 | int(11) | YES | | 0 | |

| partai_08 | int(11) | YES | | 0 | |

| partai_09 | int(11) | YES | | 0 | |

| partai_10 | int(11) | YES | | 0 | |

| partai_11 | int(11) | YES | | 0 | |

| partai_12 | int(11) | YES | | NULL | |

| partai_13 | int(11) | YES | | NULL | |

| partai_14 | int(11) | YES | | NULL | |

| partai_15 | int(11) | YES | | NULL | |

| partai_16 | int(11) | YES | | NULL | |

| partai_16_0 | int(11) | YES | | NULL | |

| partai_16_1 | int(11) | YES | | NULL | |

| partai_16_2 | int(11) | YES | | NULL | |

| partai_16_3 | int(11) | YES | | NULL | |

| partai_16_4 | int(11) | YES | | NULL | |

| partai_16_5 | int(11) | YES | | NULL | |

| partai_16_6 | int(11) | YES | | NULL | |

| partai_16_7 | int(11) | YES | | NULL | |

| partai_16_8 | int(11) | YES | | NULL | |

| partai_16_9 | int(11) | YES | | NULL | |

| partai_17 | int(11) | YES | | NULL | |

Page 89: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

8.5. LATIHAN MEMPERSIAPKAN DATABASE 75

| partai_18 | int(11) | YES | | NULL | |

| partai_19 | int(11) | YES | | NULL | |

| partai_20 | int(11) | YES | | NULL | |

| partai_21 | int(11) | YES | | NULL | |

| partai_22 | int(11) | YES | | NULL | |

| partai_23 | int(11) | YES | | NULL | |

| partai_24 | int(11) | YES | | NULL | |

| kode_gabung | char(14) | YES | | NULL | |

+-------------+----------+------+-----+---------+-------+

8.5.6 Tabel rekapitulasi suara tingat kabupaten

Memiliki struktur atribut seperti ini :

+--------------+----------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+--------------+----------+------+-----+---------+-------+

| no_partai | int(11) | YES | | NULL | |

| nama_partai | char(67) | YES | | NULL | |

| jumlah_suara | int(11) | YES | | 0 | |

| caleg_16_1 | int(11) | YES | | 0 | |

| caleg_16_2 | int(11) | YES | | 0 | |

| caleg_16_3 | int(11) | YES | | 0 | |

| caleg_16_4 | int(11) | YES | | 0 | |

| caleg_16_5 | int(11) | YES | | 0 | |

| caleg_16_6 | int(11) | YES | | 0 | |

| caleg_16_7 | int(11) | YES | | 0 | |

| caleg_16_8 | int(11) | YES | | 0 | |

| caleg_16_9 | int(11) | YES | | 0 | |

| caleg_16_0 | int(11) | YES | | 0 | |

| jumlah_semua | int(11) | YES | | 0 | |

+--------------+----------+------+-----+---------+-------+

8.5.7 Tabel rekapitulasi suara tingat propinsi

Memiliki struktur atribut seperti ini :

+--------------+----------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+--------------+----------+------+-----+---------+-------+

| no_partai | int(11) | YES | | NULL | |

| nama_partai | char(67) | YES | | NULL | |

| jumlah_suara | int(11) | YES | | 0 | |

| caleg_16_1 | int(11) | YES | | 0 | |

| caleg_16_2 | int(11) | YES | | 0 | |

| caleg_16_3 | int(11) | YES | | 0 | |

| caleg_16_4 | int(11) | YES | | 0 | |

| caleg_16_5 | int(11) | YES | | 0 | |

| caleg_16_6 | int(11) | YES | | 0 | |

| caleg_16_7 | int(11) | YES | | 0 | |

| caleg_16_8 | int(11) | YES | | 0 | |

Page 90: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

76 BAB 8. KETIBAN PROYEK PAHALA

| caleg_16_9 | int(11) | YES | | 0 | |

| caleg_16_0 | int(11) | YES | | 0 | |

| jumlah_semua | int(11) | YES | | 0 | |

+--------------+----------+------+-----+---------+-------+

8.5.8 Tabel rekapitulasi suara tingat pusat

Memiliki struktur atribut seperti ini :

+--------------+----------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+--------------+----------+------+-----+---------+-------+

| no_partai | int(11) | YES | | NULL | |

| nama_partai | char(67) | YES | | NULL | |

| jumlah_suara | int(11) | YES | | 0 | |

| caleg_16_1 | int(11) | YES | | 0 | |

| caleg_16_2 | int(11) | YES | | 0 | |

| caleg_16_3 | int(11) | YES | | 0 | |

| caleg_16_4 | int(11) | YES | | 0 | |

| caleg_16_5 | int(11) | YES | | 0 | |

| caleg_16_6 | int(11) | YES | | 0 | |

| caleg_16_7 | int(11) | YES | | 0 | |

| caleg_16_8 | int(11) | YES | | 0 | |

| caleg_16_9 | int(11) | YES | | 0 | |

| caleg_16_0 | int(11) | YES | | 0 | |

| jumlah_semua | int(11) | YES | | 0 | |

+--------------+----------+------+-----+---------+-------+

8.5.9 Tabel caleg

Memiliki struktur atribut seperti ini :

+-------------+----------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-------------+----------+------+-----+---------+-------+

| dp | char(1) | YES | | NULL | |

| nomor_caleg | int(11) | YES | | NULL | |

| nama_caleg | char(27) | YES | | NULL | |

+-------------+----------+------+-----+---------+-------+

8.6 Contoh Penyelesaian

Waduhhhhhh ... buanyaaaaak banget boooooo ... Tenang kawan ... kalau kitaberfikir dengan cara tradisional, maka sangat sangat terlihat bahwa tabel yangakan dibuat banyak. Maksudnya bagaimana ? Kalau kita punya solusi sepertiini :

create database 2005_pemilu_asril;

use 2005_pemilu_asril;

create table tps (

Page 91: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

8.6. CONTOH PENYELESAIAN 77

dp char(1) ,

kelurahan char(10) ,

no_tps int(11) ,

alamat_tps char(57) ,

saksi char(57) ,

cp char(57) ,

hp_cp char(27) ,

kode_gabung char(14) ,

primary key(dp,kelurahan,no_tps));

Masih ingat kan ... kalau perintah-perintah tersebut dijalankan di MySQL ...? Nah ... kalau penyelesaiannya seperti itu makan keburu kiamat datang,proses pembuatan tabel belum selesai friend ... Masalah lain adalah kalau prosesini akan dilakukan di komputer lain maka mau tidak mau perintah-perintahtersebut harus ditulis ulang. Kemudian juga, kan sebenarnya ada beberapatabel yang atribut-atributnya sama persis.Nah ... oleh karena itu akan sangat-sangat lebih baik kalau perintah-perintahpembuatan tabel itu kamu buat dalam suatu script PHP. Apa bisa ? Ya bisadong ... kan itu perintah-perintah SQL juga. Jadi ... kita buat script PHPuntuk membuat tabel tps yang isinya seperti berikut :

<?

$akses = mysql_connect("localhost","root","kuncine");

if ($akses)

{

mysql_select_db("pemilu");

$perintah = "drop table tps";

mysql_query($perintah);

$perintah = "create table tps (

dp CHAR (1) not null,

kelurahan char(10) not null,

no_tps integer not null,

alamat_tps char(57),

saksi char(57),

cp char(57),

hp_cp char(27),

kode_gabung char(14),

primary key (dp,kelurahan,no_tps)

)";

$mKUNCI = mysql_query($perintah);

if ($mKUNCI)

{

echo "Tabel tps telah dibuat";

}

else

{

echo "<br> Proses gagal ... ";

}

}

else

{

Page 92: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

78 BAB 8. KETIBAN PROYEK PAHALA

echo ("Basis data Pemilu tidak tersedia ... ");

}

?>

Menjalankannya ? Mudah saja ... tinggal buka browser kemudian isi di address-nya. Dengan demikian untuk tabel-tabel lainnya dapat dimodifikasi dari script

Gambar 8.5: Running script pembuatan tabel tps

pembuatan tps tersebut di atas. Ada tapinya kawan ... data pada suatu tabelakan hilang jika script tersebut dijalankan. Jadi jangan sembarang menjalankanscript tersebut.

8.7 Latihan Membuat Menu Utama

Tugas kamu sekarang adalah membuat menu sistem dengan tampilan dasarseperti berikut :

Gambar 8.6: Modul Sistem Tabulasi Pemilihan Umum

Alhamdulillah ... cihuuuuyyy ... Antasena berteriak sendirian. Yes ... yes... yes ... (33 kali). Sekarang coba gue klik salah satu button ... Gue pilih DP1 aja dech ... Dan klik ...

Page 93: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

8.7. LATIHAN MEMBUAT MENU UTAMA 79

Gambar 8.7: Salah karena file DP-1

He ... he ... he ... terang error orang file dp1.php sebagai target link belumdibuat. Antasena cengar-cengir sendiri. Jadi sekarang harus dibuat script yangakan dijalankan kalau pemakai mengklik setiap menu. Untuk menu DP-1 sam-pai DP-5, modelnya sama, hanya berbeda keterangan DP-nya saja. Berikut inicontoh jika pemakai mengklik DP-1 atau DP-5.

Gambar 8.8: Menu untuk file DP-1

Gambar 8.9: Menu untuk file DP-5

Sedangkan jika pemakai mengklik menu pemilihan tingkat propinsi, akan di-tampilkan menu seperti berikut :

Sedangkan jika pemakai mengklik menu pemilihan tingkat pusat, akan dita-mpilkan menu seperti berikut :

Page 94: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

80 BAB 8. KETIBAN PROYEK PAHALA

Gambar 8.10: Menu untuk tingkat propinsi

Gambar 8.11: Menu untuk tingkat pusat

8.8 Latihan Pemasukan Data TPS

Pada dasarnya, pemasukan data yang ada dapat dikelompokkan menjadi duabagian besar yaitu data identitas tps dan data hasil pemilu. Dua bagian ini akanselalu ada pada setiap jenjang hasil pemilu baik tingkat kabupaten, propinsi,dan pusat.Data-data tersebut kemudian dikelompokkan per kelurahan untuk mempersem-pit klasifikasi data.Buatlah modul untuk pengelolaan data tps yang dimulai dengan pertanyaannama kelurahannya. Oh ya ... sebelumnya, kalau kita kembali merunut darimenu sebelumnya, maka kaitannya seperti berikut : Menu Utama Sistem - MenuDP-1 tingkat Kabupaten/Kota - Entri TPS, dan hasilnya seperti berikut :

Pilihan ’Data baru’ digunakan untuk memasukkan data tps baru, pilihan ’Edit’

Page 95: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

8.8. LATIHAN PEMASUKAN DATA TPS 81

Gambar 8.12: Menu TPS untuk tingkat kabupaten

untuk memperbaiki data tps yang sudah ada sedangkan pilihan ’Delete’ untukmenghapus data tps. Berikut ini adalah proses yang terjadi jika pilihan-pilihantersebut dilakukan.

Gambar 8.13: Menu Pemasukan Data TPS Baru

Catatan ya ... khusus untuk pengisian kelurahan dilakukan dengan model ’dropdown’. Mengapa harus begini ? Ya ... karena kode kelurahan harus diisi den-gan kode yang benar. Jika pemakai bisa mengisi kode sendiri, bisa jadi kodenyaakan salah. Tetapi jika pemakai memilih dari daftar kode yang ada, maka kemu-ngkinan mengisi dengan kode yang tidak ada (kode yang salah) bisa dikatakantidak ada.Contoh pengisian kelurahan tampak seperti berikut :

Untuk lebih meyakinkan, maka setelah data diisi semua dan pemakai mengklik

Page 96: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

82 BAB 8. KETIBAN PROYEK PAHALA

Gambar 8.14: Drop down pilihan kelurahan

pilihan ’Rekam’ maka keluar pesan seperti berikut :

Gambar 8.15: Menu Perekaman Data TPS

8.9 Latihan Pengeditan Data TPS

Modul ini cukup penting. Kok cuman cukup penting, bukan ’sangat’ penting.Ya ... karena kita masih bisa melakukan perbaikan data meskipun tanpa modul’Edit’. Lantas caranya ? Mudah saja. Hapus data tersebut, terus entri lagisesuai dengan data yang benar. Betul kan ... Oh ... iya juga.Modul ini akan dijalankan kalau pemakai memilih menu Edit dari Menu TPStingkat kabupaten. Setelah pemakai mengklik pilihan Edit data TPS maka akanditampilkan data seluruh TPS diurut berdasarkan kelurahan dan nomor TPS.Contohnya seperti berikut :

Page 97: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

8.10. LATIHAN PNGHAPUSAN DATA TPS 83

Gambar 8.16: Daftar TPS yang Akan Diedit

Nah kalo misalkan kamu akan memperbaiki TPS no. 4 di kelurahan Sukamenan-ti, maka tinggal klik aja dan hasilnya seperti ini :

Gambar 8.17: Edit TPS No. 4 Kel. Sukamenanti

Lantas kalo kamu klik rekam, maka data akan direkam dan keluar pesan sebagaiberikut :

Gambar 8.18: Rekam Edit TPS No. 4 Kel. Sukamenanti

8.10 Latihan Pnghapusan Data TPS

Kalau kita yakin tidak ada data yang akan dihapus, maka modul ini sebenarnyatidak perlu. Sebaliknya kalau kita tidak yakin bahwa tidak akan ada data yang

Page 98: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

84 BAB 8. KETIBAN PROYEK PAHALA

tidak akan tidak dihapus (bingung kan ya ...) maka modul penghapusan dataharus disediakan.Masih ingat dengan Menu TPS untuk tingkat kabupaten yang sebelumnya su-dah dibuat kan ? Ya ... di situ kan ada pilihan untuk memasukkan data baru,mengedit data atau menghapus data yang sudah ada. Sekedar mengingatkan... you can see this picture.

Gambar 8.19: Menu TPS untuk tingkat kabupaten

Setelah pemakai mengklik tombol Delete (Hapus) maka akan keluar layar un-tuk konfirmasi bahwa pemakai benar-benar yakin akan menghapus data TPStersebut.

Gambar 8.20: Konfirmasi Hapus Data TPS

Jika pemakai yakin dan ditandai dengan mengklik tombol Hapus, maka dataTPS tersebut akan dihapus.

Page 99: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

8.11. LATIHAN PEMASUKAN DATA PEROLEHAN SUARA 85

Gambar 8.21: Data TPS Sudah Dihapus

8.11 Latihan Pemasukan Data Perolehan Suara

”Ok kawan-kawan ... Sekarang kita akan mencoba membuat program untukmemasukkan data perolehan suara dari TPS”, kata Antasena memulai acarapraktikum hari ini.”Apa sih bedanya dengan pemasukan data identitas TPS?”, tanya Luni.”Bedanya ... Apa bedanya aku dengan monyet?”, Antasena balik bertanya.”Oh ... kalo itu sih gampang. Bedanya kamu ama monyet ... Gak ada bedanya...!”, jawab Luni sekenanya.”Itulah kalau jadi orang yang gak kritis sama Darwin.”, jawab Antasena gakmau kalah.”Jadi gini ... Data identitas TPS itu akan jadi acuan untuk pengisian perolehansuara tiap TPS. Kemudian dalam data identitas TPS tidak ada angka-angkayang akan dioperasikan secara matematis atau dengan kata lain data ya cumandisimpan aja ...”, terang Antasena. Mudah-mudahan kamu semua masih ingetdengan menu untuk DP-1 atau DP-5 pada latihan sebelumnya. Nah ... di sanakan ada pilihan Data Suara dari TPS yang kemudian ada pilihan Entri atauEdit-Hapus. Jika pemakai memilih menu Entri maka akan keluar tampilan :

Gambar 8.22: Menu Pemasukan Perolehan Suara

Jadi diawali dengan pertanyaan kelurahan dan nomor TPS yang akan dima-sukkan hasil perolehan suaranya. Kemudian setelah pemakai mengklik pilihanEntri, maka proses pemasukan hasil perolehan suara pemilu tampak sepertiberikut :

Page 100: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

86 BAB 8. KETIBAN PROYEK PAHALA

Gambar 8.23: Detail Pemasukan Perolehan Suara dari TPS

Gambar di atas hanya menunjukkan sebagian nama-nama partai. Di dalamtampilan aslinya sih ada 24 partai. Tapi karena lagi males lagian gambarnyaterlalu besar, jadi hanya diberi potongannya aja.Berikut ini adalah nama-nama lengkap partai dan disesuaikan dengan atributpada tabel perolehan suara.”Kalo kamu orang gak suka nama-nama itu ... Bisa aja diganti dengan Par-tai Jambu, Partai Godhong Gedhang, Partai Iwak Ayam seperti yang pernahterjadi di KPU ... ”, kata Antasena sambil cengar-cengir.

Page 101: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

8.11. LATIHAN PEMASUKAN DATA PEROLEHAN SUARA 87

Gambar 8.24: Partai Peserta Pemilu Legislatis 2004

Setelah data dimasukkan dan kemudian pemakai mengklik tombol Rekam, makadata akan direkam. Jika data ternyata sudah ada, maka akan keluar pesan :

Gambar 8.25: Pesan Kesalahan Waktu Perekaman

Kenapa demikian ... ? Kalau data sudah ada maka harus melalui proses edit.

Page 102: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

88 BAB 8. KETIBAN PROYEK PAHALA

Page 103: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

Bagian VIII

Penutup Buku

89

Page 104: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan
Page 105: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

Bab 9

Penutup

9.1 Harapan dan Impian

Buku ini belum mencapai titik penghabisan, sehingga dari hitungan detik kedetik bisa jadi sudah ada versi yang lebih baru ... Insyaa Allah ...

91

Page 106: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

92 BAB 9. PENUTUP

Page 107: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

Bagian IX

Penyelesaian Soal-Soal

93

Page 108: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan
Page 109: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

Bab 10

Contoh PenyelesianSoal-Soal Proyek

Dari berbagai SMS, email, voice mail bahkan sampai miss call yang masuk, ma-ka Antasena memberi soal-soal penyelesaian untuk latihan-latihan yang diberikan.Jelas beberapa bagian harus disesuaikan seperti nama basis data, nama tabel,nama pemakai dan kata kunci pada proses koneksi ke MySQL, dan sebagainya.

10.1 Latihan Mempersiapkan database

Berikut ini contoh script tambahan untuk pembuatan tabel.

<?

/* script untuk membuat tabel kelurahan */

$akses = mysql_connect("hoste","sing_nganggo","kuncine");

if ($akses)

{

mysql_select_db("pemilu");

$perintah = "create table kelurahan (

kode CHAR (10) not null,

keterangan char(30),

primary key (kode)

)";

$mKUNCI = mysql_query($perintah);

if ($mKUNCI)

{

echo "Tabel kelurahan telah dibuat";

}

else

{

echo "<br> Proses gagal ... ";

}

}

else

{

95

Page 110: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

96 BAB 10. CONTOH PENYELESIAN SOAL-SOAL PROYEK

echo ("Basis data Pemilu tidak tersedia ... ");

}

?>

Script untuk membuat tabel perolehan suara pemilu untuk tingkat kabupaten.

<?

$akses = mysql_connect("localhost","root","sejahtera");

if ($akses)

{

mysql_select_db("pemilu");

$perintah = "drop table suara";

mysql_query($perintah);

$perintah = "create table suara (

dp CHAR (1) ,

kecamatan CHAR (6) ,

kelurahan char (10) ,

nomor_tps integer,

partai_01 integer default 0,

partai_02 integer default 0,

partai_03 integer default 0,

partai_04 integer default 0,

partai_05 integer default 0,

partai_06 integer default 0,

partai_07 integer default 0,

partai_08 integer default 0,

partai_09 integer default 0,

partai_10 integer default 0,

partai_11 integer default 0,

partai_12 integer,

partai_13 integer,

partai_14 integer,

partai_15 integer,

partai_16 integer,

partai_16_0 integer,

partai_16_1 integer,

partai_16_2 integer,

partai_16_3 integer,

partai_16_4 integer,

partai_16_5 integer,

partai_16_6 integer,

partai_16_7 integer,

partai_16_8 integer,

partai_16_9 integer,

partai_17 integer,

partai_18 integer,

partai_19 integer,

partai_20 integer,

partai_21 integer,

partai_22 integer,

Page 111: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

10.2. LATIHAN MEMBUAT MENU UTAMA 97

partai_23 integer,

partai_24 integer,

kode_gabung char(14)

)";

$mKUNCI = mysql_query($perintah);

if ($mKUNCI)

{

echo "Tabel suara telah dibuat";

}

else

{

echo "<br> Proses gagal ... ";

}

}

else

{

echo ("Basis data Pemilu tidak tersedia ... ");

}

?>

10.2 Latihan Membuat Menu Utama

Berikut ini contoh script lengkap untuk menu utama sistem, termasuk di dalam-nya menu-menu untuk informasi yang dihasilkan.

<html>

<title> Sistem Informasi Pendataan Suara Pemilu 2004 </title>

<center>

<img src=’logo.gif’>

<br> <h1> Sistem Informasi Pendataan Suara Pemilu 2004 </h1>

<form>

<hr>

Pemilihan Anggota DPR Tingkat Kota

<table border=1>

<tr> <td>

<input type=button value=’Daerah Pemilihan 1’

onclick="location.href=’dp1.php’"> </td></tr>

<tr> <td>

<input type=button value=’Daerah Pemilihan 2’

onclick="location.href=’dp2.php’"> </td></tr>

<tr> <td>

<input type=button value=’Daerah Pemilihan 3’

onclick="location.href=’dp3.php’"> </td></tr>

<tr> <td>

<input type=button value=’Daerah Pemilihan 4’

onclick="location.href=’dp4.php’"> </td></tr>

Page 112: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

98 BAB 10. CONTOH PENYELESIAN SOAL-SOAL PROYEK

<tr> <td>

<input type=button value=’Daerah Pemilihan 5’

onclick="location.href=’dp5.php’"> </td></tr>

</table>

<br> Pemilihan Anggota DPR Tingkat Propinsi

<table border=1>

<tr> <td>

<input type=button value=’Daerah Pem. Lampung 1’

onclick="location.href=’prop.php’"> </td></tr>

</table>

<br> Pemilihan Anggota DPR Tingkat Pusat

<table border=1>

<tr> <td>

<input type=button value=’Daerah Pemilihan 1’

onclick="location.href=’pusat.php’"> </td></tr>

</table>

</table>

<br> Pemilihan Anggota DPD Lampung

<table border=1>

<tr> <td>

<input type=button value=’DPD Lampung’

onclick="location.href=’dpd.php’"> </td></tr>

</table>

<hr>

<br> Pencetakan Informasi

<table border=1>

<tr> <td>Perolehan Suara Tingkat II</td>

<td> <input type=button value=’Hitung’

onclick="location.href=’menu_hitung_tk2.php’"> </td>

<td> <input type=button value=’Cetak’

onclick="location.href=’cetak_tk2.php’"> </td>

<td> <input type=button value=’Reset’

onclick="location.href=’cre_rek_tk2.php’"> </td>

</tr>

<tr> <td>Perolehan Suara Tingkat Propinsi</td>

<td> <input type=button value=’Hitung’

onclick="location.href=’hitung_propinsi.php’"> </td>

<td> <input type=button value=’Cetak’

onclick="location.href=’cetak_propinsi.php’"> </td>

<td> <input type=button value=’Reset’

onclick="location.href=’cre_rek_propinsi.php’"> </td>

</tr>

<tr> <td>Perolehan Suara Tingkat Pusat</td>

<td> <input type=button value=’Hitung’

onclick="location.href=’hitung_pusat.php’"> </td>

<td> <input type=button value=’Cetak’

onclick="location.href=’cetak_pusat.php’"> </td>

<td> <input type=button value=’Reset’

onclick="location.href=’cre_rek_pusat.php’"> </td>

Page 113: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

10.2. LATIHAN MEMBUAT MENU UTAMA 99

</tr>

<tr> <td>Perolehan Suara DPD</td>

<td> <input type=button value=’Hitung’

onclick="location.href=’hitung_dpd.php’"> </td>

<td> <input type=button value=’Cetak’

onclick="location.href=’cetak_dpd.php’"> </td>

<td> <input type=button value=’Reset’

onclick="location.href=’cre_rek_dpd.php’"> </td>

</tr>

<tr> <td>Perolehan Suara per TPS Tingkat II</td>

<td></td> <td> <input type=button value=’Cetak’

onclick="location.href=’cetak_tps_tk2.php’"> </td>

</tr>

<tr> <td>Perolehan Suara per TPS Tingkat Propinsi</td>

<td></td> <td> <input type=button value=’Cetak’

onclick="location.href=’cetak_tps_propinsi.php’"> </td>

</tr>

<tr> <td>Perolehan Suara per TPS Tingkat Pusat</td>

<td></td> <td> <input type=button value=’Cetak’

onclick="location.href=’cetak_tps_pusat.php’"> </td>

</tr>

<tr> <td>TPS yang Diindikasikan Data Belum Lengkap untuk Kota</td>

<td> </td>

<td> <input type=button value=’Cetak’

onclick="location.href=’cetak_lengkap_kota.php?id=3’"> </td>

<td> </td>

</tr>

<tr> <td>TPS yang Diindikasikan Data Belum Lengkap untuk Propinsi</td>

<td> </td>

<td> <input type=button value=’Cetak’

onclick="location.href=’cetak_lengkap_propinsi.php?id=3’"> </td>

<td> </td>

</tr>

<tr> <td>TPS yang Diindikasikan Data Belum Lengkap untuk Pusat</td>

<td> </td>

<td> <input type=button value=’Cetak’

onclick="location.href=’cetak_lengkap_pusat.php?id=3’"> </td>

<td> </td>

</tr>

<tr> <td>Jumlah Suara DPR Kota per Kelurahan </td>

<td> <input type=button value=’Hitung’

onclick="location.href=’hitung_kelurahan.php?id=1’"> </td>

<td> <input type=button value=’Cetak’

onclick="location.href=’cetak_kelurahan.php?id=1’"> </td>

<td> <input type=button value=’Reset’

onclick="location.href=’cre_rek_kelurahan.php’"> </td>

</tr>

<tr> <td>Jumlah Suara DPR Propinsi per Kelurahan </td>

<td> <input type=button value=’Hitung’

onclick="location.href=’hitung_kelurahan_propinsi.php?id=2’"> </td>

Page 114: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

100 BAB 10. CONTOH PENYELESIAN SOAL-SOAL PROYEK

<td> <input type=button value=’Cetak’

onclick="location.href=’cetak_kelurahan.php?id=2’"> </td>

<td> <input type=button value=’Reset’

onclick="location.href=’cre_rek_kelurahan.php’"> </td>

</tr>

<tr> <td>Jumlah Suara DPR Pusat per Kelurahan </td>

<td> <input type=button value=’Hitung’

onclick="location.href=’hitung_kelurahan_pusat.php?id=3’"> </td>

<td> <input type=button value=’Cetak’

onclick="location.href=’cetak_kelurahan.php?id=3’"> </td>

<td> <input type=button value=’Reset’

onclick="location.href=’cre_rek_kelurahan.php’"> </td>

</tr>

<tr> <td>Jumlah TPS yang Sudah Dientry Tingkat Kota</td>

<td> <input type=button value=’Hitung’

onclick="location.href=’hitung_tps_kota.php?id=3’"> </td>

<td> <input type=button value=’Cetak’

onclick="location.href=’cetak_tps_kota.php?id=3’"> </td>

<td> <input type=button value=’Reset’

onclick="location.href=’cre_jumlah_tps_kota.php’"> </td>

</tr>

</table>

<br> Utiliti Tambahan

<table border=1>

<tr>

<td><input type=button value=’Pembuatan Tabel’> </td>

onclick="location.href=’gawe_tabel.php’"> </td></tr>

</table>

</form>

</center>

</html>

10.2.1 Latihan Membuat Sub Menu

Script ini merupakan program yang akan dijalankan jika pemakai mengklik menuDP-1.

<?

echo "Menu pilihan DP #1 (Tingkat : Kota Bandar Lampung)";

echo "<form>";

echo "<table border=1>";

echo "<tr> <td> Menu </td> <td> Entri</td><td>Hapus</td><td> Keterangan </td> </tr>";

echo "<tr> <td> Data Suara dari TPS </td>

<td> <input type=button value=’Entri’

onclick=\"location.href=’menu_suara.php?mdp=1’\"> </td>

<td> <input type=button value=’Edit-Hapus’

onclick=\"location.href=’menu_hapus_suara.php?mdp=1’\"> </td>

<td> Pemeliharaan (Entry-Edit-Delete) Perolehan Suara Pemilu 2004 untuk DP 1</td></tr>";

echo "<tr> <td> Data TPS </td>

<td> <input type=button Value=Entri

Page 115: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

10.3. LATIHAN MEMBUAT SUB MENU 101

onclick=\"location.href=’menu_tps.php?mdp=1’\"></td>

<td> <input type=button Value=’Edit-Hapus’

onclick=\"location.href=’menu_tps.php?mdp=1’\"></td>

<td> Pemeliharaan (Entry-Edit-Delete) Data-Data TPS untuk DP 1</td></tr>";

echo "</table> <br>";

echo "Kembali ke <input type=button value=menu

onclick=\"location.href=’index.html’\" >

utama";

echo "</form>";

?>

10.2.2 Latihan Membuat Sub Menu

Script ini merupakan program yang akan dijalankan jika pemakai mengklik menuDP-5.

<?

echo "Menu pilihan DP #5";

echo "<form>";

echo "<table border=1>";

echo "<tr> <td> Menu </td> <td> Entri</td> <td>Hapus</td> <td> Keterangan </td> </tr>";

echo "<tr> <td> Data Suara dari TPS </td>

<td> <input type=button value=’Entri’

onclick=\"location.href=’menu_suara.php?mdp=5’\"> </td>

<td> <input type=button value=’Edit-Hapus’

onclick=\"location.href=’menu_hapus_suara.php?mdp=5’\"> </td>

<td> Pemeliharaan (Entry-Edit-Delete) Perolehan Suara Pemilu 2004 untuk DP 5</td></tr>";

echo "<tr> <td> Data TPS </td>

<td> <input type=button Value=Entri

onclick=\"location.href=’menu_tps.php?mdp=5’\"></td>

<td> <input type=button value=’Edit-Hapus’

onclick=\"location.href=’menu_tps.php?mdp=5’\"></td>

<td> Pemeliharaan (Entry-Edit-Delete) Data-Data TPS untuk DP 5</td></tr>";

echo "</table> <br>";

echo "Kembali ke <input type=button value=menu

onclick=\"location.href=’index.html’\"> utama";

echo "</form>";

?>

10.3 Latihan Membuat Sub Menu

Script ini merupakan program yang akan dijalankan jika pemakai mengklik menupemilu tingkat propinsi.

<?

echo "Menu pilihan DP Lampung #1 Tingkat Propinsi <br>";

echo "Wilayah : Kota Bandar Lampung <br>";

echo "<form>";

echo "<table border=1>";

echo "<tr> <td> Menu </td> <td> Entri</td><td>Hapus</td><td> Keterangan </td> </tr>";

Page 116: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

102 BAB 10. CONTOH PENYELESIAN SOAL-SOAL PROYEK

echo "<tr> <td> Data Suara dari TPS </td>

<td> <input type=button value=’Entri’

onclick=\"location.href=’prop_suara.php?mdp=1’\"> </td>

<td> <input type=button value=’Edit-Hapus’

onclick=\"location.href=’menu_hapus_suara_prop.php?mdp=1’\"> </td>

<td> Pemeliharaan (Entry-Edit-Delete) Perolehan Suara Pemilu 2004 <br>

untuk DP Lampung 1 (Kota Bandar Lampung)</td></tr>";

echo "<tr> <td> Data TPS </td>

<td> <input type=button Value=Entri

onclick=\"location.href=’menu_tps.php?mdp=1’\"></td>

<td> <input type=button Value=’Edit-Hapus’

onclick=\"location.href=’menu_hapus_tps.php?mdp=1’\"></td>

<td> Pemeliharaan (Entry-Edit-Delete) Data-Data TPS untuk DP 1</td></tr>";

echo "</table> <br>";

echo "Kembali ke <input type=button value=menu

onclick=\"location.href=’index.html’\" >

utama";

echo "</form>";

?>

10.4 Latihan Membuat Sub Menu

Script ini merupakan program yang akan dijalankan jika pemakai mengklik menupemilu tingkat pusat.

<?

echo "Menu pilihan DP 1 Tingkat Pusat <br>";

echo "Wilayah : Bandar Lampung-Lampung Selatan-Tanggamus-Lampung Barat <br>";

echo "<form>";

echo "<table border=1>";

echo "<tr> <td> Menu </td> <td> Entri</td><td>Hapus</td><td> Keterangan </td> </tr>";

echo "<tr> <td> Data Suara dari TPS </td>

<td> <input type=button value=’Entri’

onclick=\"location.href=’pusat_suara.php?mdp=1’\"> </td>

<td> <input type=button value=’Edit-Hapus’

onclick=\"location.href=’menu_hapus_suara_pusat.php?mdp=1’\"> </td>

<td> Pemeliharaan (Entry-Edit-Delete) Perolehan Suara Pemilu 2004 <br>

untuk DP Lampung 1 (Kota Bandar Lampung)</td></tr>";

echo "<tr> <td> Data TPS </td>

<td> <input type=button Value=Entri

onclick=\"location.href=’menu_tps.php?mdp=1’\"></td>

<td> <input type=button Value=’Edit-Hapus’

onclick=\"location.href=’menu_hapus_tps.php?mdp=1’\"></td>

<td> Pemeliharaan (Entry-Edit-Delete) Data-Data TPS untuk DP 1</td></tr>";

echo "</table> <br>";

echo "Kembali ke <input type=button value=menu

onclick=\"location.href=’index.html’\" >

utama";

echo "</form>";

?>

Page 117: PHP -   · PDF file8.6 Modul Sistem Tabulasi Pemilihan Umum ... 8.24 Partai Peserta Pemilu Legislatis 2004 ... Buku ini berisi pengembangan sistem informasi dengan

10.5. LATIHAN MEMBUAT MENU UTAMA 103

10.5 Latihan Membuat Menu Utama

Script ini merupakan program yang akan dijalankan jika pemakai mengklik menupemilu tingkat propinsi.