Anda di halaman 1dari 34

BAB 2 LANDASAN TEORI

Pada bab ini akan dijelaskan mengenai teori penunjang yang mendukung Tugas Akhir yang dilakukan. 2.1 Framework Menurut kamus Inggris Indonesia yang disusun oleh Jhon M. Echols dan Hassan adily !rame"ork memiliki arti kerangka kerja. #isebut kerangka kerja karena pekerjaan yang akan dilakukan harus mengikuti dan tidak lari dari kerangka tersebut. &rame"ork memberikan eperti tukang jahit yang menggunting adalah sekumpulan ketepatan' library kemudahan yang dan kain untuk pakaian berdasarkan pola $!rame"ork% yang ada. diorganisasikan pada sebuah rancangan arsitektur untuk kecepatan' konsistensi di dalam pengembangan aplikasi tersebut' !rame"ork mengandung unsur(unsur berikut ) a. b. c. 2.1.1 Arsitektur &ile pustaka $library% Metodologi. *+I,-./

Kelebihan Dan Kekurangan Framework

0(-

0(0 ,erikut ini merupakan kelebihan dan kekurangan dari !rame"ork' berikut penjelasannya ) -. 1elebihan !rame"ork a. Penggunaan skrip yang telah dibuat' dites dan digunakan oleh programmer lain' sehingga dapat meningkatkan reabilitas skrip dan mengurangi "aktu pemrograman b. Pemecahan tim pengembang perangkat lunak dapat dipecah menjadi beberapa tim yang mengerjakannya menurut keahliannya secara bersama(sama c. &rame"ork yang dikembangkan oleh para ahli' biasanya bukan hanya menyiapkan !ungsionalitas' mempertimbangkan tetapi aspek juga keamanan'

karena secara langsung sudah ada pada komponen !rame"ork itu sendiri d. &rame"ork dapat mengarahkan programmer untuk menggunakan pola pemecahan masalah yang telah terbukti bisa digunakan untuk menyelesaikan masalah spesi!ik yang telah dihadapi oleh programmer lain. ebagai contoh pola perancangan M23 biasanya digunakan untuk pemecahan masalah modularitas

0(4 untuk perangkat lunak berbasis "eb *+I,-./ 0. 1ekurangan !rame"ork a. Para programmer aplikasi akan mungkin akan ketika menemukan merancang !rame"ork b. 1emungkinan menambah biaya development apabila !rame"ork yang digunakan kurang terdokumentasi dan kurang disupport. 2.2 2.2.1 eni!" eni! Framework Desktop Application Framework #esktop !rame"ork biasa dikenal dengan Desktop Application Framework adalah merupakan suatu so!t"are !rame"ork yang didesain untuk mendukung pengembangan aplikasi berbasis desktop yang dinamis. ,erikut merupakan contoh dari desktop !rame"ork ) a. Hibernate !rame"ork Hibernate adalah salah satu !rame"ork opensource untuk Obyek Relational Maping yaitu memetakan sesuatu $dalam hal ini umumnya tabel dan database% menjadi sebuah obyek $menggunakan apa yang sesuatu disebut pada PERSIS E!"E me"akilkan batasan(batasan

menggunakan

0(5 sebuah obyek jika sesuatu yang di"akilkan ingin diolah' maka obyek tersebutlah yang akan dimanipulasi%. b. pring !rame"ork pring merupakan !rame"ork Io3 $In#ection o$ "ontrol% tidak atau disebut juga Dependency pendeklarasian In#ection $#I%' yaitu suatu mekasnisme dimana diperlukannya suatu ob#ect untuk mendapatkan ob#ect tersebut. Hal ini dikarenakan ob#ect ini akan secara otomatis diinstansi atau diinject oleh spring' dan masih banyak lagi desktop !rame"ork yang lainnya. 2.2.2 #eb A$$li%a&ion Framework 6eb !rame"ork biasa dikenal dengan web application $ramework. %eb application $ramework adalah suatu so$tware !rame"ork yang didesain untuk mendukung pengembangan "eb dinamis' aplikasi "eb dan web service.$"ikipedia%. Pemrograman "eb berbasis !rame"ork didasarkan pada konsep 77P &Ob#ect Oriented Programming'. *,AH.8/ #alam !rame"ork ini sendiri sudah terkandung beberapa !itur yang sangat membantu dalam membuat "eb aplikasi' diantaranya )

1. Security

0(9 ,eberapa !rame"ork sudah memiliki !itur otentikasi ser:er $Aut(entication% yang dan otorisasi "eb pengguna $Aut(ori)ation%' untuk memungkinkan

mengidenti!ikasi

aplikasi' dan membatasi akses ke !ungsi berdasarkan beberapa kriteria yang ditetapkan.

a. Aut(entication
7tentikasi adalah tindakan membentuk atau dibuat menyatakan oleh sesuatu $seseorang% atau sebagai otentik' yaitu bah"a klaim yang sesuatu $seseorang% tentang subjek adalah benar

b. Aut(ori)ation
7torisasi adalah !ungsi menentukan hak akses terhadap sumber daya' yang berhubungan dengan keamanan in!ormasi dan keamanan komputer pada umumnya dan kontrol akses pada khususnya.

2. Database acces and mapping


,anyak kerangka aplikasi "eb menciptakan API bersatu ke backend database' memungkinkan aplikasi "eb untuk bekerja dengan berbagai database tanpa perubahan kode' dan memungkinkan programmer untuk bekerja dengan konsep tingkat yang lebih tinggi. 3ontoh ) lib adodb

0(;

3. *R+ mapping
ebuah pemetaan sistem <=+ yang menggunakan pencocokan pola atau penulisan ulang <=+ yang memungkinkan lebih >ramah> digunakan' meningkatkan kesederhanaan situs dan memungkinkan untuk mengindeks lebih baik oleh searc( engine. <=+ dengan akhiran
"/page.cgi? cat=science&topic=physics>

dapat seperti

diganti

menjadi

lebih

simpel

>/page/science/physics>

4. %eb template system


ebuah sistem template "eb menggambarkan perangkat lunak dan metodologi yang digunakan untuk menghasilkan halaman "eb dan untuk ditempatkan disitus "eb dan pengiriman melalui Internet. template. eperti proses sistem "eb template' menggunakan mesin

5. "ac(ing
%eb cac(e adalah cac(e dari dokumen "eb $misalnya' halaman HTM+' gambar% untuk mengurangi penggunaan bandwidt(' server load' dan lag dirasakan

0(?

6. A#a,
A#a,' singkatan dari -Async(ronous .avaScript dan /M+-0 adalah teknik pengembangan "eb untuk menciptakan aplikasi "eb interakti!

7. %eb services
A web service dide!inisikan oleh 643 sebagai sebuah sistem so$tware yang dirancang untuk mendukung interaksi interoperable $kemampuan menghubungkan operasi% mesin( ke(mesin melalui jaringan

8.

7AP 7AP $Simple Ob#ect Access Protocol% adalah standar untuk bertukar pesan(pesan berbasis @M+ melalui jaringan komputer atau sebuah jalan untuk program yang berjalan pada suatu sistem operasi $7 % untuk berkomunikasi dengan program pada 7 yang sama maupun berbeda dengan menggunakan HTTP dan @M+ sebagai mekanisme untuk pertukaran data

9. 6 #+
6 #+ $%eb Services Description +anguage% adalah !romat @M+ yang diterbitkan untuk menerangkan "eb service.

0(8

2.' ()* +Model View Controller, Arsitektur Model12iew1"ontroller adalah sebuah pola yang terbukti membangun proyek secara lebih e!ekti!. Hal itu dilakukan dengan memilih komponen antara model0 view dan controller pada bagian(bagian dalam proyek. M23 berhubungan erat dengan arsitektur dari 6eb &rame"ork.

Aambar 0.- M23 $Model0 2iew0 controller% *,AH.8/ #iagram di atas menunjukan tiga komponen yang terdapat dalam pola M23 dan interaksi yang terjadi. 2.'.1 Model Pola M23 memiliki layer yang disebut dengan Model yang merepresentasikan data yang digunakan oleh

0(B aplikasi sebagaimana proses bisnis yang diasosiasikan terhadapnya. #engan memilihnya sebagai bagian terpisah' seperti penampungan data' persistence' serta proses manipulasi terpisah dari bagian lain aplikasi. Terdapat beberapa kelebihan dalam pendekatan ini' yang pertama. Membuat detail dari data dan operasinya dapat ditempatkan pada area yang ditentukan $Model% dibanding tersebar dalam keseluruhan lingkup aplikasi. Hal ini memberikan keuntungan dalam proses maintenace aplikasi. 1edua' dengan pemisahan total antara data dengan implementasi inter$ace' kegunaan yang hampir sama. 2.'.2 View +ayer ini mengandung keseluruhan detail dari implementasi keseluruhan persistence. #i sini' komponen gra!is menyediakan representasi proses internal aplikasi dan menuntun alur interaksi user terhadap aplikasi. Tidak ada layer lain yang berinteraksi dengan user ' hanya 2iew. Penggunaan layer 2iew memiliki beberapa kelebihan ) Pertama' memudahkan penggabungan di:isi desain dalam development team. #i:isi desain dapat berkonsentrasi pada style0 look 3 $eel dan sebagainya' komponen Model dapat digunakan kembali oleh aplikasi lain yang memiliki

0(-. dalam aplikasi tanpa memperhatikan lebih pada detail yang lain. #an juga' memiliki layer 2iew yang terpisah memungkinkan ketersediaan multiple inter$ace dalam aplikasi. Jika inti dari aplikasi terletak pada bagian lain $dalam Model%' multiple inter$ace dapat disebut $Swing0 %eb0 "onsole% secara keseluruhan memiliki tampilan yang berbeda namun mengeksekusi tampilan Model sesuai !ungsionalitas yang diharapkan. 2.'.' Controller Terakhir' arsitektur M23 memiliki layer "ontroller. +ayer ini menyediakan detail alur program dan transisi layer' dan juga bertanggung ja"ab atas penampungan event yang dibuat oleh user dari 2iew dan melakukan update terhadap komponen Model menggunakan data yang dimasukkan oleh user. 1elebihan penggunaan layer "ontroller secara terpisah ) Pertama' dengan menggunakan komponen terpisah untuk menampung detail dari transisi layer' komponen 2iew dapat didesain tanpa harus memperhatian bagian lain secara berlebih. Hal ini memudahkan team pengembang multiple inter$ace bekerja secara terpisah dari yang lain secara simultan. Interaksi antar komponen 2iew terabstraksi dalam "ontroller.

0(-1edua' dengan menggunaka layer terpisah yang melakukan update terhadap komponen Model' detail tersebut dihapus dari layer presentasi. +ayer presentasi kembali pada !ungsi utamanya untuk menampilkan data kepada user. #etail tentang bagaimana data dari user mengubah ketetapan aplikasi disembunyikan oleh "ontroller. Hal ini memisahkan dengan jelas antara presentation logic dengan business logic. Tidak dapat disimpulkan bah"a pola M23 hadir dengan kelebihan(kelebihan tanpa ada e!ek samping. Pembagian aplikasi ke dalam tiga bagian terpisah meningkatkan komplektivitas. Pada aplikasi kecil yang tidak membutuhkan loose coupling pada Model' hal ini dapat menjadi blok penghalang dalam penggunaan pola ini. ,agaimanapun' yang terbaik adalah untuk meyakini bah"a sebuah aplikasi umumnya dimulai dari aplikasi yang sederhana' dan berkembang menjadi sistem yang kompleks' sehingga !aktor loose coupling harus selalu diutamakan dan diperhatikan. 2.- (an.aa& Framework ,erikut beberapa man!aat dari penggunaan !rame"ork dalam membuat dan mengembangkan aplikasi berbasis "eb )

1. Man!aatnya

dapat

membantu

kerja

developer4programmer dalam membangun aplikasi

0(-0 sehingga aplikasi bisa selesai dalam "aktu yang singkat

2. Penerapan Design Patterns memudahkan dalam


rancangan' sistem 4. Stability dan Reliability' aplikasi yang dibangun lebih stabil dan handal karena berbasis pada !rame"ork yang sudah teruji stabilitas dan kehandalannya 5. "oding style konsisten' memudahkan dalam membaca code dan dalam menemukan bugs pengembangan dan pemeliharaan

5. Security concert' !rame"ork mengantisipasi dan


memasang perisai terhadap adanya berbagai masalah keamanan yang mungkin timbul

6. #okumentasi' !rame"ork dapat mendisiplinkan


untuk menulis dokumentasi untuk apa yang ditulis 2./ Se0arah 1ii Framework Cii &rame"ork dia"ali oleh Diang @ue pada tanggal Januari 0..8. Diang @ue bagi sebagian besar orang mungkin tidak akan asing dengan namanya apabila sudah menggunakan Prado $salah satu !rame"ork PHP juga%. +atar belakang dari penggunaan Cii adalah meman!aatkan kekuatan dari Prado dan memaksimalkan kinerja. ebelum membahas terlalu jauh' ada baiknya untuk menjelaskan terlebih dahulu tentang Prado.

0(-4 Jika seseorang yang selalu berkecimpung di dunia PHP' pasti menyadari ada begitu banyak !rame"ork yang ada di dunia ini. ayangnya hampir semua !rame"ork ini pada umumnya konsepnya hampir sama. Prado sangat unik dibandingkan dengan !rame"ork yang lain. 1etika menyebut !rame"ork ini unik' !aktanya dia betul(betul berbeda dengan !rame"ork PHP kebanyakan. &rame"ork ini menggunakan even1driven sehingga gaya codingnya sangat mirip A P.Eet. &rame"ork yang bersi!at even1driven di PHP mungkin hanya ada -F dari seluruh !rame"ork PHP yang pernah ada. elain itu dia juga bersi!at component1based yang artinya setiap bagian merupakan komponen yang dapat dipecahkan dan dibagikan untuk dide:elop. Diang @ue yang bertahun(tahun memaintain Prado' menerima berbagai input user' dengan berbagai pengalaman dalam pengembangan !rame"ork' akhirnya memutuskan diperlukan !rame"ork yang lebih gampang' mudah diperluaskan $e,tensible% dan lebih e!isien. 2ersi al!a pertama Cii dirilis pada bulan 7ktober 0..8. #an akhirnya pada 4 #esember 0..8' Cii -.. resmi dirilis. *37M--/ 2./.1 1ii Framework Cii merupakan akronim dari G5es0 it isH selalu menekankan nilai easy0 e$$icient dan e,tensible. ,elakangan mereka mengganti menjadi $ast0 secure0 pro$essional. Eamun nilai(nilai lamanya tidaklah hilang.

0(-5 Cii selalu disebut sebagai !rame"ork PHP 9 yang (ig(1 per$ormance dan component1based. Cii dirancang dengan memperhatikan sisi per!orma dan meman!aatkan konsep component1based yang dimiliki Prado. elain itu Cii juga meman!aatkan even tetapi tidak tergantung sepenuhnya. elain mengambil konsep dari Prado' Cii juga meman!aatkan konsep =uby on =ails yang mengutamakan kon:ensi daripada kon!igurasi serta implementasi desain Active Record $A=%. Cii juga memasukkan konsep Joomla dalam desain modular dan skema penerjemahan pesan serta sistem ym!ony pada desain $ilter dan arsitektur plug1in. Cii &rame"ork dibandingkan yang lainnya mungkin tergolong cukup muda karena dimulai pada tahun 0..8. Tetapi "alaupun mungkin masih muda' Cii &rame"ork sendiri sudah memiliki segudang !itur yang bisa mempermudah pekerjaan kita. *37M--/ 2./.2 Ten&ang 1ii .ramework ,erikut merupakan penjelasan singkat tentang Cii &rame"ork ) -. Persyaratan <ntuk menjalankan aplikasi 6eb berbasis Cii &rame"ork' memerlukan ser:er 6eb yang mendukung PHP 9.-... ,agi para pengembang

0(-9 yang ingin menggunakan Cii' mengerti

pemrograman berorientasi(obyek $77P% akan sangat membantu' karena Cii merupakan !rame"ork 77P murni 0. Cii &rame"ork sangat tepat digunakan untuk aplikasi dengan lalu lintas tinggi Cii adalah !rame"ork pemrograman umum 6eb yang bisa dipakai untuk mengembangkan semua jenis aplikasi "eb. #ikarenakan sangat ringan dan dilengkapi dengan mekanisme caching yang canggih' Cii sangat tepat untuk pengembangan aplikasi dengan lalu lintas( tinggi' seperti portal' !orum' sistem e1 manajemen 4. konten $3M %' sistem

commerce' dan lain(lain Perbandingan Cii dengan !rame"ork lain eperti kebanyakan PHP !rame"ork' Cii adalah M23 !rame"ork. Cii melampaui !rame"ork PHP lain dalam hal e!isiensi' kekayaan(!itur' dan kejelasan dokumentasi. Cii didesain dengan hati(hati dari a"al agar sesuai untuk pengembangan aplikasi 6eb secara serius. Cii bukan berasal dari produk pada beberapa proyek maupun konglomerasi pekerjaan pihak(ketiga. Cii adalah hasil dari

0(-; pengalaman kaya para pembuat pada

pengembangan aplikasi. *T<A-./

0(-?

0(-8

1eterangan untuk table di atas ) a. M23 ) Menunjukan !rame"ork ini dilengkapi dengan dukungan built1in dengan setup Model1 2iew1"ontroller b. Multiple D67s ) Menunjukan apakah !rame"ork ini mendukung multiple database tanpa perlu merubah apapun c. 7=M ) Menunjukan apakah !rame"ork ini mendukung Record d. e. !. D6 Ob#ects ) apakah !rame"ork ini meliputi database lain' seperti able8ate%ay emplate ) apakah !rame"ork ini memiliki mesin template built1in "ac(ing ) apakah !rame"ork ini meliputi obyek cac(ing atau cara(cara lain untuk cac(ing g. h. i. 2alidation ) apakah !rame"ork ini memiliki :alidasi built1in atau komponen penyaring A#a, ) apakah !rame"ork ini dilengkapi dengan dukungan built1in untuk a#a, Aut( Module ) apakah !rame"ork ini memliki module built1in untuk menangani autentikasi user sebuah ob#ect1roadmapper' dimana biasanya sebuah implementasi Active

0(-B j. Modules ) apakah !rame"ork ini memiliki modul lain' seperti RSS0 $eeder parser' modul P#& atau apapun yang berman!aat k. E#P ) Even Driven Programming #ari sekian banyaknya !rame"ork PHP yang tersedia' hanya beberapa !rame"ork PHP yang mampu memenuhi parameter(parameter penilaian !rame"ork yang ada' bahkan terdapat 5 !rame"ork yang nyaris memenuhi penilaian parameter yang dibutuhkan' yaitu Akelos !rame"ork' Cii !rame"ork' Prado !rame"ork dan eagull !rame"ork. *CII-0/ 2.2 Fi&ur 1ii Framework atu hal yang pasti Cii &rame"ork sudah dibundel dengan teknologi Active Record. ,agi yang tidak a"am dengan =uby on =ails pasti langsung mengenalinya. Active Record merupakan salah satu bentuk dari Ob#ect1relational mapping $7=M%. <mumnya dalam pemograman berbasis "eb sudah dipastikan tidak akan lepas dari yang namanya mengakses database dan melakukan operasi. <mumnya pada saat coding biasa' kita harus menulis 9uery untuk SE+E" 0 I!SER 0 *PDA E dan DE+E E. ,elum lagi ketika sebuah tabel memiliki re!erensi ke tabel lain. <ntuk menulis mengakses 7=M $ield tabel lain kita harus dari menggunakan sintak .OI! lagi sehingga menambah beban 9uery. membebaskan developer

0(0. pekerjaan ini. #ia akan me(mapping tabel menjadi class' dan $ield1$ield dari tabel ini menjadi properti dari kelas bersangkutan. ehingga ketika menulis program' tidak perlu menghabiskan "aktu menulis 9uery' tetapi cukup memanggil class met(od seperti halnya coding biasa. &itur ini merupakan penghemat "aktu terbesar dalam pembuatan aplikasi "eb. &ungsi kedua yang dapat menghemat "aktu adalah aplikasi "ode 8enerator. #i Cii terdapat dua buah "ode 8enerator yakni command line yiic dan juga aplikasi Aii. Jika kita ingin membuat kerangka dasar aplikasi "eb' maka tinggal mengetik sebaris perintah di yiic dia akan membuatkannya untuk kita. #an jika sudah merancang database lengkap dengan tabel(tabel' maka sudah dapat langsung membuat sistem tampilannya insert0 update dan delete dengan menggunakan Aii. Artinya di sini langsung dapat membuat aplikasi dasar tanpa perlu coding. Cii sudah memiliki sistem $ilter sederhana yang bisa memblokir user yang tidak terautentikasi masuk. Jika ingin yang lebih canggih' developer bisa menggunakan ekstensi Cii $misalnya SRbac atau Rig(ts% untuk membantu mengaturnya. ehingga mengatur tingkat autoritas user bukan lagi sebuah pekerjaan yang melelahkan. Cii sudah memiliki kelas 3<rlManager' yang bisa menggantikan <=+ biasanya menjadi <=+ yang

0(0user$riendly. *ser juga bisa bebas menentukan aturan bagaimana <=+ dibentuk dikon!igurasi. 1elebihan Cii yang lain adalah kemudahan lokalisasi. Jika ingin membuat "ebsite multibahasa' bukan sebuah mimpi buruk lagi. Cii sudah menyediakan !itur dasar untuk menulis bahasa. *ser sendiri bisa memiliki pilihan untuk bagaimana menyimpan translasi bahasanya' apakah disimpan di !ile PHP atau di dalam database. ,agi yang pernah menikmati kemudahan translasi di Joomla' akan menemukan kemudahan yang sama di Cii. Cii juga memperhatikan sistem keamanan supaya tidak terkena S:+ In#ection dan "ross1Site Scripting $@ %. Cii dengan Active Record1nya sudah melakukan escaping supaya 9uery yang dilakukan aman. <ntuk mencegah dimasukkan @ gampang mencegahnya. elain !ungsi(!ungsi yang sudah disebutkan' Cii masih memiliki !ungsi lainnya yang akan terlalu panjang jika dibahas satu persatu. Eamun setidaknya untuk ukuran yang relati! kecil dengan !ungsi yang segudang' itulah sebabnya Cii menjadi pilihan. *37M--/ ke dalam sistem' user bisa dengan
CHtmlPurifier

menggunakan

untuk

0(00

2.3 #eb Hari ini kita hidup di tahun(tahun yang serba !ormati! pada era Internet' begitu banyak telah dikatakan tentang "aktu ' bah"a tidak mungkin untuk membahas dampak dari Internet dan %orld %ide %eb. Anda sudah mengetahui bah"a "eb itu besar' sangat besar' tapi tidak berarti GbesarH dalam arti khas $misalnya' jumlah halaman "eb dan situs' jumlah pengguna' jumlah in!ormasi yang berjalan dalam seluruh jaringan%' meskipun ukuran "eb dan tingkat pertumbuhan yang diproyeksikan. ,esar di sini dalam arti sosial budaya. 6eb memiliki sesuatu yang sangat diperlukan dalam teknologi dalam bisnis' perdagangan' komunikasi' pendidikan' teknik ' hiburan' keuangan' pemerintah' dalam industri' media' kedokteran' politik' ilmu pengetahuan dan transportasi' tetapi hanya beberapa yang menimbulkan dampak untuk kehidupan anda' ini telah membuka cara pandang kita untuk misalkan kita akan membeli sebuah produk bisa dengan layanan $ e1commerce%' bertemu orang( orang $online dating%' mengenal dunia $portal%' mendapatkan berita $media online%' menyuarakan pendapat $blog%' menghibur diri kita sendiri $mulai dari music download' hingga game online%' belajar le"at online $learning online%. Percakapan yang dialakukan oleh user dan aplikasi "eb dapat menjadi pasi! atau akti!' dalam percakapan yang akti!'

0(04 anda dapat memilih in!ormasi yang disajikan' tetapi tidak memiliki kontrol langsung atas jenis' isinya atau strukturnya. #alam percakapan yang akti! anda memberikan masukan sehingga in!ormasi yang disajikan disesuaikan untuk memenuhi kebutuhan anda secara khusus. arana untuk memperoleh in!ormasi' struktur' membangun paket untuk disajikan dan mengirimkan panggilan dalam sebuah aplikasi "eb' ketika sebuah "eb aplikasi dikombinasikan dengan (ardware client dan server' sistem operasi' so$tware jaringan' dan browser di situlah sistem berbasis "eb muncul. *P=E.B/ 2.8 Web Application #ia"ali dari world wide web $sekitar -BB.(-BB9%' G"ebsiteH terdiri dari kurang lebih satu set link (yperte,t dan in!ormasi yang disajikan menggunakan te,t dan gra!ik. eiring "aktu berlalu ;yperte,t Markup +anguage $HTM+% itu ditambah dengan development tools dan teknologi *misalnya' E,tensible Markup +anguage $@M+%' Ja:a/ yang memungkinkan rekayasa "eb yang menyediakan sisi client dan sisi server kemampuan komputer bersama dengan isinya. #ari sinilah sistem berbasis "eb dan aplikasi berbasis "eb lahir. ekarang ' aplikasi berbasis "eb telah bere:olusi menjadi alat komputasi yang canggih yang tidak hanya menyediakan !ungsi yang stand1alone $berdiri sendiri% untuk

0(05 end1user' tetapi juga telah terintegrasi dengan perusahaan dan pemerintahan database dan aplikasi. *P=E.B/ 2.9 Web Engineering =ekayasa membangun "eb kualitas mengusulkan industri aplikasi sebuah berbasis Agile "eb. $ketangkasan%' membutuhkan &rame"ork $kerangka% untuk Eampaknya ini cukup sederhana' tetapi ini sangat penting untuk dimengerti dua kata kunci untuk dija"ab' yaitu agile dan !rame"ork. 2.4.1 Agile +Ke&angka!an, #alam merekayasa sebuah "ebsite kita harus mengerti untuk beradaptasi dengan bisnis yang modern' strategi bisnis dan perubahan aturan' dan permintaan manajemen hampir seketika langsung direspon $bahkan ketika permintaan tersebut tidak masuk akal%' dan para stake(older terus merubah pemikiran mereka bahkan saat mereka menuntut pengiriman yang cepat. #engan semua pikiran ini sebuah tim web engineering harus menekankan agility $ketangkasan%. I:ar Jacobson *JA3.0/ dapat memberikan diskusi yang berguna untuk sebuah konsep ) Gsebuah tim agility $ketangkasan% dapat secara tepat merespon perubahan' perubahan dengan so$tware pengembang apa yang banyak dikaitkan' perubahan so$tware yang dibangun' perubahan tentang anggota tim' perubahan karena adanya teknologi baru'

0(09 perubahan seluruh macam yang mungkin dapat

berakibat pembuatan produk atau membuat projek sebuah produk. #ukungan untuk perubahan harus built1 in yang dilakuakn pada so$tware' sesuatu yang kita rangkul karena merupakan jantung dan ji"a dari perangkat lunak. #ari tim agile $ketangkasan% mengakui bah"a so$tware dikembangkan oleh indi:idu dalam sebuah tim yang memiliki skills' kemampuan untuk berkolaborasi merupakan inti dari keberhasilan sebuah projek H. 2.4.2 Framework +Kerangka, ebuah !rame"ork menetapkan landasan bagi rekayasa perangkat "eb yang lengkap dengan mendidenti!ikasi sejumlah kecil akti!itas !rame"ork yang berlaku untuk semua proyek aplikasi "eb' terlepas dari ukuran atau kompeksitasnya. &rame"ork meliputi serangkaian kegiatan untuk keamanan yang berlaku diseluruh proses pembuatan web engineering. web engineering berikut merupakan bagian dari !rame"ork secara umum dan berlaku untuk sebagian besar proyek aplikasi "eb ) -. "ommunication ) melibatkan interaksi dan kolaborasi dengan pelanggan $dan stake(older lain% yang mencangkup kebutuhan mengumpulkan kegiatan lain yang terkait

0(0; 0. Planning ) menetapkan rencana tambahan untuk mengerjakan web engineering. Menggambarkan tindakan web engineering yang akan terjadi' tugas teknis yang dilakukan' resiko yang mungkin akan terjadi' sumber daya yang akan diperlukan' produk pekerjaan yang akan diproduksi dan jad"al kerja 4. Modelling ) meliputi penciptaan model yang membantu pengembangan dan pelanggan untuk lebih memahami kebutuhan webapp' dan desain yang akan mencapai hal kebutuhan mereka 5. "onstruction ) mengkombinasikan antara beberapa generasi dari HTM+' @M+' Ja:a and code yang mirip code 9. Deployment ) mengirimkan sebuah aplikasi "eb untuk meningkatkan pelanggan yang menge:aluasi dan memberikan umpan balik berdasarkan e:aluasi. *P=E.B/ 2.1 World Wide Web %orld wide web lebih dikenal dengan singkatan """ adalah sekumpulan in!ormasi yang dapat diakses melalui dengan pengujian yang diperlukan untuk mengungkap error dalam

0(0? browser Internet EIplorer $IE%' MoJila !ire!oI' 7pera' &loc' 3hrome. 6eb terdiri dari dua komponen dasar yaitu )

0(08

<=

Server web ebuah komputer $server% dan so$tware yang menyimpan dan mendistribusikan data komputer lainnya melalui jaringan internet

>=

6rowser web Adalah so$tware yang dijalankan pada komputer pemakai $client% yang diminta in!ormasi dari server web dan menampilkannya sesuai dengan !ile data itu sendiri. aat terdapat banyak macam so$tware aplikasi browser antara lain Internet EIplorer dan MoJilla !ire!oI

?=

;omepage ;omepage merupakan halaman pembuka pada sebuah situs "eb yang memiliki hubungan kehalaman lain. Halaman "eb dapat berupa gra!is' suara animasi dan e!ek(e!ek lain sebagai tambahan te,t. ebuah halaman dapat dihubungkan ke lain yang untuk memberikan in!ormasi antar diperlukan. Hubungan halaman tambahan (yperlink

halaman atau antar situs "eb dikenal dengan istilah @= 6rowser 6rowser web digunakan untuk dapat mengakses "eb. ,ro"ser memiliki jendela atau window yang dapat menampilkan halaman "eb' sekumpulan

0(0B toolbar dan dan menu yang memungkinkan pengguna untuk mengeksplorasi atau menjelajah halaman pada sebuah situs "eb 9. #e!inisi script Script adalah semacam program yang terdiri dari sebuah set intruksi(intruksi untuk sebuah aplikasi atau utility program. ebuah script dapat disatukan di dalam sebuah web page. Terdapat dua jenis script yaitu script client dan script server. Script yang berjenis server side secara umum dapat dikatakan bah"a script tersebut diolah oleh server. Akibat yang muncul saat script tersebut diolah oleh server adalah ) a. Script tersebut harus diterjemehkan oleh sebuah server sebelum dikirm ke browser. etelah berhasil diterjemahkan script tersebut akan diubah menjadi HTM+ murni yang selanjutnya b. dikirim ke browser untuk ditampilkan ke jendela monitor Server yang dipakai dituntut harus memiliki kemampuan untuk menerjemahkan kode(kode script c. 1ode(kode script tidak bisa terbaca oleh orang lain karena script tersebut telah diolah menjadi HTM+ murni' sehingga script berjenis servlet slide aman dari intipan programmer lain

0(4. d. 1emampuan browser' apakah browser tersebut mampu menerima script atau tidak ' mengingat script murni. 2.11565 Menurut PHP manual book yang dibuat oleh tig aether ,aken dan rekan' yang dimaksud PHP adalah ) APHP &o$$icially APHP B ;yperte,t ProcessorC' is a server1 side ; M+1embedded scripting languageC. Pengertiannya adalah PHP merupakan kepanjangan PHP ) ;yperte,t Processor adalah bahasa script yang berjenis servlet slide yang menyatu dengan HTM+. intak dan perintah(perintah yang dimasukkan akan sepenuhnya dijalankan dan dikerjakan oleh server dan disertai pada halaman HTM+ biasa' PHP bertujuan untuk membuat aplikasi(aplikasi yang dijalankan di atas teknologi "eb. #alam hal ini pada umumnya akan memberikan hasil pada web browser' tetapi prosesnya secara keseluruhan dijalankan dan dikerjakan di web server. 2.12(7S8L Pengertian My D+ menurut My D+ manual adalah sebuah opensource so$tware database D+ &Searc( :uery +anguage' yang menangani sistem manajemen database dan telah diolah oleh server dan dikembalikan ke browser dalam "ujud HTM+

0(4sistem manajemen database relational. My D+ adalah opensource so$tware yang dibuat oleh sebuah perusahaan "edia yaitu My D+ A,. My D+ sangat mudah digunakan' reliable dan sangat cepat. My D+ mempunyai !itur(!itur yang sangat mudah dipelajari bagi para penggunanya dan dikembangkan untuk menangani database yang besar dengan "aktu yang lebih singkat' kecepatan' konekti:itas dan kemananya yang lebih baik membuat My D+ sangat dibutuhkan untuk mengakses database dari Internet. 2.1'5emrograman Berorien&a!i Ob0ek +5BO, Pemrograman ,erorientasi 7byek atau dalam bahasa Inggris Ob#ect1Oriented Programming dan disingkat $77P% merupakan paradigma pemrograman yang berorientasikan kepada objek. emua data dan !ungsi di dalam paradigma ini dibungkus dalam class1class atau objek(objek. ,andingkan dengan logika pemrograman terstruktur. etiap objek dapat menerima pesan' memproses data' dan mengirim pesan ke objek lainnya. Model data berorientasi objek dikatakan dapat memberi !leksibilitas yang lebih' kemudahan mengubah program' dan digunakan luas dalam teknik piranti lunak skala besar. +ebih jauh lagi' pendukung 77P mengklaim bah"a 77P lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya' dan pendekatan 77P lebih mudah dikembangkan dan dira"at.

0(40 2.1'.1 Kon!e$ Da!ar 5BO 1ita mengorganisasi perangkat lunak sebagai kumpulan(kumpulan dari obyek tertentu yang memiliki struktur data dan perilakunya $atribut dan operasi%. *Thimoty 3' 0..0/ -. 1elas 1umpulan atas de!inisi data dan !ungsi(!ungsi dalam suatu unit untuk suatu tujuan tertentu. ebagai contoh Dclass o$ catD adalah suatu unit yang terdiri atas de!inisi(de!inisi data dan !ungsi(!ungsi yang menunjuk pada berbagai macam perilakuKturunan dari kucing. struktur objek. dalam pemrograman ebuah class adalah dasar dari modularitas dan berorientasi ebuah class secara tipikal sebaiknya

dapat dikenali oleh seorang non(programmer sekalipun terkait dengan domain permasalahan yang ada' dan kode yang terdapat dalam sebuah class sebaiknya $relati$% bersi!at mandiri dan independen $sebagaimana code tersebut digunakan jika tidak menggunakan 77P%. #engan modularitas' struktur dari sebuah program akan terkait dengan aspek( aspek dalam masalah yang akan diselesaikan melalui program tersebut. 3ara seperti ini akan menyederhanakan pemetaan dari masalah ke

0(44 sebuah program ataupun sebaliknya. *Thumoty 3' 0..0/ 0. 7bjek 7bjek adalah sebuah benda atau unit atau si!at kerja yang memiliki data dan atribut(atribut. !ungsi bersama Membungkus

menjadi suatu unit dalam sebuah program komputer. *Thimoty 3' 0..0/ 4. Abstraksi 1emampuan sebuah program untuk mele"ati aspek in!ormasi yang diproses olehnya' yaitu kemampuan untuk mem!okus pada inti. etiap objek dalam sistem melayani sebagai model dari >pelaku> abstrak yang dapat melakukan kerja' laporan dan perubahan keadaannya' dan berkomunikasi dengan objek lainnya dalam sistem' tanpa mengungkapkan metode dapat beberapa 5. Enkapsulasi Pembatasan ruang lingkup program terhadap data yang diproses supaya data terlindungi oleh prosedur atau objek lain' kecuali prosedur juga dibuat bagaimana kelebihan ini diterapkan. Proses' !ungsi atau abstrak' dan untuk teknik digunakan

mengembangkan sebuah pengabstrakan

0(45 yang berada pada objek itu sendiri. *Thimoty 3' 0..0/ 9. Polimor!isme 1onsep yang menyatakan bah"a sesuatu yang sama dapat mempunyai bentuk dan perlikau yang berbeda' bah"a operasi yang sama mungkin memiliki perbedaan dalam class yang berbeda. *Thimoty 3' 0..0/ ;. Inheritas Mengatur polimor!isme dan enkapsulasi dengan mengijinkan objek dide!inisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada objek(objek ini dapat membagi $dan memperluas% perilaku mereka tanpa harus mengimplementasi ulang perilaku tersebut. Inheritas teknik yang menyatakan bah"a anak dari objek akan me"arisi data atau atau atribut dan met(od dari induknya langsung. Atribut dan met(od dari obyek induk diturunkan kepada anak objek. *Thimoty 3' 0..0/

Anda mungkin juga menyukai