• Tidak ada hasil yang ditemukan

J.E.N.I BAB 1 Pengenalan Pemrograman WEB

N/A
N/A
Protected

Academic year: 2019

Membagikan "J.E.N.I BAB 1 Pengenalan Pemrograman WEB"

Copied!
10
0
0

Teks penuh

(1)

BAB 1

Pe n ge n a la n Pe m r ogr a m a n W EB

1 .1

M e n ga pa h a r u s de n ga n W e b?

Selam at dat ang pada pelaj aran t ent ang web program m ing. Unt uk m em ulainya , dim ulai dengan sebuah pengert ian yang baik t ent ang bagaim ana web dapat berguna unt uk perusahaan dan program m er sepert i pada pem rogram an Web.

1 .1 .1

Lin gk u n ga n Te k n ologi N e t r a l.

Pert am a- t am a,sebuah pem ik iran yang baik t ent ang aplikasi pada int ernet yait u ‘Net adalah t echnology am an lingkungan. Kom unikasi dengan berm acam aplikasi pada web yang dij alankan m elalui popular prot ocol( HTML/ HTTP) hal it u t idak dibut uhkan user unt uk m em punyai operat ion syst em yang khusus m aupun klien yang diprogram kan pada bahasa pem ogram an t ert ent u at au fram ew ork. Sem ua user ingin m enggunakan web browser, aplikasi st andart ini t erdapat pada operat ion syst em apapun.

Dikarenakan program yang dibut uhkan pada pem belaj aran ini hanyalah sebuah web browser, t idak perlu m em bagi program - program m elalui CD. User t idak perlu j uga m elalui sebuah proses inst alasi yang panj ang; yang akan m ereka perlukan adalah lokasi aplikasi di I nt ernet , dan m ereka t elah siap.

Manfaat yang lain yang dim iliki biner dari suat u program yang t erdapat pada server yang diakses t er dapat pada user com put er yait u perm asalahan yang um um yang t erkait dengan updat e program , sepert i kebut uhan pada wakt u t ert ent u m elihat kem ungkinan versi t erbar u dari suat u program , perm asalahannya adalah bagaim ana cara m endapat kan program updat ing; disisihkan secara bersam an, user t idak perlu diberit ahu at as program yang sudah t erupdat e; sem ua yang dibut uhkan unt uk m engupdat e program pada web server dan secara ot om at is sem ua user akan m enggunakannya set elah it u akan m enikm at i m anfaat dari updat e.

1 .1 .2

Ar sit e k t u r Clie n t Se r ve r

1 .1 .2 .1 Th ick da n t h in clie n t s

Aplikasi web adalah j enis aplikasi yang m enggunakan arsit ekt ur client - server. Pada j enis arsit ekt ur ini, sebuah program client t erhubung pada sebuah server unt uk inform asi yang dibut uhkan unt uk m elengkapi t ugas- t ugas yang t elah diset oleh user. Ada yang disebut

(2)

Thin client adalah client s yang hanya berisikan sedikit dari apa y ang diperlukan unt uk pengalam an user, kebanyakan hanya int erface. Sem ua logika bisnis, sem ua dat a, t erkecuali yang disediakan oleh user, berada di dalam server. Thick client s adalah client s yang sam a, kecuali pada int erface, j uga berisi beberapa, j ika t idak banyak, logika pengolahan diperlukan unt uk t ugas- t ugas user yang spesifik.

1 .1 .2 .2 Ar sit e k t u r Clie n t - Se r ve r da r i pe r spe k t if W e b

Dari definisi di at as, kit a dapat m enyim pulkan bahw a client digunakan unt uk aplikasi w eb t hin client s. Program client , pada hal ini adalah brow ser, hanya sebuah int erface yang oleh user digunakan unt uk m elaksanakan t ugas- t ugas. Yang lainnya, dari dat a yang user perlukan unt uk dioperasikan, logika yang m enent ukan aliran program dan eksekusi, berada pada server.

