Anda di halaman 1dari 17

BAB VIII

PERCOBAAN 7
MVC JAVA
8.1

Tujuan
1. Mengetahui konsep JSP
2. Memahami konsep Model-View-Controller Java
3. Mampu membuat aplikasi web menggunakan konsep Model-View-Controller

8.2

Alat dan Bahan


1. PC
2. Netbeans IDE 8.4
3. JDK

8.3

Dasar Teori
8.3.1

Object Oriented Programming


OOP/PBO merupakan paradigma pemrograman yang popular saat ini yang telah

menggantikan teknik pemrograman berbasis prosedur. Object Oriented Programing yang


berarti pula Pemrograman Beorientasi Objek sudah ditemukan sekitar tahun 1960 dan
dikembangkan pada permulaan tahun 1970.
Pemrograman

Berorientasi

Objek

(Object

Oriented

Programming/OOP)

merupakan pemrograman yang berorientasikan kepada objek, dimana semua data dan
fungsi dibungkus dalam class-class atau object-object. Setiap object dapat menerima
pesan, memproses data, mengirim, menyimpan dan memanipulasi data. Beberapa object
berinteraksi dengan saling memberikan informasi satu terhadap yang lainnya.
Masing-masing object harus berisikan informasi mengenai dirinya sendiri dan
dapat dihubungkan dengan Object yang lain. Pemrograman berorientasi objek berbeda
dengan pemrograman prosedural yang hanya menggunakan satu halaman kebawah untuk
mengerjakan banyak perintah atau statement. Penggunaan pemrograman berorientasi
objek sangat benyak sekali, contoh : java, php, perl, c#, cobol, dan lainnya.
Ada 2 buah metode yang berkenaan dengan Object Oriented adalah :
Object Oriented Analysis
Metode analisis yang memeriksa requirements (syarat / keperluan yang harus
dipenuhi suatu sistem) dari sudut pandang kelas-kelas dan objek-objek yang ditemui
dalam ruang lingkup permasalahan.
Object Oriented Design
Metode untuk mengarahkan arsitektur software yang didasarkan pada manipulasi
objek-objek sistem atau subsistem.

8.3.2

Model.View and Controller


Secara sederhana konsep MVC terdiri dari tiga bagian yaitu bagian Model, bagian

View dan bagian Controller. Didalam website dinamis setidaknya terdiri dari 3 hal yang
paling pokok, yaitu basis data, logika aplikasi dan cara menampilkan halaman wesite. 3
hal tersebut direpresentasikan dengan MVC yaitu model untuk basis data, view untuk
cara menampilkan halaman website dan controller untuk logika aplikasi.
1. Model
Merepresantiskan struktur data dari website yang bisa berupa basis data
maupun data lain, misalnya dalam bentuk file teks atau file xml. Biasanya
didalam model akan berisi class dan fungsi untuk mengambil, melakukan update
dan menghapus data website. Karena sebuah website biasanya menggunakan
basis data dalam menyimpan data maka bagian Model biasanya akan
berhubungan dengan perintah-perintah query SQL. Model bisa dibilang khusus
digunakan untuk melakukan koneksi ke basis data oleh karena itu logika-logika
pemrograman yang berada didalam model juga harus yang berhubungan dengan
basis data. Misalnya saja pemilihan kondisi tetapi untuk memilih melakukan
query yang mana.
2. View
Merupakan informasi yang ditampilkan kepada pengunjung website.
Sebisa mungkin didalam View tidak berisi logika-logika kode tetapi hanya berisi
variabel-variabel yang berisi data yang siap ditampilkan. View bisa dibilang
adalah halaman website yang dibuat menggunakan HTML dengan bantuan CSS
atau JavaScript. Didalam view jangan pernah ada kode untuk melakukan koneksi
ke basis data. View hanya dikhususkan untuk menampilkan data-data hasil dari
model dan controller.
3. Controller
Controller merupakan penghubung antara Model dan View. Didalam
Controller inilah terdapat class dan fungsi-fungsi yang memproses permintaan

