Fungsi-fungsi PHP untuk akses server MySQL
Merupakan fungsi yang digunakan untuk mengakses database MySQL yang diawali mysql_ :
III.4.1
Fungsi mysql_connect
Digunakan untuk melakukan koneksi ke database server MySQL, yang terdapat pada suatu host.
Formatnya : mysql_connect (nama_host, nama_user, password);
Ket :
Ø nama_host , menyatakan nama host tempat MySQL diinstal.
Ø nama_user, adalah nama pemakai yang diperbolehkan untuk koneksi dengan database server MySQL.
Ø password, adalah password yang dimiliki oleh pemakai.
Nilai balik yang dihasilkan true (jika koneksi berhasil dilakukan) dan false (jika koneksi tidak berhasil dilakukan).
Contoh : $konek = mysql_connect (‘localhost’,’Adiexs’,’Kucing’);
Perintah ini digunakan untuk membentuk koneksi ke database server MySQL yang terdapat pada localhost dengan user Adiexs dan password = Kucing dan $konek sebagai pengenal hubungan.
III.4.2
Fungsi mysql_close
Digunakan untuk memutus koneksi ke database MySQL.
Formatnya : mysql_close (pengenal_hubungan);
Ket :
Ø pengenal_hubungan, menyatakan nama pengenal dari pemanggilan fungsi mysql_connect.
Contoh : mysql_close ($konek);
Perintah ini digunakan untuk memutuskan koneksi terhadap database MySQL, yang mempunyai nama pengenal_hubungan-nya adalah $konek.
Contoh programnya : (FungsiMySQLConnect.php).
<html>
<head>
<title>Koneksi
ke Database MySQL</title>
</head>
<body>
<?php
$pemakai
= "Adiexs";
$password = "Kucing";
$konek =
mysql_connect("localhost",$pemakai,$password);
if
($konek)
print("Database MySQL dapat Terkoneksi<br>");
else
print("Database MySQL tidak dapat
Terkoneksi<br>");
$putus
= mysql_close($konek);
if
($putus)
print("Pemutusan Berhasil");
else
print("Pemutusan tidak
Berhasil");
?>
</body>
</html>

Gambar 3.38 Tampilan program konekmysql.php
III.4.3
Fungsi mysql_select_db
Digunakan untuk memilih database yang ada di database server MySQL.
Formatnya : mysql_ select_db (nama_database, pengenal_hubungan);
Ket :
Ø nama_database, menyatakan nama database yang akan dipilih.
Ø pengenal_hubungan, menyatakan nama pengenal dari pemanggilan fungsi mysql_connect.
Contoh : mysql_ select_db (DataMahasiswa, $konek);
Perintah ini digunakan untuk memilih database yang bernama DataMahasiswa, yang mempunyai nama pengenal_hubungan-nya adalah $konek.
III.4.4
Fungsi mysql_query
Digunakan untuk menjalankan permintaan terhadap sebuah tabel atau sejumlah table.
Formatnya : mysql_ query (permintaan, pengenal_hubungan);.
Ket :
Ø permintaan, merupakan pernyataan SQL yang digunakan untuk mengakses tabel, dimana tabel yang dapat diakses adalah milik database yang disebutkan melalui mysql_select_db.
Ø pengenal_hubungan, menyatakan nama pengenal dari pemanggilan fungsi mysql_connect.
Contoh : mysql_ query (“select * from datapribadi”,
$konek);
Perintah ini digunakan untuk menampilkan semua data yang ada di tabel datapribadi, dimana tabel datapribadi ini terdapat dalam database yang bernama DataMahasiswa, yang mana database DataMahasiswa ini telah dipilih sebelumnya dengan perintah mysql_ select_db (DataMahasiswa, $konek); yang mempunyai nama pengenal_hubungan-nya adalah $konek.
III.4.5
Fungsi mysql_db_query
Digunakan untuk menjalankan permintaan terhadap sebuah database.
Formatnya : mysql_db_query (database,permintaan, pengenal_hubungan);
Ket :
Ø database, adalah nama database yang dipilih.
Ø permintaan, merupakan pernyataan SQL yang digunakan untuk mengakses tabel dari database yang telah dipilih.
Ø pengenal_hubungan, menyatakan nama pengenal dari pemanggilan fungsi mysql_connect.
Contoh : $hasilisitabel = mysql_db_query
("DataMahasiswa","select * from datapribadi",$konek);
Perintah ini digunakan untuk memilih database yang bernama DataMahasiswa, kemudian akan menampilkan semua data yang ada di tabel datapribadi, dimana tabel datapribadi ini terdapat dalam database yang bernama DataMahasiswa, dengan yang nama pengenal_hubungan-nya adalah $konek.
III.4.6
Fungsi mysql_num_rows
Digunakan untuk mendapatkan jumlah baris dari hasil permintaan yang menggunakan perintah select.
Formatnya : mysql_num_rows (pengenal_hasil);
Ket :
Ø pengenal_hasil, adalah nama pengenal yang berisi hasil pemanggilan fungsi mysql_query dan mysql_db_query.
Contoh : $jumbaris = mysql_num_rows($hasilisitabel);
Perintah ini akan menghasilkan jumlah baris dari hasil perintah select yang telah dijalankan sebelumnya yang disimpan dalam pengenal_hasil $hasilisitabel.
III.4.7
Fungsi mysql_num_fields
Digunakan untuk mendapatkan jumlah baris dari hasil permintaan yang menggunakan perintah select.
Formatnya : mysql_num_fields (pengenal_hasil);
Ket :
Ø pengenal_hasil, adalah nama pengenal yang berisi hasil pemanggilan fungsi mysql_query dan mysql_db_query.
Contoh : $jumkolom =
mysql_num_fields($hasilisitabel);
Perintah ini
akan menghasilkan jumlah kolom dari
hasil perintah select yang telah
dijalankan sebelumnya yang disimpan dalam pengenal_hasil $hasilisitabel.
III.4.8 Fungsi mysql_fetch_row
Digunakan untuk menghasilkan suatu array, yang terdiri dari seluruh isi kolom dan baris pada suatu hasil permintaan. Fungsi ini mempunyai sifat akan membaca baris berikutnya dari hasil permintaan dan menghasilkan nilai balik bilamana baris yang akan dibaca sudah tidak ada.
Formatnya : mysql_fetch_row (pengenal_hasil);
Ket :
Ø pengenal_hasil, adalah nama pengenal yang berisi hasil pemanggilan fungsi mysql_query dan mysql_db_query.
Contoh : $array = mysql_fetch_row($hasilisitabel)
Perintah ini
akan menghasilkan array, dari hasil perintah yang telah
dijalankan sebelumnya yang disimpan dalam pengenal_hasil $hasilisitabel.
Contoh programnya : (FungsiMySQLFecthRow.php).
<html>
<head>
<title>Menampilkan
Isi Tabel dengan Query</title>
</head>
<body>
<?php
$pemakai
= "Adiexs";
$password = "Kucing";
$konek
= mysql_connect("localhost",$pemakai,$password);
if (!
$konek)
print("Database MySQL tidak dapat
Terkoneksi<br>");
$pilihDB
= mysql_select_db(DataMahasiswa,$konek);
$hasilisitabel
= mysql_query ("select * from datapribadi",$konek);
//$hasilisitabel
= mysql_db_query ("DataMahasiswa","select * from
datapribadi",$konek);
$jumbaris
= mysql_num_rows($hasilisitabel);
print
("Jumlah Baris : $jumbaris<br>");
$jumkolom
= mysql_num_fields($hasilisitabel);
print
("Jumlah Kolom : $jumkolom<br>");
While
($array = mysql_fetch_row($hasilisitabel))
{
print ("$array[0] || $array[1] ||
$array[2] || $array[3]<br>");
}
?>
</body>
</html>

Gambar 3.39 Tampilan program FungsiMySQLFecthRow.php
III.4.9
Fungsi mysql_affected_rows
Digunakan untuk mendapatkan jumlah baris dari permintaan yang menggunakan perintah insert, delete dan update.
Formatnya : mysql_affected_rows (pengenal_hubungan);
Ket :
Ø pengenal_ hubungan, menyatakan nama pengenal dari pemanggilan fungsi mysql_connect.
Contoh : $jumbaris = mysql_affected_rows($konek);
Perintah ini akan menghasilkan jumlah baris yang dikenai perintah insert, delete dan update yang telah dijalankan sebelumnya.
Contoh programnya : (FungsiMySQLAffectedRows.php).
<html>
<head>
<title>Menampilkan
Jumlah Baris dengan Query Insert, Delete dan Update</title>
</head>
<body>
<?php
$pemakai
= "Adiexs";
$password = "Kucing";
$konek
= mysql_connect("localhost",$pemakai,$password);
if (!
$konek)
print("Database MySQL tidak dapat
Terkoneksi<br>");
$pilihDB
= mysql_select_db(DataMahasiswa,$konek);
/*$Masukkan
= "insert into datapribadi(NIM,Nama,
('35410175','Indraguna','Wates','773425')";
$hasilisitabel
= mysql_query ($Masukkan,$konek);*/
//$hasilisitabel
= mysql_query ("update datapribadi set Nama='Indraguna,S.Kom',
$hasilisitabel
= mysql_query ("delete from datapribadi where NIM = 35410175");
if
($hasilisitabel)
print("Perintah dapat
Dijalankan<br>");
else
print("Perintah tidak dapat
Dijalankan<br>");
$jumbaris
= mysql_affected_rows($konek);
print
("Jumlah Baris : $jumbaris<br>");
?>
</body>
</html>

Gambar 3.40 Tampilan program FungsiMySQLAffectedRows.php
III.4.10
Fungsi mysql_fetch_field
Digunakan untuk mendapatkan informasi suatu kolom, dimana nilai balik-nya berupa suatu objek.
Formatnya : mysql_fetch_field (pengenal_hasil, nomor_kolom);
Ket :
Ø pengenal_hasil, adalah nama pengenal yang berisi hasil pemanggilan fungsi mysql_query dan mysql_db_query.
Ø nomor_kolom, menyatakan nomor kolom yang informasinya ingin didapatkan. Bila nomor kolom tidak disebutkan, maka akan mengecek kolom dengan nomor kolom dimulai dari 0 sampai nomor kolom terakhir.
Contoh : $hasilisikolom =
mysql_fetch_field($hasil,0);
Perintah ini akan menghasilkan suatu objek $hasilisikolom, kemudian supaya mendapatkan informasi maka objek ini harus diberi property antara lain :
Tabel 3.1 Properti dari suatu
filed
|
Properti |
Keterangan |
|
not_null |
Bernilai 1 jika kolom tidak boleh kosong |
|
primary_key |
Bernilai 1 jika kolom adalah primary key |
|
numeric |
Bernilai 1 jika kolom bertipe numerik |
|
name |
Nama kolom |
|
max_length |
Panjang maksimal kolom |
|
table |
Nama tabel milik kolom |
Contoh programnya : (FungsiMySQLFetchField.php).
<html>
<head>
<title>Menampilkan
Informasi Kolom</title>
</head>
<body>
<?php
$pemakai
= "Adiexs";
$password = "Kucing";
$konek
= mysql_connect("localhost",$pemakai,$password);
if (!
$konek)
print("Database MySQL tidak dapat
Terkoneksi<br>");
$pilihDB
= mysql_select_db(DataMahasiswa,$konek);
$hasil
= mysql_query ("select * from datapribadi",$konek);
if (! $hasil)
die("Permintaan tidak dapat
Dijalankan");
$hasilisikolom
= mysql_fetch_field($hasil,0);
$tidak_kosong
= $hasilisikolom->not_null ? "Tidak": "Boleh";
$primary_key
= $hasilisikolom->primary_key ? "Ya": "Tidak";
$Numerik
= $hasilisikolom->numeric ? "Ya": "Bukan";
print("Nama kolom :
<b>$hasilisikolom->name</b><br>");
print("Nama tabelnya :
<b>$hasilisikolom->table</b><br>");
print("Panjang isi kolom :
<b>$hasilisikolom->max_length</b><br>");
print("Apakah isinya boleh kosong :
<b>$tidak_kosong</b><br>");
print("Apakah sebagai kunci primer:
<b>$primary_key</b><br>");
print("Apakah tipenya numerik:
<b>$Numerik</b><br>");
?>
</body>
</html>

Gambar 3.41 Tampilan program FungsiMySQLFetchField.php
III.4.11 Fungsi-fungsi untuk mendapatkan atribut suatu kolom
Tabel 3.2 Fungsi-fungsi untuk mendapatkan
atribut suatu kolom
|
Nama Fungsi |
Keterangan |
|
mysql_field_name |
Menghasikan nama kolom. |
|
mysql_field_len |
Menghasilkan panjang maksimal kolom. |
|
mysql_field_flags |
Menghasilkan flag kolom yang dimiliki oleh kolom yang dipilih, misalnya : not_null dan primary_key. |
|
mysql_field_type |
Menghasikan tipe kolom misalnya : int dan string. |
Formatnya : nama_fungsi (pengenal_hasil, nomor_kolom);
Ket :
Ø pengenal_hasil, adalah nama pengenal yang berisi hasil pemanggilan fungsi mysql_query dan mysql_db_query.
Ø nomor_kolom, menyatakan nomor kolom yang informasinya ingin didapatkan.
Contoh : $Nama_kolom = mysql_field_name($hasil, 2);
Perintah ini
akan menghasilkan nama kolom dari
hasil perintah yang telah dijalankan sebelumnya yang disimpan dalam pengenal_hasil
$hasil, yang mempunyai nomor kolom 2
(penomoran kolom dimulai dari 0).
Contoh programnya : (FungsiMySQLFieldName.php).
<html>
<head>
<title>Menampilkan
Informasi Kolom</title>
</head>
<body>
<?php
$pemakai
= "Adiexs";
$password = "Kucing";
$konek
= mysql_connect("localhost",$pemakai,$password);
if (!
$konek)
print("Database MySQL tidak dapat
Terkoneksi<br>");
$pilihDB
= mysql_select_db(DataMahasiswa,$konek);
$hasil
= mysql_query ("select * from datapribadi",$konek);
if (! $hasil)
die("Permintaan tidak dapat
Dijalankan");
$jum_kolom
= mysql_num_fields($hasil);
for($i=0; $i<$jum_kolom; $i++)
{
$Nama_kolom = mysql_field_name($hasil, $i);
$Tipe_kolom = mysql_field_type($hasil, $i);
$Panjang_kolom = mysql_field_len($hasil,
$i);
$Flag_kolom = mysql_field_flags($hasil, $i);
print("Nama kolomnya :
<b>$Nama_kolom</b><br>");
print("Tipe :
<b>$Tipe_kolom</b><br>");
print("Panjang maksimal :
<b>$Panjang_kolom</b><br>");
print("Flag kolomnya : <b>$Flag_kolom</b><br>");
print("<br>");
}
?>
</body>
</html>

Gambar 3.42 Tampilan program FungsiMySQLFieldName.php
III.4.12 Fungsi-fungsi MySQL lainya
Tabel 3.3 Fungsi-fungsi MySQL
lainnya
|
Nama Fungsi |
Keterangan |
|
mysql_create_db |
Membuat database baru di database server MySQL. |
|
mysql_list_db |
Menghasilkan nama-nama seluruh database yang ada di database server MySQL. |
|
mysql_drop_db |
Menghapus suatu database yang ada di database server MySQL. |
|
mysql_list_tables |
Menghasilkan nama-nama tabel dari suatu database yang ada di database server MySQL. |
|
mysql_list_fields |
Menghasilkan nama-nama kolom/fields dari suatu tabel dalam suatu database yang ada di database server MySQL. |
|
mysql_free_result |
Membebaskan memori dari seluruh hasil proses MySQL . |

Bab IV. Aplikasi Web Sederhana dengan 1 Tabel
IV.1 Halaman Login (Login.php).
<html>
<head>
<title>Login
Pengaturan Data Mahasiswa</title>
</head>
<body
bgcolor="aqua">
<center>
<h2>Pengaturan
Data Mahasiswa</h2>
<form
method="post">
<table
>
<tr>
<td>Petugas</td>
<td>
<input type="text"
name="petugas">
</td>
</tr>
<tr>
<td>Password</td>
<td>
<input type="password"
name="password">
</td>
</tr>
</table>
<input
type="submit" value="login">
<input
type="reset"
value="reset">
</form>
<hr
size=15 color="fuchsia" >
<?php
if (isset($password) and isset($petugas) )
{
$validasipwd = crc32("kucing");
$validasiptg = ("Fafa");
$pwd
= crc32($password);
$ptg
= $petugas;
if (($validasipwd == $pwd) and
($validasiptg == $ptg))
{
include "MenuUtama.html";
}
else
{
print("<b>Login Anda
Salah...! <br>");
}
}
?>
</center>
</body>
</html>

Gambar 4.1 Tampilan program login.php
IV.2 Halaman Menu Utama (MenuUtama.html).
<html>
<head>
<title>Menu
Utama Pengaturan Data Mahasiswa</title>
</head>
<body
bgcolor="aqua">
<center>
<h3>Menu Utama
Data Mahasiswa</h3>
<hr>
<a
href="Masukkan.html">Menambah Data</a><br>
<a
href="Cek.html">Mengubah atau Menghapus Data</a><br>
<a
href="Login.php">Logout</a>
</center>
</body>
</html>

Gambar 4.2 Tampilan program login.php setelah login dengan benar
IV.3 Halaman untuk Menambahkan Data (Masukkan.html).
<html>
<head>
<title>Menambah
Data Mahasiswa</title>
</head>
<body
bgcolor="aqua">
<center>
<form
action="Insert.php" method="post">
<table
border="1">
<tr>
<td><b>NIM</td>
<td>
<input type=text name=nim size=9
maxlength=9>
</td>
</tr>
<tr>
<td><b>Nama</td>
<td>
<input type=text name=nama size=25
maxlength=25>
</td>
</tr>
<tr>
<td><b>
<td>
<input type=text name=
</td>
</tr>
<tr>
<td><b>Telepon</td>
<td>
<input type=text name=tlp size=10
maxlength=10>
</td>
</tr>
</table>
<table
border="0">
<tr>
<td>
<input type="submit"
value="Simpan">
<input type="reset"
value="Reset">
</td>
</tr>
</table>
</center>
</body>
</html>

Gambar 4.3 Tampilan program masukkan.html yang berupa form isian
IV.4 Halaman untuk Memproses Data yang akan Dimasukkan(Insert.php).
<html>
<head>
<title>Memasukkan
Data Dalam Database</title>
</head>
<body
bgcolor="aqua">
<?php
$pemakai
= "Adiexs";
$password = "Kucing";
$konek
= mysql_connect("localhost",$pemakai,$password);
if (!
$konek)
print("Database MySQL tidak dapat
Terkoneksi<br>");
$pilihDB
= mysql_select_db(DataMahasiswa,$konek);
/*
printf("$nim<br>");
printf("$nama<br>");
printf("$
printf("$tlp<br>");*/
$Masukkan
= "insert into datapribadi(NIM,Nama,
('$nim','$nama','$
$hasilisitabel
= mysql_query ($Masukkan,$konek);
if
($hasilisitabel)
print("<font color=red
size=4>Data <b>$nama</b> Telah
Dimasukkan</font><br>");
else
print("<font color=red size=4>
Data Tidak Dapat Dimasukkan</font><br>");
?>
<a
href="masukkan.html">Kembali Menu Memasukkan
Data</a><br>
</body>
</html>

Gambar 4.4 Tampilan program insert.php
IV.5 Halaman untuk Mengecek Data (Cek.html).
<html>
<head>
<title>Mengecek
Data Mahasiswa</title>
</head>
<body
bgcolor="aqua">
<center>
<form
action="Edit&Hapus.php" method="post">
<table
border="1">
<tr>
<td><b>Masukkan NIM</td>
<td>
<input type=text name=nim size=15
maxlength=9 >
</td>
</tr>
</table>
<table
border="0">
<tr>
<td>
<input type="submit"
value="Cek">
</td>
</tr>
</form>
</center>
</body>
</html>

Gambar 4.5 Tampilan program Cek.html
IV.6 Halaman untuk Mengedit dan Menghapus Data (Edit&Hapus.php).
<html>
<head>
<title>Mengedit
atau Menghapus Data Mahasiswa</title>
</head>
<body
bgcolor="aqua">
<?php
$pemakai
= "Adiexs";
$password = "Kucing";
$konek
= mysql_connect("localhost",$pemakai,$password);
if (!
$konek)
print("Database MySQL tidak dapat
Terkoneksi<br>");
$pilihDB
= mysql_select_db(DataMahasiswa,$konek);
$hasil=
mysql_query ("select NIM,Nama,
if (!
$hasil)
print ("Permintaan gagal");
$baris
= mysql_fetch_row($hasil);
if
($baris == false)
print ("Data dengan NIM :
<b>$nim</b> Tidak Ada...!");
$nim =
$baris[0];
$nama =
$baris[1];
$
$tlp =
$baris[3];
?>
<center>
<form
action="Update.php" method="post">
<table
border="1">
<tr>
<td>NIM</td>
<td>
<?php
echo "$nim";
?>
</td>
</tr>
<tr>
<td>Nama</td>
<td>
<?php
echo "<input type=text name=nama
size=25 maxlength=25 value='$nama'>";
?>
</td>
</tr>
<tr>
<td>
<td>
<?php
echo "<input type=text name=
?>
</td>
</tr>
<tr>
<td>Telepon</td>
<td>
<?php
echo "<input type=text name=tlp
size=10 maxlength=10 value='$tlp'>";
?>
</td>
</tr>
</table>
<table
border="0">
<?php
echo "<input type=hidden
name=nim size=9 maxlength=9 value=$nim>";
?>
<tr>
<td>
<input type="submit" size=29
value="Update">
</td>
</tr>
</form>
<form
action="Delete.php" method="post">
<td>
<?php
echo "<input type=hidden
name=nim size=9 maxlength=9 value=$nim>";
?>
<input type="submit" size=29
value="Hapus ">
</td>
</form>
</center>
</body>
</html>

Gambar 4.6 Tampilan program edit&hapus.php
IV.7 Halaman untuk Memproses Edit Data (Update.php).
<html>
<head>
<title>Mengedit
Data Mahasiswa</title>
</head>
<body
bgcolor="aqua">
<?php
$pemakai
= "Adiexs";
$password = "Kucing";
$konek
= mysql_connect("localhost",$pemakai,$password);
if (!
$konek)
print("Database MySQL tidak dapat
Terkoneksi<br>");
$pilihDB
= mysql_select_db(DataMahasiswa,$konek);
$hasilisitabel
= mysql_query ("update datapribadi set Nama='$nama',
if
($hasilisitabel)
print("<font color=red
size=4>Data <b>$nama</b> telah
Di-Update...!</font><br>");
else
print("<font
color=red size=4>Data tidak dapat Di-Update </font><br>");
?>
<a
href="cek.html">Kembali Menu Cek</a><br>
</body>
</html>

Gambar 4.7 Tampilan program update.php
IV.8 Halaman untuk Memproses Hapus Data (Delete.php).
<html>
<head>
<title>Menghapus
Data Mahasiswa</title>
</head>
<body
bgcolor="aqua">
<?php
$pemakai
= "Adiexs";
$password = "Kucing";
$konek
= mysql_connect("localhost",$pemakai,$password);
if (!
$konek)
print("Database MySQL tidak dapat
Terkoneksi<br>");
$pilihDB
= mysql_select_db(DataMahasiswa,$konek);
$hasilisitabel
= mysql_query ("delete from datapribadi where NIM=$nim");
if
($hasilisitabel)
print("<font color=red
size=4>Data telah di Hapus...!</font><br>");
else
print("<font
color=red size=4>Data tidak dapat di Hapus</font><br>");
?>
<a
href="cek.html">Kembali Menu Cek</a><br>
</body>
</html>

Gambar 4.8 Tampilan program delete.php

Bab V. Mengenal Sesi
Pada waktu kita browsing menjelajahi website, misalnya e-mail, kita akan diminta memasukkan username dan password. Prosedur ini hanya dilakukan sekali pada awal proses. Selanjutnya sistem akan ‘mengingat’ identitas kita, dan menampilkan informasi yang sesuai. Tanpa adanya sesi, sistem akan salah dan menampilkan data rahasia ke orang yang salah.
Sesi bekerja seperti tempat penitipan barang di supermarket. Kita datang, menitipkan barang bawaan, dan petugas akan memberikan tanda pengenal. Pada saat kita akan mengambil barang, kita memberikan tanda pada petugas, dan petugas akan dapat mengambil barang yang dititipkan tanpa tertukar dengan barang orang lain. Permasalahan yang terjadi adalah, bagaimana “tanda pengenal” tersebut akan disimpan pada setiap halaman yang diakses user, sehingga dapat diakses oleh sistem setiap kali user mengklik link.
Beberapa kegunaan dari Sesi :
Untuk membuat sesi dapat menggunakan Session atau Cookies. Keduanya mempunyai fungsi yang sama yaitu : untuk mencatat aktifitas dari seseorang yang mengakses suatu aplikasi web, agar informasi yang digunakan untuk mengakses dapat terpelihara atau terjaga.
Perbedaaanya adalah Cookies disimpan di komputer user sedangkan Session disimpan di server. Sehingga dapat disimpulkan bahwa penggunaan Session lebih aman dari Cookie.
Berikut akan dicontohkan aplikasi yang telah menggunakan Session dengan 2 tabel, bandingkan dengan aplikasi web sederhana diatas.
V.1 Halaman Login (Login.php).
<html>
<head>
<title>Login
Pengaturan Data Mahasiswa</title>
</head>
<body
bgcolor="aqua">
<center>
<?php
if (!empty($msg))
print("<font
color='red'><b>$msg<br>\n</b></font>");
?>
<h2>Pengaturan
Data Mahasiswa</h2>
<form
action=MenuUtama.php method="post">
<table
>
<tr>
<td>Petugas</td>
<td>
<input type="text"
name="pemakai">
</td>
</tr>
<tr>
<td>Password</td>
<td>
<input type="password"
name="password">
</td>
</tr>
</table>
<input
type="submit" value="login">
<input
type="reset"
value="reset">
</form>
<hr
size=15 color="fuchsia" >
</center>
</body>
</html>

Gambar 5.1 Tampilan program login.php
V .2 Halaman Menu Utama(MenuUtama.php).
<?php
include "CekPwd.inc";
session_start();
if (! empty($pemakai))
$sesi_pemakai = $pemakai;
if (! empty($password))
$sesi_password = $password;
if (!
password_valid($sesi_pemakai,$sesi_password))
{
$alamat =
"http://localhost/AplikasiSesi/Index.php";
$msg = "Login Anda Salah, Silahkan
Login Kembali...!";
header("location:
$alamat?msg=$msg");
exit();
}
session_register("sesi_pemakai");
session_register("sesi_password");
?>
<html>
<head>
<title>Menu
Utama Pengaturan Data Mahasiswa</title>
</head>
<body
bgcolor="aqua">
<center>
<h3>Menu
Utama Data Mahasiswa</h3>
<hr>
<a
href="MasukData.php">Menambah Data</a><br>
<a
href="CekData.php">Mengubah atau Menghapus
Data</a><br>
<a
href="Kriteria.php">Menampilkan Data dengan
Kriteria</a><br>
<a
href="TampilData.php">Menampilkan Semua Data</a><br>
<a
href="Index.php">Logout</a>
</center>
</body>
</html>

Gambar 5.2 Tampilan program menuutama.php
V.3 File untuk Validasi Password (CekPwd.php).
<?php
function
password_valid($pemakai, $password)
{
if (isset($pemakai) and isset($password) )
{
$validasiptg = ("Fafa");
$validasipwd = crc32("kucing");
$ptg
= $pemakai;
$pwd
= crc32($password);
if (($validasipwd == $pwd) and
($validasiptg == $ptg))
return true;
return false;
}
}
?>
V.4 Halaman atau Form untuk Memasukkan Data(MasukData.php).
<?php
include "CekPwd.inc";
session_start();
if (!
password_valid($sesi_pemakai,$sesi_password))
{
$alamat =
"http://localhost/AplikasiSesi/Index.php";
$msg = "Login Anda Salah, Silahkan
Login Kembali...!";
header("location: $alamat?msg=$msg");
exit();
}
?>
<html>
<head>
<title>Menambah
Data Mahasiswa</title>
</head>
<body
bgcolor="aqua">
<center>
<form
action="insert2.php" method="post">
<table
border="1">
<tr>
<td><b>NIM</td>
<td>
<input type=text name=nim size=9 maxlength=9>
</td>
</tr>
<tr>
<td><b>Nama</td>
<td>
<input type=text name=nama size=25
maxlength=25>
</td>
</tr>
<tr>
<td><b>
<td>
<input type=text name=
</td>
</tr>
<tr>
<td><b>Telepon</td>
<td>
<input type=text name=tlp size=10
maxlength=10>
</td>
</tr>
<tr>
<td><b>Nama Orang
Tua</td>
<td>
<input type=text name=naortu size=25
maxlength=25>
</td>
</tr>
<tr>
<td><b>Pekerjaan</td>
<td>
<input type=text name=pkj size=15
maxlength=15>
</td>
</tr>
</table>
<table
border="0">
<tr>
<td>
<input type="submit"
value="Simpan">
<input type="reset"
value="Reset">
</td>
</tr>
</table>
</center>
</body>
</html>

Gambar 5.3 Tampilan program masukdata.php
V.5 Halaman untuk Memproses Data yang akan Dimasukkan (Insert2.php).
<?php
include "CekPwd.inc";
session_start();
if (!
password_valid($sesi_pemakai,$sesi_password))
{
$alamat = "http://localhost/AplikasiSesi/Index.php";
$msg = "Login Anda Salah, Silahkan
Login Kembali...!";
header("location:
$alamat?msg=$msg");
exit();
}
?>
<html>
<head>
<title>Memasukkan
Data Dalam Database</title>
</head>
<body
bgcolor="aqua">
<?php
$pemakai
= "Adiexs";
$password = "Kucing";
$konek
= mysql_connect("localhost",$pemakai,$password);
if (!
$konek)
print("Database MySQL tidak dapat
Terkoneksi<br>");
$pilihDB
= mysql_select_db(DataMahasiswa,$konek);
$Masuk1
= "insert into datapribadi(NIM,Nama,
('$nim','$nama','$
$hasilisitabel1
= mysql_query ($Masuk1,$konek);
$Masuk2
= "insert into dataortu(NIM,NamaOrtu,Pekerjaan) values
('$nim','$naortu','$pkj')";
$hasilisitabel2
= mysql_query ($Masuk2,$konek);
if
(($hasilisitabel1) and ($hasilisitabel1))
print("<font color=red
size=4>Data <b>$nama</b> Telah
Dimasukkan</font><br>");
else
print("<font color=red size=4>
Data Tidak Dapat Dimasukkan</font><br>");
?>
<a
href="masukdata.php">Kembali Menu Memasukkan
Data</a><br>
</body>
</html>

Gambar 5.4 Tampilan program insert2.php
V.6 Halaman untuk Mengecek Data yang akan Diedit (CekData.php).
<?php
include "CekPwd.inc";
session_start();
if (! password_valid($sesi_pemakai,$sesi_password))
{
$alamat =
"http://localhost/AplikasiSesi/Index.php";
$msg = "Login Anda Salah, Silahkan
Login Kembali...!";
header("location:
$alamat?msg=$msg");
exit();
}
?>
<html>
<head>
<title>Mengecek
Data Mahasiswa</title>
</head>
<body
bgcolor="aqua">
<center>
<form
action="Edit&Hapus2.php" method="post">
<table
border="1">
<tr>
<td><b>Masukkan NIM</td>
<td>
<input type=text name=nim size=15
maxlength=9 >
</td>
</tr>
</table>
<table
border="0">
<tr>
<td>
<input type="submit"
value="Cek">
</td>
</tr>
</form>
</center>
</body>
</html>
.
Gambar 5.5 Tampilan program cekdata.php
V.7 Halaman untuk Mengedit atau Menghapus Data (Edit&Hapus2.php).
<?php
include "CekPwd.inc";
session_start();
if (!
password_valid($sesi_pemakai,$sesi_password))
{
$alamat =
"http://localhost/AplikasiSesi/Index.php";
$msg = "Login Anda Salah, Silahkan
Login Kembali...!";
header("location:
$alamat?msg=$msg");
exit();
}
?>
<html>
<head>
<title>Mengedit
atau Menghapus Data Mahasiswa</title>
</head>
<body
bgcolor="aqua">
<?php
$pemakai
= "Adiexs";
$password = "Kucing";
$konek
= mysql_connect("localhost",$pemakai,$password);
if (!
$konek)
print("Database MySQL tidak dapat
Terkoneksi<br>");
$pilihDB
= mysql_select_db(DataMahasiswa,$konek);
$hasil1=
mysql_query ("select NIM,Nama,
if (!
$hasil1)
print ("Permintaan gagal");
$baris1
= mysql_fetch_row($hasil1);
if
($baris1 == false)
printf ("Data dengan NIM :
<b>$nim</b> Tidak Ada...!" );
$nim =
$baris1[0];
$nama =
$baris1[1];
$
$tlp =
$baris1[3];
$hasil2=
mysql_query ("select NIM,NamaOrtu,Pekerjaan from dataortu where
NIM='$nim'",$konek);
if (!
$hasil2)
print ("Permintaan gagal");
$baris2
= mysql_fetch_row($hasil2);
$nim =
$baris2[0];
$naortu
= $baris2[1];
$pkj =
$baris2[2];
?>
<center>
<form
action="update2.php" method="post">
<table
border="1">
<tr>
<td>NIM</td>
<td>
<?php
echo "$nim";
?>
</td>
</tr>
<tr>
<td>Nama</td>
<td>
<?php
echo "<input type=text name=nama
size=25 maxlength=25 value='$nama'>";
?>
</td>
</tr>
<tr>
<td>
<td>
<?php
echo "<input type=text name=
?>
</td>
</tr>
<tr>
<td>Telepon</td>
<td>
<?php
echo "<input type=text name=tlp
size=10 maxlength=10 value='$tlp'>";
?>
</td>
</tr>
<tr>
<td>Nama Orang Tua</td>
<td>
<?php
echo "<input type=text
name=naortu size=25 maxlength=25 value='$naortu'>";
?>
</td>
</tr>
<tr>
<td>Pekerjaan</td>
<td>
<?php
echo "<input type=text name=pkj
size=15 maxlength=15 value='$pkj'>";
?>
</td>
</tr>
</table>
<table
border="0">
<?php
echo "<input type=hidden
name=nim size=9 maxlength=9 value=$nim>";
?>
<tr>
<td>
<input type="submit" size=29
value="Update">
</td>
</tr>
</form>
<form
action="delete2.php" method="post">
<td>
<?php
echo "<input type=hidden
name=nim size=9 maxlength=9 value=$nim>";
?>
<input type="submit" size=29
value="Hapus ">
</td>
</form>
</center>
</body>
</html>

Gambar 5.6 Tampilan program edit&hapus2.php
V.8 Halaman untuk Memproses Data yang akan Diedit (Update2.php).
<?php
include "CekPwd.inc";
session_start();
if (!
password_valid($sesi_pemakai,$sesi_password))
{
$alamat =
"http://localhost/AplikasiSesi/Index.php";
$msg = "Login Anda Salah, Silahkan
Login Kembali...!";
header("location:
$alamat?msg=$msg");
exit();
}
?>
<html>
<head>
<title>Mengedit
Data Mahasiswa</title>
</head>
<body
bgcolor="aqua">
<?php
$pemakai
= "Adiexs";
$password = "Kucing";
$konek
= mysql_connect("localhost",$pemakai,$password);
if (!
$konek)
print("Database MySQL tidak dapat
Terkoneksi<br>");
$pilihDB
= mysql_select_db(DataMahasiswa,$konek);
$hasilisitabel1
= mysql_query ("update datapribadi set Nama='$nama',
$hasilisitabel2
= mysql_query ("update dataortu set
NamaOrtu='$naortu',Pekerjaan='$pkj'where NIM=$nim");
if
(($hasilisitabel2) and ($hasilisitabel2))
print("<font color=red
size=4>Data <b>$nama</b> telah Di-Update...!</font><br>");
else
print("<font
color=red size=4>Data tidak dapat Di-Update </font><br>");
?>
<a
href="cekdata.php">Kembali Menu Cek</a><br>
</body>
</html>

Gambar 5.7 Tampilan program update2.php
V.9 Halaman untuk Memproses Data yang akan Dihapus (Delete2.php).
<?php
include "CekPwd.inc";
session_start();
if (!
password_valid($sesi_pemakai,$sesi_password))
{
$alamat =
"http://localhost/AplikasiSesi/Index.php";
$msg = "Login Anda Salah, Silahkan
Login Kembali...!";
header("location:
$alamat?msg=$msg");
exit();
}
?>
<html>
<head>
<title>Menghapus
Data Mahasiswa</title>
</head>
<body
bgcolor="aqua">
<?php
$pemakai
= "Adiexs";
$password = "Kucing";
$konek
= mysql_connect("localhost",$pemakai,$password);
if (!
$konek)
print("Database MySQL tidak dapat
Terkoneksi<br>");
$pilihDB
= mysql_select_db(DataMahasiswa,$konek);
$hasilisitabel1
= mysql_query ("delete from datapribadi where NIM=$nim");
$hasilisitabel2
= mysql_query ("delete from dataortu where NIM=$nim");
if
(($hasilisitabel1) and ($hasilisitabel2))
print("<font color=red
size=4>Data telah di Hapus...!</font><br>");
else
print("<font
color=red size=4>Data tidak dapat di Hapus</font><br>");
?>
<a
href="cekdata.php">Kembali ke Menu Cek</a><br>
</body>
</html>

Gambar 5.8 Tampilan program delete2.php
V.10 Halaman untuk Memasukkan Kriteria (Kriteria.php).
<?php
include "CekPwd.inc";
session_start();
if (!
password_valid($sesi_pemakai,$sesi_password))
{
$alamat =
"http://localhost/AplikasiSesi/Index.php";
$msg = "Login Anda Salah, Silahkan
Login Kembali...!";
header("location:
$alamat?msg=$msg");
exit();
}
?>
<html>
<head>
<title>Menampilkan
Data dengan Kriteria</title>
</head>
<body
bgcolor="aqua">
<center>
<form
action="TampilKriteria.php" method="post">
<font
size=5 color="red"><b>Silahkan Masukkan
Kriterianya...!</font><br><br>
<table
border="1">
<tr>
<td><b>Masukkan Kriteria Nama
Mahasiswa</td>
<td>
<input type=text name=kritnama
size=15 maxlength=9 >
</td>
</tr>
<tr>
<td><b>Masukkan Kriteria
<td>
<input type=text name=kritkota
size=15 maxlength=9 >
</td>
</tr>
</table>
<table
border="0">
<tr>
<td>
<input type="submit"
value="OK">
</td>
</tr>
</table>
</form>
</center>
</body>
<a
href="menuutama.php"><font size=2
color="blue"><b>Kembali ke Menu Utama...!</a>
</html>

Gambar 5.9 Tampilan program kriteria.php
V.11 Halaman untuk Menampilkan Data dengan Kriteria (TampilData.php).
<?php
include "CekPwd.inc";
session_start();
if (!
password_valid($sesi_pemakai,$sesi_password))
{
$alamat =
"http://localhost/AplikasiSesi/Index.php";
$msg = "Login Anda Salah, Silahkan
Login Kembali...!";
header("location:
$alamat?msg=$msg");
exit();
}
?>
<html>
<head>
<title>Menampilkan
Data Mahasiswa dengan Kriteria</title>
</head>
<body
bgcolor="aqua">
<?php
$pemakai
= "Adiexs";
$password = "Kucing";
$konek
= mysql_connect("localhost",$pemakai,$password);
if (!
$konek)
print("Database MySQL tidak dapat
Terkoneksi<br>");
$pilihDB
= mysql_select_db(DataMahasiswa,$konek);
$hasil1=
mysql_query ("select
datapribadi.NIM,datapribadi.Nama,datapribadi.Kota,datapribadi.Telepon,
dataortu.NamaOrtu,dataortu.pekerjaan
from
datapribadi, dataortu where datapribadi.NIM=dataortu.NIM and datapribadi.Nama
like '%$kritnama%' and datapribadi.Kota like '%$kritkota%'",$konek);
if (!
$hasil1)
print ("Permintaan gagal");
?>
<?php
print
("<center>");
print
("<font size=4><b>Data Lengkap Mahasiswa dan Orang
Tua</b><br><br>");
print
("<table border=1 bordercolor=gray width=100% cellspacing=0>");
print
("<tr>");
print
("<td width=5%>");
print
("<center>");
print
("<font size=2><b>No </b>");
print
("</td>");
print
("<td width=15%>");
print
("<center>");
print
("<font size=2><b>N I M </b>");
print
("</td>");
print
("<td width=20%>");
print
("<center>");
print
("<font size=2><b>Nama Mahasiswa</b>");
print
("</td>");
print
("<td width=20%>");
print
("<center>");
print
("<font size=2><b>Nama Orang Tua</b>");
print
("</td>");
print
("<td width=7%>");
print
("<center>");
print
("<font size=2><b>
print
("</td>");
print
("<td width=12%>");
print
("<center>");
print
("<font size=2><b>Telepon </b>");
print
("</td>");
print
("<td width=15%>");
print
("<center>");
print
("<font size=2><b>Pekerjaan </b>");
print
("</td>");
print
("</tr>");
$no=0;
While
($datanya = mysql_fetch_row ($hasil1))
{
$no++;
print
("<tr>");
print
("<td width=5%>");
print
("<center>");
print
("<font size=2>$no ");
print
("</td>");
print
("<td width=15%>");
print
("<left>");
print
("<font size=2>$datanya[0]");
print
("</td>");
print
("<td width=20%>");
print
("<left>");
print
("<font size=2>$datanya[1]");
print
("</td>");
print
("<td width=20%>");
print
("<left>");
print
("<font size=2>$datanya[4]");
print
("</td>");
print
("<td width=12%>");
print
("<left>");
print
("<font size=2>$datanya[2]");
print
("</td>");
print
("<td width=10%>");
print
("<left>");
print
("<font size=2>$datanya[3]");
print
("</td>");
print
("<td width=15%>");
print
("<left");
print
("<font size=2>$datanya[5]");
print
("</td>");
print
("</tr>");
}
print
("</table>");
?>
</center>
</body>
</html>
Gambar 5.10 Tampilan program tampilkriteria.php
V.12 Halaman untuk Menampilkan Data dari Kedua Tabel (TampilData.php).
<?php
include "CekPwd.inc";
session_start();
if (!
password_valid($sesi_pemakai,$sesi_password))
{
$alamat =
"http://localhost/AplikasiSesi/Index.php";
$msg = "Login Anda Salah, Silahkan
Login Kembali...!";
header("location: $alamat?msg=$msg");
exit();
}
?>
<html>
<head>
<title>Menampilkan
Data Mahasiswa</title>
</head>
<body
bgcolor="aqua">
<?php
$pemakai
= "Adiexs";
$password = "Kucing";
$konek
= mysql_connect("localhost",$pemakai,$password);
if (!
$konek)
print("Database MySQL tidak dapat
Terkoneksi<br>");
$pilihDB
= mysql_select_db(DataMahasiswa,$konek);
$hasil1=
mysql_query ("select
datapribadi.NIM,datapribadi.Nama,datapribadi.Kota,datapribadi.Telepon,
dataortu.NamaOrtu,dataortu.pekerjaan
from
datapribadi, dataortu where datapribadi.NIM=dataortu.NIM order by
datapribadi.Nama",$konek);
if (!
$hasil1)
print ("Permintaan gagal");
?>
<?php
print
("<center>");
print
("<font size=4><b>Data Lengkap Mahasiswa dan Orang
Tua</b><br><br>");
print
("<table border=1 bordercolor=gray width=100% cellspacing=0>");
print
("<tr>");
print
("<td width=5%>");
print
("<center>");
print
("<font size=2><b>No </b>");
print
("</td>");
print
("<td width=15%>");
print
("<center>");
print
("<font size=2><b>N I M </b>");
print
("</td>");
print ("<td
width=20%>");
print
("<center>");
print
("<font size=2><b>Nama Mahasiswa</b>");
print
("</td>");
print
("<td width=20%>");
print
("<center>");
print
("<font size=2><b>Nama Orang Tua</b>");
print
("</td>");
print
("<td width=7%>");
print
("<center>");
print
("<font size=2><b>
print
("</td>");
print
("<td width=12%>");
print
("<center>");
print
("<font size=2><b>Telepon </b>");
print
("</td>");
print
("<td width=15%>");
print
("<center>");
print
("<font size=2><b>Pekerjaan </b>");
print
("</td>");
print
("</tr>");
$no=0;
While
($datanya = mysql_fetch_row ($hasil1))
{
$no++;
print
("<tr>");
print
("<td width=5%>");
print
("<center>");
print
("<font size=2>$no ");
print
("</td>");
print
("<td width=15%>");
print
("<left>");
print
("<font size=2>$datanya[0]");
print
("</td>");
print
("<td width=20%>");
print
("<left>");
print
("<font size=2>$datanya[1]");
print
("</td>");
print
("<td width=20%>");
print
("<left>");
print
("<font size=2>$datanya[4]");
print
("</td>");
print
("<td width=12%>");
print
("<left>");
print
("<font size=2>$datanya[2]");
print
("</td>");
print
("<td width=10%>");
print
("<left>");
print
("<font size=2>$datanya[3]");
print
("</td>");
print
("<td width=15%>");
print
("<left");
print
("<font size=2>$datanya[5]");
print
("</td>");
print
("</tr>");
}
print
("</table>");
?>
</center>
</body>
</html>

Gambar 5.11 Tampilan program tampildata.php
