Elemen Dasar PHP
Elemen Dasar PHP
- karakter - karakter - pengenal - pengenal - tipe data - tipe data - variabel - variabel - konstanta - konstanta - operator - operator 1.1. KarakterKarakter: berup: berupa hurufa huruf, sebu, sebuah angka ah angka tunggal, tunggal, sebuah sebuah spasi, spasi, tanda kotanda kontrolntrol seperti carriage return !r", atau simbol #,$,% ..."
seperti carriage return !r", atau simbol #,$,% ..." &.
&. Pengenal Pengenal identifiidentifier": dier": digunakan gunakan untuk muntuk memberi emberi nama vanama variabel, riabel, fungsi, fungsi, atauatau kelas. 'turan penamaan pengenal sebagai berikut.
kelas. 'turan penamaan pengenal sebagai berikut.
- karakter (ang dapat digunakan adalah huruf, angka, atau garis ba)ah *" - karakter (ang dapat digunakan adalah huruf, angka, atau garis ba)ah *" - karakter pertama harus berupa huruf atau garis ba)ah
- karakter pertama harus berupa huruf atau garis ba)ah - pan+ang pengenal bisa berapa sa+a.
- pan+ang pengenal bisa berapa sa+a.
- huruf kecil dan besar dibedakan, kecuali fungsi-fungsi (ang tersedia pada PHP - huruf kecil dan besar dibedakan, kecuali fungsi-fungsi (ang tersedia pada PHP seperti print, Print, P/ dianggap sama oleh PHP"
seperti print, Print, P/ dianggap sama oleh PHP" 0ontoh benar: 0ontoh benar: nama nama nama_pemakai nama_pemakai _nama _nama I I kuartal13 kuartal13 NamaBarang NamaBarang 0ontoh salah: 0ontoh salah:
3bulan -> diawali angka 3bulan -> diawali angka nama barang -> ada spasi nama barang -> ada spasi
nama-barang -> ada tanda minus nama-barang -> ada tanda minus
.. //iippe e ddaattaa ada macam: ada macam:
- integer: bilangan bulat antara -& mil(ar hingga #& mil(ar - integer: bilangan bulat antara -& mil(ar hingga #& mil(ar
- double: tipe data bilangan real atau titik mengambang, bilangan (ang - double: tipe data bilangan real atau titik mengambang, bilangan (ang mempun(ai bagian pecahan
mempun(ai bagian pecahan
- string: tipe data teks sederetan karakter (ang tidak men(atakan bilangan - string: tipe data teks sederetan karakter (ang tidak men(atakan bilangan seperti nama barang atau nama orang, dsb"
seperti nama barang atau nama orang, dsb" 2.
2. KonKonstanstanta litta literaleral": men(": men(atakatakan nilaan nilai (ang teti (ang tetap di dalam prap di dalam prograogramm 0ontoh:
0ontoh:
print3Halo43"5 print3Halo43"5
Halo adalah konstanta string Halo adalah konstanta string
6. 7ariabel: untuk men(impan nilai (ang berubah-ubah, ditulis dengan a)alan 8. 0ontoh:
$gaji = 2000000;
print!"#aji pertama = d %br> &n"' $gaji(; $gaji = 1)*+$gaji;
print!"#aji sekarang = d %br>&n"' $gaji(;
9erbeda dengan bahasa 0 dan Pascal, PHP tidak memerlukan pendeklarasian variabel, +adi bisa diubah kapan sa+a se)aktu-)aktu.
. Konversi ilai: digunakan untuk konversi dari suatu tipe data ke tipe data (ang lain.
0ontoh:
sett,pe!$suu' "d.uble"(;
-; membuat isi variabel suhu diubah men+adi bertipe double. 0ontoh untuk diu+i di bro)ser:
%/pp
$suu = "30 derajat elius";
print!"ipe data string $suu %br>&n"(; sett,pe!$suu' "d.uble"(;
print!"ipe data d.uble $suu %br>&n"(; sett,pe!$suu' "integer"(;
print!"ipe data integer $suu %br>&n"(; sett,pe!$suu' "string"(;
print!"ipe data string $suu %br>&n"(; />
<. =perator: simbol (ang digunakan untuk melakukan operasi, seperti
pen+umlahan, perkalian, pembandingan kesamaan dua buah nilai, atau memberi nilai ke variabel. ilai (ang dioperasikan operator disebut operand atau
argumen" bersama-sama operator membentuk ekspresi ungkapan". 0ontoh:
&#>2
disebut ekspresi, karena tanda # dan > disebut operator, sedangkan &,,2 adalah operand atau argumen.
Operator Aritmetika
=perator (ang digunakan untuk operasi matematika. Daftar operator aritmetika:
=perator ?ungsi Prioritas
# Pen+umlahan Ketiga
- Pengurangan Ketiga
> Perkalian Kedua
@ Pembagian Kedua
A Bisa Pembagian Kedua
## Penaikan Pertama
-- Penurunan Pertama
0ontoh: %/pp
print!"enjulaan dan pengurangan %br>&n"(; print!"451 = d %br>&n"' 451(; print!"4-1 = d %br>&n"' 4-1(; print!"%br>%br>"(; print!"erkalian %br>&n"(; print!"4+3 = d %br>&n"' 4 + 3(; print!"4+3)16 = d %br>&n"' 4+3)16(; print!"%br>%br>"(; print!"embagian %br>&n"(;
print!"476 ="(; print!476(; print!"%br>"(;
print!"473)16 ="(; print!473)16(; print!"%br>"(; print!"%br>%br>"(;
print!"8isa pembagian %br>&n"(;
print!"4* ="(; print!4*(; print!"%br>"(; print!"46 ="(; print!46(; print!"%br>"(; print!"43 ="(; print!43(; print!"%br>"(; print!"%br>%br>"(; print!"enaikan 55 %br>&n"(; $9 = 1; print!"9 = $9 %br>&n"(; $955; print!"955 = $9 %br>&n"(; print!"%br>%br>"(; print!"enurunan -- %br>&n"(; $9 = 10; print!"9 = $9 %br>&n"(; $9--;
print!"9-- = $9 %br>&n"(; />
=perator aritmetika +uga berlaku pada tipe data string
Prioritas Operator
0ontoh:
&#>2 C $ & atau 12$"
Operator penugasan (=)
Digunakan untuk memberikan nilai pada suatu variabel. 0ontoh:
%/pp
$9 = 100;
print!":ariabel 9 adala = $9 %br>&n"(; $9 5= 2;
print!":ariabel 9 adala = $9 %br>&n"(; $9 -= 2;
print!":ariabel 9 adala = $9 %br>&n"(; $9 7= 2;
print!":ariabel 9 adala = $9 %br>&n"(; $9 = 60;
print!":ariabel 9 adala = $9 %br>&n"(; $9 = 2;
print!":ariabel 9 adala = $9 %br>&n"(; $9 <= 2;
print!":ariabel 9 adala = $9 %br>&n"(; $9 = 2;
print!":ariabel 9 adala = $9 %br>&n"(; $9 = "8eratus";
$9 )= " ima";
print!":ariabel 9 adala = $9 %br>&n"(; />
Operator pembandingan
=perator pembandingan relasional" digunakan untuk pembandingan dua buah operand dan menghasilkan nilai benar true" 1" atau salah false" ".
Daftar operator pembandingan
=perator Fakna
GCC sama dengan
kurang dari
; lebih kurang
C kurang dari atau sama dengan ;C lebih dari atau sama dengan
4C tidak sama dengan
0ontoh: %/pp $a = 1; $b = 2; $ = 1; $me1 = "8a,a"; $me2 = "8?@?"; print!"$a > $b => d %br>&n"' $a > $b(; print!"$a % $b => d %br>&n"' $a % $b(; print!"$a == $ => d %br>&n"' $a == $(; print!"$a A= $b => d %br>&n"' $a A= $b(; print!"$a %> $ => d %br>&n"' $a %> $(;
print!"$me1 %> $me2 => d %br>&n"' $me1 %> $me2(; print!"$me1 == $me2 => d %br>&n"' $me1 == $me2(; />
Operator logika
Digunakan untuk menggabungkan kondisi berganda dan menghasilkan sebuah ekpresi (ang bernilai benar nilai 1" atau salah nilai ". =perator logika antara lain:
- and atau %% C; menghasilkan benar bila kedua operand benar. - or atau II C; menghasilkan benar bila ada salah satu operand benar.
- Jor C; menghasilkan benar +ika han(a salah satu di antara operand bernilai benar.
- 4 C; contoh: 48J C; menghasilkan nilai salah bila 8J bernilai benar kebalikan nilai aslin(a"
=perand1 =perand& and %%" or II " Jor
benar benar true true false
benar salah false true true
salah benar false true true
salah salah false false false
. 7ariabel variabel
Femungkinkan nama variabel ditentukan dan digunakan secara dinamis. 0ontoh:
8kota C 39alikpapan35 88kota C 15
Pern(ataan di atas identik dengan: 89alikpapan C 15
Penulisan 88kota dapat ditulis men+adi: 8L8kotaM lebih baik dipakai dalam perintah print"
Pern(ataan Kontrol
- if
9entukn(a:
i!ekspresi(
pern,ataan;
9agian pern(ataan di+alankan han(a bila bagian ekspresi bernilai benar. 0ontoh:
%/pp
$t.tal = 200000;
$keterangan = "ak ada disk.n"; i !$t.tal >= 100000(
$keterangan = "apat isk.n"; print!"$keterangan %br>&n"(; /> - if else 9entukn(a: i!ekspresi( pern,ataan_1 else pern,ataan_2
9agian pern(ataan*1 di+alankan bila ekspresi bernilai benar, pern(ataan*& di+alankan bila ekspresi bernilai salah.
0ontoh: %tml> %ead>
%title>Cenentukan Dari ini%7title> %7ead>
%b.d,>
%.rm met.d=#E ati.n="latF)pp"> Casukkan nama ari !Inggris(
%input t,pe="te9t" name="ari">%br>
%input t,pe="submit" Galue="8ubmit">%br> %7.rm>
%7b.d,> %7tml> %/pp
$sekarang = date!l(;
i!$_#EHari==$sekarang(
print!"Benar' ari ini ari ")$_#EHari(; else
print!"8ala' ari ini bukan ")$_#EHari(; /> - if elseif 9entukn(a: i!ekspresi( pern,ataan_1 elsei pern,ataan_2 else pern,ataan_3
Digunakan untuk pengambilan keputusan (ang melibatkan ban(ak alternatif. 0ontoh:
%tml> %ead>
%title>Cenentukan Dari ini%7title> %7ead>
%b.d,>
%.rm met.d=#E ati.n="latJ)pp"> Casukkan nama ari !Inggris(
%input t,pe="te9t" name="ari">%br>
%input t,pe="submit" Galue="8ubmit">%br> %7.rm> %7b.d,> %7tml> %/pp i!$_#EHari=="8unda,"( e. "Cinggu";
else i !$_#EHari=="C.nda,"( e. "8enin";
else i !$_#EHari=="uesda,"( e. "8elasa";
else i !$_#EHari=="Kednesda,"( e. "Labu";
else i !$_#EHari=="ursda,"( e. "Mamis";
else i !$_#EHari=="rida,"( e. "Oumat";
else i !$_#EHari=="8aturda,"( e. "8abtu"; else e. ""; /> - switch
Firipif elseif ,switch +uga men(elesaikan persoalan (ang melibatkan ban(ak alternatif. 9entukn(a sbb: swit !ekspresi( P ase ekspresi_ase_1 pern,ataan_1; break; ase ekspresi_ase_2 pern,ataan_2; break; ase ekspresi_ase_3 pern,ataan_3; ))) deault pern,ataan_n; Q
Contoh: %tml> %ead> %title>Cenentukan Dari%7title> %7ead> %b.d,> %.rm met.d=#E ati.n="lat10)pp"> Casukkan nama ari !Inggris(
%input t,pe="te9t" name="ari">%br>
%input t,pe="submit" Galue="8ubmit">%br> %7.rm> %7b.d,> %7tml> %/pp swit!$_#EHari( P ase "8unda," e. "Cinggu"; break; ase "C.nda," e. "8enin"; break; ase "uesda," e. "8elasa" ; break; ase "Kednesda," e. "Labu" ; break; ase "ursda," e. "Mamis" ; break; ase "rida," e. "Oumat" ; break; ase "8aturda," e. "8abtu" ; break; deault
e. "Casukkan nama ari ,ang benar)"; Q
/>
9agian default bisa tidak dimasukkan.
- Operator ? :
Dikenal sebagai operator tertiar(, disebabkan operator ini melibatkan tiga buah operand. =perand ini dapat digunakan untuk melakukan pengambilan keputusan tetapi dalam bentuk ekspresi dalam bentuk ekspresi. 9entuk penggunaann(a:
ekspresi_berk.ndisi / nilai_1 nilai_2
ekspresi di atas memberikan hasil sesuai dengan nilai_1 +ika ekspresi di depan tanda / bernilai benar. 'pabila ekspresi_berk.ndisi bernilai salah, maka hasil
ekspresi berupa nilai_2.
- while
pern(ataan untuk pengulangan. bentukn(a:
wile !ekspresi( P
pern,ataan_pern,ataan Q
pern(ataan wile akan memeriksa nilai ekspresi terlebih dahulu. Nika bernilai benar maka pern(ataan-pern(ataan (ang terdapat dalam LM akan di+alankan dan ekspresi dievaluasi lagi. Proses ini diulang terus menerus sampai ekspresi bernilai salah. 0ontoh: %/pp $bilangan = 1; wile !$bilangan %= 2*( P print!$bilangan)"%br>&n"(; $bilangan55; Q /> - do-while
serupa dengan pern(ataan )hile. 9entukn(a:
d.
P
pern,ataan_pern,ataan Q wile !ekspresi(;
pengulangan akan berakhir +ika ekspresi (ang diu+i sesudah pern(ataan-pern(ataan di+alankan" bernilai salah.
Contoh: %/pp $bilangan = 1; d. P print!$bilangan) "%br>&n"(; $bilangan55; Q wile !$bilangan % 24(; /> - for
pern(ataan (ang biasa digunakan untuk menangani pengulangan proses. bentukn(a:
.r !ekspresi_1; ekspresi_2; ekspresi_3( P
pern,ataan_pern,ataan Q
apabila (ang terletak antara tanda L dan M han(a berupa sebuah pern(ataan, maka tanda L dan M boleh tidak ditulis.
bentuk pern(ataan for identik dengan pern(ataan berikut: ekspresi_1; wile !ekspresi_2( P pern,ataan_pern,ataan ekspresi_3; Q Nadi:
- ekspresi*1 C ekspresi untuk memberi nilai a)al terhadap variabel (ang akan digunakan untuk melakukan pencacahan pengulangan.
- ekspresi*& berlaku sebagai kondisi untuk menentukan pengulangan terhadap pern(ataan (anga da di dalam LM akan dilakukan atau tidak.
- ekspresi* digunakan untuk mengatur nilai variabel (ang digunakan dalam ekspresi*1. 0ontoh:
%/pp
.r !$bilangan =1; $bilangan %=2*; $bilangan55( print!$bilangan) "%br>&n"(;
/>
%/pp $bil = 1 ; wile !$bil % 20( P print!$bil )"%br>&n"(; $bil55; Q /> - break
digunakan untuk keluar dari suatu kalang proses (ang berulang". 0ontoh:
%/pp
.r !$i = 1; $i %= 2*; $i55( P
print !$i )"%br>&n"(; i !$i == 10( break;
Q
print !"8elesai %br>&n"(; />
hasiln(a, bilangan 11 s.d &6 tidak tampak, karenabreak mengakhiri pern(ataanfor. Pemberian angka di belakang break ter+adi di dalam pern(ataanswitch, (ang
dimaksudkan untuk keluar dari kalang proses (ang berulang". 0ontoh: %/pp .r !$i = 1; $i %=2*; $i55( P swit !$i( P ase *
print!"N.m.r lima tanda break 1)%br>"(; break 1;
ase 10
print!"N.m.r sepulu kena tanda break 2)%br>"(; break 2; deault print!$i )"%br>&n"(; break; Q Q print!"8elesai %br>&n"(; />
Penanganan 9erkas
Konsep:Bebuah berkas mirip sebuah buku. 9ila kita membaca isi buku, hal pertama (ang kita lakukan adalah membuka buku. 9egitu +uga berkas, sebelum melakukan operasi pada berkas operasi seperti pembacaan, pemanipulasian, perekaman data", maka hal pertama
adalah membuka berkas lebih dulu, setelah itu baru operasi berkas, kalau sudah selesai penutupan berkas.
Betiap berkas memiliki penun+uk mirip kursor pada Oord". 9ila kita
membaca@merekam berkas, maka data (ang ditun+uk oleh penun+uk inilah (ang akan dibaca@direkam.
?ungsi-fungsi operasi berkas pada PHP
1. ntuk membuka berkas: .pen!nama_berkas' m.de( &. ntuk menutup berkas: l.se!pegangan(
argumen pegangan berkas diperoleh saat memanggil fopen. . ntuk merekam data ke berkas: puts!pegangan' data( 2. ntuk membaca data berkas5 gets!pegangan' panjang(
argumen pegangan berkas diperoleh ketika memanggil fopen, argumen pan+ang men(atakan +umlah karakter (ang akan dibaca.
6. ntuk membaca sebuah karakter pada berkas: get!pegangan(
. ntuk memeriksa apakah penun+uk berkas sedang menun+uk akhir berkas atau tidak: e.!pegangan(
<. ntuk memindahkan penun+uk berkas ke posisi dalam berkas: seek!pegangan' .set H'auan(
. ntuk meletakkan penun+ukan berkas ke a)al berkas:rewind!pegangan( Q. ntuk memperoleh posisi penun+uk berkas: tell!pegangan(
1. ntuk menampilkan seluruh data dimulai dari posisi penun+uk berkas hingga akhir berkas: passtru!pegangan(
Fode pembukaan berkas Fode Keterangan
r 9erkas han(a bisa dibaca. Penun+uk berkas akan diletakkan di a)al berkas.
r# 9erkas dibuka dengan mode baca dan tulis artin(a, bisa merekam data atau membaca data". Penun+uk berkas akan diletakkan di a)al berkas.
) Fode perekaman data. 9erkas akan diciptakan kalau belum ada. Kalau sudah ada, isin(a akan dihapus.
)# 9erkas dibuka dengan mode baca dan tulis artin(a, bisa merekam data atau membaca data". 9erkas akan diciptakan kalau belum ada. Kalau sudah ada, isin(a akan dihapus.
a Fode untuk penambahan data. Pada saat berkas dibuka, penun+uk berkas diletakkan pada akhir berkas. 9ila berkas belum ada, berkas
akan diciptakan.
a# 9erkas dibuka dengan mode baca dan tulis artin(a, bisa merekam data atau membaca data". Penun+uk berkas akan diletakkan di akhir berkas. 9ila berkas belum ada, berkas akan diciptakan.
0ontoh:
'plikasi Pengisian 9uku /amu Bederhana %tml>
%ead>
%title> Buku amu%7title> %7ead>
%b.d,>
%.rm ati.n="simpan)pp" met.d=#E> Nama %input t,pe=te9t name=nama>%br>%p> Email %input t,pe=te9t name=email>%br>%p> M.mentar %te9tarea r.ws=6 .ls=60
name=k.mentar>%7te9tarea>%br>%p>
%input t,pe=submit Galue="8ubmit">%p> %7.rm>
%7b.d,> %7tml>
simpanphp
%/pp
i!empt,!$_#EHnama( << empt,!$_#EHemail( << empt,!$_#EHk.mentar((
P
print!"M.l.m nama' email' dan k.mentar arus diisi"(; e9it;
Q
77pr.ses pen,impanan ke dalam berkas
$pegangan = .pen!"data7bukutamu)t9t"' a(; puts!$pegangan' $_#EHnama ) "&n"(;
puts!$pegangan' $_#EHemail ) "&n"(; puts!$pegangan' $_#EHk.mentar ) "&n"(; l.se!$pegangan(;
print!"erima kasi' k.mentar ?nda suda disimpan)%br> ?nda bisa k.mentar lagi de' tekan t.mb.l B?RM br.wser)"(;
/>
bacabukutmphp
%/pp
$n._data = 1; 77 untuk n.m.r urut;
$pegangan = .pen!"data7bukutamu)t9t"' r(; wile !Ae.!$pegangan(( P $nama = trim!gets!$pegangan' 2**((; i!$nama == alse( break; $email = trim!gets!$pegangan' 2**((; $k.mentar = trim!gets!$pegangan' 2**((; 77 tampilkan;
e. "%br>ata ke-")$n._data)" %br>&n"; print !"Nama s %br>&n"' $nama(;
print !"Email s %br>&n"' $email(;
print !"M.mentar s %br>&n"' $k.mentar(;
$n._data55; 77 n.m.r urut naik bertamba-inremental; Q
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! "ugas:
Belain penggunaan file teks sebagai tempat pen(impanan data buku tamu di atas,
berikan contoh lain pemanfaatan file teks. /ulis kode programn(a pada lembar +a)aban, dikumpulkan minggu depan, Benin, 1<@6, pada pertemuan berikutn(a masing-masing mahasis)a tidak boleh sama kode programn(a".
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR 9ila menggunakan file teks flat file" untuk men(impan data, maka:
1. data mudah dibaca oleh manusia dan mudah dimanipulasi atau bahkan dihapus secara manual menggunakan teks editor.
&. data (ang disimpan sangat terbatas, kadang dipengaruhi kemampuan file-s(stem dalam mengelola kapasitas file, seperti ?'/-& Oindo)s" (ang han(a mampu men(impan file sebesar 2S.
. informasi (ang terdapat dalam file teks dapat digali secara sederhana dengan utilitas teks, di niJ@inuJ seperti dengan perintah at, ead, tail, dan grep)
2. membutuhkan program (ang terdiri atas kode-kode (ang pan+ang" dan rumit untuk mem-parse memecah" tiap baris atau paragraf file teks ke dalam struktur data variabel sebelum melakukan pengolahan terhadap variabel-variabel
tersebut.
ntuk itu diperlukan perangkat lunak database. Fen(impan data di database memiliki ban(ak keuntungan (aitu kemudahan dan kecepatan. Dengan database relasional, tidak perlu menulis program berpuluh atau ratusan ribu baris han(a sekedar untuk Tuer( atau
reporting, tapi cukup dengan menulis sintaks@perintah@bahasa BU (ang cukup pendek, (ang akan dibahas berikutn(a.
Pengenalan Database
Database basis data" adalah kumpulan data (ang saling terkait (ang disusun agar mudah untuk diakses.
Fanfaatdatabase:
1. Fudah untuk memperoleh informasi tertentu. &. Dalam aplikasi, mampu untuk mendapatkan
+a)aban pertan(aan-pertan(aan seperti:
◦ 9erapa +umlah mahasis)a (ang mengikuti
kuliah VPengantar 9asis DataW$
◦ Biapa sa+a (ang lulus pada periode 'gustus
tahun ini$
◦ 9erapa persentase mahasis)a (ang tidak
melakukan registrasi pada semester lalu$
◦ 9erapa +umlah BKB (ang diperoleh oleh
mahasis)a dengan F 1&26$ 9erbagai contoh aplikasi basis data:
1. '/F Automatic Teller Machine"
&. e-Fobile 9anking dan nternet 9anking . /racking paket barang
2. Bistem nformasi 'kademik
6. Pembela+aran +arak +auh Distance Learning " . eservasi tiket pesa)at dan kereta api
<. Bistem perpustakaan
. Social Network ?acebook, /)itter, Plurk, dsb" Keuntungan menggunakan database:
1. ndependensi program-data &. Feminimalkan redundansi data . Feningkatkan konsitensi data
2. Feningkatkan kemampuan berbagi data
6. Feningkatkan produktivitas pengembangan aplikasi . Feningkatkan pencapaian standarisasi
<. Feningkatkan kuantitas dan kualitas data
. Feningkatkan tanggapan dan kemudahan akses terhadap data Q. Fengurangi pemeliharaan program
Balah satu model database (ang terkenal adalah model relasional, dimana data disusun dalam bentuktabel-tabel, dan antar dua tabel bisa pun(ahubungan.
Database Akademik Mahasiswa Registrasi Matakuliah Nilai Matakuliah
Karakteristik dalam relasional
1. tidak ada baris (ang kembar tidak ada redundansi" &. urutan baris tidak penting
. setiap atribut memiliki nama (ang unik 2. letak atribut bebas
SQL (Structured Query Language)
BU baca: si-k)el, a)aln(a adalah BEUE" merupakan salah satu cara untuk berinteraksi dengan database relasional, dibuat pertama kali oleh 9F sebagai
bahasan(a database relasional. Konsep di BU secara langsung merupakan ter+emahan lansung akan apa (ang ada pada model relasional. Fisaln(a, tabel dan vie) di BU adalah relasi, tupel adalah ro) baris", deretan atribut adalah kolom, ada +uga dikenal dengan sebutan domain, relational integrit(, ke(, dan sebagain(a.
9ahasa BU cenderung lebih mendekati bahasa nggris dan tidak terlalu ban(ak
mengandung simbol atau operator (ang sangat sulit diingat. 9ahasa BU adalah bahasa (ang bersifat deklaratif, tidak prosedural. Bebuah Tuer( BU (ang kompleks pun
din(atakan dalam sebuah statetment sa+a.
9ahasa BU tidak bersifat case-sensitive membedakan karakter huruf besar dan kecil". ama-nama tabel dan kolom +uga umumn(a tidak bersifat case-sensitive untuk
lingkungan tertentu seperti di Oindo)s, sedangkan di niJ@inuJ sensitive. Feski demikian, agar memudahkan untuk digunakan di segala latform@lingkungan sebaikn(a gunakan case-sensitive.
9ahasa BU Bintaks BU" terdiri atas statement atau kalimat atau perintah. Btatement adalah unit dasar dalam bahasa BU. 'ntara satu statement dengan (ang lain dipisahkan tanda titik koma 5". Bebuah statetement dapat ditulis dalam beberapa baris -- dipotong- potong dengan newline -- tanpa mengubah artin(a, dengan tu+uan memudahkan
pembacaan saat menulis Tuer( pan+ang.
Btatement BU digolongkan men+adi kelompok: DF, DD, dan D0
1. DF data maniulation language", adalah perintah@kalimat BU untuk Tuer( database BEE0/", memasukkan data baris" BE/", memperbarui
PD'/E", atau menghapus data DEE/E", dan mengosongkan sebuah tabel /0'/E".
&. DD data definition language", adalah perintah (ang berkaitan dengan
pembuatan tabel 0E'/E /'9E", mengubah tabel '/E /'9E", dsb. . D0 data control language", berhubungan dengan pengaturan akses ke data, seperti S'/ untuk memberi user akses terhadap se+umlah perintah" dan E7=KE untuk mencabut akses (ang sebelumn(a di-S'/".
Belain kelompok tersebut, ada +uga perintah 0=FF/ dan =9'0K (ang
berhubungan dengan transaksi, DE0'E@?E/0H@F=7E@0=BE (ang berhubungan dengan cursor, dan lain sebagain(a.
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR Boal atihan mengingat kembali materi basis data":
1. 9uatlah perintah BU untuk membuat database baru dengan nama: Bekolah. &. 9uatlah perintah BU untuk membuat tabel baru dengan nama: BBO' (ang
terdiri atas 2 kolom, (aitu F, 'F', NK, NB'. . 9uatlah perintah BU untuk mengisi baris tabel BBO'.
Database
dalam PHP
7endor perangkat lunakdatabase (ang didukung oleh PHP antara lain: 1. d9ase &. D9## . ?ront9ase 2. filePro 6. ?irebird@nter9ase . nformiJ
<. 9F D9& X 9F D9&, 0loudscape and 'pache Derb(
. ngres X ngres D9FB, ED90, and Enterprise 'ccess Sate)a(s Q. FaJD9
1. Fongo 11. mBU
1&. FssTl X Ficrosoft BU Berver 1. F(BU
12. F(sTli X F(BU mproved EJtension 16. F(sTlnd X F(BU ative Driver 1. =0 X =racle =0
1<. =vrimos
1. BUParadoJ X ParadoJ ?ile 'ccess 1Q. PostgreBU
&. BUite &1. BUite &&. B(base
&. tok(o*t(rant
Fengenal F(BU
F(BU adalah database relasional D9FB, !elational Database Management
System" gratis dan open-source a)aln(a memiliki lisensi SP,"eneral #ublic License$
namun kini memiliki lisensi dari =racle" (ang mula-mula tersedia di niJ@inuJ, namun kini tersedia di sistem operasi lain seperti Oindo)s. F(BU mudah diinstall, dipakai, dan dapat dihubungkan dengan berbagai bahasa permograman, sangat
aksesibel.
Kelebihan F(BU pada kecepatann(a, baik kecepatan koneksi maupun kecepatan Tuer(-Tuer( sederhana. ?itur-fitur (ang disediakan cukup menbantu dalam pembuatan aplikasi )eb, seperti klausa F/ dalam BEE0/, full teJt indeJ, dan recover(
database (ang mudah.
Kelemahan F(BU kadang tidak sesuai standar, seperti terlalu mudah menerima masukan data. 9elum ada fitur vie), trigger, stored procedure baru ada di F(BU 6", atau check constraint (ang sudah diadopsi ban(ak database lain seperti FBBU, =racle, dan PostgreBU.
#tilitas $%&'
Bebelum melangkah ke perintah-perintah BU, perlu diketahui lebih dulu beberapa utilitas (ang akan biasa digunakan dalam mengoperasikan F(BU. Pada pembahasan ini F(BU di+alankan pada sistem operasi inuJ. ntuk pengguna Oindo)s bisa
men(esuaikan dengan perintah (ang sama. Dengan memahami perintah-perintah dasar ini diharapkan nantin(a akan bisa menggunakan perintah-perintah (ang ada di
antarmuka program seperti F(BU?ront, phpm(admin, F(BU Uuer( 9ro)ser dan sebagain(a".
m%sl
m(sTl merupakan program (ang disediakan F(BU untuk berdialog dengan server F(BU. Pada sistem operasi Oindo)s dapat ditemukan pada direktori bin m(sTl.eJe". Pada niJ@inuJ cukup ketik pada terminal dengan perintah:
$ m,sSl H.pti.ns Hdatabase H%inpputile H>.utputile ntuk mengetahui YoptionsZ, ketik m,sSl --elp
ntuk masuk ke m(sTl, ketik:
$ m,sSl -u username -ppassw.rd
Betelah perintah di atas di+alankan maka dapat memberikan perintah BU dan beberapa perintah lain (ang berkaitan dengan operasi database.
0ontoh:
suburaTl.al.stU$ m,sSl -u r..t -p Enter passw.rd
Kel.me t. te C,8V m.nit.r) R.mmands end wit ; .r &g) @.ur C,8V .nneti.n id is 141
8erGer Gersi.n *)0)W*-0ubuntu10)3 !Xbuntu(
,pe Yelp;Y .r Y&Y .r elp) ,pe Y&Y t. lear te buer)
m,sSl>
untuk keluar ketikkan perintah e9it' Suit atau &S
m%sladmin
m(sTladmin adalah utilitas (ang digunakan untuk memenuhi tugas-tugas administrasi F(BU. Bintak perintahn(a adalah:
m,sSladmin H.pti.ns .mmand .mmand 0ontoh melihat versi F(BU:
suburaTl.al.stU$ m,sSladmin -:
m,sSladmin :er F)61 istrib *)0)W*' .r debian-linu9-gnu .n i6F4
ntuk mengetahui options, ketik m,sSladmin --elp atau m,sSladmin -/ m(sTldump
Digunakan untuk men-dump skema informasi dan data dari database, dengan maksud untuk mem-backup database agar dapat diimpor dan digunakan pada server lain. Bintakn(a adalah:
m,sSldump H.pti.ns database Htables
m%slimport
Digunakan untukmengambil data dari D9FB lain, atau dari file teks seperti .tJt, atau dari file spreadsheet seperti EJcell. Bintakn(a sebagai berikut:
9eberapa command m(sTladmin:
Command *eskripsi
create databasename 0reate a ne) database
debug nstruct server to )rite debug information to log drop databasename Delete a database and all its tables
eJtended-status Sives an eJtended status message from the server flush-hosts ?lush all cached hosts
flush-logs ?lush all logs
flush-status 0lear status variables flush-tables ?lush all tables
flush-threads ?lush the thread cache
flush-privileges eload grant tables same as reload" kill id,id,... Kill m(sTl threads
pass)ord ne)-pass)ord 0hange old pass)ord to ne)-pass)ord, F(BU 2.1 hashing.
old-pass)ord ne)- pass)ord
0hange old pass)ord to ne)-pass)ord in old format.
ping 0heck if m(sTld is alive
processlist Bho) list of active threads in server reload eload grant tables
refresh ?lush all tables and close and open logfiles shutdo)n /ake server do)n
status Sives a short status message from the server start-slave Btart slave
stop-slave Btop slave
variables Prints variables available version Set version info from server
Perintah &' pada $%&'
Fembuat database:
m,sSl> RLE?E ??B?8E kulia; 0ontoh:
m,sSl> reate database kulia;
Vuer, ZM' 1 r.w aeted !0)00 se(
0atatan: nama database tidak boleh sama dengan kosakata BU seperti BEE0/, BE/, PD'/E dan semacamn(a, untuk menghindari kerancuan.
ntuk melihat database (ang sudah ada: m,sSl> 8DZK databases; 0ontoh: m,sSl> s.w databases; 5---5 < atabase < 5---5 < in.rmati.n_sema < < db_baak < < db_inklusi < < db_ri[ali < < db_satria < < db_stik.m < < kulia < < m,sSl < < ppm,admin < < rumaais,a < 5---5 10 r.ws in set !0)01 se(
Fengaktifkan@memilih database (ang akan digunakan5 m,sSl> X8E kulia;
0ontoh:
m,sSl> use kulia; atabase anged
Fembuat tabel baru pada database kulia: m,sSl> reate table table_name !
.lumn_1 .lumn_t,pe .lumn_attributes' .lumn_2 .lumn_t,pe .lumn_attributes' primar, ke,!.lumn_name('
inde9 inde9_name!.lumn_name( (;
0ontoh:
m,sSl> reate table siswa ! -> nim Garar!10('
-> nama Garar!30(' -> primar, ke,!nim( -> (;
Vuer, ZM' 0 r.ws aeted !0)04 se( Felihat tabel (ang telah dibuat pada database kulia: 0ontoh: m,sSl> s.w tables; 5---5 < ables_in_kulia < 5---5 < siswa < 5---5 1 r.w in set !0)00 se(
Fen(isipkan data pada tabel sis)a:
m,sSl> IN8EL INZ kulia)siswa ! -> nim' -> nama -> ( -> :?XE8 ! -> Y1001Y' YBudimanY -> (' ! -> Y1002Y' YO.n.Y -> (;
Vuer, ZM' 2 r.ws aeted !0)00 se( Le.rds 2 upliates 0 Karnings 0
Felihat data pada tabel sis)a:
0ontoh: m,sSl> selet + r.m kulia)siswa; 5---5---5 < nim < nama < 5---5---5 < 1002 < O.n. < < 1001 < Budiman < 5---5---5 2 r.ws in set !0)00 se(
Fengubah data sis)a atas nama Nono men+adi Non(: update nama_tabel set
nama_k.l.m1=Ynilai1Y' nama_k.l.m2=Ynilai2Y' nama_k.l.m3=Ynilai3Y' )))
were %klausa were>; 0ontoh:
m,sSl> update kulia)siswa set ->nama=YO.n,Y
->were nim=Y1002Y;
Vuer, ZM' 1 r.w aeted !0)00 se(
L.ws mated 1 Ranged 1 Karnings 0 Felihat apakah data sudah berubah:
selet + r.m nama_tabel; 0ontoh: m,sSl> selet + r.m kulia)siswa; 5---5---5 < nim < nama < 5---5---5 < 1002 < O.n, < < 1001 < Budiman < 5---5---5 2 r.ws in set !0)00 se( Fenghapus data G9udimanG:
delete r.m nama_tabel were %klausa were>; 0ontoh:
m,sSl> delete r.m kulia)siswa were nim=Y1001Y; Vuer, ZM' 1 r.w aeted !0)00 se(