dari View kedalam struktur data didalam Model. Controller juga tidak boleh berisi
kode untuk mengakses basis data. Tugas controller adalah menyediakan berbagai
variabel yang akan ditampilkan di view, memanggil model untuk melakukan
akses ke basis data, menyediakan penanganan error, mengerjakan proses logika
dari aplikasi serta melakukan validasi atau cek terhadap input.

8.3.3

Java Server Pages (JSP)


JSP adalah suatu teknologi web berbasis bahasa pemrograman Java dan berjalan

di Platform Java, serta merupakan bagian teknologi J2EE (Java 2 Enterprise Edition). JSP
sangat sesuai dan tangguh untuk menangani presentasi di web. Sedangkan J2EE
merupakan platform Java untuk pengembangan sistem aplikasi enterprise dengan
dukungan API (Application Programming Inteface) yang lengkap dan portabilitas serta
memberikan sarana untuk membuat suatu aplikasi yang memisahkan antara business
logic (sistem), presentasi dan data. JSP merupakan bagian dari J2EE dan khususnya
merupakan komponen web dari aplikasi J2EE secara keseluruhan. JSP juga memerlukan
JVM (Java Virtual Machine) supaya dapat berjalan, yang berarti juga mengisyaratkan
keharusan menginstal Java Virtual Machine diserver, dimana JSP akan dijalankan. Selain
JVM, JSP juga memerlukan server yang disebut dengan Web Container. Teknologi JSP
menyediakan cara yang lebih mudah dan cepat untuk membuat halaman-halaman web
yang menampilkan isi secara dinamik. Teknologi JSP di desain untuk membuat lebih
mudah dan cepat dalam membuat aplikasi berbasis web yang bekerja dengan berbagai
macam web server, application server, browser dan development tool. Java Server Pages
(JSP) adalah bahasa scripting untuk web programming yang bersifat server side seperti
halnya PHP dan ASP. JSP dapat berupa gabungan antara baris HTML dan fungsi-fungsi
dari JSP itu sendiri. Berbeda dengan Servlet yang harus dikompilasi oleh USER menjadi
class sebelum dijalankan, JSP tidak perlu dikompilasi oleh USER tapi SERVER yang
akan melakukan tugas tersebut. Makanya pada saat user membuat pertama kali atau
melakukan modifikasi halaman dan mengeksekusinya pada web browser akan memakan
sedikit waktu sebelum ditampilkan. Daur Hidup JSP sebagai gambaran bagaimana JSP
melalui masa hidupnya bisa dilihat pada gambar berikut:

Gambar 8.1 Skema JSP

Seperti tipe aplikasi java lainnya (Servlet, Applet, Midlet dll), JSP juga bertipe
strong type artinya penggunaan variable pada halaman tersebut harus dideklarasikan
terlebih dahulu. Misalnya pada sintaks pengulangan berikut :

for (int i=1; i<13; i++)


{
// statement
}

Seperti halnya skrip-skrip server side yang lain, JSP pun memerlukan Web server.
Skrip ASP memerlukan IIS sebagai web server, PHP memerlukan IIS atau Apache,
sedangkan JSP bisa menggunakan Apache Tomcat sebagai salah satu web server yang
mendukungnya agar bisa menjalankan file-file JSP yang berbasis Java, diperlukan web
server yang mampu memproses Java, atau minimal JSP engine yang dapat terintegrasi
dengan web server. Web Container Menurut spesifikasi J2EE, dikenal EJB Container,
Web Container dan Application Server. Web Container adalah services yang dijalankan
oleh suatu Java Application Server hususnya untuk services yang compliance/kompatibel
dengan Servlet dan JSP. Selain menjadi services oleh Java Application Server, Web
Container dapat berdiri sendiri. Contoh Web Container adalah Tomcat, ServletExec,
Resin, Jrun, Blazix. Web Container juga dapat bekerja sama dengan web server, misalnya
Tomcat dengan Apache, Jrun dengan IIS. Web Server adalah software untuk server yang

