You are on page 1of 15

BAB II DASAR TEORI 2.1 SISTEM INFORMASI 2.1.1 2.

2 PHP PHP adalah bahasa pemrograman skrip yang paling banyak dipakai saat ini. PHP banyak dipakai untuk pemrograman web, walaupun tidak tertutup kemungkinan untuk digunakan untuk pemakaian lain. PHP merupakan salah satu bahasa server side scripting yang disisipkan di antara bahasa HTML untuk membuat halaman web yang dinamis. Dan karena bahasa berbasis server side, maka PHP akan dieksekusi di server, sehingga yang akan dikirimkan ke web browser adalah hasil dalam bentuk HTML dan kode PHP tidak akan terlihat. Pada awalnya PHP merupakan kependekan dari Personal Home Page ( itus personal!. PHP pertama kali dibuat oleh "asmus Lerdor# pada tahun $%%&. Pada waktu itu PHP masih bernama Form Interpreted ('(!, yang wu)udnya berupa sekumpulan skrip yang digunakan untuk mengolah data #ormulir dari web. elan)utnya "asmus merilis kode sumber tersebut untuk umum dan menamakannya PHP*'(. Dengan perilisan kode sumber ini men)adi sumber terbuka, maka banyak pemrogram yang tertarik untuk ikut mengembangkan PHP. Pada +ovember $%%,, dirilis PHP*'( -... Pada rilis ini, interpreter PHP sudah diimplementasikan dalam program /. Dalam rilis ini disertakan )uga modul0modul ekstensi yang meningkatkan kemampuan PHP*'( secara signi#ikan. Pada tahun $%%,, sebuah perusahaan bernama 1end menulis ulang interpreter PHP men)adi lebih bersih, lebih baik, dan lebih cepat. 2emudian pada 3uni $%%4, perusahaan tersebut merilis interpreter baru untuk PHP dan meresmikan rilis tersebut sebagai PHP 5.. dan singkatan PHP diubah men)adi akronim berulang PHP: Hypertext Preprocessing.

Pada pertengahan tahun $%%%, 1end merilis interpreter PHP baru dan rilis tersebut dikenal dengan PHP 6... PHP 6.. adalah versi PHP yang paling banyak dipakai pada awal abad ke0-$. 7ersi ini banyak dipakai disebabkan kemampuannya untuk membangun aplikasi web kompleks tetapi tetap memiliki kecepatan dan stabilitas yang tinggi. Pada 3uni -..6, 1end merilis PHP &... Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar. 7ersi ini )uga memasukkan model pemrograman berorientasi ob)ek ke dalam PHP untuk men)awab perkembangan bahasa pemrograman ke arah paradigma berorientasi ob)ek. alah satu #ungsi PHP adalah untuk menerima, mengolah, dan menampilkan data dari dan ke sebuah website. Data yang diterima akan diolah di sebuah program basis data server dan kemudian hasilnya ditampilkan kembali ke layar web browser sebuah website. eorang pengguna internet tidak dapat melihat kode program yang ditulis dalam PHP sehingga keamanan dari halaman web men)adi lebih ter)amin. Proses eksekusi kode PHP ditun)ukan pada 8ambar -.5

8ambar -.5 Proses 9ksekusi 2ode PHP

Pada proses diatas, :eb browser mengakses kode PHP melewati web server, web server akan membaca kode PHP dari dokumen yang tersimpan, kode yang di)alankan oleh web server akan diter)emahkan oleh PHP engine, kode PHP yang telah diter)emahkan men)adi #ormat yang dapat dibaca di web browser. 'ile yang telah diter)emahkan akan dikirim kembali ke web server untuk

