Anda di halaman 1dari 56

SEMINAR HASIL

ANALISIS ARSITEKTUR APLIKASI WEB MENGGUNAKAN MODEL

VIEW CONTROLLER (MVC) PADA FRAMEWORK JAVA SERVER

FACES

THE ANALYSIS OF WEB APPLICATION ARCHITECTURE UTILIZING

MODEL VIEW CONTROLLER (MVC) IN JAVA SERVER FACES

FRAMEWORK

GUNAWAN
2013130046

PRODI MAGISTER SISTEM KOMPUTER


PROGRAM PASCASARJANA STMIK HANDAYANI
MAKASSAR
2015

i
HALAMAN PENGESAHAN SEMINAR HASIL

ANALISIS ARSITEKTUR APLIKASI WEB MENGGUNAKAN


MODEL VIEW CONTROLLER (MVC) PADA FRAMEWORK
JAVA SERVER FACES

Disusun dan diajukan oleh:

GUNAWAN
NIM : 2013130046

Disetujui dan dinyatakan telah memenuhi syarat


Ujian Seminar Hasil

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

Dr. Ir. Zahir Zainuddin, M.Sc


NIP. 19640427 198910 1 002

ii
PERNYATAAN KEASLIAN

Yang bertanda tangan dibawah ini:

Nama : Gunawan

NPM : 2013130046

Program Studi : Sistem Komputer

Menyatakan dengan sebenarnya bahwa tesis yang saya tulis ini benar-

benar merupakan hasil karya saya sendiri, bukan merupakan

pengambilalihan tulisan atau pemikiran orang lain. Apabila di kemudian

hari terbukti atau dapat dibuktikan bahwa sebagian atau keseluruhan tesis

ini hasil karya orang lain, saya bersedia menerima sanksi atas perbuatan

tersebut.

Makassar, 9 September 2015

Yang menyatakan,

Gunawan

iii
PRAKATA

Assalamu Alaikum Wr. Wb.

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

yang sebesar-besarnya kepada Ayahanda tercinta H. Deppa Tunru dan

Ibunda Hj. Demmarannu, seluruh pihak yang telah membantu dalam

penyusunan ini terlebih lagi kepada bapak Dr. Eng. Armin Lawi, S.Si.,

M.Eng dan Adnan, ST., MT., Ph.D selaku pembimbing dalam

penyusunanan penelitian ini, tak lupa pula penulis haturkan terimakasih

setinggi-tingginya kepada:

1. Bapak Dr. Ir. Zahir Zainuddin, M.Sc selaku Ketua Program Studi

Sistem Komputer STMIK Handayani Makassar.

2. Keluarga besar Bapak Dr. H. Abd. Rasyid Masri, S.Ag., M.Pd., M.M

dan Nurmiati, SE.,MM, seluruh keluarga yang selalu memberikan

motivasi kepada penulis.

3. Segenap Dosen yang telah memberikan ilmunya kepada penulis

selama mengikuti pendidikan di Program Magister STMIK Handayani

Makassar.

iv
4. Keluarga tercinta khususnya kepada Nasirah Asri dan putriku Athiyah

Nabilah Gunawan yang selalu memberikan dorongan, semangat dan

doa kepada penulis.

5. Seluruh saudaraku terkhusus Alm. Budiman, Lulu Ika Amelia, Sugandi,

Kartina dan Adikku Riswandi atas bantuan materi ataupun moril

terhadap penulis atas penyelesaian skripsi ini.

6. Segenap Staf dan rekan-rekan pada Program Magister STMIK

Handayani Makassar

7. Semua pihak yang tidak dapat disebutkan satu-persatu, atas semua

bantuan dan dukungan yang telah diberikan kepada penulis.

Walaupun dalam penyusunannya, kami telah berusaha secara


maksimal, namun jika masih ada kekurangan baik dari segi penulisan
maupun dari segi isi dan metodologi penelitian kami mohon maaf dan
mohon petunjuk berupa kritik dan saran, demi penysunan selanjutnya
agar lebih baik lagi. Akhir kata saya selaku penyusun mengucapkan
terima kasih.
Wassalam

Makassar, 7 September 2015

PENULIS

v
ABSTRAK

GUNAWAN. Analisis Arsitektur Aplikasi Web Menggunakan Model View


Controller (MVC) pada Framework Java Server Faces (dibimbing oleh
Armin Lawi dan Adnan).

Penelitian ini bertujuan melakukan analisis performansi arsitektur


aplikasi web yang menggunakan model 2 (MVC) dengan menggunakan
framework Java Serve Faces dan model 1 sebagai pembanding.
Metode penelitian yang digunakan adalah Load dan Scalability
Testing dengan dua cara yaitu uji coba terhadap response time karena
peningkatan ukuran dari database dan uji coba terhadap response time
karena peningkatan jumlah user yang menggunakan sistem secara
bersamaan (concurrent users) dan waktu tunggu (ramp-up) yang
ditentukan menggunakan Apache Jmeter.
Hasil penelitian ini menunjukkan bahwa dalam implementasi
arsitektur web yang menggunakan model 1 waktu rata-rata yang
dibutuhkan untuk merespon permintaan user lebih cepat dan efisien
dibanding model 2 (MVC).

Kata kunci: MVC, Load dan Scalability, Java Serve Faces, Jmeter

vi
ABSTRACT

On progress...

vii
DAFTAR ISI

I.

HALAMAN PENGESAHAN SEMINAR HASIL ............................................ ii

PERNYATAAN KEASLIAN .........................................................................iii

PRAKATA .................................................................................................. iv

ABSTRAK .................................................................................................. vi

DAFTAR ISI .............................................................................................. viii

BAB I

PENDAHULUAN ......................................................................................... 1
A. Latar Belakang.................................................................................. 1

B. Rumusan Masalah ............................................................................ 3

C. Tujuan Penelitian .............................................................................. 3

D. Manfaat Penelitian ............................................................................ 4

E. Batasan Masalah .............................................................................. 4

F. Definisi dan Istilah ............................................................................. 4

G. Sistematika Penulisan ...................................................................... 6

BAB II

TINJAUAN PUSTAKA ................................................................................ 7


A. Arsitektur Aplikasi Web ..................................................................... 7

B. Model View Controller (MVC) ......................................................... 10

C. Java Server Faces (JSF) ................................................................ 13

D. Apache Jmeter ............................................................................... 18

E. Penelitian Terkait ............................................................................ 19

F. Kerangka Konseptual ...................................................................... 23

viii
BAB III

METODE PENELITIAN ............................................................................ 24


A. Tahapan Penelitian ......................................................................... 24

B. Waktu dan Lokasi Penelitian .......................................................... 26

C. Jenis Penelitian ............................................................................... 26

D. Alat dan Bahan ............................................................................... 27

E. Perancangan Sistem ....................................................................... 28

F. Model Pengujian Sistem ................................................................. 31

BAB IV

HASIL DAN PEMBAHASAN ..................................................................... 34


A. Hasil Penelitian ............................................................................... 34

B. Analasis dan Pembahasan ............................................................. 36

BAB V

PENUTUP ................................................................................................. 42
A. Kesimpulan ..................................................................................... 42

B. Saran .............................................................................................. 42

DAFTAR PUSTAKA .................................................................................. 43

ix
DAFTAR GAMBAR
Gambar II.1. Arsitektur Model 1 ................................................................ 10

Gambar II.2. Arsitektur Model 2 (MVC) .................................................... 12

Gambar II.3. Arsitektur Java Server Faces ............................................... 14

