...

Aplikasi Database Berbasis Web

by user

on
Category: Documents
0

views

Report

Comments

Transcript

Aplikasi Database Berbasis Web
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
1
APLIKASI DATABASE BERBASIS
WEB DENGAN PHP & MYSQL
(BAGIAN 1)
TEKNIK INFORMATIKA – UNIKOM (2008)
Materi Hari ini
2


Cara Kerja Aplikasi Database Berbasis Web dengan PHP & MySQL
Koneksi Ke Database Server MySQL


Function PHP yang banyak digunakan untuk mengakses Database MySQL













Parameter Koneksi Database (Alamat Server, Port, User Name, Password, Nama Database)
MySQL_Connect
MySQL_Select_DB
MySQL_Query
MySQL_Insert_ID
MySQL_Num_Rows
MySQL_Affected_Rows
MySQL_Fetch_Row
MySQL_Fetch_Assoc
MySQL_Fetch_Array
MySQL_Fetch_Object
MySQL_Close
Dan lain-lain
Contoh Aplikasi Web Database
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Cara Kerja Aplikasi Database
Berbasis Web dengan PHP & MySQL
3
Client
1
6
1.
2.
3.
4.
5.
6.
PHP
Interpreter
Web Server
2
<?php
Database
Server
3
<?php
5
<?php
4
Client mengakses suatu halaman di web server (melakukan Request)
Jika file yang diakses adalah PHP, maka akan diteruskan ke PHP Interpreter untuk dieksekusi
Jika dalam file PHP ada function yang akan mengakses database, maka PHP interpreter akan mengakses
database sesuai script PHP yang ada.
Database server mengirimkan data (jika pencarian atau pengambilan data) atau informasi mengenai
aktivitas web yang dilakukan (status penyisipan, pengeditan dan penghapusan).
PHP Interperter mengembalikan hasil interpretasi PHP ke Web Server untuk dikirimkan ke client
Web Server mengirim hasil eksekusi file ke client (dalam bentuk halaman web) sebagai Response.
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Koneksi Ke Database Server MySQL
4

Koneksi ke database server MySQL memerlukan 5
parameter, yaitu





Alamat Server adalah alamat lokasi server. Alamat boleh diisi
dengan alamat IP Address komputer server, Nama Komputer
Server
Port adalah nomor port TCP/IP yang digunakan oleh MySQL
untuk melakukan koneksi ke client. Jika tidak disebutkan, default
nomor port MySQL adalah 3306
UserName adalah nama user yang akan digunakan oleh client.
Nama user berpengaruh terhadap hak akses user terhadap
database
Password adalah password autentifikasi username
Nama Database adalah nama database yang akan diakses oleh
client.
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Function PHP untuk Database MySQL
5

Function MySQL_Connect
Digunakan untuk membuka koneksi ke server MySQL
resource mysql_connect ( string server , string username , string password)
Parameter Function :
1.
Server berisi nama server diikuti dengan portnya (jika tidak 3306).
Contoh :
“localhost”, “localhost:3305”,“123.123.23.11”, “mysql.unikom.ac.id”
2.
Username berisi nama user yang digunakan untuk mengakses database
3.
Password berisi password user yang digunakan untuk mengakses
database.
Nilai Kembalian Function (Return Value) :
Identifier link MySQL (resource) jika koneksi dapat dilakukan, dan function ini
akan mereturnkan nilai FALSE jika koneksi tidak bisa dilakukan (gagal)
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Function PHP untuk Database MySQL
6

01:
02:
03:
04:
05:
06:
07:
08:
Contoh MySQL_Connect()
<?php
$link = mysql_connect('localhost', 'admin', 'adminpass');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>
Keterangan Baris :
02 : Lakukan koneksi dengan server=localhost, user=admin dan password adminpass. Simpan return value di $link.
03 : Jika koneksi tidak berhasil (!$link), maka jalankan perintah die dengan menampilkan pesan “Could not Connect “ diikuti
dengan pesan kesalahannya (mysql_error())
06 : Menampilkan “Connected successfully”. Di baris ini bisa dipastikan bahwa koneksi berjalan dengan baik. Karena jika
koneksi tidak bisa dilakukan, maka script ini akan berhenti di perintah die.
07 : Menutup koneksi yang tersimpan di identifier $link. Jika variable $link tidak dituliskan, maka akan menutup koneksi
terakhir yang dilakukan.
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Function PHP untuk Database MySQL
7

