PBW-22 - yesinovia

Download Report

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 : JSP

<% out.println("

Hello World...Hello JSP

"); %>

Contoh lain : Hello World...Hello JSP

<% 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; %>

Hello World...Hello JSP

<% 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; } %>

Hello World...Hello JSP

<% 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; } %>

JSP

<% 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" %>

Isi Atribut Pada contoh di atas, secara default tidak dapat dijalankan dan akan menampilkan pesan error. Karena “tag library” ini belum diinstall pada sistem.

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

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

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

JSP

<% int i; i = 1; while (i <= 5) { out.println("Heading "+i+"
"); i++; } %>

<% int j; j = 5; while (j >= 1){ %>

Kalimat ke-<%= j%>

<% j--; } %>

Variabel, operator & kontrol flow

                                 

0005_jsp_06.jsp

JSP

<% int i; i = 6; do { out.println("Heading "+i+"
"); i++; } while (i <= 5); %>

<% int j; j = 0; do { %>

Kalimat ke-

<%= j %>

<br>

<% j--; } while (j >= 1); %>

Variabel, operator & kontrol flow

                 

0005_jsp_07.jsp

JSP

<% for (int i=1; i<=10; i++) { %>

<%= 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

JSP Control Flow : if-then

<% 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

JSP Control Flow : switch-case

<% 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"); %>

JSP Page

Transaksi Parameter

                  

<% if (paramNama != null && paramBil1 != null && paramBil2 != null) { %> <% } %>
Nama
Bilangan 1
Bilangan 2
 
 
Nilai-nilai parameter :
Nama = <%= paramNama %> Hasil yang salah =
Bilangan 1 = <%= paramBil1 %> Bilangan 2 = <%= paramBil2 %>

<%= paramBil1+paramBil2 %>
Hasil yang benar = <%= Integer.parseInt(paramBil1)+Integer.parseInt(paramBil2) %>

Transaksi Parameter

                          

Transaksi Parameter

                   

parameter02.jsp

<% String paramNama = paramNama = request.getParameter("paramNama"); String[] paramOrtu = paramOrtu = request.getParameterValues("paramOrtu"); String[] paramHobby = paramHobby = request.getParameterValues("paramHobby"); %>

JSP Page

Transaksi Parameter

                                

Transaksi Parameter

                

Nama
Nama orang tua  
Nama ayah :
Nama ibu :
 
Hobby Membaca
Menulis
Nonton
 
 
 
Hasil :
Nama : <%= paramNama %> Nama orang tua :

<% for (int i=0; i<=1; i++) { %>


<%= i+1 %> <%= paramOrtu[i] %> <% } %>

Hobby :

<% for (int i=0; i<=2; i++) { %>


<%= i+1 %> <%= paramHobby[i] %>


<% } %>

Transaksi Parameter dengan Standard Action

                     

parameter04.jsp

<%@page contentType="text/html"%> JSP Page

Untuk menangkap nilai parameter yang dikirimkan dengan cara di atas tidak berbeda dengan cara sebelumnya. Yaitu sebagai berikut :

parameter05.jsp

<%@page contentType="text/html"%> JSP Page

<% String varUser = request.getParameter(“user"); String varPassword = request.getParameter(“password"); out.println("Nama : "+varUser+"
"); out.println("Email : "+varPassword+"
"); %>

SELESAI …