Gambar II.4. Java Server Faces framework ............................................. 15

Gambar II.5. Kerangka Konseptual .......................................................... 23

Gambar III.1 Diagram tahapan penelitian ................................................. 24

Gambar III.2. Struktur halaman web. ........................................................ 28

Gambar III.3. Output halaman menu awal pada Home ............................ 29

Gambar III.4. Tampilan halaman menu Katalog ....................................... 30

Gambar III.5. Output halaman sub menu Buku pada halaman Katalog

ketika pengunjung/anggota (user) memilih dan mengklik sub menu

Buku. ................................................................................................. 30

Gambar III.6. Response time pada aplikasi web. ..................................... 32

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

halaman statis Model 1 dan Model 2 ................................................. 39

Gambar IV.4. Grafik persentasi jumlah permintaan yang gagal (kesalahan)

dengan jumlah 6.015 data. ................................................................ 41

Gambar IV.5. Grafik persentasi jumlah permintaan yang gagal (kesalahan)

dengan jumlah 12.027 data. .............................................................. 41

x
DAFTAR TABEL
Tabel IV.1. Tabel. Data Hasil Pengujian ................................................... 34

Tabel IV.2. Perbandingan alur (flow) jalannya sistem .............................. 36

xi
I.BAB I

PENDAHULUAN

A. Latar Belakang

Perkembangan teknologi aplikasi berbasis web saat ini sudah semakin

banyak digunakan. Seiring dengan tren perkembangannya, aplikasi web

mengalami perubahan yang sangat signifikan pada proses bisnis ataupun

presentasi. Dalam membangun aplikasi website khususnya website yang

memiliki kompleksitas besar dalam melakukan transaksi data, konsep

arsitektur (pattern) yang digunakan perlu menjadi perhatian khusus

sehingga dapat mengoptimalkan kinerja performansi sistem perangkat

lunak ketika pengguna (user) menggunakan dalam waktu yang

bersamaan dengan jumlah yang banyak. Konsep arsitektur yang paling

populer saat ini digunakan dalam merancang aplikasi website adalah

arsitektur Model 1 dan arsitektur Model 2 atau konsep Model View

Controller (MVC).

Arsitektur Model 1 logika bisnis (business-logic) dan presentasi

(view) digabungkan dalam satu komponen web. Hal ini tidak menjadi

masalah jika logika bisnis dan presentasi masih relatif sederhana. Namun

jika logika menjadi semakin kompleks, pendekatan ini dapat menjadi

masalah dimana jika proses bisnis dan presentasi dibangun menjadi satu

dapat menyulitkan para pengembang (developer) aplikasi web ketika

terjadi perubahan presentasi atau proses bisnis karena ketergantungan

yang tinggi antara presentasi dan proses bisnis. Arsitektur Model 2 atau

1
Model View Controller (MVC) merupakan suatu konsep yang banyak

diimplementasikan pada beberapa framework dalam pembangunan

aplikasi web, MVC memisahkan pengembangan aplikasi berdasarkan

komponen utama yang membangun sebuah aplikasi seperti manipulasi

data, user interface dan bagian yang menjadi kontrol aplikasi. Dengan

menggunakan prinsip MVC, aplikasi web dapat dikembangkan sesuai

dengan kemampuan pengembang, yaitu programmer yang menangani

bagian model dan controller, sedangkan designer yang menangani

bagian view, sehingga penggunaan arsitektur MVC dapat meningkatkan

maintanability dan organisasi kode yang lebih mudah.

Hingga saat ini ada banyak jenis framework yang dapat digunakan

untuk mengimplementasikan MVC sehingga dapat dengan mudah untuk

membantu pembangunan aplikasi web diantaranya yaitu Java Server

Faces (JSF), Struts, Seam, CodeIgnitier, CakePHP, WebWork, Spring, Yii,

dan sebagainya. Tahun 2010, penulis telah melakukan penelitian tentang

topik arsitektur Model 2 (MVC) dimana menggunakan framework JSF

dengan judul penelitian Implementasi Model View Controller

Menggunakan Framework JavaServer Faces Pada Web Perpustakaan

UIN Alauddin Makassar (Gunawan, 2010). Model desain MVC yang

dibahas pada penelitian tersebut hanya fokus bagaimana rancang bangun

dan bentuk implementasi aplikasi website pada model view controller

(MVC) menggunakan framework java server faces (JSF) beserta fitur dan

teknologinya dimana Perpustakaan UIN Alauddin Makassar sebagai objek

2
implementasi sistem. Pada hasil penelitian ini pula, arsitektur Model 1 dan

arsitektur Model 2 (MVC) belum dilakukan pengujian performansi sistem

secara kuantitatif sehingga masih dianggap perlu dilakukan penelitian

lanjutan agar dapat memberikan referensi dan pertimbangan secara

eksplisit bagi pengembang (developer) perangkat lunak dalam

mengimplementasi MVC khususnya pada aplikasi website.

Oleh karena itu, penulis akan melakukan pengembangan penelitian

dengan judul Analisis Arsitektur Aplikasi Web Menggunakan Model View

Controller (MVC) pada JavaServer Faces (JSF).

B. Rumusan Masalah

Berdasar latar belakang yang dimaksudkan di atas, maka dapat

disimpulkan sebuah permasalahan yaitu bagaimana performansi arsitektur

aplikasi website yang menggunakan arsitektur Model 2 atau Model View

Controller (MVC) dapat lebih efisien dan efektif pada framework Java

Server Faces (JSF) dimana digunakan arsitektur Model 1 sebagai

pembanding.

C. Tujuan Penelitian

Adapun tujuan dari penelitian ini adalah melakukan analisis terhadap

efisiensi dan efektifitas performansi arsitektur aplikasi web yang

menggunakan arsitektur Model 2 atau Model View Controller (MVC) pada

framework Java Server Faces (JSF).

3
D. Manfaat Penelitian

Dengan penelitian ini diharapkan dapat membawa banyak manfaat,

antara lain:

1. Menjadi referensi untuk pengembangan model atau konsep (pattern)

aplikasi web.

2. Memberikan pemahaman tentang konsep model view controller (MVC)

dan framework Java Server Faces (JSF).

3. Memberikan pemahaman tentang Model 2 Architecturer (MVC) pada

aplikasi web menggunakan Framework Java Server Faces (JSF).

E. Batasan Masalah

Setelah dikemukakan latar belakang dalam penelitian ini maka,

masalah yang akan diteliti dibatasi pada analisis performansi arsitektur

aplikasi website fokus menggunakan arsitektur Model 2 atau model view

controller (MVC) pada framework Java Server Faces (JSF) dimana

pengujian performansi hanya fokus pada aplikasi dan Database Server

dengan menggunakan metode Load dan Scalability Testing.

F. Definisi dan Istilah

Untuk memudahkan dalam menafsirkan judul penelitian ini, maka

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

terdiri dari struktur-struktur, pembagian kedalam komponen,

hubungan, dan antarmukanya.

2. Web adalah dokumen yang ditulis dalam format HTML (Hyper Text

Markup Language), yang hampir selalu bisa diakses melalui HTTP,

yaitu protokol yang menyampaikan informasi dari server website untuk

ditampilkan kepada para pemakai melalui web browser (Simarmata,

2010).

3. Model View Controller (MVC) adalah suatu istilah untuk memisahkan

element-element atau penulisan source code dari suatu aplikasi agar

menjadi lebih rapi dan lebih mudah untuk di maintenance dan

dikembangkan, dengan membagi web-aplikasi menjadi bagian-bagian

