Diktat Prak Data Base III SQL - Php (Lab i&IV)

40
DIKTAT KULIAH DIKTAT PRAK DATA BASE III SQL - PHP DISUSUN OLEH : TIM LABOLATORIUM ISTA JURUSAN TEKNIK INFORMATIKA S-1 FAKULTAS TEKNOLOGI INDUSTRI INSTITUT SAINS & TEKNOLOGI AKPRIND YOGYAKARTA 2006

Transcript of Diktat Prak Data Base III SQL - Php (Lab i&IV)

Page 1: Diktat Prak Data Base III SQL - Php (Lab i&IV)

DIKTAT KULIAH

DIKTAT PRAK DATA BASE III

SQL - PHP

DISUSUN OLEH :

TIM LABOLATORIUM ISTA

JURUSAN TEKNIK INFORMATIKA S-1

FAKULTAS TEKNOLOGI INDUSTRI

INSTITUT SAINS & TEKNOLOGI AKPRIND

YOGYAKARTA

2006

Page 2: Diktat Prak Data Base III SQL - Php (Lab i&IV)

BAB I

PENDAHULUAN

MySQL (My Structure Query Language) adalah salah satu database dari sekian

banyak database lain seperti Oracle, MS SQL, PostgresSQL dan banyak lagi. Kesemuanya

itu mempunyai fungsi dan manfaat yang hampir sama namun dalam pengerjaanya sedikit

berbeda tetapi MySQL adalah penggunaan yang paling mudah.

Kenapa MySQL?

MySQL adalah database manajemen sistem (DBMS)

DBMS (Database Manajemen System) merupakan salah satu system dalam

mengakses database yang menggunakan bahasa SQL, MySQL menggunakan bahasa SQL

dan dapat dikatakan sebagai DBMS.

MySQL software open source

Open source artinya memungkinkan untuk semua orang untuk menggunakan dan

memodifikasi software. Setiap orang dapat men-download MySQL dari internet dan

menggunakannya tanpa membayar apapun. Jika mau, anda bisa mempelajari kode sumber

dan menukar apa yang anda inginkan.

Kenapa menggunakan MySQL?

Database MySQL sangat cepat, reliable, dan mudah untuk digunakan, selain itu

MySQL telah banyak menangani pembuatan software besar.

Bagaimana MySQL diimplementasikan pada WEB?

Karena dalam praktikum basisdata ini kita juga mempelajari PHP, maka berikut

juga dijelaskan secara singkat bagaimana mempresentasikan bentuk hubungan yang

dilakukan bahasa pemrograman dengan database

1

Page 3: Diktat Prak Data Base III SQL - Php (Lab i&IV)

Gambar 1-1 Arsitektur dari aplikasi Web

Dari gambar tersebut terlihat adanya hubungan antara Web server, Bahasa

Pemrograman dan database. Secara teknis database-lah yang menyimpan hampir semua

data dan data tersebut diolah oleh bahasa pemrograman yang kemudian ditampilkan ke

internet dengan menggunakan web server, anda dapat melihat data-data tersebut dengan

mengunjugi URL dengan menggunakan browser seperti Konqueor, opera atau IE.

Dalam praktikum database ini kita membuat kesemua hal tersebut dalam sebuah

PC, artinya database, webserver, bahasa programan dan web browser dilakukan dengan

sebuah PC.

2

Page 4: Diktat Prak Data Base III SQL - Php (Lab i&IV)

BAB II

APLIKASI SERVER MYSQL

Didalam MySQL terdapat sebuah database yang ada sejak awal setelah anda

menginstall MySQL, nama database tersebut adalah mysql dan pada database tersebut

tersimpan nama-nama pengguna yang dapat mengguakan MySQL lengkap dengan opsi

otoritas yang dapat dilakukan oleh pengguna tersebut. Secara default user dengan nama

root adalah pengguna yang menguasai secara utuh dan dapat membuat user lainnya

(termasuk membatasi user - user lain). Untuk dapat menggunakan MySQL anda harus

memasukan user dan password yang sama dengan apa yang dideklarasikan dalam

database (mysql).

Untuk dapat menjalankan MySQL adan harus menjalankan service atau layanan

MySQL.

Berikut cara mengakses MySQL (dilakakukan pada DOS (C:\\apache\mysql\bin\)

atau mode text).

➢ Masuk ke Server MySql

mysql -u root -h localhost -pEnter password:************Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 2 to server version: 4.0.11a-gamma

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

Keterangan :

-h : menunjukkan nama Host (dapat juga dengan alamat IP, ex :

184.36.25.1)

-u : menunjukkan nama User

3

Page 5: Diktat Prak Data Base III SQL - Php (Lab i&IV)

➢ -p : MySQL akan menanyakan password jika anda menggunakan opsi ini.

Jika user yang anda gunakan tidak menggunakan password anda tidak

perlu menggunakan opsi -p ini. -p dapat juga digunakan untuk

mendeklarasikan nama database yang anda gunakan (ex: mysql -u root

- loclhost -p latihan)

➢ Keluar dari MySql

mysql> \qBye

4

Page 6: Diktat Prak Data Base III SQL - Php (Lab i&IV)

BAB III

DATABASE

Database adalah kumpulan dari tabel-tabel, dan tabel merupakan kumpulan dari

beberapa Field atau column. Untuk membuat suatu table maka seorang user harus

membuat database terlebih dahulu. Dengan mengaktifkan database yang dibuat tersebut.

➢ Membuat database dalam server

BU : CREATE Database Nm_Database;

Contoh :

mysql> create database Praktikum;Query OK, 1 row affected (0.11 sec)

➢ Melihat seluruh daftar database dalam server MySql

BU: SHOW Databases;

mysql> show databases;+--------------+| Database |+--------------+| 1adminksl || A1 || bahasa || catalog || praktikum || sample || survey || tracking || u |+--------------+9 rows in set (0.27 sec)

➢ Mengaktifkan/Menggunakan Database

Sebelum pembuatan tabel dan operasi-operasi yang berhubungan dengan

tabel maka database harus di aktifkan/digunakan.

BU : USE Nm_Database

Contoh :

mysql> use praktikum;Database changed

5

Page 7: Diktat Prak Data Base III SQL - Php (Lab i&IV)

➢ Menghapus Database dari Server

BU : Drop Database Nm_Database

Contoh :

mysql> drop database praktikum;Query OK, 0 rows affected (0.11 sec)

Aturan penamaan dalam pembuatan database :

1. Jangan menggunakan spasi dan spesial karakter dalam pembuatan nama

database

2. Jangan menggunkan angka pada awal pembuatan nama database

6

Page 8: Diktat Prak Data Base III SQL - Php (Lab i&IV)