Function MySQL_Select_DB
Digunakan untuk memilih database yang akan diakses.
bool MYSQL_SELECT_DB ( string database_name [, resource link_identifier] )
Parameter Function :
1.
Database_name berisi nama database yang akan diakses.
2.
Link_identifier berisi link identifier yang didapatkan ketika
melakukan koneksi database.
Nilai Kembalian (Return Value):
TRUE jika database bisa dibuka, FALSE jika database tidak bisa
dibuka (mungkin salah nama database, atau user tidak diperbolehkan
mengakses database tersebut)
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Function PHP untuk Database MySQL
8

Contoh MySQL_Select_DB
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Not connected : ' . mysql_error());
}
// gunakan database mydb sebagai database aktif
$db = mysql_select_db(„mydb', $link);
if (!$db) {
die (' Error : ' . mysql_error());
}
?>
Keterangan :

“$db = mysql_select_db('mydb', $link);” berguna untuk memilih database mydb sebagai
database aktif. Nilai kembalian dari function ini disimpan dalam variable $db. Jika $db bernilai TRUE
berarti database bisa digunakan, tetapi jika $db bernilai FALSE berarti database tidak bisa digunakan.

Jika $db bernilai FALSE, maka script PHP berhenti di perintah die yang akan menampilkan pesan error
yang terjadi.
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Function PHP untuk Database MySQL
9

Function MySQL_Query
Digunakan untuk mengeksekusi perintah query (SQL).
resource MYSQL_QUERY ( string query [, resource link_identifier] )
Parameter Function :
1.
Query adalah string yang berisi SQL yang akan dieksekusi.
2.
Link_identifier berisi link identifier yang didapatkan ketika melakukan
koneksi database.
Nilai Kembalian (Return Value):
Jika query dapat dieksekusi dengan sukses, maka function ini akan
mengembalikan resource hasil (result resource) dan akan mengembalikan nilai
FALSE jika query gagal dieksekusi. Resource hasil akan digunakan di langkahlangkah selanjutnya, misalnya ketika akan mengambil data hasil query.
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Function PHP untuk Database MySQL
10

Contoh MySQL_Query
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
// gunakan database mydb sebagai database aktif
$db = mysql_select_db('mydb', $link);
$res = mysql_query(„select * from dataku', $link);
if (!$res) {
die (' Error : ' . mysql_error());
}
?>
Keterangan :

“$res = mysql_query(„select * from dataku', $link);” berguna untuk mengeksekusi query “select *
from dataku” sesuai dengan koneksi $link. Nilai kembalian dari function ini disimpan dalam variable $res.
Jika $res berisi identifier ke hasil query, berarti query suksesk dijalankan. Tetapi jika $res bernilai FALSE
berarti query gagal dieksekusi.

Jika $res bernilai FALSE, maka script PHP berhenti di perintah die yang akan menampilkan pesan error
yang terjadi.
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Function PHP untuk Database MySQL
11

Function MySQL_Insert_ID
Digunakan untuk mengambil ID yang dihasilkan oleh field
Auto_Increment yang dilakukan oleh Insert sebelumnya.
int MYSQL_INSERT_ID ( [resource link_identifier] )
Parameter Function :
1.
Link_identifier berisi link identifier yang didapatkan ketika
melakukan koneksi database.
Nilai Kembalian (Return Value):
Jika insert data Auto_Increment sebelumnya berhasil, maka nilai
kembalian dari fungsi ini adalah nilai yang diisikan oleh
auto_increment. Jika function ini bernilai 0 berarti perintah insert
sebelumnya tidak menghasilkan nilai auto_increment. Function ini juga
dapat mengembalikan nilai FALSE jika koneksi database tidak terjadi.
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Function PHP untuk Database MySQL
12

Contoh MySQL_Insert_ID
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$db = mysql_select_db('mydb', $link);
$res = mysql_query('insert into data(no,angka) values(null,”adi”)', $link);
// mengambil nilai autonumber terakhir
$no = mysql_insert_id($link);
echo “Nomor urut terbaru adalah : $no”;
?>
Keterangan :
 “$no = mysql_insert_id($link);” berguna untuk mengambil nilai
auto_number terakhir. Nilai auto_number terakhir akan disimpan dalam
variabel $no.
 Di baris terakhir, isi variable $no ditampilkan.
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Function PHP untuk Database MySQL
13

Function MySQL_Num_Rows
Digunakan untuk mengambil banyaknya record/baris
yang dihasilkan oleh perintah query SELECT.
int MYSQL_NUM_ROWS ( resource result )
Parameter Function :
1.
Result berisi identifier result yang didapatkan ketika
melakukan eksekusi query.
Nilai Kembalian (Return Value):
Function ini akan mengembalikan angka yang menunjukan
banyaknya record yang dihasilkan oleh perintah query
SELECT.
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Function PHP untuk Database MySQL
14

Contoh MySQL_Num_Rows
<?php
$link = mysql_connect("localhost", "mysql_user", "mysql_password");
mysql_select_db("database", $link);
$result = mysql_query("SELECT * FROM table1", $link);
$banyak_rec = mysql_num_rows($result);
echo “Data ditemukan sebanyak $banyak_rec baris";
?>
Keterangan :
 “$banyak_rec = mysql_num_rows($result);” berguna untuk
mengambil angka banyaknya record hasil eksekusi query SELECT. Nilai
kembalian disimpan dalam variabel $banyak_rec.
 Di baris terakhir, isi variable $banyak_rec ditampilkan.
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Function PHP untuk Database MySQL
15

Function MySQL_Affected_Rows
Digunakan untuk mengambil banyaknya record/baris
yang diberubah oleh perintah query INSERT, UPDATE,
DELETE.
int MYSQL_AFFECTED_ROWS ( [resource link_identifier] )
Parameter Function :
1.
Link_identifier berisi link identifier yang didapatkan
ketika melakukan koneksi database.
Nilai Kembalian (Return Value):
Function ini akan mengembalikan angka yang menunjukan
banyaknya record yang berubah oleh perintah query INSERT,
UPDATE dan DELETE.
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Function PHP untuk Database MySQL
16

Contoh MySQL_Affected_Rows
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
mysql_select_db('mydb');
$res=mysql_query('DELETE FROM mytable WHERE id < 10');
$banyak_rec_dihapus=mysql_affected_rows($link)
echo “Data yang terhapus adalah: $banyak_rec_dihapus”;
?>
Keterangan :
 “$banyak_rec_dihapus=mysql_affected_rows()” berguna untuk
mengambil angka banyaknya record yang berubah oleh query DELETE.. Nilai
kembalian disimpan dalam variabel $banyak_rec_dihapus.
 Di baris terakhir, isi variable $banyak_rec_dihapus ditampilkan.
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Function PHP untuk Database MySQL
17

Function MySQL_Fetch_Row
Digunakan untuk mengambil 1 baris data yang dihasilkan
oleh perintah SELECT. Data diberikan dalam bentuk array.
array MYSQL_FETCH_ROW ( resource result )
Parameter Function :
1.
Result berisi variabel hasil dari suatu eksekusi query.
Nilai Kembalian (Return Value):
Function ini akan mengembalikan array yang berisi seluruh
field/kolom dari 1 baris/record data. Perintah ini akan
mengembalikan nilai FALSE jika tidak ada lagi data yang
ditunjuk oleh pointer record. Pointer record akan pindah ke
record selanjutnya setelah function ini dijalankan.
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Function PHP untuk Database MySQL
18

Contoh MySQL_Fetch_Rows
<?php
$result = mysql_query("SELECT nim,nama FROM mahasiswa WHERE nim = '10106007'");
if (!$result) {// Jika eksekusi query error
echo 'Error: ' . mysql_error(); // Tampilkan pesan errornya
exit; // Skrip selesai sampai sini
}
$data= mysql_fetch_row($result); // Ambil 1 baris data dari hasil query $result
echo $data[0]; // akan menampilkan data field pertama (index 0) yaitu nim
echo $data[1]; // akan menampilkan data field kedua (index 1) yaitu nama
?>
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Function PHP untuk Database MySQL
19

Function MySQL_Fetch_Assoc
Digunakan untuk mengambil 1 baris data yang dihasilkan oleh
perintah SELECT. Data diberikan dalam bentuk array assosiative
(array yang diakses menggunakan nama keynya).
array MYSQL_FETCH_ASSOC ( resource result )
Parameter Function :
1.
Result berisi variabel hasil dari suatu eksekusi query.
Nilai Kembalian (Return Value):
Function ini akan mengembalikan array assosiative yang berisi
seluruh field/kolom dari 1 baris/record data. Perintah ini akan
mengembalikan nilai FALSE jika tidak ada lagi data yang
ditunjuk oleh pointer record. Pointer record akan pindah ke
record selanjutnya setelah function ini dijalankan.
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Function PHP untuk Database MySQL
20

Contoh MySQL_Fetch_Assoc
<?php
$result = mysql_query("SELECT nim,nama FROM mahasiswa WHERE nim = '10106007'");
if (!$result) { // Jika eksekusi query error
echo 'Error: ' . mysql_error(); // Tampilkan pesan errornya
exit; // Skrip selesai sampai sini
}
$data= mysql_fetch_assoc($result); // Ambil 1 baris data dari query $result
echo $data['nim']; // akan menampilkan data field nim
echo $data['nama']; // akan menampilkan data field nama
?>
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Function PHP untuk Database MySQL
21

Function MySQL_Fetch_Array
Digunakan untuk mengambil 1 baris data yang dihasilkan oleh perintah SELECT.
Data diberikan boleh dalam bentuk array biasa (sama dengan mysql_fetch_row)
atau bentuk array assosiative (sama dengan mysql_fetch_assoc).
array MYSQL_FETCH_ARRAY ( resource result [, int result_type] )
Parameter Function :
1.
Result berisi variabel hasil dari suatu eksekusi query.
2.
Result_type berisi tipe array apa yang akan dikirimkan sebagai return value.
Ada tiga kemungkinan isi dari parameter ini yaitu : MYSQL_ASSOC (agar return value
berisi array assosiative) , MYSQL_NUM (agar return value berisi array biasa), and nilai
defaultnya adalah MYSQL_BOTH (agar return value berisi array biasa dan array assosiative).
Nilai Kembalian (Return Value):
Function ini akan mengembalikan array yang berisi seluruh field/kolom dari 1
baris/record data. Perintah ini akan mengembalikan nilai FALSE jika tidak ada lagi
data yang ditunjuk oleh pointer record. Pointer record akan pindah ke record
selanjutnya setelah function ini dijalankan.
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Function PHP untuk Database MySQL
22

Contoh MySQL_Fetch_Array dengan MYSQL_NUM
<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysql_error());
mysql_select_db("dbif");
$result = mysql_query("SELECT nim, nama, kelas FROM mahasiswa");
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
echo "NIM : ".$row[0]. " Nama : ".$row[1]." Kelas : ".$row[2]);
}
mysql_free_result($result);
?>
Keterangan :