tersendiri yaitu Model, View dan Controller.

4. Framework adalah sekumpulan library yang diorganisasikan pada

sebuah rancangan arsitektur untuk memberikan kecepatan,

ketepatan, kemudahan dan konsistensi di dalam pengembangan

aplikasi web.

5. Java Server Faces (JSF) Adalah salah satu teknologi terbaru dalam

pengembangan aplikasi web. Teknologi ini di standarisasi oleh Sun

Microsystem sehingga dukungan terhadapnya akan disediakan para

vendor server.

5
G. Sistematika Penulisan

Sistematika pembahasan yang akan diuraikan dalam proposal ini

terbagi dalam bab-bab dengan komposisi sebagai berikut:

BAB I PENDAHULUAN

Bab ini menguraikan tentang latar belakang masalah, rumusan

masalah, tujuan penelitian, kegunaan penelitian, batasan masalah, jadwal

penelitian serta sistematika penulisan.

BAB II TINJAUAN PUSTAKA

Bab ini membahas dasar-dasar teori dari penelitian terdahulu yang

didapatkan dari bebrbagai sumber terkait. Adapun komposisi bab ini berisi

penelitian terdahulu, kerangka konseptual, hipotesis dan defenisi

operasional.

BAB III METODE PENELITIAN

Bab ini terdiri dari bebaerapa sub bab yaitu Rancangan Penelitian,

Lokasi dan Waktu, Populasi dan Teknik Sampel, Instrumen Pengumpulan

Data, Analisis Data

6
II.BAB II

TINJAUAN PUSTAKA

A. Arsitektur Aplikasi Web

Kebutuhan perangkat lunak dan arsitekturnya adalah subjek untuk

perubahan. Arsitektur aplikasi web terutama dipengaruhi oleh kebutuhan

layanan yang disediakan oleh sistem dan pertimbangan kualitas, seperti

skalabilitas dan kinerja. Seperti perangkat lunak yang digunakan pada

sistem operasi, middleware (misalnya, implementasi CORBA), dan lain-

lain (Simarmata, 2010)

Karena sistem perangkat lunak merupakan perpindahan target,

arsitektur biasanya dikembangkan dengan cara iteratif. Pendekatan iteratif

tidaklah kuat untuk memecahakan masalah perancangan spesifik,

untungnya ada beberapa petimbangan yang terbukti sangat baik dalam

mendukung keputusan perancangan.

1. Pola

Pola diidentifikasi pada tiga tingkatan abstraksi yang berbeda:

a. Pola Arsitektur

Pola ini menetapkan dasar mekanisme struktur untuk aplikasi web.

Pola ini menguraikan arsitektur subsistem, tanggung jawab,

hubungan dan pengaruhnya. Salah satu contoh jenis pola ini

adalah konsep model view controller (MVC).

7
b. Pola perancangan

Pola ini menguraikan struktur hubungan dan pengaruh diantara

komponen-komponen untuk menyediakan masalah perancangan

di dalam konteks yang ditetapkan. Pola perancangan memisahkan

bahasa pemrograman yang spesifik, tetapi berpindah di dalam

lingkup pola arsitektur, contoh pola ini adalah pola Publisher

Subscriber.

c. Idiom

Pola ini menguraikan yang mengacu pada implementasi spesifik di

dalam bahasa pemrograman, seperti idiom Counted-Pointer untuk

manajemen penyimpanan pada C++.

Pola juga tersedia untuk infrastruktur yang berbeda, contohnya pola

untuk J2EE dan CORBA. Pola MVC dikenal sebagai model arsitektur

aplikasi dengan memisahkan komponen-komponen dari aplikasi, yaitu

Model, View, Controller. David (2007) menjelaskan bahwa MVC

merupakan arsitektur perangkat lunak atau aplikasi web yang

memisahkan model data, antarmuka pengguna dan logika kontrol ke

dalam tiga komponen yang berbeda sehingga pemodifikasian

komponen view dapat dibuat dengan meminimalkan komponen model

data.

8
2. Framework

Framework menyajikan pilihan lain untuk menggunakan kembali

pengetahuan arsitektur yang ada. Menurut Simarmata (2010) framework

adalah sistem perangkat lunak yang dapat digunakan kembali dengan

fungsi umum yang telah diterapkan. Framework dapat dikhususkan ke

dalam aplikasi siap pakai (ready-to-use). Framework juga berfungsi seperti

sebuah cerak biru untuk arsitektur dasar dan arsitektur fungsional untuk

field aplikasi yang spesifik. Artinya, pengetahuan arsitektur yang terdapat

di dalam framework seluruhnya dapat diadopsi di dalam aplikasi.

Manfaat framework adalah penggunaan kembali arsitektur dan

fungsional yang sederhana atau sebuah toolkit untuk memudahkan para

programmer dalam membangun aplikasi dan ditujukan khusus untuk para

developer.

3. Kategori Arsitektur

Arsitektur aplikasi untuk lingkungan web memberikan aspek-aspek

lapisan dari arsitektur atau mendukung format dan data yang berbeda.

1. Aspek Lapisan

Lapisan berarti sistem perangkat lunak terstruktur di dalam

beberapa deretan betingkat (tier). Kebanyakan framework pada

field sistem terdistribusi dan aplikasi web pada dasarnya terstruktur

dengan aspek lapisan, yaitu arsitektur J2EE yang digunakan untuk

mengintegrasikan sistem warisan.

9
2. Aspek Data

Data dapat membedakan menjadi data terstruktur dan data yang

tidak terstruktur mengikuti skema yang ditetapkan seperti pada

label di dalam basis data relasional atau struktur XML di dalam

dokumen. Sedangkan data tidak terstruktur adalah konten

multimedia, seperti citra, audio, dan video yang biasanya tidak

mengikuti satu skema yang eksplisit.

B. Model View Controller (MVC)

Untuk membangun aplikasi web sebelumnya menggunakan konsep

atau arsitektur yang disebut dengan arsitektur Model 1.

Gambar II.1. Arsitektur Model 1


(Sumber: Giulio Zambon, 2007)

Dalam arsitektur Model 1, request HTTP diterima oleh sebuah komponen

web (misalnya Java Server Page (JSP) atau servlet). Kemudian request

diproses dan langsung dihasilkan response yang biasanya berupa

halaman HTML. Selain itu dalam arsitektur Model 1, logika bisnis

10
(business-logic) dan presentasi (view) digabungkan dalam satu komponen

web. Hal ini tidak menjadi masalah jika logika bisnis dan presentasi masih

relatif sederhana. Namun jika logika menjadi semakin kompleks,

pendekatan ini bisa menjadi masalah. Arsitektur Model 2, atau Model View

Controller (MVC) kemudian diperkenalkan untuk mengatasi masalah

tersebut. Arsitektur Model 2 sebenarnya implementasi server-side dengan

membagi aplikasi menjadi bagian-bagian tersendiri yaitu Sumber data

sebagai Model, representasi atau tampilan dengan View dan pemrosesan

sebagai Controller. Lebih jelasnya adalah sebagai berikut:

a. Model, merupakan implementasi dari logika bisnis dan data bisnis.

Model dapat direlisasi dengan memakai sembarang komponen web.

b. View, merupakan implementasi dari presentasi, yaitu halaman yang

akan dipakai sebagai response untuk dikirimkan kepada client. View

akan menampilkan data bisnis yang telah diolah. Umumnya yang

paling cocok dipakai adalah halaman JSP.

c. Controller, merupakan pengontrol aliran request (dan data).

