Anda di halaman 1dari 29

Belajar Mysql dengan Phpmyadmin

Akhmad Sofwan
sofwan@sofwan.net http://www.sofwan.net http://blog.sofwan.net

Lisensi Dokumen:
Copyright 2003 200" IlmuKomputer.Com #eluruh $o%umen $i IlmuKomputer.Com $apat $iguna%an& $imo$ifi%asi $an $isebar%an se'ara bebas untu% tu(uan bu%an %omersial )nonprofit*& $engan syarat ti$a% menghapus atau merubah atribut penulis $an pernyataan 'opyright yang $iserta%an $alam setiap $o%umen. +i$a% $iperboleh%an mela%u%an penulisan ulang& %e'uali men$apat%an i(in terlebih $ahulu $ari IlmuKomputer.Com.

Tulisan ini adalah modul kuliah Graphical User Interface I (GUI I) di Perguruan Tinggi Raharja (www.raharja.ac.id) dengan editing seperlu nya . ateri GUI I terdiri dari ! "agian# yaitu engenai dasar$dasar %inu& yang terdiri dari ' pertemuan dan ateri (ata"ase ys)l dengan Phpmyadmin. (an di dalam tulisan ini hanya mem"ahas ys)l dan penggunaan phpmyadmin.

Pendahuluan
ys)l adalah se"uah (ata"ase *pen +ource populer di dunia. Penggunaan nya se"agai data"ase "ahasa pemrograman populer seperti P,P dan -a.a adalah hal umum. Untuk memudahkan penggunaan ys)l# terdapat +oftware open source "er"asis GUI# yakni phpmyadmin# yang dapat di download secara gratis di situs www.phpmyadmin.net. Phpmyadmin ini juga terdapat secara default pada /ampp (www.apachefriends.org)# yaitu software yang mem"undle apache#php dan mys)l serta Perl# di tam"ah modul$modul tam"ahan.

Komunitas eLearning IlmuKomputer.Com Copyright 2003 200! IlmuKomputer.Com

Database Mysql dan Phpmyadmin Pengertian Database : Database adalah sebuah system yang di buat untuk mengorganisasi, menyimpan dan menarik data dengan mudah. Database terdiri dari kumplan data yang terorganisir untuk 1 atau lebih penggunaan, dalam bentuk digital. Database digital di manage menggunakan Database Management System (DBMS), yang menyimpan isi database, mengizinkan pembuatan dan maintenance data dan pencarian dan akses yang lain. Beberapa Database yang ada saat ini adalah : Mys l, S l Ser!er, Ms."ccess, #racle, dan $ostgreS l. Pengenalan MySQL MyS%& adalah salah satu 'enis database ser!er yang sangat terkenal. MyS%& menggunakan bahasa S%& untuk mengakses database nya. &isensi Mys l adalah (#SS &icense )*ception dan ada 'uga yang !ersi komersial nya. +ag Mys l adalah ,+he -orld.s most popular open source database/. MyS%& tersedia untuk beberapa plat0orm, di antara nya adalah untuk !ersi 1indo1s dan !ersi linu*. 2ntuk melakukan administrasi secara lebih mudah terhadap Mys l, anda dapat menggunakan so0t1are tertentu, di antara nya adalah phpmyadmin dan mys l yog. $ada kesempatan kali ini, kita akan menggunakan phpmyadmin, yang terdapat dalam bundle *ampp, yang dapat di peroleh di 111.apache0riends.org. Phpmyadmin. $hpmyadmin adalah sebuah aplikasi open source yang ber0ungsi untuk memudahkan mana'emen MyS%&. Dengan menggunakan phpmyadmin, anda dapat membuat database, membuat tabel, menginsert, menghapus dan mengupdate data dengan 324 dan terasa lebih mudah, tanpa perlu mengetikkan perintah S%& secara manual. $hpMyadmin dapat di do1nload secaara 0ree di http:55111.phpmyadmin.net. Saat tulisan ini di buat, !ersi phpmyadmin terbaru adalah phpmyadmin 6.6.17. 8arena berbasis 1eb, maka phpmyadmin dapat di 'alankan di banyak #S, selama dapat men'alankan 1ebser!er dan Mys l. Xampp 9ampp adalah sebuah paket kumpulan so0t1are yang terdiri dari apache, mys l, phpmyadmin, php, $erl, (reetype:,dll. 9ampp ber0ungsi untuk memudahkan instalasi lingkungan php, di mana biasa nya lingkungan pengembangan 1eb memerlukan php,apache,mys l dan phpmyadmin serta so0t1are;so0t1are yang terkait dengan pengembangan 1eb. Dengan menggunakan *ampp, kita tidak perlu menginstall aplikasi;aplikasi tsb satu persatu. $aket aplikasi perlu di e*tract dan di install terlebih dahulu, dengan memilih 'enis *ampp sesuai dengan 'enis #S nya. Setelah sukses menginstall *ampp, kita dapat langsung mengakti0kan Mys l dengan cara mengakti0ikan *ampp. $ada &inu*, cara mengakti0kan Mys l dan phpMyadmin sbb : 1. &ogin ke user root :. Masuk ke direktory 5opt5lampp
Komunitas eLearning IlmuKomputer.Com Copyright 2003 200! IlmuKomputer.Com

6. 8etik : <.5lampp start =. Maka akan memulai *ampp , termasuk mengakti0kan phpmyadmin. >. Selan'utnya, anda bisa masuk ke phpmyadmin, dengan cara : http:55localhost5phpmyadmin

$ada -indo1s, untuk mengakti0kan phpmyadmin dengan cara sbb : 0. "kti0kan phpmyadmin pada $anel !. 8etik : http:55localhost5phpmyadmin Maka akan terlihat tampilan layar seperti ini :

3ambar ?44.1 : +ampilan tables sebuah database Membuat Database : Membuat Database, dapat di lakukan dengan cara : 1. 8lick link localhost pada bagian atas dan isilah nama database baru nya. Membuat dan Mengelola Tabel Setelah kita membuat Database, maka selan'ut nya adalah kita akan mencoba membuat +abel, sbb : 1. $ilih Database dan masukkan nama tabel pada kolom yang tersedia. :. Masukkan 'umlah 0ields nya. 6. 4silah nama 0ield, pilih 'enis type dan isi 'umlah length nya. =. +entukan 'uga primary 0ield nya 2ntuk mengisi data di dalam sebuah tabel, dapat dengan mengklick link insert. +abel adalah sebuah set elemen data (nilai) yang di organisasikan menggunakan sebuah model !ertikal (kolom) atau di sebut 0ield dan horizontal (baris). Sebuah tabel memiliki 'umlah kolom tertentu . +abel dapat 'uga di sebut dengan @elasi.