BAB IV

SUB BAHASA STRUCTURE QUERY LANGUAGE (SQL)

Secara umum bahasa SQL dibagi menjadi tiga bagian:

1. DDL (Data Definition Language) yang digunakan untuk membangun

objek-objek dalam database seperti tabel.

2. DML (Data Manipulation Language) yang digunakan dalam

memanipulasi suatu tabel didalam database (menambah, mengedit,

mencari dan menghapus)

3. DCL (Data Control Language) yang digunakan untuk menangani

masalah keamanan dalam database server

Ketiga komponen ini bisa digunakan setelah suatu database di aktifkan.

1. DDL (Data Definition Language)

Terdiri atas : Create, Alter, Drop

Membuat Tabel

Setelah menciptakan suatu database dan mengaktifkan database tersebut maka

dapat dilakukan perintah pembuatan tabel

BU : CREATE TABLE Nm_Tabel (Nm_Kolom1 tipe data([ukuran]),nm_kolom2

tipe data ([ukuran])….. nm_kolom_n tipe data ([ukuran]));

Untuk bentuk tipe data yang digunakan anda dapat merujuk ke manual MySQL

atau mengunjungi manual di http://mysql.com.

Contoh :

create table berita (tanggal date, berita text);

7

Page 9: Diktat Prak Data Base III SQL - Php (Lab i&IV)

Melihat Struktur Tabel

Perintah describe nama_tabel; digunakan untuk melihat struktur tabel yang telah

dibuat. Namun sebelumnya, sudah berada pada database yang mempunyai

tabel tersebut.

Contoh :

mysql>describe produk;+-------+--------------+------+------+----------+------+| Field | Type | Null | Key | Default | |+-------+--------------+------+------+----------+------+| nama | varchar(25) | YES | | NULL | || harga | bigint | YES | | NULL | |+-------+--------------+------+------+----------+------+

2 ROWS IN SET (0.10 SEC)

Mengubah Struktur Tabel

Ada empat macam perubahan dalam struktur tabel, yaitu :

a. Perubahan nama field/kolom

Perubahan yang terjadi hanya pada nama field/kolom saja. Nama field/kolom

lama diganti dengan nama field/kolom yang baru.

Struktur penulisan :

alter table nama_tabel change nama_field_lama nama_field_baru tipe_data;

Contoh :

mysql>alter table toko change buku nama varchar(25);

b. Perubahan tipe data

Perubahan yang terjadi hanya pada tipe data yang digunakan oleh field/kolom

tertentu. Tipe data baru langsung disebutkan dibelakang nama field/kolom,

tanpa harus menyebutkan tipe data lama.

8

Page 10: Diktat Prak Data Base III SQL - Php (Lab i&IV)

Struktur penulisan :

Alter table nama_tabel modify nama_field tipe_data_baru;

Contoh :

mysql>alter table toko modify nama longtext;

c. Penambahan field

Struktur tabel akan berubah dengan bertambahnya field/kolom baru

didalamnya.

Struktur penulisan :

Alter table nama_tabel add nama_field tipe_data_baru;

Contoh :

mysql>alter table supermarket add stok int;

d. Penghapusan field

Struktur tabel mengalami perubahan akibat berkurangnya field/kolom

tertentu.

Struktur penulisan :

Alter table nama_tabel drop column nama_field;

Contoh :

mysql>alter table supermarket drop column stok;

Mengganti Nama Tabel

Penggantian nama tabel meliputi nama tabel itu sendiri.

Struktur penulisan :

Alter table nama_tabel_lama rename nama_tabel_baru;

Contoh :

mysql>alter table toko rename supermarket;

9

Page 11: Diktat Prak Data Base III SQL - Php (Lab i&IV)

Menghapus Tabel

Tabel dapat saja dihapus karena sudah tidak dibutuhkan lagi,atau terjadi kesalahan.

Struktur penulisan :

Drop table nama_tabel;

Contoh :

mysql>drop table supermarket;

KEKANGAN NILAI PADA DATA

Menentukan Kunci Primer (Primary Key)

Secara sederhan kunci primer digunakan untuk menyatakan bahwa suatu nilai tidak boleh

ada yang sama dan nilai tersebut harus diisi (NOT NULL).

Penetapan kunci primer dibuat pada saat pembuatan tabel:

mysql> create table siswa (NIM varchar(10) not null primary key,Namavarchar(25),SEX char(1),Alamat varchar(35));

Memberikan nilai bawaan (Default)

Jika tidak memberikan suatu nilai dalam kolom tertentu maka oleh system secara otomatis

diisi dengan nilai NULL. Oleh karena itu pada saat perancangan table field tersebut

defaultnya diisi dengan tetapan yang dikehendaki.

mysql> create table MatKul (KD_MK varchar(10) not null primarykey,nama_MK varchar(20),SKS int default 0);

10

Page 12: Diktat Prak Data Base III SQL - Php (Lab i&IV)

2. DML (Data Manipulation Language)

Terdiri dari SELECT, INSERT, UPDATE dan DELETE

Memasukkan Data (Insert)

Ada dua cara yang dapat digunakan untuk memasukkan data kedalam tabel, yaitu:

1. insert into nama_tabel values (isi_field_2,…,isi_field_n);

Contoh :

insert into produk values (‘SG 100’,2500);

2. insert into nama_tabel (nama_field_1, nama_field_2,…,nama_ field_n) values

(isi_field_1, isi_field_2,…,isi_field_n);

Contoh :

Insert into produk (kode,harga) values (‘SG 100’,25000);

Menampilkan Data (Select)

Berikut ini perintah untuk menampilkan data :

Struktur Penulisan :

Select [fields] from [nama_tabel]

Where [kondisi]

Order by [nama_field]

Group by [nama_field] asc / desc

Contoh :

Select kode from produk;

Select kode,harga from produk;

Select * from produk;

Note :

11

Page 13: Diktat Prak Data Base III SQL - Php (Lab i&IV)

Setelah penulisan select, [fields] dapat diganti dengan menyebutkan satu nama

field saja atau beberapa field sekaligus yang dipisah dengan tanda koma (,). Penulisan

field-field tersebut digunakan untuk memunculkan data dari kolom mana saja yang akan

ditampilkan. Jika seluruh kolom akan ditampilkan dapat menggunakan tanda asterik (*)

untuk mewakilinya.

Mengurutkan Tampilan

Klausa ORDER BY digunakan untuk mengurutkan hasil. Jika menginginkan data

ditampilkan urut berdasarkan pada urutan terkecil ke besar, dapat menggunakan ASC

(ascending). Sedangkan untuk mengurutkan data berdasarkan yang terbesar ke kecil,