Tugasnya adalah menerima request yang dikirimkan dari client. Data

request akan diolah atau diteruskan kepada komponen lain yang

mengolah data. Pada akhirnya request yang diolah akan diserahkan

kepada komponen view. Umumnya dipakai servlet sebagai controller.

11
Gambar II.2. Arsitektur Model 2 (MVC)
(Sumber: Giulio Zambon, 2007)

Seiring dengan semakin banyaknya penggunaan client side scripting,

ada 3 jenis MVC yang mungkin terjadi pada suatu aplikasi web yaitu:

1) Server Side MVC

Server Side MVC biasa terjadi pada aplikasi web tradisional, yang

tidak melibatkan client side seperti Javascript, Java Applet, Flash, dan

lain-lain. Server Side MVC menyerahkan keseluruhan proses bisnis pada

server, aplikasi pada sisi user hanya dapat menerima. MVC jenis ini

terkadang disebut juga dengan nama Thin Client.

2) Mixed Client Side and Server Side MVC

Pada Mixed Client Side and Server Side MVC 1 klien tidak

menggunakan model sebagai jembatan untuk melakukan komunikasi

pada server, dibandingkan dengan Server Side MVC, arsitektur ini

memiliki tingkat kompleksitas yang lebih tinggi karena lebih banyak

komponen yang terlibat. Untuk selanjutnya arsitektur ini disebut, dengan

Mixed MVC 1.

12
Pada Mixed Client Side and Server Side MVC 2, client menggunakan

model sebagai jembatan untuk melakukan komunikasi pada server,

dibandingkan dengan arsitektur MVC yang lain, arsitektur ini memiliki

tingkat kompleksitas yang paling tinggi karena lebih banyak komponen

yang terlibat, sehingga membutuhkan sumber daya yang lebih besar pula.

Untuk selanjutnya arsitektur ini disebut dengan Mixed MVC 2.

3) Rich Internet Application MVC

Rich Internet Application (RIA) disebut juga dengan nama Fat Client

merupakan aplikasi web yang memiliki kemampuan dan fungsi hampir

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.

C. Java Server Faces (JSF)

Menurut Bauer dan Gavin (2007) Java Server Faces atau biasa

disingkat JSF adalah user interface framework dalam bahasa Java untuk

membangun aplikasi web. JSF merupakan salah satu bagian dari

teknologi yang membangun platform Java EE. JSF diciptakan pada tahun

2002 melalui Java Spesification Request (JSR) 127. JSR 127 kemudian

mengalami banyak perubahan dan pada bulan Maret 2004 diluncurkan

versi finalnya. Salah satu kelebihan utama dari JSF adalah teknologi ini

menawarkan pembagian yang jelas antara layer presentasi dan bisnis.

13
1. Arsitektur Java Server Faces (JSF)

Gambar II.3. Arsitektur Java Server Faces


(Sumber: Mann, 2005)

Pada Gambar II.3. di atas terlihat bahwa JSF bertanggung jawab

dalam menangani interaksi klien dan aplikasi, menghubungkan bagian

presentasi, lojik aplikasi dan bisnis lojik menjadi suatu aplikasi web.

Subsistem lainnya, seperti layanan EJB atau basis data dapat

diintegraasikan dengan mudah walaupun bukan merupakan bagian dari

JSF.

Dibawah ini adalah gambaran detail bagaimana framework JSF

bekerja:

14
Gambar II.4. Java Server Faces framework
(Sumber: Dudney, 2004)

2. Elemen Pembentuk Java Server Faces (JSF)

Seperti framework lainnya, JSF mempunyai elemen-elemen penyusun

yang menyediakan rangkaian fitur yang dapat digunakan oleh

pengembang aplikasi web. Pada dasarnya, terdapat delapan elemen

utama yang perlu diketahui, yaitu:

a) Komponen User Interface (UI)

Komponen UI adalah objek yang menangani interaksi dengan end

user. Komponen tersebut mirip dengan kontrol pada Swing yang

dibangun di atas JavaBean. Walaupun sama-sama memiliki properti,

method, dan event, komponen UI didesain dengan batasan yang unik

untuk aplikasi web dan hidup di server, bukan di klien.

15
b) Rendered

Rendered bertanggung jawab dalam melakukan encoding dan

decoding komponen. Encoding adalah proses menampilkan

komponen pada halaman web sehingga dapat dimengerti dan dilihat

pengguna, sedangkan decoding mengestraksi parameter request

yang benar dan kemudian mengeset value dari komponen

berdasarkan parameter tersebut.

c) Backing beans

Backing beans merupakan objek yang menangani interaksi antara

view dan model pada arsitektur MVC. Backing beans umumnya

mengandung properti atau masukan dari user dan juga event listener

methods yang memproses properti tersebut.

d) Validators

Validators melakukan verifikasi terhadap nilai suatu komponen.

Sebuah komponen UI dapat berasosiasi dengan satu atau banyak

jenis validator. JSF sendiri menangani validasi dengan tiga cara, yaitu

pada level kkomponen UI, level backing beans melalui validators

methods, atau lewat kelas validators Komponen UI biasanya hanya

menangani validasi yang sederhana seperi mengecek suatu nilai

harus ada atau tidak. Validators methods berguna apabila dibutuhkan

validasi pada satu atau banyak field dalam satu form. External

validator berguna untuk kasus yang generik misalnya panjang

16
maksimal masukan atau kisaran angka masukan. Validator jenis ini

bersifat pluggable, dapat diasosiasikan dengan banyak komponen.

e) Converters

Ketika pengguna berinteraksi dengan aplikasi JSF, maka mereka

sebenarnya berinteraksi dengan output dari renderers. Untuk

melakukan ini, renderers harus mempunyai pengetahuann mengenai

komponen yang ditampilkan. Hal ini menjadi masalah karena

komponen dapat berasosiasi dengan properti backing beans yang

dapat memiliki beragam tipe, seperti String, Date, atau tipe bentuk

lainnya. Tidak adanya batasan dari tipe-tipe tersebut menyebabkan

renderers tidak dapat mengetahui bagaimana cara menampilkan

objek tersebut. Converters hadir untuk menangani masalah ini.

Converters bertanggung jawab dalam mengubah nilai dari komponen

ke bentuk String untuk ditampilkan, dan dari masukan String kembali

ke objek semula. Selain itu, converters juga dapat menangani

formatting dan localization.

f) Events dan Listeners

Event merepresentasikan interaksi yang pengguna lakukan terhadap

komponen UI. Suatu event dapat berupa mengklik suatu komponen,

menyorot komponen, atau mengeksekusi suatu perintah yang spesifik.

JSF menggunakan model JavaBeans events seperti Swing. Suatu

objek dapat menciptakan banyak event yang kemudian ditangkap oleh

17
liseteners. Listener dapat diimplementasikan pada backing beans

method atau kelas lisetener sendiri.

g) Messages

JSF mempunyai built-in support untuk menampilkan pesan pada

aplikasi. Pesan pada JSF dapat dihasilkan baik oleh validators,

converter, komponen UI, kode aplikasi, ataupun event listener. Selain

itu, pesan dapat diasosiasikan dengan komponen pada halaman web.

h) Navigation

Naviagation adalah proses perpindahan dari salah satu halaman web

ke halaman lainnya. JSF mempunyai sistem navigasi yang elegan

yang bersifat deklaratif. Programmer dapat mendefinisikan

perpindahan ke suatu halaman melalui keluaran yang dihasilkan oleh

suatu action method.

D. Apache Jmeter

Apache JMeter merupakan salah satu alat (tools) Java dari Apache

