PEMROGRAMAN BERBASIS WEB ** - KONSEP BASIS DATA DI...
Transcript of PEMROGRAMAN BERBASIS WEB ** - KONSEP BASIS DATA DI...
PEMROGRAMAN BERBASIS WEB ** -
KONSEP BASIS DATA DI WEB
MINGGU KE 10
2
PENDAHULUAN
PEMROGRAMAN BERBASIS WEB ** (4KA)
• 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
• Server Basis Data (Database) yang didukung oleh PHP
antara lain : Informix, DB2, MySQL, Oracle,
PostgreSQL, Sybase
• Untuk proses instalasinya, sama seperti instalasi basis
data tersebut pada aplikasi desktop
• Pada umumnya sudah ada file instalasinya, seperti
setup.exe, yang kemudian diikuti beberapa pertanyaan
3
MySQL
PEMROGRAMAN BERBASIS WEB ** (4KA)
• MySQL termasuk ke dalam Relational Database Management System(RDBMS) yang didistribusikan secara gratis di bawah lisensi GPL(General Public License)
• MySQL merupakan turunan dari konsep database SQL (Structured QueryLanguange) untuk pemilihan/seleksi dan pemasukan data yangmemungkinkan pengoperasian data dikerjakan dengan mudah secaraotomatis
• Dalam bahasa SQL pada umumnya informasi tersimpan dalam tabel-tabelyang secara logik merupakan struktur dua dimensi terdiri dari baris (rowatau record) dan kolom (column atau field). Sedangkan dalam sebuahdatabase dapat terdiri dari beberapa table
• Beberapa tipe data dalam MySQL yang sering dipakai :
4
KEISTIMEWAAN MySQL
PEMROGRAMAN BERBASIS WEB ** (4KA)
1. Portability : Berjalan stabil pada berbagai sistem operasi(Windows, Linux, Mac OS, Solaris, dsb)
2. Open Source : Didistribusikan secara open source (gratis)3. Multiuser : Dapat digunakan oleh beberapa user dalam waktu
yang bersamaan tanpa mengalami masalah atau konflik4. Performance Tuning : Memiliki kecepatan yang baik dalam
menangani query sederhana5. Column Types : Memiliki tipe kolom yang kompleks, seperti :
signed/unsigned integer, float, double, char, varchar, blob, time,datetime, timestamp, year, set serta enum
6. Command dan Functions : Memiliki operator dan fungsi secarapenuh yang mendukung perintah SELECT dan WHERE dalamquery
7. Security : Memiliki lapisan sekuritas, seperti level subnetmask,nama host dan izin akses user disertai dengan password enkripsi
8. Scalability dan Limits : Mampu menangani database dalam skalabesar dengan jumlah records lebih dari 50 juta dan 60 ribu tabelserta 5 miliar baris
5
KEISTIMEWAAN MySQL (Lanjutan)
PEMROGRAMAN BERBASIS WEB ** (4KA)
9. Connectivity : Dapat melakukan koneksi denganclient menggunakan protokol TCP/IP, Unix soketatau Named Pipes.
10.Localisation : Dapat mendeteksi pesan kesalahan(Error Code) pada client dengan menggunakan lebihdari dua puluh bahasa
11.Interface : Memiliki interface terhadap berbagaiaplikasi dan bahasa pemrograman dengan fungsi API(Application Programming Interface).
12.Clients dan Tools : Dilengkapi dengan berbagai toolyang dapat digunakan untuk administrasi database
13.Struktur Tabel : Memiliki struktur tabel yang lebihfleksibel dalam menangani ALTER TABLEdibandingkan Oracle atau PostgreSQL
6
DASAR MySQL
PEMROGRAMAN BERBASIS WEB ** (4KA)
• Mengaktifkan direktory MySQL
c:\>MYSQL
• Mengatur password root
mysql>MYSQLADMIN –UROOT PASSWORD nama password;
• Membuat, mengaktifkan dan melihat database
mysql>CREATE DATABASE nama_database;
mysql>USE nama_database;
mysql>SHOW DATABASES;
• Membuat, mengetahui struktur dan melihat tabel
mysql>CREATE TABLE nama_table (nama_field
type_field(panjang_field), ) ;
mysql>DESCRIBE nama_table;
mysql>SHOW TABLES;• Mengisikan data ke dalam tabel
mysql>INSERT INTO nama_tabel VALUE(data1a,data1b,…..);• Menampilkan data untuk semua kolom
mysql>SELECT * FROM nama_table;
7
DASAR MySQL (Lanjutan)
PEMROGRAMAN BERBASIS WEB ** (4KA)
• Menampilkan data untuk kolom tertentumysql>SELECT field1,field2 FROM nama_table;
• Menampilkan data dengan menghindari pengulangan data padakolom yang diinginkan
mysql>SELECT DISTINCT field1 FROM nama_table;• Menampilkan data dengan mengurutkannya secara Ascending atau
Descendingmysql>SELECT field1,field2 FROM nama_table ORDERBY field3;
• Menampilkan data dengan penyaringanmysql>SELECT * FROM nama_table WHERE field1 =Item_data;mysql>SELECT * FROM nama_table WHERE field1 <item_data;mysql>SELECT * FROM nama_table WHERE field1BETWEEN item_data1 AND item_data2;mysql>SELECT * FROM nama_table WHERE field1LIKE %keyword’;
8
DASAR MySQL (Lanjutan)
PEMROGRAMAN BERBASIS WEB ** (4KA)
• Mengetahui jumlah nilai pada suatu kolom (SUM)mysql> SELECT SUM(field1) FROM nama_tabel ;
• Mengetahui jumlah nilai rata-rata pada suatu kolom (AVG)mysql> SELECT AVG(field1) FROM nama_tabel ;
• Mengetahui nilai maksimal/minimal pada suatu kolom(MAX/MIN)
mysql> SELECT MAX(field1) FROM nama_tabel ;mysql> SELECT MIN(field1) FROM nama_tabel ;
• Mengetahui jumlah record yang tidak bernilai kosong pada suatutabel (COUNT)
mysql> SELECT COUNT(*) FROM nama_tabel ;• Melihat gabungan dua tabel
mysql> SELECT nama_tabel1.field1a,nama_tabel1.field1b, nama_tabel2.field2a,nama_tabel2.field2b FROMnama_tabel1,nama_tabel2 WHERE nama_tabel1.field3a,nama_tabel2.field3b ;
9
DASAR MySQL (Lanjutan)
PEMROGRAMAN BERBASIS WEB ** (4KA)
• Menghapus suatu record dengan kriteria tertentu digunakan
perintah sebagai berikut :
delete from namatabel where kriteria;
Contoh: Menghapus record dari tabel anggota yang bernomor „3‟
delete from anggota where nomor=‟3‟;
• Memodifikasi (merubah) isi record tertentu adalah dengan
menggunakan perintah sebagai berikut :
update namatabel set kolom1=nilaibaru1,
kolom2=nilaibaru2 … where kriteria;
Contoh : Merubah e-mail dari anggota yang bernomor 12 menjadi
„[email protected]‟ dalam tabel anggota
update anggota set email=‟[email protected]‟ where
nomor=‟12‟;
10
MEMBUAT DATABASE DAN TABLE
PEMROGRAMAN BERBASIS WEB ** (4KA)
• Contoh : Misalkan kita ingin menyimpan data anggota yaitu :nomor, nama, email, alamat, kota. Sedangkan strukturnya sepertitabel dibawah ini :
• Perintah MySQL untuk membuat tabel seperti diatas adalah :create table anggota(nomor int(6) not null primary key,nama char(40) not null,email char(255) not null,alamat char(80) not null,kota char(20) not null);
11
MEMBUAT DATABASE DAN TABLE (Lanjutan)
PEMROGRAMAN BERBASIS WEB ** (4KA)
• Untuk memasukkan sebuah baris (record) kedalam tabel MySQLadalah sebagai berikut : insert into namatabel values(kolom1,kolom2, kolom3,…);Contoh : insert into anggota values(„1‟,‟Arini Nurillahi‟,‟[email protected]‟, ‟Jl.Lebak Rejo 7‟,‟Surabaya‟);
• Isi tabel dapat ditampilkan dengan menggunakan perintahSELECT, cara penulisan perintah SELECT adalah : selectnm_kolom from namatable;
12
MENGHUBUNGKAN PHP DENGAN MySQL
PEMROGRAMAN BERBASIS WEB ** (4KA)
• MySQL adalah database yang sangat popular digunakan bersama PHP.
PHP dengan MySQL adalah kombinasi yang baik untuk menampilkan
kekuatan sesungguhnya dari Server-Side scripting
• Agar script PHP yang kita buat dapat berhubungan dengan database dari
MySQL dpt menggunakan fungsi berikut ini :
File utama.php :<?php
function open_connection(){ $host=”localhost”;$username=”root”;$password=””;$databasename=”privatdb”;$link=mysql_connect($host,$username,$password) ordie ("Database tidak dapat dihubungkan!");mysql_select_db($databasename,$link);return $link; }
?>Isi variabel $host, $username, $password & $databasename dapatdisesuaikan dengan setting pada MySQL server yang ada
13PEMROGRAMAN BERBASIS WEB ** (4KA)
FUNGSI-FUNGSI MySQL YANG DAPAT DIAKSES PHP
• Mysql_connect : Untuk membuat hubungan ke database MySQL yangterdapat pada suatu host
mysql_connect(host,nama_pemakai,password);Contoh : $id_mysql= mysql_connect(“localhost”,”php”,”pinguin”);
• Mysql_close : Untuk menutup hubungan ke database MySQLmysql_close(pengenal_hubungan);
Contoh : mysql_close($id_mysql”);• Mysql_select_db : Untuk memilih database MySQL (seperti USE)
mysql_select_db(database, pengenal_hubungan);Contoh : mysql_select_db(“bukualmt”,$id_mysql);
• Mysql_query : Untuk mengeksekusi permintaan tehradap tabelmysql_query(permintaan, pengenal_hubungan);
Contoh : mysql_query(SELECT * FROM kota”,,$id_mysql);• Mysql_db_query : Untuk menjalankan suatu permintaan terhdap suatu
databasemysql_db_query(database, permintaan,pengenal_hubungan);
Contoh : mysql_db_query(“bukualmt”,”SELECT * FROMkota”,$id_mysql);
14
CONTOH MENGHUBUNGKAN PHP DENGAN MySQL
PEMROGRAMAN BERBASIS WEB ** (4KA)
Contoh : Menampilkan data anggota yang telah dibuat denganmenggunakan script PHP.
File contoh13.php :<?php// ----- ambil isi dari file utama.phprequire("utama.php");// ----- hubungkan ke database$link=open_connection();// ----- menentukan nama tabel$tablename="anggota";// ----- perintah SQL dimasukkan ke dalam variable string$sqlstr="select * from $tablename";// ------ jalankan perintah SQL$result = mysql_query ($sqlstr) or die ("Kesalahan padaperintah SQL!");
15
CONTOH MENGHUBUNGKAN PHP DENGAN MySQL (Lanjutan)
PEMROGRAMAN BERBASIS WEB ** (4KA)
// ------ putus hubungan dengan databasemysql_close($link);
// ------ buat tampilan tabelecho("<table width=100% cellpadding=2 bgcolor=#000000>");echo("<tr><td bgcolor=#CCCCCC>No</td><td
bgcolor=#CCCCCC>Nama</td><tdbgcolor=#CCCCCC>E-Mail</td><tdbgcolor=#CCCCCC>Alamat</td><tdbgcolor=#CCCCCC>Kota</td></tr>");
// ------ ambil isi masing-masing recordwhile ($row = mysql_fetch_object ($result)){ // ----- mengambil isi setiap kolom$nomor=$row->nomor;$nama=$row->nama;$email=$row->email;$alamat=$row->alamat;$kota=$row->kota;
16
CONTOH MENGHUBUNGKAN PHP DENGAN MySQL (Lanjutan)
PEMROGRAMAN BERBASIS WEB ** (4KA)
// ------ menampilkan di layar browserecho("<tr><td bgcolor=#FFFFFF>$nomor</td><tdbgcolor=#FFFFFF>$nama</td><td
bgcolor=#FFFFFF>$email</td><tdbgcolor=#FFFFFF>$alamat</td><td
bgcolor=#FFFFFF>$kota</td></tr>");}echo("</table>");?>
Terima Kasih