dapat menggunakan DESC (descending).

mysql> select * from siswa order by NIM desc;+------------+---------------+---------------+------+| NIM | Nama | alamat | Sex |+------------+---------------+---------------+------+| 01.05.2004 | Leon Auman | Jl. depok | P || 01.05.2003 | Annisa Akhwat | Jl. Mawar | W || 01.05.2002 | Abu Bakar | Jl. Tunjung | P || 01.05.2001 | Laksmi dewi | Jl. Balapan | W || 01.05.2000 | Budi R | Jl. Kaliurang | P |+------------+---------------+---------------+------+5 rows in set (0.11 sec)

Mengubah Data (Update)

Jika data sudah kadaluarsa, berikut perintah digunakan untuk merubah data.

Struktur penulisan :

Update nama_tabel set nama_field_1=isi_baru_1, nama_field_2=

isi_baru_2,…, nama_field_n=isi_baru_n

Where kriteria;

Contoh :

Update produk set harga=3000 where nama=’Sikat Gigi’;

12

Page 14: Diktat Prak Data Base III SQL - Php (Lab i&IV)

OPERATOR RELASIONAL

Operator yang digunakan yntuk perbandingan antara dua buah nilai. Jenis dari operator ini

adalah = , >, <, >=, <=, <>

mysql> select * from siswa where sex='P';+------------+------------+---------------+------+| NIM | Nama | alamat | Sex |+------------+------------+---------------+------+| 01.05.2000 | Budi R | Jl. Kaliurang | P || 01.05.2002 | Abu Bakar | Jl. Tunjung | P || 01.05.2004 | Leon Auman | Jl. depok | P |+------------+------------+---------------+------+

3 rows in set (0.06 sec)

Operator BETWEEN dan NOT BETWEEN

Operator between ini untuk menangani operasi “jangkauan”

mysql> select * from siswa where tgl_lhr between '1980-01-01' and '1982-12-29';+------------+---------------+---------------+------+------------+| NIM | Nama | alamat | Sex | Tgl_lhr |+------------+---------------+---------------+------+------------+| 01.05.2000 | Budi R | Jl. Kaliurang | P | 1982-03-17 || 01.05.2001 | Laksmi dewi | Jl. Balapan | W | 1982-10-21 || 01.05.2003 | Annisa Akhwat | Jl. Mawar | W | 1980-01-12 |+------------+---------------+---------------+------+------------+

Operator IN dan NOT IN

Operator IN digunakan untuk mencocokkan dengan salah satu yang ada pada suatu daftar

nilai. Sebagai contoh :

mysql> select nama from siswa where nim in ('01.05.2000','01.05.2004');+------------+| nama |+------------+| Budi R || Leon Auman |+------------+2 rows in set (0.00 sec)

Operator LIKE dan NOT LIKE

Operator LIKE atau NOT LIKE sangat bermanfaat dalam mencari suatu data. Operasi ini

digunakan dengan menyebutkan tanda wildcard berupa garis bawah (_) atau (%)

13

Page 15: Diktat Prak Data Base III SQL - Php (Lab i&IV)

<. Tanda garis bawah (_) berarti sebuah karakter apa saja. Contoh a_u cocok dengan

anu,aku,alu,abu dan tidak cocok untuk andu,ambu ataupun allu

<. Tanda % berarti cocok dengan kata apa saja dan berapapun panjangnya

contoh:

mysql> select nim,nama,alamat from siswa where nama like 'a%';+------------+---------------+-------------+| nim | nama | alamat |+------------+---------------+-------------+| 01.05.2002 | Abu Bakar | Jl. Tunjung || 01.05.2003 | Annisa Akhwat | Jl. Mawar |+------------+---------------+-------------+2 rows in set (0.00 sec)

FUNGSI AGREGAT

Fungsi Agregat KeteranganAVG Memperoleh nilai rata-rataCOUNT Menghitung cacah dataMAX Menghasilkan nilai terbesarMIN Menghasilkan nilai terkecilSUM Memperoleh penjumlahan data

Contoh :

mysql> select avg(nilai) from nilai;+------------+| avg(nilai) |+------------+| 63.0000 |+------------+1 row in set (0.05 sec)

mysql> select count(nama) from siswa;+-------------+| count(nama) |+-------------+| 5 |+-------------+1 row in set (0.00 sec)

mysql> select max(nilai),min(nilai) from nilai;+------------+------------+| max(nilai) | min(nilai) |+------------+------------+| 100 | 10 |+------------+------------+1 row in set (0.05 sec)

14

Page 16: Diktat Prak Data Base III SQL - Php (Lab i&IV)

mysql> select sum(nilai) from nilai;

+------------+| sum(nilai) |+------------+| 315 |+------------+1 row in set (0.05 sec)

Ekspresi Pada Query

Ekspresi pada query memungkinkan untuk mengubah judul kolom keluaran, melakukan

perhitungan pada kolom keluaran, dan mengubah tipe data keluaran.

- Memberi nama lain terhadap kolom keluaran

Untuk memberi nama lain terhadap suatu kolom keluaran dengan klausa AS.

mysql> select nim,nilai*10 as Nilai_MHS from nilai;+------------+-----------+| nim | Nilai_MHS |+------------+-----------+| 01.05.2000 | 900 || 01.05.2001 | 400 || 01.05.2002 | 750 || 01.05.2003 | 100 || 01.05.2004 | 1000 |+------------+-----------+5 rows in set (0.00 sec)

- Menambah teks dalam baris keluaran

mysql> select 'No Mahasiswa ',nim,' Nilainya ',nilai from nilai;+---------------+------------+------------+-------+| No Mahasiswa | nim | Nilainya | nilai |+---------------+------------+------------+-------+| No Mahasiswa | 01.05.2000 | Nilainya | 90 || No Mahasiswa | 01.05.2001 | Nilainya | 40 || No Mahasiswa | 01.05.2002 | Nilainya | 75 || No Mahasiswa | 01.05.2003 | Nilainya | 10 || No Mahasiswa | 01.05.2004 | Nilainya | 100 |+---------------+------------+------------+-------+

- Ekpresi berkondisi

BU : CASE nilai_ekspresi WHEN nilai_ekspresi THEN nilai_ekspresi

ELSE nilai_ekspresi END

15

Page 17: Diktat Prak Data Base III SQL - Php (Lab i&IV)

mysql> select nim,nama,case sex when 'P' then 'Pria' else 'Wanita'end as sex from siswa;+------------+---------------+--------+| nim | nama | sex |+------------+---------------+--------+| 01.05.2000 | Budi R | Pria || 01.05.2001 | Laksmi dewi | Wanita || 01.05.2002 | Abu Bakar | Pria || 01.05.2003 | Annisa Akhwat | Wanita || 01.05.2004 | Leon Auman | Pria |+------------+---------------+--------+5 rows in set (0.06 sec)

