BAB 1 HTML
1.1 TUJUAN
Pada bab ini mahasiswa diharapkan mampu memahami bagaimana memulai membuat
skrip HTML menggunakan beberapa aplikasi text editor dan bantuan aplikasi Browser seperti
Internet Explorer, Mozilla, Google Chrome dan lainnya untuk menjalankan outputnya.
<HTML>
...
</HTML>
Penulisan Tag HTML adalah incase sensitive, artinya <HTML> akan sama dengan <html> atau
<Html>. Untuk selanjutnya akan dibagi menjadi 2 seksi: head dan body.
1.3 HEAD
Header akan berfungsi sebagai tanda pengenal pada halaman yang akan Anda buat. Untuk
mendefinisikan header dalam tag HTML maka anda harus menambahkan <HEAD> dan
</HEAD> tag di bawah tag <HTML> dan akan menjadi seperti berikut :
<HTML>
<HEAD>
...
</HEAD>
</HTML>
1
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
1.4 BODY
Bagian body merupakan bagian dimana Anda dapat menuliskan berbagai text atau isian
web yang ingin Anda tampilkan pada halaman web. Untuk mendefinisikan body harus diketikan
tag <BODY> dan ditutup dengan tag </BODY> di bawah tag header, sehingga akan terlihat :
<HTML>
<HEAD>
...
</HEAD>
<BODY>
...
</BODY>
</HTML>
<HTML>
<HEAD>
<TITLE>Selamat Datang di HomePage Saya</TITLE>
</HEAD>
<BODY>
Halo semua, bagaimana kabar Anda ?
Ini halaman pertama saya.
</BODY>
</HTML>
2
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
Kemudian, aktifkan web server Anda yaitu Apache web server melalui jendela XAMPP Control
Panel.
3
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
bukalah browser Anda dan ketikkan alamat localhost/BelajarHTML/ di browser Anda atau
127.0.0.1/BelajarHTML/. Klik file hello.html. Maka akan terlihat output seperti berikut :
Gambar 1-3. Cara membuka file html yang telah dibuat melalui localhost
4
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
BAB 2
TEXT PADA WEB
2.1 TUJUAN
Mahasiswa mampu memahami tata cara pembuatan tulisan pada Web, yang nantinya akan
ditampilkan di Browser. Text yang dipelajari dapat membuat mahasiswa belajar dalam mengatur
format penulisan yang akan ditampilkan di halaman website.
2.2 HEADING
Merupakan sekumpulan kata yang menjadi judul atau subjudul dalam suatu dokumen
HTML. HTML menyediakan enam tingkat heading.
<HTML>
<HEAD>
<TITLE>Heading</TITLE>
</HEAD>
<BODY>
<H1>Heading level 1</H1>
<H2>Heading level 2</H2>
<H3>Heading level 3</H3>
<H4>Heading level 4</H4>
<H5>Heading level 5</H5>
<H6>Heading level 6</H6>
</BODY>
</HTML>
5
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
<HTML>
<HEAD>
<TITLE>Paragraf</TITLE>
</HEAD>
<BODY>
<P ALIGN="right">Dalam perancangan suatu antarmuka terdapat akses-
akses penting yang harus diperhatikan. Aspek-aspek tersebut akan sangat
menunjang dalam hasil dari perancangan perangkat lunak tersebut. Aspek
yang harus diperhatikan tidak hanya dipandang dari satu sisi programnya
saja, tetapi juga dari aspek manusianya yang merupakan pengguna dari
perangkat lunak </P>
<P ALIGN="center">Dalam perancangan suatu antarmuka terdapat akses-
akses penting yang harus diperhatikan. Aspek-aspek tersebut akan sangat
menunjang dalam hasil dari perancangan perangkat lunak tersebut. Aspek
yang harus diperhatikan tidak hanya dipandang dari satu sisi programnya
saja, tetapi juga dari aspek manusianya yang merupakan pengguna dari
perangkat lunak </P>
<P ALIGN="left">Dalam perancangan suatu antarmuka terdapat akses-
akses penting yang harus diperhatikan. Aspek-aspek tersebut akan sangat
menunjang dalam hasil dari perancangan perangkat lunak tersebut. Aspek
yang harus diperhatikan tidak hanya dipandang dari satu sisi programnya
saja, tetapi juga dari aspek manusianya yang merupakan pengguna dari
perangkat lunak </P>
</BODY>
</HTML>
6
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
2.4 BLOCKQUOTE
Tag <BLOCKQUOTE> digunakan untuk menulis kutipan teks. Dengan menggunakan tag
ini maka Anda akan mendapati browser menampilkan teks yang menjorok ke dalam
(mengidentifikasi teks). Diawali dengan <blockquote> dan diakhiri dengan </blockquote>.
Contoh :
<HTML>
<HEAD>
<TITLE>Blockquote</TITLE>
</HEAD>
<BODY>
<H2>Aspek dalam Interface</H2><BLOCKQUOTE>Dalam perancangan
suatu antarmuka terdapat akses-akses penting yang harus diperhatikan.
Aspek-aspek tersebut akan sangat menunjang dalam hasil dari perancangan
perangkat lunak tersebut.</BLOCKQUOTE>
</BODY>
</HTML>
7
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
<HTML>
<HEAD>
<TITLE>performatted text</TITLE>
</HEAD>
<BODY>
<PRE>Dalam perancangan suatu antarmuka terdapat akses-akses
penting yang harus diperhatikan. Aspek-aspek tersebut akan sangat
menunjang dalam hasil dari perancangan perangkat lunak tersebut.</PRE>
</BODY>
</HTML>
<HTML>
<HEAD>
<TITLE>Begin Row</TITLE>
</HEAD>
<BODY>
<P>Dalam perancangan suatu antarmuka terdapat <BR> akses-akses
penting yang harus diperhatikan.<BR> Aspek-aspek tersebut akan sangat
menunjang <BR> dalam hasil dari perancangan perangkat lunak tersebut.</P>
</BODY>
</HTML>
Untuk mengatur huruf pada HTML, Anda menggunakan tag <FONT SIZE>. Tag ini
memiliki atribut untuk mengatur ukuran huruf. Diawali dengan <font size=”5”> dan diakhiri
dengan </font>. Contohnya :
<HTML>
<HEAD>
<TITLE>Font Size</TITLE>
</HEAD>
<BODY>
<FONT SIZE="1">ukuran font 1</FONT>
<FONT SIZE="2">ukuran font 2</FONT>
<FONT SIZE="3">ukuran font 3</FONT>
<FONT SIZE="4">ukuran font 4</FONT>
<FONT SIZE="5">ukuran font 5</FONT>
<FONT SIZE="6">ukuran font 6</FONT>
<FONT SIZE="7">ukuran font 7</FONT>
</BODY>
</HTML>
8
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
<HTML>
<HEAD>
<TITLE>Jenis Font</TITLE>
</HEAD>
<BODY>
<FONT SIZE="4">
<P><FONT FACE="ARIAL"> Arsenal, contoh font arial </FONT></P>
<P><FONT FACE="VERDANA"> Arsenal, contoh font verdana </FONT></P>
<P><FONT FACE="TAHOMA"> Arsenal, contoh font tahoma </FONT></P>
</FONT>
</BODY>
</HTML>
<HTML>
<HEAD>
<TITLE>Warna Font</TITLE>
</HEAD>
<BODY>
<FONT SIZE="4">
<P><FONT COLOR="BLUE"> Manchester United, Juara piala FA</FONT></P>
<P><FONT COLOR="#FF0000"> Manchester United, The Best</FONT></P>
<P><FONT COLOR="#00FF00"> Manchester United, Top Banget</FONT></P>
</FONT>
</BODY>
</HTML>
2.10 LINK
Perintah anchor <A> digunakan untuk membuat link. Dan digunakan tag <A HREF =
“alamat_dokumen”> teks pada browser </A>. Untuk membuat link dalam sebuah dokumen
9
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
HTML perlu disiapkan nama anchor lokasi tujuan link tersebut. Nama anchor dibuat dengan
menambahkan atribut NAME pada tag <A>. Contohnya :
<!—contoh.html -->
<HTML>
<HEAD>
<TITLE>Link</TITLE>
<HEAD>
<BODY>
Ada beberapa jenis bentuk Heading.
<BR> <A HREF = “heading.html”>Info selengkapnya</A>
</BODY>
</HTML>
Karena file heading.html berada di folder yang sama dengan file contoh.html ini, maka alamat
dokumen cukup ditulis heading.html. Namun jika file heading.html berada di folder atau di drive
yang berbeda, Anda harus menuliskan alamat lengkap (lokasi drive) dimana file heading.html
tersebut disimpan.
10
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
BAB 3
HTML TINGKAT LANJUT
3.1 TUJUAN
Pada bahasan ini akan dilanjutkan bagaimana menggunakan gambar dalam halaman web.
Tabel merupakan salah satu yang akan digunakan dalam pembuatan web. Dan dalam pembuatan
tabel nanti Anda akan mempelajari bagian yang penting dalam pembuatan web yang dinamis
yaitu tabel dan form.
<HTML>
<HEAD>
<TITLE>Ordered List</TITLE>
</HEAD>
<BODY>
Urutan mobil berdasar peminat :
<OL type="a">
<LI>Mercedes Benz</LI>
<LI>BMW</LI>
<LI>Honda</LI>
<LI>Hyundai</LI>
</OL>
</BODY>
</HTML>
11
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
<HTML>
<HEAD>
<TITLE>Ordered List</TITLE>
</HEAD>
<BODY>
Urutan mobil berdasar peminat :
<UL style="list-style-type:square;>
<LI>Mercedes Benz</LI>
<LI>BMW</LI>
<LI>Honda</LI>
<LI>Hyundai</LI>
</UL>
</BODY>
</HTML>
3.5 TABLE
Tabel dapat Anda gunakan karena dapat menampilkan informasi dalam bentuk yang
ringkas dan mudah dibaca. Tag awal yang digunakan adalah <TABLE> dan tag penutupnya
</TABLE>.
Tag <TABLE> mewakili beberapa bagian penting :
12
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
<CAPTION> …</CAPTION> digunakan untuk membentuk judul table. Judul table akan
terletak di luar table di bagian atas atau di bagian bawah
<TH>…</TH> digunakan untuk meletakkan judul table di bagian paling atas atau bagian
paling kiri dari table
<TD> …</TD> digunakan sebagai tempat menulis data atau informasi dalam table
Contoh :
<html>
<head>
<title>Tabel</title>
</head>
<body>
<table border=”1”>
<caption>Seputar Liga Italia</caption>
<tr>
<th>Nama Club</th>
<th>Berita</th>
</tr>
<tr>
<td>AC Milan</td>
<td>Milan mengalahkan Intermilan di semifinal liga
champion</td>
</tr>
<tr>
<td>Juventus</td>
<td>Juventus juara liga italia musim 2002/2003</td>
</tr>
<tr>
<td>Roma</td>
<td>Roma akan berhadapan dengan Milan di final</td>
</tr>
</table>
</body>
</html>
13
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
Contoh :
<html>
<head>
<title>Tabel dengan width & align</title>
</head>
<body>
<table border=”1” width=”88%” height=”200”>
<tr>
<td width=”30%” height=200” valign=”top”>AC Milan</td>
<td width=”70%” height=”200” valign=”middle”>Milan
mengalahkan Intermilan di semifinal liga champion</td>
</tr>
</table>
</body>
</html>
<html>
<head>
<title>cellspacing dan cellpadding</title>
</head>
<body>
<table width="85%" border="3" cellspacing="9" cellpadding="5">
<tr>
<td width="43%">baris 1, kolom 1</td>
<td width="57%">baris 1, kolom 2</td>
</tr>
<tr>
<td>baris 2, kolom 1</td>
<td>baris 2, kolom 2</td>
</tr>
</table>
</body>
</html>
14
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
Contoh :
<html>
<head>
<title>colspan dan rowspan</title>
</head>
<body>
<table width="85%" border="3" cellspacing="5" cellpadding="5">
<tr>
<td width="43%" rowspan="2">baris 1, kolom 1 <p>baris 2,
kolom 1</td>
<td width="57%">baris 1, kolom 1</td>
</tr>
<tr>
<td width="57%">baris 2, kolom 2</td>
</tr>
<tr>
<td width="100%" colspan="2">baris 3, kolom 1 & kolom
2</td>
</tr>
</table>
</body>
</html>
<html>
<body>
<table width="100%" border="3" cellpadding="5" cellspacing="5"
bordercolor="#FF0000">
<tr>
<td width="50%" bgcolor="#808080"> </td>
<td width="50%"> </td>
</tr>
<tr>
<td width="50%"> </td>
<td width="50%" bgcolor="#008080"> </td>
</tr>
</table>
<br> <br> <br>
<table width="100%" border="3" cellpadding="5" cellspacing="5"
bordercolorlight="008080" bordercolordark="800080">
<tr>
<td width="100%"> </td>
</tr>
</table>
</body>
</html>
15
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
3.10 FORM
Tag <FORM> dan <INPUT> digunakan bersama-sama untuk meminta masukan dari user
untuk dikirim ke server. Tag <FORM> membuat kerangka dan tag <INPUT> menyediakan
elemen antarmuka dengan user. Untuk standar penulisan form adalah sebagai berikut :
Atribut METHOD memiliki 2 nilai POST dan GET. Metode GET mengirimkan data pada server
dengan cara meletakkan data pada bagian akhir URL yang ditunjuk. Metode POST mengirimkan
datanya secara terpisah. Jika masukan banyak maka disarankan Anda menggunakan POST.
ACTION akan berisi URL dari program yang dipanggil form tersebut, biasanya URL sebuah
halaman program yang nantinya akan mengolah data dari inputan form. Ketika Anda membuat
tampilan form, selalu mulai dengan tag <FORM> dan akhiri form Anda dengan tag </FORM>.
16
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
Contoh :
<html>
<head>
<title>form input dengan textbox</title>
</head>
<body>
<p>Rancangan awal BUKU TAMU</p>
<form method="" action="">
<table border="0" cellpadding="0" cellspacing="2">
<tr>
<td width="11%">Nama</td>
<td width="3%">:</td>
<td width="86"><input type="text" name="nama"
size="20"></td>
</tr>
<tr>
<td width="11%" height="22">Alamat</td>
<td width="3%">:</td>
<td width="86"><input type="text" value="jember"
name="alamat" size="20"></td>
</tr>
<tr>
<td width="11%">Sekolah</td>
<td width="3%">:</td>
<td width="86"><input type="text" name="sekolah"
size="20"></td>
</tr>
</table>
</form>
</body>
</html>
17
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
Contohnya :
<html>
<head>
<title>Check Box</title>
</head>
<body>
<p>Berikan polling !</p>
<p>Daftar mobil</p>
<p>
<input type="checkbox" name="c1" checked>mercedes<br>
<input type="checkbox" name="c2" checked>bmw<br>
<input type="checkbox" name="c3" checked>honda<br>
<input type="checkbox" name="c4" checked>Toyota
</p>
</body>
</html>
<html>
<head>
<title>Radio Button</title>
</head>
<body>
<p>berikan piihan Anda</p>
<p>Rentang Usia</p>
<p>
<input type="radio" value="v1" checked name="R1">15 tahun<br>
<input type="radio" value="v2" checked name="R1">15-19 thn<br>
<input type="radio" value="v3" checked name="R1">19-25 thn<br>
<input type="radio" value="v4" checked name="R1">25-30 thn<br>
</p>
</body>
</html>
18
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
BAB 4
CSS (CASCADING STYLE SHEETS)
4.1 TUJUAN
Mahasiswa dapat memahami konsep CSS dan cara membuat tampilan halaman web
dengan menggunakan larik CSS (Cascading Style Sheets).
Jika terdapat lebih dari satu style yang digunakan untuk sebuah halaman HTML, maka prioritas
tertinggi adalah :
1. Inline style (di dalam elemen HTML)
2. External dan internal style sheet (dalam bagian head)
3. Browser default
Maka, inline style mempunyai prioritas tertinggi dan mengesampingkan external dan internal
style serta browser default.
19
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
/*This is a comment*/
p {
text-align: center;
color: black;
font-family: arial;
}
Contoh :
<html>
<head>
<style type="text/css">
p {
color: red;
text-align: center;
}
</style>
</head>
<body>
<p>Hello World!</p>
<p>This paragraph is styled with CSS.</p>
</body>
</html>
Jadi penggunaan CSS ini dilakukan untuk mempercantik tampilan halaman web, sesuai dengan
apa yang kita inginkan.
h1 {background-color: #6495ed;}
p {background-color: #e0ffff;}
div {background-color: #b0c4de;}
20
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
2. Gambar Background
Pada bagian gambar background yang menjadi tampilan background berupa gambar.
Contohnya dapat dilihat berikut ini :
body {
background-image: url('gradient2.png');
}
Jika gambarnya horizontal dapat ditambah (repeat-x) setelah tag sesudahnya, bisa dilihat
sebagai berikut :
body {
background-image: url('gradient2.png');
background-repeat: repeat-x;
}
3. Posisi Background
Untuk meletakkan dimana posisi background kita berada, dapat ditambahkan tag sebagai
berikut :
body {
background-image: url('img_tree.png');
background-repeat: no-repeat;
background-position: right top;
}
21
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
1. Text Alignment
Text Alignment ini digunakan untuk mengatur letak posisi text, apakah letaknya di Margin
Kiri, Kanan, atau Tengah.
Contoh :
h1 {text-align: center;}
p.date {text-align: right;}
p.main {text-align: justify;}
2. Text Decoration
Text Decoration digunakan untuk menghapus underlines yang ada di link halaman Web.
Contoh : a {text-decoration: none;} atau menggunakan :
h1 {text-decoration: overline;}
h2 {text-decoration: line-through;}
h3 {text-decoration: underline;}
h4 {text-decoration: blink;}
<html>
<head>
<style type = “text/css”>
p.serif {font-family: “Times New Roman”, Times, serif;}
p.sansserif {font-family: Arial, Helvetica, sans-serif;}
</style>
</head>
<body>
<h1>CSS font-family</h1>
<p class = “serif”>This is a paragraph, shown in the Times New
Roman font.</p>
<p class = “sanserif”>This is a paragraph, shown in the Arial
font.</p>
</body>
</html>
22
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
2. Font Style
Font style dapat digunakan untuk membuat tiga nilai yaitu text normal, text italic, dan text
oblique.
Contoh :
3. Font Size
Font size dapat digunakan untuk mengatur ukuran yang ada pada text.
Contoh :
h1 {font-size: 40px;}
h2 {font-size: 30px;}
p {font-size: 14px;}
23
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
ul {list-style-image: url(‘namafile’);}
Contoh :
<html>
<head>
<style type = “text/css”>
ul {
list-style-image: url(‘sqpurple.gif’);
}
</style>
</head>
<body>
<ul>
<li>Coffee</li>
<li>Tea</li>
<li>Coca Cola</li>
</ul>
</body>
</html>
table, th, td {
border: 1px solid black;
}
b. Collapse Borders
Digunakan untuk menggabungkan dua buah tabel jadi satu tabel. Contoh :
table {
border-collapse: collapse;
}
table, th, td {
border: 1px solid black;
}
24
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
table {
width: 100%;
}
th {
height: 50px;
}
td {
text-align: right;
}
atau,
td {
height: 50px;
vertical-align: bottom;
}
e. Table Color
Digunakan untuk memberikan warna pada tabel yang akan dibuat. Contoh :
table, td, th {
border: 1px solid green;
}
th {
background-color: green;
color: white;
}
25
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
2. Internal CSS
Internal style sheet didefinisikan di dalam elemen <style>, di dalam bagian head pada
dokumen HTML dan hanya diterapkan untuk satu halaman HTML itu saja. Contoh pada subbab
4.3 merupakan kategori Internal CSS. Contoh lainnya seperti pada Gambar 4-2, script ini
rekonstruksi dari script pada Gambar 4-1 dan mencoba untuk menggunakan penamaan class =
“head” sehingga elemen apapun yang diberi nama class “head” akan merujuk kepada style yang
telah didefenisikan dalam elemen <style> bagian head dari HTML. Cara pendefinisian nama
class seperti di elemen <style>, dapat Anda pelajari di sub topik CSS Selector.
26
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
3. External CSS
Cara ini digunakan untuk mengubah tampilan seluruh situs web (yang terdiri dari beberapa
halaman HTML) hanya dengan mengubah satu file dokumen CSS saja. CSS dituliskan dalam
sebuah text editor dan disimpan dengan ekstensi .css, serta tidak berisi tag HTML. Setiap
halaman HTML harus menyertakan referensi ke file external style sheet di dalam elemen <link>,
di dalam bagian head pada dokumen HTML. Gambar 4-3 merupakan contoh penggunaan teknik
External CSS dalam dokumen HTML beserta dokumen CSS-nya seperti pada Gambar 4-4.
Contoh tersebut juga rekonstruksi dari script pada Gambar 4-1.
Untuk pendalaman terkait CSS, Anda dapat memanfaatkan referensi lainnya untuk melihat
lebih banyak lagi contoh script CSS lainnya.
27
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
BAB 5
PHP: HYPERTEXT PREPROCESSOR
5.1 TUJUAN
Mahasiswa mampu memahami inisialisasi awal pemrograman PHP.
PHP tidak membatasi output HTML, sehingga output HTML bisa berupa gambar, file PDF,
dan bahkan Flash movies, serta mengeluarkan teks apa pun, seperti XHTML dan XML. PHP
dapat berjalan di berbagai platform seperti Windows, Linux, Unix, dan Mac OS X. PHP juga
compatible dengan hampir sebagian besar server yang digunakan saat ini seperti Apache danIIS.
28
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
<html>
<head>
<title>Selamat Datang di HomePage Saya</title>
</head>
<body>
<h1>Halaman PHP pertama saya</h1>
<?php
echo “Halo semua, bagaimana kabar Anda? Ini halaman PHP pertama saya.”;
?>
</body>
</html>
<html>
<head>
<title>Selamat Datang di HomePage Saya</title>
</head>
<body>
<h1>Halaman PHP pertama saya</h1>
<?php
// Ini adalah single-line comment
echo “Halo semua, bagaimana kabar Anda? Ini halaman PHP pertama
saya.”;
?>
</body>
</html>
29
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
<html>
<head>
<title>Selamat Datang di HomePage Saya</title>
</head>
<body>
<h1>Halaman PHP pertama saya</h1>
<?php
/*
Ini adalah contoh
multiple-line comment
*/
echo “Halo semua, bagaimana kabar Anda? Ini halaman PHP pertama
saya.”;
?>
</body>
</html>
<?php
$text = "Contoh Variabel";
$a = 10;
$b = 6;
?>
30
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
BAB 6
KALIMAT BERSYARAT (CONDITIONAL STATEMENT)
6.1 TUJUAN
Mahasiswa mampu memahami konsep-konsep dasar dalam Pemrograman PHP dan dapat
membuat Program PHP.
if (kondisi) {
code yang dieksekusi jika kondisi bernilai true;
} else {
code yang dieksekusi jika kondisi bernilai false;
}
Cara 2 :
if (kondisi 1) {
code yang dieksekusi jika kondisi 1 bernilai true;
} elseif (kondisi 2) {
code yang dieksekusi jika kondisi 2 bernilai true;
} else {
code yang dieksekusi jika kondisi bernilai false;
}
Contoh ifelse-1.php :
<?php
$x = 7;
if ($x % 2 == 0) {
echo "$x adalah bilangan genap";
} elseif ($x % 2 == 1) {
echo "$x adalah bilangan ganjil";
} else {
echo "$x bukan genap, bukan ganjil";
}
?>
31
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
Contoh ifelse-2.php :
<html>
<head>
<title>conditional statement</title>
</head>
<body>
<h1>Contoh Conditional Statement</h1>
<?php
$nilai = 76.5;
?>
</body>
</html>
switch (n) {
case label1:
code yang dieksekusi jika n=label1;
break;
case label2:
code yang dieksekusi jika n=label2;
break;
...
default:
code yang dieksekusi jika n berbeda dari label1 and label2;
}
32
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
Contoh switch-1.php :
<?php
$a = 5;
$b = 5;
switch (true) {
case ($a > $b):
echo "Nilai a > b <br/>";
echo "a = $a dan b = $b";
break;
default:
echo "Nilai a < b <br/>";
echo "a = $a dan b = $b";
}
?>
Contoh switch-2.php :
<?php
$x = 7;
$hasil = $x % 2 ;
switch ($hasil) {
case 0:
echo "$x adalah bilangan genap";
break;
case 1:
echo "$x adalah bilangan ganjil";
break;
default:
echo "$x bukan bilangan genap, bukan bilangan ganjil";
}
?>
33
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
BAB 7
ARRAYS
7.1 TUJUAN
Mahasiswa mampu memahami konsep Array (larik) dan mampu membuat Program PHP
dengan menggunakan Array.
34
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
Contoh numeric_array(1).php :
<?php
//contoh numeric array (1)
//create array
$mhs = array("sella", "didit", "yudi", "ari"); //array dimulai dari index
0
echo $mhs[0]."<br/>";
echo $mhs[1]."<br/>";
echo $mhs[2]."<br/>";
echo $mhs[3]."<br/>";
echo "<br/>";
echo "Panjang Array (jumlah elemen dalam array) = ".count($mhs);
echo "<br/><br/>";
?>
Contoh numeric_array(2).php :
<?php
//contoh numeric array (2)
//create array
$mhs = array(1=>"sella", "didit", 7=>"yudi", "ari", "rima"); //array
dimulai dari index 1, lalu index 7
echo $mhs[1]."<br/>";
echo $mhs[2]."<br/>";
echo $mhs[7]."<br/>";
echo $mhs[8]."<br/>";
echo $mhs[9]."<br/>";
echo "<br/>";
echo "Panjang Array (jumlah elemen dalam array) = ".count($mhs);
echo "<br/><br/>";
?>
35
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
Contoh numeric_array(3).php :
<?php
//contoh numeric array (3)
//create array
$mhs = array("sella", "didit", "yudi", "ari");
$length = count($mhs);
echo "<br>";
echo "Panjang Array (jumlah elemen dalam array) = $length";
echo "<br><br>";
?>
<?php
//contoh associative array
//create array
//index atau key array bukan dalam bentuk numerik, tetapi di-set dengan
sebuah nilai yang ditetapkan sendiri (key : sella, didit, yudi)
$umur = array("sella"=>20, "didit"=>21, "yudi"=>21);
echo $umur['sella']."<br/>";
echo $umur['didit']."<br/>";
echo $umur['yudi']."<br/>";
echo "<br/><br/>";
echo "Nilai-nilai yang ada di dalam Array (ditampilkan key beserta value
nya) :<br/>";
print_r($umur);
?>
36
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
<?php
//contoh multidimensional array
echo "<b>Contoh Multidimensional Arrays</b>";
echo "<br/><br/>";
//memanggil nilai dalam array "grup" dengan index (key-nya) adalah grup3,
dan index ke-1 dari grup3
echo $grup['grup3'][1]."<br/>"; //output L
echo $grup['grup2'][0]."<br/>"; //output E
echo $grup['grup1'][2]."<br/>"; //output C
echo $grup['grup3'][0]."<br/>"; //output K
echo "<br/><br/>";
print_r($grup);
?>
37
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
BAB 8
PERULANGAN (LOOPING)
8.1 TUJUAN
Mahasiswa mampu memahami konsep-konsep Perulangan dan mampu membuat program
PHP menggunakan perulangan (looping). Terdapat tiga jenis pengulangan yang paling sering
digunakan dalam PHP, pengulangan bentuk for, while, do...while, dan foreach (perulangan
untuk array).
8.2 FOR
Pengulangan for digunakan ketika kita telah mengetahui berapa kali script akan di-
running. Bentuk sintaks untuk for sebagai berikut :
for (init; condition; increment) {
code to be executed;
}
Contoh for-1.php :
<?php
for ($i=1; $i<=10; $i++) {
echo "angka ke-".$i."<br/>";
};
?>
Contoh for-2.php :
<?php
for ($i=10; $i>0; $i--) {
$y = $i - 1;
if ($y > 0) {
echo "anak ayam turun $i, mati 1 tinggal $y <br/>";
} else {
echo "anak ayam turun $i, mati 1 tinggal induk <br/>";
}
};
?>
38
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
Untuk mengetahui output dari kedua contoh script PHP perulangan for tersebut, silahkan
dipraktekkan di halaman kerja Anda.
8.3 WHILE
Perulangan while bekerja dengan mengeksekusi sebuah blok coding ketika kondisi bernilai
benar. Penulisan sintaks untuk perulangan while sebagai berikut :
while (condition) {
code to be executed;
}
Contoh while-1.php :
<?php
$i = 1;
while ($i <= 5) {
echo "The number is " . $i . "<br />";
$i++;
}
?>
Contoh while-2.php :
<?php
$i = 20;
while ($i > 0) {
$y = $i - 1;
if ($y > 0) {
echo "anak ayam turun $i, mati 1 tinggal $y <br/>";
} else {
echo "anak ayam turun $i, mati 1 tinggal induk <br/>";
}
$i--;
};
?>
Untuk mengetahui output dari kedua contoh script PHP perulangan while tersebut, silahkan
dipraktekkan di halaman kerja Anda.
8.4 DO … WHILE
Pernyataan do...while akan mengeksekusi blok coding terlebih dahulu, lalu kemudian
mengecek kondisi dan mengulangi looping ketika kondisi bernilai benar. Berikut adalah sintaks
untuk penggunaan do...while :
39
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
do {
code to be executed;
}
while (condition);
Contoh dowhile-1.php :
<?php
$i = 1;
do {
echo "The number is " . $i . "<br />";
$i++;
}
while ($i <= 5);
?>
8.5 FOREACH
Pengulangan foreach dikhususkan untuk array. Struktur foreach biasanya digunakan untuk
melakukan perulangan berdasarkan isi suatu array. Perulangan akan berakhir jika isi array telah
habis.
Berikut adalah sintaks untuk penggunaan foreach :
foreach ($array as $value) {
code to be executed;
}
Contoh foreach.php :
<?php
$hari = array("minggu", "senin", "selasa", "rabu", "kamis",
"jumat", "sabtu");
echo "Menampilkan ID key beserta value yang tersimpan dalam array :<br/>";
foreach ($hari as $key => $value) {
echo "Hari ke-".$key." = ".$value."<br/>";
}
echo "<br/><br/><br/>";
echo "Hanya menampilkan value yang tersimpan dalam array :<br/>";
foreach($hari as $value) {
echo "Hari ".$value."<br/>";
};
?>
40
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
Untuk mengetahui output dari contoh-contoh script PHP tersebut, silahkan dipraktekkan di
halaman kerja Anda.
41
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
BAB 9
DATABASE
9.1 TUJUAN
Mahasiswa mampu memahami konsep-konsep Database dan mampu membuat program
PHP yang melibatkan Database di dalamnya.
Beberapa sintaks MySQL lainnya juga berlaku untuk dieksekusi dalam code PHP, seperti
penggunaan where, order by, dan lainnya.
42
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
Pada contoh sederhana ini, penulis akan membuat sebuah sistem yang akan memproses,
menyimpan data dari form isian ke dalam database, melakukan edit data, dan delete data. Yang
dilakukan pertama kali adalah :
1. Penulis membuat satu folder bernama sistem_kemahasiswaan di dalam folder htdocs,
C:\xampp\htdocs\sistem_kemahasiswaan. Semua contoh file yang penulis buat di bab ini,
akan disimpan ke dalam folder sistem_kemahasiswaan.
2. Penulis membuat database baru bernama db_pkm di localhost/phpMyAdmin (buka
melalui browser). (Start-kan Apache dan MySQL melalui jendela XAMPP Control Panel).
3. Penulis membuat tabel baru bernama mahasiswa, dengan struktur tabel sebagai berikut.
Setelah kebutuhan diatas diselesaikan, penulis melanjutkan pekerjaan dengan membuat code
PHP untuk men-develop ‘sistem kemahasiswaan’, dimulai terlebih dulu dengan membuat
koneksi ke database menggunakan code PHP.
43
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
a. koneksi.php
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "db_pkm";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
?>
Kemudian, dilanjutkan dengan membuat file halaman utama. Untuk file halaman utama,
sebaiknya diberi penamaan file dengan nama index.php. Nama file yang pertama kali akan
ditampilkan sebagai halaman depan haruslah index.* (index.htm, index.html, atau index.php).
Tanpa file index, halaman depan website atau sistem tidak akan muncul secara otomatis.
b. index.php
<html>
<body>
<h4>FORM REGISTRASI KEGIATAN PKM UNJA</h4>
<form method="POST" action="aksi_form.php" enctype="multipart/form-data">
<table>
<tr>
<td>NIM</td>
<td>:</td>
<td><input type="text" name="nim" /></td>
</tr>
<tr>
<td>Nama Lengkap</td>
<td>:</td>
<td><input type="text" name="nama" /></td>
</tr>
<tr>
<td>Jenis Kelamin</td>
<td>:</td>
<td><input type="radio" name="jk" value="P" checked />Pria
<input type="radio" name="jk" value="W" />Wanita
</td>
</tr>
44
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
<tr>
<td>Program Studi</td>
<td>:</td>
<td><select name="prodi">
<option value="Sistem Informasi">Sistem
Informasi</option>
<option value="Teknik Elektro">Teknik Elektro</option>
<option value="Teknik Lingkungan">Teknik
Lingkungan</option>
<option value="Matematika">Matematika</option>
<option value="Fisika">Fisika</option>
<select>
</td>
</tr>
<tr>
<td>Alamat</td>
<td>:</td>
<td><textarea name="alamat"></textarea></td>
</tr>
<tr>
<td>Upload Foto</td>
<td>:</td>
<td><input type="file" name="foto" id="foto"></td>
</tr>
<tr>
<td colspan="2"> </td>
<td><input type="reset" value="Reset" />
<input type="submit" value="Simpan" />
</td>
</tr>
</table>
</form>
</body>
</html>
45
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
<th width='250'>Alamat</th>
<th width='150'>Foto</th>
<th width='60'>Edit</th>
<th width='60'>Hapus</th>
</tr>";
$no = 1;
if (mysqli_num_rows($hasil) > 0) {
while($data = mysqli_fetch_array($hasil)) {
echo "<tr>
<td align='center'>$no</td>
<td>".$data['nim']."</td>
<td>".$data['nama']."</td>
<td align='center'>".$data['jenis_kelamin']."</td>
<td align='center'>".$data['prodi']."</td>
<td>".$data['alamat']."</td>
<td align='center'>".$data['foto']."</td>
<td align='center'><a href =
aksi_edit.php?nim=".$data['nim'].">Edit</td>
<td align='center'><a href =
aksi_hapus.php?nim=".$data['nim'].">Hapus</td>
</tr>";
$no++;
} echo "</table>";
} else {
echo "<b>Data Kosong.</b><br>";
echo "<b>Tidak ada yang ditampilkan.</b>";
}
mysqli_close($conn);
?>
Dilanjutkan dengan membuat file yang berisi code untuk pemrosesan penyimpanan data
dari isian form ke dalam database. Pada tag form, terdapat atribut action, dimana atribut ini
mendefinisikan aksi yang akan dilakukan ketika form di-submit. Dalam contoh ini, aksi yang akan
dilakukan setelah form di-submit, yaitu menyimpan isian data form ke dalam database. Penulis
membuat satu file yang berisi code PHP untuk memproses penyimpanan data dari isian form ke
dalam database yang diberi nama aksi_form.php. Sehingga, atribut action pada tag form
registrasi tersebut diberi value ‘aksi_form.php’.
Di dalam form registrasi tersebut, penulis juga menambahkan isian data Upload Foto,
sehingga pendaftar dapat mengupload foto mereka. Maka, input-annya bertipe ‘file’ dan di dalam
tag form harus ditambahkan atribut enctype dengan value ‘multipart/form-data’ agar inputan
46
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
tipe ‘file’ untuk Upload Foto dapat terbaca dan diproses oleh form. Untuk menampung file foto
yang diupload oleh pendaftar, penulis telah membuat folder Upload Foto di dalam folder
sistem_kemahasiswaan pada langkah awal di bab ini.
c. aksi_form.php
<?php
include "koneksi.php";
$nim = $_POST['nim'];
$nama = $_POST['nama'];
$jk = $_POST['jk'];
$prodi = $_POST['prodi'];
$alamat = $_POST['alamat'];
$file_foto = $_FILES['foto']['name'];
$temp = $_FILES['foto']['tmp_name'];
$simpan = "Upload Foto/".$file_foto;
$error = $_FILES['foto']['error'];
if ($error > 0) {
echo "<script>alert('ERROR !'); document.location.href='index.php';
</script>";
} else {
move_uploaded_file($temp, $simpan);
$sql = "INSERT INTO mahasiswa(nim, nama, jenis_kelamin, prodi,
alamat, foto) VALUES('$nim', '$nama', '$jk', '$prodi', '$alamat',
'$file_foto')";
$hasil = mysqli_query($conn, $sql);
if ($hasil) {
echo "<script>alert('Data berhasil disimpan !');
document.location.href='index.php'; </script>";
} else {
echo "<script>alert('Data gagal disimpan. Silahkan ulangi !');
document.location.href='index.php'; </script>";
}
}
mysqli_close($conn);
?>
Keterangan :
Digunakan $_POST[ ] untuk menangkap data yang dikirim melalui form yang memiliki
method POST.
47
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
Penggunaan $_FILES tidak hanya sebatas seperti tersebut diatas, tapi Anda juga bisa melakukan
hal lainnya seperti menentukan tipe file tertentu yang diizinkan untuk diupload [‘type’], juga limit
ukuran file yang diizinkan untuk diupload [‘size’]. Untuk mengetahui lebih lanjut tentang
$_FILES Array (HTTP File Upload variables) ini, Anda dapat mempelajarinya di banyak referensi
seperti PHP Manual dan w3schools.com.
Proses selanjutnya adalah mengedit data. Penulis membuat dua file php untuk pemrosesan
edit data, yaitu file aksi_edit.php dan file edit.php. File aksi_edit.php akan menampilkan form
edit data sesuai dengan pilihan data yang akan diedit. Aksi selanjutnya setelah data diubah
melalui form, yaitu men-submit data tersebut dengan cara membawa data form ke file edit.php
untuk diproses.
d. aksi_edit.php
<?php
include "koneksi.php";
$nim = $_GET['nim'];
$sql = "SELECT * FROM mahasiswa WHERE nim = '$nim'";
$hasil = mysqli_query($conn, $sql);
while($data = mysqli_fetch_array($hasil)) {
echo "
<form method='POST' action='edit.php?nim=$nim'
enctype='multipart/form-data'>
<table>
<tr>
<td>NIM</td>
<td>:</td>
<td><input type='text' name='nim' value='".$data['nim']."'
/></td>
</tr>
48
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
<tr>
<td>Nama Lengkap</td>
<td>:</td>
<td><input type='text' name='nama'
value='".$data['nama']."' /></td>
</tr>
<tr>
<td>Jenis Kelamin</td>
<td>:</td>
<td><input type='radio' name='jk' value='P'";
if($data['jenis_kelamin']=='P') echo "checked";
echo " />Pria
<input type='radio' name='jk' value='W'";
if ($data['jenis_kelamin']=='W') echo "checked";
echo " />Wanita</td>
</tr>
<tr>
<td>Program Studi</td>
<td>:</td>
<td><select name='prodi'>
<option value='Sistem Informasi'";
if ($data['prodi']=='Sistem Informasi') echo
"selected";
echo ">Sistem Informasi</option>
<option value='Teknik Elektro'";
if ($data['prodi']=='Teknik Elektro') echo
"selected";
echo ">Teknik Elektro</option>
<option value='Teknik Lingkungan'";
if ($data['prodi']=='Teknik Lingkungan') echo
"selected";
echo ">Teknik Lingkungan</option>
<option value='Matematika'";
if ($data['prodi']=='Matematika') echo "selected";
echo ">Matematika</option>
<option value='Fisika'";
if ($data['prodi']=='Fisika') echo "selected";
echo ">Fisika</option>
<select></td>
</tr>
<tr>
<td>Alamat</td>
<td>:</td>
<td><textarea
name='alamat'>".$data['alamat']."</textarea></td>
</tr>
49
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
<tr>
<td>Upload Foto</td>
<td>:</td>
<td><input type='file' name='foto' id='foto'></td>
</tr>
<tr>
<td colspan='2'> </td>
<td><input type='submit' value='Simpan' /></td>
</tr>
</table>
</form>";
}
mysqli_close($conn);
?>
Keterangan :
$_GET berfungsi untuk menangkap data yang ada di link browser. Dalam contoh ini, data yang
akan ditangkap adalah informasi nim yang dibawa oleh link. Sehingga digunakan $_GET[‘nim’]
untuk mendapatkan informasi tersebut.
e. edit.php
<?php
include "koneksi.php";
$nim_ = $_GET['nim'];
$nim = $_POST['nim'];
$nama = $_POST['nama'];
$jk = $_POST['jk'];
$prodi = $_POST['prodi'];
$alamat = $_POST['alamat'];
$file_foto = $_FILES['foto']['name'];
$temp = $_FILES['foto']['tmp_name'];
$simpan = "Upload Foto/".$file_foto;
$error = $_FILES['foto']['error'];
if ($error > 0) {
echo "<script>alert('ERROR !'); document.location.href='index.php';
</script>";
} else {
50
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
move_uploaded_file($temp, $simpan);
$sql = "UPDATE mahasiswa SET nim='$nim', nama='$nama',
jenis_kelamin='$jk', prodi='$prodi',
alamat='$alamat', foto='$file_foto' WHERE nim='$nim_'";
$hasil = mysqli_query($conn, $sql);
if($hasil) {
echo "<script>alert('Data Berhasil Diupdate !!');
document.location.href='index.php'; </script>";
} else {
echo "<script>alert('Data Gagal Diupdate !!');
document.location.href='index.php'; </script>";
}
}
mysqli_close($conn);
?>
Proses selanjutnya adalah menghapus data. Penulis membuat satu file php yang
menghandle pemrosesan hapus data, yaitu file aksi_hapus.php. Penghapusan data dari tabel
dilakukan sesuai dengan data yang dipilih untuk dihapus.
f. aksi_hapus.php
<?php
include "koneksi.php";
$nim = $_GET['nim'];
if ($hasil) {
echo "<script>alert('Data berhasil dihapus');
document.location.href='index.php'; </script>";
} else {
echo "<script>alert('Data gagal dihapus');
document.location.href='index.php'; </script>";
}
mysqli_close($conn);
?>
51
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
Penting !
Dalam contoh, diasumsikan semua isian data wajib diisi, baik itu ketika diinput untuk
pertama kali disimpan maupun ketika pengeditan (sehingga upload file juga harus dipilih ulang
ketika melakukan edit data). Untuk kedepannya, Anda bisa melakukan isian data wajib dan tidak
wajib sesuai dengan kebutuhan, artinya akan ada pengecekan/validasi di dalam form maupun
sistem ketika mulai proses penyimpanan data ke dalam tabel.
Anda juga bisa memberikan batasan terhadap tipe file tertentu dan ukuran file yang
diizinkan untuk diupload, seperti yang telah dijelaskan sebelumnya. Anda juga bisa mengganti
kata ‘Edit’ dan ‘Hapus’ dengan icon ‘pena/pensil’ dan ‘tong sampah’ untuk memberikan tampilan
interface yang lebih menarik dan tidak kaku. Jangan terpaku dengan contoh sederhana ini, Anda
bisa mengembangkan lebih banyak lagi sesuai dengan kebutuhan.
52
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
BAB 10
PAGING
10.1 TUJUAN
Mahasiswa mampu memahami konsep Paging dan mampu membuat program PHP untuk
Paging.
index.php
<html>
<body>
<h4>FORM REGISTRASI KEGIATAN PKM UNJA</h4>
<form method="POST" action="aksi_form.php" enctype="multipart/form-data">
<table>
<tr>
<td>NIM</td>
<td>:</td>
<td><input type="text" name="nim" /></td>
</tr>
<tr>
<td>Nama Lengkap</td>
<td>:</td>
<td><input type="text" name="nama" /></td>
</tr>
<tr>
<td>Jenis Kelamin</td>
<td>:</td>
<td><input type="radio" name="jk" value="P" checked />Pria
<input type="radio" name="jk" value="W" />Wanita
</td>
</tr>
53
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
<tr>
<td>Program Studi</td>
<td>:</td>
<td><select name="prodi">
<option value="Sistem Informasi">Sistem
Informasi</option>
<option value="Teknik Elektro">Teknik Elektro</option>
<option value="Teknik Lingkungan">Teknik
Lingkungan</option>
<option value="Matematika">Matematika</option>
<option value="Fisika">Fisika</option>
<select>
</td>
</tr>
<tr>
<td>Alamat</td>
<td>:</td>
<td><textarea name="alamat"></textarea></td>
</tr>
<tr>
<td>Upload Foto</td>
<td>:</td>
<td><input type="file" name="foto" id="foto"></td>
</tr>
<tr>
<td colspan="2"> </td>
<td><input type="reset" value="Reset" />
<input type="submit" value="Simpan" />
</td>
</tr>
</table>
</form>
</body>
</html>
//PAGING
//Jumlah record
$total = mysqli_num_rows($hasil);
54
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
if ($total > 0) {
$x = $offset;
while($data = mysqli_fetch_array($hasil_2)) {
$no = $x+1;
echo "<tr>
<td align='center'>$no</td>
<td>".$data['nim']."</td>
<td>".$data['nama']."</td>
<td align='center'>".$data['jenis_kelamin']."</td>
<td align='center'>".$data['prodi']."</td>
<td>".$data['alamat']."</td>
<td align='center'>".$data['foto']."</td>
<td align='center'><a href =
aksi_edit.php?nim=".$data['nim'].">Edit</td>
<td align='center'><a href =
aksi_hapus.php?nim=".$data['nim'].">Hapus</td>
</tr>";
$x++;
} echo "</table><br/><br/><br/>";
} else {
55
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
mysqli_close($conn);
?>
56
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
Penting !
Logika dari pembentukan halaman (paging) sangatlah sederhana dimulai dari :
1. Membaca keseluruhan data yang ada di dalam tabel, gunakan perintah SELECT * FROM
nama_tabel.
2. Menghitung jumlah record/data yang ada di dalam tabel, gunakan perintah
mysqli_num_rows().
3. Tentukan jumlah data yang akan ditampilakan per halaman.
4. Cek nomor halaman apakah sudah didefenisikan atau belum, perhatikan link yang ada di
browser. Jika link tertulis seperti ini,
http://localhost/sistem_kemahasiswaan/index.php?page=2, artinya nomor halaman sudah
didefenisikan, yaitu halaman ke-2. Jika tidak ada pendefinisian nomor halaman, maka
nomor halamannya adalah 1 (halaman ke-1).
5. Lalu hitung offset/batas bawah untuk menentukan record ke berapa-kah yang akan mulai
ditampilkan di setiap halaman. Ingat, untuk record yang ada di dalam tabel, perhitungan
dimulai dari record ke-0 (sesuai dengan ketentuan array). Sehingga baris pertama di dalam
tabel akan dibaca sebagai record ke-0.
6. Anda bisa coba membayangkan sendiri langkah 1 – 5 dengan melihat code PHP yang telah
ditulis oleh penulis beserta rumusnya.
7. Lalu, tampilkan data per halaman dengan limit sesuai jumlah data yang telah ditentukan
untuk per halaman beserta offset yang telah dihitung.
8. Hitung jumlah halaman yang akan muncul berdasarkan jumlah record.
9. Buatlah link previous, nomor halaman beserta linknya, dan link next.
57
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
BAB 11
SESSION
11.1 TUJUAN
Mahasiswa mampu memahami konsep penerapan Session dalam sebuah sistem dan
mampu membuat program PHP untuk menerapkan Session ke dalam sistem yang dibangun.
58
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
$_SESSION[], untuk bekerja dengan session PHP, digunakan untuk menampung informasi
pengunjung yang login.
session_destroy(), digunakan untuk menghapus informasi pengguna atau data session yang
tersimpan (proses logout).
Dalam contoh bab ini, penulis meng-create satu tabel baru, yaitu tabel pengguna. Tabel ini
berisi data tentang username dan password yang akan digunakan sebagai informasi ketika proses
login. Diasumsikan bahwa data username dan password telah didaftarkan sebelumnya. Berikut
adalah struktur tabel pengguna dan data yang ditambahkan oleh penulis.
a. index.php
<?php
session_start();
if (!isset($_SESSION['userid'])) {
echo "
<form method = 'POST' action = 'cek_login.php'>
<table>
<tr>
<td>Username</td>
<td>:</td>
<td><input type='text' name='usernm' /></td>
</tr>
<tr>
<td>Password</td>
<td>:</td>
<td><input type='password' name='pass' /></td>
</tr>
<tr>
<td colspan='2'> </td>
<td><input type='submit' value='Login' /></td>
</tr>
59
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
</table>
</form>";
} else {
?>
<html>
<body>
<p align="right"> <?php echo "Hai, ".$_SESSION['userid']; ?>
<a href='logout.php'>Logout</a></p>
<h4>FORM REGISTRASI KEGIATAN PKM UNJA</h4>
<form method="POST" action="aksi_form.php" enctype="multipart/form-
data">
<table>
<tr>
<td>NIM</td>
<td>:</td>
<td><input type="text" name="nim" /></td>
</tr>
<tr>
<td>Nama Lengkap</td>
<td>:</td>
<td><input type="text" name="nama" /></td>
</tr>
<tr>
<td>Jenis Kelamin</td>
<td>:</td>
<td><input type="radio" name="jk" value="P" checked
/>Pria
<input type="radio" name="jk" value="W" />Wanita
</td>
</tr>
<tr>
<td>Program Studi</td>
<td>:</td>
<td><select name="prodi">
<option value="Sistem Informasi">Sistem
Informasi</option>
<option value="Teknik Elektro">Teknik
Elektro</option>
<option value="Teknik Lingkungan">Teknik
Lingkungan</option>
<option value="Matematika">Matematika</option>
<option value="Fisika">Fisika</option>
<select>
</td>
</tr>
60
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
<tr>
<td>Alamat</td>
<td>:</td>
<td><textarea name="alamat"></textarea></td>
</tr>
<tr>
<td>Upload Foto</td>
<td>:</td>
<td><input type="file" name="foto" id="foto"></td>
</tr>
<tr>
<td colspan="2"> </td>
<td><input type="reset" value="Reset" />
<input type="submit" value="Simpan" />
</td>
</tr>
</table>
</form>
</body>
</html>
//PAGING
//Jumlah record
$total = mysqli_num_rows($hasil);
61
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
if ($total > 0) {
$x = $offset;
while($data = mysqli_fetch_array($hasil_2)) {
$no = $x+1;
echo "<tr>
<td align='center'>$no</td>
<td>".$data['nim']."</td>
<td>".$data['nama']."</td>
<td
align='center'>".$data['jenis_kelamin']."</td>
<td align='center'>".$data['prodi']."</td>
<td>".$data['alamat']."</td>
<td align='center'>".$data['foto']."</td>
<td align='center'><a href =
aksi_edit.php?nim=".$data['nim'].">Edit</td>
<td align='center'><a href =
aksi_hapus.php?nim=".$data['nim'].">Hapus</td>
</tr>";
$x++;
} echo "</table><br/><br/><br/>";
} else {
echo "<b>Data Kosong.</b><br>";
echo "<b>Tidak ada yang ditampilkan.</b><br/><br/>";
}
62
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
mysqli_close($conn);
}
?>
b. cek_login.php
<?php
session_start();
include "koneksi.php";
$user = $_POST['usernm'];
$pass = $_POST['pass'];
if ($hasil) {
$_SESSION['userid'] = $user;
echo "<script> document.location.href='index.php'; </script>";
} else {
echo "<script> document.location.href='index.php'; </script>";
}
?>
63
Modul Pemrograman Web I | Rizqa Raaiqa Bintana – Universitas Jambi
c. logout.php
<?php
session_start();
if ($_SESSION['userid']) {
session_destroy();
echo "<script> document.location.href='index.php'; </script>";
}
?>
64