ditampilkan ke web browser, web server menampilkan kode yang telah diter)emahkan ke web browser. 2onsep pemrograman PHP itu interpreter yaitu program sistem yang ber#ungsi sebagai penter)emah kode program yang dibuat oleh programmer ke dalam bahasa mesin. PHP engine mengeksekusi kode program pada sisi server (disebut server0side! berbeda dengan mesin maya 3ava yang mengeksekusi program pada sisi klien (client0side!. Proses eksekusi kode PHP yang disisipkan pada halaman HTML seperti gambar diatas secara diagram dapat men)elaskan gambaran tentang konsep pemrograman php. 2.2.1 Kelebihan PHP ;ahasa pemrograman PHP memiliki beberapa kelebihan antara lain< $. ;ahasa pemrograman PHP adalah sebuah bahasa skrip yang tidak melakukan sebuah kompilasi dalam penggunaannya. -. :eb erver yang mendukung PHP dapat ditemukan di mana0mana dari mulai (( sampai dengan =pache, dengan kon#igurasi yang relati# mudah. 5. Dalam sisi pengembangan lebih mudah, karena banyaknya milis0milis dan developer yang siap membantu dalam pengembangan. 6. Dalam sisi pemahaman, PHP adalah bahasa scripting yang paling mudah karena re#erensi yang banyak. &. PHP adalah bahasa sumber terbuka (open source! yang dapat digunakan di berbagai mesin (Linu>, ?ni>, :indows! dan dapat di)alankan secara runtime melalui console serta )uga dapat men)alankan perintah0perintah sistem. @. PHP diterbitkan secara gratis dan dapat diambil oleh siapa sa)a. 2.2.2 Variabel pada PHP 7ariabel dapat disebut sebagai sebuah tempat penyimpanan data bagi nilai numeris maupun non numeris, agar dapat digunakan pada bagian lain dari script program PHP. PHP mendukung berbagai )enis variabel yaitu<

a. Integer (bilangan bulat! b. ;ilangan floating point (presisi tunggal, ganda! c. Boolean d. Null (untuk variabel yang belum diset! e. String f. rray g. !b"ect #. $esource 3ika menggunakan bahasa pemrograman / atau Pascal, maka kita harus mende#inisikan variabel tiap elemen, namun pada PHP kita tidak perlu mende#inisikan terlebih dahulu )enis variabel sebelum menggunakannya. PHP memiliki kepandaian untuk membedakan )enis variabel secara otomatis berdasarkan konteks yang sedang berlaku bagi variabel tersebut. etiap variabel dalam PHP selalu dimulai dengan tanda dolar (ABA! dan harus dimulai dengan huru# dan dapat diikuti oleh huru# dan angka. Dengan demikian, Bwarpspeed, BimpulsCspeed, BL/=" dan BDilithium$ adalah contoh penamaan variabel PHP yang valid. etiap variabel dalam PHP peka terhadap perbedaan huru# kapital dan non kapital, sehingga Bsubspace, B ub pace, dan B ?; P=/9 adalah tiga buah variabel yang berbeda. 2.2.3 E pl!de 'ungsi explode() merupakan #ungsi yang digunakan untuk memisahkan suatu string. tring yang dipisah harus mempunyai karakter yang digunakan untuk separator. karakter separator ini si#atnya bebas, sebagai contohnya karakter spasi, karakter titik, karakter koma, ataupun karakter lainnya sesuai dengan kebutuhan. ;erikut ini adalah contoh dari #ungsi explode()<
<?php $pizza = "piece1 piece2 piece3 piece4 piece5 piece6"; piece1 piece2 $pieces = explode(" ", $pizza); echo $pieces[0]; echo $pieces[1]; ?!

2.2."

Opera#!r pada PHP


Dperator merupakan suatu simbol yang dipakai untuk memanipulasi data, seperti

perkalian, pen)umlahan, pengurangan dan pembagian serta penggunaan untuk operasi lainnya. Dperator pada PHP terdiri dari tu)uh macam, antara lain< $. Dperator =ritmatika

Dperator aritmatika adalah operator yang digunakan untuk melakukan #ungsi matematika seperti yang ditun)ukkan pada table -.-.
Tabel -.$ Dperator aritmatika pada PHP Opera#!r ' ( ) ** + * Opera$i Perkalian Pembagian Modulus Pre*Post decrement Pen)umlahan Pengurangan Pen%&naan BaEBb Ba*Bb BaFBb 00Ba atau 00Bb BaGBb Ba0Bb

-. Dperator Perbandingan

Dperator

perbandingan

adalah

operator

yang

digunakan

untuk

membandingkan antara nilai satu dengan lainnya seperti yang ditun)ukkan pada table -.-.
Tabel -.- Dperator perbandingan pada PHP Opera#!r H IJ HJ JJ KJ Pen%%&naan BaHBb Ba IJ Bb Ba HJ Bb BaJJ Bb Ba KJ Bb Ba IJ Bb Ha$il E,al&a$i Nilai true #alse true #alse true #alse Ke#eran%an lebih besar daripada lebih kecil atau sama dengan lebih besar atau sama dengan sama dengan tidak sama dengan lebih kecil daripada