- Ekspresi tentang Waktu

Pernyataan berikut akan menampilkan identitas sisa yang tanggal lahirnya lebih

dari tanggal 29 desember 1980

mysql> select nim,nama,tgl_lhr from siswa where tgl_lhr>date '1980-12-29';+------------+-------------+------------+| nim | nama | tgl_lhr |+------------+-------------+------------+| 01.05.2000 | Budi R | 1982-03-17 || 01.05.2001 | Laksmi dewi | 1982-10-21 || 01.05.2004 | Leon Auman | 1983-01-19 |+------------+-------------+------------+3 rows in set (0.00 sec)

mysql> select time '23:12:00'-time '05:00:00'; +---------------------------------+ | time '23:12:00'-time '05:00:00' | +---------------------------------+ | 18 | +---------------------------------+ 1 row in set (0.06 sec)

- FUNGSI NILAI

CURRENT_DATE : Menghasilkan tanggal sekarang

CURRENT_TIME : Menghasilkan Waktu sekarang

mysql> select current_date as Tgl_Sekarang;+--------------+| Tgl_Sekarang |+--------------+| 2003-10-08 |+--------------+1 row in set (0.06 sec)

16

Page 18: Diktat Prak Data Base III SQL - Php (Lab i&IV)

mysql> select current_time as Waktu_Sekarang;+----------------+| Waktu_Sekarang |+----------------+| 06:45:14 |+----------------+1 row in set (0.06 sec)

QUERY ANTAR TABEL

Query yang akan dibahas pada bagian ini melibatkan lebih dari satu tabel

+---------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+---------+-------------+------+-----+---------+-------+| NIM | varchar(10) | | PRI | | || Nama | varchar(25) | YES | | NULL | || alamat | varchar(35) | YES | | NULL | || Sex | char(1) | YES | | P | || Tgl_lhr | date | YES | | NULL | |+---------+-------------+------+-----+---------+-------+

Struktur dari table Siswa

+------------+---------------+---------------+------+------------+| NIM | Nama | alamat | Sex | Tgl_lhr |+------------+---------------+---------------+------+------------+| 01.05.2000 | Budi R | Jl. Kaliurang | P | 1982-03-17 || 01.05.2001 | Laksmi dewi | Jl. Balapan | W | 1982-10-21 || 01.05.2002 | Abu Bakar | Jl. Tunjung | P | 1977-12-29 || 01.05.2003 | Annisa Akhwat | Jl. Mawar | W | 1980-01-12 || 01.05.2004 | Leon Auman | Jl. depok | P | 1983-01-19 |+------------+---------------+---------------+------+------------+

Isi dari table Siswa

+-------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-------+-------------+------+-----+---------+-------+| NIM | varchar(10) | | PRI | | || Nilai | int(11) | YES | | 0 | |+-------+-------------+------+-----+---------+-------+

Struktur dari table Siswa

+------------+-------+| NIM | Nilai |+------------+-------+| 01.05.2000 | 90 || 01.05.2001 | 40 || 01.05.2002 | 75 || 01.05.2003 | 10 || 01.05.2004 | 100 |+------------+-------+

Isi dari table Siswa

17

Page 19: Diktat Prak Data Base III SQL - Php (Lab i&IV)

MySQL mempunyai kemampuan untuk menggabungkan dua tabel atau lebih gua

mendapatkan informasi yang diinginkan. Proses yang dilakukan dengan nama JOIN.

Dalam penggabungan dari beberapa tabel (join) ada beberapa hal yang perlu

diperhatian, antara lain :

1. Setiap kolom disebutkan dengan bentuk,

2. tabel-tabel yang dilibatkan dalam queri perlu disebutkan dalam Klausa FORM

dengan antar tabel dipisah oleh koma.

3. Kondisi dalam WHERE menetukan macam join yang terbentuk

Contoh:

mysql> select siswa.nim,nama,nilai from nilai,siswa wherenilai.nim=siswa.nim;+------------+---------------+-------+| nim | nama | nilai |+------------+---------------+-------+| 01.05.2000 | Budi R | 90 || 01.05.2001 | Laksmi dewi | 40 || 01.05.2002 | Abu Bakar | 75 || 01.05.2003 | Annisa Akhwat | 10 || 01.05.2004 | Leon Auman | 100 |+------------+---------------+-------+

Macam-macam bentuk Penggabungan (Join)

1. CROSS JOIN

Cross Join merupakan bentuk penggabungan yang paling sederhana, tanpa ada

kondisi.

BU : SELECT field1,field2 FROM Tabel1 CROSS JOIN tabel2;

2. INNER JOIN

Hampir sama dengan cross join tetapi diikuti dengan kondisi

BU : SELECT Field FROM tabel1 INNER JOIN tabel 2 ON kondisi

18

Page 20: Diktat Prak Data Base III SQL - Php (Lab i&IV)

mysql> select * from siswa inner join nilai on siswa.nim=nilai.nim;+------------+---------------+---------------+------+------------+------------+-------+| NIM | Nama | alamat | Sex | Tgl_lhr | NIM |Nilai |+------------+---------------+---------------+------+------------+------------+-------+| 01.05.2000 | Budi R | Jl. Kaliurang | P | 1982-03-17 | 01.05.2000 | 90 || 01.05.2001 | Laksmi dewi | Jl. Balapan | W | 1982-10-21 | 01.05.2001 | 40 || 01.05.2002 | Abu Bakar | Jl. Tunjung | P | 1977-12-29 | 01.05.2002 | 75 || 01.05.2003 | Annisa Akhwat | Jl. Mawar | W | 1980-01-12 | 01.05.2003 | 10 || 01.05.2004 | Leon Auman | Jl. depok | P | 1983-01-19 | 01.05.2004 | 100 |+------------+---------------+---------------+------+------------+------------+-------+

3. STRAIGHT JOIN

Straight Join identik dengan inner join tetapi tidak mengenal klausa where

BU : SELECT field FROM Tabel1 SATRIGHT JOIN tabel2

4. LEFT (OUTER) JOIN

Akan menampilkan tabel disebelah kanannya (dalam hal ini tabel nilai) dengan

NULL jika tidak terdapat hubungan antara tabel disebelah kiri (dalam hal ini

tabel siswa)

BU : SELECT field FROM tabel1 LEFT JOIN tabel2 ON kondisi

Contoh