Pada contoh ini, perintah “$row = mysql_fetch_array($result, MYSQL_NUM)” disimpan dalam perintah while sehingga
perintah ini akan diulang selama data masih ada (selama mysql_fetch_array menghasilkan baris data).

$row[0] akan menampilkan nim, $row[1] akan menampilkan nama, $row[2] akan menampilkan kelas. Urutan field sesuai
dengan urutan field di perintah SQL.
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Function PHP untuk Database MySQL
23

Contoh MySQL_Fetch_Array dengan MYSQL_ASSOC
<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysql_error());
mysql_select_db("dbif");
$result = mysql_query("SELECT nim, nama, kelas FROM mahasiswa");
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "NIM : ".$row['nim']. " Nama : ".$row['nama']." Kelas : ".$row['kelas']);
}
mysql_free_result($result);
?>
Keterangan :

Pada contoh ini, perintah “$row = mysql_fetch_array($result, MYSQL_NUM)” disimpan dalam perintah while sehingga
perintah ini akan diulang selama data masih ada (selama mysql_fetch_array menghasilkan baris data).

$row[0] akan menampilkan nim, $row[1] akan menampilkan nama, $row[2] akan menampilkan kelas. Urutan field sesuai
dengan urutan field di perintah SQL.
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Function PHP untuk Database MySQL
24