Komunitas eLearning IlmuKomputer.Com Copyright 2003 200! IlmuKomputer.Com

Sebuah database dapat memiliki 1 atau lebih +abel. Sebuah tabel dapat memiliki 0eature sbb : $rimary key : Sebuah key yang uni ue yang menyatakan id dari setiap baris autoAincrement : Sebuah 0ield yang bertambah nilai 1 secara otomatis, ketika ada data yang di masukkan. Beberapa (eature yang ada di dalam phpmyadmin adalah sbb : (eature men'alankan S%& secara manual Status 4n0ormation $engaturan Bak akses user )*port dan 4mport database dan table

Komunitas eLearning IlmuKomputer.Com Copyright 2003 200! IlmuKomputer.Com

Database Mysql dan Phpmyadmin Tipe Data $ada Mys l, terdapat beberapa tipe data yang dapat di gunakan di dalam pembuatan tabel. Contoh pada tabel Mahasis1a : $ada tipe data integer, dapat di peroleh in0ormasi sbb : No 0 ! 1 2 8 Nama Tipe Data Tinyint smallint mediumint int "igint 0 ! 1 2 3 Storage Bytes Range alue !Signed"#nsigned$ $0!3 4 0!5 6 7 $ !88 $1!5'3 4 1!5'5 6 7 $ '8818 $3133'73 4 3133'75 6 7 $ 0'555!08 $!025231'23 4 !025231'25 6 7 $ 2!929'5!98 -9223372036854775808 9223372036854775807 / 0 - 18446744073709551615

+ipe data lain yang ada pada Mys l adalah sbb : Data 0loat : (loat @eal Double Decimal Data String : ?archa +e*t Date r

Server Variables dan Setting: Ser!er !ariables dan settings adalah !ariabel yang di miliki oleh $hpmyadmin untuk mengatur sistem dari $hpmyadmin itu sendiri. Beberapa !ariabel yang di miliki oleh phpmyadmin adalah sbb : basedir : "dalah direktori di mana phpmyadmin di install. Contoh !alue : 5opt5lampp date0ormat : "dalah 0ormat tanggal de0ault. Contoh !alue : DE;Dm;Dd datetime 0ormat : "dalah 0ormat tanggal dan 1aktu de0ault. Contoh !alue : DE;Dm;Dd DB:Di:Ds general log 0ile : "dalah 0ile log general, berikut letak direktori nya. Contoh !alue : 5opt5lampp5!ar5mys l5so01an.log

Komunitas eLearning IlmuKomputer.Com Copyright 2003 200! IlmuKomputer.Com

!ersion compile os : #S di mana phpmyadmin di install Contoh !alue : pc;linu*;gnu Status dan n!ormasi 2ntuk men'alankan $hpmyadmin, kita membutuhkan apache dan Mys l dan untuk mengetahui in0ormasi singkat mengenai apache dan mys l yang terinstall yang di gunakan oleh phpmyadmin, kita dapat mengetahui nya di phpmyadmin itu sendiri, dengan cara melihat dari Bome dan tab status. $ada page Bome, anda dapat melihat in0ormasi mengenai MyS%&, -eb Ser!er dan phpMy"dmin. $ada tab Status, anda dapat melihat in0ormasi berikut : Ser!er +ra00ic dan %uery Statistics. Server Tra!!i" Beberapa data pada ser!er tra00ic adalah sbb : "liran data : @ecei!ed dan Sent Connections : Ma*.concurrent connections, (ailed attempts dan "borted. Query Statisti"s "dalah statistic mengenai uery yang pernah di 'alankan di dalam phpmyadmin. Beberapa uery type, yaitu : admin commands ; sho1 collations change db ; sho1 databases select ; sho1 grants set option ; sho1 plugins sho1 binlogs ; sho1 status sho1 charsets ; sho1 tables

Komunitas eLearning IlmuKomputer.Com Copyright 2003 200! IlmuKomputer.Com

'

3ambar ?444.1 : +ampilan in0ormasi Bome

3ambar ?444.: : +ampilan 4n0ormasi tab Status (@untime 4n0ormation)

Komunitas eLearning IlmuKomputer.Com Copyright 2003 200! IlmuKomputer.Com

Pengoperasian Database 4 2ntuk mengoperasikan database Mys l dengan phpmyadmin, kita perlu mengerti bahasa S%&, 1alaupun kita tetap bisa memanage database tanpa S%&, namun untuk kepentingan pemrograman dan pengolahan database lebih lan'ut, S%& adalah hal yang penting untuk di ketahui. Pengertian SQL S%& (Structured %uery &anguage) adalah sebuah bahasa scripting yang di pergunakan untuk mengolah database. Database besar seperti Mys l, $ostgreS%& dan S%& Ser!er sudah menggunakan S%& untuk mengolah database nya. S%& yang di pergunakan so0t1are database tsb adalah sama kecuali sedikit perbedaan di beberapa tempat. $ada kesempatan kali ini, kita akan menggunakan S%& pada Mys l. 8ita akan menggunakan database sbb : Fama Database : test nama tabel : mahasis1a struktur tabel : No 0 ! 1 2 8 ' :rp :ama tempat=lahir tgl=lahir >lamat no=telp %ield Tipe Data ;archar ;archar ;archar (ate ;archar ;archar 87 17 &ength" alues 08 27 18 P< 'eterangan

Berikut adalah beberapa synta* di dalam S%&, yaitu : "reate database (ungsi : 2ntuk membuat database Struktur : create database nama#database 8eterangan : 2ntuk membuat sebuah database Contoh : create database test "reate table (ungsi : 2ntuk membuat sebuah tabel Struktur : create table namaAtabel (0ield1 tipe data('umlah karakter), 0ield: tipe data ('umlah karalter))G contoh : create tabel sis1a (nama !archar(=>), alamat !archar(H7))G

Komunitas eLearning IlmuKomputer.Com Copyright 2003 200! IlmuKomputer.Com

Sele"t (ungsi : 2ntuk menampilkan isi dari sebuah tabel Struktur : select nama#$olom 0rom nama#tabel 8eterangan : 2ntuk menampilkan data di nama kolom di tabel namaAtabel Contoh : select nama 0rom mahasis1a 8eterangan : Menampilkan isi nama di tabel mahasis%a. Select nrp,nama 0rom mahasis1a 8eterangan : Menampilkan isi nrp dan nama di tabel mahasis%a 2ntuk menampilkan semua 0ield, gunakan I. %here (ungsi : 2ntuk 0ilter dengan kriteria mana sa'a, sebuah tabel di tampilkan Contoh : select I 0rom mahasis1a 1here namaJ/"khmad So01an/ $erintah 1here dapat di gunakan untuk perintah select, update dan delete. and (ungsi : 2ntuk penghubung operator and atau dan $erintah and dapat di gunakan untuk perintah select, update dan delete or (ungsi : 2ntuk penghubung operator or $erintah or dapat di gunakan untuk perintah select, update dan delete +abel hasil nilai dari and dan or :ilai > :ilai ? (r 7 0 7 0 Contoh 7 7 0 0 ) * * * ) ) ) *

And

: select nama,alamat 0rom mahasis1a 1here namaJ/Budiman/ and tempatAlahirJ/Kakarta/ 8eterangan : Menampilkan nama dan alamat dari tabel mahasis1a untuk nama Budiman dan tempat lahir di Kakarta order (ungsi tertentu. Struktur : 2ntuk mengurutkan data ascending atau descending berdasarkan 0ield : select I 0rom namaAtabel order by 0ield1

$erintah order umum nya di gunakan pada perintah select.

Komunitas eLearning IlmuKomputer.Com Copyright 2003 200! IlmuKomputer.Com

Contoh select I 0rom mahasis1a order by nama 8eterangan : Menampilkan data tabel mahasis1a dan mengurutkan data nya berdasarkan nama nsert (ungsi Struktur : 2ntuk memasukkan data ke dalam sebuah tabel : insert into namaAtabel (0ield1,0ield:,0ield6) !alues (,nilai1/,/nilai:/,/nilai6/)

Contoh : insert into mahasis1a (nrp,nama,tempatAlahir) !alues (,171171/,/andi ali/,/'akarta/) 8eterangan : Memasukkan nilai 171171 ke 0ield nrp, andi ali ke 0ield nama dan 'akarta ke 0ield tempatAlahir. &pdate (ungsi Struktur : 2ntuk mengupdate isi dari sebuah tabel. : update namaAtabel set 0ield1J/isi1/

contoh : update mahasis1a set tempatAlahirJ/Surabaya/ 8eterangan : merubah 0ield tempat lahir men'adi surabaya update mahasis1a set tempatAlahirJ/Surabaya/ 1here namaJ/Budiman/ 8eterangan : merubah 0ield tempat lahir men'adi surabaya yang nama nya adalah Budiman Delete (ungsi Struktur : 2ntuk menghapus sebuah atau beberapa record dalam sebuah tabel : delete 0rom namaAtabel

Contoh: Struktur : delete 0rom mahasis1a 1here namaJ/Budiman/ 8eterangan : Menghapus isi dari tabel mahasis1a yang nama nya adalah Budiman

Komunitas eLearning IlmuKomputer.Com Copyright 2003 200! IlmuKomputer.Com

07

Pengoperasian Database Bab ini adalah kelan'utan dari Bab 49, yang membahas mengenai pengoperasian database. 8ita akan menggunakan tabel mahasis1a dengan nilai sbb : nrp 0700877770 070087777' 0700877703 0700877709 07008777!8 0700877722 nama ?udiman tempat+lahir -akarta tgl+lahir !5 -uni 0997 0 -uni 0990 ! -uni 099! 2 -uni 0997 ' -uni 0997 0 -uli 0990 alamat -l.?eo :o.00 -l.<erinci :o.08 -l.<er"au :o.3 -l.<ecapi :o.03 -l.Ram"utan :o.99 no+telp 7!0$ 333333 @7!0.535 35353 @7!0$ 5188158 @7!0$ 5289735 @7!0$ 55'5930

+iti >minah +emarang Ujang (ino (ini >min ?andung +ura"aya -ogjakarta -akarta

-l.+ungai :o.077 @7!0$ 558'539

'et%een (ungsi Struktur nilai:

: 2ntuk memilih data pada range tertentu : select 0ield1,0ield: 0rom namaAtabel 1here 0ield : bet1een nilai1 and

Contoh : select nrp,nama 0rom mahasis1a 1here right(nrp,6) bet1een .771. and .77H. 8eterangan : Menampilkan 0ield nrp dan nama dari tabel mahasis%a yang memiliki nilai nrp dari kanan di antara .771. dan .77H. Basil nya akan tampil sbb : nrp 0700877770 070087777' nama ?udiman +iti >minah

Ma( (ungsi : 2ntuk menampilkan nilai terbesar dari suatu 0ield dengan tipe apa sa'a, tidak hanya untuk tipe numerik sa'a. Struktur : select ma*(nama#!ield) 0rom nama#tabel Contoh : select ma*(nrp) 0rom mahasis1a

Komunitas eLearning IlmuKomputer.Com Copyright 2003 200! IlmuKomputer.Com

00

8eterangan : Menampilkan nrp ma*imal yang di ambil dari nilai nrp. Basil nya akan tampil sbb : ma*(nrp) 1711>777== Min (ungsi Struktur : 2ntuk menampilkan nilai terkecil dari suatu 0ield : select min(nama#!ield) 0rom nama#tabel

Contoh : select min(nrp) 0rom mahasis1a 8eterangan : Menampilkan nrp minimal yang di ambil dari nilai nrp. Basil nya akan tampil sbb : min(nrp) 1711>77771 Sum (ungsi Struktur : 2ntuk menampilkan 'umlah dari sebuah 0ield : select sum(namaA0ield) 0rom mahasis1a

Contoh : select sum(nilai) 0rom nilai 8eterangan : Men'umlahkan data 0ield nilai dari tabel nilai Maka akan menghasilkan output sbb : sum(nilai) ;;;;;;;;;;;;;; >7> )roup by (ungsi Struktur : 2ntuk menampilkan 'umlah sebuah nilai dan di group berdasarkan suatu 0ield tertentu. : select namaA0ield1,sum(namaA0ield:) as namaAnilai 0rom namaAtabel group by namaA0ield1

Contoh : select nrp,sum(nilai) as 'umlahAnilai 0rom nilai group by nrp 8eterangan : Menampilkan 0ield nrp dan 'umlah dari 0ield nilai di group berdasarkan nrp. Basil : nrp 'umlahAnilai ;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;; 1711>77771 1L> 1711>7777H 1M7 1711>777:> M7 1711>777== L7
Komunitas eLearning IlmuKomputer.Com Copyright 2003 200! IlmuKomputer.Com

0!

*aving (ungsi : 2ntuk mem0ilter tampilan berdasarkan nilai group by Struktur : select namaA0ield1,sum(namaA0ield:) as namaAnilai 0rom namaAtabel group by namaA0ield1 ha!ing sum(namaA0ield:)Nnumber Contoh : select nrp,sum(nilai) as 'umlahAnilai 0rom nilai group by nrp ha!ing sum(nilai)N177 8eterangan : Menampilkan 0ield nrp dan 'umlah dari 0ield nilai di group berdasarkan nrp dengan kriteria pen'umlahan nilai masing;masing nrp lebih dari 177. +s (ungsi : 2ntuk memberi nama lain kepada sebuah tabel atau 0ield, dengan maksud untuk menyingkat penamaan atau memberi nama lain. Struktur : select namaA0ield1 as namaA0ield: 0rom namaAtabel1 Contoh : select nrp,nama as namaAmahasis1a 0rom mahasis1a 8eterangan : Merename 0ield nama men'adi namaAmahasis1a Basil : namaAmahasis1a ;;;;;;;;;;;;;;;;;;;;;;;;; Budiman Siti "minah 2'ang Dino Dini "min &se (ungsi : 2ntuk menggunakan sebuah database, terutama 'ika database yang akan di pergunakan tersebut belum akti0. Struktur : use namaAdatabase Contoh : use mahasis1a Length (ungsi : 2ntuk menghitung banyak karakter data yang di tampilkan, termasuk spasi. Struktur : select length(namaA0ield) 0rom namaAtabel Contoh : select nama,length(nama) as pan'angAnama 0rom mahasis1a Basil : nama pan'angAnama ;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;; Budiman M Siti "minah 11 2'ang > Dino = Dini = "min =
Komunitas eLearning IlmuKomputer.Com Copyright 2003 200! IlmuKomputer.Com

01

Trim (ungsi : 2ntuk menghapus spasi pada sebuah karakter Struktur : select trim(karakter) 0rom namaAtabel contoh : select trim(, So01an ,) as hasilnyaG Basil : hasilnya ;;;;;;;;;;;;;; So01an +erdapat !arian nya, yaitu : ltrim O 2ntuk menghilangkan spasi yang terletak di sebelah kiri dari sebuah karakter. @trim O 2ntuk menghilangkan spasi yang terletak di sebelah kanan dari sebuah karakter.

Komunitas eLearning IlmuKomputer.Com Copyright 2003 200! IlmuKomputer.Com

02

P,-).P,/+S +- D+T+'+S, +.Mengoperasi$an database dengan tabel lebih dari 0 Seringkali dalam menampilkan sebuah data, kita perlu menggunakan lebih dari 1 tabel, bisa :, 6 atau lebih, karena data yang akan di tampilkan terletak pada beberapa tabel dan setiap tabel memiliki keterkaitan melalui primary key dan 0oreign key nya. Contoh : +erdapat : tabel, yaitu : +abel : mahasis1a nrp 0700877770 070087777' 0700877703 0700877709 07008777!8 0700877722 nama ?udiman tempat+lahir -akarta tgl+lahir !5 -uni 0997 0 -uni 0990 ! -uni 099! 2 -uni 0997 ' -uni 0997 0 -uli 0990 alamat -l.?eo :o.00 -l.<erinci :o.08 -l.<er"au :o.3 -l.<ecapi :o.03 -l.Ram"utan :o.99 -l.+ungai :o.077 no+telp 7!0$333333 @7!0.535353 53 @7!0$ 5188158 @7!0$ 5289735 @7!0$ 55'5930 @7!0$ 558'539

+iti >minah +emarang Ujang (ino (ini >min ?andung +ura"aya -ogjakarta -akarta

+abel : nilaiAalgoritma id :rp 0 ! 1 2 0700877770 070087777' 0700877703 0700877722

nilai 37 57 '7 97

8ita akan menampilkan data sbb : Frp,nama dan nilai yang hanya berisi record yang ada nilai nya di tabel nilaiAalgoritma. 1. nner 1oin (ungsi : 2ntuk menampilkan 1 atau lebih 0ield di : atau lebih abel yang berbeda, dengan mengacu kepada sebuah 0ield yang memiliki data yang sama . Data yang di tampilkan adalah data yang ada di kedua tabel tsb. Contoh : Dalam kedua tabel tsb, kita akan menampilkan data sbb : nrp,nama dan nilai. (ield nrp dan nama di ambil dari tabel mahasis%a (ield nilai di ambil dari tabel nilai#algoritma

Komunitas eLearning IlmuKomputer.Com Copyright 2003 200! IlmuKomputer.Com

08

Command : select a.nrp,a.nama,b.nilai from mahasiswa as a inner join nilai_algoritma as b on a.nrp=b.nrp 8eterangan : Menampilkan 0ield nrp, nama dan nilai berdasarkan kesamaan nrp pada kedua tabel yang masing;masing memiliki data pada 0ield nya. Kika ada data yang tidak ada nilai nya, maka tidak di tampilkan. Basil : nrp ;;;;;;;;;;;;;;;; 1711>77771 1711>77771 1711>7777H 1711>7777H 1711>777:> 1711>777== nama ;;;;;;;;;;;;;;;;;;;;;;; Budiman Budiman Siti "minah Siti "minah Dini "min nilai ;;;;;;;;; 177 L> P7 P7 M7 L7

:. le!t outer 2oin (ungsi : 2ntuk menampilkan 1 atau lebih 0ield di : atau lebih tabel yang berbeda, dengan mengacu kepada sebuah 0ield yang memiliki data yang sama . Data yang di tampilkan adalah data yang ada di tabel yang di sebelah kiri atau yang pertama kali di sebut pada perintah S%&. select a.nrp,a.nama,b.nilai from mahasiswa as a left outer join nilai_algoritma as b on a.nrp=b.nrp nrp nama nilai ;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;; ;;;;;;;;;; 1711>77771 Budiman 177 1711>77771 Budiman L> 1711>7777H Siti "minah P7 1711>7777H Siti "minah L7 1711>7771L 2'ang NULL 1711>7771P Dino NULL 1711>777:> Dini M7 1711>777== "min L7 $ada hasil di atas, terdapat nilai F2&&, itu karena synta* le0t outer 'oin men'adikan tabel yang sebelah kiri atau yang pertama kali di sebut (tabel : mahasis1a) sebagai re0erensi. Dan 'ika tidak ada nilai nya berdasarkan tabel nilaiAalgoritma, maka data tetap akan di tampilkan, namun nilai nya adalah F2&&. 6. right outer 2oin (ungsi : 2ntuk menampilkan 1 atau lebih 0ield di : atau lebih tabel yang berbeda, dengan mengacu kepada sebuah 0ield yang memiliki data yang sama . Data yang di tampilkan adalah data yang ada di tabel yang di sebelah kanan atau yang urutan kedua di sebut pada perintah S%&. select a.nrp,a.nama,b.nilai from mahasiswa as a right outer join nilai_algoritma as b on a.nrp=b.nrp
Komunitas eLearning IlmuKomputer.Com Copyright 2003 200! IlmuKomputer.Com

0'

nrp nama nilai ;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;; ;;;;;;;;;; 1711>77771 Budiman 177 1711>7777H Siti "minah P7 1711>77771 Budiman L> 1711>7777H Siti "minah L7 1711>7771L Dini M7 1711>7771P "min L7 $ada hasil di atas, terdapat nilai F2&&, itu karena synta* le0t outer 'oin men'adikan tabel yang sebelah kanan atau yang kedua kali di sebut (tabel : nilaiAalgoritma) sebagai re0erensi. Dan 'ika tidak ada nilai nya berdasarkan tabel nilaiAalgoritma, maka data tetap akan di tampilkan, namun nilai nya adalah F2&&. $ada contoh di atas, kebetulan data nrp di tabel nilai, 'uga ada nrp nya di tabel mahasis1a. =. 1oin 2ntuk mengambil data dari 0ield pada 1 atau lebih tabel yang berbeda, dapat menggunakan command dengan 1here. Contoh : Menampilkan nrp,nama dan nilai . Data;data nya di ambil dari nrp yang sama yang ada di kedua tabel tsb. Contoh : select a.nrp,a.nama,b.nilai from mahasiswa as a right outer join nilai as b on a.nrp=b.nrp Basil yang tampil adalah : nrp nama ;;;;;;;;; ;;;;;;;;;;;;; 1711>77771 Budiman 1711>7777H Siti "minah 1711>77771 Budiman 1711>7777H Siti "minah 1711>777:> Dini 1711>777== "min nilai ;;;;;;;;;;; 177 P7 L> L7 M7 L7

8eterangan : Basil yang tampil adalah 0ield nrp, nama dan nilai, yang mana, data;data nya di ambil dari kedua tabel yang nrp nya sama. Cara ini menghasilkan hasil yang sama dengan inner 'oin. $ada perintah penggabungan tabel di atas (inner 'oin, le0t outer 'oin, right outer 'oin dan 1here), dapat 'uga di terapkan pada 6, = atau lebih tabel. Eang penting, antara 1 tabel dengan tabel yang lainnya, memiliki 0ield yang sama, sebagai acuan atau kunci untuk mengambil data. B. Mengisi sebuah tabel dengan mengambil data di tabel lain Misalkan kita akan membuat sebuah tabel yang bernama mahasis1aAa. +abel ini memiliki struktur sbb : nrp (!archar (17)) dan nama (!archar(=7)) +abel mahasis1aAa ini berisi data yang di ambil dari tabel mahasis1a yang memiliki huru0 a1alan ,"/. 2ntuk itu, kita dapat menggunakan perintah berikut :
Komunitas eLearning IlmuKomputer.Com Copyright 2003 200! IlmuKomputer.Com

05

insert into mahasiswa_a (nrp,nama) select nrp,nama from mahasiswa where left(nama,2)=

Komunitas eLearning IlmuKomputer.Com Copyright 2003 200! IlmuKomputer.Com

03

P,-).P,/+S +- D+T+'+S, V 0. Synta( SQL $ada bab ini, kita kembali mempela'ari beberapa synta* S%&, yaitu : Count,Concatenate,le0t,right,substring. 2ntuk tabel yang di gunakan dalam contoh script di ba1ah, kita menggunakan tabel mahasis1a dan nilaiAalgoritma, di bab 94 di atas. a. 3ount Struktur : count(namaA0ield) 8eterangan : Menghitung 'umlah record pada 0ield tertentu Contoh : select count(nrp) 0rom mahasis1a Basil : count(nrp) ;;;;;;;;;;;;;;; M b. 3on"atenate Struktur : concat (namaA0ield,/keterangan/) 8eterangan : Menambahkan string tertentu pada data sebuah 0ield Contoh : select concat(nrp ,/ mhs/) as hasil 0rom mahasis1a Basil : 0700877770 mhs 070087777' mhs 0700877703 mhs 0700877709 mhs 07008777!8 mhs 0700877722 mhs 0700877773 mhs ,- left +truktur A left(karakter# jumlah=karakter) <eterangan A engam"il karakter dari se"elah kiri Bontoh A select left(nrp#1) as hasil from mahasiswa ,asil A hasil $$$$$$$$$$$$$$ 070 070 070 070 d. right Struktur : right (karakter,'umlahAkarakter) 8eterangan : Mengambil karakter dari sebelah kanan Contoh : select right(nrp,6) as hasil 0rom mahasis1a

Komunitas eLearning IlmuKomputer.Com Copyright 2003 200! IlmuKomputer.Com

09

hasil ;;;;;;;; 771 77H 71L 71P 7:> 7== 77L e. substring Struktur 8eterangan Contoh :. nde( 4nde* di pergunakan di dalam database untuk mempercepat pencarian sebuah data. 4nde* dalam database sama dengan inde* di dalam sebuah buku. Kika pada sebuah buku tentang Binatang dan kita mencari semut, maka dari pada kita membuka halaman buku tersebut satu persatu hingga kita mencari bab tentang semut, maka lebih baik dan lebih cepat, kita melihat inde*, di halaman berapa bab Semut ada dan setelah itu, kita membuka halaman yang tertera di inde* pada buku tsb. Maka proses pencarian men'adi lebih cepat. Sebuah inde* dapat berdasarkan pada 1 atau lebih kolom. Membuat inde( Misal, pada tabel mahasis1a, kita akan membuat inde* pada nrp. Create inde* id*Amahasis1aAnrp on mahasis1a (nrp) Strategi membuat nde( a. Membuat inde* pada kolom yang bertipe integer 4nteger mengambil space lebih sedikit, sehingga uery ber'alan lebih cepat. b. Men'aga inde* agar sesempit mungkin 4nde* yang lebih sempit membutuhkan sedikit space, membutuhkan 1aktu yang lebih sedikit untuk proses. c. 2rutan kolom adalah penting 2ntuk inde* yang memiliki beberapa kolom, urutan kolom di dalam inde* adalah penting. $enggunaan terbaik, adalah menggunakan kolom dengan kardinalitas yang paling rendah sebagai inde* pertama dan kardinalitas tertinggi sebagai yang terakhir. 2ntuk mengetahui kardinalitas sebuah kolom, dapat menggunakan perintah distinct. d. 8olom yang di setting inde* tidak bernilai F#+ F2&& : substring(karakter,angka 1,angka :) : 2ntuk mengambil karakter yang di mulai pada angka1, dengan pan'ang angka :. : substring(,Kakarta/,:,=)G

Komunitas eLearning IlmuKomputer.Com Copyright 2003 200! IlmuKomputer.Com

!7

4. Vie% ;iew adalah ta"el "ayangan atau .irtual ta"el. +e"uah .iew terdiri dari "aris dan kolom# seperti ta"el. Per"edaan antara .iew dan ta"el adalah# .iew di definisikan terletak di atas dari ta"el lain dan tidak memegang data secara real atau dengan kata lain# data sesungguh nya "erupa numerik dan karakter tidak "erada di .iew. -ika data "eru"ah di ta"el se"enar nya# maka .iew juga ikut "eru"ah. <euntungan menggunakan .iew adalah A a- Mudah di gunakan ;iew menyem"unyikan ke kompleksitasan se"uah ta"el dari end user# sehingga end user tidak merasa "erat melihat ta"el yang kompleks. .- Menghemat spa,e ;iews mengam"il sedikit sekali space untuk di simpan# karena mereka tidak menyimpan data se"enar nya. ,- Menam.ah keamanan data ;iews hanya dapat kolom tertentu yang "erada di dalam ta"el# jadi hanya kolom yang tidak sensitif yang di insert dan di ekspos ke dalam end user. Perintah Mem.uat /iew create .iew .iew=name as select nama=kolom(s) from ta"le=name where condition Bontoh A create .iew .iew=mhs as select nrp#nama from mahasiswa where tempat=lahirCD-akartaD Perintah update /iew +ama dengan create .iew. -ika se"uah .iew di "uat kem"ali# itu arti nya .iew terse"ut di update. Update di gunakan jika terdapat peru"ahan pada .iew# misal A penam"ahan field. Menghapus /iew drop .iew nama=.iew

Komunitas eLearning IlmuKomputer.Com Copyright 2003 200! IlmuKomputer.Com

!0

Stored Pro"edure Pengertian Stored $rocedure adalah sebuah kelompok kode S%& yang di simpan di katalog database dan dapat di panggil kemudian oleh program, trigger atau bahkan stored procedure. Sebuah Stored $rocedure yang memanggil diri nya sendiri di sebut rekursi0 stored procedure. Mys l sendiri mendukung penggunaan Stored $rocedure se'ak MyS%& !ersi >.* ke atas. 5euntungan penggunaan Stored Pro"edure Meningkatkan per0ormance aplikasi. Sebuah Stored $rocedure di simpan dan di compile di katalog database yang mana dapat di eksekusi lebih cepat di bandingkan S%& yang tidak di compile dari kode aplikasi. Mengurangi tra00ic antara aplikasi dan database ser!er. "plikasi hanya mengirim nama stored procedure untuk mengeksekusi S%&. Dapat di gunakan kembali dan transparent ke aplikasi yang ingin menggunakan nya.

"man. $enggunaan Stored $rocedure dapat di akses hak nya oleh aplikasi oleh Database "dministrator 5erugian penggunaan Stored Pro"edure Dapat mengakibatkan Database ser!er membutuhkan memory dan prosessor lebih tinggi. Stored procedure hanya berisi S%& deklarati0, sehingga sangat sulit untuk menulis sebuah procedure dengan kompleksitas logika, seperti bahasa pemrograman yang di gunakan untuk memprogram aplikasi. Stored procedure tidak dapat di debug di hampir @DBMS, termasuk MyS%&. Membutuhkan keahlian khusus untuk menulis dan me maintain stored procedure yang tidak setiap de!eloper memiliki, sehingga dapat membuat ribet.

Membuat Stored Pro"edure delimeter 55 create procedure namaAmhs() begin select I 0rom mahasis1aG end 55 delimeter G 8ita memulai nya dengan delimeter 66 dan di akhiri dengan 66 delimeter 7 Body s l di mulai dengan begin dan di akhiri dengen end.

Komunitas eLearning IlmuKomputer.Com Copyright 2003 200! IlmuKomputer.Com

!!

Memanggil Stored Pro"edure call namaAstoredAprocedure( ) Contoh : call namaAmhs( )G Variabel di Stored Pro"edure ?ariabel di gunakan untuk menyimpan prosedure ke penyimpanan hasil dengan segera. "nda dapat mendeklarasikan sebuah !ariabel dengan synta* berikut : D)C&"@) nama !ariabel tipe data (ukuran) D)("2&+ nilai de0aultG Contoh : D)C&"@) totalAsales 4F+ D)("2&+ 7 Memberi -ilai $e variabel +erdapat beberapa cara memberi nilai ke !ariabel, yaitu dengan cara : ; S)+ Contoh : D)C&"@) totalAcount 4F+ D)("2&+ 7 S)+ totalAcount J7 ; S)&)C+ Q 4F+# D)C&"@) totalAproduct 4F+ D)("2&+ 7 S)&)C+ C#2F+(I) 4F+# totalAproducts (@#M products /uang Ling$up Variabel Sebuah !ariabel hanya berlaku di dalam ruang lingkup nya masing;masing, yaitu di antara B)34F dan )FD. Sebuah !ariabel yang di a1ali dengan tanda R, di sebut dengan !ariabel session, yang tetap ada hingga session berakhir. Parameter dalam Stored Pro"edure $aramater, terdiri dari 6 bentuk, yaitu : ; 4F ; #2+ ; 4F#2+ 4F : Mode De0ault. Dapat di gunakan di dalam sebuah stored procedure, namun stored procedure tidak dapat merubah nilai nya. #2+ : $arameter ini dapat di rubah oleh sebuah stored procedure yang di le1ati nya. 4F#2+ : Dapat mele1ati stored procedure dan mendapatkan kembali nilai nya yang berbeda dari program yang memanggil. Synta* untuk mende0inisikan sebuah parameter: M#D) namaAparameter tipeAparameter (ukuran parameter)

Komunitas eLearning IlmuKomputer.Com Copyright 2003 200! IlmuKomputer.Com

!1

3ontoh : D)&4M)+)@ 55 C@)"+) $@#C)D2@) tahunAmahasis1a(4F tahunAnrp ?"@CB"@ (:>>)) B)34F S)&)C+ nrp,nama (@#M mahasis1a -B)@) le0t(nrp,:)JtahunAnrp )FD 55 D)&4M)+)@ G Dalam contoh di atas, kita mendapatkan,nrp dan nama yang 0ilter nya adalah le0t(nrp,:)JtahunAnrp 2ntuk memanggil nya, kita menggunakan : C"&& tahunAmahasis1a(.17.) 3onditional 3ontrol Di Bahasa $emrograman, Conditional Control adalah hal yang umum keberadaan nya. Stored $rocedure 'uga memiliki Conditional Control tsb. $enggunaan Conditional Control, men'adikan kita dapat mengeksekusi sebuah perintah berdasarkan kriteria tertentu. 8 Statement 4( e*pression +B)F commands )FD 4( 4( e*pression +B)F commands )&S) commands )FD 4( Contoh : C@)"+) $@#C)D2@) procedure1 (4F parameter1 4F+)3)@) B)34F D)C&"@) !ariabel CB"@(17)G 4( parameter1J1M +B)F S)+ !ariable1J/birds/G )&S) S)+ !ariable1J/beasts/G )FD 4( 4FS)@+ 4F+# table1 ?"&2)S (!ariable1)G )FD 3+S, Statement C"S) -B)F e*pression +B)F commands Q -B)F e*pression +B)F commands )FD C"S)

Komunitas eLearning IlmuKomputer.Com Copyright 2003 200! IlmuKomputer.Com

!2

Contoh : S)&)C+ nrp,nama C"S) -B)F le0t(nrp,:)J/17/ +B)F S)&)C+ ,+ahun :717/ -B)F le0t(nrp,:)J ,11/ +B)F S)&)C+ ,+ahun :711/ )FD C"S) (@#M mahasis1a

Komunitas eLearning IlmuKomputer.Com Copyright 2003 200! IlmuKomputer.Com

!8

Menghubung$an Database MySQL dengan P*P Selain dapat di gunakan sendiri untuk pengolahan data, Database 'uga dapat di hubungkan dengan bahasa pemrograman untuk membuat sebuah aplikasi. $eran database di dalam pembuatan aplikasi adalah sama, tetap sebagai penyimpan data. Di dalam pembuatan aplikasi, terdapat berbagai macam operasi data dengan menggunakan bahasa S%&, seperti memasukkan , menampilkan dan menghapus data. Se'ak lama, database sudah men'adi penyimpanan data bagi aplikasi, selain 0ile. MyS%& sendiri dapat berhubungan dengan beberapa bahasa pemrograman, seperti ?isual Basic, 3ambas, ?isual (o*pro, Ka!a dan $B$. $ada kesempatan kali ini, akan di tampilkan teknik menghubungkan bahasa pemrograman $B$ dengan database Mys l. $enulis mengasumsikan, pembaca sudah dapat mengeksekusi 0ile php dengan sebuah 1eb ser!er di dalam sebuah 1eb bro1ser. S"ript menghubungan database dan menampil$an isi data 1.STphp :. UhubungAdbJmys lAconnect(VlocalhostV,VrootV,VopanV)G 6. i0 (WUhubungAdb) =. die (VDatabase MyS%& tidak dapat di bukaV)G >. H. UpilihAdbJmys lAselectAdb(VtestV)G M. i0 (W UpilihAdb) L. die (VDatabase test tidak dapat di pilihV)G P. 17. UhasilJmys lA uery(Vselect I 0rom mahasis1aV)G 11. 1:. 1hile (UdbJmys lA0etchAarray(Uhasil)) 16. X 1=. echo UdbYVnrpVZ.VSbr5NVG 1>. [ 1H. TN Script di atas menerangkan tentang mengakses database dan menampilkan isi dari sebuah tabel. $en'elasan nya ada di ba1ah ini : 1.STphp "dalah tag pembuka script php. $B$ di buka dengan STphp atau ST dan di tutup dengan TN :. UhubungAdbJmys lAconnect(VlocalhostV,VrootV,VopanV)G 6. i0 (WUhubungAdb) =. die (VDatabase MyS%& tidak dapat di bukaV)G Baris : O Script untuk mengakses database MyS%&. Baris 6 \ = O Kika tidak terhubung, maka menampilkan pesan kegagalan. Baris H \ L O Memilih database dan 'ika database error terpilih, di tampilkan pesan kesalahan. Baris 17 O Mengeksekusi sebuah uery
Komunitas eLearning IlmuKomputer.Com Copyright 2003 200! IlmuKomputer.Com

!'

Baris 1: \ 1> O Mencetak hasil script Script php dapat di gabungkan dengan script lain, seperti 'a!ascript, html dan css serta S%&. Dan untuk membuat sebuah aplikasi 1eb yang tangguh, kita memang harus menggunakan script;script tsb. $ada pembahasan selan'ut nya, akan di bahas mengenai 4nsert, 2pdate dan Delete, dengan bantuan script html, selain php dan S%&. Memasu$$an Data $e dalam tabel ; Membuat (orm input data 1 ShtmlN : SheadN 6 StitleN)ntry DataS5titleN = S5headN > SbodyN H S0orm methodJVpostV actionJVproses.phpVN M StableN L StrN P StdNFrpS5tdNStdN:S5tdNStdNSinput typeJVte*tV nameJV!nrpV sizeJV1>V5NS5tdN 17 S5trN 11 StrN 1: StdNFamaS5tdNStdN:S5tdNStdNSinput typeJVte*tV nameJV!namaV sizeJV:>V5NS5tdN 16 S5trN 1= StrN 1> Std colspanJV6VNSinput typeJVsubmitV !alueJVSimpanVN 1H Sinput typeJVresetV !alueJV@esetV N 1M S5tdN 1L S5trN 1P S5tableN :7 S50ormN :1 S5bodyN :: S5htmlN 5eterangan : Script di atas adalah script html, yang membuat 0orm untuk input data. +ampilan dari script di atas adalah :

8etika nrp dan nama telah di isi, lalu user menekan tombol simpan, maka akan men'alankan script php, dengan nama 0ile proses.php. 1 STphp : UhubungAdbJmys lAconnect(VlocalhostV,VrootV,VopanV)G 6 i0 (WUhubungAdb) = die (VDatabase MyS%& tidak dapat di bukaV)G

Komunitas eLearning IlmuKomputer.Com Copyright 2003 200! IlmuKomputer.Com

!5

> H UpilihAdbJmys lAselectAdb(VtestV)G M i0 (W UpilihAdb) L die (VDatabase test tidak dapat di pilihV)G P 17 i0 (isset(UA$#S+Y.!nrp.Z)) 11 X U*nrpJUA$#S+Y.!nrp.ZG [ 1: 16 i0 (isset(UA$#S+Y.!nama.Z)) 1= X U*namaJUA$#S+Y.!nama.ZG [ 1> 1H 55 Memasukkan data ke dalam tabel 55 1M U ueryAmasukJVinsert into mahasis1aAa (nrp,nama) !alues (.U*nrp.,.U*nama.)VG 1L U'alanA ueryJmys lA uery(U ueryAmasuk)G 1P i0 (U'alanA uery) :7 X :1 echo .Data Berhasil di Simpan.G :: [ :6 else := X :> echo .Data 3agal di simpan.G :H [ :M TN 5eterangan : Baris 1 \ 6 : Menghubungkan Database MyS%& Baris H ;L : Memilih database Baris 17 \ 1= : 17 i0 (isset(UA$#S+Y.!nrp.Z)) Memeriksa, apakah !ariabel !nrp sudah ada nilai nya atau belum. 11. U*nrpJUA$#S+Y.!nrp.ZG Mengeset !ariabel U*nrp dengan nilai dari !ariabel !nrp, dari 0orm entry data. Baris 16 \ 1= : Sama dengan baris 17 \ 1=, namun yang di ambil adalah !ariabel !nama. Baris 1M : 1M U ueryAmasukJVinsert into mahasis1aAa (nrp,nama) !alues (.U*nrp.,.U*nama.)VG %uery untuk memasukkan data dari 0orm entry ke dalam tabel mahasis1aAa Baris 1L : U'alanA ueryJmys lA uery(U ueryAmasuk)G Men'alankan uery Baris 1P \ :M : Kika uery berhasil di 'alankan, tampilkan pesan sukses, 'ika gagal, tampilkan pesan gagal. Penutup : Demikianlah materi 324 4 yang saya persembahkan. Semoga para mahasis1a dan pembaca modul ini dapat menarik man0aat nya. Modul ini tentu sa'a tidak lepas dari kekurangan di sana;sini, oleh karna itu, saran, masukan dan kritik sangat kami harapkan dan dapat di sampaikan melalui e;mail : so01anRso01an.net +erima kasih atas perhatiannya dan Mohon maa0 atas kekurangan nya.
Komunitas eLearning IlmuKomputer.Com Copyright 2003 200! IlmuKomputer.Com

!3

/e!erensi : 0. EFikipediaD#httpA66en.wikipedia.org6wiki6(ata"ase# (09 ar 00) ar !700) ar !700)

!. EFikipediaD#httpA66en.wikipedia.org6wiki6Ta"le=G!3data"aseG!9#(!5 1. Bhapple# ike#DPrimary <ey (efinitionD# httpA66data"ases.a"out.com6cs6administration6g6primarykey.htm# (!5

2. +H% Tutorial# E+H% (ata"ase Ta"leD#httpA66www.s)l$tutorial.net6s)l$data"ase$ta"le.asp (!5 ar !700) 8.D y+H% 8.7 Reference anual#D:umeric TypesD# httpA66de..mys)l.com6doc6refman68.76en6numeric$types.html '.httpA66www.0keydata.com6s)l6s)lselect.html 5. +tored Procedure#D y+H% +tored ProcedureD# httpA66www.mys)ltutorial.org6getting$started$ with$mys)l$stored$procedures.asp& 3.httpA66www.e&perts$e&change.com6(ata"ase6 y+H%6H=!!'90550.html 9. <adir# >"dul# (asar Pemrograman Fe" (inamis menggunakan P,P# IogyakartaA >ndi Iogyakarta# !77!

Biografi Penulis
Akhmad Sofwan. enyelesaikan +0 di Uni.ersitas ?udi %uhur (d6h +T I< ?udi %uhur)# Jakultas Teknologi Informasi# jurusan Teknik Informatika pada tahu !770. Penulis saat ini adalah Julltime Jreelancer dalam pengem"angan Fe" dan >plikasi "er"asis we" dan konsultan %inu&. +elain itu menulis "uku <omputer dan mengajar di Perguruan Tinggi Raharja (www.raharja.ac.id)# Tangerang se"agai dosen tidak tetap.

Komunitas eLearning IlmuKomputer.Com Copyright 2003 200! IlmuKomputer.Com

!9

Anda mungkin juga menyukai