mysql> select siswa.nim,nama,nilai from siswa left join nilai onsiswa.nim=nilai.nim;+------------+---------------+-------+| nim | nama | nilai |+------------+---------------+-------+| 01.05.2000 | Budi R | 90 || 01.05.2001 | Laksmi dewi | 40 || 01.05.2002 | Abu Bakar | 75 || 01.05.2003 | Annisa Akhwat | 10 || 01.05.2004 | Leon Auman | 100 |+------------+---------------+-------+

5. RIGHT/OUTER JOIN

Kebalikan dari LEFT JOIN, jika idak menemukan hubungan dengan tabel

disebelah kiri maka akan ditampilkan NULL

BU : SELECT field FROM tabel1 RIGHT JOIN tabel2 ON kondisi

19

Page 21: Diktat Prak Data Base III SQL - Php (Lab i&IV)

Contoh

mysql> select siswa.nim,nama,nilai from siswa right join nilaion siswa.nim=nilai.nim;+------------+---------------+-------+| nim | nama | nilai |+------------+---------------+-------+| 01.05.2000 | Budi R | 90 || 01.05.2001 | Laksmi dewi | 40 || 01.05.2002 | Abu Bakar | 75 || 01.05.2003 | Annisa Akhwat | 10 || 01.05.2004 | Leon Auman | 100 || NULL | NULL | 68 |+------------+---------------+-------+6 rows in set (0.06 sec)

Menghapus Data (Delete)

Jika terdapat kesalahan data atau data sudah tidak digunakan lagi, hapus dengan

perintah delete.

Struktur penulisan :

Delete from nama_tabel where kriteria;

Contoh :

Delete from produk where nama=’Sikat Gigi’,

20

Page 22: Diktat Prak Data Base III SQL - Php (Lab i&IV)

USER DAN HAK AKSES USER

Sebagai seorang adminitrator database user ROOT mempunyai hak dalam membuat

user dan memberikan hak-hak akses terhapad user baru tersebut.

Adapun struktur dari Table User adalah sebagai berikut :

Field Type NULL Key Default ExtraHost char(60) PRIUser char(16) PRIPassword char(16)Select_priv enum('N','Y') NInsert_priv enum('N','Y') NUpdate_priv enum('N','Y') NDelete_priv enum('N','Y') NCreate_priv enum('N','Y') NDrop_priv enum('N','Y') NReload_priv enum('N','Y') NShutdown_priv enum('N','Y') NProcess_priv enum('N','Y') NFile_priv enum('N','Y') NGrant_priv enum('N','Y') N

Untuk Melihat struktur dari table user

mysql>describe user;

Perintah membuat User Baru

Nama User = User1, Host di Local dan password=user1

mysql> use mysql;Database changedmysql> insert into user (host,user,password) values (‘Localhost','User1',password('user'));Query OK, 1 row affected (0.39 sec)mysql> flush privileges;Query OK, 0 rows affected (0.22 sec)

Keterangan :

Host : Localhost – user hanya dapat mengakses MySQL hanya di komputer

local / server saja

IP Address – User hanya dapat mengakses MySQL di komputer dengan

alamat IP yang telah didefinisikan

21

Page 23: Diktat Prak Data Base III SQL - Php (Lab i&IV)

% - User dapat mengakses MySQL dari komputer manapun

User : Nama atau ID yang digunakan untuk Login

Password : Digunakan untuk keamanan server database

Dan Password di enkripsi untuk keamanan user.

Flush Privileges : Wajib diberikan untuk menetapkan user dalam server dan

digunakan selain pembuatan user baru juga dalam mengedit user maupun

menghapus user dari server

Setiap User mempunyai 14 Hak Akses, yaitu :

Nama Field Type Default KeteranganSelect_priv ('N','Y') N Select (Table)Insert_priv ('N','Y') N Insert (Table)Update_priv ('N','Y') N Update (Table)Delete_priv ('N','Y') N Delete (Table)Create_priv ('N','Y') N Create (Database,Table,index)Drop_priv ('N','Y') N Drop (database,table)Reload_priv ('N','Y') N Reload (Server Administration)Shutdown_priv ('N','Y') N Shutdown (Server dministration)Process_priv ('N','Y') N Prosess (server administration)File_priv ('N','Y') N FILE (Akses File di server)Grant_priv ('N','Y') N Grant (Database,table)

References_Priv(‘N’, ’Y

’)N

References (Database,Table)

Index_Priv ('N','Y') N Index (Table)Alter_Priv ('N','Y') N Alter (Table)

➢ Pemberian Hak Akses pada saat pembuatan user

mysql> insert into user (host,user,password,select_priv) values('Localhost','User1',password('user1'),'Y');Query OK, 1 row affected (0.05 sec)mysql> flush privileges;

Query OK, 0 rows affected (0.05 sec)

➢ Melihat daftar user yang terdaftar di server

mysql> select * from User;

22

Page 24: Diktat Prak Data Base III SQL - Php (Lab i&IV)

➢ Mengubah nama host dari localhost ke no IP 192.168.1.1 dari user1

mysql> update user set host='192.168.1.1' where user='User1';Query OK, 1 row affected (0.05 sec)Rows matched: 1 Changed: 1 Warnings: 0mysql> flush privileges;Query OK, 0 rows affected (0.05 sec)

➢ Mengubah Nama user dari User1 ke User2

mysql> update user set user='User2' where user='User1';Query OK, 1 row affected (0.05 sec)Rows matched: 1 Changed: 1 Warnings: 0mysql> flush privileges;Query OK, 0 rows affected (0.05 sec)

➢ Mengubah Password dari User2

mysql> update user set password=password('User2') whereuser='User2';Query OK, 1 row affected (0.00 sec)Rows matched: 1 Changed: 1 Warnings: 0mysql> flush privileges;Query OK, 0 rows affected (0.06 sec)

Mengubah dan menambah hak akses dari user2

mysql> update user set Insert_Priv='Y' where user='User2';Query OK, 1 row affected (0.06 sec)Rows matched: 1 Changed: 1 Warnings: 0mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)

Menghapus User2 dari Server

mysql> delete from user where user='User2';Query OK, 1 row affected (0.05 sec)mysql> flush privileges;Query OK, 0 rows affected (0.05 sec)

23

Page 25: Diktat Prak Data Base III SQL - Php (Lab i&IV)

3. DCL (Data Control Language)

Terdiri atas (GRANT dan REVOKE)

DCL merupakan kontrol keamanan terhadap database dan tabelnya., yaitu

mengatur hak akses dan cara mencabut hak akses, agar tabel-tabel tertentu hanya bisa

diakses oleh orang-orang yang dikehendaki.

a. GRANT

Grant digunakan untuk mengizinkan seorang user mengakses tabel dalam