Function MySQL_Fetch_Object
Digunakan untuk mengambil 1 baris data yang dihasilkan oleh
perintah SELECT. Data diberikan dalam bentuk objek (OOP).
object MYSQL_FETCH_OBJECT ( resource result )
Parameter Function :
1.
Result berisi variabel hasil dari suatu eksekusi query.
Nilai Kembalian (Return Value):
Function ini akan mengembalikan sebuah objek yang berisi
seluruh field/kolom dari 1 baris/record data. Perintah ini akan
mengembalikan nilai FALSE jika tidak ada lagi data yang
ditunjuk oleh pointer record. Pointer record akan pindah ke
record selanjutnya setelah function ini dijalankan.
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Function PHP untuk Database MySQL
25

Contoh MySQL_Fetch_Object
<?php
$result = mysql_query("SELECT nim,nama FROM mahasiswa WHERE nim = '10106007'");
if (!$result) { // Jika eksekusi query error
echo 'Error: ' . mysql_error(); // Tampilkan pesan errornya
exit; // Skrip selesai sampai sini
}
$data= mysql_fetch_object($result); // Ambil 1 baris data dari query $result
echo $data->nim; // akan menampilkan data properti nim
echo $data->nama; // akan menampilkan data properti nama
?>
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Function PHP untuk Database MySQL
26