Jakarta untuk keperluan pengujian performansi aplikasi klien/server. Pada

awalnya JMeter ini digunakan hanya untuk aplikasi web, namun saat ini

sudah digunakan juga untuk fungsi test lain seperti SOAP, JDBC, LDAP,

JMS, Mail POP3. JMeter umumnya digunakan untuk mengukur

performansi dan fungsi.

Beberapa elemen-elemen pada JMeter:

1. Thread Groups, Elemen ini digunakan untuk mendefinisikan

behavior dari kumpulan thread yang akan berinteraksi dengan

18
aplikasi. Jadi dapat dikatakan bahwa thread group ini untuk

mendefinisikan berapa user yang menggunakan aplikasi sistem

untuk keperluan testing.

2. Timers, elemen ini digunakan untuk membuat suatu delay antara

request yang dilakukan tiap simulasi user. Dengan adanya timer ini,

proses testing akan lebih realistis. Terdapat beberapa tipe timer yang

dapat digunakan seperti constant atau random delay.

3. Listeners, elemen ini digunakan untuk mengumpulkan dan

melaporkan data hasil testing. Hasil testing dapat dibuat dalam

berbagai bentuk, seperti grafik, tabel, tree, dsb.

4. Target Web Page, merupakan aplikasi web yang akan di test

performansinya.

E. Penelitian Terkait

Pengembangan dan implementasi model view controller (MVC) pada

aplikasi web bukan merupakan pembahasan teknologi yang baru dalam

dunia aplikasi web. Sebelumnya penulis telah melakukan penelitian

sebagai bahan tugas akhir pada jenjang studi strata satu (S1) dengan

judul Implementasi Model View Controller (MVC) menggunakan

Framework Java Server Faces (JSF) pada Web Perpustakaan UIN

Alauddin Makassar. Pola desain MVC yang dibahas hanya fokus pada

bagaimana membangun dan memperlihatkan bentuk implementasi model

view controller (MVC) menggunakan framework java server faces (JSF)

beserta fitur dan kelebihan teknologi JSF (Gunawan, 2010). Pada

19
pengujian dan analisis sistem ditemukan perbedaan validasi data dimana

konsep atau model 2 architecture (MVC) melakukan validasi data dengan

cara menuliskan data form yang berupa tag di web.xml, sedangkan pada

arsitektur 1 validasi data dilakukan dengan cara menyisipkan source code

validasi disetiap halaman JSP. Pada hasil penelitian ini pula, Arsitektur

Model 1 dan Arsitektur Model 2 (MVC) belum dilakukan pengujian

performansi sistem secara kuantitatif sehingga masih dianggap perlu

dilakukan penelitian lanjutan agar dapat memberikan referensi dan

pertimbangan bagi pengembang (developer) perangkat lunak dalam

mengimplementasi Arsitektur Model 2 (MVC) khususnya pada aplikasi

web. Adapun penelitian kali ini merupakan pengembangan dari penelitian

yang telah ada sebelumnya dimana pada pada penelitian ini, akan

melakukan analisis performansi aplikasi web menggunakan Arsitektur

Model 2 (MVC) pada Framework Java Server Faces dan Arsitektur Model

1 sebagai pembanding. Pengujian performansi sistem akan dilakukan

pada aplikasi dan database server dengan memberikan request data

dengan jumlah yang sangat banyak secara bersamaan dalam satu waktu

pada server menggunakan metode Load dan Scalability Test pada

aplikasi web Arsitektur Model 1 dan Arsitektur Model 2 (MVC).

Yosua Onesimus Suheru dari Universitas Kristen Satya Wacana pada

tahun 2008 juga pernah melakukan penelitian dengan judul

Perbandingan Arsitektur Model 2 dan Arsitektur 1 dalam Pengembangan

Sistem Informasi Akademik Berbasis Web. Hasil dari penelitian tersebut

20
disimpulkan bahwa kelebihan arsitektur model 2 membagi source code

menjadi 3 bagian MVC sehingga mudah untuk dibuat dan dikembangkan

dalam waktu yang relatif singkat dan masih lebih tetap unggul dari

arsitektur model 1, khususnya dalam membuat sistem berskala besar

(Suheru, 2008). Adapun penelitian kali ini merupakan pengembangan dari

penelitian yang telah ada sebelumnya dimana pada penelitian ini analisis

arsitektur aplikasi web menggunakan Model 2 Architecture (MVC) pada

Framework Java Server Faces dan arsitektur Model 1 sebagai

pembanding dimana metode pengujian dengan memberikan request data

dalam jumlah yang sangat banyak secara bersamaan dalam satu waktu

pada server.

Niko Ibrahim dari Universitas Kristen Marantha pernah menulis tesis

sekaligus menjadi jurnal yang berjudul Applying a Model View Controller

Pattern in J2EE Platform Using Struts Framework. Pola desain MVC yang

dibahas disini adalah penerapan dan pengembangan aplikasi web

berbasis java menggunakan Struts framework (Ibrahim, 2006). Adapun

penelitian kali ini merupakan pengembangan dari penelitian yang telah

ada sebelumnya dimana pada penelitian ini penerapan arsitektur Model 1

dan arsitektur Model 2 (MVC) menggunakan Framework Java Server

Faces (JSF).

Novika Erdini dari Institut Teknologi Telkom pernah melakukan

penelitian sebagai bahan tugas akhir dengan judul Analisis dan

Implementasi Model View Controller (MVC) pada Framework Java Server

21
Faces (JSF) untuk aplikasi Web. Pada penelitian ini telah dibangun

sebuah aplikasi berbasis web yang mengimplementasikan arsitektur

Model 2 (MVC) dengan framework JSF dan framework pembanding

adalah Struts. Hasil yang didapat dari penelitian ini adalah dengan

mengimplementasikan MVC pada framework JSF lebih baik dibandingkan

dengan framework Struts (Erdini, 2009). Adapun penelitian kali ini

merupakan pengembangan dari penelitian yang telah ada sebelumnya

dimana pada penelitian ini konsep atau arsitektur Model 2 (MVC) dan

arsitektur Model 1 menggunakan framework yang sama yaitu Java Server

Faces (JSF). Metode analisis pengujian menggunakan Load dan

Scalability Test dengan memberikan request data dalam jumlah yang

sangat banyak secara bersamaan dalam satu waktu pada server

menggunakan tools Apache Jmeter.

Shikha Bhatia dan Mr. Harshpreet Singh pada jurnal International

Journal of Computers & Technology dengan judul Analyzing And

Improving Web Application Quality Using Design Patterns. Pola desain

MVC yang dibahas adalah penerapan MVC dengan menggunakan

pemrograman .NET dengan hasil secara umum MVC pada aplikasi web

akan meningkatkan fleksibilitas, pemeliharaan dan skalabilitas aplikasi

web (Bhatia, dkk., 2012). Adapun penelitian kali ini merupakan

pengembangan dari penelitian yang telah ada sebelumnya dimana pada

penelitian ini konsep atau arsitektur Model 2 (MVC) pemrograman yang

digunakan adalah Java Servlet pages (JSP) dengan menggunakan

22
Framework Java Server Faces (JSF). Analisis performansi aplikasi web

menggunakan arsitektur Model 2 (MVC) dan arsitektur Model 1 sebagai

pembanding.

F. Kerangka Konseptual

Masalah

Model 2 Architecture (MVC) belum dilakukan pengujian


performansi sistem secara kuantitatif, sehingga dianggap perlu
mengetahui perfomansi arsitektur MVC pada framework
JavaServer Faces (JSF) dimana Model 1 Architecture sebagai
pembanding