menangani request melalui protokol HTTP yang digunakan oleh situs-situs web saat ini
dalam menangani request file statik HTML, sepeti Apache dan Microsoft IIS. Web server
sekarang sering dibungkus oleh Java Application Server sebagai HTTP Server. Java
Application Server adalah Server yang terdiri atas HTTP Server (Web Server), EJB
Container maupun Web Container. Contoh Java Application Server: Sun J2EE RI 1.2/1.3,
Borland AppServer 4.5/Enterprise Server 5.0, Oracle9i Application Server dan lainnya,
dikutip dalam (Dakir, Satriyanto, & Yuwono, 2010).

8.4

Data Percobaan

Gambar 8.2 Screenshot index.jsp

Gambar 8.5 Screenshot LoginControler.java

Gambar 8.6 Screenshot model.java

Gambar 8.7 Screenshot welcome.jsp

8.5

Analisa dan Pembahsan


8.5.1

index.jsp

Gambar 8.8 Screenshot index.jsp

Listing program :
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html> //membuat script html
<head> //membuat head
<meta http-equiv="Content-Type" content="text/html; charset=UTF8">
<title>JSP Page</title> //memberi title pda head
</head> //menutup script head
<body> //mebuat body
<h1>Halaman JSP</h1> //memberi tulisan header

<form action="login" method="post"> //membuat form login


<table> //membuat tabel
<tr>

//mebuat baris pada tabel

<td>Username</td> //membuat kolom pertama berisi Username


<td><input

type="text"

name="username"

/></td>

//membuat

kolom

kedua berisi textbox untuk input username


</tr> //menutup script baris pertama
<tr> //membuat baris kedua
<td>Password</td> //membuat kolom baru berisi Password
<td><input

type="text"

name="password"

/></td>

//membuat

kolom

kedua berisi textbox untuk input password


</tr> //menutup script baris kedua
<tr> //membuat baris ketiga
<td></td> //membuat kolom kosong
<td><input type="submit" value="Masuk coy" /></td> //membuat kolom
berisi tombol untuk submit username dan password
</tr> //menutup script baris ketiga
</table> //menutup script tabel
</form> //menutup script form
</body> //menutup script body
</html>//menutup script html

Penjelasan listing program :


index.jsp merupakan halaman yang akan tampil pertama kali program
dijalankan. index.jsp berisi beberapa input seperti username dan password yang
nantinya akan ditampilkan pada halaman selanjutnya. Pada tag form terdapat

parameter action untuk mengarahkan ke URL tujuan saat form dieksekusi dan
fungsi post yang berguna untuk mengirimkan data username dan password.
8.5.2

User.java

Gambar 8.9 Screenshot User.java

Listing program :
package model; //berada dalam package model
public class User { //membuat class User
private String username; //mendeklarasaikan username bertipe
data String dan bersifat private
private String password; //mendeklarasikan password bertipe
data String dan bersifat private
public String getUsername() { //membuat method getUsername
return username; //mengembalikan nilai username
}

public void setUsername(String username) { //membuat method


setUsername dengan parameter username bertipe data String
this.username = username; //menyatakan bahwa username yang
diinput sebagai nilai dari variabel username
}
public String getPassword() { //membuat method getPassword
return password; //mengembalikan nilai password
}
public void setPassword(String password) { //membuat method
setPassword
this.password = password; //menyatakan bahwa password yang
diinput merupakan nilai dari variabel password
}
}

Penjelasan listing program :


User.java ini merupakan bagian dari model pada MVC yang berguna
untuk menjembatani antara view dan controller. User.java memiliki fungsi
getUsername dan getPassword yang berguna untuk mengambil nilai username dan
password yang sudah diinputkan pada halaman index. Fungs setUsername dan
setPassword berguna untuk menyatakan bahwa username dan password yang
sudah diinputkan merupakan nilai dari variabel username dan password.

8.5.3

LoginController.java

Gambar 8.10 Screenshot LoginController.java