Function MySQL_Close
Digunakan untuk menutup koneksi mysql yang telah
dilakukan.
bool MYSQL_CLOSE ( [resource link_identifier] )
Parameter Function :
1.
Link_identifier berisi variabel link yang menunjuk hasil
koneksi.
Nilai Kembalian (Return Value):
Function ini akan mengembalikan nilai boolean TRUE jika
penutupan koneksi bisa dilakukan dan mengembalikan nilai
boolean FALSE jika pentutupan koneksi gagal dilakukan.
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Function PHP untuk Database MySQL
27

Contoh MySQL_Fetch_Object
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link); //tutup koneksi yang telah dibuat
?>
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Contoh Aplikasi Web Database
(Statistik Traffic Web)
28
Contoh Kasus :
Anda diminta untuk membuat suatu halaman web yang
menampilkan informasi mengenai traffic situs anda.
Informasi yang diinginkan adalah Halaman yang
diakses, Waktu Pengaksesan dan IP Client yang
mengakses situs tersebut.
Setiap halaman yang ada, harus dapat menangkap
informasi tersebut dan menyimpannya dalam sebuah
database. Informasi yang ingin ditampilkan adalah
informasi 20 pengaksesan situs terakhir.
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Langkah 1.
Analisis Untuk Source Code
29

Carilah cara untuk mendapatkan informasi yang
diinginkan. Mungkin anda akan mendapatkan hal
berikut ini :
 Untuk
mendapatkan waktu pengaksesan, bisa
menggunakan fungsi now() dari mysql atau getdate()
dari PHP
 Untuk mendapatkan IP Client, bisa menggunakan
variable $_SERVER['REMOTE_ADDR']
 Untuk mendapatkan file yang diakses, dapat
menggunakan variable $_SERVER['PHP_SELF']
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Langkah 2.
Pembuatan Database
30

Berdasarkan kasus, kita diminta untuk menangkap 3
data (waktu, halaman dan IP). Sehingga minimal
kita harus mempunyai sebuah tabel yang memiliki 3
field. Tetapi sebagai bahan pembelajaran, pada
tabel akan dibuat menjadi 4 field dengan
menambahkan field nomor yang merupakan field
auto increment yang mencatat berapa kunjungan
yang telah terjadi. (Pembelajaran menggunakan
field auto increment)
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Langkah 2b
31