Dari suat u perspekt if web base disini adalah t ugas- t ugas dari server client :

W e b se r v e r

Ga m ba r 1 .1 : Ta n ggu n g Ja w a b Se r ve r

(3)

W e b clie n t

Tugas browser adalah m enyediakan user sebuah int erface dim ana akan m em int a server dan m enam pilkan respon dari server.

Ket ika user m em int a server ( sebagai cont oh, m endapat kan dokum en, at au m ungkin m engirim (subm it) sebuah form ) , browserlah yang m em form at perm int aan t ersebut ke dalam sesuat u yang server dapat m engert i. Begit u server t elah selesai m em proses perm int aan dan kem udian m engirim r espon, browser m engam bil dat a yang diperlukan dari respon yang diberikan server dan kem udian m erendernya unt uk dit am pilkan ke user.

H TM L

Bagaim ana cara browser m enget ahui apa yang harus dit am pilkan ke user? Sebagian besar sit us web t idak hanya berisi t eks sederhana, t et api disert ai grafis at au m em ilik i form yang dapat m em anggil suat u dat a. Bagaim ana m asing- m asing browser m enget ahui apa yang harus dit am pilkan?

Jawabannya adalah HTML, sebuah singkat an dari Hypertext Markup Language. HTML dapat dim engert i sebagai sebuah kum pulan perint ah- perint ah unt uk w eb brow ser t ent ang bagaim ana m enam pilkan isi ke user. I t u m erupakan st andar t erbuka yang t elah di updat e oleh W3C at au World Wide Web Consort ium.

Karena m erupakan sebuah st andar t erbuka, set iap orang m engaksesnya, berart i bahwa browsers dikem bangkan dengan st andar it u di pikiran. Lebih lanj ut berart i bahw a sem ua browsers m enget ahui apa yang dilakukan ket ika it u m em ecahkan HTML, m eskipun beberapa browsers yang lebih lam a m ungkin m em ilik i perm asalahan pada perenderan beberapa halam an yang dit ulis m enggunakan versi HTML yang lebih baru yang t elah diupdat e set elah pengem bangannya.

H TTP D e fin isi

HTTP singkat an dari “ HyperText Transfer Prot ocol“. Merupakan sebuah prot okol j aringan dengan fit ur- fit ur Web- specific yang berj alan pada bagian t erat as dari dua lapisan prot okol lain, TCP dan I P. TCP adalah sebuah prot okol yang bert anggung j awab m em ast ikan file t elah dikir im dari akhir net work t elah lengkap dikirm kan, berhasil pada t uj uannya. I P m erupakan sebuah prot okol yang m engarahkan (rout ing) file dar i sat u host ke host lain pada j alannya unt uk t uj uan. HTTP m engguanakan dua prot okol ini unt uk m em ast ikan bahwa perm int aan dan respon t elah lengkap dikir im kan diant ara m asing-m asing akhir koasing-m unikasi.

HTTP m enggunakan urut an Request / Response: Sebuah HTTP client m em buka koneksi dan m engirim sebuah pesan perm int aan pada HTTP server; server kem udian m engirim kan

(4)

Form at dari pesan perm int aan dan respon adalah sam a, dan berorient asikan bahasa inggris. Kedua j enis pesan m engandung :

• Sebuah garis inisial

• Nol at au lebih garis header

• Sebuah garis kosong( i.e sebuah CRLF oleh dirinya sendiri) , dan pesan body opt ional ( e.g. sebuah file, at au dat a query, at au keluaran query) .

H TTP Re que st s

Perm int aan- perm int aan dari client ke server berisikan inform asi t ent ang m acam - m acam dat a yang user inginkan. Salah sat u it em inform asi yang dienkapsulasi pada perm int aan HTTP adalah sebuah nam a m et hod. I ni m em berit ahu server m acam - m acam perm int aan yang dibuat , sebagaim ana sisa pesan dari client diform at . Ada dua prot okol yang m ungkin akan Anda gunakan : GET dan POST.

GET