Solusi

Menganalisis performansi arsitektur aplikasi web yang


mengunakan model 1 dan model 2 atau MVC pada Framework
Java Server Face (JSF).

Metode

Melakukan analisis response time karena peningkatan


concurrent users terhadap aplikasi web yang menggunakan
model 1 dan model 2 architecture (MVC) pada JSF dimana
dalam pengujian menggunakan Load dan Scalability Test
pada Apache JMeter tools dengan memberikan HTTP request
terhadap aplikasi dan database.

Hasil

Hasil yang diharapkan adalah memberikan referensi


performansi dalam mengimplementasikan model arsitektur
aplikasi website menggunakan framework khususnya pada
JSF
Gambar II.5. Kerangka Konseptual

23
III.BAB III

METODE PENELITIAN

A. Tahapan Penelitian

Penelitian ini merupakan penelitian lanjutan dimana implementasi

model 2 atau model view controller (MVC) telah dilakukan pada sistem

informasi katalog online (OPAC) studi kasus Universitas Islam Negeri

Alauddin Makassar, pada tahapan ini lebih menekankan analisis

performansi arsitektur aplikasi website dengan motode uji Load dan

Scalability Test pada Model 2 atau Model View Controller (MVC) dan

Model 1 sebagai pembanding untuk memperoleh data penunjang guna

membantu dalam proses implementasi sistem aplikasi khususnya

teknologi berbasis web, penerapan metode tersebut mengikuti tahapan

penelitian sebagai berikut:

Mulai

Studi literatur

Perancangan Sistem (software)

Pembuatan Sistem (software)

Uji coba sistem dan analisis

Kesimpulan dan Saran

Selesai

Gambar III.1 Diagram tahapan penelitian

24
Tahapan secara garis besar dijelaskan sebagai berikut:

Studi literatur, tahap ini untuk mencari informasi konsep pengujian

sistem pada aplikasi website dengan metode Load dan Scalability

Test menggunakan Apache Jmeter, maka perlu dilakukan studi

literatur dari berbagai sumber.

Perancangan sistem, tahap ini dilakukan perancangan sistem aplikasi

web dengan menggunakan konsep atau arsitektur Model 1 dan Model

2 (MVC), untuk mendukung proses pengujian dan analisis penelitian.

Pembuatan sistem, tahap ini merupakan proses pembuatan program

sistem aplikasi web dengan menggunakan konsep atau arsitektur

Model 1 dan Model 2 (MVC).

Uji coba sistem dan analisis, tahap pengujian dilakukan untuk menguji

kerja dari keseluruhan sistem menggunakan metode load dan

Scalability Testing yang mencakup:

1. Pengujian terhadap response time terhadap peningkatan jumlah

user yang menggunakan sistem secara bersamaan (concurrent

users).

2. Pengujian terhadap respon time terhadap peningkatan ukuran

database.

Tahap analisis dilakukan untuk menganalisa hasil pengujian sistem

terhadap efisiensi dan efektifitas performansi arsitektur aplikasi web

25
yang menggunakan arsitektur Model 2 atau Model View Controller

(MVC) pada framework Java Server Faces (JSF).

Kesimpulan dan Saran, tahap ini merupakan tahap akhir dari

penelitian yang dilakukan, dimana kesimpulan berisikan hal-hal yang

dianggap pokok dan saran berisikan hal-hal yang merupakan

masukan demi kesempurnaan dan bahan publikasi maupun untuk

acuan penelitian selanjutnya

B. Waktu dan Lokasi Penelitian

Penelitian ini dilakukan di Unit Pelaksana Teknis (UPT) Pusat

Teknologi Informasi dan Pangkalan Data (PUSTIPAD) UIN Alauddin

Makassar selaku unit pengelolaan dan layanan data center. Penelitian

rencananya akan dilakukan selama 4 bulan, dimulai sejak di setujui

proposal penelitian ini.

C. Jenis Penelitian

Jenis penelitian yang digunakan yaitu metode penelitian kuantitatif.

Dimana akan menganalisasi permasalahan berdasarkan pendekatan

angka-angka dengan menggunakan metode Load dan Scalability Testing

pada Model 2 Architecture atau model view controller (MVC) dan Model 1

Architecture sebagai pembanding.

26
D. Alat dan Bahan

Alat dan bahan yang digunakan pada penelitian ini adalah sebagai

berikut:

1. Perangkat keras (hardware), terdiri atas:

Komputer server IBM System x3250 M4 dengan spesifikasi sebagai

berikut:

- Intel Xeon E3-1200v2 series (quad-core) up to 3.6 GHz/8

MB/1600 MHz;

- Chace (max): 8 MB L3;

- Memory: 16 GB 1600 MHz DDR-3 UDIMM;

- Internal Storage: 1 TB.

- Sistem operasi: Linux Mint.

Komputer Client dengan spesifikasi sebagai berikut:

- Intel (R) Core i5 CPU @ 2.5 Ghz

- Memory: 16 GB

- Internal Storage: 500 GB.

- Sistem operasi: Mac OS Yosemite 10.10.5

2. Perangkat lunak (software), terdiri atas:

Editor Eclipse Java EE IDE for Web Developers Versi Mars;

Library: Tomahawk 2.0, mysql-connector-java-5.1.13-bin;

Server Tomcat 6.026;

Database MySQL - 5.1.51 - win32;

Client Browser Opera, Google Chrome dan Mozila firefox;

27
Apache Jmeter.

E. Perancangan Sistem

Deskripsi Sistem

Untuk melakukan pengujian dan analisis sistem aplikasi website

pada Model 2 Architecture atau model view controller (MVC) dan Model 1

Architecture, pada penelitian ini akan membangun 2 model sistem aplikasi

website masing-masing memiliki sifat statis dan dinamis. Model 1

Architecture menggunakan Java Server Page (JSP) sedangkan Model 2

Architecture menggunakan framework Java Serve Faces (JSF).

Berikut perancangan sistem terperinci:

Sistem Informasi Perpustakaan UIN


Alauddin Makassar

home katalog Info perpustakaan panduan

login/logout buku sejarah keanggotaan

buku tamu skripsi visi dan misi hak anggota

link tesis struktur organisasi tata tertib

disertasi pelayanan sanksi

jurnal download

majalah kontak kami

Gambar III.2. Struktur halaman web.

28
Rancangan output

Halaman menu awal (statis)

Tampilan halaman utama atau menu awal (Home) merupakan

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

ditampilkan dengan halaman yang berbeda.

Gambar III.3. Output halaman menu awal pada Home

Halaman menu Katalog (Dinamis)

Tampilan halaman katalog bersifat dinamis. Pada bagian ini juga terdapat

beberapa sub menu yaitu sub menu buku, skripsi, tesis, disertasi, jurnal

dan majalah yang memiliki data secara dinamis.

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

Tahap pengumpulan data terdiri dari pengumpulan data primer

dan pengumpulan data sekunder.

1. Pengumpulan data primer, yakni pengumpulan data dilakukan dengan

data pada sistem katalog buku perpustakaan UIN Alauddin Makassar.

2. Pengumpulan data sekunder, dilakukan dengan penelusuran

kepustakaan yakni menggali dan mencari semua informasi yang

didapat melalui buku, internet dan informasi-informasi lain yang

menunjang pembuatan laporan.

F. Model Pengujian Sistem

Metode pengujian sistem yang akan digunakan adalah Load dan

Scalability Testing. Load dan scalability testing dapat dilakukan dengan