5. Dperator Logika

Tabel -.5 menun)ukkan operator logika dalam PHP.

Tabel -.5 Dperator logika pada PHP Opera#!r LL MM K Ar#i =+D D" +DT E.$pre$i Ba JJ Bc LL Ba H Bb Ba LL Bb I Bb Ba JJ Bc MM Ba I Bb Ba H Bc MM Ba I Bb KBa Ha$il E,al&a$i Nilai True 'alse True 'alse 'alse

6. Dperator Increment%&ecrement

Pre%Post increment dan decrement masing0masing adalah penambahan dan pengurangan satu. =pabila operator diletakkan sebelum variabel, misal GGBi atau 00Bi maka nilai Bi akan ditambahkan atau dikurangkan $ sebelum keseluruhan operasi dalam ekspresi diker)akan dan sebaliknya apabila operator diletakkan setelah variabel, misal BiGG atau Bi00 maka nilai Bi akan ditambah atau dikurangi $ setelah operasi dalam ekspresi diker)akan.
&. Dperator String

Hanya ada satu operator string, yaitu operator concatenation (.!, contohnya <
<?php! $a="#alo"; $$=$a %"&ela'a( )a(a*+ di ,#,"; $$ $e-isi.a* /#alo &ela'a( )a(a*+ di ,#," ?!

@. Dperator Bitwise

Dperator bitwise dapat digunakan untuk membuat bit tertentu dari suatu integer men)adi $ atau ..
,. Dperator 'ernary

Dperator ternary merupakan model penyederhanaan dari bentuk if(else yang setiap blok dari if dan else hanya satu perintah. ehingga model ini cocok untuk melakukan proses pengisian suatu hasil pengu)ian. 2.2./ In#e%ra$i PHP den%an Ba$i$da#a PHP yang digabungkan dengan basisdata akan lebih berkekuatan )ika digabungkan dengan basis data yang dapat diandalkan, gratis dan mudah diinstalasi. Terdapat dua )enis database yang memenuhi yaitu My NL dan Postgre NL. 2edua )enis database ini dipergunakan karena kiner)a yang bagus dan, untuk mengaksesnya, PHP mempunyai #ungsi khusus. Da#tar basis data yang didukung oleh PHP sampai versi & ditun)ukkan pada tabel -.6.
Tabel -.6 Da#tar ;asisdata yang didukung PHP

N!. $. -. 5. 6. &. @. ,. 4. %. $.. $$.

Na0a Ba$i$da#a =dabas D D;ase 9mpress 'ilePro (read0only! Hyperwave (;M D;(n#ormi> (ngres (nterbase 'ront;ase M NL

N!. $-. $5. $6. $&. $@. $,. $4. $%. -.. -$. --.

Na0a Ba$i$da#a Direct M 0 NL My NL DD;/ Dracle (D/(, dan D/(4! Dvrimos Postgre NL NLite olid ybase 7elocis ?ni> dbm

