Download Pemrograman Web

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Pertemuan ke 10
Konsep Basis Data di Web
•Basis Data Web
•Server Basis Data dan Instalasi
•Koneksi ke Basis Data
•MySQL
Pemrograman Web/TI/ AK 045216/2 sks
Basis Data Web
Basis Data (Database) di aplikasi Web sama seperti pada pemakaian
basis data tersebut di aplikasi desktop.
Basis data yang banyak dipakai di aplikasi web adalah model
client/server.
Pemrograman Web/TI/ AK 045216/2 sks
Server Basis Data
Server Basis Data (Database) yang didukung oleh PHP antara lain :
•
•
•
•
•
•
Informix
DB2
MySQL
Oracle
PostgreSQL
Sybase
Untuk proses instalasinya, sama seperti instalasi basis data tsb pada
aplikasi desktop.
Pada umumnya sudah ada file instalasinya, seperti setup.exe, yang
kemudian diikuti beberapa pertanyaan.
Pemrograman Web/TI/ AK 045216/2 sks
Basis Data Web
Diagram Posisi Basis Data Web
Web Server
MySQL
(Database)
Manipulasi
data
Interpreter
Web dinamis
Web Browser
PHP
File PHP
Page yg diinginkan
Pemrograman Web/TI/ AK 045216/2 sks
MySQL
MySQL adalah database yang sangat popular digunakan bersama
PHP. PHP dengan MySQL adalah kombinasi yang baik untuk
menampilkan kekuatan sesungguhnya dari Server-Side
scripting.
Dengan MySQL, pengguna dapat membuat table, dimana data dapat
disimpan lebih efisien dibandingkan menyimpan data dalam array.
Untuk menggunakan MySQL ataupun database lain secara efektif,
diperlukan pemahaman Structured Query Language (SQL).
Pemrograman Web/TI/ AK 045216/2 sks
MySQL
Langkah-langkah Penggunaannya :
a. Koneksi ke Server MySQL
PHP mempunyai fungsi mysql_connect untuk koneksi ke server
MySQL.
Diperlukan 3 argumen;
Pertama
: nama dari server MySQL,
Kedua
: nama pengguna (username) MySQL dan
Ketiga
: sebuah password MySQL.
Pada contoh ini, diasumsikan nama servernya adalah localhost.
Pemrograman Web/TI/ AK 045216/2 sks
MySQL
Jika menjalankan web server pada satu system dan MySQL pada
system lain, gantilah localhost dengan IP address dari sistem
yang ada MySQL.
mysql_connect mengembalikan sebuah link_identifier yang dapat
digunakan untuk komunikasi dengan database.
link ini disimpan dalam sebuah variable yang disebut $link.
<?php $link = mysql_connect ("localhost", "nama pengguna",
"password"); ?>
Pemrograman Web/TI/ AK 045216/2 sks
MySQL
b. Memilih sebuah Database
Selanjutnya adalah memilih database yang akan dipakai. PHP
mempunyai fungsi mysql_select_db yang dipergunakan untuk
memilih database yang akan dipakai.
Argumen pertama adalah nama database (wajib ada). Argumen
kedua disebut dengan link_identifier, yang bersifat optional dan
dihasilkan dari perintah mysql_connect.
Jika tidak dinyatakan, PHP akan menggunakan link terakhir yang
dibuka oleh mysql_connect.
<?php mysql_select_db ("nama_database", $link); ?>
Pemrograman Web/TI/ AK 045216/2 sks
MySQL
c. Menjalankan sebuah Query
Sekarang sudah siap untuk menjalankan sebuah SQL query ke
database tersebut untuk memilih informasi (select), melakukan
penambahan data (insert), mengubah (update) atau menghapus
(delete).
Gunakan mysql_query.
Diperlukan 2 argumen: pertama: sebuah SQL query string (yang
wajib ada) dan kedua adalah link_identifier (opsional).
Seperti mysql_select_db, jika link_identifier tidak disebutkan,
maka akan digunakan link terbuka terakhir.
Pemrograman Web/TI/ AK 045216/2 sks
MySQL
mysql_query akan menghasilkan sebuah resource atau nilai false
jika query nya gagal, pada penggunaan statement select.
Sedangkan pada penggunaan delete, insert atau update, akan
dihasilkan nilai true (jika query nya sukses) atau false (jika
query nya gagal)
Untuk menjalankan sebuah query digunakan fungsi PHP
mysql_query(query, [database]), dimana query adalah query
MySQL sedangkan database (bersifat opsional) adalah sebuah
koneksi database, yang nilai defaultnya adalah koneksi terbuka
terakhir (disini, koneksi tersebut diwakili $link). Contoh, untuk
melakukan query "SELECT * FROM mahasiswa ORDER BY npm
ASC", :
<?php
mysql_query("SELECT
* FROM mahasiswa ORDER BY
Pemrograman Web/TI/ AK 045216/2 sks
npm ASC"); ?>
MySQL
Metode langsung ini kurang fleksibel. Pada umumnya digunakan
metode 2 langkah, yakni memakai variable untuk statement
query nya (missal $query" atau $sql_query), kemudian
penulisan programnya menjadi mysql_query($sql_query).
$sql_query = "SELECT * FROM mahasiswa ORDER BY npm ASC";
Yang kedua, digunakan variable untuk menampung hasil query.
Contoh :.
$result = mysql_query ($sql_query, $link);
Pemrograman Web/TI/ AK 045216/2 sks
MySQL
Untuk menangkap kesalahan, yakni untuk keperluan debug, dapat
ditulis sebagai berikut:
<?php
$result = mysql_query ($sql_query, $link)
or die
(mysql_error () . " Query nya adalah :" . $sql_query); ?> Jika
fungsi
mysql_query
menghasilakn
false,
PHP
akan
menghentikan script tersebut dan mencetak sebuah pesan
error dari MySQL (seperti "you have an error in your SQL
syntax") and the query.
Pemrograman Web/TI/ AK 045216/2 sks
MySQL
Jadi akhirnya penulisan kode untuk menjalankan querynya
menjadi (diasumsikan koneksi databasenya adalah $link):
<?php $sql_query = "SELECT * FROM mahasiswa ORDER BY
npm ASC"; $result = mysql_query ($sql_query, $link)
or die
(mysql_error () . " Query nya adalah :" . $sql_query); ?>
Pemrograman Web/TI/ AK 045216/2 sks
MySQL
Menggunakan semuanya secara bersamaan
Dalam bagian terdahulu, terdapat 3 perintah yang belum
digabungkan. Sekarang perintah2 tersebut akan digabungkan,
dimana table yang akan digunakan adalah table Mahasiswa,
yang disimpan dalam database Gunadarma.
Pemrograman Web/TI/ AK 045216/2 sks
MySQL
<?php
//Koneksi ke server mysql dan mendapatkan link identifier nya
$link
=
mysql_connect
("localhost","nama
pengguna",password");
//Sekarang memilih database yang digunakan
mysql_select_db ("Gunadarma", $link);
//Query nya
$sql_query = "Select * From Mahasiswa";
//Menjalankan query
$result = mysql_query ($sql_query, $link);
//Menutup Koneksi Database
mysql_close ($link); ?>
Pemrograman Web/TI/ AK 045216/2 sks
MySQL
Mendapatkan informasi Select Query
Query select berarti memilih informasi dari sebuah database yang
dikenal sebagai resource, yang ditampung dalam variable
$result, sebagai resource identifier.
Gunakan fungsi mysql_fetch_array untuk menampilkan informasi.
Diperlukan satu parameter, yakni resource identifier (misalnya :
$result), dan dihasilkan sebuah array. Berikut adalah contoh
program untuk menampilkan informasi dari database :
Pemrograman Web/TI/ AK 045216/2 sks
MySQL
<?php
//Koneksi ke server mysql server dan mendapatkan link identifier
nya
$link
=
mysql_connect("localhost",
"nama
pengguna",
"password")
or die('Koneksi Gagal: ' . mysql_error());
// Sekarang memilih database yang digunakan
mysql_select_db("Gunadarma") or die('Gagal memilih database');
// Query nya
$sql_query = "Select * From Mahasiswa";
// Menjalankan query
$result
=
mysql_query($sql_query)or
die('query
gagal'.
mysql_error());
Pemrograman Web/TI/ AK 045216/2 sks
MySQL
//iterasi through result
while($row = mysql_fetch_array($result))
{
//Menampilkan informasi dari baris tersebut
print_r($row);
echo $row['foo'];
//Menampilkan hanya kolom foo.
}
// Mengosongkan resultset (opsional)
mysql_free_result($result);
// Menutup Koneksi Database
mysql_close($link);
?>
Pemrograman Web/TI/ AK 045216/2 sks