database tertentu. Pemberian hak akses ini dengan clausa GRANT.

BU : GRANT hak_akses ON Nm_Tabel TO Pemakai

Keterangan :

Hak Akses adalah hak-hak yang diberikan server administrator kepada user,

antara lain : ALTER, CREATE, DELETE, DROP, UPDATE, INSERT, FILE,

PROCESS, RELOAD, REFERENCES,LOAD, SHUTDOWN DAN USAGE

Nm_Tabel adalah nama-nama tabel yang akan akan diakses atau pemberian

hak kepada user.

Pemakai adalah nama user yang akan diberi hak, dengan ketentuan nama

pemakai diikuti nama dari host diawalai tanda @

Contoh :

Dberikan semua hak akses semua tabel dalam database praktikum terhadap

user User1 di localhost

mysql> grant all privileges on praktikum.* to User1@localhost;Query OK, 0 rows affected (0.06 sec)mysql> flush privileges;Query OK, 0 rows affected (0.11 sec)

24

Page 26: Diktat Prak Data Base III SQL - Php (Lab i&IV)

Dberikan hak akses insert dan select dalam database praktikum dengan tabel

siswa terhadap user User1 di localhost

mysql> grant select,insert on praktikum.siswa toUser1@localhost;Query OK, 0 rows affected (0.05 sec)mysql> flush privileges;Query OK, 0 rows affected (0.06 sec)

b. REVOKE

REVOKE digunakan untuk Mencabut hak akses seorang user mengakses tabel

dalam database tertentu. Pencabutan hak akses ini dengan clausa REVOKE.

BU : REVOKE hak_akses ON Nm_Tabel FROM Pemakai

Keterangan :

Hak Akses adalah hak-hak yang diberikan server administrator kepada user,

antara lain : ALTER, CREATE, DELETE, DROP, UPDATE, INSERT, FILE,

PROCESS, RELOAD, REFERENCES,LOAD, SHUTDOWN DAN USAGE

Nm_Tabel adalah nama-nama tabel yang akan akan diakses atau pemberian

hak kepada user.

Pemakai adalah nama user yang akan diberi hak, dengan ketentuan nama

pemakai diikuti nama dari host diawalai tanda @

Contoh :

Dicabut semua hak akses semua tabel dalam database praktikum terhadap user

User1 di localhost

mysql> REVOKE all privileges on praktikum.* FromUser1@localhost;Query OK, 0 rows affected (0.06 sec)mysql> flush privileges;Query OK, 0 rows affected (0.11 sec)

25

Page 27: Diktat Prak Data Base III SQL - Php (Lab i&IV)

Dicabut hak akses insert dan select dalam database praktikum dengan tabel

siswa terhadap user User1 di localhost

mysql> REVOKE select,insert on praktikum.siswa FROMUser1@localhost;Query OK, 0 rows affected (0.05 sec)mysql> flush privileges;Query OK, 0 rows affected (0.06 sec)

26

Page 28: Diktat Prak Data Base III SQL - Php (Lab i&IV)

HTMLUntuk penulisan HTML dilakukan dengan text editor yang ada, misalnya Emacs, GNU vi, vi, Kwritedan lain-lain. Untuk melihat hasil gunakan browser yang ada seperti Konqueror, Mozzila, dansimpan file tersebut dengan exstensi html atau htm, misalnya coba.html

Cara penulisanPenulisan HTML dilakukan dengan diawali <kodehtml> dan diakhiri </kodehtml>.Untuk menulis tebal html menggunakan kode <b>, sehingga jika anda ingin menebalkan kata “inisaya akan tebalkan” maka :

source HTML : <b>ini saya akan tebalkan</b> Hasil : ini saya akan tebalkan

Pada saat pembuatan source html (pada text editor), menekan enter dan spasi lebih dari satu akantidak akan berpengaruh terhadap tampilan.

Source HTML (pada texteditor) :

Ini saya gunakan spasi sampai disini

pake enter lagi

Hasil pada browser :

Ini saya gunakan spasi sampai disini pake enter lagi

Terlihat tidak ada pengaruh pada hasil jika menekan spasi dan enter pada texteditor., HTML punyacara sendiri untuk melakukan jarak dengan enter dan spasi, kode enter pada html adalah <br> danspasi adalah &nbsp;.Jika ingin menggunakan jarak maka seharusnya lakukan dengan :

Source HTML (pada texteditor) :

Ini saya gunakan spasi &nbsp;&nbsp;&nbsp;&nbsp; sampai disini

<br><br><br><br><br><br><br>pake enter lagi

Hasil pada browser :

Ini saya gunakan spasi sampai disini

pake enter lagi

Dengan keadaan tersebut dapat kita menyiumpulkan bahwa tidak semua format penulisan HTML

harus dengan diawali dengan <kodehtml> dan diakhiri dgn </kodehtml>, jika kode yang tidak mem-

block sesuatu karakter atau area maka kita tidak perlu meng-akhiri dengan </kodehtml>.Penulisan HTML juga menggunakan prameter-parameter tambahan, yakni mengkondisikan

sebuah block dengan bentuk bentuk yang diatur, misalnya untuk membuat tulisan diposisikandigunakan kode <div> dan diakhiri</div>. Kode tersebut belum mempunyai parameter tambahanartinya belum jelas seuatu block diposisikan dimana (kanan/kiri/tengah), untuk itu kode <div> harusditambahkan parameter yakni align.

27

Page 29: Diktat Prak Data Base III SQL - Php (Lab i&IV)

Source HTML : <div align=center>Saya tengah</div>Hasil :

Saya tengah

Source HTML : <div align=right>Saya kanan</div>Hasil :

Saya kanan

Begitu pula untuk left dan justify. Beberapa parameter pada kode html mempunyai parameter lebih dari satu, berikut kita lihat contohmemasukan gambar dengan parameter lebih dari satu :

<img src="/home/data/pics/logosurat.jpg" width=148 height=185 border=2 > hasill :

Memasukan Link

<a href=/home/data/pics/logosurat.jpg>klik disini untuk lihat gambarasli</a><br>

<a href=http://www.xxx.cim/kel_stu_lix/index.php>Link menuju halaman lain(internet)</a><br>

<a href=/home/data/php/index.php>Link menuju halaman lain juga (local)</a><br>

hasil :

Membuat Tabel

Dalam sebuah block table setidaknya harus terdiri dari <table>, <tr> dan <td>.

<table> mendefenisiskan mulai membuat table<tr> membuat table rows (baris table)<td> membuat table data (isi dari setiap tr)

Contoh:

28

Page 30: Diktat Prak Data Base III SQL - Php (Lab i&IV)

<table border=1 width=300 bgcolor=#C2C2C2><tr>

