studi pola pengembangan web dinamis dengan arsitektur mvc

advertisement
INFOMATEK
Volume 18 Nomor 2 Desember 2016
STUDI POLA PENGEMBANGAN WEB DINAMIS DENGAN ARSITEKTUR
MVC: IMPLEMENTASI PADA JAVASERVER FACES (JSF)
Hendra Komara
*)
Program Studi Teknik Informatika
Fakultas Teknik – Universitas Pasundan
Abstrak: Perangkat lunak berbasis web dinamis (PLBWD) melakukan pengubahan informasi melalui
pengubahan data, bukan melalui pengubahan kode program. Teknologi pengembang PLBWD terus merilis dan
memutakirkan kakas pengembang PLBWD dengan keunggulan masing-masing. Dari sisi arsitektur, desaian
MVC menawarkan PLBWD yang memisahkan tanggung jawab dari tiap lapisan aplikasi dan kegunaulangan.
Banyaknya platform untuk mengembangkan PLBWD, melahirkan kompleksitas dan biaya besar pada peringkat
teknis. Para pemrogram memerlukan usaha besar untuk mengenali dan memahami teknologi, arsitektur, teknik,
perilaku, lingkungan dari tiap platform. Pada penelitian ini dikembangkan pola umum PLBWD untuk meredam
kompleksitas dari detail tiap platform, sehingga dapat meningkatkan produktivitas pemrogram. Teknik analisis
pola PLBWD pada tiap platform dilakukan dengan cara eksperimen pada beragam aplikasi yang sudah jadi.
Hasil analisis direkam, dievaluasi secara iteratif, sehingga pola PLBWD akan terus berevolusi. Pada penelitian ini
teknologi dari masing-masing platform yang diteliti : Java EE : JSF; .NET : .NET Framework; PHP : YII. Untuk
menguji pola PLBWD, dikembangkan sebuah kakas generator. Kakas tersebut dapat membangkitkan kode
program dengan mengimplementasikan pola PLBWD yang sudah dibuat. Pada penelitian ini, implementasi
hanya dilakukan pada platform Java EE dengan mengunakan teknologi JSF.
Kata kunci: PLBWD, pola, platform, MVC.
I. PENDAHULUAN
1
Untuk meredam kompleksitas perkembangan
1.1 Latar Belakang
dan perubahan,
Penggunaan web dinamis yang meluas dan
harus
kebutuhan
mampu
yang
meningkat
melahirkan
maka rancangan aplikasi
bersifat modular.
mengurangi
Aplikasi modular
coupling
diantara
kompleksitas dari web dinamis itu sendiri.
komponen [1]. Komponen adalah entitas yang
Diperlukan teknik dan teknologi untuk dapat
memilki fungsi tertentu dan dapat diguna
membangun aplikasi web dinamis yang dapat
ulang (reuseable) (Caytiles [2]). Pengaksesan
mempermudah
user
komponen hanya melalui interface, sedangkan
interface (UI) kompleks, adaptif terhadap
detail dari komponen itu sendiri tersembunyi
perubahan, kemudahan dalam perawatan dan
(encapsulation) [1].
dalam
penyusunan
pengembangan (Burns [1]).
*)
[email protected]
Infomatek Volume 18 Nomor 2 Desember 2016 : 65 - 76
Salah satu kendala pembangunan perangkat
Pola yang dihasilkan mampu adaptif untuk
lunak
semua platform. Dihasilkannya pola yang
yang
mendasar
adalah
tuntutan
menghasilkan produk yang berkualitas dengan
adaptif
batas waktu pengerjaan singkat (Jiang [3]).
meningkatkan produktivitas pemrogram, meski
Dari sisi pemrogram, ketika harus mempelajari
harus berganti platform dan teknologi dalam
teknologi baru
pengembangan PLBWD.
dari sebuah platform secara
pada
berbagai
platform
dapat
rinci dan teknis, memerlukan usaha besar, hal
tersebut
dapat
pemrogram
menghambat
yang
produktivitas
berdampak
pada
pengembangan aplikasi secara kesuluruhan.
Untuk memvalidasi pola yang dibuat, dibuat
aplikasi generator untuk membangkitkan kode
program,
dimana
desain
aplikasi
yang
dihasilkan oleh kode generator mengacu pada
Penelitian ini bertujuan untuk menghasilkan
pola
pengembangan
dari
tiga
pola PLBWD yang dikembangkan.
platform
pengembang PLBWD, yaitu Java EE, .NET,
1.2 Identifikasi Masalah
PHP. Dari tiap platform dipilih satu teknologi
Berdasarkan latar belakang yang dipaparkan,
untuk diteliti, yaitu 1) : PHP dipilih teknologi
didapatkan
YII. Alasanya adalah karena YII membantu
berikut :
pengembang
web
1. Apakah dapat dibuat pola PLBWD yang
kompleks secara cepat sehingga delivery
adaptif pada beragam platform (Java EE,
pada pelanggan dapat tepat waktu; 2) Java
NET, dan PHP)?
EE
dipilih
menawarkan
membangun
JSF.
Alasanya
solusi
aplikasi
identifikasi
masalah
sebagai
adalah
JSF
2. Apakah
dapat
diimplementasikan
pembangunan
web
PLBWD
yang
dikembangkan
dinamis dengan kombinasi arsitektur desain
pola
tersebut
untuk beragam platoform dan teknologi?
MVC yang powerfull dan penyusunan UI yang
berbasis komponen terstandar Java EE [1]; 3)
1.3 Tujuan Penelitian
.NET
Berikut ini merupakan tujuan dari penelitian
dipilih
.NET
Framework.
Alasan
pemilihan .NET karena semua teknologi yang
yang dilakukan:
dikembangkan Microsoft meski berbayar relatif
1. Memodelkan pola PLBWD yang adaptif
matang
dan
memiliki
kemudahan
dalam
penggunaan serta memiliki dukungan penuh
pada hal help desk.
terhadap berbagai platform.
2. Membuat
generator
yang
membangkitkan kode program dari pola
PLBWD yang dikembangkan?
66
mampu
Studi Pola Pengembangan Web Dinamis dengan Arsitektur MVC :
Implementasi pada JavaServer Faces (JSF)
II. ANALISIS DAN PERANCANGAN POLA
teknologi, dan perilaku. Mengidentifikasi
PLBWD
modul, paket, kelas, dan library yang pada
2.1. Analisis Penyelesaian Masalah
iterasi selanjutnya akan dianalisis lebih
Untuk menyelesaikan analisis pola PLBWD,
dalam.
dibutuhkan acauan untuk mendefiniskan tiap
2. Analisis dan Pemodelan Pola PLBWD
fase yang pada akhirnya sampai pada hasil
Menganalisis kode program dan elemen
analisis. Pada penelitian ini, acuan yang akan
dari aplikasi. Kode program dianalisis,
digunakan
direkam dan dimodelkan meski belum
adalah
mengadaptasi
model
proses Prototyping. Model proses protyping
dipahami
merupakan model proses yang berdiri sendiri,
didapatkan pada iterasi-iterasi selanjutnya.
tetapi dapat digunakan untuk konteks tertentu
secara
utuh.
Pola
utuh
3. Pengarsiapan Pola PLBWD
dimana masih belum ada pemahaman yang
Melakukan inventarisir pada kode-kode
jelas dari apa yang hendak dikembangkan
aplikasi yang dianalisis. Kode tesebut
(Pressman [4]). Berikut representasi model
dikomparasi dengan kode pada aplikasi
proses Prototyping pada Gambar 1.
lain. Komprasi dari kode-kode tersebut
diabstraksi
untuk
mendapatkan
pola
PLBWD yang bersifat generik.
4. Evaluasi Pola PLBWD
Mengecek
sebelumnya,
hasil
analisis
kemudian
pada
iterasi
mengindetifikasi
dan menggabungkan dengan hasil analisis
terbaru. Mencocokan pola generik terbaru
dengan literatur.
2.2. Resume Hasil Analisis Pola PLBWD
untuk Tiap Lapisan MVC
Gambar 1
Model proses hasil adaptasi dari Prototyping [4].
Berikut resume hasil analisis dari tiap lapisan
MVC, direpresentasikan pada Tabel 1, 2 dan
Dari representasi pada Gambar 1 di atas,
3.
Tabel 1
berikut paparan dari tiap fase :
1. Identifikasi Spesifikasi
Mengenali dan berinteraksi dengan aplikasi
untuk mendapatkan spesikasi, arsitektur,
Lapisan View
No
1
View
Script
language
JSF
Razor
YII
JSF
Razor
PHP
67
Infomatek Volume 18 Nomor 2 Desember 2016 : 65 - 76
No
2
3
4
5
6
7
8
9
10
11
View
HTML
support
Direktori
View layer
Tempale
Framework
JSF
Razor
YII
Ya
Ya
Ya
WebContent
Views
views
Facelete
Razor
Twig
Validasi
Ya
Ya
Ya
Ekstensi
default
Penerapan
Clean code
Direktori
penyimapa
nan
aset/source
(CSS,
JavaScript)
Template
anatarmuk
a
Teknologi
interaksi
antarmuka
dengan
controller
Internation
alizati dan
localization
.html
.cshtml
.php
Ya
Tidak
Tidak
WebContent/
CSS
WebContent/
Script
Content
Scripts
web/css
web/ass
ets
WEBINF/Template
Views/Sha
red
No
View
JSF
Razor
YII
dan
lain-lain
2
Bahasa
Java
C#
PHP
3
Paradigma
Obejact
Oriented
Object
Oriented
Object
Oriente
d
4
Direktori
lapisan
controller
WEB-INF/lib
Controllers
controll
ers
5
Front
controller
FacesServlet
.java
RouteConfi
g.cs
YIIAplic
ationCo
ntroller.
php
6
Validasi
antarmuka
(return)
Ya
Ya
Ya
web.xml
AuthConfig.
cs,
BundleConf
ig.cs,
FilterConfig
.cs
RouterConf
ig.cs
webApiCon
fig.cs
Config.
php
WEB-INF/lib
packages
vendor
WEBINF/facesconfig.xml
Views/Web
.config.xml
Paginat
ion.php
Tidak
Ya
Ya
Twig
7
Expresi
Language
(EL)
@
character
-
Ya
Ya
Ya
8
9
Pada Tabel 1 dipaparkan hasil analisis dari
lapisan view untuk semua platform. Dapat
10
Penaganan
konfigurasi
aplikasi
Direktori
libary
Konfigurasi
navigasi
halaman
Variable
global
dilihat detail implementasi, pendekatan, dan
teknologi
yang
digunakan
berbeda-beda.
Pada Tabel 2 dipaparkan hasil analisis dari
Selanjutnya dari perbedaan tersebut akan
lapisan
abstraksi
Lapisan controller yang dipilih pada peneltian
untuk
mendapatkan
pola
yang
controller
adaptif untuk lapisan view dan interaksi
ini
untuk
tiap
dengan controller.
menggunakan
untuk
semua
platform,
JSF,
yaitu
.NET
platform.
Java
EE
menggunakan
Framework .NET, dan PHP menggunakan YII.
Tabel 2
Sama dengan lapisan view, pada lapisan
Lapisan Controller
No
1
68
View
JSF
Razor
Framework
Alternatif
Spring MVC,
Struts2, dan
lain-lain
-
YII
Laravel,
CI,
Cake
PHP,
controller detail implementasi, pendekatan,
dan teknologi yang digunakan berbeda-beda,
karena
dibangun
pendekatan
yang
dengan
platform
berbeda.
dan
Selain
Studi Pola Pengembangan Web Dinamis dengan Arsitektur MVC :
Implementasi pada JavaServer Faces (JSF)
mengabstraksi pada lingkungan controller,
Jika menggunakan framework mandiri, maka
diperhatikan
memiliki
juga
keseragaman
dari
efek,
yaitu
adanya
mekanisme
mekasnisme interaksi dengan lapisan lain.
konfigurasi untuk menjembatani spesifikasi
Keseragaman
controller
controller dengan model. Pola PLBWD yang
menggunakan
dikembangkan harus mampu adaptif terhadap
Interfacing
berbagai framework dari model yang mandiri
dengan
interaksi
lapisan
pendekatan
antara
lain
interfacing.
mendefiniskan interaksi secara seragam dan
tersebut.
Keunggulan
dari
menggunakan
tidak terbebas dari spesikasi platform dan
framework adalah efisiensi dan produktivitas
teknologi (Hao [5]).
pengembangan
dan
pemanfaatan
kemampuan dari framework tersebut untuk
Tabel 3
berbagai hal terkait penanganan data dan
Lapisan Model
No
View
1
Alternarif
Framework
2
Bahasa
3
Paradigma
4
5
6
7
Direktori
lapisan
model
Penerapan
Persistence
Konfigurasi
aplikasi
dengan
database
Deklarasi
Anotasi
interaksi antara aplikasi dengan basis data
JSF
Eclipselink,
Ibatis, dan
lain-lain
Razor
YII
DAO
Framework
Eloquent
Java
C#
PHP
2.3 Rancangan Pola PLBWD
Obejact
Oriented
Java
Resources/
src
Object
Oriented
Object
Oriented
Fase berikutnya adalah fase perancangan dari
Models
models
platform. Fase ini dilakukan dengan membuat
Native
Native
Third
party
model arsitektur PLBWD dari tiap platform.
config/db
.php
memodelkan
Src/hiberna
te.cfg.xml
Web.config
.xml
@entity
[HttpPost]
(Xia [6]).
pola
PLBWD
Deskripsi
berbasis
perancangan
arsitektur
MVC
untuk
dilakukan
tiap
dengan
berdasarkan
hasil
analisis. Dikembangkannya model dari tiap
platform
PLBWD
dapat
membantu
produktivitas pemrogram ketika harus pindah
Pada Tabel 3 dipaparkan hasil analisis dari
dari
lapisan model untuk semua platform. Detail
Berdasarkan
implementasi, pendekatan, dan teknoogi yang
pandang abstrak, model arsitektur PLBWD
digunakan berbeda-beda. Pada platform Java
yang menerapkan MVC memiliki arsitektur dan
EE dan .NET lapisan model menggunakan
alur proses yang identik. Berikut rancangan
framework spesifik, yaitu Hibernate dan Entity
pola PLBWD untuk tiap platform.
Framework, Sedangkan pada
menggunakan
framework,
satu
platform
ke
plarform
hasil
analisis,
dari
lain.
sudut
PHP tidak
lapisan
model
1. Model konseptual Pola PLBWD pada .NET
dikelola secara terintegrasi oleh teknologi YII.
69
Infomatek Volume 18 Nomor 2 Desember 2016 : 65 - 76
Controller
Controller
.NET Framework
.NET Framework
RouteConfig.cs
Klien
Request (1)
Klien
HTTP Routing
HTTP Handler
Perambah
Perambah
Kelas-kelas
Controler
Response
View
YII Aplication
Router.php
Request (1)
Kelas-kelas
Controller.php
Response
View
Renderer
HTML
Renderer
HTML
Model
UI Razor
Model
Entity
Entity
UI Twig
Entity
Entity
Framework
Framework
Active Record
DAO
Basisdata
Basisdata
Gambar 2
Gambar 3
Model konseptual Pola PLBWD pada .NET
Model Konseptual Pola PLBWD pada PHP
Dari representasi Gambar 2 dapat paparkan
c. Front
controller
berada
pada
lapisan
sebagai berikut:
controller.
Penanganan
front
a. UI Diletakan pada direktori Views. Secara
dilakukan
oleh
RouteConfig.cs.
default di dalam direktori Views terdapat
RouteConfig.cs didaftrakan pada direktori
direktori-direktori
App_Start.
lain
yang
sama
RouteConfig
yang
penamaannya dengan nama kelas action di
bertanggunag jawab memetakan request
kelas controller, kecuali direktori Shared.
pada kelas controller atau action dari kelas
Direktori Shared berisi berkas-berkas UI
controller
yang menjadi template yang digunakan
merupakan direktori yang bersisi semua
untuk semua halaman web.
konfigurasi yang dijalankan pada saat
b. Untuk berinterasksi antara view (tag Razor)
dengan
controler
(Bahasa
menggunakan teknologi @.
C#)
yan
sesuai.
App_Start
inisiasi aplikasi. Contoh pemetaan request
dengan
kelas
akademik/nilai/123040.
merupakan
70
kelas
controller
kelas
controller
:
Akademik
controller,
nilai
Studi Pola Pengembangan Web Dinamis dengan Arsitektur MVC :
Implementasi pada JavaServer Faces (JSF)
merupakan action, dan 23040 merupakan
didefinisakan public. Akses ke basis data
id.
dapat menggunakan beragam teknik dan
d. Bersifat action centris : dimana setiap
teknologi seperti framework ADO, Entiry
request akan ditangani oleh sebuah objek
Framework,
logical berupa Controller.
menggunakan simbol [ ]. Regitrasi basis
NO
SQL.
Anotasi
2. Model Konseptual Pola PLBWD pada PHP
data, didaftarkan dan dipetakan pada
Dari representasi gambar 3 dapat paparkan
berkas WebConfig.cs.
sebagai berikut:
a. Lapisan view ditempatkan pada direktori
views. YII memiliki sekumpulan library
3. Model Konseptual Pola PLBWD pada Java EE
Controller
antarmuka UI yang siap pakai yang
disebut
widget.
Untuk
komunikasi
dengan
controller
memerlukan
teknologi
khusus,
lapisan
dari
keduanya
JSF
melakukan
Faces-config.xml
tidak
karena
Face
Servlet
Action Handler &
Action Listener
Request (1)
menggunakan
bahasa PHP. Kecuali jika UI menggunakan
bahasa selain PHP, seperti Java Script,
maka memerlukan teknologi penghubung
Klien
Model
Hibernate
JSF
Perambah
seperti JSON.
b.
Front controller
berada
pada
lapisan
controller. Front controller ditanagi oleh
Config.php.
Front
controller
bertugas
memetakan request ke kelas controller
yang sesauai. Front controller pada YII
bersifat
berfungsi
action
page.
menerima
URL
Bean
Response
View
Renderer
HTML
Entity
DAO
Komponen
JSF
Manager
requst
dari
Basisdata
Application, secara teknis URL Manager
yang melakukan pemetaan pada kelas
controller.
c.
Lapisan model berada pada direktori
Models. Secara umum pola dasar dari
kelas entity didefinisikan sebagai Plain Old
CLR Object (POCO). Visibility atribut
Gambar 4
Model Konseptual Pola PLBWD pada Java EE
Dari representasi Gambar 4 dapat paparkan
sebagai berikut:
a. Front controller diletakan pada direktori
Web Content. UI menggunakan konsep
71
Infomatek Volume 18 Nomor 2 Desember 2016 : 65 - 76
berbasis
komponen.
Setiap
komponen
Dari
paparan
tiap
platform
kemudian
pada JSF dapat ditangani oleh kelas bean
diabstraksi
secara mandiri.
pengembangan PBWD sebagai berikut :
b. Tidak mengijinkan penangangan logika di
halaman
JSF,
sehingga
kode
dijamin
kebersihannya.
c. Menggunakan
template
facet
untuk
penanganan templating.
untuk
mendefinisikan
pola
a. Front Controller : Berada Pada lapisan
controller.
Bertanggung
menerima
request
melakukan
pemetaan
controller,
menjalankan
jawab
dari
klien
untuk
dan
terhadap
kelas
operasi
yang
d. Untuk berinterasksi antara view (JSF)
diperlukan untuk menghasilkan response.
dengan bean (bahasa Java) menggunakan
Semua request dari klien harus melewati
teknologi Expression Language (EL).
front controller.
e. Front
controller
kelas
b. Controller : Bagian yang menjembatani
didaftarkan
antara lapisan yang lain. Pola controller
pada kelas web.xml. Untuk memetakan
harus mampu adaptif pada keberagaman
path requst ditangani oleh faces-config.xml
platform dan teknologi di lapisan yang lain.
FacesServlet.
Ditangani
FacesServlet
oleh
atau anotasi yang sesuai dengan kelas
View
merupakan
bagian
yang
bean. Untuk dapat dikenali kelas bean
bertanggung jawab menangani UI. UI yang
harus dipetakan dengan halaman JSF.
dimaksud
FacesServlet selain dapat menunjuk ke
ditayangkan pada sebuah perambah. View
faces-config.xml,
menangani bagaimana sebuah informasi
juga
dapat
ActionEvent/Listener
menunjuk
jika
requset
membutuhkan action.
disajikan
adalah
HTML
kepada
yang
pengguna
akan
melalui
perambah.
f. Lapisan model berada pada direktori src.
d. Model: Lapisan yang berinteraksi dengan
Identitas letak kelas entiry berdasarkan
basisdata.
penamaan paket. Secara umum pola dasar
merupakan
dari kelas entity didefinisikan sebagai Plain
relasional, dan setiap atribut entity sesuai
Old Java Object (POJO). Interaksi dengan
dengan kolom(field) pada tabel. Tugas
basisdata
model
Relation
menggunakan
Model
teknik
(ORM).
Object
Anotasi
pemetaan
sebagainya.
ditangani
4. Model konseptual pola PLBWD
oleh
tabel
sebuah
dalam
dan
DAO)
entity
basisdata
bervariasi
:
melakukan query ke basisdata, mengolah
data
basisdata
Biasanya
(entity
menggunakan karakter @. Registrasi dan
Hibernate.cfg.xml.
72
c. UI:
menurut
logika
bisnis,
dan
Berikut model konseptual pola umum PLBWD
direpresentasikan pada Gambar 5.
Studi Pola Pengembangan Web Dinamis dengan Arsitektur MVC :
Implementasi pada JavaServer Faces (JSF)
menggunakan
framework
Pembangkitan
Controller
controller
Hibernate.
dan
UI
akan
kode
UI
pada
kembangkan sendiri.
Klien
Front Controller
Request (1)
3.2 Pembangkitan kode UI
Perambah
Proses
Kelas-kelas
Controller
Response
membangkitkan
penelitian
View
ini
FreeMarker.
Renderer
HTML
menggunakan
Secara
membangkitkan
Model
umum
antarmuka
proses
menggunakan
FreeMarker melibatkan template, kelas entity,
Entity
Entity
UI
template
dan
DAO
konfigurasi
FreeMarker.
Proses
pembangkitan UI menggunakan FreeMarker
direpresentasikan pada Gambar 6.
Basisdata
Template
FreeMarker
Kelas Entiry
Gambar 5
Model konseptual pola PLBWD
Antarmuka JSF
FreeMarker
Engine
III. IMPLEMENTASI KODE GENERATOR
PLBWD
Komponen JSF
3.1 Analisis dan Desain
Bagian ini,
memaparkan proses analisis,
perancangan
menguji
hingga
Pola
MVC
implementasi
PLBWD
untuk
Gambar 6
dengan
Arsitektur Pembangkit kode program
mengembangkan sebuah aplikasi pembangkit
kode program. Aplikasi yang dikembangkan
3.3 Kompoen UI JSF
hanya dengan platform Java EE. Aplikasi
Komponen
diberi nama aplikasi Generator Antarmuka
memungkinkan komponen JSF untuk dapat
Pengguna
mampu
dikembangkan.
dan controller,
menambahkan
(GAP).
Aplikasi
membagkitkan lapisan
UI
akan
JSF
bersifat
extensibe,
Pengembang
fitur-fitur
yang
ini
dapat
dibutuhkan.
sedangkan untuk pembangkitan lapisan model
Contoh
akan menggunakan kakas dari framework
pengguna JSF pada sebuah halaman facelets
penerapan
komponen
antarmuka
Hibernate. Proses pembangkitan kelas model
73
Infomatek Volume 18 Nomor 2 Desember 2016 : 65 - 76
beserta
hirarki
dari
komponen
UI
yang
merupakan kelas yang mewakili tabel pada
diciptakan, direpresentasikan pada Gambar 7.
basisdata relasional, setiap penciptaan objek
dari kelas entity merupakan satu baris data
pada sebuah tabel, dan setiap atribut pada
kelas entity merupakan atribut pada sebuah
tabel. Untuk membuat sebuah kelas entity,
pada penelitian ini menggunakan fungsi yang
dimiliki
oleh
framework
Hibenate,
yaitu
Hibernate Mapping Files and POJOs from
Database, fungsi ini menghasilkan kelas entity
yang didapat dari
hasil pemetaan dengan
tabel yang ada pada basisdata; 2) pengikat
Komponen JSF : Mengikat komponen JSF
dengan
kelas
entity
menciptakan
keterhubungan antara halaman persentasi
dengan lapisan model. Mengikat komponen UI
dengan kelas entity dapat diartikan bahwa
setiap pengubahan nilai yang terjadi pada
Gambar 7
Contoh alur pemrosesan kode UI pada JSF
komponen
UI
akan
berpengaruh
atau
dipengaruhi oleh kelas entity yang terkait.
Terlihat bahwa komponen <inputText> dan
Untuk dapat megikat komponen JSF dengan
<inputSecret> berasal dari kelas komponen
kelas entity adalah dengan melalui kelas
yang sama yaitu Kelas UI Input. Namun, yang
managed bean, dimana kelas managed bean
membedakan adalah kelas yang me-rendering
tersebut memiliki atribut bertipe kelas entity.
komponen
Managed bean adalah kelas Java yang
tersebut,
<InputText>
dimana
di-rendering
htmlInputText,
sedangkan
<inputSecret>
dirender
komponen
oleh
kelas
komponen
oleh
kelas
HtmlInputSecret.
terdaftar pada JSF, hanya kelas yang terdaftar
sebagai
managed
bean
yang
dapat
berinterkasi secara langsung dengan halaman
JSF. Managed bean dapat berisi method
getter dan setter, logika bisnis atau bahkan
Pada peneltian ini terdapat dua fungsi utama
dari kelas entity, yaitu kelas entity sebagai 1)
representasi
74
basisdata:
Kelas
entity
backing bean.
Studi Pola Pengembangan Web Dinamis dengan Arsitektur MVC :
Implementasi pada JavaServer Faces (JSF)
IV. PENGUJIAN APLIKASI
Setelah
Setelah apliksai GAP dibuat, maka akan
selanjutnya dilakukan komparasi pola PLBWD
dilakukan pengujian pembangkitan kode UI
hasil perancangan dengan pola PLBWD hasil
menggunakan studi kasus. Pengujian aplikasi
pembangkitan GAP. Cara membandingkan
dilakukan
arsitektur dari keduanya adalah dengan cara
dengan
(comformance)
uji
dibangkitkan,
melihat struktur project masing-masing dan
PLBWD dengan hasil pembangkitan kode
melihat secara rinci kode program hasil
program
pembangkitan GAP.
dilakukan
aplikasi
dengan
rancangan
program
pola
dari
antara
kesesuaian
kode
GAP.
Pengujian
membangkitkan
kode
program dari basisdata. Setelah dibangkitkan
VI. KONKLUSI DAN PENELITIAN
kode program oleh GAP, selanjutnya dilihat
LANJUTAN
arsitektur aplikasi hasil pembagkitan tersebut
Berdasar
dengan arsitektur perancangan yang telah
sebelumnya dapat ditarik beberapa simpulan
dibuat.
sementara dalam penelitian ini, yaitu :
pembahasan
pada
bab-bab
1. Telah dihasilkan model pola PLBWD
Tampilan
UI
hasil
pembangkitan
untuk tiga platform (Java EE, .NET, PHP)
GAP,
direpresentasikan pada Gambar 8.
dari hasil analisis, sehingga pola yang
dihasilkan dapat membantu pemrogram
pada saat harus berpindah platform.
2. Telah dibuat aplikasi GAP pada platform
JAVA EE menggunakan teknologi JSF
untuk menguji pola PLBWD yang telah
didefiniskan. PLBWD yang dihasilkan dari
aplikasi GAP sudah dievaluasi dengan
cara mencocokan pola PLBWD pada hasil
Gambar 8
perancangan dengan pola PLBWD yang
UI hasil pembangkitan GAP.
dihasilkan dari aplikasi GAP.
V. EVALUASI
Berdasar studi kasus yang telah dipaparkan
DAFTAR PUSTAKA
sebelumnya, menunjukkan bahwa untuk dapat
[1]
Burns,
E.
and
mengetahui pola PLBWD dengan kakas GAP,
JavaServerFaces
maka harus dilakukan pembangkitan kode
McGraw-Hill, 2009.
program
terlebih
dahulu
dari
2.0,
Schalk.
New
C.,
York:
basisdata.
75
Infomatek Volume 18 Nomor 2 Desember 2016 : 65 - 76
[2]
Caytiles. R. D., and Lee. S., "A Review
of an MVC Framework based Software
[3]
Hao. H. M., and Jaafar. A., "Tracing User
Interface
Software
Its
Generate Interface Design Specification,"
Applications, vol. 8, pp. 213 - 220,
Electrical Engineering and Informatics,
2014.
2009, vol. 1, pp. 287 - 292, 2009.
Jiang.
Y.,
Engineering
Cheng,
Albert,
and
Zou
and
[6]
Design
Pre-requirement
to
Xia. C., Yu. G., and Tang. M., "Efficient
Xingliang, "Schedulability Analysis for
Implement of ORM (Object/Relational
Real-Time P-FRP Tasks under Fixed
Mapping)
Priority
Scheduling,"
Computing
Use
in
J2EE
Framework:
Computational
Intelligence
Embedded
and
Hibernate,"
Systems
and
and Software Engineering, 2009. CiSE
Applications (RTCSA) IEEE, 2015.
2009. International Conference on , pp. 1-
Pressman. R. S., Software Engineering:
3, 2009.
A Practitioner Approach 7th Edition, New
76
[5]
Development," International Journal of
Real-Time
[4]
York: McGraw-Hill., 2012.
Download