Académique Documents
Professionnel Documents
Culture Documents
MODUL
Disusun Oleh:
RIFKI
Pranata Komputer Muda Direktorat Jenderal Pajak
PERNYATAAN DISCLAIMER
Seluruh informasi dan data yang disediakan dalam modul ini adalah
bersifat umum dan disediakan untuk tujuan pendidikan saja. Dengan demikian
tidak dianggap sebagai suatu acuan hukum.
Pada dasarnya, modul ini merupakan bahan kajian ilmiah yang
penyusunannya sesuai dengan Peraturan Kepala Badan Pendidikan dan
Pelatihan Keuangan Nomor PER-003/PP/2009 tentang Pedoman Penyusunan
Modul di Lingkungan Badan Pendidikan dan Pelatihan Keuangan. Informasi dan
ilustrasi bersifat umum dan tidak rahasia.
Pusdiklat Pajak maupun Penyusun Modul tidak dapat digugat maupun
dituntut atas segala pernyataan, kekeliruan, ketidaktepatan atau kekurangan
dalam setiap konten yang disampaikan dalam modul ini.
Seiring dengan perubahan peraturan perundang-undangan yang disebut
dalam modul ini mungkin sudah tidak sesuai/tidak relevan dengan peraturan
perundang-undangan yang berlaku saat ini.
Disarankan untuk mengecek kembali dasar hukum yang digunakan dalam
modul ini untuk memastikan peraturan perundang-undangan yang digunakan
masih berlaku.
i
APLIKASI WEB DINAMIS
KATA PENGANTAR
Hario Damar
NIP 19620629 198302 1 002
ii
APLIKASI WEB DINAMIS
DAFTAR ISI
iii
APLIKASI WEB DINAMIS
iv
APLIKASI WEB DINAMIS
v
APLIKASI WEB DINAMIS
DAFTAR TABEL
vi
APLIKASI WEB DINAMIS
DAFTAR GAMBAR
vii
APLIKASI WEB DINAMIS
viii
APLIKASI WEB DINAMIS
ix
APLIKASI WEB DINAMIS
x
APLIKASI WEB DINAMIS
A. PENDAHULUAN
1. Deskripsi Singkat
Modul Aplikasi Web Dinamis ini disusun sebagai salah satu materi yang
akan disampaikan dalam kegiatan Pelatihan Teknis Operator Console Pajak
Lanjutan dengan tujuan untuk memberikan bekal kepada para peserta dengan
pengetahuan megenai Hypertext Markup Language (HTML), Cascading Style
Sheet (CSS), PHP: Hypertext Preprocessor (PHP), dan database MySQL yang
diperlukan dalam pembuatan dan pengembangan web dinamis.
Diharapkan, setelah mempelajari modul ini, para peserta mampu untuk
membuat dan mengembangkan web dinamis yang dapat digunakan dan
memberikan manfaat pada instansi tempat bertugas masing-masing.
Modul ini dibagi ke dalam 6 (enam) kegiatan belajar dengan penjelasan
sebagai berikut :
- Kegiatan Belajar I berisi penjelasan mengenai HTML.
- Kegiatan Belajar II berisi penjelasan mengenai CSS.
- Kegiatan Belajar III berisi penjelasan mengenai PHP.
- Kegiatan Belajar IV berisi penjelasan mengenai MySQL.
- Kegiatan Belajar V berisi penjelasan mengenai pembuatan web menggunakan
PHP dan MySQL.
- Kegiatan Belajar VI berisi penjelasan mengenai penggunaan CURL.
2. Prasyarat Kompetensi
1
APLIKASI WEB DINAMIS
2
APLIKASI WEB DINAMIS
4. Relevansi Modul
Modul Aplikasi Web Dinamis ini sangat relevan digunakan bagi pegawai di
lingkungan Direktorat Jenderal Pajak yang ingin mendapatkan pengetahuan
tentang HTML, CSS, PHP, dan MySQL yang menjadi modal dasar dalam
pembuatan atau pengembangan web dinamis.
Materi di dalam modul ini juga memiliki relevansi dengan Modul
Manajemen Basis Data Lanjutan.
3
APLIKASI WEB DINAMIS
B. KEGIATAN BELAJAR
4
APLIKASI WEB DINAMIS
a. Notepad
Notepad merupakan aplikasi yang dapat digunakan untuk menulis kode
program HTML yang terintegrasi pada sistem operasi Windows. Text editor ini
sudah ada sejak Windows 1.0 di tahun 1985.
b. Wordpad
Wordpad sebenarnya merupakan pengolah kata dasar yang disediakan di
hampir semua versi Microsoft Windows. Aplikasi ini lebih baik dibandingkan
Notepad tetapi lebih sederhana dibandingkan Microsoft Word. Aplikasi ini juga
masih satu paket dengan Notepad yang lokasi menunya berada pada paket
program aplikasi Accessories pada sistem operasi Windows.
5
APLIKASI WEB DINAMIS
c. Notepad ++
Notepad++ merupakan aplikasi text editor yang gratis (free) dan dapat
dijalankan di sistem operasi Windows. Kelebihan aplikasi ini adalah ringan dan
memiliki banyak fitur. Salah satunya adalah fitur pewarnaan code (syntax
highlighting) yang dapat memudahkan penulisan kode HTML.
d. Macromedia Dreamweaver
Macromedia Dreamweaver adalah sebuah text editor profesional yang
lebih menonjolkan unsur editing secara visual langsung dalam pembuatan
halaman web. Pembuatan tampilan dapat dilakukan melalui menu dan tidak harus
selalu menulis kode. Tab penulisan kode dan tab tampilan disediakan sekaligus
sehingga hasil penulisan kode dapat langsung dilihat. Namun aplikasi ini
membutuhkan memori yang cukup besar dan tidak gratis.
6
APLIKASI WEB DINAMIS
1.4. Browser
Web Browser (atau biasa disebut browser) adalah sebuah aplikasi untuk
menerima, menampilkan, dan menerjemahkan informasi dari world wide web.
Salah satu informasi itu dibuat dalam format HTML.
Kode HTML akan diterjemahkan oleh browser agar tampil seperti yang
dirancang. Pada dasarnya seluruh browser dapat menampilkan kode HTML sama
baiknya. Namun jika berbicara mengenai desain halaman, tiap-tiap browser
memiliki beberapa perbedaan tampilan.
HTML merupakan bahasa standar dalam penggunaan internet yang
didefinisikan dan diawasi penggunaannya oleh World Wide Web Consortium
(W3C). Hal ini dikarenakan tiap-tiap program browser menerjemahkan kode-kode
HTML secara berbeda-beda, sehingga di perlukan sebuah standar yang sama
untuk seluruh browser. Namun pada penerapannya, standar ini hanya merupakan
rekomendasi. Beberapa browser membuat ketentuan atau aturan masing-masing.
Browser yang terkenal di tahun 2000-an adalah Internet Explorer.
Sementara saat ini, kepopuleran Internet Explorer telah tergeser dengan browser
lain seperti Mozilla Firefox dan Google Chrome yang telah menguasai lebih dari
50% pengguna browser bersamaan dengan browser lainnya.
7
APLIKASI WEB DINAMIS
8
APLIKASI WEB DINAMIS
sebuah halaman HTML memiliki struktur yang lebih banyak dibandingkan struktur
dasar tersebut.
Untuk lebih mudah memahami struktur dasar HTML, silahkan buka aplikasi
Notepad++, lalu ketik kode berikut dan simpan dengan nama file “latihan01.html”.
Lalu jalankan dengan browser.
Script latihan01.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Judul Websiteku</title>
5 </head>
6 <body>
7 Selamat Datang!
8 </body>
9 </html>
9
APLIKASI WEB DINAMIS
Jika tag DTD tidak dituliskan, browser akan tetap menampilkan dan
memproses halaman web. Namun demikian, browser sebenarnya menjalankan
halaman HTML tersebut pada mode khusus yang disebut quirk mode di mana
browser akan menerjemahkan halaman web (terutama kode CSS) sedikit berbeda
dari seharusnya. Hal ini terjadi karena browser menganggap bahwa ketika tag
DTD tidak ditemukan, halaman tersebut kemungkinan besar merupakan halaman
web yang sudah usang.
Cara untuk mengetahui apakah browser berjalan pada quirk mode atau
standard mode lebih mudah jika menggunakan browser Mozilla Firefox yaitu
dengan melakukan klik kanan pada halaman web, lalu pilih Page Info. Pada bagian
Render Mode akan terlihat apakah quirk mode atau standard mode.
b. Tag HTML
Tag HTML adalah tag pembuka dari keseluruhan halaman web. Semua
kode HTML harus berada di dalam tag ini. Tag html dimulai dengan <html> dan
diakhiri dengan </html>.
c. Tag head
Tag head merupakan bagian kepala dari dokumen HTML yang pada
umumnya akan berisi berbagai definisi halaman, seperti kode CSS, JavaScript,
dan kode-kode lainnya yang tidak akan tampil di browser, termasuk tag title dan
tag meta.
Tag title digunakan untuk menampilkan title dari sebuah halaman web yang
akan terlihat pada bagian paling atas browser. Pada contoh kode HTML di atas,
“Judul Websiteku” akan ditampilkan pada tab browser.
Sementara tag META biasanya digunakan untuk menentukan informasi
tertentu mengenai dokumen HTML, seperti menentukan author name, keywords,
dan lainnya. Contoh :
<META name=”Rifki” contents=”Pembuatan Web Dinamis”>
d. Tag body
Tag body akan berisi semua elemen yang akan ditampilkan dalam halaman
web, seperti paragraf, tabel, link, gambar, dan lain-lain. Tag body diawali dengan
<body> dan ditutup dengan </body>.
10
APLIKASI WEB DINAMIS
Script latihan02.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Penggunaan Tag Break dan Paragraph</title>
5 </head>
6 <body>
7 Baris<br>
8 Ini adalah baris pertama<br>
9 Ini adalah baris kedua<br>
10 Ini adalah baris ketiga<br>
11 <p>Paragraf</p>
12 <p>Ini adalah paragraf pertama</p>
13 <p>Ini adalah paragraf kedua</p>
14 <p>Ini adalah paragraf ketiga</p>
15 </body>
16 </html>
11
APLIKASI WEB DINAMIS
b. Format Teks
Di dalam sebuah paragraf, kadang diperlukan untuk membuat penekanan
pada kata-kata tertentu. Penekanan ini bisa dilakukan dengan menebalkan,
memiringkan, atau menggarisbawahi sebuah kata.
1) Untuk menebalkan kata, tag yang digunakan adalah <b> atau <strong>. Tag
<b> adalah singkatan dari bold (tebal). Sementara tag <strong> berarti
“strong importance”.
2) Untuk memiringkan kata, tag yang digunakan adalah <i> atau <em>. Tag <i>
adalah singkatan dari italic (miring). Sementara tag <em> berarti “Stresses
Emphasis”.
3) Untuk menggarisbawahi kata, tag yang digunakan adalah <u> atau <ins>.
Tag <u> adalah singkatan dari underline (garis bawah). Sementara tag <ins>
adalah kependekan dari insert.
Perlu diingat bahwa penulisan seuruh tag untuk format teks di atas
memerlukan tag penutup sebagaimana contoh berikut :
Script latihan03.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Format Teks</title>
12
APLIKASI WEB DINAMIS
5 </head>
6 <body>
7 <p>Anda akan menemukan adanya kata yang ditulis
8 <b>tebal</b>, <i>miring</i>,
9 atau <u>digarisbawahi</u> di paragraf ini.</p>
10 <p>Cara lain untuk menulis kata yang
11 <strong>ditebalkan</strong>,
12 <em>dimiringkan</em>,
13 atau <ins>digarisbawahi</ins>
14 juga dapat Anda lihat di paragraf ini.</p>
15 </body>
16 </html>
Salin dan simpan kode di atas dengan nama file “latihan03.html”, lalu
jalankan dengan browser untuk melihat hasilnya.
c. Heading
Tag heading digunakan untuk judul atau sub judul sebuah tulisan. Tag
heading terdiri dari 6 tingkatan, yaitu <h1>, <h2>, <h3>, <h4>, <h5>, dan
<h6>. Semakin kecil angka, semakin besar ukuran huruf yang ditampilkan.
Penulisan tag heading memerlukan tag penutup sebagaimana contoh di bawah
ini:
Script latihan04.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Penggunaan Tag Heading</title>
5 </head>
6 <body>
7 <h1>ini adalah judul dengan h1 </h1>
13
APLIKASI WEB DINAMIS
Salin dan simpan kode di atas dengan nama file “latihan04.html”, lalu
jalankan file tersebut dengan browser untuk melihat hasil tampilannya.
d. List
Tag list digunakan untuk mengelompokkan data baik secara berurutan
(ordered list) yang akan ditampilkan dengan angka atau huruf maupun tidak
berurutan (unordered list) yang akan ditampilkan dengan bulatan atau kotak.
Ordered list menggunakan tag <ol>, unordered list menggunakan tag
<ul>, sedangkan untuk list sendiri menggunakan tag <li>. Semua tag tersebut
memerlukan tag penutup.
Untuk memudahkan pemahaman, salin dan simpan kode di bawah ini
dengan nama file “latihan05.html”, kemudian jalankan dengan browser.
Script latihan05.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Penggunaan Tag List</title>
14
APLIKASI WEB DINAMIS
5 </head>
6 <body>
7 Materi Aplikasi Web Dinamis :
8 <ol>
9 <li>HTML</li>
10 <li>CSS</li>
11 <li>PHP</li>
12 </ol>
13 Materi Aplikasi Web Dinamis :
14 <ul>
15 <li>HTML</li>
16 <li>CSS</li>
17 <li>PHP</li>
18 </ul>
19 </body>
20 </html>
Gambar 10. Penggunaan Tag List
e. Link
Ketika sebuah teks atau gambar yang diklik akan menampilkan atau
berpindah halaman baru, maka teks atau gambar tersebut merupakan sebuah link.
Tag yang digunakan untuk membuat sebuah link adalah tag <a> yang merupakan
singkatan dari anchor (jangkar). Setiap tag <a> harus ditutup dengan </a> dan
setidaknya memiliki sebuah atribut, yaitu href (hypertext reference) yang berisi
alamat halaman yang dituju.
Sebagai contoh, salin dan simpan kode penggunaan link di bawah ini
dengan nama file “latihan06.html”, kemudian jalankan dengan browser.
15
APLIKASI WEB DINAMIS
Script latihan06.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Penggunaan Tag Link</title>
5 </head>
6 <body>
7 <h3>Aplikasi e-SPT</h3>
8 Untuk mengunduh file instalasi Aplikasi e-SPT,
9 silahkan kunjungi situs resmi
10 <a href=https://www.pajak.go.id> Direktorat
11 Jenderal Pajak</a>
12 </body>
13 </html>
Pada contoh penggunaan tag link di atas, alamat tujuan ditulis secara
lengkap. Cara penulisan alamat tujuan seperti di atas disebut dengan external link,
yang artinya link yang dibuat ditujukan ke alamat lain di internet. Cara penulisan di
atas juga dikenal dengan sebutan alamat absolut.
Namun jika link yang dibuat ditujukan pada alamat di dalam situs yang
sama, maka tidak perlu menyebutkan alamat lengkap seperti di atas. Tetapi cukup
mencantumkan alamat file yang dituju. Jenis penulisan alamat ini disebut alamat
relatif.
Sebagai contoh penulisan alamat relatif adalah sebagai berikut:
Script latihan06a.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Penggunaan Tag Link</title>
16
APLIKASI WEB DINAMIS
5 </head>
6 <body>
7 <h3>Contoh Link Relatif</h3>
8 Untuk melihat contoh penggunaan tag heading
9 di dalam HTML, klik
10 <a href=latihan_heading.html>di sini</a>
11 </body>
12 </html>
Salin dan impan kode HTML di atas dengan nama file “latihan06a.html”.
Kemudian jalankan file tersebut dengan browser untuk melihat hasil tampilannya.
Penulisan link pada contoh di atas digunakan jika file asal dan file tujuan
berada di dalam folder yang sama. Namun, jika file yang menjadi tujuan berada
satu tingkat di luar folder file asal, maka cara penulisannya menjadi
href="../belajar_heading.html".
Atribut penting lainnya dari tag <a> adalah target. Atribut ini digunakan
untuk menentukan apakah halaman yang dituju terbuka pada jendela browser
yang sama dengan halaman asal (menutupi halaman asal) atau terbuka pada
jendela browser baru.
Secara default, setiap link akan terbuka pada jendela yang sama dan akan
menimpa halaman aasal. Tetapi jika menginginkan halaman tujuan terbuka pada
jendela baru, maka perlu menambahkan atribut target=”_blank” seperti contoh
berikut :
Script latihan06b.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Penggunaan Tag Link</title>
5 </head>
6 <body>
7 <h3>Contoh Link Relatif</h3>
8 Silahkan klik
9 <a href=latihan_heading.html>halaman ini</a>
10 untuk membuka halaman di jendela baru.
11 </body>
12 </html>
17
APLIKASI WEB DINAMIS
f. Image
Tag image <img> digunakan untuk menampilkan gambar ke dalam sebuah
halaman web. Format file gambar yang digunakan dapat berupa JPEG, PNG,
maupun GIF. Dalam penggunaannya, tag <img> tidak memerlukan tag penutup.
Di dalam tag <img> perlu ditambahkan atribut “src” (source) yang berisi
alamat dari gambar yang akan ditampilkan. Alamat tersebut bisa berupa alamat
relatif atau absolut sebagaimana telah dibahas sebelumnya.
Berikut adalah contoh penulisan tag image dengan menggunakan sebuah
file gambar yang berlokasi di dalam folder yang sama dengan lokasi file contoh.
Script latihan07.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Penggunaan Tag Image</title>
5 </head>
6 <body>
7 <h3>Contoh Penggunaan Tag Image</h3>
8 <img src="komputer.png">
9 </body>
10 </html>
18
APLIKASI WEB DINAMIS
Script latihan07a.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Penggunaan Tag Image</title>
5 </head>
6 <body>
7 <h3>Contoh Penggunaan Tag Image (1)</h3>
8 <img src="komputer.png" alt="gambar komputer"
9 height="200" width="100">
10 <h3>Contoh Penggunaan Tag Image (2)</h3>
11 <img src="komputer.png" alt="gambar komputer"
12 height="200" >
13 </body>
14 </html>
19
APLIKASI WEB DINAMIS
Pada umumnya, web server akan menampilkan teks terlebih dahulu, baru
kemudian gambar. Jika web server cukup sibuk atau gambar berukuran besar,
akan menyebabkan teks berpindah tempat karena gambar terlambat ditampilkan.
Dengan menamahkan atribut width dan height akan memberikan kesempatan
kepada browser untuk mempersiapkan ukuran tersebut untuk gambar sehingga
posisi teks tidak akan berpindah.
g. Tabel
Tabel biasanya digunakan untuk menampilkan data yang terstruktur yang
bersumber dari database. Untuk keperluan tersebut, HTML menyediakan tag
untuk membuat tabel.
Ada beberapa tag yang digunakan untuk membuat sebuah tabel, yaitu :
1) Tag <table>, digunakan untuk memulai sebuah tabel.
2) Tag <tr>, merupakan singkatan dari table row yang digunakan untuk
membuat baris dari tabel.
3) Tag <td>, merupakan singkatan dari table data yang digunakan untuk memuat
data atau uraian ke dalam tabel.
4) Tag <th>, merupakan singkatan dari table head yang digunakan untuk
membuat judul kolom pada baris pertama tabel dengan tampilan yang berbeda
dengan baris-baris di bawahnya.
20
APLIKASI WEB DINAMIS
Script latihan08.html
1 <!DOCTYPE html>
2 <html>
21
APLIKASI WEB DINAMIS
3 <head>
4 <title>Pembuatan Tabel</title>
5 </head>
6 <body>
7 <table border="1" width="50%">
8 <caption>Contoh Tabel 1</caption>
9 <tr>
10 <th>Judul Kolom 1</th>
11 <th>Judul Kolom 2</th>
12 <th>Judul Kolom 3</th>
13 </tr>
14 <tr height="100px">
15 <td>Baris 2, Kolom 1</td>
16 <td>Baris 2, Kolom 2</td>
17 <td>Baris 2, Kolom 3</td>
18 </tr>
19 <tr>
20 <td> Baris 3, Kolom 1</td>
21 <td> Baris 3, Kolom 2</td>
22 <td> Baris 3, Kolom 3</td>
23 </tr>
24 </table>
25 <br><br>
26 <table border="1" cellpadding="5"
27 cellspacing="5" width="700px" height="200px">
28 <caption>Contoh Tabel 2</caption>
29 <tr>
30 <th>Judul Kolom 1</th>
31 <th colspan=2>Judul Gabungan Kolom 2 dan
32 3</th>
33 </tr>
34 <tr>
35 <td>Baris 2, Kolom 1</td>
36 <td>Baris 2, Kolom 2</td>
37 <td>Baris 2, Kolom 3</td>
38 </tr>
39 <tr>
40 <td rowspan="2"> Baris 3 & 4,
41 Kolom 1</td>
42 <td> Baris 3, Kolom 2</td>
43 <td> Baris 3, Kolom 3</td>
44 </tr>
45 <tr>
46 <td> Baris 4, Kolom 2</td>
47 <td> Baris 4, Kolom 3</td>
48 </tr>
49 </table>
50 </body>
51 </html>
22
APLIKASI WEB DINAMIS
h. Komentar
Dalam penulisan tag HTML, sebuah komentar dapat disisipkan dengan
fungsi sebagai penanda atau pengingat pembuat program untuk mengingat fungsi
atau cara kerja kode yang pernah ditulisnya di masing-masing bagian.
Di dalam HTML, sebuah komentar yang ditulis harus diawali dengan <!–
dan ditutup dengan –>. Komentar yang ditulis nantinya tidak akan tampil saat
dokumen HTML dilihat dengan browser.
Untuk lebih mudah memahami penggunaan tag komentar, salin dan
simpan kode berikut ini dengan nama file “latihan09.html”, lalu jalankan dengan
browser untuk melihat hasil tampilannya.
Script latihan09.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Penggunaan Tag Comment</title>
5 </head>
6 <body>
7 <!-- <p>Ini berada di dalam tag komentar,
8 dan tidak akan tampil di browser</p> -->
23
APLIKASI WEB DINAMIS
Selain sebagai pengingat atau catatan, tag komentar juga dapat digunakan
untuk menyembunyikan sebagian isi web agar tidak tampil untuk sementara.
Fungsi ini dapat dimanfaatkan ketika akan mencoba berbagai tampilan kode HTML
yang baru, tetapi tidak ingin menghapus kode yang telah dibuat sebelumnya.
Namun yang perlu menjadi perhatian, walaupun komentar tidak muncul
pada browser, tetapi seseorang masih bisa membaca komentar tersebut dengan
cara melihat source halaman HTML. Oleh karena itu, sebaiknya tidak
menambahkan komentar yang sensitif atau bersifat rahasia, seperti username
atau password.
i. Form
Sebuah form digunakan untuk mengumpulkan data dari pengunjung web.
Form yang biasa ditemukan dalam sebuah web di antaranya form login, form
registrasi user, form perekaman data, hingga form untuk mengirimkan data antar
halaman web.
Sebagai catatan, penggunaan form dengan hanya menggunakan HTML
saja tidak akan terlalu berguna. Sebab pada umumnya, form hanya sebagai
interface yang disediakan untuk mengumpulkan data, diproses dengan bahasa
pemograman web seperti PHP dan disimpan di dalam database seperti MySQL.
Penjelasan lebih lanjut mengenai PHP dan MySQL akan dibahas pada kegiatan
belajar berikutnya di modul ini.
24
APLIKASI WEB DINAMIS
Sebuah form dalam HTML harus berada di dalam tag form, yang diawali
dengan <form> dan diakhiri dengan </form>. Tag form akan membutuhkan
beberapa atribut untuk dapat berfungsi dengan baik, seperti :
1) action, yang berfungsi untuk menjelaskan ke mana tujuan data form akan
dikirimkan. Biasanya nilai dari atribut action ini adalah alamat dari sebuah file
atau halaman PHP yang digunakan untuk memproses isi data form.
2) method, yang berfungsi untuk menjelaskan bagaimana data isian form akan
dikirim oleh browser. Nilai dari atribut method ini bisa berupa get atau post. Jika
menggunakan atribut method dengan get (nilai seandainya atribut method tidak
ditulis) maka isian form akan terlihat pada url browser. Sementara method post
biasanya digunakan untuk data yang lebih sensitif seperti password atau data
registrasi user. Data hasil form tidak akan terlihat pada browser.
Selain memerlukan atribut, sebuah form juga harus dilengkapi dengan
beberapa tag, seperti :
1) Tag <input> yang berfungsi sebagai wadah bagi user untuk menginput data.
Tag input memiliki beberapa bentuk dan dibedakan berdasarkan atribut type
yang dimiliki, yaitu :
a) <input type=”text”> adalah textbox biasa yang menerima input berupa
teks, seperti username atau teks pendek.
b) <input type=”password”> yang memiliki tampilan sama dengan type
text, namun teks yang diinput tidak akan terlihat, melainkan hanya berupa
bintang atau bulatan. Penggunaan type ini biasanya untuk input data yang
sensitif seperti password.
c) <input type=”checkbox”> adalah inputan berupa checkbox yang dapat
dicentang oleh user. User dapat memilih atau tidak memilih checkbox ini.
Type checkbox memiliki atribut checked yang jika ditulis atau diisi dengan
nilai checked, akan membuat chexkbox langsung terpilih pada saat pertama
kali halaman ditampilkan. Checkbox digunakan untuk daftar yang dapat
dipilih olh user lebih dari satu pilihan, seperti hobi.
d) <input type=”radio”> mirip dengan checkbox, namun user hanya bisa
memilih satu di antara pilihan yang disediakan, seperti pilihan jenis kelamin.
e) <input type=”submit”> berfungsi untuk menampilkan tombol untuk
memproses form yang biasanya diletakkan pada baris terakhir dari form.
25
APLIKASI WEB DINAMIS
Atribut value jika diisi akan membuat tampilan text tombol submit berubah
sesuai inputan nilai value.
Perlu diperhatikan bahwa tag <input> merupakan tag yang berdiri sendiri dan
tidak membutuhkan penutup tag.
2) Tag <textarea>
Pada dasarnya tag textarea sama dengan input type text, namun memilik
ukuran lebih besar dan dapat berisi banyak baris. Panjang dan banyak baris
untuk text area di atur melalui atribut rows dan cols. Tag textarea memiliki tag
penutup dan keterangan yang diapit tag textarea akan ditampilkan sebagai teks
awal dari isian form.
3) Tag <select>
Tag select digunakan untuk inputan yang telah tersedia nilainya dan user hanya
dapat memilih dari nilai yang ada. Tag select digunakan bersama-sama dengan
tag option untuk membuat daftar pilihan. Ketika form dikirim untuk diproses,
maka nilai dari tag <option> akan dikirim. Nilai tersebut adalah teks yang
berada di antara tag option, kecuali jika ditambahkan atribut value, maka nilai
value yang akan dikirim. Atribut value ini tidak akan tampak dalam tampilan
form.
Tag select memiliki atribut selected yang dapat ditambahkan agar tag select
berisi nilai awal.
4) Atribut Name
Setiap tag input di dalam sebuah form harus ditambahkan atribut name agar
dapat diproses oleh web server. Di dalam halaman proses yang biasanya
berupa bahasa PHP atau lainnya, nilai dari atribut name yang akan menjadi
variabel form.
Berikut adalah contoh kode untuk membuat sebuah form HTML. Salin dan
simpan dengan nama file “latihan10.html”, kemudian jalankan dengan browser
untuk melihat hasil tampilannya.
Script latihan10.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Membuat Form</title>
5 </head>
26
APLIKASI WEB DINAMIS
6 <body>
7 <form action="latihan10.html" method="get">
8 Nama : <input type="text" name="nama">
9 <br>
10 Password : <input type="password"
11 name="password">
12 <br>
13 Jenis Kelamin :
14 <input type="radio" name="jenis_kelamin"
15 value="laki-laki" checked>
16 Laki – Laki
17 <input type="radio" name="jenis_kelamin"
18 value="perempuan">
19 Perempuan
20 <br>
21 Hobi :
22 <input type="checkbox" name="membaca" checked>
23 Membaca
24 <input type="checkbox" name="menulis"> Menulis
25 <input type="checkbox" name="melukis"> Melukis
26 <br>
27 Asal Kota:
28 <select name="asal_kota" >
29 <option value="Jakarta" selected>Jakarta
30 </option>
31 <option value="Bandung">Bandung</option>
32 <option value=" Semarang">Semarang
33 </option>
34 </select>
35 <br>
36 Komentar :
37 <textarea name="komentar" rows="5" cols="20">
38 komentar Anda
39 </textarea>
40 <br>
42 <input type="submit" value="Simpan">
42 </form>
43 </body>
44 </html>
27
APLIKASI WEB DINAMIS
Pada tampilan seperti di atas, isi semua data yang diminta, kemudian klik
tombol “Simpan”. Perhatikan apa yang terjadi pada kolom alamat browser!
Karena pada atribut target diisi dengan nama file yang sama dengan file
asal yaitu “latihan10.html” dan atribut method dengan nilai get, sehingga pada saat
anda klik tombol “Simpan”, terjadi perubahan pada kolom alamat di browser, akan
tampil tambahan seperti berikut :
file:///D:/latihan10.html?nama=Rifki&password=123&jenis_kela
min=laki-
laki&membaca=on&asal_kota=Jakarta&komentar=Saya+ingin+belaja
r+Web+Dinamis
Jelas terlihat semua isian form pada kolom alamat browser, karena method
yang dipilih adalah get. Setiap nilai dibatasi dengan karakter “&” sedangkan spasi
ditandai dengan karakter “+”.
1.7. Latihan
28
APLIKASI WEB DINAMIS
HALAMAN UTAMA
Halaman Tabel
Halaman Gambar
29
APLIKASI WEB DINAMIS
1.8. Rangkuman
a. HTML adalah singkatan dari Hypertext Markup Language, yaitu sebuah bahasa
markah yang digunakan untuk membuat sebuah halaman yang menampilkan
berbagai informasi di dalam sebuah browser internet.
b. Text editor adalah aplikasi yang digunakan untuk menulis kode program yang
akan menghasilkan sebuah dokumen HTML seperti Notepad, Wordpad, dan
Notepad++.
c. Browser adalah sebuah aplikasi untuk menerima, menampilkan, dan
menerjemahkan informasi dari world wide web seperti Internet Explorer, Google
Chrome, Mozilla Firefox, Safari, dan Opera.
d. Struktur HTML terdiri dari DTD atau DOCTYPE, tag HTML, tag Head, dan tag
body.
e. Beberapa elemen dasfar dari HTML adalah break, paragraf, heading, list, link,
image, tabel, komentar, dan form.
1. Tag HTML yang digunakan untuk membuat baris baru adalah ...
a. <p>
b. <br>
c. <ol>
d. <ul>
2. Tag HTML yang digunakan untuk membuat paragraf baru adalah ...
a. <p>
b. <br>
c. <ol>
d. <ul>
30
APLIKASI WEB DINAMIS
3. Dari penulisan kode HTML berikut, yang manakah yang akan menampilkan
kata dicetak miring?
a. Saya sedang belajar <b>Aplikasi Web Dinamis</b>
b. Saya sedang belajar <ins>Aplikasi Web Dinamis</ins>
c. Saya sedang belajar <strong>Aplikasi Web Dinamis</strong>
d. Saya sedang belajar <em>Aplikasi Web Dinamis</em>
4. Tag heading yang digunakan untuk membuat judul sebuah tulisan memiliki
beberapa ukuran. Ukuran heading yang akan menampilkan huruf paling besar
adalah ....
a. <h6>
b. <h5>
c. <h2>
d. <h1>
5. Tag yang digunakan Untuk mengelompokkan data dalam sebuah daftar
secara berurutan adalah ...
a. <lu>
b. <ul>
c. <ol>
d. <lo>
6. Sebuah kode link ditulis sebagai berikut :
<a href=https://www.pajak.go.id> Direktorat Jenderal
Pajak</a>
Penulisan alamat pada pembuatan link di atas disebut dengan ...
a. alamat aktif
b. alamat relatif
c. alamat absolut
d. alamat pasif
7. Dalam penggunaan tag image, atribut yang berfungsi memberikan keterangan
atau deskripsi gambar adalah ....
a. desc
b. alt
c. title
d. info
31
APLIKASI WEB DINAMIS
8. Atribut dari tag image yang berfungsi untuk mengatur ukuran tinggi gambar
adalah ...
a. tall
b. width
c. height
d. pixel
9. Di dalam pembuatan sebuah tabel, beberapa sel kolom atau sel baris dapat
dapat digabungkan. Atribut yang digunakan untuk menggabungkan beberapa
sel kolom adalah ...
a. colmerge
b. colspan
c. rowmerge
d. rowspan
10. Dalam pembuatan sebuah form, alamat file tujuan ditulis menjadi nilai dari
atribut ....
a. method
b. action
c. name
d. input
Jumlah Soal
32
APLIKASI WEB DINAMIS
33
APLIKASI WEB DINAMIS
2. KEGIATAN BELAJAR 2
KEGIATAN
PENGATURAN HALAMAN WEB BELAJAR
34
APLIKASI WEB DINAMIS
Metode penulisan script CSS dapat dilakukan dengan tiga cara, yaitu :
a. Inline Style Sheet
Metode Inline Style Sheet adalah cara menginput kode CSS langsung ke
dalam tag HTML dengan menggunakan atribut style.
Contoh penggunaan CSS dengan cara ini adalah sebagai berikut :
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Inline Style CSS</title>
5 </head>
6 <body>
7 <h2 style="background-color:black;
8 color:white">
9 Tulisan ini bewarna putih dengan latar hitam
10 </h2>
11 </body>
12 </html>
Cara seperti ini, meski praktis tetapi tidak efisien karena memungkinkan
sekali penulisan kode yang sama secara berulang-ulang dan tidak memenuhi
tujuan dibuatnya CSS agar desain terpisah dengan konten. Karenanya, penulisan
script CSS dengan cara inline style sheet amat jarang digunakan.
35
APLIKASI WEB DINAMIS
halaman HTML. Atribut style yang sebelumnya berada di dalam tubuh HTML,
dikumpulkan pada pada sebuah tag <style> yang berada bagian <head> dari
halaman HTML.
Contoh penggunaan CSS dengan cara ini adalah sebagai berikut :
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Contoh Inline Style CSS</title>
5 <style type="text/css">
6 h2 {
7 background-color:black;
8 color:white;
9 }
10 </style>
11 </head>
12 <body>
13 <h2>
14 Tulisan ini bewarna putih dengan latar hitam
15 </h2>
16 </body>
17 </html>
Ketik dan simpan kode di atas ke dalam file dengan nama “kode_css.css”.
Untuk memanggil file CSS tersebut dapat dilakukan dengan 2 cara, yaitu :
36
APLIKASI WEB DINAMIS
a. Menggunakan @import
Contoh pemanggilan CSS menggunakan @import adalah sebagai berikut :
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>External Style Sheet</title>
5 <style type="text/css">
6 @import url(kode_css.css);
7 </style>
8 </head>
9 <body>
10 <h2>
11 Text ini akan bewarna putih dan background
12 warna hitam
13 </h2>
14 </body>
15 </html>
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>External Style Sheet</title>
5 <link rel="stylesheet" type="text/css"
6 href="kode_css.css">
7 </head>
8 <body>
9 <h2>
10 Text ini akan bewarna putih dan background
11 warna hitam
12 </h2>
13 </body>
14 </html>
Metode External Style Sheets adalah metode penulisan CSS yang yang
paling direkomendasikan karena memberikan kemudahan saat akan melakukan
perubahan tampilan web di mana tak perlu mengubah setiap halaman web tetapi
cukup mengubah file CSS saja.
37
APLIKASI WEB DINAMIS
1 h2 {
2 background-color:black;
3 color:white;
4 font-wight:bold;
5 }
Dari kode CSS di atas, terdapat tiga komponen yang menjadi struktur CSS,
yaitu :
a. Selector, yaitu penghubung antara CSS dengan tag HTML. Pada strukut CSS
di atas, h2 adalah sebuah selector, karena h2 ditulis di file CSS dan ditulis juga
di HTML.
b. Property, yaitu jenis style atau elemen apa yang akan diubah dari sebuah tag
HTML. CSS memiliki puluhan property yang dapat digunakan untuk seluruh
selector. Pada strukut CSS di atas, background-color, color, dan
font-wight adalah property.
c. Value, yaitu nilai dari property. Pada struktur CSS di atas, yang menjadi value
adalah black, white, dan bold.
1 body {
2 font-size: 12px;
3 color: navy;
4 }
5 p {
6 font-family: verdana, calibri, sans-serif;
7 }
8 h1, h2 {
9 text-decoration: underline;
10 color: green;
11 }
38
APLIKASI WEB DINAMIS
d. Jika satu selector memiliki lebih dari satu property, maka penulisannya
dipisahkan dengan tanda titik koma (;).
e. Pemisah antara property dengan value adalah titik dua (:).
f. Penulisan property yang memiliki lebih dari 1 kata, menggunakan tanda hubung
(-) sebagai pengganti spasi.
1 * {
2 color: blue;
3 background-color: white;
4 }
Kode CSS di atas berfungsi untuk mengubah seluruh tag HTML yang ada
di dalam halaman web menjadi berwarna biru dengan latar belakang putih.
c. Class Selector
Class Selector merupakan salah satu selector yang paling sering
digunakan dengan penamaan yang bebas. Class Selector akan mencari seluruh
tag yang memiliki atribut class dengan nilai yang sesuai.
Contoh penulisan kode Class Selector adalah sebagai berikut:
1 .paragraf {
2 color: red;
3 }
39
APLIKASI WEB DINAMIS
4 .judul {
5 font-size:24px;
6 }
7 .subjudul {
8 color:red;
9 font-size: 20px;
10 }
d. ID Selector
Penggunaan ID Selector hampir sama dengan class selector.
Perbedaannya, jika penulisan Class Selector diawali dengan tanda titik (.) dan
pemanggilannya di HTML menggunakan atribut class, sementara untuk
penulisan ID selector diawali dengan tanda pagar (#) dan pemanggilannya
menggunakan atribut id.
Contoh penulisan kode ID Selector adalah sebagai berikut:
1 #paragraf {
2 color: red;
3 }
4 #judul {
5 font-size:24px;
6 }
7 #subjudul {
8 color:red;
9 font-size: 20px;
10 }
e. Attribute Selector
Attribute Selector ini digunakan untuk mencari seluruh tag yang memiliki
atribut yang dituliskan. Penulisannya diapit oleh tanda kurung siku ([]).
40
APLIKASI WEB DINAMIS
Attribute Selector [href] akan cocok dengan seluruh tag yang memiliki
atribut href yang biasanya terdapat pada tag <a> (pembuatan link). Sementara
Attribute Selector [type=”submit”] akan cocok dengan tag yang memiliki
atribut type dengan value submit seperti tombol submit dalam form.
Attribute Selector memiliki kemampuan mencari tag yang sangat spesifik,
namun atribut selector jarang sering digunakan.
Script kode_css.css
1 /*
2 mengatur batas tepi halaman dan jenis huruf
3 secara umum
4 */
5 body {
6 margin-left: 5%;
7 margin-right: 5%;
8 margin-top: 2%;
9 margin-bottom: 2%;
10 font-family: calibri, verdaa, sans-serif;
11 color: #000000;
12 }
13 /* mengubah tag h1, h2, h3 berwarna biru */
14 h1, h2, h3 {
15 color: blue;
16 }
41
APLIKASI WEB DINAMIS
42
APLIKASI WEB DINAMIS
68 margin: auto;
69 padding: 5px;
70 border-radius: 5px;
71 text-align: center;
72 }
73 .link:hover {background-color: #5C5C5C}
74 .link:active {background-color: #000000}
75 .link:visited {background-color: #000000;
76 color: #FFFFFF}
Simpan kode CSS di atas dengan nama file “kode_css.css”. File CSS
tersebut nantinya akan digunakan dalam latihan dan kegiatan belajar berikutnya.
2.9. Latihan
2.10. Rangkuman
43
APLIKASI WEB DINAMIS
1. Berikut ini adalah metode penulisan CSS yang dapat digunakan untuk
mengatur tampilan halaman sebuah web, kecuali ...
a. inline style sheet
b. internal style sheets
c. interval style sheets
d. external style sheets
2. Metode penulisan CSS di mana kode CSS disimpan dalam file terpisah
dengan dokumen HTML disebut ...
a. inline style sheet
b. internal style sheets
c. interval style sheets
d. external style sheets
3. Untuk memanggil file CSS yang terpisah dengan dokumen HTML digunakan
dengan cara ...
a. @import
b. @eksport
c. @link
d. @css
4. Struktur CSS terdiri dari ...
a. selector, property, dan attribute
b. selector, property, dan value
c. selector, attribute, dan value
d. property, attribute, dan value
5. Yang merupakan property pada kode CSS berikut adalah ...
#paragraf {
color: red;
}
a. paragraf
b. color
c. red
d. {}
44
APLIKASI WEB DINAMIS
a. paragraf
b. color
c. red
d. {}
7. Yang merupakan value pada kode CSS berikut adalah ...
#paragraf {
color: red;
}
a. paragraf
b. color
c. red
d. {}
8. Jenis selector yang menggunakan tag HTML sebagai selector di dalam
struktur CSS adalah ...
a. universal selector
b. element type selector
c. class selector
d. id selector
9. Jenis selector pada kode CSS berikut ini adalah ...
.judul {
font-size:24px;
}
a. universal selector
b. element type selector
c. class selector
d. id selector
10. Jenis selector pada kode CSS berikut ini adalah ...
#subjudul {
font-size:20px;
}
a. universal selector
45
APLIKASI WEB DINAMIS
Jumlah Soal
46
APLIKASI WEB DINAMIS
3. KEGIATAN BELAJAR 3
KEGIATAN
BELAJAR
PENGGUNAAN PHP
3
3.1. Indikator Keberhasilan
47
APLIKASI WEB DINAMIS
juga website populer di dunia. Sehingga saat ini, PHP adalah singkatan dari PHP:
Hypertext Preprocessor.
PHP dapat digunakan dengan gratis (free) dan bersifat Open Source.
Karena kemudahan penggunaannya, penggunaan PHP menjadi sangat populer.
Menurut wikipedia pada februari 2014, sekitar 82% dari web server di dunia
menggunakan PHP. PHP juga menjadi dasar dari aplikasi CMS (Content
Management System) populer seperti Joomla, Drupal, dan WordPress.
Dikutip dari situs w3techs.com, (diakses pada 18 Desember 2014), berikut
adalah market share penggunaan bahasa pemrograman server-side untuk
mayoritas website di seluruh dunia :
48
APLIKASI WEB DINAMIS
49
APLIKASI WEB DINAMIS
50
APLIKASI WEB DINAMIS
Pada tampilan layar seperti gambar di atas, biarkan pilihan default yang
dalam hal ini menginstal semua aplikasi. Selanjutnya klik tombol ”Next”.
Pada tahapan berikutnya akan muncul jendela “Installation Folder”.
51
APLIKASI WEB DINAMIS
Ubah folder instalasi default XAMPP ke folder lain, dalam contoh ini
ke D:\xampp. Lalu klik tombol “Next” untuk melanjutkan.
Tampilan selanjutnya adalah jendela “Bitnami for XAMPP”.
Pada tampilan seperti gambar di atas, hapus centang dari pilihan “Learn
more about BitNami for XAMPP”, lalu klik tombol ”Next”.
Jika tidak ada kendala, tampilan berikutnya adalah “Ready to Install”.
52
APLIKASI WEB DINAMIS
53
APLIKASI WEB DINAMIS
Pada tampilan seperti gambar di atas, biarkan ceklist “Do you want to start
the Control Panel now?” dan akhiri proses installasi XAMPP dengan klik
tombol ”Finish”.
Setelah proses instal XAMPP berhasil, akan muncul layar “XAMPP Control
Panel” yang menjadi tempat untuk menjalankan seluruh aplikasi yang ada di dalam
XAMPP, seperti Apache Web Server dan MySQL.
54
APLIKASI WEB DINAMIS
55
APLIKASI WEB DINAMIS
56
APLIKASI WEB DINAMIS
Script latihan01.php
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Penggunaan Metode Standar PHP</title>
5 </head>
6 <body>
7 <p>Penulisan kalimat menggunakan HTML.</p>
8 <?php
9 echo "<p>Penulisan kalimat menggunakan
57
APLIKASI WEB DINAMIS
10 PHP.</p>";
11 ?>
12 </body>
13 </html>
1 <?php
2 echo "<!DOCTYPE html>";
3 echo "<html>";
4 echo "<head>";
5 echo "<title>Penggunaan Metode Standar
6 PHP</title>";
7 echo "</head>";
8 echo "<body>";
9 echo "<p>Penulisan kalimat menggunakan
10 HTML.</p>";
11 echo "<p>Penulisan kalimat menggunakan
12 PHP.</p>";
13 echo "</body>";
14 echo "</html>";
15 ?>
Hasil tampilan dari kedua file tersebut adalah sama. Yang membedakan
adalah cara kerja web server dalam membacanya. Pada contoh pertama, web
server hanya mengidentifikasi dan memproses pernyataan yang diapit oleh tag
“<?php” dan tag “?>” sebagai kode PHP. Sementara kode di luar kedua tag
58
APLIKASI WEB DINAMIS
1 <?php
2 Echo "Selamat Datang";
3 ECHO "Selamat Datang";
4 EcHo "Selamat Datang";
5 echo "Selamat Datang";
6 ?>
Akan tetapi, PHP membedakan huruf besar dan huruf kecil untuk
penamaan variabel. Sehingga penulisan variabel $nama, $Nama dan $NAMA
dianggap sebagai 3 variabel yang berbeda. Karenanya sering terjadi error yang
disebabkan karena kesalahan menuliskan nama variabel di mana seharusnya
menggunakan huruf kecil tetapi ditulis dengan huruf besar, atau sebaliknya.
Untuk mengatasi permasalahan tersebut, disarankan menggunakan huruf
kecil untuk seluruh kode PHP, termasuk variabel maupun fungsi. Jika
membutuhkan nama variabel yang terdiri dari 2 kata, gunakan underscore (_)
untuk menggantikan spasi.
1 <?php
2 echo "Selamat Datang";
3 $a = 10;
59
APLIKASI WEB DINAMIS
4 $nama = "Rifki";
5 if ($a == 10)
6 {
7 echo "Tampilkan Tabel";
8 }
9 ?>
Dari beberapa contoh baris di atas, PHP menggunakan tanda titik koma
(semicolon) sebagai tanda akhir baris perintah. Sementara kumpulan baris
perintah yang menggunakan tanda kurung kurawal seperti kodisi if tidak
menggunakan tanda titik koma setelah kurung penutup.
1 <?php
2 echo "Ini kalimat pertama"; echo "Ini kalimat
kedua"; echo "Ini kalimat ketiga";
3 ?>
Hasil yang muncul di layar browser dari penulisan kode dengan cara
seperti di atas akan sama jika ditulis dengan cara berikut ini :
1 <?php
2 echo "Ini kalimat pertama";
3 echo "Ini kalimat kedua";
4 echo "Ini kalimat kedua";
5 ?>
Penulisan cara pertama akan menghemat tempat dan ukuran file. Namun
akan menyulitkan saat membaca ulang atau mengecek kode program. Sehingga
lebih baik menuliskan setiap statement dalam satu baris saja dan menambahkan
beberapa spasi di awal untuk memudahkan membaca kode program.
f. Komentar
Sama seperti halnya pembahasan komentar di dalam HTML, komentar di
dalam PHP juga diperlukan untuk memberikan penjelasan kepada orang lain yang
membaca kode atau sebagai pengingat kepada pembuat kode. Selain itu, sifat
komentar yang tidak akan dieksekusi oleh PHP, memberikan keuntungan lain
dalam proses pembuatan program, seperti menjadikan beberapa baris kode
60
APLIKASI WEB DINAMIS
program sebagai komentar ketika mencari tau penyebab error kode program yang
sedang dibuat.
Berikut ini adalah beberapa cara untuk membuat komentar dalam
penulisan kode program PHP.
1) Metode Komentar Unix Shell, yaitu menggunakan karakter tanda pagar (#)
sebagaimana cara memberikan komentar di dalam Sistem Unix. Contoh
penggunaan komentar metode ini adalah sebagai berikut :
1 <?php
2 $nilai = $jml_nilai/$jml_siswa;
3 #hitung nilai average
4 ?>
5 #######################
6 ## Validasi Data Pegawai
7 #######################
8 <php
9 ... Kode program PHP disini
10 ?>
2) Metode Komentar C++, yaitu menggunakan karakter y dua kali garis miring (//)
sebagaimana cara pembuatan komentar pada bahasa pemrograman C++.
Berikut adalah contoh penggunaan komentar metode C++ :
1 <?php
2 $nilai = $jml_nilai/$jml_siswa;
3 //hitung nilai average
4 ?>
5 ////////////////////////
6 // Validasi Data Pegawai
7 ////////////////////////
8 <php
9 ... Kode program PHP disini
10 ?>
61
APLIKASI WEB DINAMIS
1 <?php
2 /* contoh beberapa variabel */
3 $nama = "Rifki";
4 $jabatan = "Fungsional Pranata Komputer";
5 $tahun = 2018;
6 $jamlat= 20;
7 ?>
3.5. Variabel
a. Penulisan variabel
Variabel di dalam PHP harus diawali dengan karakter $ yang diikuti dengan
dengan karakter pertama berupa huruf atau underscore (_) dan bukan angka.
Karakter selanjutnya dapat berupa, huruf, angka, atau underscore (_). Penulisan
variabel tidak boleh mengandung spasi atau karakter khusus. Panjang minimal
sebuah variabel adalah 1 karakter setelah karakter $.
Berikut adalah contoh penulisan variabel di dalam PHP :
62
APLIKASI WEB DINAMIS
1 <?php
2 $a;
3 $nama;
4 $Umur;
5 $_lokasi_memori;
6 $NILAI_AVERAGE;
7 ?>
b. Sifat Variabel
PHP membedakan variabel yang ditulis dengan huruf besar dan kecil (case
sensitivity). Sehingga variabel $nama tidak sama dengan $Nama atau $NAMA.
Untuk menghindari kesalahan penulisan variabel, disarankan menggunakan huruf
kecil untuk seluruh nama variabel.
c. Nilai Variabel
Di dalam kode PHP, pemberian nilai kepada sebuah variabel
menggunakan tanda sama dengan (=). Operator ini dikenal dengan istilah
Assignment Operators. Jika variabel tersebut belum pernah digunakan, dan
langsung diberikan nilai awal, maka disebut juga dengan proses inisialisasi.
Berikut contoh cara memberikan nilai awal (inisialisasi) kepada variabel :
1 <?php
2 $nama = "andi";
3 $umur = 17;
4 $pesan = "Saya sedang belajar di Pusdiklat";
5 ?>
d. Deklarasi Variabel
Di dalam PHP, variabel tidak perlu dideklarasikan terlebih dahulu. Sebuah
variabel baru dapat dibuat di tengah-tengah kode program dan langsung
digunakan tanpa harus dideklarasikan terlebih dahulu.
e. Tipe Variabel
Bahasa pemograman PHP termasuk Loosely Type Language, yaitu jenis
bahasa pemograman yang variabelnya tidak terikat pada sebuah tipe tertentu.
Sehingga setiap variabel di dalam PHP bebas diisi dengan nilai apa saja, seperti
contoh berikut :
1 <?php
2 // nilai variabel berupa angka (integer)
3 $a = 17;
63
APLIKASI WEB DINAMIS
3.6. Operator
a. Operator String
64
APLIKASI WEB DINAMIS
Sebagai contoh, salin dan simpan kode PHP berikut ini dengan nama file
“latihan03.php”, kemudian jalankan dengan browser.
Script latihan03.php
1 <?php
2 $a = "Selamat";
3 $hasil1 = $a . "Datang!";
4 echo $hasil1;
5 echo "<br>";
6 $b = "Dalam ";
7 $c = "Diklat Pembuatan Web Dinamis";
8 $hasil2= $b.$c;
9 echo $hasil2;
10 ?>
b. Operator Aritmatika
65
APLIKASI WEB DINAMIS
Script latihan04.php
1 <?php
2 $hasil1= -3;
3 $hasil2=4+5;
4 $hasil3=7-5;
5 $hasil4=2*15;
6 $hasil5=25/5;
7 $hasil6=10 % 4;
8 echo "Hasil 1 : $hasil1";
9 echo "<br>";
10 echo "Hasil 2 : $hasil2";
11 echo "<br>";
12 echo "Hasil 3 : $hasil3";
13 echo "<br>";
14 echo "Hasil 4 : $hasil4";
15 echo "<br>";
16 echo "Hasil 5 : $hasil5";
17 echo "<br>";
18 echo "Hasil 6 : $hasil6";
19 ?>
Gambar 32. Penggunaan Operator Aritmatika
c. Operator Logika
66
APLIKASI WEB DINAMIS
Pada tabel di atas terdapat dua contoh untuk Operator AND dan OR.
Perbedaan dari operator AND dengan && serta OR dengan || terkait dengan cara
penulisan dan kekuatan operator. Operator && dan || memiliki kekuatan lebih
tinggi daripada AND dan OR, sehingga baris perintah $a AND $b || $c akan
dieksekusi oleh PHP menjadi $a AND ($b || $c).
Berikut adalah contoh kode program penggunaan operator logika dalam
PHP :
1 <?php
2 $a = 1;
3 $b = 2;
4 //contoh 1
5 if ($a == 1)
6 {
7 echo "Selamat";
8 }
9 //Output : Selamat
10 echo "<br>";
11 //contoh 2
12 if ($a == 1 and $b == 2)
13 {
14 echo "Selamat Datang!";
15 }
16 //Output : Selamat Datang!
17 echo "<br>";
18 // Contoh 3
19 if ($a == 1 or $b == 2)
20 {
67
APLIKASI WEB DINAMIS
21 echo "Welcome!";
22 }
23 // Output : Welcome
24 echo "<br>";
25 // Contoh 4
26 if ($a == 1 xor $b == 2)
27 {
28 echo "Hello PHP!";
29 }
30 // Tidak ada Output
31 echo "<br>";
32 // Contoh 4
33 if ($a != 10)
34 {
35 echo "Silahkan Masuk!";
36 }
37 // Output : Silahkan Masuk!
38 ?>
d. Operator Perbandingan
Operator perbandingan membandingkan dua buah kondisi yang akan
menghasilkan nilai TRUE atau FALSE.
Jenis-jenis dari operator perbandingan dalam PHP dapat dilihat dari tabel
dibawah ini :
68
APLIKASI WEB DINAMIS
69
APLIKASI WEB DINAMIS
39 /*
40 menghasilkan output Salah karena variabel $a
41 memiliki nilai yang sama dengan variabel $b
42 */
43 echo "<br>";
44 if($a !== $b)
45 {
46 echo "Benar";
47 }
48 else
49 {
50 echo "Salah";
51 }
52 /*
53 menghasilkan output Salah karena variabel $a
54 memiliki nilai dan tipe yang sama dengan
55 variabel $b
56 */
57 echo "<br>";
58 $c = 4;
59 $d = 7;
60 if($c < $d)
61 {
62 echo "Benar";
63 }
64 else
65 {
66 echo "Salah";
67 }
68 /*
69 menghasilkan output Benar karena nilai
70 variabel $a memiliki nilai lebih kecil
71 daripada variabel $b
72 */
73 echo "<br>";
74 if($c > $d)
75 {
76 echo "Benar";
77 }
78 else
79 {
80 echo "Salah";
81 }
82 /*
83 menghasilkan output Salah karena nilai
84 variabel $a memiliki nilai lebih besar
85 daripada variabel $b
86 */
87 echo "<br>";
88 ?>
70
APLIKASI WEB DINAMIS
e. Struktur Logika IF
Struktur IF adalah struktur logika untuk membuat percabangan alur
program. Dengan menggunakan struktur IF, sebuah perintah dapat diatur apakah
akan dijalankan atau tidak.
Struktur dasar penulisan alur logika IF adalah sebagai berikut :
if (expression)
{
statement
}
atau:
if (expression 1)
{ statement 1 }
elseif (expression 2)
{ statement 2 }
else
{ statement 3 }
71
APLIKASI WEB DINAMIS
Script latihan05.php
1 <?php
2 $a=4;
3 $b=9;
4 if ($a>$b)
5 {
6 echo("a lebih besar dari pada b");
7 }
8 elseif ($a<$b)
9 {
10 echo("a lebih kecil b");
11 }
12 else
13 {
14 echo("a sama dengan b");
15 }
16 ?>
72
APLIKASI WEB DINAMIS
break;
}
Sebagai contoh penggunaan switch, salin dan simpan kode berikut dengan
nama file “latihan06.php”, kemudian jalankan dengan browser.
Script latihan06.php
1 <?php
2 $a=2;
3 switch ($a)
4 {
5 case 1 :
6 echo "Angka Satu";
7 break;
8 case 2 :
9 echo "Angka Dua";
10 break;
11 default :
12 echo "Angka Tidak Terdefinisi";
13 break;
14 }
15 ?>
73
APLIKASI WEB DINAMIS
1) start adalah kondisi pada saat awal perulangan yang diwakili dengan sebuah
nilai variabel counter yang digunakan untuk mengontrol perulangan.
2) condition adalah kondisi yang harus dipenuhi agar perulangan dijalankan.
Selama kondisi ini terpenuhi, maka PHP akan terus melakukan perulangan.
3) increment adalah bagian yang digunakan untuk memproses variabel counter
berupa pertambahan nilai agar bisa memenuhi kondisi akhir perulangan.
4) statement adalah bagian kode program yang akan diproses secara terus-
menerus selama proses perulangan berlangsung.
Untuk memudahkan pemahaman , ketiklah kode PHP di bawah ini yang
bertujuan melakukan pengulangan untuk menampilkan angka 1 sampai dengan
10 di browser, lalu simpan dengan nama file “latihan07.php”, kemudian lihat
hasilnya melalui browser.
Script latihan07.php
1 <?php
2 for ($a= 1; $a <= 10; $a++)
3 {
4 echo $a;
5 echo "<br>";
6 }
7 ?>
74
APLIKASI WEB DINAMIS
while (condition)
{
statement;
statement;
}
Script latihan08.php
1 <?php
2 $a=1;
3 while ($a<=10)
4 {
5 echo "$a";
6 echo "<br>";
7 $a=$a+1;
8 }
9 ?>
75
APLIKASI WEB DINAMIS
do {
statement;
statement;
} while (condition);
76
APLIKASI WEB DINAMIS
Script latihan09.php
1 <?php
2 $a=1;
3 do
4 {
5 echo "$a";
6 echo "<br>";
7 $a=$a+1;
8 } while ($a <= 10);
9 ?>
77
APLIKASI WEB DINAMIS
1 <?php
2 $tanggal1=date("Y-m-d");
3 $tanggal2=date("l, j F Y");
4 $tanggal3=date("H:i:s");
5 echo "$tanggal1 <br>";
6 echo "$tanggal2 <br>";
7 echo "$tanggal3 <br>";
8 ?>
1 <?php
2 $kalimat = "Kami Sedang Belajar di Pusdiklat Pajak";
3 $kata = explode(" " , $kalimat);
4 echo $kalimat ."<br>";
5 echo " Kata 1 = " . $kata[0] ."<br>";
6 echo " Kata 2 = " . $kata[1] ."<br>";
7 echo " Kata 3 = " . $kata[2] ."<br>";
8 echo " Kata 4 = " . $kata[3] ."<br>";
9 echo " Kata 5 = " . $kata[4] ."<br>";
10 echo " Kata 6 = " . $kata[5];
11 ?>
78
APLIKASI WEB DINAMIS
Pada contoh script di atas, tanda atau karakter pemisah yang digunakan
adalah spasi (“ “). Sehingga kalimat “Kami Sedang Belajar di Pusdiklat” dipisahkan
dengan spasi menjadi enam kata atau data.
Salin dan simpan kode di atas dengan nama file “latihan10.php”, kemudian
jalankan di browser.
Script latihan11.php
1 <?php
2 //contoh 1
3 $kalimat = "Aplikasi Web Statis";
4 echo str_replace("Statis","Dinamis",$kalimat);
5 echo "<br><br>";
6 //contoh 2
7 $kalimat2 = "Saya minum kopi dan makan nasi";
8 $lama = array("kopi", "nasi");
79
APLIKASI WEB DINAMIS
3.10. Session
Di dalam PHP, session merupakan data spesifik yang merujuk kepada user
tertentu yang disimpan dalam server yang dapat digunakan secara global di server
tersebut. Contoh penggunaan session adalah ketika user telah login di halaman
atau aplikasi tertentu, maka ketika membuka halaman lain, PHP akan mengingat
bahwa user tersebut telah login sehingga user yang bersangkutan dapat
mengakses halaman atau menu sesuai dengan hak yang diberikan halaman atau
aplikasi.
Ketik dan simpan contoh kode penggunaan session berikut dengan nama
file “latihan12.php”, kemudian jalankan melalui browser.
Script latihan10.php
1 <?php
2 session_start();
3 $_SESSION['user'] = 'Rifki';
4 $_SESSION['role'] = 'admin';
5
6 echo "$user";
80
APLIKASI WEB DINAMIS
7 echo "<br>";
8 echo "$role";
9 ?>
1 <?php
2 include "latihan11.php";
3 require "latihan12.php";
4 ?>
81
APLIKASI WEB DINAMIS
Penulisan kode di atas untuk kondisi folder lokasi kedua file tersebut dan
file yang menggabungkanya di simpan di dalam folder yang sama. Jika lokasi file
berbeda, maka untuk penulisannya dilengkapi dengan lokasi folder secara lengkap
dengan format seperti berikut :
1 <?php
2 include "nama_folder/latihan01.php";
3 require "nama_folder/latihan02.php";
4 ?>
Meski sama-sama berfungsi untuk menyispkan file PHP ke dalam file PHP
lain, namun fungsi include() dan require()memiliki perbedaan. Jika file yang
di sisipkan dengan menggunakan fungsi include() tidak tersedia atau salah
dalam peletakan lokasi folder maka file akan tetap di jalankan dengan
mengabaikan error. Tetapi jika menggunakan fungsi require() dan file yang di
sisipkan tidak tersedia atau salah dalam peletakan lokasi folder, maka isi dari file
tidak akan di lanjutkan dan akan di hentikan penyisipannya pada letak error.
Jenis lain dari fungsi include() dan require()adalah
include_once() atau require_once(). Dengan menggunaan dua fungsi
terakhir maka proses penyisipan akan dipanggil satu kali saja meskipun digunakan
beberapa kali. Sementara jika penyisipan menggunakan include() dan
82
APLIKASI WEB DINAMIS
3.12. Latihan
3.13. Rangkuman
83
APLIKASI WEB DINAMIS
1. Pernyataan yang tidak tepat terkait penulisan file PHP adalah ...
a. penulisan fungsi atau keyword tidak case sensitive
b. spasi dan tab diabaikan saat file PHP dijalankan di browser
c. penulisan variabel tidak case sensitive
d. karakter "//" dapat digunakan untuk menuliskan komentar
2. Penulisan komentar di dalam fie PHP yang diawali dengan menggunakan
karakter "/*" dan ditutup dengan "*/" disebut dengan metode ...
a. Unix Shell
b. C++
c. C
d. Standard PHP
3. Sementara penulisan komentar di dalam fie PHP yang diawali dengan
menggunakan karakter "#" disebut dengan metode ...
a. Unix Shell
b. C++
c. C
d. Standard PHP
4. Penulisan variabel di dalam PHP ditandai dengan karakter $. Dalam
penamaan variabel, maka karakter pertama setelah karakter $ tidak boleh
berupa ...
a. huruf kapital
b. huruf kecil
c. angka
d. karakter "_"
5. Berikut adalah contoh penulisan variabel yang benar, kecuali ...
84
APLIKASI WEB DINAMIS
a. $a
b. $A
c. $1
d. $_a
6. Untuk menggbungkan dua atau lebih variabel string digunakan karakter ...
a. titik (.)
b. titik koma (;)
c. koma (,)
d. petik (“”)
7. Fungsi date yang akan menampilkan format tanggal 01 June 2018 adalah ...
a. $tanggal=date("d F Y");
b. $tanggal=date("d m Y");
c. $tanggal=date("d M y");
d. $tanggal=date("d m y");
8. Dalam Operator Perbandingan, tanda “===” memiliki fungsi untuk ....
a. menghasilkan nilai TRUE jika dua veriabel memiliki nilai yang sama
b. menghasilkan nilai TRUE jika dua veriabel memiliki nilai dan tipe yang
sama
c. menghasilkan nilai TRUE jika dua veriabel memiliki tipe yang berbeda
d. menghasilkan nilai TRUE jika dua veriabel memiliki nilai dan tipe yang
berbeda
9. Fungsi di dalam PHP untuk memisahkan string berdasarkan karakter tertentu
adalah ...
a. fungsi explode
b. fungsi include
c. fungsi replace
d. fungsi join
10. Fungsi di dalam PHP yang dapat menggabungkan isi dari dua buah file ke
dalam satu tampilan adalah ...
a. fungsi explode
b. fungsi include
c. fungsi replace
d. fungsi join
85
APLIKASI WEB DINAMIS
Jumlah Soal
86
APLIKASI WEB DINAMIS
4. KEGIATAN BELAJAR 4
KEGIATAN
BELAJAR
PENGGUNAAN DATABASE
MYSQL 4
4.1. Indikator Keberhasilan
87
APLIKASI WEB DINAMIS
88
APLIKASI WEB DINAMIS
Primary key pada sebuah satu tabel dan menjadi salah satu kolom pada tabel yang
lain.
Seperti sudah dijelaskan sebelumnya, setiap tabel terdiri dari field. Setiap
field berisi data dengan tipe yang bisa berbeda-beda. Di dalam MySQL tipe data
dikelompokkan menjadi 4 tipe, yaitu :
a. Tipe Data Numeric
Tipe data numeric yaitu tipe data yang digunakan untuk menyimpan data
berupa angka.
Tipe data dalam kelompok ini antara lain :
1) TINYINT, digunakan untuk menyimpan data berupa bilangan bulat positif dan
negatif dengan jangkauan antara -128 s/d 127. Tipe data ini mempunyai ukuran
1 byte (8 bit)
2) SMALLINT, digunakan untuk menyimpan data berupa bilangan bulat positif dan
negatif dengan jangkauan antara -32.768 s/d 32.767. Tipe data ini mempunyai
ukuran 2 byte (16 bit)
3) MEDIUMINT, digunakan untuk menyimpan data berupa bilangan bulat positif
dan negatif dengan jangkauan antara -8.388.608 s/d 8.388.607. Tipe data ini
mempunyai ukuran 3 byte (24 bit).
4) INT, digunakan untuk menyimpan data berupa bilangan bulat positif dan negatif
dengan jangkauan antara -2.147.483.648 s/d 2.147.483.647. Tipe data ini
mempunyai ukuruan 4 byte (32 bit).
89
APLIKASI WEB DINAMIS
5) BIGINT, digunakan untuk menyimpan data berupa bilangan bulat positif dan
negatif dengan jangkauan antara -9.223.372.036.854.775.808 s/d
9.223.372.036.854.775.807. Tipe data ini mempunyai ukuran 8 byte (64 bit).
6) DECIMAL, digunakan untuk menyimpan data berupa bilangan desimal dengan
jumlah angka di belakang koma sudah ditetapkan di awal dan bersifat tetap.
Tipe data ini mempunyai ukuran 8 byte (64 bit).
7) FLOAT, digunakan untuk menyimpan data berupa bilangan desimal dengan
jumlah angka di belakang koma sudah berubah-ubah (dinamis) dengan tingkat
ketelitian single-precision. Tipe data ini mempunyai ukuran 4 byte (32 bit).
8) DOUBLE, digunakan untuk menyimpan data berupa bilangan desimal dengan
jumlah angka di belakang koma sudah berubah-ubah (dinamis) dengan tingkat
ketelitian double-precision. Tipe data ini mempunyai ukuran 8 byte (64 bit).
90
APLIKASI WEB DINAMIS
91
APLIKASI WEB DINAMIS
92
APLIKASI WEB DINAMIS
93
APLIKASI WEB DINAMIS
94
APLIKASI WEB DINAMIS
Pada tampilan seperti gambar di atas, isikan data sesuai dengan informasi
pada tabel berikut, lalu klik tombol “Save”.
Beberapa fitur yang perlu diperhatikan pada tampilan setiap tabel seperti
gambar di atas adalah :
a. Browse, digunakan untuk melihat isi tabel.
b. Stucture, digunakan untuk melihat struktur tabel seperti gambar di atas.
c. SQL, digunakan untuk menjalankan sebuah query untuk mencari data tertentu
di dalam tabel.
d. Search, digunakan untuk melakukan pencarian data tertentu di dalam tabel.
e. Insert, digunakan untuk menginput data ke dalam tabel.
95
APLIKASI WEB DINAMIS
Untuk menginput data ke dalam tabel, dalam hal ini adalah tabel pegawai,
klik tab insert pada tampilan halaman seperti pada Gambar 46 di halaman 100.
Tampilan halam insert data ke dalam tabel pegawai adalah seperti gambar di
bawah ini :
Pada kolom isian seperti gambar di atas, isikan data seperti tabel berikut
ini :
96
APLIKASI WEB DINAMIS
Setelah mengisi data, klik tombol “Go” untuk menyimpan data ke dalam
tabel pegawai.
Jumlah record data yang bisa diinput dalam setiap proses insert dapat
ditentukan dengan mengetik jumlah data pada kolom “Continue insertion with”.
Setelah semua data berhasil diinput, klik tab Browse untuk menampilkan
data tabel pegawai. Tampilan halaman yang akan muncul adalah seperti gambar
di bawah ini :
Input data ke dalam tabel juga dapat dilakukan dengan cara import data
dari file bertipe .sql, .csv, dan .xml.
97
APLIKASI WEB DINAMIS
Berikut adalah langkah-langkah untuk melakukan import data dari file CSV
ke dalam tabel pegawai.
a. Siapkan file CSV berisi data pegawai dengan format sesuai dengan struktur
tabel pegawai
b. Klik tab Import pada tampilan seperti gambar di atas.
c. Cari file CSV yang sudah dibuat sebelumnya.
d. Sesuaikan pemisah antar kolom dari file CSV.
e. Klik tombol “Go”.
Setelah tabel pegawai terisi dengan data pada tabel 5, maka data di
tersebut dapat dilihat dan dimanipulasi atau diubah.
Untuk melihat keseluruhan data dalam tabel pegawai, klik tab Browse
pada tampilan seperti Gambar 47 di halaman 101. Selanjutnya akan muncul
tampilan seperti pada Gambar 49 di halaman 103.
98
APLIKASI WEB DINAMIS
99
APLIKASI WEB DINAMIS
100
APLIKASI WEB DINAMIS
4.8. Latihan
Sebelum menyelesaikan latihan di bawah ini, buatlah database baru dengan nama
web_dinamis_data, kemudian lakukan import data melalui phpmyadmin dengan
menggunakan file data set yang telah diunduh sebelumnya di alamat
https://goo.gl/jhmyC1 dengan urutan file sebagai berikut :
- Dataset01.sql
- Dataset02.sql
- Dataset03.sql
1. Buatlah query untuk menampilkan data seperti tabel di bawah ini!
Nama KLU Jumlah WP
nama_klu_1 ...
nama_klu_2 ...
nama_klu_... ...
nama_klu_... ...
nama_klu_... ...
4.9. Rangkuman
101
APLIKASI WEB DINAMIS
102
APLIKASI WEB DINAMIS
4. Kolom yang menjadi penghubung antara satu tabel dengan tabel lainnya
disebut ...
a. primary key
b. foreign key
c. candidate key
d. unique key
5. Yang tidak termasuk perintah dasar dalam Data Definition Language (DDL)
adalah …
a. create
b. alter
c. select
d. rename
6. Yang bukan merupakan perintah dasar dalam Data Manipulation Language
(DML) adalah ….
a. delete
b. insert
c. update
d. drop
7. Yang termasuk contoh Data Control Language (DCL) adalah ...
a. create
b. drop
c. rename
d. grant
8. Perintah yang digunakan untuk menampilkan nip dan nama dari tabel pegawai
adalah ....
a. select * from pegawai
b. select nip and nama from pegawai
c. select nip, nama from pegawai
d. select from pegawai where nip and nama
9. Perintah yang digunakan untuk menampilkan data pegawai yang mengandung
kata “ahmad” dari tabel pegawai adalah ....
a. select * from pegawai where nama='ahmad'
103
APLIKASI WEB DINAMIS
Jumlah Soal
104
APLIKASI WEB DINAMIS
5. KEGIATAN BELAJAR 5
KEGIATAN
PEMBUATAN WEB DINAMIS BELAJAR
105
APLIKASI WEB DINAMIS
lokasi Web Server Apache berjalan, maka alamat ini bisa diisi dengan
localhost atau 127.0.0.1. Jika MySQL dan Web Server Apache berjalan di
lokasi atau komputer yang berbeda, maka alamat tersebut ditulis dengan IP
komputer di mana MySQL dijalankan.
c. mysql_user adalah nama user MySQL yang digunakan untuk login, seperti
root, admin, atau lainnya, tergantung user MySQL yang telah terdaftar di server
yang akan digunakan.
d. mysql_password, diisi dengan password dari user yang digunakan.
Berikut adalah kode PHP untuk membuat koneksi dengan MySQL dengan
database web_dinamis. Salin dan simpan dengan nama file “koneksi.php” di
folder D:/XAMPP/htdocs, kemudian jalankan melalui browser untuk melihat
hasilnya.
Script koneksi.php
1 <?php
2 $koneksi= mysql_connect('localhost', 'root', '');
3 $db=mysql_select_db('web_dinamis');
4 //cek apakah koneksi dengan MySQL berhasil
5 if ($koneksi)
6 {
7 //koneksi berhasil
8 echo "Koneksi dengan MySQL berhasil";
9 }
10 else
11 {
12 //koneksi gagal
13 echo "Koneksi dengan MySQL gagal";
14 }
15 ?>
106
APLIKASI WEB DINAMIS
107
APLIKASI WEB DINAMIS
Script pegawai_tampil.php
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Menampilkan Data Pegawai</title>
5 <link rel="stylesheet" type="text/css"
6 href="kode_css.css">
7 </head>
8 <body>
9 <h3>Daftar Pegawai</h3>
10 <table class=table1>
11 <tr>
12 <th>Nama Pegawai</th>
13 <th>N I P</th>
14 <th>Jabatan</th>
15 <th>Seksi</th>
16 </tr>
17 <?php
18 $koneksi=mysql_connect('localhost','root','');
19 $db=mysql_select_db('web_dinamis');
20 $query="select * from pegawai";
21 $jalankan_query=mysql_query($query) or
22 die(mysql_error());
23 if(mysql_num_rows($jalankan_query) == 0)
24 {
25 echo "<tr>";
26 echo "<td class='text' colspan=4
27 align='center'><b>Data tidak ditemukan</td>";
28 echo "</tr>";
29 }
30 while ($row=mysql_fetch_array($jalankan_query))
31 {
32 echo "<tr>
33 <td>$row[nip]</td>
34 <td>$row[nama]</td>
35 <td>$row[kode_jabatan]</td>
36 <td>$row[kode_seksi]</td>
37 </tr>";
38 }
39 echo "</table>";
40 ?>
41 </body>
42 </html>
108
APLIKASI WEB DINAMIS
b. $query adalah variabel yang berisi pertinta query yang akan dijalankan.
c. $jalankan_query adalah variabel yang akan menampung hasil dari fungsi
mysql_query(). Jika fungsi mysql_query() berhasil dijalankan, variabel
$query akan berisi data hasil query. Namun jika gagal, variabel ini akan bernilai
FALSE. Penamaan variabel ini tidak harus $query, bisa menggunakan nama
lain dengan bebas.
d. mysql_num_rows digunakan untuk mendapatkan jumlah baris data dari
mysql_query(). Jika fungsi mysql_query() tidak menemukan data.
Informasi pada halaman web yang ditampilkan berupa kalimat “Data tidak
ditemukan”.
e. mysql_fetch_array berfungsi untuk menampilkan seluruh data yang
ditemukan ketika fungsi mysql_query()berhasil dijalankan.
Tampilan data di atas belum memunculkan nama jabatan dan nama seksi
dari setiap pegawai karena kedua data tersebut berada di tabel lain, yaitu tabel
jabatan dan seksi. Untuk menampilkan keseluruhan data dengan sempurna,
maka query yang dijalankan harus mengambil data dari ketiga tabel tersebut.
109
APLIKASI WEB DINAMIS
Script pegawai_tampil2.php
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Menampilkan Data Pegawai</title>
5 <link rel="stylesheet" type="text/css"
6 href="kode_css.css">
7 </head>
8 <body>
9 <h3>Daftar Pegawai</h3>
10 <table class=table1>
11 <tr>
12 <th>Nomor</th>
13 <th>Nama Pegawai</th>
14 <th>N I P</th>
15 <th>Jabatan</th>
16 <th>Seksi</th>
17 </tr>
18 <?php
19 $nomor=0;
20 $koneksi=mysql_connect('localhost','root','');
21 $db=mysql_select_db('web_dinamis');
22 $query="select nama, nip, nama_jabatan, nama_seksi
23 FROM pegawai a, jabatan b, seksi c
24 where a.kode_jabatan=b.kode_jabatan
25 and a.kode_seksi=c.kode_seksi order by nama";
26 $jalankan_query=mysql_query($query) or
27 die(mysql_error());
28 if(mysql_num_rows($jalankan_query) == 0)
29 {
30 echo "<tr>";
31 echo "<td class='text' colspan=5
32 align='center'><b>Data tidak
33 ditemukan</td>";
34 echo "</tr>";
35 }
36 while ($row=mysql_fetch_array($jalankan_query))
37 {
38 $nomor++;
39 echo "<tr>
40 <td>$nomor</td>
41 <td>$row[nip]</td>
42 <td>$row[nama]</td>
43 <td>$row[nama_jabatan]</td>
44 <td>$row[nama_seksi]</td>
45 </tr>";
46 }
110
APLIKASI WEB DINAMIS
47 echo "</table>";
48 ?>
49 </body>
50 </html>
111
APLIKASI WEB DINAMIS
Ketika data yang tersimpan di dalam database sudah banyak, maka akan
memudahkan bagi pengguna atau pengunjung web untuk menemukan data
dengan menggunakan halaman pencarian. Untuk menjalankan fungsi pencarian
data di dalam web, maka diperlukan halaman yang memuat formulir pencarian
data dan halaman yang menampilkan hasil pencarian data.
Berikut adalah kode untuk membuat halaman pencarian data.
Script pegawai_cari.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Pencarian Data Pegawai</title>
5 <link rel="stylesheet" type="text/css"
6 href="kode_css.css">
7 </head>
8 <body>
9 <h3>Pencarian Pegawai</h3>
10 <form name="carihasil" method="post"
11 action="pegawai_hasil.php">
12 <table class=table1>
13 <tr>
14 <td>
15 <select name="kolom" >
16 <option value="nip" selected>NIP</option>
17 <option value="nama">Nama</option>
18 <option value="nama_jabatan">Jabatan</option>
19 <option value="nama_seksi">Seksi</option>
20 </select>
21 </td>
22 <td>
23 <input type="text" name="cari" size="30">
24 <input type="submit" name="Submit"
25 value="cari">
26 </td>
27 </tr>
28 </table>
29 </form name="carihasil">
30 </table>
31 </body>
32 </html>
112
APLIKASI WEB DINAMIS
b. Tag select diberi nama kolom sebagai nilai variabel pencarian berdasarkan
kriteria pencarian yang disediakan. Kriteria pencarian tersebut berdasarkan
nama kolom yang merujuk kepada nama kolom di dalam tabel-tabel yang
digunakan dalam proses pencarian data. Nama kolom tersebut merupakan nilai
value dari tag option, sehingga pengguna atau pengunjung web dapat
memilih nama kolom apa yang akan dijadikan kriteria pencarian.
c. Tag input type="text" memiliki atribut name "cari". Isian yang diinput
oleh pengunjung akan menjadi nilai dari "cari" yang akan digunakan sebagai
dasar pencarian isi dari kolom yang dipilih pada halaman hasil pencarian
(pegawai_hasil.php).
d. Tag input type=”submit” diberi nilai value “Cari” sehingga tombol
pencarian akan muncul dengan tulisan “Cari”.
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Menampilkan Hasil Pencarian Pegawai</title>
5 <link rel="stylesheet" type="text/css"
6 href="kode_css.css">
7 </head>
8 <body>
113
APLIKASI WEB DINAMIS
114
APLIKASI WEB DINAMIS
atau pengunjung web memilih kriteria pencarian agar dapat digunakan dalam
menajalankan query.
b. $cari=$_POST['cari'] berfungsi untuk menangkap nilai variabel $cari
yang dikirim dari halaman pencarian sebelumnya ketika pengguna atau
pengunjung web mengetik kata kunci perncarian agar dapat digunakan dalam
menajalankan query.
Ketik kode di atas dan simpan dengan nama file “pegawai_hasil.php” di
folder D:/XAMPP/htdocs.
Pada halaman pencarian data pegawai seperti tampilan Gambar 54 di
halaman 119, lakukan pencarian dengan salah satu kriteria, kemudian klik tombol
“Cari”. Jika data pegawai yang dicari ditemukan maka akan muncul tampilan
seperti gambar berikut :
115
APLIKASI WEB DINAMIS
pertama adalah untuk menampilkan formulir perekaman untuk input data dan
halaman kedua untuk menyimpan data hasil perekaman.
Berikut adalah kode untuk halaman perekaman data pegawai :
Script pegawai_rekam.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Perekaman Data Pegawai</title>
5 <link rel="stylesheet" type="text/css"
6 href="kode_css.css">
7 </head>
8 <body>
9 <h3>Perekaman Data Pegawai</h3>
10 <body>
11 <form method="post" action="pegawai_simpan.php">
12 <table class=table1>
13 <tr>
14 <td>N I P</td><td> : </td><td>
15 <input type="text" name="nip_pegawai"></td>
16 </tr>
17 <tr>
18 <td>Nama</td><td> : </td><td>
19 <input type="text" name="nama_pegawai"></td>
20 </tr>
21 <tr>
22 <td>Jabatan</td><td> : </td><td>
23 <input type="radio" name="kd_jabatan" value="1"
24 checked> Pelaksana
25 <input type="radio" name="kd_jabatan" value="2">
26 Fungsional
27 <input type="radio" name="kd_jabatan" value="3">
28 Kepala Seksi
29 <input type="radio" name="kd_jabatan" value="4">
30 Kepala kantor
31 </td>
32 </tr>
33 <tr>
34 <td>Seksi</td><td> : </td>
35 <td><select name="kd_seksi">
36 <option value="01">
37 Subbagian Umum dan Kepatuhan Internal</option>
38 <option value="02">Seksi Pelayanan</option>
39 <option value="03">Seksi Pemeriksaan</option>
40 <option value="04">Seksi PDI</option>
41 <option value="05">Seksi Ekstensifikasi dan
42 Penyuluhan</option>
43 <option value="06">Seksi Penagihan</option>
44 <option value="07">Seksi Pengawasan dan
116
APLIKASI WEB DINAMIS
45 Konsultasi I</option>
46 <option value="08">Seksi Pengawasan dan
47 Konsultasi II</option>
48 <option value="09">Seksi Pengawasan dan
49 Konsultasi III</option>
50 <option value="10">Seksi Pengawasan dan
51 Konsultasi IV</option>
52 <option value="00">Kantor Pelayanan
53 Pajak</option>
54 </select>
55 </td>
56 </tr>
57 </table>
58 <input type="submit" value="Simpan">
59 </form>
60 </body>
61 </html>
Script pegawai_simpan.php
1 <!DOCTYPE html>
117
APLIKASI WEB DINAMIS
2 <html>
3 <head>
4 <title>Menyimpan Data Pegawai</title>
5 <link rel="stylesheet" type="text/css"
6 href="kode_css.css">
7 </head>
8 <body>
9 <?php
10 $koneksi=mysql_connect('localhost','root','');
11 $db=mysql_select_db('web_dinamis');
12 $nip_pegawai=$_POST['nip_pegawai'];
13 $nama_pegawai=$_POST['nama_pegawai'];
14 $kd_jabatan=$_POST['kd_jabatan'];
15 $kd_seksi=$_POST['kd_seksi'];
16 //validasi isian
17 if(empty($nip_pegawai))
18 {echo "<br> - Kolom NIP Tidak Boleh Kosong.";}
19 if (!is_numeric($nip_pegawai))
20 {echo "<br> - Kolom NIP Harus Diisi Angka.";}
21 if(empty($nama_pegawai))
22 {echo "<br> - Kolom Nama Tidak Boleh Kosong.";}
23 if (is_numeric($nama_pegawai))
24 {echo "<br> - Kolom Nama Harus Diisi Huruf.";}
25 if(empty($kd_seksi))
26 {echo "<br> - Nama Seksi Harus Dipilih.";}
27 if(!empty($nip_pegawai) && is_numeric($nip_pegawai)
28 && !empty($nama_pegawai) && is_numeric($nama_pegawai)
29 && !empty($kd_seksi) )
30 {
31 $query="insert into pegawai values (
32 '$nip_pegawai', '$nama_pegawai', '$kd_jabatan',
33 '$kd_seksi')";
34 $jalankan_query=mysql_query($query) or
35 die(mysql_error());
36 if($jalankan_query)
37 {
38 echo "Data Pegawai Dengan NIP $nip_pegawai
39 atas Nama $nama_pegawai Berhasil Disimpan";
40 }
41 }
42 else
43 {
44 echo "<br>Data Pegawai Gagal Simpan";
45 }
46 ?>
47 </body>
48 </html>
118
APLIKASI WEB DINAMIS
Tetapi jika data pegawai yang direkam tidak sesuai dengan kriteria validasi
perekaman, maka akan muncul tampilan halaman yang menginformasikan bahwa
penyimpanan data pegawai gagal dilakukan seperti gambar berikut ini :
119
APLIKASI WEB DINAMIS
Dalam proses perekaman, dalam hal ini perekaman data pegawai, bisa
saja terjadi kesalahan perekaman data. Artinya data pegawai yang sudah
tersimpan di dalam database bukanlah data yang benar, seperti kesalahan
perekaman nama atau lainnya. Ada juga kemungkinan terjadinya perubahan data
pegawai karena adanya perpindahan pegawai sehingga data pegawai di dalam
database harus diubah.
Sama halnya seperti perekaman penambahan data pegawai, selain dapat
dilakukan melalui akses ke database langsung (phpmyadmin), perubahan atau
penghapusan data juga dapat dilakukan melalui sebuah halaman web atau
formulir.
Langkah pertama untuk membuat halaman yang memuat link menuju
halaman perubahan atau penghapusan data dengan menambahkan kode yang
ada di dalam file “pegawai_tampil2.php” yang sudah dibuat sebelumnya menjadi
seperti di bawah ini :
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Menampilkan Data Pegawai</title>
5 <link rel="stylesheet" type="text/css"
6 href="kode_css.css">
7 </head>
8 <body>
9 <h3>Daftar Pegawai</h3>
10 <table class=table1>
11 <tr>
120
APLIKASI WEB DINAMIS
12 <th>Nomor</th>
13 <th>Nama Pegawai</th>
14 <th>N I P</th>
15 <th>Jabatan</th>
16 <th>Seksi</th>
17 <th>Aksi</th>
18 </tr>
19 <?php
20 $nomor=0;
21 $koneksi=mysql_connect('localhost','root','');
22 $db=mysql_select_db('web_dinamis');
23 $query="select nama, nip, nama_jabatan, nama_seksi
24 FROM pegawai a, jabatan b, seksi c
25 where a.kode_jabatan=b.kode_jabatan
26 and a.kode_seksi=c.kode_seksi order by nama";
27 $jalankan_query=mysql_query($query) or
28 die(mysql_error());
29 if(mysql_num_rows($jalankan_query) == 0)
30 {
31 echo "<tr>";
32 echo "<td class='text' colspan=5
33 align='center'><b>Data tidak ditemukan</td>";
34 echo "</tr>";
35 }
36 while ($row=mysql_fetch_array($jalankan_query))
37 {
38 $nomor++;
39 echo "<tr>
40 <td>$nomor</td>
41 <td>$row[nip]</td>
42 <td>$row[nama]</td>
43 <td>$row[nama_jabatan]</td>
44 <td>$row[nama_seksi]</td>
45 <td><a class=link
46 href=pegawai_ubah.php?id=$row[nip]> Ubah</a> -
47 <a class=link href=pegawai_hapus.php?id=$row[nip]>
48 Hapus</a>
49 </td>
50 </tr>";
51 }
52 echo "</table>";
53 ?>
54 </body>
55 </html>
121
APLIKASI WEB DINAMIS
122
APLIKASI WEB DINAMIS
Script pegawai_ubah.php
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Perubahan Data Pegawai</title>
5 <link rel="stylesheet" type="text/css"
6 href="kode_css.css">
7 </head>
8 <body>
9 <h3>Perubahan Data Pegawai</h3>
10 <?php
11 $koneksi=mysql_connect('localhost','root','');
12 $db=mysql_select_db('web_dinamis');
13 $id= $_GET['id'];
14 $jabatan="select nama_jabatan, kode_jabatan
15 FROM jabatan order by kode_jabatan";
16 $hasiljabatan = mysql_query ($jabatan);
17 $namajabatan = array () ;
18 while ($data = mysql_fetch_row($hasiljabatan))
19 {
20 $namajabatan [] = $data ["0"];
21 $idjabatan[] = $data ["1"];
22 }
23 $countjabatan = count ($namajabatan);
24 $seksi="select nama_seksi, kode_seksi
25 FROM seksi order by nama_seksi";
26 $hasilseksi = mysql_query ($seksi);
27 $namaseksi = array () ;
28 while ($data = mysql_fetch_row ($hasilseksi))
29 {
30 $namaseksi [] = $data ["0"];
31 $idseksi[] = $data ["1"];
32 }
33 $countseksi = count ($namaseksi);
34 $query="select * from pegawai where nip=$id";
35 $jalankan_query=mysql_query($query) or
36 die(mysql_error());
37 if(mysql_num_rows($jalankan_query) == 0)
38 {
39 echo "Data Tidak Ada.";
40 }
41 while ($row=mysql_fetch_array($jalankan_query))
42 {
43 echo "
44 <form name='ubahdata' method='post'
45 action='pegawai_ubah2.php'>
46 <table class=table1>
47 <tr>
48 <td>N I P</td><td> : </td>
49 <td><input type='text' name='nip_pegawai'
123
APLIKASI WEB DINAMIS
50 value='$row[nip]'></td>
51 </tr>
52 <tr>
53 <td>Nama</td><td> : </td>
54 <td><input type='text'
55 name='nama_pegawai'
56 value='$row[nama]'></td>
57 </tr>
58 <tr>
59 <td>Jabatan</td><td> : </td>
60 <td>
61 <select name='kd_jabatan'>
62 <option value=''>Pilih Jabatan";
63 for ($a=0;$a<$countjabatan;$a++)
64 {
65 echo "<option value='$idjabatan[$a]'>
66 $namajabatan[$a]";
67 }
68 echo "</select>
69 </td>
70 </tr>
71 <tr>
72 <td>Seksi</td><td> : </td>
73 <td>
74 <select name='kd_seksi'>
75 <option value=''>Pilih Seksi";
76 for ($b=0;$b<$countseksi;$b++)
77 {
78 echo "<option value='$idseksi[$b]'>
79 $namaseksi[$b]";
80 }
81 echo "</select>
82 </td>
83 </tr>
84 </table>
85 <input type='submit' value='Simpan'>
86 <input type='hidden' name='id' value=$id>
87 </form>";
88 }
89 ?>
70 </body>
71 </html>
124
APLIKASI WEB DINAMIS
Pada bagian awal form di dalam file “pegawai_ubah.php”, file yang akan
melakukan proses perubahan data adalah “pegawai_ubah2.php”. Berikut ini
adalah kode untuk disimpan sebagai file dengan nama “pegawai_ubah2.php”.
Script pegawai_ubah2.php
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Menyimpan Data Pegawai</title>
5 <link rel="stylesheet" type="text/css"
6 href="kode_css.css">
7 </head>
8 <body>
9 <?php
10 $koneksi=mysql_connect('localhost','root','');
11 $db=mysql_select_db('web_dinamis');
12 $id=$_POST['id'];
13 $nip_pegawai=$_POST['nip_pegawai'];
14 $nama_pegawai=$_POST['nama_pegawai'];
15 $kd_jabatan=$_POST['kd_jabatan'];
16 $kd_seksi=$_POST['kd_seksi'];
17 //pengecekan pengisian data
125
APLIKASI WEB DINAMIS
18 if(empty($nip_pegawai))
19 {
20 echo "<br> - Kolom NIP Tidak Boleh Kosong.";
21 }
22 if (!is_numeric($nip_pegawai))
23 {
24 echo "<br> - Kolom NIP Harus Diisi Angka.";
25 }
26 if(empty($nama_pegawai))
27 {
28 echo "<br> - Kolom Nama Tidak Boleh Kosong.";
29 }
30 if (is_numeric($nama_pegawai))
31 {
32 echo "<br> - Kolom Nama Harus Diisi Huruf.";
33 }
34 if(empty($kd_jabatan))
35 {
36 echo "<br> - Nama Jabatan Harus Dipilih.";
37 }
38 if(empty($kd_seksi))
39 {
40 echo "<br> - Nama Seksi Harus Dipilih.";
41 }
42 If (!empty($nip_pegawai) && is_numeric($nip_pegawai)
43 && !empty($nama_pegawai) &&
44 !is_numeric($nama_pegawai) && !empty($kd_seksi)
45 && !empty($kd_seksi) )
46 {
47 $query="update pegawai set nip='$nip_pegawai',
48 nama='$nama_pegawai',
49 kode_jabatan='$kd_jabatan',
50 kode_seksi='$kd_seksi' where nip='$id'";
51 $jalankan_query=mysql_query($query) or
52 die(mysql_error());
53 if($jalankan_query)
54 {
55 echo "Perubahan Data Pegawai Dengan NIP
56 $nip_pegawai atas Nama $nama_pegawai
57 Berhasil Disimpan";
58 }
59 }
60 else
61 {
62 echo "<br>Perubahan Data Pegawai Gagal
63 Disimpan";
64 }
65 ?>
66 </body>
67 </html>
126
APLIKASI WEB DINAMIS
Jika proses perubahan data pegawai yang dilakukan tidak sesuai dengan
ketentuan validasi perubahan data, maka tampilan yang muncul akan seperti
gambar berikut ini :
b. Menghapus Data
Pada tampilan halaman seperti Gambar 60 pada halaman 130, ketika link
“Hapus” diklik, maka halaman yang muncul adalah tampilan dari file
“pegawai_hapus.php” yang akan memproses penghapusan data pegawai. Salin
dan simpan kode berikut dengan nama file “pegawai_hapus.php”
Script pegawai_hapus.php
127
APLIKASI WEB DINAMIS
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Manghapus Data Pegawai</title>
5 <link rel="stylesheet" type="text/css"
6 href="kode_css.css">
7 </head>
8 <body>
9 <?php
10 $koneksi=mysql_connect('localhost','root','');
11 $db=mysql_select_db('web_dinamis');
12 $id=$_GET['id'];
13 $query="delete from pegawai where nip='$id'";
14 $jalankan_query=mysql_query($query) or
15 die(mysql_error());
16 if($jalankan_query)
17 {echo "<br>Data Pegawai Berhasil Dihapus";}
18 else
19 {echo "<br>Data Pegawai Gagal Dihapus";}
20 ?>
21 </body>
22 </html>
Jika link “Hapus” pada halaman seperti Gambar 60 pada halaman 130
diklik, maka proses penghapusan data akan dilakukan dan akan muncul tampilan
seperti gambar di bawah ini :
Mengunggah (upload) file merupakan salah satu hal yang penting di dalam
pembuatan aplikasi berbasis web yang penggunaannya seperti untuk untuk
mengunggah file laporan, gambar, atau file untuk lampiran.
Dalam proses unggah file di dalam web, diperlukan halaman yang
digunakan oleh pengguna web untuk memilih dan mengunggah file serta halaman
128
APLIKASI WEB DINAMIS
untuk menyimpan nama file tersebut di dalam database dan file di dalam memori
server.
Pembuatan halaman unggah file yang akan dibahas di sini adalah
membuat halaman untuk mengunggah foto pegawai untuk melengkapi data
pegawai yang telah ada sebelumnya.
Untuk itu, langkah pertama yang harus dilakukan adalah menambah satu
kolom pada tabel pegawai untuk menyimpan nama file yang akan diunggah
dengan cara membuka halaman phpmyadmin melalui browser, pilih database
web_dinamis, lalu pilih tabel pegawai untuk menampilkan struktur tabel
sehingga akan muncul tampilan seperti pada Gambar 46 di halaman 98.
Pada bagian tengah halaman terdapat fitur “Add” untuk menambahkan
kolom. Isikan angka 1 untuk jumlah kolom, kemudian klik tombol “Go”. Selanjutnya
akan muncul tampilan halaman seperti gambar di bawah ini :
Pada tampilan seperti gambar di atas, ketik “foto” untuk nama kolom, pilih
varchar untuk jenis atau tipe data, dan ketik “25” untuk panjang kolom. Selnjutnya
klik tombol “Save”.
Langkah selanjutnya adalah menambahkan folder untuk menyimpan file
yang akan diunggah. Buat folder baru di dalam folder htdocs dengan nama “foto”.
Setelah kedua langkah di atas dilakukan, langkah selanjutnya adalah
menambahkan link “Unggah” pada kolom “Aksi” yang terdapat di dalam file
“pegawai_tampil2.php”. Penambahan link “Unggah” diletakkan setelah link “Ubah”
dan “Hapus” sehingga menjadi seperti di bawah ini :
129
APLIKASI WEB DINAMIS
Script pegawai_unggah.php
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Unggah Foto Pegawai</title>
5 <link rel="stylesheet" type="text/css"
6 href="kode_css.css">
7 </head>
8 <body>
9 <h3>Unggah Foto Pegawai</h3>
10 <?php
11 $koneksi=mysql_connect('localhost','root','');
12 $db=mysql_select_db('web_dinamis');
13 $id= $_GET['id'];
14 $query="select nip, nama, nama_jabatan, nama_seksi
130
APLIKASI WEB DINAMIS
131
APLIKASI WEB DINAMIS
Sedikit perbedaan penulisan kode untuk form unggah file di atas dengan
kode untuk form yang sudah dibuat sebelumnya adalah adanya tambahan atribut
enctype=’multipart/form-data’ pada tag <form>. Atribut tersebut
berfungsi untuk memberikan informasi kepada php bahwa form ini adalah form
untuk mengunggah file. Atribut di atas dapat pula digunakan pada form yang
menggabungkan isian data dan unggah file.
Jika link “Unggah” pada tampilan seperti pada Gambar 66 di halaman 138
diklik, maka tampilan halaman berikutnya adalah seperti gambar berikut ini :
Script pegawai_unggah2.php
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Menyimpan Foto Pegawai</title>
5 </head>
6 <body>
7 <?php
8 $koneksi=mysql_connect('localhost','root','');
9 $db=mysql_select_db('web_dinamis');
10 $id=$_POST['id'];
11 if($_POST['unggah'])
12 {
13 $ekstensi_file = array('png','jpg');
132
APLIKASI WEB DINAMIS
14 $nama_file = $_FILES['file']['name'];
15 $x = explode('.', $nama_file);
16 $ekstensi = strtolower(end($x));
17 $ukuran = $_FILES['file']['size'];
18 $file_tmp = $_FILES['file']['tmp_name'];
19 if(in_array($ekstensi, $ekstensi_file) ===
20 true)
21 {
22 if($ukuran < 1044070)
23 {
24 move_uploaded_file($file_tmp,
25 'foto/'.$nama_file);
26 $query="update pegawai set
27 foto='$nama_file' where
28 nip='$id'";
29 $jalankan_query=mysql_query($query) or
30 die(mysql_error());
31 if($jalankan_query)
32 {
33 echo "File Berhasil Diunggah.";
34 }
35 else
36 {
37 echo "Gagal Unggah File.";
38 }
39 }
40 else
41 {
42 echo "Ukuran File Terlalu Besar.";
43 }
44 }
45 else
46 {
47 echo "Tipe File Tidak Diperkenankan.";
48 }
49 }
50 ?>
51 </body>
52 </html>
133
APLIKASI WEB DINAMIS
Tetapi jika kriteria file yang diunggah tidak memenuhi kriteria validasi, maka
tampilan yang muncul akan seperti gambar berikut ini :
134
APLIKASI WEB DINAMIS
Untuk menampilkan halaman detil pegawai, salin kode berikut ini dan
simpan dengan nama file “pegawai_detil.php”.
Script pegawai_detil.php
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Menampilkan Detil Data Pegawai</title>
5 <link rel="stylesheet" type="text/css"
6 href="kode_css.css">
7 </head>
8 <body>
9 <?php
10 $koneksi=mysql_connect('localhost','root','');
11 $db=mysql_select_db('web_dinamis');
12 $id= $_GET['id'];
13 $query="select nama, nip, nama_jabatan,
14 nama_seksi, foto
15 FROM pegawai a, jabatan b, seksi c
16 where a.kode_jabatan=b.kode_jabatan
17 and a.kode_seksi=c.kode_seksi
18 and nip='$id'";
19 $jalankan_query=mysql_query($query) or
20 die(mysql_error());
21 if(mysql_num_rows($jalankan_query) == 0)
135
APLIKASI WEB DINAMIS
22 {
23 echo "<b>Data tidak ditemukan.";
24 }
25 while ($row=mysql_fetch_array($jalankan_query))
26 {
27 echo "<h3>Detil Data Pegawai</h3>
28 <table class=table1>
29 <tr>
30 <td><img src='foto/$row[foto]'
31 width=200></td>
32 <td>
33 <table border=0>
34 <tr>
35 <td>N I P </td>
36 <td> : </td>
37 <td>$row[nip]</td>
38 </tr>
39 <tr>
40 <td>Nama </td>
41 <td> : </td>
42 <td>$row[nama]</td>
43 </tr>
44 <tr>
45 <td>Jabatan </td>
46 <td> : </td>
47 <td>$row[nama_jabatan]</td>
48 </tr>
49 <tr>
50 <td>Seksi </td>
51 <td> : </td>
52 <td>$row[nama_seksi] </td>
53 </tr>
54 </table>
55 </td>
56 </tr>
57 </table>";
58 }
59 ?>
60 </body>
61 </html>
Jika link “NIP” pada tampilan seperti pada Gambar 70 di halaman 141
diklik, maka tampilan halaman yang akan muncul adalah seperti gambar berikut
ini :
136
APLIKASI WEB DINAMIS
Catatan Penting :
Berdasarkan Surat Edaran Direktur Jenderal Pajak Nomor SE-6/PJ/2011
tanggal 12 Januari 2011 Tentang Pedoman Pengelolaan End User Computing
(EUC), setiap unit kerja di lingkungan DJP dapat melakukan pengembangan
aplikasi dan/atau pembelian paket perangkat lunak sendiri (end user computing)
dengan ketentuan bahwa aplikasi yang dikembangkan digunakan untuk
melakukan pekerjaan yang bersifat analisis (Online Analytical Processing atau
OLAP) dengan tidak mengubah master data yang sudah ada atau menciptakan
master data yang baru (Online Transaction Processing atau OLTP).
Setiap unit kerja dapat melakukan EUC dengan memenuhi kriteria sebagai
berikut :
a. Data hasil olahan sistem informasi EUC tidak dimasukkan ke Sistem Informasi
Utama Perpajakan;
b. Sistem Informasi EUC tidak mengubah data yang ada dalam Sistem Informasi
Utama Perpajakan;
c. Sistem informasi EUC tidak digunakan untuk memberikan pelayanan
transaksional kepada wajib pajak dan tidak digunakan untuk menghasilkan
keluaran produk hukum;
d. EUC hanya untuk pendukung analisis data.
e. Sistem informasi EUC tidak boleh ada perekaman ulang terhadap data yang
sudah ada di Sistem Informasi Utama Perpajakan.
137
APLIKASI WEB DINAMIS
5.8. Latihan
Selesaikan latihan di bawah ini dengan menggunakan data dan tabel di dalam
database web_dinamis_data yang telah dibuat dan diisi pada latihan Kegiatan
Belajar 4 sebelumnya!
1. Buatlah halaman berupa tabel yang menampilkan data Nama AR dan jumlah
Wajib Pajak masing-masing AR!
2. Pada haalaman hasil latihan Nomor 1, buatlah link pada kolom Jumlah Wajib
Pajak yang jika diklik akan menampilkan rincian data Wajib Pajak berupa tabel
dengan kolom Nama WP, NPWP, alamat, dan tanggal daftar.
3. Pada haalaman hasil latihan Nomor 2, buatlah link pada kolom NPWP yang jika
diklik akan menampilkan data pelaporan SPT berupa tabel dengan kolom
Tahun Pajak, Masa Pajak, Nomor BPS, Jenis SPT, Status SPT (N/KB/LB), Nilai
SPT, Tanggal Lapor, Saluran Pelaporan, Pembetulan.
4. Buatlah halaman pencarian Wajib Pajak yang dapat dilakukan dengan kriteria
NPWP atau Nama Wajib Pajak beserta halaman hasil pencarian yang
menampilkan data Nama WP, NPWP, Alamat, Tanggal Daftar, Nama AR.
5.9. Rangkuman
138
APLIKASI WEB DINAMIS
139
APLIKASI WEB DINAMIS
6. Salah satu fungsi yang disediakan PHP Untuk menjaga validitas data hasil
kegiatan perekaman adalah ...
a. validity()
b. empty()
c. set()
d. do()
7. Script yang akan menghasilkan tampilan seperti di bawah ini adalah ...
140
APLIKASI WEB DINAMIS
Jumlah Soal
141
APLIKASI WEB DINAMIS
6. KEGIATAN BELAJAR 6
142
APLIKASI WEB DINAMIS
JSON. Sementara data yang diambil dengan konsep CURL berupa data teks atau
data yang terselip di dalam kode-kode HTML.
CURL adalah singkatan dari Client Uniform Resource Locator, merupakan
librari untuk mentransfer data ke berbagai protokol, seperti HTTP, FTP, dan
sebagainya. Dengan menggunakan CURL, pemintaan data ke sebuah situs (web
target) dapat dilakukan dan dapat ditampilkan di situs lain (web client). Dengan
demikian, dalam penggunaan CURL terdapat proses permintaan dari web client
ke web target (CURL Request) dan penerimaan data dari web target oleh web
client (CURL Receive).
Gambar di atas menjelaskan bawah web client ingin mengambil data dari
web target untuk ditampilkan di web client. Jika data di web target berubah, maka
tampilan di web client juga akan ikut berubah.
143
APLIKASI WEB DINAMIS
b. Seteleh ditemukan, Buka file php.ini dengan Notepad. Kemudian lakukan pencarian
kata “curl” sehingga menemukan keterangan seperti gambar di bawah ini.
144
APLIKASI WEB DINAMIS
1 <?php
2 function bacaHTML($url)
3 {
4 $data = curl_init();
5 curl_setopt($data, CURLOPT_RETURNTRANSFER, 1);
6 curl_setopt($data, CURLOPT_URL, $url);
7 $hasil = curl_exec($data);
8 curl_close($data);
9 return $hasil;
10 }
11 echo
12 bacaHTML('http://localhost/pegawai_tampil2.php');
13 ?>
145
APLIKASI WEB DINAMIS
1 <?php
2 function bacaHTML($url)
3 {
4 $data = curl_init();
5 curl_setopt($data, CURLOPT_RETURNTRANSFER, 1);
146
APLIKASI WEB DINAMIS
147
APLIKASI WEB DINAMIS
b. Setelah terbuka, klik kanan untuk melihat page source halaman tersebut.
c. Setelah source code terbuka, pilih tag HTML yang terletak sebelum bagian
informasi kurs mata uang utama. Tag HTML yang dipilih, sebaiknya terdiri dari
beberapa tag sekaligus agar unik dan tidak ada yang sama dalam satu halaman
serta tidak memuat suatu teks yang bukan tag HTML.
148
APLIKASI WEB DINAMIS
Dari Tampilan Page Source yang telah dibuka, maka tag awal yang dipilih
adalah :
<table border="1" rules="all"><tbody>
Selanjutnya, memilih tag HTML yang akan menjadi batas akhir informasi yang
akan diambil. Tag HTML akhir yang dipilih adalah :
</tbody></table>
d. Salin kode berikut ini dan simpan dengan nama file “curl_alamat_kpp.php”.
Script curl_alamat_kpp.php
1 <?php
2 function bacaHTML($url)
3 {
4 $data = curl_init();
5 curl_setopt($data, CURLOPT_RETURNTRANSFER, 1);
6 curl_setopt($data, CURLOPT_URL, $url);
7 $hasil = curl_exec($data);
8 curl_close($data);
9 return $hasil;
149
APLIKASI WEB DINAMIS
10 }
11 $kodeHTML =
12 bacaHTML('http://www.pajakita.net/2012/07/alamat-
13 kantor-pelayanan-pajak-jakarta.html');
14 $pecah = explode('<table border="1"
15 rules="all"><tbody>', $kodeHTML);
16 $pecahLagi = explode('</tbody></table>',
17 $pecah[1]);
18 echo $pecahLagi[0];
19 ?>
f. Ketika dibuka melalui browser, data yang ditampilkan terlihat tidak beraturan
sebagaimana terlihat pada gambar di atas. Jika page source halaman di atas
dibuka, terlihat sudah ada tag penyusun tabel seperti <tr> dan <td> serta tag
penutupnya. Untuk mempercantik tampilan data di atas, tambahkan tag HTML
untuk menambah keterangan judul halaman, memanggil file kode_css.css yang
sudah dibuat sebelumnya, serta judul tabel, sehingga kode file di atas menjadi
seperti berikut ini :
150
APLIKASI WEB DINAMIS
8 <body>
9 <h3>Daftar KPP di Jakarta Selatan</h3>
10 <?php
11 function bacaHTML($url)
12 {
13 $data = curl_init();
14 curl_setopt($data, CURLOPT_RETURNTRANSFER, 1);
15 curl_setopt($data, CURLOPT_URL, $url);
16 $hasil = curl_exec($data);
17 curl_close($data);
18 return $hasil;
19 }
20 $kodeHTML =
21 bacaHTML('http://www.pajakita.net/2012/07/alamat-
22 kantor-pelayanan-pajak-jakarta.html');
23 $pecah = explode('<table border="1"
24 rules="all"><tbody>', $kodeHTML);
25 $pecahLagi = explode('</tbody></table>',
26 $pecah[1]);
27 echo "<table class=table1>";
28 echo $pecahLagi[0];
29 echo "</table>";
30 ?>
31 </body>
32 </hrml>
151
APLIKASI WEB DINAMIS
Selain dapat ditampilkan di browser, data hasil CURL juga dapat di-insert-
kan ke dalam sebuah tabel di datbase. Untuk melakukan hal tersebut perlu
dilakukan beberapa langkah sebagai berikut :
a. Buat tabel KPP di dalam database yang akan menjadi tempat tampungan data
hasil CURL di atas dengan struktur sebagai berikut :
152
APLIKASI WEB DINAMIS
Script curl_insert.php
1 <?php
2 function bacaHTML($url)
3 {
4 $data = curl_init();
5 curl_setopt($data, CURLOPT_RETURNTRANSFER, 1);
6 curl_setopt($data, CURLOPT_URL, $url);
7 $hasil = curl_exec($data);
8 curl_close($data);
9 return $hasil;
10 }
11 $kodeHTML =
12 bacaHTML('http://www.pajakita.net/2012/07/alamat-
1314 kantor-pelayanan-pajak-jakarta.html');
15 $pecah = explode('<table border="1"
16 rules="all"><tbody>', $kodeHTML);
17 $pecahLagi = explode('</tbody></table>',
18 $pecah[1]);
19 $perbaikan = str_replace('<tr><th
20 width="8%">No.</th><th width="25%">Nama
21 KPP</th><th width="5%">Kode KPP</th><th
22 width="33%">Alamat</th><th width="15%">No.
23 Telepon</th><th width="15%">No.
24 Faksimili</th></tr>', "insert into kpp values ",
25 $pecahLagi);
26 $lama = array("<tr><td>", ".</td><td>",
27 "</td><td>", "</td></tr>");
28 $baru = array("('", "','", "','", "'),");
29 $perbaikan2= str_replace($lama, $baru,
30 $perbaikan1);
31 $perbaikan3=substr_replace($perbaikan2,"",-2);
32 echo $perbaikan3 [0];
33 ?>
c. Salin dan simpan kode di atas dengan nama file “curl_insert.php”, kemudian
jalankan dengan browser.
153
APLIKASI WEB DINAMIS
Script curl_insert2.php
1 <?php
2 $koneksi=mysql_connect('localhost','root','');
3 $db=mysql_select_db('web_dinamis');
4 function bacaHTML($url)
5 {
6 $data = curl_init();
7 curl_setopt($data, CURLOPT_RETURNTRANSFER, 1);
8 curl_setopt($data, CURLOPT_URL, $url);
9 $hasil = curl_exec($data);
10 curl_close($data);
11 return $hasil;
12 }
13 $kodeHTML =
14 bacaHTML('http://www.pajakita.net/2012/07/alamat-
15 kantor-pelayanan-pajak-jakarta.html');
16 $pecah = explode('<table border="1"
17 rules="all"><tbody>', $kodeHTML);
18 $pecahLagi = explode('</tbody></table>',
19 $pecah[1]);
20 $perbaikan1 = str_replace('<tr><th
21 width="8%">No.</th><th width="25%">Nama
22 KPP</th><th width="5%">Kode KPP</th><th
23 width="33%">Alamat</th><th width="15%">No.
24 Telepon</th><th width="15%">No.
25 Faksimili</th></tr>', "insert into kpp values ",
26 $pecahLagi); $lama = array("<tr><td>",
27 ".</td><td>", "</td><td>", "</td></tr>");
154
APLIKASI WEB DINAMIS
f. Untuk memastikan data hasil CURL telah masuk ke dalam tabel KPP, buka
http://localhost/phpmyadmin, kemudian masuk ke dalam database
“web_dinamis”, lalu pilih tabel KPP dan klik tab browse.
155
APLIKASI WEB DINAMIS
6.7. Latihan
6.8. Rangkuman
a. PHP menyediakan fungsi CURL yang dapat digunakan untuk mengambil data
dari sebuah halaman web untuk ditampilkan di halaman web yang lain.
b. Data yang ditransfer dengan konsep CURL berupa HTML.
c. Fungsi-fungsi utama dari Library CURL adalah :
1) curl_init, berfungsi untuk memulai sebuah session CURL. Nilai balik
(return value) dari method ini adalah resource CURL.
156
APLIKASI WEB DINAMIS
157
APLIKASI WEB DINAMIS
c. CURL Charge
d. CURL Request
6. Proses penerimaan data dari web sumber atau tujuan disebut ...
a. CURL Receive
b. CURL Acceptance
c. CURL Charge
d. CURL Request
7. Fungsi library CURL yang digunakan untuk memulai sebuah session adalah
...
a. curl_set
b. curl_start
c. curl_init
d. curl_exec
8. Fungsi library CURL yang digunakan untuk menjalankan sebuah session yang
telah dimulai adalah ...
a. curl_set
b. curl_start
c. curl_init
d. curl_exec
9. Fungsi library CURL yang digunakan untuk mengakhiri sebuah session yang
adalah ...
a. curl_stop
b. curl_end
c. curl_close
d. curl_done
10. Fungsi library CURL yang digunakan untuk memberikan parameter terhadap
sumber CURL adalah ...
a. curl_setparam
b. curl_setvar
c. curl_setval
d. curl_setopt
158
APLIKASI WEB DINAMIS
Jumlah Soal
159
APLIKASI WEB DINAMIS
PENUTUP
160
APLIKASI WEB DINAMIS
TES SUMATIF
161
APLIKASI WEB DINAMIS
c. <br>
d. <ol>
7. Atribut pada tag <table> yang berfungsi untuk menentukan tebal garis tabel
adalah …
a. cell-spacing
b. cell-padding
c. border
d. color
8. Kode HTML yang digunakan untuk membuat baris judul pada sebuah tabel
adalah ...
a. <hr>
b. <td>
c. <tr>
d. <br>
9. Tag <select> digunakan untuk ...
a. memilih beberapa opsi
b. menandai beberapa opsi
c. menampilkan opsi pilihan
d. memilih tampilan opsi
10. Penulisan kode HTML yang tepat untuk menampilkan komponen radio button
adalah ....
a. <input type=radio-select>
b. <input type=radio_button>
c. <input type=radio-button>
d. <input type=radio>
11. Komponen input yang digunakan sebagai masukan untuk data atau nilai
pilihan dengan alternatif jawaban lebih dari 1 pilihan adalah ....
a. radio button
b. select
c. option
d. check box
12. Untuk mengatur tampilan dari sebuah halaman web menggunakan ...
162
APLIKASI WEB DINAMIS
a. HTML
b. PHP
c. XML
d. CSS
13. Cara penulisan CSS yang paling direkomendasikan adalah ....
a. inline style sheet
b. internal style sheets
c. external style sheetsasasas
d. embedded style sheet
14. Metode pembuatan file CSS secara terpisah dan ketika halaman web akan
menggunakan file CSS tersebut cukup dengan memanggilnya disebut dengan
istilah .....
a. inline style sheet
b. internal style sheets
c. external style sheetsasasas
d. embedded style sheet
15. Perhatikan penulisan kode CSS berikut ini :
.kotak {
border: solid;
}
163
APLIKASI WEB DINAMIS
164
APLIKASI WEB DINAMIS
165
APLIKASI WEB DINAMIS
Bandingkan hasil jawaban Anda dengan Kunci Jawaban Latihan yang ada
di bagian akhir modul ini! Hitung jumlah jawaban Anda dengan benar, kemudian
gunakan rumus di bawah ini untuk mengetahui Tingkat Penguasaan (TP) Anda
terhadap materi modul ini.
0% - 69% Kurang
166
APLIKASI WEB DINAMIS
KUNCI JAWABAN
Tes Formatif 1
1. B 6. B
2. A 7. B
3. D 8. C
4. D 9. B
5. C 10. B
Tes Formatif 2
1. C 6. A
2. D 7. C
3. A 8. B
4. B 9. C
5. B 10.D
Tes Formatif 3
1. C 6. A
2. C 7. A
3. A 8. B
4. C 9. A
5. C 10.B
Tes Formatif 4
1. D 6. D
2. D 7. D
3. B 8. C
4. B 9. D
5. C 10.D
Tes Formatif 5
1. D 6. B
2. D 7. D
3. A 8. C
4. B 9. A
5. C 10.D
167
APLIKASI WEB DINAMIS
Tes Formatif 6
1. C 6. A
2. D 7. C
3. B 8. D
4. A 9. C
5. D 10.D
Tes Sumatif
1. C 11. D 21. D
2. A 12. D 22. D
3. A 13. C 23. C
4. B 14. C 24. A
5. D 15. D 25. D
6. C 16. D
7. C 17. D
8. C 18. B
9. C 19. A
10. D 20. C
168
APLIKASI WEB DINAMIS
DAFTAR PUSTAKA
Ari, Rosihan. 2010. Teknik Grabbing (Mengambil Teks Dari Situs Lain) Dengan
CURL. [diakses 2018 Mei 6]. Tersedia pada :
http://blog.rosihanari.net/teknik-grabbing-mengambil-teks-dari-situs-
lain-dengan-curl/.
Direktorat Jenderal Pajak. Surat Edaran Direktur Jenderal Pajak Nomor SE-
6/PJ/2011 tanggal 12 Januari 2011 Tentang Pedoman Pengelolaan
End User Computing (EUC),
Hadi, Diki Alfarabi. 2016. Ebook Belejar HTML & CSS Dasar. [diunduh 2018 Mei
25]. Tersedia pada : https://www.malasngoding.com/download-ebook-
belajar-html-dan-css-dasar-gratis/.
PHP : Hypertext Preprocessor. 2015. str_replace. [diakses 2018 Juni 21]. Tersedia
pada http://php.net/manual/en/function.str-replace.php.
Pratama, Andre. 2014. Tutorial Belajar CSS. [diakses 2018 Mei 24]. Tersedia pada
: https://www.duniailkom.com/tutorial-belajar-css-dan-index-artikel-
css/.
Pratama, Andre. 2014. Tutorial Belajar PHP. [diakses 2018 Mei 3]. Tersedia pada
: https://duniailkom.com/tutorial-belajar-php-dan-index-artikel-php/.
Sofwan, Akhmad. 2011. Belajar MySQL dengan Phpmyadmin. [diunduh 2018 Mei
16]. Tersedia pada : http://ilmukomputer.org/2011/08/29/belajar-
mysql-dengan-phpmyadmin/.
Solichin, Achmad. 2005. Pemrograman Web dengan PHP dan MySQL. [Diakses
2018 Mei 25]. Tersedia pada : https://www.researchgate.net/
publication/236885805_Pemrograman_Web_dengan_PHP_dan_MyS
QL
Sidik, B. 2004. Pemrograman Web Dengan PHP. Bandung : Informatika.
Tenjo, Mulyadi. 2017. Aplikasi Pendukung Belajar Pemrograman Web Dasar.
[Diakses 2018 Mei 11]. Tersedia pada : https://modulkomputer.com/
aplikasi-pendukung-belajar-pemrograman-web-dasar/.
169