<td>Kolom satu dengan data satu</td></tr>

</table>

Contoh 2:<table border=1 width=300 bgcolor=#FFFCCC>

<tr><td>Baris 1 data pertama (1)</td><td>Baris 1 data kedua (2)</td>

</tr></table>

hasill :

Beberapa from pada HTML

Deklarasi form pada html dimulai dengan <form> dan diakhiri dengan </form>. Beberapa form padahtml yakni :

J e n i s K o d e H a s i l

text <input type=text>

password <input type=password>

textarea <textarea cols=20rows=5>isinya</textarea>

submit <input type=submitvalue=Kirim>

reset <input type=reset>

Berikut cara penulisan untuk mendeklarasikan sebuah form dengan beberapa paremeter standar. Untuk membuat sebuah form seperti di atas, kita harus mendeklasikannya layaknya saat kitamendeklarasikan sebuah table.

29

Page 31: Diktat Prak Data Base III SQL - Php (Lab i&IV)

<form method=post action=file_proses.php >Masukan nama anda :<br><input type=text name=nam_mhs><br>Jenis kelamin :<br><input type=radio name=a value=1>Laki-laki<br> <input type=radio name=c value=2>Perempuan<br>Zodiak :<br>

<select name=b><option value=1>Sagitarius</option><option value=2>Leo</option><option value=3>Aquarius</option></select> <br>

Alamat :<br><textarea name=alamat cols=20 rows=5></textarea><br><input type=submit name=pro value=Proses><input type=reset ></form>Penjelasan :

– untuk membuat form ber-type apapun, harus dimulai dengan <form> dan diakhiridengan </form>

– pada <form> paling sedikir harus memiliki method dan action– method pada form mendeklarasikan bentuk pengiriman data (post/get) dan action

menyatakan bahwa block form ini akan diproses oleh action atau file pada action(mis : file_proses.php).

– “ Type” pada “input” menyatakan form yang dibentuk dalam bentuk apa (text /password /radio/checkbox dan lain sebagainya)

– “ name “ pada setiap jenis form menyatakan nama dari setiap form tersebut– value adalah nilai default yang diberikan pada form tersebut, sehingga apapun

yang dipilih atau diisi, nilai yang dimiliki tetap pada nilai value. Ini hanya berlakupada <option>, <radio> dan <chackbox>, sementara untuk yang lainnya sepertitext dan textarea nilai akan berubah jika pengguna mengisi nilai baru pada tempattsb. Kita akan banyak memahami maksut nilai tersebut jika kita telah melakukanproses yang akan kita lakukan dengan php nantinya.

– Cols dan rows pada <textarea> mendeklarasikan lebar dan panjang area yangdibentuk

– value pada <input type=submit value=Proses> mendeklarasikan tulisan yang akantertulis pada tombol.

– Jika anda menulis source diatas dengan benar maka akan tampil:

30

Page 32: Diktat Prak Data Base III SQL - Php (Lab i&IV)

PHP

Untuk menjalalankan kode PHP kita harus menjalankan web server terlebih dahulu, dalam hal iniadalah Apache.

Beberapa hal penting :

– DocumentRoot : c:\\apache\htdocs\ – http:// : http://localhost atau http://127.0.0.1, bagi anda yang

mempunyai alamat IP (bukan loopback) gunakan http://alamat_ip atauhttp://nama_host.

– File php.ini : c:\\apache\php\php.ini – Membuka service : c:\\apache\apache– rPHP case sensitive.

Ada beberapa code yang dapat ditulis untuk menandakan awal dan mengakhiri dari kode phpnamun untuk saat ini kita sepakati saja dengan kode sebagai berikut :

<?php

//ISI PROGRAM PHP

?>

Latihan 1 (echo/print)

Buatlah sebuah file dengan nama belajar.php dan simpan di c:\\apache\htdocs\ (selanjutnyac:\\apache\htdocs\ kita sebut dengan documentroot).

Isi file tersebut dengan code sebagai berikut:

<?php echo “ Kenapa harus halo dunia ”;?>

Silahkan kunjungi http://localhost/belajar.php,

Latihan 2 (echo+html)

Modifikasi file tersebut dengan menambahkan code html seperti berikut :

31

Page 33: Diktat Prak Data Base III SQL - Php (Lab i&IV)

<?php echo “ <b>Kenapa harus halo dunia </b> ” ;?>

Atau :

<?php echo“ <font size=+4 color=#00FFLP face=vendana>Kenapa harus halo dunia</font> ” ;?>

Latihan 3 (variabel)

Penulisan sebuah variabel ditulis dengan diawali dengan ($) dan diikuti dengan nama variabel.contoh :

Integer atau bilangan berkoma : $a = 1; atau $a = 1.25;String : $a = “Ini string”;

Berikut contoh penulisan varibel Integer dan String:

<? $a = 1; $A = 2; $c = $a+$A; $d = "Hasilnya adalah :" ; echo "$d $c"; ?>

Hasil pada browser dari program tersebut adalah :

Hasilnya adalah : 3

Struktur Kontrol

Ada banyak struktur kontrol yang dapat digunakan oleh PHP layaknya bahasa pemrogramanlainnya, namun disini saya hanya sedikit memberi contoh untuk if+else+while dan for saja karenakeempat struktur kontrol inilah yang sering digunakan, sementara untuk lainnya (fungsi 2x dsb)Insyaallah akan disambung pada tulisan berikutnya (jika banyak yang berminat)

If+else

<?$a=10;if($a>5)

{echo “PETAMA”;

}else

{echo”KeDuA”;

}?>

32

Page 34: Diktat Prak Data Base III SQL - Php (Lab i&IV)

