Anda di halaman 1dari 13

Bab 5 Menggunakan Java Bean

33
Bab 5
Menggunakan Java Bean


POKOK BAHASAN:

Karakteristik J ava Bean
Membuat J ava Bean
Mengeset nilai property J ava Bean
Menampilkan nilai property J ava Bean

TUJUAN BELAJAR:

Setelah mempelajari bab ini, mahasiswa diharapkan mampu:
1. mengenal pengertian J ava Bean
2. Mahasiswa mengenal sintak J ava Bean
3. Mahasiswa mampu mengintegrasikan J ava Bean dengan J SP

5.1Karakteristik Java Bean
API J ava Bean merupakan standar format dari class java. Dengan adanya J ava
Bean, komponen dapat digunakan sewaktu-waktu untuk membangun program.
Penulisan kelas J ava Bean mempunyai aturan tertentu sebagai berikut:
a. Memiliki properti (variabel) dengan akses bukan public yang digunakan untuk
menyimpan data.
b. Memiliki method get dan set (memberi dan mendapatkan properti dari bean).
c. Memiliki konstruktor kosong.


Bab 5 Menggunakan Java Bean

34
Berikut ini adalah langkah-langkah membuat kelas J ava Bean:
a. Mendefinisikan variabel dalam bean yang akan kita buat.
Variabel ini tidak boleh dideklarasikan public.
Misal : private String nrp;
b. Untuk masing-masing variabel dibuat metode get dan set.
Misal : getNrp() dan setNrp()
Untuk boolean, gunakan method setXxx() untuk mengeset nilai boolean
dan isXxx yang mengembalikan nilai boolean
Aturan membuat method:
public void set<namaVariabel>
public <tipe_variabel>get<namaVariabel>
public boolean is<namaVariabel>
c. Menambahkan konstruktor kosong.
Berfungsi untuk inisialisasi

5.2Membuat Java Bean
Memanggil javabean dalam halaman jsp memakai sintax:

<jsp:usebean id=name class=package.Class/>

Yang berarti pembuatan object class yang telah ditentukan dan dimasukkan ke
dalam variable dengan nama yang ditentukan id.
Seumpama ada contoh sintax berikut :

<jsp:usebean id=book1 class=cwp.Book/>

Secara normal hal sama dengan scriplet :

<% cwp.Book book1=new cwp.Book(); %>

Meskipun javabean ekivalen dengan membangun sebuah object, tapi dia
mempunyai option tambahan yang membuatnya lebih powerfull. Kita dapat menentujan
Bab 5 Menggunakan Java Bean

35
scope yang mendefinisikan ruang batas dari obyek yang akan dibuat. Bisa saja scope
bukan hanya pada page ini saja, tapi bisa lebih jauh. J ika ini dapat dishare tentunya akan
sangat berguna, jadi kita akan membuat object baru jika dan hanya jika tidak memang
benar benar tidak ada yang id dan scopenya sama.


5.3Mengambil Nilai Property Java Bean
Dalam beberapa kasus mungkin kita ingin variable lokal kita mempunyai tipe
yang sama sebagai object yang dibuat. Cara pengaksesan javabean adalah memakai
sintax jsp:getproperty. Contoh pengaksesan sbb :

<jsp:getProperty name=book1 propery=title />

ekivalen dengan

<%= book1.getTitle() %>

5.4Mengeset Nilai Property Java Bean
Untuk memodifikasi properti menggunakan sintax jsp:setProperty . Action ini
mempunyai beberapa bentuk yang berbeda, tapi untuk yang paling simple perlu tiga
attribut yaitu : name, property dan valuenya. Contoh sintax sederhananya adalah sbb :

<jsp:setProperty name=book1 propery=title value=Core Web
Programming/>

ekivalen dengan :

<%= book1.setTitle(Core Web Programmming) %>

Berikut ini adalah contoh sederhana J ava Bean dengan J SP:
Bab 5 Menggunakan Java Bean

36
package cor eser vl et s;
/ ** Cont oh J ava Bean dengan sat u pr oper t i ber t i pe St r i ng
* yang ber nama message
*/

publ i c cl ass St r i ngBean {
pr i vat e St r i ng message = " No message speci f i ed" ;

publ i c St r i ng getMessage( ) {
r et ur n( message) ;
}

publ i c voi d setMessage( St r i ng message) {
t hi s. message = message;
}
}
Listing 4.1 StringBean.java