PHP mempunyai #ungsi khusus untuk mengakses My NL. =da sekitar 64 #ungsi yang didukung PHP dalam mengakses My NL dalam membuat aplikasi. =dapun yang biasa digunakan di antaranya adalah < a. '0s1l2co**ec(() 'ungsi mysOlCconnect adalah untuk menghubungkan PHP dengan database My NL. 'ormat #ungsinya adalah<
'0s1l2co**ec( pass4o-d); (s(-i*+ hos(*a'e, s(-i*+ 3se-*a'e, s(-i*+

b. '0s1l2selec(2d$ etelah terhubung ke database My NL dengan menggunakan mysOlCconnect, langkah selan)utnya adalah memilih database yang akan digunakan. 'ungsi mysOlCselectCdb digunakan untuk memilih database. 'ormat penulisan #ungsinya adalah <
'0s1l2selec(2d$ (s(-i*+ da(a$ase, .o*e.si)

c. '0s1l213e-0 Dalam database My NL, perintah untuk melakukan transaksi ialah perintah NL. ebutan untuk mengirim perintah NL dinamakan Ouery. Nuery memberi perintah kepada database untuk melakukan apa yang dikehendaki. 'ormat #ungsinya adalah<
i*( '0s1l213e-0(s(-i*+ 13e-0, i*( [li*.2ide*(i5ie-]);

d. '0s1l2*3'2-o4s 2egunaan dari #ungsi ini adalah untuk menghitung )umlah baris yang dikenai oleh proses NL. 'ormat #ungsinya adalah<
i*( '0s1l2*3'2-o4s(i*( -es3l();

e. '0s1l25e(ch2a--a0 'ungsi ini berkaitan dengan menampilkan data. ?ntuk menampilkan data, digunakan #ungsi mysOlC#etchCarray. Dengan #ungsi ini, hasil Ouery ditampung dalam bentuk array. 'ormat #ungsinya adalah<
a--a0 '0s1l25e(ch2a--a0(i*( -es3l(, i*( [-es3l(2(0pe] );

2.3

Ba$i$da#a M1S23 My NL adalah sebuah perangkat lunak sistem mana)emen basis data NL

(bahasa (nggris< database management system! atau D;M yang multit#read, multi) user, dengan sekitar @ )uta instalasi di seluruh dunia. My NL =; membuat My NL tersedia sebagai perangkat lunak gratis di bawah lisensi 8+? 8eneral Public License (8PL!, tetapi mereka )uga men)ual di bawah lisensi komersial untuk kasus0kasus di mana penggunaannya tidak cocok dengan penggunaan 8PL.

Tidak sama dengan proyek0proyek seperti =pache, di mana perangkat lunak dikembangkan oleh komunitas umum dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing0masing, My NL dimiliki dan disponsori oleh sebuah perusahaan komersial wedia My NL =;, di mana memegang hak cipta hampir atas semua kode sumbernya. 2.3.1 Per.e0ban%an M1S23 My NL merupakan hasil buah pikiran dari Michael PMontyQ :idenius, David =>mark dan =llan Larsson yang dimulai pada tahun $%%&. Mereka kemudian mendirikan perusahaan bernama My NL =; di salah satu klien My NL =;. My NL versi $.. dirilis pada Mei $%%@ dan penggunaannya hanya terbatas di kalangan intern sa)a. Pada bulan Dktober $%%@, My NL versi 5.$$.. dirilis ke masyarakat luas di bawah lisensi PTerbuka Tapi TerbatasQ. ;arulah pada bulan 3uni -..., My NL =; mengumumkan bahwa mulai My NL versi 5.-5.$% diterapkan sebagai 8PL (8eneral Public License!. Dengan lisensi ini, maka P iapa pun boleh melihat program aslinya dan menggunakan program eksekusinya dengan cuma0cuma. Dan bila ingin memodi#ikasi pada program aslinya, maka program modi#ikasi tersebut harus dilepas di bawah lisensi 8PL )ugaQ. Hingga kini My NL terus berkembang dengan berbagai penyempurnaan sehingga dirilis My NL versi &...-$ pada bulan Mei -..@, yang semula untuk melakukan administrasi dalam basis data My NL, dengan menggunakan modul yang berupa /ommand Prompt (perintah< mysOl dan mysOladmin!. (nter#ace!. 2.3.2 Perin#ah Da$ar M1S23 Dalam men)alan My NL diperlukan berbagai perintah untuk membuat suatu database, berikut ini disebutkan beberapa perintah dasar dalam menggunakan aat ini dapat dirancang sebuah database melalui modul berbasis gra#ik 8?( (8raphical ?ser wedia. Tu)uan awal ditulisnya program ini adalah untuk mengembangkan aplikasi web yang akan digunakan oleh

My NL. ?ntuk men)alankan My NL pertama kali cukup dengan mengetikkan 01$4l pada /ommand Prompt. Perintah0perintahnya adalah sebagai berikut <
$. Menampilkan basis data < HD: D=T=;= 9 R -. Membuat basis data baru < /"9=T9 D=T=;= 9 basis data R 5. Memilih basis data yang akan digunakan < ? 9 basis data R 6. Menampilkan tabel < HD: T=;L9 R &. Membuat tabel baru < /"9=T9 T=;L9 tabel (#ield spesi#ikasiC#ield,...! R @. Menampilkan struktur tabel <

HD: /DL?M+

'"DM tabel atau

D9 /"(;9 tabel R
,. Mengubah struktur tabel < =LT9" T=;L9 tabel 3enisCPengubahan R 4. Mengisikan

data < (+ 9"T (+TD tabel (kolom$,...! 7=L?9 atau (+ 9"T (+TD tabel 9T kolom$ J

(SdataCkolom$T,...!R SdataCkolom$T,...R
%. Menampilkan data <

9L9/T kolom '"DM tabel :H9"9 kriteria

D"D9" ;U kolom atau 9L9/T E '"DM tabel R


$.. Mengubah data < ?PD=T9 tabel 9T kolom J pengubahanCdata :H9"9

kriteriaR
$$. Menghapus data < D9L9T9 '"DM tabel :H9"9 kriteria R $-. Menghapus tabel < D"DP tabel R $5. Menghapus basis data < D"DP database R $6. 2eluar dari My NL < N?(T atau 9V(T

2.3.3

Kei$#i0e5aan M1S23 ebagai database server yang memiliki konsep database modern, My NL

banyak memiliki keistimewaan. ;erikut ini diantaranya < a. Portability My NL dapat ber)alan stabil pada berbagai sistem operasi diantaranya seperti< Linu> 'ree; D. Mac D V server, olaris, =miga, HP0?V dan masih banyak lagi.

b. !pen source My NL didistribusikan secara open source dibawah lisensi 8PL sehingga dapat dipergunakan secara cuma0cuma. c. *ultiuser My NL dapat digunakan oieh beberapa user dalam waktu yang bersamaan tanpa banyak masalah atau kon#lik. Hal ini memungkinkan sebuah database server My NL dapat diakses client secara bersamaan. d. Performance 'uning My NL memiliki kecepatan yang menk)ubkan dalam menangani Ouery sederhana, dengan kata lain dapat memproses lebih banyak satuan waktu. e. +olumn 'ypes My NL memiiiki banyak kolom yang sangat kompieks, seperti < signed*unsigned integer, #loat, double, char, varchar, te>t, blob, date, time, datetime, timestamp, year, set serta enum. #. +ommand dan Functions My NL memiliki operator dan #ungsi secara penuh yang mendukung perintah 9L9/T dan :H9"9 dalam ,uery. 2." A6A7 =3=V memiliki kepan)angan =synchronous 3avascript =nd VML merupakan suatu teknik baru dalam dunia web. e)ak telah dikembangkan sekitar -05 tahun yang lalu, =3=V mulai dilirik oleh para web desainer dan web programmer. Dengan adanya =3=V, akses data ke server yang dikirim melalui client via web dapat lebih cepat daripada mekanisme biasa. Hal ini dikarenakan =3=V tidak perlu melakukan proses loading page (re#resh page! atau pindah ke page yang lain. =3=V dapat diintegrasikan dengan server side programming seperti PHP, = P, 3 P dll. Perhatikan mekanisme proses =3=V menggunakan PHP berikut ini NL per

8ambar -.6 Mekanisme Proses =3=V Menggunakan PHP

Pada mekanisme di atas, proses berawal dari web client. :eb client mereOuest sebuah halaman PHP ke server melalui 3avascript. elan)utnya server akan merespon dan men)alankan script PHP. cript PHP akan menghasilkan respon dalam bentuk VML dan data VML tersebut akan dikirim kembali ke web client untuk diolah oleh 3avascript. Hasil olahan )avascript tersebut akhirnya akan ditampilkan di web client sebagai output tanpa harus mere#resh halaman web. ;andingkan dengan mekanisme biasa dalam men)alankan PHP seperti yang ditun)ukkan pada gambar berikut<

8ambar -.& Mekanisme proses men)alankan PHP

Pada mekanisme biasa, respon yang dihasilkan oleh server berupa HTML yang mengakibatkan halaman web akan mere#resh tampilan. Dilihat dari sisi e#isiensi, hal ini akan membutuhkan lebih banyak waktu dan byte data untuk melakukan load daripada VML. Dengan demikian =3=V ini merupakan teknologi baru yang merupakan hasil perkawinan sempurna antara pemrograman sisi klien

(3avascript!

dan

pemrograman

sisi

server.

=3=V

tidak

hanya

dapat

diimplementasikan menggunakan PHP, namun )uga pemrograman sisi klien yang lain, seperti = P, 3 P dsb. edangkan kekurangan =3=V dibandingkan mekanisme biasa adalah memiliki tingkat kesukaran pemrograman yang lebih tinggi, karena programmer harus menguasai 6 hal yaitu HTML0(VHTML!, 3avascript, VML dan )uga server side programming. 2./ Data Flow Dia%ra0 (DFD) D'D adalah alat pembuatan model yang memungkinkan pro#essional sistem untuk menggambarkan sistem sebagai suatu )aringan proses #ungsional yang dihubungkan satu sama lain dengan alur data. D'D )uga sering disebut dengan nama ;ubble /hart Diagram, model proses, diagram alur ker)a atau model #ungsi. W,X ;eberapa komponen atau simbol yang digunakan untuk D'D antara lain terminator, data flow (arus data!, process (proses!, dan data store (simpanan data!. Pen)elasan dari komponen atau simbol D'D adalah sebagai berikut. -. 'erminator 'erminator mewakili entitas eksternal yang berkomunikasi dengan sistem yang sedang dikembangkan. ;iasanya terminator dikenal dengan namaentitas .e/sternal0, sumber atau tu)uan (source and sin/!. Dalam hal penamaan pada terminator, biasanya menggunakan kata benda. 8ambar -.@ menun)ukkan simbol terminator.

8ambar -.@ 'erminator

-. Process (Proses! Proses ini sering dikenal dengan namabubble, #ungsi atau trans#ormasi. 2omponen Proses menggambarkan bagian dari sistem yang

mentrans#ormasikan input ke output. Pemberian nama pada komponen proses menggunakan kata ker)a yang membutuhkan subyek (transiti#!Proses ini sering dikenal dengan nama bubble, #ungsi atau trans#ormasi. 2omponen Proses menggambarkan bagian dari sistem yang mentrans#ormasikan input ke output. Pemberian nama pada komponen proses menggunakan kata ker)a yang membutuhkan subyek (transiti#!. /ontoh notasi proses dalam D'D dapat dilihat pada 8ambar -.,.

8ambar -., +otasi proses dalam D'D

5. &ata Flow (=rus Data! =lur Data ini digunakan untuk menerangkan perpindahan data atau satu paket data*in#ormasi dari satu bagian sistem ke bagian lainnya. ;iasanya pemberian nama pada alur data dilakukan dengan menggunakan kata benda =lur Data ini digunakan untuk menerangkan perpindahandata atau satu paket data*in#ormasi dari satu bagian sistem ke bagianlainnya. ;iasanya pemberian nama pada alur data dilakukan denganmenggunakan kata benda. 8ambar -.4 menun)ukkan contoh arus data.

8ambar -.4 =rus data yang mengalir dari kesatuan luar 1angganan ke Proses !rder 1angganan adalah dengan nama order langganan

6. &ata Store (simpanan data! Data store digunakan untuk membuat model sekumpulan paket data. Data tore biasanya berkaitan dengan penyimpanan0penyimpanan seperti

#ile atau database yang berkaitan dengan penyimpanan, baik secara komputerisasi, misalnya #ile disket dan #ile hardisk, maupun manual, misalnya nama dan alamat pada buku alamat dan agenda. +ama yang diberikan pada data store biasanya menggunakan kata benda )amak. 8ambar -.% menun)ukkan contoh arus penyimpanan data.

8ambar -.% imbol simpanan data

8ambar -.$. menun)ukkan contoh penggambaran D'D.

8ambar -.$. /ontoh Penggambaran D'D

You might also like