dua cara berbeda, yaitu uji coba terhadap response time karena

peningkatan ukuran dari database dan uji coba terhadap response time

karena peningkatan jumlah user yang menggunakan sistem secara

bersamaan (concurrent users) dengan waktu tunggu (ramp-up) yang

ditentukan.

Pada tahapan pengujian aplikasi web, aplikasi web arsitektur model

1 dan model 2 dilakukan pengujian aplikasi dan database server dengan

nilai Concurent user (Number of Thread) 1, 100 dan 500 user dengan

permintaan data (loop count) 1 dan jumlah periode ramp-up masing-

masing 100 detik.

31
Pengujian dilakukan pada halaman statis dan dinamis pada kedua model

dengan menggunakan 2 ukuran database yang berbeda yaitu 6.015 baris

(size 951KB) dan 12.027 baris (size 1,9MB) data entri buku menggunakan

Apache Jmeter.

Response Time

Merupakan rentang waktu dari saat user mengirimkan request ke

server hingga server selesai merespon request tersebut. Pada aplikasi

web, response time didefinisikan sebagai jumlah network time (N1, N2,

N3, N4) dan jumlah application time (A1, A2, A3, A4) (Pu and M. Xu,

2009). Keterangan lebih lanjut ada pada gambar berikut:

Gambar III.6. Response time pada aplikasi web.


(Pu and M. Xu, 2009)

Concurrency User

Concurency adalah jumlah pengguna (user) ataupun thread yang

mengakses resource dalam waktu bersamaan. Concurency user di sini

adalah jumlah keseluruhan user yang mengakses aplikasi dalam waktu

bersamaan. User yang dihitung adalah user aktif, meskipun user non aktif

32
tetap mengambil jumlah resource namun jumlahnya relatif sedikit

dibandingkan dengan user aktif.

Throughput

Adalah jumlah permintaan (request) yang ditangani dalam satu

detik. Pada software testing, throughput merupakan batasan jumlah

request yang mampu ditangani aplikasi tiap satuan waktu. Jika request

yang masuk melebihi throughput suatu aplikasi, maka hal ini akan

menyebabkan queue. Pada web engineering hal ini lah yang

menyebabkan terjadinya bottleneck. Hasil analisis throughput pada

performance testing disebut dengan Transaction Per Second (TPS).

(Colantanio, 2011).

Throughput ketika tidak terjadi bottleneck dapat didefinisikan sebagai

!"# !
= !
(3)

Di mana F adalah throughput, Nvu adalah jumlah virtual user, dan T

adalah performance testing time. (Pu and M. Xu, 2009).

33
IV.BAB IV

HASIL DAN PEMBAHASAN

A. Hasil Penelitian

Dalam bab ini akan dibahas hasil pengujian yang diperoleh dari

pengujian pada kedua sistem yang menggunakan arsitektur model 1 dan

model 2 dimana pengujian telah dilakukan sebanyak 3 kali percobaan

dengan menggunakan Apache Jmeter tool dengan nilai paramater

masing-masing Concurent user (Number of Thread) 1, 100 dan 500 user,

request data (loop count) 1 kali dimana jumlah periode ramp-up masing-

masing 100 detik.

Proses pengujian dilakukan pada halaman yang bersifat statis dan

dinamis. Pada halaman dinamis menggunakan 2 ukuran database yang

berbeda yaitu 6.015 baris data (size 951KB) dan 12.027 baris data (size

1,9 MB) buku. Berikut hasil pengujian yang telah dilakukan:

Tabel IV.1. Tabel. Data Hasil Pengujian


Arsitektur Samples Average Min Max Std. Dev. Error % Throughput KB/sec
1 6 6 6 0 0.00% 166.7 661.62
MODEL 1 100 4 3 11 1.09 0.00% 1 4.01
500 3 2 13 1.21 0.00% 5 19.85
1 18 18 18 0 0.00% 55.6 258.14
MODEL 2 100 13 11 22 1.6 0.00% 1 4.69
500 10 7 164 7.04 0.00% 5 23.25
Arsitektur Samples Average Min Max Std. Dev. Error % Throughput KB/sec
1 270 270 270 0 0.00% 3.7 27.21
MODEL 1 100 14 9 220 20.77 0.00% 1 7.42
500 12 10 27 1.74 0.00% 5 36.76
1 189 189 189 0 0.00% 5.3 64.47
MODEL 2 100 108 53 1585 219.65 0.00% 1 12.3
500 2826 0 18652 5296.33 69.60% 5 24.87

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

* Size databse tabel buku 915 KB = 6015 data


** Size database tabel buku 1,9 MB = 12027 data

Keterangan:

Sampel : Jumlah Sampel dengan label yang sama

Average : Waktu rata-rata dari satu kali hasil pengujian

Min : Waktu tangggap terendah pada sampel yang sama

Max : Waktu tanggap tertinggi pada sampel yang sama

Std. Dev : Standar Deviasi - ukuran variabilitas data set.

Error % : Persentasi jumlah permintaan yang gagal

(kesalahan)

Throughput : Jumlah permintaan (request) yang diukur dalam

waktu per detik / menit / jam.

KB/sec : throughput yang diukur dalam Kilobyte per detik.

Satuan waktu adalah dalam milidetik.

35
B. Analasis dan Pembahasan

Untuk memudahkan dalam proses analisis sistem, penelitian ini

akan mengambil sampel salah satu modul yang ada pada masing-masing

model atau sistem yaitu halaman Home untuk model statis dan halaman

katalog buku untuk model dinamis untuk mempermudah menganalisa dan

membandingkan alur (flow) pada model arsitektur 1 dan model arsitektur 2

atau MVC.

Berikut alur (flow) dalam jalannya sistem model 1 dan model 2.

Tabel IV.2. Perbandingan alur (flow) jalannya sistem


Arsitektur Model 1 Arsitektur Model 2 (MVC)

Halaman Statis

Pengunjung/anggota (user) JSP DAO Pengunjung/anggota (user) JSP

JSP Pengunjung/anggota (user) faces-config.xml DAO JSP

Pengunjung/anggota (user)

Halaman Dinamis

Pengunjung/anggota (user) JSP DAO Pengunjung/anggota (user) JSP

Database DAO JSP faces-config.xml DAO Database

Pengunjung/anggota (user) DAO JSP Pengunjung/anggota

(user)

Untuk lebih jelasnya penelitian ini mengambil contoh dari sequence

diagram pada modul katalog buku yang dapat dilihat pada Gambar III.6

untuk model 2 (MVC) dan Gambar IV.7. untuk model 1.

36
pengunjung/anggota Katalog.jsp Buku.jsp Buku : DAO Detailbuku.jsp

1 : klik link katalog

2 : request action

3 : get data base Buku

5 : return 4: Load database Buku

6 : Penulusuran (input kata kunci dan kategori buku)

7 : get data base Buku

9 : return 8 : Load database Buku

10 : klik Link detail buku

11 : request action

12 : get data base Buku

13 : Load data base Buku

14 : return

Gambar IV.1. Sequence Diagram alur sistem modul katalog Buku


(Model 1)

37
pengunjung/anggota Katalog.jsp faces-config Buku : Action Buku : DAO Buku.jsp DetailBuku.jsp

1 : klik link katalog


2 : request action

3 : send request

4 : get data base Buku

6 : return result 5 : Load data base Buku

8 : request action 7 : create a request for objectPaging

9 : response

10 : Penulusuran ( input kata kunci dan kategori buku )

11 : request action
12 : send request

13 : get data base buku