Dan pengaksesannya memakai J SP adalah sbb :
<! DOCTYPE HTML PUBLI C " - / / W3C/ / DTD HTML 4. 0
Tr ansi t i onal / / EN" >
<HTML>
<HEAD>
<TI TLE>Usi ng J avaBeans wi t h J SP</ TI TLE>
</ HEAD>
<BODY>
<TABLE BORDER=5 ALI GN=" CENTER" >
<TR><TH CLASS=" TI TLE" > Usi ng J avaBeans wi t h J SP
</ TABLE>
<jsp:useBean id="stringBean"
class="coreservlets.StringBean"/>
<OL>
<LI >I ni t i al val ue ( get Pr oper t y) :
<I ><jsp:getProperty name="stringBean"
property="message" /></ I >
<LI >I ni t i al val ue ( J SP expr essi on) :
<I ><%= stringBean.getMessage() %></ I >
<LI ><jsp:setProperty name="stringBean"
property="message"
value="Best string bean: Fortex" />
Val ue af t er set t i ng pr oper t y wi t h set Pr oper t y:
<I ><jsp:getProperty name="stringBean"
property="message" /></ I >
<LI ><% stringBean.setMessage("My favorite:
Kentucky Wonder"); %>
Val ue af t er set t i ng pr oper t y wi t h scr i pt l et :
<I ><%= stringBean.getMessage() %></ I >
</ OL>
Bab 5 Menggunakan Java Bean

37
</ BODY>
</ HTML>
Listing 4.2 File J SP untuk StringBean

Berikut ini adalah contoh program pemakaian set dan get properti javabean:
package cor eser vl et s;
/ ** Bean seder hana unt uk mengi l ust r asi kan ber bagai macam
* bent uk j sp: set Pr oper t y.
*/

publ i c cl ass Sal eEnt r y {
pr i vat e St r i ng i t emI D = " unknown" ;
pr i vat e doubl e di scount Code = 1. 0;
pr i vat e i nt numI t ems = 0;

publ i c St r i ng get I t emI D( ) {
r et ur n( i t emI D) ;
}

publ i c voi d set I t emI D( St r i ng i t emI D) {
i f ( i t emI D ! = nul l ) {
t hi s. i t emI D = i t emI D;
} el se {
t hi s. i t emI D = " unknown" ;
}
}

publ i c doubl e get Di scount Code( ) {
r et ur n( di scount Code) ;
}

publ i c voi d set Di scount Code( doubl e di scount Code) {
t hi s. di scount Code = di scount Code;
}

publ i c i nt get NumI t ems( ) {
r et ur n( numI t ems) ;
}

publ i c voi d set NumI t ems( i nt numI t ems) {
t hi s. numI t ems = numI t ems;
}
/ / Repl ace t hi s wi t h r eal dat abase l ookup.
publ i c doubl e get I t emCost ( ) {
doubl e cost ;
i f ( i t emI D. equal s( " a1234" ) ) {
cost = 12. 99*get Di scount Code( ) ;
} el se {
cost = - 9999;
}
r et ur n( r oundToPenni es( cost ) ) ;
}
Bab 5 Menggunakan Java Bean

38

pr i vat e doubl e r oundToPenni es( doubl e cost ) {
r et ur n( Mat h. f l oor ( cost *100) / 100. 0) ;
}

publ i c doubl e get Tot al Cost ( ) {
r et ur n( get I t emCost ( ) * get NumI t ems( ) ) ;
}
}
Listing 4.3 SaleEntry.java

Dan pengaksesannya memakai J SP adalah sebagai berikut :
<! DOCTYPE HTML PUBLI C " - / / W3C/ / DTD HTML 4. 0
Tr ansi t i onal / / EN" >
<HTML>
<HEAD><TI TLE>Usi ng j sp: set Pr oper t y</ TI TLE>
</ HEAD>
<BODY>
<TABLE BORDER=5 ALI GN=" CENTER" >
<TR><TH CLASS=" TI TLE" >
Usi ng j sp: set Pr oper t y</ TABLE>
<jsp:useBean id="entry"
class="coreservlets.SaleEntry" />
<jsp:setProperty name="entry"
property="itemID"
value='<%= request.getParameter("itemID") %>' />
<%
int numItemsOrdered = 1;
try {
numItemsOrdered =
Integer.parseInt(request.getParameter("numItems"));
} catch(NumberFormatException nfe) {}
%>
<jsp:setProperty name="entry"
property="numItems"
value="<%= numItemsOrdered %>" />
<%
double discountCode = 1.0;
try {
String discountString =
request.getParameter("discountCode");
// Double.parseDouble not available in JDK 1.1
discountCode =
Double.valueOf(discountString).doubleValue();
} catch(NumberFormatException nfe) {}
%>
<jsp:setProperty name="entry"
property="discountCode"
value="<%= discountCode %>" />
<BR>
<TABLE ALI GN=" CENTER" BORDER=1>
<TR CLASS=" COLORED" >
Bab 5 Menggunakan Java Bean

39
<TH>I t emI D<TH>Uni t Pr i ce<TH>Number
Or der ed<TH>Tot al Pr i ce
<TR ALI GN=" RI GHT" >
<TD><j sp: get Pr oper t y name=" ent r y"
pr oper t y=" i t emI D" / >
<TD>$<j sp: get Pr oper t y name=" ent r y"
pr oper t y=" i t emCost " / >
<TD><j sp: get Pr oper t y name=" ent r y"
pr oper t y=" numI t ems" / >
<TD>$<j sp: get Pr oper t y name=" ent r y"
pr oper t y=" t ot al Cost " / >
</ TABLE>
</ BODY>
</ HTML>

Listing 4.4 File J SP untuk SaleEntry

Untuk menjalankan program akses url dengan cara sebagai berikut:
http://localhost:8080/process/SaleEntry1.jsp?itemID=a1234&numItems=11&discountC
ode=0.95
Perhatikan Listing 4.4 diatas digunakan ekspresi J SP untuk memberikan nilai pada
atribut value. Nilai yang diperoleh dari pengambilan parameter adalah bernilai String.
Bagaimana bila nilai hasil pengambilan parameter tersebut akan diberikan pada atribut
yang bertipe numerik? Diperlukan konversi tipe data seperti yang dicontohkan pada
atribut discountCode dan numItems diatas. Ingat method getParameter(String param)
akan mengembalikan nilai String.

5.4 Percobaan
1. Tuliskan kembali program di atas dan amati output yang dihasilkan.
2. Tulis Program di bawah ini amati output apa yang dihasilkan.
Listing 4.5 dan Listing 4.6 adalah alternatif dari praktikum Listing 4.4.
Perhatikan bahwa pada alternatif ini tidak diperlukan konversi tipe data.
<! DOCTYPE HTML PUBLI C " - / / W3C/ / DTD HTML 4. 0 Tr ansi t i onal / / EN" >
<HTML>
<HEAD>
<TI TLE>Menggunakan j sp: set Pr oper t y</ TI TLE>
</ HEAD>
<BODY>
<TABLE BORDER=5 ALI GN=" CENTER" >
<TR><TH CLASS=" TI TLE" >
Usi ng j sp: set Pr oper t y</ TABLE>
<j sp: useBean i d=" ent r y" cl ass=" cwp. Sal eEnt r y" / >
Bab 5 Menggunakan Java Bean

40
<j sp: set Pr oper t y
name=" ent r y"
pr oper t y=" i t emI D"
par am=" i t emI D" / >
<j sp: set Pr oper t y
name=" ent r y"
pr oper t y=" numI t ems"
par am=" numI t ems" / >
<%- - WARNI NG! J DK 1. 0. 1 dan J ava Web Ser ver
mempunyai bug yang menyebabkan kegagal an
konver si t i pe dat a
- - %>
<j sp: set Pr oper t y
name=" ent r y"
pr oper t y=" di scount Code"
par am=" di scount Code" / >
<BR>
<TABLE ALI GN=" CENTER" BORDER=1>
<TR CLASS=" COLORED" >
<TH>I t emI D<TH>Uni t Pr i ce<TH>Number Or der ed<TH>Tot al Pr i ce
<TR ALI GN=" RI GHT" >
<TD><j sp: get Pr oper t y name=" ent r y" pr oper t y=" i t emI D" / >
<TD>$<j sp: get Pr oper t y name=" ent r y" pr oper t y=" i t emCost " / >
<TD><j sp: get Pr oper t y name=" ent r y" pr oper t y=" numI t ems" / >
<TD>$<j sp: get Pr oper t y name=" ent r y" pr oper t y=" t ot al Cost " / >
</ TABLE>
</ BODY>
</ HTML>
Listing 4.5 Alternatif pertama file J SP untuk SaleEntry

<! DOCTYPE HTML PUBLI C " - / / W3C/ / DTD HTML 4. 0 Tr ansi t i onal / / EN" >
<! - -
Cont oh penggunaan j sp: set Pr oper t y
- - >
<HTML>
<HEAD>
<TI TLE>Usi ng j sp: set Pr oper t y</ TI TLE>
<LI NK REL=STYLESHEET
HREF=" J SP- St yl es. css"
TYPE=" t ext / css" >
</ HEAD>

<BODY>
<TABLE BORDER=5 ALI GN=" CENTER" >
<TR><TH CLASS=" TI TLE" >
Usi ng j sp: set Pr oper t y</ TABLE>
<j sp: useBean i d=" ent r y" cl ass=" cwp. Sal eEnt r y" / >
<%- - WARNI NG! J DK 1. 0. 1 dan J ava Web Ser ver
mempunyai bug yang menyebabkan kegagal an
konver si t i pe dat a secar a ot omat i s ke t i pe
dat a doubl e
- - %>
Bab 5 Menggunakan Java Bean

41
<j sp: set Pr oper t y name=" ent r y" pr oper t y=" *" / >
<BR>
<TABLE ALI GN=" CENTER" BORDER=1>
<TR CLASS=" COLORED" >
<TH>I t emI D<TH>Uni t Pr i ce<TH>Number Or der ed<TH>Tot al Pr i ce
<TR ALI GN=" RI GHT" >
<TD><j sp: get Pr oper t y name=" ent r y" pr oper t y=" i t emI D" / >
<TD>$<j sp: get Pr oper t y name=" ent r y" pr oper t y=" i t emCost " / >
<TD><j sp: get Pr oper t y name=" ent r y" pr oper t y=" numI t ems" / >
<TD>$<j sp: get Pr oper t y name=" ent r y" pr oper t y=" t ot al Cost " / >
</ TABLE>
</ BODY>
</ HTML>
Listing 4.6 Alternatif kedua file J SP untuk SaleEntry

3. Tulis Program di bawah ini dan amati hasil percobaan di bawah ini.
package cor eser vl et s;
/ ** Si mpl e bean t o i l l ust r at e shar i ng beans t hr ough
* use of t he scope at t r i but e of j sp: useBean.
*/

publ i c cl ass AccessCount Bean {
pr i vat e St r i ng f i r st Page;
pr i vat e i nt accessCount = 1;

publ i c St r i ng get Fi r st Page( ) {
r et ur n( f i r st Page) ;
}

publ i c voi d set Fi r st Page( St r i ng f i r st Page) {
t hi s. f i r st Page = f i r st Page;
}

publ i c i nt get AccessCount ( ) {
r et ur n( accessCount ++) ;
}
}
Listing 4.7 AccessCountBean.java

4. Dan pengaksesannya memakai J SP adalah sebagai berikut :
<! DOCTYPE HTML PUBLI C " - / / W3C/ / DTD HTML 4. 0
Tr ansi t i onal / / EN" >
<HTML>
<HEAD>
<TI TLE>Shar ed Access Count s: Page 1</ TI TLE>
</ HEAD>
<BODY>
<TABLE BORDER=5 ALI GN=" CENTER" >
<TR><TH CLASS=" TI TLE" >
Shar ed Access Count s: Page 1</ TABLE>
Bab 5 Menggunakan Java Bean

42
<P>
<j sp: useBean i d=" count er "
cl ass=" cor eser vl et s
scope="application">
. AccessCount Bean"
<j sp: set Pr oper t y name=" count er "
pr oper t y=" f i r st Page"
val ue=" Shar edCount s1. j sp" / >
</ j sp: useBean>
Of Shar edCount s1. j sp ( t hi s page) , <A HREF=
" Shar edCount s2. j sp" >Shar edCount s2. j sp</ A>,
and <A HREF=" Shar edCount s3. j sp" >
Shar edCount s3. j sp</ A>,
<j sp: get Pr oper t y name=" count er "
pr oper t y=" f i r st Page" / >
was t he f i r st page accessed.
<P>Col l ect i vel y, t he t hr ee pages have been
accessed
<j sp: get Pr oper t y name=" count er "
pr oper t y=" accessCount " / > t i mes.
</ BODY>
</ HTML>

Listing 4.8 File J SP untuk AccessCountBean

5. Simpan Listing 4.9 di package com.chocolove.
/ * paket dar i cl ass */
package com. chocol ove;
publ i c cl ass Count er Bean {
i nt count = 3; / * ni l ai awal pr oper t i */
/ * met hod unt uk mengambi l ni l ai pr oper t i */
publ i c i nt getCount( ) {
r et ur n count ;
}
/ * met hod unt uk mengi si ni l ai pr oper t i */
publ i c voi d setCount( i nt c) {
count = c;
}
/ * met hod unt uk menai kkan ni l ai pr oper t i */
publ i c i nt increaseCount( ) {
count ++;
r et ur n count ;
}
}
Listing 4.9 CounterBean.java






Bab 5 Menggunakan Java Bean

43









































<ht ml >
<head><t i t l e>J SP</ t i t l e></ head>
<body>
<jsp:useBean id="cacah"
class="com.chocolove.CounterBean"
scope="page">
Ni l ai awal , l angsung dar i Act i on get Pr oper t y t anpa set
l ewat J SP :
<jsp:getProperty name="cacah"
property="count" /><br>
<jsp:setProperty name="cacah"
property="count" value="8" />
</jsp:useBean>
<%
out . pr i nt ( " Ni l ai set el ah di set dengan set Pr oper t y
cacah.getCount : " + ( ) ) ;
cacah.setCount(5);
cacah.increaseCount();
out . pr i nt l n( " <br >" ) ;
out . pr i nt l n( " Ni l ai set el ah di cacah
: " +cacah.getCount( ) ) ;
%>
<br >Ni l ai dar i Act i on get Pr oper t y :
<jsp:getProperty name="cacah" property="count" /><br >
</ body>
</ ht ml >
Listing 4.10 File J SP untuk CounterBean





Bab 5 Menggunakan Java Bean

44
5.5Soal Latihan
1. Terangkan secara ringkas cara pengaksesan properti J ava Bean.
2. Terangkan secara ringkas cara seting properti J ava Bean.
3. Amati program-program pada dasar teori di atas output apa yang akan dihasilkan
jika program diatas akan dijalankan
4. Buat J ava Bean yang memiliki properti sebagai berikut:
a. noKTP : String
b. nama : String
c. menikah : boolean
d. umur : int
6. Buat file J SP yang digunakan untuk mengeset dan menampilkan semua properti
J ava Bean yang telah dibuat pada percobaan 4.1.
7. Buatlah package cwp. Simpan Listing 4.11 di package cwp.














package cwp;
publ i c cl ass Pesan{
pr i vat e St r i ng message;

publ i c Pesan( ) {}

publ i c voi d setMessage( St r i ng message) {
t hi s. message = message;
}

publ i c St r i ng getMessage( ) {
r et ur n( message) ;
}
}
Listing 4.11 Pesan.java


Dan pengaksesannya memakai J SP adalah sebagai berikut :










<HTML>
<HEAD>
<TI TLE>J avaBean i n J SP</ TI TLE>
</ HEAD>
<BODY>
<p>
<jsp:useBean id="coba"
class="cwp.Pesan" />
<jsp:setProperty name="coba"
property="message"
value="5" />
Mengambi l ni l ai yang sudah di set sebel umnya:
<jsp:getProperty name="coba" property="message" />
</ p>
</ BODY>
</ HTML>
Bab 5 Menggunakan Java Bean

45






Listing 4.12 File J SP untuk Pesan

Selanjutnya cobalah untuk membuat aplikasi yang mengakses data numerik (misal: int
atau double)!
Atribut value pada <jsp:setProperty> digunakan untuk memberikan nilai yang bertipe
String. J ika nilai pada value tersebut diberikan pada atribut numerik maka secara
otomatis akan terjadi konversi nilai.

Anda mungkin juga menyukai