Ubahlah nilai variabel $a (misalnya 1 atau 2 atau 4 atau 6 , lalu jalankan para browser dan lihatperbedaannya.

While

<?

$x=1;

while($x<10)

{

echo “<b>sudah $x kali</b><br>”

$x=$x+1;

}

?>

Hasil dari source tersebut adalah :

Kirta dapat juga melakukan :

<?$x=1;echo "<table border=1 bordercolor=#2DA5D4>";while($x<10)//jangan echo table di sini, tapi sebelum while { echo "<tr><td bgcolor=#C5C5D4>Data $x</td></tr>"; $x=$x+1; }echo "</table>";?>

Hasil :

33

Page 35: Diktat Prak Data Base III SQL - Php (Lab i&IV)

for

Source : [nilai awal] [nilai akhir] [lakukan penambahan]<?

for($a=1;$a<=10;$a++)

{

echo "Berulang sebanyak $a kali<br>";

}

?>

Hasil :

Sebenarnya penggunaan struktur kontrol sama seperi kita melakukan pada bahasa pemrogramanlainnya, hannya saja disini kita bisa mem-bubuinya dengan html.Untuk struktur kontrtrol yang lain, mungkin anda bisa membaca manual php atau referensi lainnya.

34

Page 36: Diktat Prak Data Base III SQL - Php (Lab i&IV)

MySQL dan PHP

Koneksi php dgn mysql

<?$a = mysql_connect('xxxxx.org','root','xxxxxxxxx'); mysql_select_db('latihan',$a);

?>

Pejelasan:• mysql_connect adalah fungsi php untuk melakukan koneksi ke mysql• xxxxx.org adalah hostname komputer yang digunakan atau dapat pula diisi dengan IP komputer

anda, misalnya 10.23.0.4• xxxxxxxxx adalah password mysql yang anda punya. Biasanya pada instalasi awal mysql tidak

diberi password, sehingga bisa ditulis dengan ' ' (dikosongkan) saja.• Root adalah user name pada data base mysql anda, ubah jika perlu• mysql_select_db adalah fungsi yang digunakan untuk mendeklarasikan nama database yang

akan digunakan, terlihat dalam bentuk ini nama database yang digunakan adalah latihan• INGAT : SETIAP FILE YANG DIDALAMNYA ADA PERINTAH QUERY KE MYSQL MAKA FILE

TERSEBUT HARUS DIDAHULUI SCRIPT KONEKSI KE MYSQL (SEPERTI DI ATAS)• pelajari ttg include dan require jika ingin ingin mempermudah proses koneksi

Jika script di atas dijalankan, maka tidak akan menghasilkan output apapun, jikapun ada itu adalahbukti ketidak berhasilan koneksi yang berupa lampiran error atau warning. Jadi pastikan denganmenulis script di atas dengan menghasilkan (pada browser) tidak ada apa-apa (halaman kosong).

35

Page 37: Diktat Prak Data Base III SQL - Php (Lab i&IV)

Menampilkan data

Buatlah sebuah database pada MySQL dengan nama latihan dan buatlah sebuah tabel :+-------+-----------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-------+-----------+------+-----+---------+-------+| no | int(3) | | PRI | 0 | || nama | char(254) | | | | |+-------+-----------+------+-----+---------+-------+2 rows in set (0.03 sec)

Kemudian isilah tabel tersebut sesuka anda. Buatlah file dengan nama tampilkandata.php (simpanpada documentRoot) :

<?

$a = mysql_connect('xxxxx.org','root','xxxxxxxxx'); mysql_select_db('latihan',$a);

$perintah = mysql_query(“select no,nama from contoh2”);

while($teruskan = mysql_fetch_array($perintah)){ echo “$teruskan[no]”; echo “$teruskan[nama]”;}

?>

Jika penulisan benar maka anda dapat melihat hasil di browser anda.

dan yang terjadi pada mysql adalah :

mysql> select no,nama from contoh2;+------+---------------------+| no | nama |+------+---------------------+| 1 | Kelompok Studi McOS || 2 | KPLI Jakarta || 3 | KPLI Jogja || 4 | Bosnia || 5 | Argentina || 6 | Malaysia |+------+---------------------+6 rows in set (0.03 sec)

36

Page 38: Diktat Prak Data Base III SQL - Php (Lab i&IV)

Memasukan data

buat sebuh file dengan nama masukandata.php :

<?

$a = mysql_connect('xxxx.org','root','xxxxxxxxx'); mysql_select_db('latihan',$a);

// jika tidak ada nilai dengan nama varibel $kirim

if(!$kirim){ // $PHP_SELF mengartikan dilakukan oleh file ini sendiri echo “<form method=post action=$PHP_SELF> No : <br> <input type=text name=nomor ><br> Nama:<br> <input type=text name=nm><br> <input type=submit name=kirim><input type=reset value=clear> </form>”;}else{ mysql_query(“insert into contoh2 values('$nomor','$nm'); echo “data telah dimasukan <a href=tampilkandata.php > [ lihat hasil ] </a>”;}?>

Jika source disalin dengan benar maka akan tampil :

Menghapus data

perhatikan source berikut (pengembangan dari tampilkandata.php). Buatlah sebuah file dengannama hapusdata.php :

37

Page 39: Diktat Prak Data Base III SQL - Php (Lab i&IV)

<?

$a = mysql_connect('xxxxxxx.org','root','xxxxxxxxx'); mysql_select_db('latihan',$a);

$perintah = mysql_query(“select no,nama from contoh2”);

while($teruskan = mysql_fetch_array($perintah)){ echo “$teruskan[no]”; echo “$teruskan[nama]”; echo “<a href=dohapus.php?nilai=$teruskan[no]>[ delete ] </a> “;}?>

Lalu buat sebuah file lagi dengan nama dohapus.php<?$a = mysql_connect('mauladi.org','root','xxxxxxxxx'); mysql_select_db('latihan',$a);mysql_query(“delete from contoh2 where no='$nilai' “);echo “data telah dihapus <a href=hapusdata.php>[ lihat data ]</a>”;

?>

Yang terjadi Pada mysql :

mysql> select no,nama from contoh2;+------+--------------+| no | nama |+------+--------------+| 2 | KPLI Jakarta || 3 | KPLI Jogja || 4 | Bosnia || 5 | Argentina || 6 | Malaysia |+------+--------------+5 rows in set (0.16 sec)

mysql> delete from contoh2 where no='3';Query OK, 1 row affected (0.19 sec)

38

Page 40: Diktat Prak Data Base III SQL - Php (Lab i&IV)

Mencari data

<?$a = mysql_connect('mauladi.org','root','xxxxxxxxx'); mysql_select_db('latihan',$a);

if (!$cari){ echo “ <form method=post action=$PHP_SELF> Find : <input type=text name=nilainya > <input type=submit name=cari > “;}else{$perintah= mysql_query(“select nama from contoh2 where nama like '%$nilainya%' “);

while ($hasil = mysql_fetch_array($perintah)) { echo “$hasil[nama]<br>”; }?>

Ada banyak bentuk yang dapat kita oleh dengan form-form html namun setidaknya contoh-contohdan sedikit penjelasan ini dapat menjadi sebuah gambaran singkat tentang pengolahan data yangdilakukan dengan php, mysql dan html. Kami menyadari tulisan ini tidak begitu lengkap untuk menjelaskan semua hal yang dapat dilakukandengan php,mysql atau html bahkan mungkin tidak dapat memuaskan, namun setidaknya ini adalahsebuah langkah awal dari langkah – langkah lain yang dapat anda pilih.

Asisten Lab I dan IV

09/17/0402:14:16 pm

39