BAB V : KESIMPULAN DAN SARAN
2.5. Aplikasi Web
Aplikasi web adalah suatu aplikasi yang dapat membentuk halaman-halaman web berdasarkan permintaan pemakai. Aplikasi web merupakan salah satu contoh aplikasi klien/server. Klien mewakili computer yang digunakan oleh seorang pemakai yang henadak menggunakan aplikasi, sedangkan server mewakili computer yang menyediakan layanan aplikasi. Dalam konteks ini, klien dan server berhubungan dengan internet maupun intranet .
Ciri khas lain pada penggunaan aplikasi web, pamakai menggunakan perangkat lunak yang dinamakan web browser atau sering disebut browser saja (misalnya Netscape Communicator, Internet Explorer, dan Mozilla) untuk mengakses aplikasi web.
Komputer yang bertindak sebagai server umunya amenyediakan database
server, selain web server yang ditujukan untuk melayani permintaan pemakai
2.6. Servlet
Sebuah servlet berfungsi untuk memperluas fungsionalitas sebuah server (server web, server aplikasi, server HTTP). Servlet adalah program java yang diintegrasikan di dalam web server untuk melakukan fungsi-fungsi server side. Fungsi server side ini dijalankan untuk menanggapi permintaan dari client (berupa web browser).
2.6.1. JSP (Java Server Pages)
JSP merupakan perluasan dari teknologi servlet. Tujuan dari JSP adalah untuk lebih menyederhanakan penulisan servlet. JSP sendiri pada akhirnya, sebelum dijalankan oleh server, akan dikompilasi terlebih dahulu menjadi servlet, meskipun proses ini tidak akan terlihat oleh kita. JSP dan servlet dapat dipakai bersama-sama dalam sebuah aplikasi web.
JSP lebih menitikberatkan pada aspek prsentasi ketimbang aspek aplikasi. Untuk JSP, kode java dan HTML digabungkan dalam satu file, yaitu file yang memeiliki ekstensi “.jsp”. dalam JSP layer presentasi boleh dikatakan terpisah dari logika aplikasi atau logika bisnis. (Kadir, 2004)
JSP menyediakan sejumlah objek yang dikenal dengan sebutan objek
implicit atau kadang disebut objek terdefinisi. Objek implicit yang ada dalam JSP dijelaskan dalam tabel 2.7 berikut:
Tabel 2. 6 daftar variable terdefinisi dalam JSP
Objek Keterangan
request Variable ini berhubungan dengan objek permintaan HTTP(HTTPSevletRequest). Valiabel ini memungkinkan pengaksesan seperti parameter-parameter permintaan, tipe permintaan (GET atau POST), dan judul HTTP.
response Variable ini berhubungan dengan objek tanggapan terhadap klien (HTTPServletRespons). Antara lain dapat digunakan untuk menciptakan cookie.
out Variable ini digunakan untuk mengirimkan keluaran ke klien (merujuk ke objek Printer writer, yang terdapat di pada paket javax.servlet.jsp.JspWriter). variable ini sudah biasa digunakan, dalam bentuk out.println() atau out.print().
session Variable ini digunakan untuk menangani sesi. Merupakan variable yang merujuk ke objek HTTPSession.
application Servlet context
config Merupakan variable yang merujuk ke objek SevletConfig untuk halaman sekarang
pageContext Menyimpan informasi tentang objek halaman sekarang PageContext. page Perupakan sinonim dari this. Menyatakan halaman JSP.
Pada prinsipnya pemakaian JSP mirip seperti pemakaian servlet. Secara garis besar JSP dipakai sebagai berikut:
1. Client mengirimkan request HTTP kepada JSP-container (atau
disebut juga JSP engine).
2. JSP-container menentukan class yang mengimplementasikan
halaman JSP, yang dituju oleh request. (Class ini disebut JSP page implementation class).
3. JSP-container kemudian memanggil salah satu method dari class
implementasi tersebut untuk menangani request secara dinamis dan menghasilkan response yang berupa content halaman HTML.
output halaman HTML diserahkan kepada JSP-container untuk dikirimkan
sebagai response kepada client. (Wijono,2006)
Garis besar arsitektur pemakaian JSP dijelaskan dalam gambar 2.2 berikut.
Database Web-browser (client) Web-browser HTTP-request HTTP-response JSP page implementasi class JSP JavaBeans HTTP request HTTP respons JDBC. EJB (..) JSP-container
Kode JSP pada dasarnya adalah kode HTML yang dilengkapi dengan tag-tag JSP. Pada tag-tag-tag-tag inilah program menyisipkan kode dalam bahasa java.
Contoh kode JSP: <HTML> <HEAD> <TITLE>latihan HTML</TITLE> </HEAD> <BODY> <% Out.print(“Selamat Belanjar JSP”); %> </BODY> </HTML>
Beberapa method yang ada pada variable request yang diwariskan dari servlet disebutkan dalam tabel 2.8 berikut.
Tabel 2. 7 Metode pada variable request yang diwariskan dari ServletRequest
Metode Keterangan getParameter(String
nama)
Memperoleh nilai parameter nama dnegan hasil bertipe string. Kalau parameter nama tidak tersedia, maka hasilnya berupa null. getParameterNames() Menghasilkan suatu enumeration yang berisi nama-nama
parameter yang terdapat dalam permintaan
getRemoteAddr() Mengsilkan suatu String yang menyatakan alamat IP klien yang mengirimkan permintaan.
Contoh penggunaan variable response unutk melakukan pengalihan ke URL yang lain disajikan dalam listing berikut
Nama file Redirect.jsp
<%
response.sendDirenct(“Request.jsp“); %>
Sintaks tersebut akan membuat dokumen Request.jsp dijalankan, menggantikan Redirect.jsp.
Statement untuk menciptakan session:
session=request.getSession(true);
Statement untuk membentuk sesi:
setAtribut(String name, object nilai);
Statement untuk membaca data sesi:
getAtribut(String name);
statement untuk menghapus data sesi:
session.removeAttribut(String name);
(Kadir, 2004) 2.7. JDBC
JDBC merupakan bagian teknologi java, tepatnya bagian dari teknologi J2EE yang ditujukan untuk pengolahan database sehingga JDBC sering disebut java API untuk akses data.
Ada tiga macam statement dalam JDBC, yaitu:
1 Statement: Tipe statement untuk menjalankan perintah SQL biasa ke database. Tipe statement ini tidak dapat menerima parameter tetapi hanya menggunakan static SQL
2 PreparedStatement: Tipe statement ini untuk menjalankan perintah SQL yang telah terkompilasi, baik dengan atau tanpa input parameter. Tipe ini lebih cepat daripada statement biasa yang menggunakan perintah SQL yang secara berulang-ulang.
3 CallableStatement: Tipe statement ini untuk menjalanjan store procedure. (Rickyanto, 2004)
Pada dasarnya pemrograman database akan melibatkan unsur-unsur berikut:
1 Loading dan setting driver JDBC (class DriverManager). 2 Mendirikan koneksi database (interface Connection). 3 Membuat objek SQL-statement (interface statement). 4 Mengeksekusi SQL-statement
5 Menerima resultset sebagai data hasil eksekusi SQL-statement (Interface ResulSet).
6 Menampilkan data result-set (dalam pemrograman web, data akan ditampilkan dalam halaman web yang akan dikirimkan kepada client). Class java.sql.DriverManager dipakai untuk loading dan mengatur JDBC serta untuk mendirikan koneksi ke database. Ketika DriverManager membentuk koneksi dengan memakai method getConnection(), method ini akan mengemballikan objek connection.
Interface java.sql.Statement dipakai untuk menangani dan mengeksekusi
SQL-statement. Objek statement dapat dibuat dari objek Connection dengan
memekai method Connection.createStatement().
Resultset merupakan data tabel yang ada di dalam database. Jika kita menginginkan SQL-statement tertentu (perintah SELECT) ke database maka hasilnya berupa resultset, yaitu baris-baris data hasil query. Interface java.sql.ResulSet mengontrol letak kursor yang menunjukkan baris (record) yang sedang aktif di dalam tabel database.
JDBC dapat menggunakan arsitektur three-tier. Model three-tier untuk JDBC dapat dijabarkan sebagai berikut:
a. Client tier
Client tier bertanggung jawab untuk representasi data, menerima input dari pengguna maupun event, dan mengontrol serta mengatur user interface. b. Middle tier (Application—server tier)
Tier ini bertanggung jawab untuk implementasi ke client tier aturan bisnis (business rules) yang tersedia. Aturan bisnis ini menciptakan objek bisnis
(business object). Contohnya adalah IBM WebSphere, BEA WebLogic
Server, dan Oracle Application. c. Data-server tier
Tier ini bertanggung jawab untuk penyimpanan data dan mengatur
ketersediaan aplikasi data. Biasanya data-server tier ini terdiri atas dari satu atau lebih server database relasional (misalnya Oracle atau MySQL) dan biasanya terdiri atas:
i. Tabel/view/trigger database
Digunakan secara utama untuk menyimpan data
ii. Stored Procedure
Digunakan untuk mengeksekusi database pada server-side. iii. File server
Digunakan untuk menyimpan file-file berukuran sangat besar, misalnya gambar, file PDF, dan teks.
digambarkan oleh Parsian (2005) seperti pada gambar 2.3 berikut :
Gambar 2. 3 Tree tier JDBC pada aplikasi internet