Listing program :
package controller; //berada pada package controller
import java.io.IOException; //import library
import java.io.PrintWriter; //import library
import javax.servlet.RequestDispatcher; //import library
import javax.servlet.ServletException; //import library
import javax.servlet.annotation.WebServlet; //import library
import javax.servlet.http.HttpServlet; //import library
import
library

javax.servlet.http.HttpServletRequest;

//import

import

javax.servlet.http.HttpServletResponse;

//import

library
import model.User; //import library
@WebServlet(name

"LoginController",

urlPatterns

{"/login"}) //memberi nama LoginController dg url /login


public class LoginController extends HttpServlet { //membuat
class LoginController yang extends dari class HttpServlet
protected

void

processRequest(HttpServletRequest

HttpServletResponse
processRequest

response)

yang

bersifa

request,

//membuat

protected

method

dengan

parameter

request dan response


throws ServletException, IOException { //membuat exception
String

namaPengguna

//menyatakan

nilai

request.getParameter("username");

variabel

namaPengguna

merupakan

nilai

dari variabel username


String

kataKunci

request.getParameter("password");

//menyatakan nilai variabel kataKunci merupakan nilai dari


variabel password
User pengguna = new User(); //inisiasi objek perngguna
pengguna.setUsername(namaPengguna);

//menjalankan

method

setUsername dan diisi dengan nilai variabel namaPengguna


pengguna.setPassword(kataKunci);

//menjalankan

method

setPassword dan diisi dengan nilai variabel kataKunci


request.setAttribute("pengguna", pengguna); //
RequestDispatcher rd = request.getRequestDispatcher("/WEBINF/jsp/welcome.jsp");

//melakukan

welcome.jsp
rd.forward(request, response);
}

redirect

ke

halaman

Penjelasan listing program


LoginController.java ini merupakan bagian controller dari MVC.
LoginController.java berfungsi untuk mengarahkan perpindahan dari index.jsp ke
welcome.jsp dan juga inisiasi objek pengguna yang merupakan turunan dari class
User.
8.5.4

welcome.jsp

Gambar 8.11 Screenshot welcome.jsp

Listing program :
<%@page import="model.User"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html> //memulai script html
<head> //memulai script head
<meta
http-equiv="Content-Type"
charset=UTF-8">

content="text/html;

<title>Selamat datang</title> //memberi judul halaman web


</head> //menutup script head

<body> //memulai script body


<h1>Selamat datang</h1> //memberi header pada body
<p> //membuat paragraf
<%
User user = (User) request.getAttribute("pengguna");
%> //menjalankan method getAttribute
Selamat datang <%= user.getUsername() %><br /> //menampilkan
Selamat datang disertai dengan nilai variabel username
Password Anda <%= user.getPassword() %> //menampilkan
Password Anda disertai dengan nilai variabel password
</p> //menutup paragraf
</body> //menutup script body
</html> //menutup script html

Penjelasan listing program :


Pada welcome.jsp ini berisi fungsi untuk menampilkan nilai username dan
password yang telah diinput pada index.jsp, menggunakan method getUsername
dan

getPassword.

Pada

import="model.User"%>

welcome.jsp

ini

terdapat

scriplet

<%@page

berfungsi untuk import class User dan scriplet <

%@page contentType="text/html" pageEncoding="UTF-8"%>

yang berfungsi

untuk mengatur character encoding pada halaman JSP. Expression <%=


user.getUsername()

%>

berfungsi untuk menanpilkan nilai username dan

expression <%= user.getPassword() %> untuk menampilkan nilai password

7.6 Kesimpulan
1. JSP adalah suatu teknologi web berbasis bahasa pemrograman Java dan berjalan di
2.
3.
4.
5.

Platform Java, serta merupakan bagian teknologi J2EE (Java 2 Enterprise Edition).
3 hal yang direpresentasikan dengan MVC yaitu model, view dan controller.
Model merepresantiskan struktur data.
View merupakan informasi yang ditampilkan kepada pengunjung website.
Controller merupakan penghubung antara Model dan View. Didalam Controller inilah
terdapat class dan fungsi-fungsi yang memproses permintaan dari View kedalam struktur
data didalam Model.

Anda mungkin juga menyukai