Buat database misalnya dengan nama db10100000, dengan cara
membuka browser dengan alamat http://localhost/phpmyadmin, isi
nama database dengan 1db10100000 kemudian klik tombol “Create”
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Langkah 2c
32

Buat tabel dengan nama “kunjungan” untuk menyimpan data
traffic web. Dengan cara mencari bagian “create new table on
database db101000000” dengan mengisi Nama Tabel
kunjungan dan Banyak Field 4 (nomor, halaman, waktu, ip). Klik
tombol “Go”
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Langkah 2d
33

Buat struktur tabel untuk tabel “kunjungan”. Lihat gambar di bawah ini.
Isi strukturnya seperti di bawah ini. Jika telah selesai klik tombol
“Save”, yang akan menghasilkan query seperti di bawah.
PrimaryKey
Auto
Increment
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Langkah 2e
34

Database “db10100000” dan tabel “kunjungan” telah siap
digunakan.
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Langkah 3.
Membuat Fungsi Koneksi Database
35

Membuat Fungsi untuk Koneksi Database yang berguna untuk melakukan
koneksi database. Langkah pembuatannya adalah :


Buka file lib_func.php
Buat fungsi baru untuk koneksi database. Tempatkan fungsi di bagian atas file
karena akan dipakai oleh fungsi-fungsi berikutnya. Isi fungsinya adalah :
function koneksidb(){
$host = "localhost";
$database = "db10100000";
$user = "root";
$password = "";
$link=mysql_connect($host,$user,$password);
mysql_select_db($database,$link);
if(!$link)
echo "Error : ".mysql_error();
return $link;
}
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Langkah 4.
Membuat Fungsi Catat Kunjungan
36

Membuat Fungsi untuk Catat Kunjungan yang berguna untuk menyimpan
informasi pengunjung situs ke database yang telah disediakan. Langkah
pembuatannya adalah :


Buka file lib_func.php
Buat fungsi baru untuk mencatat kunjungan. Tempatkan fungsi di bagian bawah
fungsi koneksi_db(). Isi fungsinya adalah :
function catat_kunjungan(){
$link=koneksi_db();//Lakukan koneksi ke db
$ip=$_SERVER['REMOTE_ADDR']; // Ambil IP Client
$halaman=$_SERVER['PHP_SELF']; // Ambil Nama File yang Diakses
// Susun SQL, simpan di variable $sql
$sql="insert into kunjungan values (null, '$halaman', now(),'$ip')";
$res=mysql_query($sql,$link); // Eksekusi Query
if(!$res)
echo "Error ".mysql_error();
}
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Langkah 5.
Membuat Fungsi View Kunjungan
37

Membuat Fungsi untuk menampilkan 20 data kunjungan terakhir
yang mengakses situs. Langkah pembuatannya adalah :


Buka file lib_func.php
Buat fungsi baru untuk mencatat kunjungan. Tempatkan fungsi di bagian
bawah fungsi koneksi_db(). Isi fungsinya adalah :
Source Code Ada Di Slide Selanjutnya
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Langkah 5b.
Membuat Fungsi View Kunjungan
38
function view_kunjungan(){
$link=koneksi_db();//Lakukan koneksi ke db
$res=mysql_query("select * from kunjungan order by waktu desc",$link); // Eksekusi Query
if(!$res)
die("Error ".mysql_error());
// Mulai membuat tabel kunjungan
?>
<table border=0 align="center">
<tr align="center" bgcolor="#CCCCCC"><td colspan=4><b>20 KUNJUNGAN TERAKHIR</b></td></tr>
<tr align="center" bgcolor="#EEEEEE"><td>No</td><td>Halaman</td><td>Waktu</td><td>IP</td></tr>
<?php
while($data=mysql_fetch_array($res)){ // Ambil 1 record. Simpan di $data. Ulangi sampai data habis
?>
<tr>
<td><?php echo $data['nomor'];?></td>
<td><?php echo $data['halaman'];?></td>
<td><?php echo $data['waktu'];?></td>
<td><?php echo $data['ip'];?></td>
</tr>
<?php
}
?>
</table>
<?php
// Akhir membuat tabel kunjungan
}
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Langkah 6.
Tempatkan Pemanggilan Catat_Kunjungan()
39