GET adalah m et hod HTTP paling sederhana dan digunakan sebagian besar unt uk m em int a resource t ert ent u dari server, apakah berupa halam an web, file gam bar grafis, at au sebuah dokum en, dan lain- lain.

GET dapat j uga digunakan unt uk m engirim dat a di at as server, m eskipun dem ikian hal it u m em punyai bat asan- bat asan. Jum lah t ot al karakt er yang dapat dienkapsulasi ke dalam perm int aan GET adalah t erbat as, sehingga unt uk sit uasi dim ana banyak dat a perlu dikirim kan ke server, t idak sem ua pesan dapat disam paikan.

Bat asan lain m et hod perm int aan GET ket ika m engirim dat a adalah dat a yang Anda kirim m enggunakan m et hod ini dit am bahkan pada URL yang Anda kirim ke server. ( Unt uk sekarang, asum sikan URL sebagai alam at unik yang akan Anda kirim ke server sebagai penandaan lokasi yang Anda m int a) . Salah sat u perm asalahannya adalah URL dari beberapa perm int aan yang Anda inginkan dit am pilkan pada bar browser pada beberapa browser. Hal ini berart i, bahwa beberapa dat a sensit if sepert i passw ord at au inform asi kont ak (cont act inform at ion) dapat dit erlihat oleh siapapun.

Keunt ungan dari penggunaan GET dalam pengirim an dat a di at as server adalah perm int aan URL dari perm int aan GET dapat dibookm ark oleh brow ser. Hal ini berart i bahwa user dapat dengan m udah m em bookm ark perm int aannya dan m engakses set iap saat dari pada m elalui proses t iap wakt u. Hal ini j uga dapat m em bahayakan; j ika bookm ark secara fungsional bukan m erupakan sesuat u yang Anda inginkan pada user Anda, sebagai gant inya m enggunakan m et hod lain.

Di baw ah ini m erupakan URL yang dihasilkan oleh perm int aan GET :

http://jedi-master.dev.java.net/servlets/NewsItemView?newsItemID=2359&filter=true