15 : return result 14 : Load data base buku

17 : request action 16 : create a request objectPaging

18 : response

19 : Klik link detail buku

20 : request action

21 : send request

22 : get data base buku


23 : Load data base buku
24 : return result

25 : request action

26 : response

Gambar IV.2. Sequence Diagram alur sistem modul katalog Buku


(Model 2)

Pada pengujian halaman statis pada kedua sistem, model 1 lebih unggul

dalam rata-rata waktu merespon permintaan (response time)

38
dibandingkan pada model 2 dengan parameter yang sama yaitu

Concurent user (Number of Thread) 1, 100, 500 user dengan permintaan

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.

Jika dilihat secara seksama Model 2 terlihat jelas faces-config.xml

dan Action mengambil peranan penting dalam alur (flow) jalannya sistem.

Pada bagian JSP hanya mengambil data permintaan dari user dan

menampilkannya kembali pada user sehingga membutuhkan waktu

tanggap (response time) yang lebih lama dibandingkan dengan Model 1

dimana alur jalannya sistem lebih sederhana karena peran JSP sangat

bekerja keras menangani permintan (request) data sampai menampilkan

kembali pada pengunjung atau anggota (user).

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

web yang menggunakan model 2 juga membutuhkan waktu dalam proses

load semua library yang ada pada framework Java Server Faces baik

yang digunakan oleh sistem ataupun tidak digunakan, sehingga untuk

memberikan waktu tanggap model 1 lebih cepat dan efisien.

Untuk pengujian halaman dinamis pada kedua sistem, model 1

masih tetap lebih unggul dalam waktu rata-rata merespon permintaan

(respon time) dibandingkan pada model 2 dengan parameter yang sama

yaitu Concurent user (Number of Thread) 1, 100, 500 user dengan

permintaan data (loop count) 1 dan jumlah periode ramp-up masing-

masing 100 detik. Pada pengujian ini Concurent user jumlah 1 dan 100

user seluruh permintaan data dapat direspon dan diproses oleh sistem.

Sedangkan Concurent user (Number of Thread) 500 pada Model 2

mengalami bottleneck dimana sistem dan layanan server tidak dapat

merespon permintaan user, dimana parameter pengujian yang terdiri dari

6.015 data persentasi jumlah permintaan yang gagal 69,60% dengan

waktu tunggu (delay) 1 detik, demikian pada jumlah data 12.027

persentasi jumlah permintaan yang gagal adalah 89,80% dengan waktu

tunggu 0,2 detik. Sebaliknya pada Model 1 dengan Concurent user

(Number of Thread) 500 semua permintaan data berhasil ditampilkan

pada sisi pengguna (user) dan kegagalan 0%.

40
Gambar IV.4. Grafik persentasi jumlah permintaan yang gagal (kesalahan)
dengan jumlah 6.015 data.

Gambar IV.5. Grafik persentasi jumlah permintaan yang gagal (kesalahan)


dengan jumlah 12.027 data.

41
V.BAB V

PENUTUP

A. Kesimpulan

Dalam penelitian ini dibuktikan bahwa dalam implementasi

arsitektur web yang menggunakan model 1 waktu rata-rata yang

dibutuhkan untuk merespon permintaan user lebih cepat dan efisien

dengan jumlah Concurent user (Number of Thread) yang banyak dalam

waktu bersamaan dibanding model 2 (MVC). Model 2 memerlukan waktu

untuk melakukan load library dan parser kode (source) dalam hal interaksi

pola karena pemisahan bagian kode yaitu Model View Controller,

semakin banyak dilakukan pemisahan dan penggunaan library pada

implementasi model web maka waktu untuk merespon permintaan user

mengalami nilai response time yang tinggi.

B. Saran

1. Untuk penelitian atau pengembangan berikutnya dalam melakukan

analisis web arsitektur model 2 atau MVC dalam aspek keamanan

sistem dengan model 1 sebagai pembanding.

2. Untuk penelitian atau pengembangan berikutnya dalam melakukan

analisis web arsitektur model 2 atau MVC gunakan framework yang

lain agar dapat menambah referensi dalam pengembangan suatu

aplikasi khususnya pada web.

42
DAFTAR PUSTAKA

Aranda, Bruno. 2008. Facelets Essentials: Guide to JavaServer Faces


View Definition Framework. Apress: New York.
Bergsten, Hans. 2004. Java Server Faces. OReilly: United States of
America.
Bauer, Christian dan Gavin King. 2007. Java Persistense with Hibernate.
Second Edition of Hibernate in Action. Manning Publications Co.
David, Plans Casal. 2007. Advanced Software Development for Web
Application. Bristol: Research Scientist, Digital Media Laboratory
HP Laboratories.
Dudney, Bill. 2004. Mastering Java Server Faces. Wiley Publishing:
Indiana.
Ed Burns, C. Schalk, J. Holmes. 2007. JavaServer Faces: The Complete
Reference. McGraw-Hill:
Geary, David dan Cay Hosrtmann. 2007. Core Java Server Faces,
Second Edition. Prentice Hall: California.
Geary, David dan Cay Hosrtmann. 2010. Core Java Server Faces, Third
Edition. Prentice Hall: California.
Gunawan. 2010. Implementasi Model View Controller (MVC)
menggunakan Framework JavaServer Faces (JSF) pada Web
Perpustakaan UIN Alauddin Makassar. Skripsi tidak diterbitkan.
Makassar: Jurusan Teknik Informatika UIN Alauddin Makassar.
(Proceedings: International Conference on Education Technology
Strengthening (IC-ETS) 2011, State University of Malang, Malang
July Tahun 2011 ISBN 978-602-19101-0-8)
Halili, Emily H. , 2008. Apache Jmeter. Birmingham: Packt Paublishing.
Layka, Vishal. 2014. Learn Java for Web Development: Modern Java Web

Development. Apress: New York.

Mann, Kito. D. 2005. JavaServer Faces in Action. Manning Publications:

United States of America.

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.

W.J.S. Poerwadarminta. 1976. Kamus Umum Bahasa Indonesia. PN Balai

Pustaka: Jakarta.

Williams, Nicholas S. 2014. Professional Java for Web Applications. John

Wiley & Sons, Inc.: Indianapolis, Indiana.

Y. Pu and M. Xu, "Load Testing for Web Applications," The 1st

International Conference on Information Science and Engineering,

pp. 2954-2957, 2009.

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

2009 (online), (http://www.devx.com/webdev/Article/17 950/1954,

diakses pada 7 Agustus 2015)

Perpustakaan Institut Teknologi Telkom. Analisis dan Implementasi


Model View Controller (MVC) pada Framework JavaServer Faces
(JSF) untuk Aplikasi Web. Official Website Perpustakaan Institut
Teknologi Telkom.http://www.ittelkom.ac.id/
library/index.php?option=com_repository&Itemid=34&task=detail&ni
m=113050061 (18 Juli 2014).
Shikha Bhatia, Mr. Harshpreet Singh, 2012, Analyzing And Improving Web
Application Quality Using Design Patterns. International Journal of
Computers & Technology (online) Vol. 2. No. 2b
(http://ijctonline.com/ojs/index.php/ijct/issue/view/34, diakses pada
20 September 2014)
J. Colantonio, joecolantonio, 5 July 2011. (online).
(http://www.joecolantonio.com/performance-testing-what-is-
throughput/, diakses pada 18 Agustus 2015)
JMeter. (online). (http://roseindia.net/jmeter, diakses pada 7 Agustus

2015)

45

Anda mungkin juga menyukai