Transcript PBW-22 - yesinovia
Pengembangan Aplikasi Berbasis Web
Pertemuan 12
JSP (2)
Outline
Pendahuluan Scriplet, deklarasi & Ekspresi Direktive Variabel, operator & kontrol flow Transaksi Parameter
Pendahuluan
Java Server Pages (JSP) adalah bahasa scripting untuk web programming yang bersifat dan ASP. server side seperti halnya PHP JSP dapat berupa gabungan antara baris HTML dan fungsi fungsi dari JSP itu sendiri. Pada saat user membuat pertama kali atau melakukan modifikasi halaman dan mengeksekusinya pada web browser akan memakan sedikit waktu sebelum ditampilkan.
Sebagai gambaran bagaimana JSP melalui masa hidupnya bisa dilihat pada gambar berikut :
Pendahuluan
Seperti tipe aplikasi java lainnya (Servlet, Applet, Midlet dll), JSP juga bertipe dideklarasikan Strong Type terlebih dahulu.
artinya penggunaan variable pada halaman tersebut harus
Sriplet, deklarasi dan Ekspresi
Seperti halnya ASP dan PHP, skrip JSP terintegrasi dengan kode-kode HTML. Untuk itu diperlukan pembatas awal dan akhir dimana elemen JSP diletakkan. Pembatas yang digunakan adalah tanda berikut ini: <% // element JSP %> Pada JSP dikenal istilah berikut ini : Scriplet , berisi statement-statement yang merupakan logika dari suatu proses.
Deklarasi , gunanya untuk mendeklarasikan variabel atau method.
Ekspresi , berguna untuk menampilkan nilai dari suatu variabel atau method.
Scriplet, deklarasi dan Ekspresi
Scriplet
Pembatas yang digunakan pada scriplet adalah :
<% // statement %>
Sebagai contoh :
<% out.println("Hello World...Hello JSP
"); %>
Contoh lain :
<% for (int i=1; i<=5; i++) { %> Hello World....Hello JSP
<% } %>
Scriplet, deklarasi dan Ekspresi
Deklarasi
Seperti yang telah disebutkan di atas, deklarasi berguna untuk mendeklarasikan atau inisialisai suatu variabel, selain untuk mendeklarasikan suatu method. Untuk deklarasi digunakan pembatas sebagai berikut :
<%! // variabel // method %> <%!
private int PENCACAH = 1; %>
<% out.println("Halaman ini telah "+PENCACAH+" kali dikunjungi"); PENCACAH++; %>
Sriplet, deklarasi dan Ekspresi
Deklarasi fungsi <%!
public int fungsiTambah(int bilangan1, int bilangan2) { int jumlah = 0; jumlah = bilangan1 + bilangan2; return jumlah; } %>
<% int nilaiJumlah; int bil1 = 3; int bil2 = 9; nilaiJumlah = fungsiTambah(4, 6); out.println("Jumlah 4 + 6 : "+nilaiJumlah); %>
<% nilaiJumlah = fungsiTambah(bil1, bil2); out.println("Jumlah "+bil1+" + "+bil2+" adalah "+nilaiJumlah); %>
Sriplet, deklarasi dan Ekspresi
Ekspresi
Pembatas yang digunakan pada suatu ekspresi adalah : <%= %> Contoh pemakaiannya untuk menampilkan nilai suatu variabel adalah sebagai berikut :
<%! public int fungsiTambah(int bilangan1, int bilangan2){ int jumlah = 0; jumlah = bilangan1 + bilangan2; return jumlah; } %>
<% int bil1 = 3; int bil2 = 8; out.println("Jumlah "+bil1+" + "+bil2+" adalah "); %> <%= fungsiTambah(bil1, bil2) %>
Direktive
Directive adalah media yang digunakan JSP untuk mengirimkan “pesan” ke JSP container.
Directive berguna untuk melakukan setting nilai global seperti deklarasi class atau method.
Setting yang dilakukan oleh directive berlaku pada seluruh halaman (hanya halaman itu saja).
Sebagai gambaran, pada source code Java sering kita lihat baris berikut : import java.io.*; import java.sql.*; Pada halaman JSP, programmer masih bisa melakukan hal tersebut tapi tentu saja dengan cara yang berbeda ...
Cara tersebut directive.
Direktive
Sintaks Directive
Secara umum sintaks directive adalah sebagai berikut : <%@ nama_directive atribut1=”nilai1” atribut2=”nilai2” . . . %>
Jenis Directive
Directive pada JSP terdiri atas yang berbeda-beda. Berikut adalah ketiga jenis directive tersebut : page directive include directive taglib directive 3 jenis tentu saja dengan fungsi
Direktive
Page Directive
Directive ini berfungsi untuk mendefinisikan atribut-atribut yang akan berlaku pada halaman tersebut . Sebagai contoh dengan menggunakan directive ini suatu halaman bisa diberikan informasi mengenai apa, meng-import package-package yang akan digunakan, menyatakan halaman tersebut terlibat dalam HTTP session, mendefinisikan URL yang akan ditampilkan apabila terjadi error pada halaman JSP tersebut dan lain-lain. Pada sebuah halaman JSP dapat berisi atas directive.
banyak Tanda yang digunakan untuk directive ini adalah : <%@ page atribut1 atribut2 . . . %> page
Direktive
Atribut untuk tipe directive ini secara lengkap dapat dilihat pada contoh berikut :
<%@ page language=”java” import=”java.sql.*, java.io.*, java.util.*” session=”true” buffer=”24kb” autoFlush=”true” info=”Contoh penggunaan Directive” errorPage=”error.jsp” isErrorPage=”false” isTreadSafe=”false” %>
Direktive
Include Directive
Directive ini berfungsi untuk menyisipkan isi dari suatu file dengan tipe teks pada suatu halaman JSP. Sintaks yang digunakan oleh directive ini adalah : <%@ include file="/namafile_yang_akan_disisipkan" %> Bisa dilihat pada directive ini mempunyai satu atribut yaitu file . URL dari file yang akandisisipkan harus diawali dengan tanda "/". Apabila yang akan disisipkan adalah file header.html maka penulisannya adalah : <%@ include file="/header.html" %> Sedangkan apabila file header.html berada dalam direktori " html-file " maka penulisannya menjadi sebagai berikut : <%@ include file="/html-file/header.html" %>
Direktive
Taglib Directive
Directive ini berfungsi untuk penggunaan tag-tag yang
dibuat sendiri oleh user
pada halaman JSP. Tag-tag tersebut biasanya disimpan dalam “tag library” dalam bentuk file yang dikompres (ZIP atau JAR).
Dalam file yang dikompres tersebut
terdapat class-class
dalam suatu paket.
Dan untuk memanggil atau mengoperasikan method atau properti dalam class tersebut digunakan directive ini.
Sintaks dari directive ini adalah :
<%@ taglib uri=”tag_library_URI” prefix=”tag_prefix” %>
Atribut uri (Uniform Resource Identifier) berfungsi sebagai “tag library descriptor”. berfungsi sebagai ID yang akan mempermudah “JSP Compiler” menentukan tag-tag dari Dan atribut prefix “external library”. Tag-tag yang telah dikenali oleh “JSP Compiler” adalah jsp , jspx , java , javax , servlet dan sunw .
Berikut adalah contoh tag dari “external library” :
<%@ taglib uri="http://jakarta.apache.org/taglibs/application-1.0" prefix="app" %>
Variabel, operator & kontrol flow
Pada bagian ini akan diberikan contoh contoh pemanfaatan scriptlet dan ekspresi sambil mengenal aturan penulisan dan penggunaan variabel, operator dan control flow. Tentunya aturan penulisan ini pemrograman Java.
tidak berbeda dengan aturan pada bahasa
Variabel, operator & kontrol flow
Variabel
Apabila anda sudah terbiasa dengan bahasa PHP sebagai skrip untuk membangun aplikasi berbasis web, maka pasti sudah terbiasa juga menggunakan suatu variabel tanpa proses deklarasi terlebih dahulu. variable tersebut.
Pada JSP, seperti juga Java bersifat strong type
, artinya apabila ingin menggunakan suatu variabel maka harus melalui proses mendeklarasian tipe dari
Variabel, operator & kontrol flow
0005_jsp_03.jsp
<% // Deklarasi variabel String nama; char gol_darah; int berat; float tinggi; Str String[] pekerjaan = new String[2]; nama = "Chocolove"; gol_darah = 'A'; berat = 70; tinggi = (float)175.5; pekerjaan[0] = "Penulis Lepas"; pekerjaan[1] = "Web Developer"; out.println("Nama : "+nama+"
"); out.println("Goloangan darah : "+gol_darah+"
"); out.println("Berat : "+berat+"
"); out.println("Tinggi : "+tinggi+"
"); out.println("Pekerjaan 1 : "+pekerjaan[0]+"
"); out.println("Pekerjaan 2 : "+pekerjaan[1]+"
"); %>
Variabel, operator & kontrol flow
Operator
Pada setiap bahasa pemrograman tentu mengenal adanya operator, yang biasanya digunakan untuk melakukan operasi terhadap suatu variabel atau konstanta.
Contoh operator adalah operator matematik seperti tambah, kurang, bagi dan kali. Selain itu ada operator relasional, kondisional, dll
. Pada bagian ini tidak akan dibahas seluruhnya.
Variabel, operator & kontrol flow
0005_jsp_04.jsp
<% String kalimat_1 = "Kalimat 1"; String kalimat_2 = "Kalimat 2"; String kalimat_3 = ""; int bil_1 = 2003; int bil_2 = 1997; int bil_3 = 0; float bil_4 = 0; kalimat_3 = kalimat_1 + kalimat_2; out.println(kalimat_3); out.println("
"); bil_3 = bil_1 + bil_2; out.println(bil_1+" + "+bil_2+" = "+bil_3+"
"); bil_3 = bil_1 - bil_2; out.println(bil_1+" - "+bil_2+" = "+bil_3+"
"); bil_3 = bil_1 * bil_2; out.println(bil_1+" x "+bil_2+" = "+bil_3+"
"); bil_4 = bil_1 / bil_2; out.println(bil_1+" : "+bil_2+" = "+bil_4+"
"); %>
Variabel, operator & kontrol flow
Control Flow
Control flow terdiri atas
operasi pengulangan dan operasi kondisional
.
Operasi Pengulangan
Untuk operasi pengulangan terdapat tiga sintaks yang biasa digunakan, yaitu : 1. While 2. Do- While 3. For
Variabel, operator & kontrol flow
0005_jsp_05.jsp
<% int i; i = 1; while (i <= 5) { out.println(" |
<% int j; j = 5; while (j >= 1){ %> Kalimat ke-<%= j%> <% j--; } %> |
Variabel, operator & kontrol flow
0005_jsp_06.jsp
<% int i; i = 6; do { out.println(" |
<% int j; j = 0; do { %> Kalimat ke- <%= j %> <br> <% j--; } while (j >= 1); %> |
Variabel, operator & kontrol flow
0005_jsp_07.jsp
<%= i %> <% } %> |
Variabel, operator & kontrol flow Operasi Kondisional
Untuk operasi kondisional terdapat dua sintaks yang biasa digunakan, yaitu :
If-Else Switch-Case
Variabel, operator & kontrol flow
0005_jsp_08.jsp
<% int bil_1 = 13; int bil_2 = 97; String kata_1 = "Chocolove"; String kata_2 = "Mic"; char karakter_1 = 'A'; %>
Operasi Bilangan :
= = = = = = = = = = = = = =
Bilangan 1 =
<%= bil_1 %>
Bilangan 2 =
<%= bil_2 %> <%
if (bil_1 > bil_1) { out.println(bil_1+" > "+bil_2+"
"); } else { out.println(bil_1+" < "+bil_2+"
"); } if (bil_1 == 13) { out.println("Bilangan 1 = 13
"); } if (bil_2 != 90) { out.println("Bilangan 2 tidak sama dengan 90
"); } %>
Variabel, operator & kontrol flow
Operasi String dan Karakter :
======================
Karakter 1 :
<%= karakter_1 %>
Kata 1 :
<%= kata_1 %>
Kata 2 :
<%= kata_2 %>
<% if (karakter_1 == 'A' || karakter_1 == 'a') { out.println("Karakter 1 adalah A
"); } else { out.println("Karakter 1 bukan A
"); } if (kata_1.equals("Chocolove")) { out.println("Kata 1 adalah "+kata_1+"
"); } if (kata_2 == "Mic") { out.println("Kata 2 adalah "+kata_2+"
"); } if (kata_1.equals(kata_2)) { out.println(kata_1+" sama dengan "+kata_2); } else { out.println(kata_1+" tidak sama dengan "+kata_2); } %>
Variabel, operator & kontrol flow
0005_jsp_09.jsp
<% char inisial = 'M'; String nama = null; switch(inisial) { case 'A' : nama = "Agung";break; case 'E' : nama = "Eko";break; case 'F' : nama = "Fikri";break; case 'M' : nama = "Millati";break; case 'S' : nama = "Syarif";break; case 'T' : nama = "Toosa";break; case 'Y' : nama = "Yudo";break; default : nama = "Tak dikenal"; } %>
Nama untuk inisial
<%= inisial %>
adalah
<%= nama %>
Transaksi Parameter
Pada aplikasi berbasis web transaksi parameter sangat sering ditemui . Sebagai contoh pada aplikasi web sering ditemui form yang didalamnya terdapat kolom masukan, radio button,checkbox,dll . Kemudian nilai-nilai tersebut di-submit ke halaman lain atau halaman itu sendiri. Nama dari kolom masukkan, radio button dan checkbox tersebut disebut parameter sedangkan nilainya adalah apa yang kita masukkan kedalamnya. Selain form, transaksi parameter dapat dilakukan dengan menggunakan link, seperti link berikut ini :
http://localhost:8080/login.jsp?user=”budi”
Pada contoh di atas nama parameter = user dengan value = budi
Transaksi Parameter
Metode Pengiriman Parameter :
Method getParameter(namaParameter) Method getParameterValues(namaParameter)
Transaksi Parameter
parameter01.jsp
<% String paramNama = null; String paramBil1 = null; String paramBil2 = null; paramNama = request.getParameter("paramNama"); paramBil1 = request.getParameter("paramBil1"); paramBil2 = request.getParameter("paramBil2"); %>
Transaksi Parameter
parameter02.jsp
<% String paramNama = paramNama = request.getParameter("paramNama"); String[] paramOrtu = paramOrtu = request.getParameterValues("paramOrtu"); String[] paramHobby = paramHobby = request.getParameterValues("paramHobby"); %>
Transaksi Parameter dengan Standard Action
parameter04.jsp
<%@page contentType="text/html"%>
Untuk menangkap nilai parameter yang dikirimkan dengan cara di atas tidak berbeda dengan cara sebelumnya. Yaitu sebagai berikut :
parameter05.jsp
<%@page contentType="text/html"%>
<% String varUser = request.getParameter(“user"); String varPassword = request.getParameter(“password"); out.println("Nama : "+varUser+"
"); out.println("Email : "+varPassword+"
"); %>