Sem ua it em sebelum t anda t anya ( ?) m erupakan URL asli perm int aan ( dalam hal ini

http://jedi-master.dev.java.net/servlets/NewsItemView). Set elah it u, berikut nya adalah

(5)

Mari kit a lihat secara seksam a bagian t ersebut . Berikut ini param et er yang dit am bahkan pada perm int aan :

newsItemID=2359&filter=true

Pada perm int aan GET, param et ers disandikan sebagai nam a dan nilai. Anda t idak m engirim nilai dat a k e server t anpa m enget ahui secara spesifik unt uk apakah nilai t ersebut . Nam a dan nilai disandikan sebagai berikut :

name=value

Dan j uga, j ika t erdapat lebih dari sat u kum pulan param et er, akan dipisahkan m enggunakan t anda am persand ( &) . Sehingga , dalam hal ini, nam a- nam a param et er yang kit a spesifikkan ke server adalah newsI t em I D dan filt er, dengan nilai 2359 dan t rue, bert urut - t urut .

POST

Jenis lain dari m et hod perm int aan yang past i akan digunakan adalah perm int aan POST. Jenis perm int aan ini didesain sepert i browser dapat m em buat perm int aan kom pleks dari server. Mereka didesain sehingga user, m elalui browser, dapat m engirim banyak dat a ke server. Form kom pleks secara um um dicapai dengan m enggunakan perm int aan POST, sebagaim ana form sederhana yang m em elukan proses upload file ke server.

Sat u perbedaan yang nyat a ant ara m et hod GET dan POST t erlet ak pada cara m engirim kan dat a ke server. Sepert i yang dinyat akan sebelum nya, GET hanya m enam bahkan dat a ke URL yang akan m engirim . POST, di sisi lain, m engenkapsulasi at au m enyem bunyikan dat a di dalam body pesan ( m essage body) yang dikirim . Ket ika server m enerim a perm int aan dan m enent ukan bahwa it u m er upakan sebuah perm int aan POST, dapat dilihat dari body pesan dat a t ersebut .

H TTP Re spon se

HTTP m erespon dari server yang berisi headers dan body pesan, sepert i yang perm int aan HTTP lakukan. Mereka m enggunakan kum pulan header yang berbeda, m eskipun dem ikian disini k it a t idak perlu t erlalu dalam m em bahasnya secara det ail. Cukup dengan m engat akan bahwa headers berisi inform asi t ent ang prot okol HTTP yang digunakan pada server, sebagaim ana t ipe dari isi yang dienkapsulasi ke dalam body pesan. Nilai dari t ipe isi adalah MI ME- t ype. I ni akan m em berit ahu browser j ika pesan berisi HTML, gam bar, at au t ipe lainnya.

D yna m ic ove r St a t ic pa ge s

Macam - m acam cont ent / isi yang dapat dilayani oleh web server dapat berupa st at is at au

(6)

Cont oh dari cont ent st at is m eliput i kum pulan art ikel surat kabar, gam bar keluarga dari galer i fot o online, at au bahkan m ungkin salinan online dokum en ini!

Dinam ic cont ent , pada sisi lain, berubah m enurut input dari user. aplikasi apa pada server yang dapat m engakses pada t ipe cont ent ini yait u sem acam t em plat e yang m ereka dapat ket ahui yang m engacu pada bagaim ana dokum en dapat dikirim dan akan t erlihat secara um um , t em plat e ini kem udian m em buat perset uj uan pada param et er yang dikir im oleh user dan dikem balikan pada klien.

Hal it u dapat dikat akan sebagai berikut , halam an dinam is m em punyai lebih banyak flexibilit as dan kegunaan dari pada halam an st at is. Disini t erdapat beberapa pasangan skenario dim ana hanya cont ent dinam ik yang akan cocok:

H a la m a n w e b ha n ya dida sa r k a n pa da da t a ya ng dibe r ik a n ole h u se r .

Sebagai cont oh, halam an dari hasil m esin pencari dihasilkan oleh cara ini, dan program yang m em proses pesanan unt uk lokasi e- com m erce m elakukannya dengan baik.

D a t a se r ing be r uba h, sebuah laporan- cuaca at au halam an berit a ut am a akan

m em bangun halam an yang dinam ik, m ungkin m enam pilkan kem bali halam an yang dibangun sebelum nya j ika m asih t ergolong sebagai berit a t erbaru.

• Halam an w eb m enggunakan inform asi dari dat abase perusahaan at au sum ber yang lain.

Pent ing unt uk disadari, web server dengan sendirinya t idak m em punyai kem am puan unt uk m elayani cont ent dinam ic, web server m em but uhkan aplikasi yang dapat m ereka akses unt uk m em bangun cont ent yang dinam ic. Term asuk m em erlukan aplikasi t ersendiri unt uk m em buat cont ent dinam ic, web server selalu m em but uhkan aplikasi t ersendiri yang akan m enyim pan inform asi user yang bersangkut an ( sepert i m engum pulkan berdasarkan form at ) kedalam m edia penyim panan, Anda t idak dapat m engharapkan unt uk m em buat sebuah form , m em erint ahkan user unt uk m em asukkan dat a kedalam nya, m engirim nya ke server, dan server secara ot om at is m enget ahui apa yang akan dilakukan pada dat a t ersebut .

Kit a kini berada dalam bagian diskusi kit a dim ana kit a dapat dengan j elas m enunj uk bahwa pem buat an dari aplikasi web ini yang m erupakan pokok pem bahasan pada bab ini, j adi, bagaim ana cara yang kit a lakukan unt uk m em buat aplikasi ini?

Pada bab ini, kit a akan m em pelaj ari dasar pada t eknologi berbasis Java unt uk m em buat aplikasi w eb kit a. Lebih spesifik lagi, kit a akan m em buat penggunaan API s secara ext ensif yang disediakan pada web t ier dalam spesifikasi J2EE ( Java 2 Ent erprise Edit ion) .

1 .1 .3

Pe n ge n a la n J2 EE W e b Tie r

(7)

t ersebut . Suat u cont oh aplikasi m ult i- t ier adalah suat u aplikasi w eb : layer present asi ( client browser) , layer bussines logic ( program yang berada pada web server) , dan layer penyim panan ( dat abase yang akan m enangani dat a aplikasi t ersebut ) t erpisah dengan j elas, t et api secara keseluruhan bert uj uan unt uk m encipt akan sebuah aplikasi bagi user.

Salah sat u st rat a dalam plat form J2EE ket ika sebelum nya berupa web- t ier. St rat a ini di uraikan sebagai layer yang saling berhubungan dengan browser dalam rangka m encipt akan cont ent yang dinam is. Ada dua t eknologi pada layer ini : servlet dan JavaServerPage.

Ga m ba r 1 - 3 : W e b Tie r pa da pla t for m J2 EE ( Ga m ba r da r i J2 EE Tu t or ia l)

1 .1 .3 .1 Se r v le t s

Teknologi Servlet adalah j awaban ut am a yang t erdapat pada Java unt uk m enam bahkan fungsi ke server yang digunakan unt uk m erespon perm int aan dari m odel. Mereka m em punyai kem am puan unt uk m em baca kum pulan dat a yang dim int a oleh server dan m enghasilkan response yang dinam is yang berdasarkan pada dat a t ersebut , servlet t idak t erbat as pada kondisi HTTP; sepert i dinyat akan sebelum nya, m ereka dit erapkan unt uk scenario m anapun yang m enunt ut request dari obj ect m odel. Kondisi HTTP pada saat ini adalah yang digunakan pert am a kali, j adi Java m enyediakan versi spesifikasi HTTP yang m engim plem ent asi pada fit ur- fit ur spesifik HTTP.

1 .1 .3 .2 Ja va Se r ve r Pa ge s.

Salah sat u dari kelem ahan dalam penggunaan servlet yait u pada proses generat e sebuah respon dari klien yang berform at HTML akan dikirim kem bali. Sej ak servlet berupa class bahasa pem ogram an Java, m ereka m enghasilkan keluaran dengan cara lain pada pem ogram an Java sepert i : m encet ak karakt er St ring ket ika m engeluarkan out put , dalam hal ini HTTP- response, bagaim anapun, HTML sangat com plex dan sangat sulit unt uk m elakukan proses encode HTML m elalui penggunaan St ring lit eral. Juga,m elibat kan j asa suat u perancang gafis dan perancang halam an web unt uk m em bant u didalam bagian halam an st at is akan sulit at au m ungkin m ust ahil : kit a akan m engharapkan dia unt uk m em punyai sedikit penget ahuan t ent ang Java.

(8)

1 .1 .3 .3 Con t a ine r s

Pusat dari konsep aplikasi J2EE adalah cont ainer, sem ua kom ponen J2EE, m encakup kom ponen web ( servlet ,JSPs) bersandar pada keberadaan suat u Cont ainer; t anpa cont ainer yang sesuai, m ereka t idak akan dapat dij alankan.

Ga m ba r 1 - 4 : Con t a in e r s pa da pla t for m J2 EE ( Ga m ba r da r i J2 EE Tu t or ia l)

Barangkali cara unt uk m enj elaskan hal ini adalah unt uk berpikir t ent ang ragam pelaksanaan program Java secara norm al. Program Java, unt uk dij alankan, harus m em ilik i cara ut am a yang m enggam barkan ; m enandai st art ini pada pelaksanaan program dan m enj alankan m et hod ket ika program diexecut e dari com m and line.

(9)

Fit ur yang diberikan oleh Cont ainer

Pe n du k u ng Kom u n ik a si. Cont ainer m enangani sem ua kode yang pent ing dari

• er m enangani segalanya dalam kehidupan pada

ng M u lt it hr e a din g. Cont ainer m engat ur t ugas dari urut an w akt u yang

. Halam an JSP, dalam m em perkerj akan, harus m encom pile dalam

.1 .3 .4 St r u k t u r D a sa r D a r i Aplik a si W e b

er dapat m engenali aplikasi sebagai aplikasi web yang sah, harus dibent uk

am bar 1- 5 m enunj ukkan st rukt ur direkt ori yang diperlukan oleh cont ainer unt uk

ert am a, t op level Folder( salah sat u yang m engisi aplikasi Anda) t idak harus diberi nam a

edua, folder lain dapat dim uat pada st rukt ur direkt ori ini, sebagai cont oh, karena

servlet Anda unt uk berkom unikasi dengan web server. Tanpa cont ainer, developer m ungkin harus m enuliskan code yang akan m encipt akan suat u koneksi dari serv er ke servlet ( dan sebaliknya) dan m engat ur bagaim ana m ereka bert em u sat u sam a yang lain pada t iap sat uan w akt u.

M a na ge m e n t Life scycle . Cont ain

servlet Anda, m ulai loading class, inst at iat ion dan inisialisasi, dan m engoleksi sam pah.

Pe n du k u

baru set iap kali suat u servlet dibuat , NOTE : cont ainer t idak bert anggung j awab dari servlet m u.

Pe n du k u ng JSP

code Java, m engcom pilenya, dan m em anggil m et ode yang sesuai dalam code.

1

Supaya cont ain

st rukt ur direkt ori yang spesifik:

Ga m ba r 1 - 5 : St r u k t u r D ir e k t or i da la m Ja va W e b Applica t ion

G

m engenali aplikasi Anda, beberapa hal m engenai st rukt ur ini:

P

Dokum ent Root . Sesungguhnya pem berian nam a apapun t idak m em pengaruhi aplikasi, nam un disarankan unt uk m enam ainya sesuai dengan nam a aplikasi Anda. Penam aan sebagai Docum ent Root hanya m enggam barkan direkt ori ini bert indak sebagai root folder pada file at au dokum en pada aplikasi Anda.

K

(10)

konfigurasi. Selam a m engikut i alur st rukt ur yang dit ent ukan sepert i diat as, cont ainer m engij inan penam bahan direkt ori.

Ket iga: Kapit alisasi pada folder WEB- I NF adalah disengaj a, Lowercaps pada class dan Library adalah disengaj a j uga, t idak m engikut i at uran kapit alisasi m anapun pada folder ini akan m engakibat kan aplikasi Anda t idak dapat m elihat isi dari folder ini.

Keem pat : Sem ua cont ent at au isi dari folder WEB- I NF t idak dapat dilihat dari browser. Cont ainer secara ot om at is m engat ur berbagai hal, sepert i : pada t am pilan browser, folder t ersebut t idak ada at au t idak diket ahui. Mekanism e ini m elindungi sum berdaya vit al sepert i pada file class Java, konfigurasi aplikasi, dan lain sebagainya. Cont ent pada folder ini hanya dapat di akses oleh aplik asi Anda.

Referensi

Dokumen terkait

mengembangkan buku mewarnai “25 TON” (25 Tanaman Obat Nias) untuk siswa kelas III sekolah dasar supaya mereka dapat mengetahui pentingnya memelihara, merawat, dan

Apabila tidak hadir pada hari yang sudah ditentukan di atas, pihak perusahaan harus memberitahukan kepada panitia sebelumnya2. Demikian undangan ini disampaikan,

[r]

plywood, laminated veneer lumber, glue laminated timber, flooring, particleboard, fibreboard, plywood general use, concrete from plywood, structural plywood..

kelompok di masyarakat termasuk swasta sehingga di satu pihak dapat mengatasi masalah kesehatan yang dihadapi kelompok dan di pihak lain berperan aktif dalam upaya

2016 tanggal 23 September 2016 dan setelah melakukan pembahasan internal seluruh anggota Pokja, serta dengan berpedoman pada Peraturan Presiden Nomor 4 Tahun 2015 tentang

[r]

[r]