FACES
FRAMEWORK
GUNAWAN
2013130046
i
HALAMAN PENGESAHAN SEMINAR HASIL
GUNAWAN
NIM : 2013130046
Disahkan di : Makassar
Pada tanggal : September 2015
Menyetujui
Komisi Penasehat
Dr. Eng. Armin Lawi, S.Si., M.Eng Adnan, ST., MT., Ph.D
Ketua Anggota
Mengetahui,
Ketua Program Studi S2 Sistem Komputer
STMIK Handayani Makassar
ii
PERNYATAAN KEASLIAN
Nama : Gunawan
NPM : 2013130046
Menyatakan dengan sebenarnya bahwa tesis yang saya tulis ini benar-
hari terbukti atau dapat dibuktikan bahwa sebagian atau keseluruhan tesis
ini hasil karya orang lain, saya bersedia menerima sanksi atas perbuatan
tersebut.
Yang menyatakan,
Gunawan
iii
PRAKATA
Puji syukur kita panjatkan kehadirat Allah SWT. atas berkah dan
rahmat-Nya sehingga penelitian ini dengan judul Analisis Arsitektur
Aplikasi Web Menggunakan Model View Controller (MVC) pada
Framework Java Server Faces dapat menyelesaikan penelitian ini
sebagai salah satu syarat untuk mecapai gelar Magister. Shalawat dan
salam kepada Nabi Muhammad SAW, beserta keluarganya, sahabatnya
yang tercinta, dan para pengikutnya.
Pada kesempatan ini pula penulis ingin mengucapkan terima kasih
penyusunan ini terlebih lagi kepada bapak Dr. Eng. Armin Lawi, S.Si.,
setinggi-tingginya kepada:
1. Bapak Dr. Ir. Zahir Zainuddin, M.Sc selaku Ketua Program Studi
2. Keluarga besar Bapak Dr. H. Abd. Rasyid Masri, S.Ag., M.Pd., M.M
Makassar.
iv
4. Keluarga tercinta khususnya kepada Nasirah Asri dan putriku Athiyah
Handayani Makassar
PENULIS
v
ABSTRAK
Kata kunci: MVC, Load dan Scalability, Java Serve Faces, Jmeter
vi
ABSTRACT
On progress...
vii
DAFTAR ISI
I.
PRAKATA .................................................................................................. iv
ABSTRAK .................................................................................................. vi
BAB I
PENDAHULUAN ......................................................................................... 1
A. Latar Belakang.................................................................................. 1
BAB II
viii
BAB III
BAB IV
BAB V
PENUTUP ................................................................................................. 42
A. Kesimpulan ..................................................................................... 42
B. Saran .............................................................................................. 42
ix
DAFTAR GAMBAR
Gambar II.1. Arsitektur Model 1 ................................................................ 10
Gambar III.5. Output halaman sub menu Buku pada halaman Katalog
Buku. ................................................................................................. 30
Gambar IV.1. Sequence Diagram alur sistem modul katalog Buku .......... 37
Gambar IV.2. Sequence Diagram alur sistem modul katalog Buku .......... 38
Gambar IV.3. Grafik waktu rata-rata dari satu kali hasil pengujian pada
x
DAFTAR TABEL
Tabel IV.1. Tabel. Data Hasil Pengujian ................................................... 34
xi
I.BAB I
PENDAHULUAN
A. Latar Belakang
Controller (MVC).
(view) digabungkan dalam satu komponen web. Hal ini tidak menjadi
masalah jika logika bisnis dan presentasi masih relatif sederhana. Namun
masalah dimana jika proses bisnis dan presentasi dibangun menjadi satu
yang tinggi antara presentasi dan proses bisnis. Arsitektur Model 2 atau
1
Model View Controller (MVC) merupakan suatu konsep yang banyak
data, user interface dan bagian yang menjadi kontrol aplikasi. Dengan
Hingga saat ini ada banyak jenis framework yang dapat digunakan
(MVC) menggunakan framework java server faces (JSF) beserta fitur dan
2
implementasi sistem. Pada hasil penelitian ini pula, arsitektur Model 1 dan
B. Rumusan Masalah
Controller (MVC) dapat lebih efisien dan efektif pada framework Java
pembanding.
C. Tujuan Penelitian
3
D. Manfaat Penelitian
antara lain:
aplikasi web.
E. Batasan Masalah
dikemukakan definisi dan istilah dari beberapa kata yang dianggap perlu,
sehingga judul dapat lebih jelas dan tidak menimbulkan salah tafsir.
Beberapa definisi dan istilah kata yang dianggap perlu sebagai berikut:
4
1. Arsitektur adalah pola (pattern) suatu sistem perangkat lunak yang
2. Web adalah dokumen yang ditulis dalam format HTML (Hyper Text
2010).
aplikasi web.
5. Java Server Faces (JSF) Adalah salah satu teknologi terbaru dalam
vendor server.
5
G. Sistematika Penulisan
BAB I PENDAHULUAN
didapatkan dari bebrbagai sumber terkait. Adapun komposisi bab ini berisi
operasional.
Bab ini terdiri dari bebaerapa sub bab yaitu Rancangan Penelitian,
6
II.BAB II
TINJAUAN PUSTAKA
1. Pola
a. Pola Arsitektur
7
b. Pola perancangan
Subscriber.
c. Idiom
untuk J2EE dan CORBA. Pola MVC dikenal sebagai model arsitektur
data.
8
2. Framework
sebuah cerak biru untuk arsitektur dasar dan arsitektur fungsional untuk
developer.
3. Kategori Arsitektur
lapisan dari arsitektur atau mendukung format dan data yang berbeda.
1. Aspek Lapisan
9
2. Aspek Data
web (misalnya Java Server Page (JSP) atau servlet). Kemudian request
10
(business-logic) dan presentasi (view) digabungkan dalam satu komponen
web. Hal ini tidak menjadi masalah jika logika bisnis dan presentasi masih
pendekatan ini bisa menjadi masalah. Arsitektur Model 2, atau Model View
11
Gambar II.2. Arsitektur Model 2 (MVC)
(Sumber: Giulio Zambon, 2007)
ada 3 jenis MVC yang mungkin terjadi pada suatu aplikasi web yaitu:
Server Side MVC biasa terjadi pada aplikasi web tradisional, yang
tidak melibatkan client side seperti Javascript, Java Applet, Flash, dan
server, aplikasi pada sisi user hanya dapat menerima. MVC jenis ini
Pada Mixed Client Side and Server Side MVC 1 klien tidak
Mixed MVC 1.
12
Pada Mixed Client Side and Server Side MVC 2, client menggunakan
yang terlibat, sehingga membutuhkan sumber daya yang lebih besar pula.
Rich Internet Application (RIA) disebut juga dengan nama Fat Client
seperti aplikasi desktop. RIA pada sisi klien memiliki engine untuk
mengambil data yang berada pada server sehingga pada klien terdapat
bagian MVC sendiri dan hanya membutuhkan bagian model pada sisi
server.
Menurut Bauer dan Gavin (2007) Java Server Faces atau biasa
disingkat JSF adalah user interface framework dalam bahasa Java untuk
teknologi yang membangun platform Java EE. JSF diciptakan pada tahun
2002 melalui Java Spesification Request (JSR) 127. JSR 127 kemudian
versi finalnya. Salah satu kelebihan utama dari JSF adalah teknologi ini
13
1. Arsitektur Java Server Faces (JSF)
presentasi, lojik aplikasi dan bisnis lojik menjadi suatu aplikasi web.
JSF.
bekerja:
14
Gambar II.4. Java Server Faces framework
(Sumber: Dudney, 2004)
15
b) Rendered
c) Backing beans
mengandung properti atau masukan dari user dan juga event listener
d) Validators
jenis validator. JSF sendiri menangani validasi dengan tiga cara, yaitu
validasi pada satu atau banyak field dalam satu form. External
16
maksimal masukan atau kisaran angka masukan. Validator jenis ini
e) Converters
dapat memiliki beragam tipe, seperti String, Date, atau tipe bentuk
17
liseteners. Listener dapat diimplementasikan pada backing beans
g) Messages
h) Navigation
D. Apache Jmeter
Apache JMeter merupakan salah satu alat (tools) Java dari Apache
awalnya JMeter ini digunakan hanya untuk aplikasi web, namun saat ini
sudah digunakan juga untuk fungsi test lain seperti SOAP, JDBC, LDAP,
18
aplikasi. Jadi dapat dikatakan bahwa thread group ini untuk
request yang dilakukan tiap simulasi user. Dengan adanya timer ini,
proses testing akan lebih realistis. Terdapat beberapa tipe timer yang
performansinya.
E. Penelitian Terkait
sebagai bahan tugas akhir pada jenjang studi strata satu (S1) dengan
Alauddin Makassar. Pola desain MVC yang dibahas hanya fokus pada
19
pengujian dan analisis sistem ditemukan perbedaan validasi data dimana
cara menuliskan data form yang berupa tag di web.xml, sedangkan pada
validasi disetiap halaman JSP. Pada hasil penelitian ini pula, Arsitektur
yang telah ada sebelumnya dimana pada pada penelitian ini, akan
Model 2 (MVC) pada Framework Java Server Faces dan Arsitektur Model
dengan jumlah yang sangat banyak secara bersamaan dalam satu waktu
20
disimpulkan bahwa kelebihan arsitektur model 2 membagi source code
dalam waktu yang relatif singkat dan masih lebih tetap unggul dari
penelitian yang telah ada sebelumnya dimana pada penelitian ini analisis
dalam jumlah yang sangat banyak secara bersamaan dalam satu waktu
pada server.
Pattern in J2EE Platform Using Struts Framework. Pola desain MVC yang
Faces (JSF).
21
Faces (JSF) untuk aplikasi Web. Pada penelitian ini telah dibangun
adalah Struts. Hasil yang didapat dari penelitian ini adalah dengan
dimana pada penelitian ini konsep atau arsitektur Model 2 (MVC) dan
pemrograman .NET dengan hasil secara umum MVC pada aplikasi web
22
Framework Java Server Faces (JSF). Analisis performansi aplikasi web
pembanding.
F. Kerangka Konseptual
Masalah
Solusi
Metode
Hasil
23
III.BAB III
METODE PENELITIAN
A. Tahapan Penelitian
model 2 atau model view controller (MVC) telah dilakukan pada sistem
Scalability Test pada Model 2 atau Model View Controller (MVC) dan
Mulai
Studi literatur
Selesai
24
Tahapan secara garis besar dijelaskan sebagai berikut:
Uji coba sistem dan analisis, tahap pengujian dilakukan untuk menguji
users).
database.
25
yang menggunakan arsitektur Model 2 atau Model View Controller
C. Jenis Penelitian
pada Model 2 Architecture atau model view controller (MVC) dan Model 1
26
D. Alat dan Bahan
Alat dan bahan yang digunakan pada penelitian ini adalah sebagai
berikut:
berikut:
MB/1600 MHz;
- Memory: 16 GB
27
Apache Jmeter.
E. Perancangan Sistem
Deskripsi Sistem
pada Model 2 Architecture atau model view controller (MVC) dan Model 1
jurnal download
28
Rancangan output
halaman statis. Pada bagian ini juga terdapat beberapa sub menu yaitu
sub menu login, buku tamu dan link yang apabila pengunjung/anggota
memilih dan mengklik salah satu dari sub menu tersebut maka akan
Tampilan halaman katalog bersifat dinamis. Pada bagian ini juga terdapat
beberapa sub menu yaitu sub menu buku, skripsi, tesis, disertasi, jurnal
29
Gambar III.4. Tampilan halaman menu Katalog
Gambar III.5. Output halaman sub menu Buku pada halaman Katalog
ketika pengunjung/anggota (user) memilih dan mengklik sub menu
Buku.
30
E. Data Dan Sumber Data
dua cara berbeda, yaitu uji coba terhadap response time karena
peningkatan ukuran dari database dan uji coba terhadap response time
ditentukan.
nilai Concurent user (Number of Thread) 1, 100 dan 500 user dengan
31
Pengujian dilakukan pada halaman statis dan dinamis pada kedua model
(size 951KB) dan 12.027 baris (size 1,9MB) data entri buku menggunakan
Apache Jmeter.
Response Time
web, response time didefinisikan sebagai jumlah network time (N1, N2,
N3, N4) dan jumlah application time (A1, A2, A3, A4) (Pu and M. Xu,
Concurrency User
bersamaan. User yang dihitung adalah user aktif, meskipun user non aktif
32
tetap mengambil jumlah resource namun jumlahnya relatif sedikit
Throughput
request yang mampu ditangani aplikasi tiap satuan waktu. Jika request
yang masuk melebihi throughput suatu aplikasi, maka hal ini akan
(Colantanio, 2011).
!"# !
= !
(3)
33
IV.BAB IV
A. Hasil Penelitian
Dalam bab ini akan dibahas hasil pengujian yang diperoleh dari
request data (loop count) 1 kali dimana jumlah periode ramp-up masing-
berbeda yaitu 6.015 baris data (size 951KB) dan 12.027 baris data (size
34
Arsitektur
Samples
Average
Min
Max
Std.
Dev.
Error
%
Throughput
KB/sec
1
714
714
714
0
0.00%
1.4
10.29
MODEL
1
100
17
14
46
3.85
0.00%
1
7.42
500
14
11
80
3.24
0.00%
5
36.77
1
1578
1578
1578
0
0.00%
0.6
7.66
MODEL
2
100
221
77
3334
502.57
0.00%
1
12.15
500
232
0
7128
979.32
89.80%
5
14.38
Keterangan:
(kesalahan)
35
B. Analasis dan Pembahasan
akan mengambil sampel salah satu modul yang ada pada masing-masing
model atau sistem yaitu halaman Home untuk model statis dan halaman
atau MVC.
Halaman Statis
Pengunjung/anggota (user)
Halaman Dinamis
(user)
diagram pada modul katalog buku yang dapat dilihat pada Gambar III.6
36
pengunjung/anggota Katalog.jsp Buku.jsp Buku : DAO Detailbuku.jsp
2 : request action
11 : request action
14 : return
37
pengunjung/anggota Katalog.jsp faces-config Buku : Action Buku : DAO Buku.jsp DetailBuku.jsp
3 : send request
9 : response
11 : request action
12 : send request
18 : response
20 : request action
21 : send request
25 : request action
26 : response
Pada pengujian halaman statis pada kedua sistem, model 1 lebih unggul
38
dibandingkan pada model 2 dengan parameter yang sama yaitu
data (loop count) 1 dan jumlah periode ramp-up masing-masing 100 detik.
Pada pengujian ini semua permintaan data dapat direspon dan diproses
oleh sistem.
dan Action mengambil peranan penting dalam alur (flow) jalannya sistem.
Pada bagian JSP hanya mengambil data permintaan dari user dan
dimana alur jalannya sistem lebih sederhana karena peran JSP sangat
Gambar IV.3. Grafik waktu rata-rata dari satu kali hasil pengujian pada
halaman statis Model 1 dan Model 2
39
Selain perbedaan alur (flow) sistem pada model 1 dan model2, arsitektur
load semua library yang ada pada framework Java Server Faces baik
masing 100 detik. Pada pengujian ini Concurent user jumlah 1 dan 100
user seluruh permintaan data dapat direspon dan diproses oleh sistem.
40
Gambar IV.4. Grafik persentasi jumlah permintaan yang gagal (kesalahan)
dengan jumlah 6.015 data.
41
V.BAB V
PENUTUP
A. Kesimpulan
untuk melakukan load library dan parser kode (source) dalam hal interaksi
B. Saran
42
DAFTAR PUSTAKA
43
Simarmata, Janner. 2010. Rekayasa WEB. Andi Offset: Yogyakarta.
TIM Penyusun. 2013. Pedoman Penulisan Tesis Dan Disertasi Edisi 4
Program Pascasarjana Universitas Hasanuddin.
Vohra, Deepak. 2012. Java EE Development with Eclipse. Packt
Publishing: UK.
Pustaka: Jakarta.
Zambon, Giulio dan Michael Sekler. 2005. Beginning JSP, JSF, and
Tomcat Web Development From Novice to Professional. Apress:
New York.
Zambon, Giulio. 2012. Beginning JSP, JSF, and Tomcat Java EE 7
Edition. Apress: New York.
Haqiqi, Mohammad Dian. 2011. Implementation Of Java Server Faces On
The Development Of Web SAFFA, Paper (online)
(http://papers.gunadarma.ac.id/index.php/industry/article/view/1502
2, diakses pada 20 Sepetember 2014)
Ibrahim, Niko. 2006. Applying a Model View Controller Pattern in J2EE
Platform Using Struts Framework, Jurnal Sistem Informasi-
Universitas Kristen Maranatha (online) Vol. 1 No. 2,
(http://majour.maranatha.edu/, diakses pada 20 September 2014)
ITB Digital Library. Java Server Faces. Official Website ITB Digital
Library. Http:// digilib. itb. ac. id/files/disk1/598/ jbptitbpp-gdl-
aldojuwito - 29896-3-2008ta-2.pdf (19 juli 2014).
44
Jacobi, Jonas dan John Fallows R. 2006. Pro JSF and Ajax Building Rich
Internet Components. Apress: New York.
K. S. Bhogal, J. Jamae Load Testing with Apache JMeter, dikutip 20 April
2015)
45