PEMROGRAMAN BERBASIS WEB ** - KONSEP BASIS DATA DI...

17
PEMROGRAMAN BERBASIS WEB ** - KONSEP BASIS DATA DI WEB MINGGU KE 10

Transcript of PEMROGRAMAN BERBASIS WEB ** - KONSEP BASIS DATA DI...

Page 1: PEMROGRAMAN BERBASIS WEB ** - KONSEP BASIS DATA DI WEBnisa_raihani.staff.gunadarma.ac.id/Downloads/files... · 1. Portability : Berjalan stabil pada berbagai sistem operasi (Windows,

PEMROGRAMAN BERBASIS WEB ** -

KONSEP BASIS DATA DI WEB

MINGGU KE 10

Page 2: PEMROGRAMAN BERBASIS WEB ** - KONSEP BASIS DATA DI WEBnisa_raihani.staff.gunadarma.ac.id/Downloads/files... · 1. Portability : Berjalan stabil pada berbagai sistem operasi (Windows,

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

Page 3: PEMROGRAMAN BERBASIS WEB ** - KONSEP BASIS DATA DI WEBnisa_raihani.staff.gunadarma.ac.id/Downloads/files... · 1. Portability : Berjalan stabil pada berbagai sistem operasi (Windows,

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 :

Page 4: PEMROGRAMAN BERBASIS WEB ** - KONSEP BASIS DATA DI WEBnisa_raihani.staff.gunadarma.ac.id/Downloads/files... · 1. Portability : Berjalan stabil pada berbagai sistem operasi (Windows,

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

Page 5: PEMROGRAMAN BERBASIS WEB ** - KONSEP BASIS DATA DI WEBnisa_raihani.staff.gunadarma.ac.id/Downloads/files... · 1. Portability : Berjalan stabil pada berbagai sistem operasi (Windows,

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

Page 6: PEMROGRAMAN BERBASIS WEB ** - KONSEP BASIS DATA DI WEBnisa_raihani.staff.gunadarma.ac.id/Downloads/files... · 1. Portability : Berjalan stabil pada berbagai sistem operasi (Windows,

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;

Page 7: PEMROGRAMAN BERBASIS WEB ** - KONSEP BASIS DATA DI WEBnisa_raihani.staff.gunadarma.ac.id/Downloads/files... · 1. Portability : Berjalan stabil pada berbagai sistem operasi (Windows,

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’;

Page 8: PEMROGRAMAN BERBASIS WEB ** - KONSEP BASIS DATA DI WEBnisa_raihani.staff.gunadarma.ac.id/Downloads/files... · 1. Portability : Berjalan stabil pada berbagai sistem operasi (Windows,

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 ;

Page 9: PEMROGRAMAN BERBASIS WEB ** - KONSEP BASIS DATA DI WEBnisa_raihani.staff.gunadarma.ac.id/Downloads/files... · 1. Portability : Berjalan stabil pada berbagai sistem operasi (Windows,

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‟;

Page 10: PEMROGRAMAN BERBASIS WEB ** - KONSEP BASIS DATA DI WEBnisa_raihani.staff.gunadarma.ac.id/Downloads/files... · 1. Portability : Berjalan stabil pada berbagai sistem operasi (Windows,

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);

Page 11: PEMROGRAMAN BERBASIS WEB ** - KONSEP BASIS DATA DI WEBnisa_raihani.staff.gunadarma.ac.id/Downloads/files... · 1. Portability : Berjalan stabil pada berbagai sistem operasi (Windows,

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;

Page 12: PEMROGRAMAN BERBASIS WEB ** - KONSEP BASIS DATA DI WEBnisa_raihani.staff.gunadarma.ac.id/Downloads/files... · 1. Portability : Berjalan stabil pada berbagai sistem operasi (Windows,

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

Page 13: PEMROGRAMAN BERBASIS WEB ** - KONSEP BASIS DATA DI WEBnisa_raihani.staff.gunadarma.ac.id/Downloads/files... · 1. Portability : Berjalan stabil pada berbagai sistem operasi (Windows,

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);

Page 14: PEMROGRAMAN BERBASIS WEB ** - KONSEP BASIS DATA DI WEBnisa_raihani.staff.gunadarma.ac.id/Downloads/files... · 1. Portability : Berjalan stabil pada berbagai sistem operasi (Windows,

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!");

Page 15: PEMROGRAMAN BERBASIS WEB ** - KONSEP BASIS DATA DI WEBnisa_raihani.staff.gunadarma.ac.id/Downloads/files... · 1. Portability : Berjalan stabil pada berbagai sistem operasi (Windows,

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;

Page 16: PEMROGRAMAN BERBASIS WEB ** - KONSEP BASIS DATA DI WEBnisa_raihani.staff.gunadarma.ac.id/Downloads/files... · 1. Portability : Berjalan stabil pada berbagai sistem operasi (Windows,

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>");?>

Page 17: PEMROGRAMAN BERBASIS WEB ** - KONSEP BASIS DATA DI WEBnisa_raihani.staff.gunadarma.ac.id/Downloads/files... · 1. Portability : Berjalan stabil pada berbagai sistem operasi (Windows,

Terima Kasih