Chapter V - Aplikasi Web
B. Java Server Pages B.1. Pengenalan Java Server Pages
Penggunaan internet terus menagalami perkembangan, bahkan saat ini
sudah memungkinkan akses internet melalui handheld device atau alat
portabel. Teknologi Java yang telah banyak dikenal melalui applet
Java merupakan teknologi yang terus berkembang pula dan telah
merambah ke teknologi web, yaitu JSP dan Servlet yang menjadi
bagian dari teknologi Java untuk aplikasi enterprise (J2EE). Saat
ini didunia, permintaan pasar terhadap pemrograman Java sangat
bagus dan bisa dikatakan bahwa programmer Java lebih mudah dalam
menemukan pekerjaan. Teknologi J2EE sebagai bagian dari teknologi
Java juga menciptakan kebutuhan programmerprogrammer J2EE yang baru
dan lebih spesifik, dimana selain mampu membuat program Java, juga
harus mengerti teknologi J2EE. JSP sebagai komponen penting dari
J2EE harus dapat dikuasai sebelum seseorang dapat menjadi J2EE
programmer. JSP banyak mempunyai kelebihan sehingga bagi para web
programmer dengan teknologi PHP, ASP atau yang lain, dapat ikut
mempelajarinya.
Apakah JSP itu ? 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
(Aplikasi Programming Interface) 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 mengintal Java Virtual Machine di server,
dimana JSP akan dijalankan. Selain JVM, JSP juga memerlukan server
yang disebut Web Container. J2EE terdiri atas teknologi berikut :
Java Server Pages 23Web Programing
Chapter V - Aplikasi Web
Servlets Dukungan Java terhadap XML yaitu JAXP Enterprise Java
Beans (EJB) Java Messaging Java Transactions Java Mail Java Naming
and Directory Interface JDBC (Java Database Connectivity) Dukungan
Java terhadap CORBA dan RMI
JSP maupun J2EE dibuat dan didefinisikan oleh kalangan industri,
tepatnya Java Community Process (http://java.sun.com/jcp) yang
dipimpin oleh Sun Microsystem. Untuk lebih mengenal J2EE, anda
dapat mengunjungi situs : http://java.sun.com/j2ee. Teknologi JSP
menyediakan cara yang lebih mudah dan cepat untuk membuat
halaman-halaman web yang menampilkan isi secara dinamik. Teknologi
JSP didesain untuk membuat lebih mudah dan cepat dalam membuat
aplikasi berbasis web yang bekerja dengan berbagai macam web
server, aplication server, browser dan development tool. Jika kita
melihat asal- usulnya, JSP sebenarnya merupakan pengembangan dari
Servlet. Pada saat diproses di server, file JSP sebenarnya
dikompilasi menjadi Servlet yang merupakan program Java yang
berjalan di server ( semacam applet yang berjalan di server). Perlu
kita ketahui bahwa Servlet merupakan teknologi Java untuk web
sebelum JSP dan merupakan basis untuk pengembangan JSP. JSP maupn
Servlet memerlukan server khusus yang Web Container, dimana salah
satunya adalah Tomcat yang merupakan bagian proyek Open Source yang
disebut Jakarta oleh Apcahe group (http://jakarta.apache.org).
JSP memeiliki sifat-sifat sebagai berikut : (sumber :
http://java.sun.com/products/jsp/jsp_jservlet.ds.html) o Portabel
karena dibuat dengan teknologi Java.
24Web Programing
Chapter V - Aplikasi Web
o Portabel di sini berarti suatu aplikasi yang dibuat dengan
Java yang dapat berjalan di berbagai sistem operasi dengan sedikit
modifikasi, bahkan mungkin tanpa
modifikasi sedikit pun. o Manajemen memori. o Oleh karena JSP
menggunakan bahasa Java dan platform Java, maka JSP juga memiliki
kemampuan manajemen memori. o Memiliki akses ke API Java yang
lengkap (JDBC, Java Mail). o Dapat menggunakan komponen yang
portabel dan reusable (Java Bean). o Memiliki performansi tinggi
terhadap banyak request (proses) sekaligus dalam waktu yang sama. o
Mudah dalam deployment dan maintenance.
Kelebihan JSP JSP patut dipertimbangkan sebagai bahasa
pemrograman web untuk pembuatan aplikasi web yang tangguh.
Kelebihan-kelebihan JSP yaitu : a. Memisahkan prentasi yang statis
dan isi yang dinamik. Untuk menghasilkan aplikasi web, tentunya web
developer harus berurusan tag-tag HTML maupun XML untuk
menghasilkan halaman web. Untuk menghasilkan tampilan halaman web
yang baik, tentunya web developer juga harus mendesainnya sehingga
harus menetukan kode HTML yang ingin dihasilkan. b. Menekankan
komponen reusable. Teknologi JSP memerlukan komponen yang reusable
dan cross platform (Java Bean atau Enterprise Java Bean) untuk
melakukan pemrosesan yang lebih kompleks. Dengan komponen,
developer dapat
menggunakannya untuk operasi yang umum sehingga memungkinkan
sharing dan distribusi komponen publik atau komunitas di internet.
Penggunaan komponen dapat mempercepat pembuatan aplikasi web karena
proses logik yang diperlukan sudah tersedia dan langsung dapat
digunakan. c. Memudahkan pembuatan aplikasi dengan tag. Teknologi
JSP memungkinkan pembuatan dan pendefinisian tag-tag baru yang
disebut custom tag sehingga
25Web Programing
Chapter V - Aplikasi Web
memungkinkan adanya tag libraries. Yaitu kumpulan tag yang
memiliki berbagai fungsi yang mudah digunakan. d. Berbasis Bahasa
Pemrograman Java. Oleh karena JSP berbasis Java, maka aplikasi yang
dibuat dengan JSP juga memiliki manajemen memori dan sekuritas yang
baik. Selain itu, JSP juga mudah dipelajari dan dapat memanfaatkan
pemrograman beroriantasi objek dari Java. e. Bagian dari platform
Java. Oleh karena merupakan bagian dari paltform Java, maka JSP
juga memiliki karakteristik Write Once, Run Anywhere yaitu
portabilitas yang tinggi. f. Terintegrasi dalam J2EE. Oleh karena
JSP merupakan bagian integral J2EE, maka aplikasi JSP dapat
dikembangkan ke aplikasi berskala enterprise.
Tabel VI.1. Perbandingan JSP dengan Teknologi Web lain. (Sumber
: http://java.sun.com/products/jsp/jsp-asp.html )
KemampuanPortabilitas OS/Hardware Portabilitas Web Server Bahasa
Skrip yang digunakan Proteksi terhadap memory leak dan system crash
Ekstensibilitas Pengembangan Tag Baru Pemisahan Sistem logic dan
presentasi
ASPTerbatas/Chilli Linux Tidak VBScript, Jscript Tidak
CGI/PerlTidak Ya Perl
Mod_PerlYa Tidak/hanya Apache Perl
PHPYa Tidak/hanya Apache PHP
JSPYa Ya Java
Tidak
Tidak
Tidak
Ya
Tinggi tapi belum final (.NET) Tidak Ya
Tidak Tidak Tidak
Tidak Tidak Partial/ Emb Perl
Tidak Tidak Partial
Tinggi dan final (J2EE) Ya Ya
26Web Programing
Chapter V - Aplikasi Web
Adapun contoh program web yaitu : Contoh JSP Tanggal dan
Waktu
Hasil tampilan pada browser adalah :
Gambar 5. Tampilan program pada JSP menampilkan Tanggal dan
Waktu
B.2. Komponen-komponen JSP Page 2.1. JSP Directives JSP
Directives digunakan untuk meneruskan perintah-perintah kepada JSP
engine. Directives ini meliputi: a. Direktif Page digunakan untuk
mendefinisikan atribut yang penting bagi keseluruhan kode dalam
halaman tersebut, misalnya mendefinisikan bahasa pemrograman yang
digunakan atau melakukan import Contoh pengguanan: . 27Web
Programing
Chapter V - Aplikasi Web
b. Directif include digunakan untuk menyisipkan isi dari file
lain dalam file JSP. Contoh: . c. Direktif taglib digunakan untuk
penggunaan tag library atau tag tambahan. Contoh penggunaan : .
2.2. JSP Tag / JSP Action Dalam JSP telah didefinisikan tag-tag
khusus dengan fungsi- fungsi tertentu, tag-tag tersebut adalah : a.
Tag ini digunakan untuk mengasosiasikan JavaBean dalam JSP,
sehingga kita dapat menggunakan objek yang terdapat dalam JavaBean
untuk diaplikasikan dalam kode JSP. Contoh penggunaan :
b. Tag ini digunakan untuk melengkapi penggunaan tag Contoh
penggunaan :
28Web Programing
Chapter V - Aplikasi Web
c. Tag ini digunakan untuk mendapatkan nilai properti dari bean
dan merupakan pelengkap dari tag . Contoh penggunaan :
d. Tag ini digunakan untuk mengikutsertakan file lain dalam JSP
saat request dilakukan Contoh penggunaan :
e. Tag ini digunakan untuk menghasilkan kode-kode yang sesuai
target browseer dalam menyisipkan Java Bean atau Applet secara
otomatis
f. Tag ini digunakan untuk melengkapi tag , maupun
Contoh penggunaan bersamaan dengan :
Browser Anda tidak dapat menampikan applet ini
29Web Programing
Chapter V - Aplikasi Web
g. Tag ini digunakan untuk memforward ke file JSP, Servlet atau
file statik lain. Contoh penggunaan :
2.3. Scripting Element a. Tag digunakan untuk deklarasi,
ekspresi, dan kode lain Contoh : mysql\bin\mysqld atau :
c\>apache\mysql\bin>mysql
Pertama-tama dalam MySQL perlu diset permission untuk user dan
password dengan cara : c\>mysqladmin user=root
password=your_password shutdown
Selain dengan cara maunual, versi MySQL for Windows 1.3 memiliki
program bawaan berupa file winmysqladmin.exe yang dapat dijalankan
sehingga memudahkan dalam melakukan start maupun shutdown MySQL
Server, seperti terlihat pada gambar berikut :
Gambar 10. Software Winmysqladmin for Windows
C.1. Session Dalam JSP Session merupakan fasilitas yang penting
dalam pembuatan aplikasi pemrograman web terutama JSP, dimana
penggunaan session berfungsi untuk autentikasi dan pengamanan alamt
URL atau sistem login. Pengguna yang telah login akan memiliki
variabel yang tersimpan dalam session yang dapat dikenali oleh
program sehingga dapat mendeteksi apakah pengunjung telah
login.
41Web Programing
Chapter V - Aplikasi Web
Untuk memehami session dengan baik, perlu mengetahui penerapan
secara nyata dalam aplikasi web, misalnya untuk menangani
login/autentikasi. Untuk memberilan session pada program login
dengan memasukkan skrip sebagai berikut :
Contoh program : login.html E-leraning User Login untuk
E-Leraning SELAMAT DI SITUS E-LEARNING UNIVERSITAS ISLAM NEGERI
SYARIF HIDAYATULLAH JAKARTA WEB SITE :
http://www.uinjkt.ac.id.
Nama Password
http://www.uinjkt.ac.id
Universitas Islam Negeri Syarif Hidayatullah Jakarta
Jln. Ir.H.Juanda No.95 Ciputat Jakarta
Telp & Fax (021) 7493606
42Web Programing
Chapter V - Aplikasi Web
Gambar 11. Hasil Tampilan program login.html login.jsp
E-Learning
menu.jsp E-Learning Selamat datang di Sistem On-Line, anda telah
berhasil login SILAHKAN MEMILIH MENU DIBAWAH INI :
43Web Programing
Chapter V - Aplikasi Web
Product by nanang 2005
Tampilan Login :
Gambar 12. Tampilan Menu setelah hasil login
44Web Programing
Chapter V - Aplikasi Web
Tampilan Login Gagal :
Gambar 13. Tampilan Login Gagal
logout.jsp e-learning Log out berhasil! Kembali ke Menu Utama
Untuk dapat koneksi dari web browser ke database MySQL, kita harus
buat kode Java sebagai kompailer dengan nama LoginUser.java ke
database Pengguna.
LoginUser.javapackage login; import java.sql.*; import
java.lang.String.*; public class LoginUser { private boolean valid;
private String vusername, vpassword;
45Web Programing
Chapter V - Aplikasi Webpublic LoginUser() { logout(); } public
void setUsername(String username) { this.vusername = username; }
public void setPassword(String password) { this.vpassword =
password; } public String getUsername() { return vusername; }
public boolean getValid() { Connection conn = null; Statement stmt
= null; ResultSet rs = null; try {
Class.forName("org.gjt.mm.mysql.Driver"); } catch
(ClassNotFoundException cnfe) { Sy stem.err.println(cnfe); } catch
(Exception E) { E.printStackTrace(); } try { conn =
DriverManager.getConnection("jdbc:mysql://localhost:3306/pengguna","","");
stmt = conn.createStatement(); rs = stmt.executeQuery("SELECT
COUNT(*) FROM user WHERE username = \""+vusername+"\" AND password
= PASSWORD(\""+vpassword+"\")"); rs.next(); if
(rs.getInt("COUNT(*)") == 1) valid = true; else valid = false;
stmt.close(); conn.close(); } catch(SQLException sqle) {
System.err.println("SQLException : " + sqle.getMessage()); } return
valid; } public void logout() { valid = false; vusername = null;
vpassword = null; } }
46Web Programing