Tempatkan Fungsi Catat_ Kunjungan() ke semua file.
Sehingga setiap kali file tersebut dipanggil maka
akan melakukan pencatatan kunjungan. Ada
beberapa cara yang dapat dilakukan (pilih salah
satu) yaitu :
 Tempatkan
pemanggilan catat_kunjungan() di
lib_func.php tetapi di luar pendeklarasian function
agar otomatis dipanggil ketika lib_func.php dipangil.
Contoh :
catat_kunjungan(); // Pemanggilan Fungsi Pencatatan Kunjungan
// AKHIR DARI LIB_FUNC.PHP
?>
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Langkah 6.
Tempatkan Pemanggilan Catat_Kunjungan()
40
 Tempatkan
pemanggilan catat_kunjungan() di function
header_web() di file lib_func.php. Hal ini dimungkinkan
jika function header_web() dipanggil di semua file.
Boleh juga di function footer_web atau di
navigator_web().
Contoh jika ditempatkan di function header_web() :
function header_web(){
?>
<font color="white" size=8>http://www.if10100000.co.cc</font>
<?php
catat_kunjungan(); // Pemanggilan Fungsi Pencatatan Kunjungan
}
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Langkah 7.
Membuat Halaman View Kunjungan
41

Halaman View Kunjungan digunakan untuk
menampilkan 20 kunjungan terakhir. Cara yang
dapat dilakukan adalah :
 Copy
file baru dari template.php, Save as menjadi
kunjungan.php
 Edit bagian “Ini Isi Situs” dengan pemanggilan function
view_kunjungan().
 Simpan file kunjungan.php.
Source code “kunjungan.php” ada di slide selanjutnya
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Langkah 7b.
Membuat Halaman View Kunjungan
42
Nama File : kunjungan.php
<html>
<head>
<?php
include("lib_func.php");
?>
<title>Situs Mahasiswa IF</title>
<link rel="SHORTCUT ICON" href="favicon.ico">
<link href="css.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="100%" align="center" border=0 bordercolor="#FFFFFF">
<tr><td colspan=3 align="center" bgcolor="#0000CC"><?php header_web();?></td></tr>
<tr><td colspan=3 align="center" bgcolor="#FFCC00"><?php navigator_web();?></td></tr>
<tr>
<td width="250px" valign="top" bgcolor="white"><?php menu_kiri();?></td>
<td valign="top"><p class="judul">20 KUNJUNGAN TERAKHIR</p><?php view_kunjungan();?></td>
<td width="250px" valign="top" bgcolor="white"><?php menu_kanan();?></td>
</tr>
<tr><td colspan=3 bgcolor="#FFCC00"><?php footer_web();?></td></tr>
</table>
</body>
</html>
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Langkah 7c.
Membuat Halaman View Kunjungan
43

Tambahkan link ke file “kunjungan.php” pada
navigator_web yang ada di file lib_func.php.
Sehingga isi funcion navigator web menjadi :
function navigator_web(){
?>
| <a href="index.php">Home</a>
| <a href="profile.php">Profile</a>
| <a href="download.php">Download</a>
| <a href="kunjungan.php">Kunjungan</a> |
<?php
}
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Langkah 8.
Test
44


Lakukan test dengan memanggil http://localhost. Silahkan
coba klik link-link yang tersedia beberapa kali.
Klik link Kunjungan yang ada di Navigator Web. Lihat
hasilnya.
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Sekian untuk hari ini
45
Jika ada kesalahan dalam modul ini atau ada yang
kurang jelas, harap diinformasikan melalui email ke
[email protected]
Kritik dan saran ditunggu.
MATERI BERIKUTNYA
Tambah, Edit, Delete, Pencarian Data
(Tingkat Lanjut)
Modul Aplikasi Teknologi Online – Alif Finandhita, S.Kom
Fly UP