This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

Minggu, 28 Juni 2015

Pertemuan 12 - JSTL (JSP Standard Tag Library)


 
JSTL adalah singkatan dari Java Standard Tag Library. JSTL merupakan library untuk JSP yang berisi tag-tag standard. JSTL merupakan halaman java yang berada dalam HTML (Java in HTML). Tag pada JSTL :
<%..........%> atau
<%=………….%>

Pada MVC, JSP merupakan View, yang mengurusi segala tampilan web, dilakukan dengan memisahkan antara tampilan kode HTML dan kode Java. Pada JSTL tidak perlu ada pengulangan atau kondisi looping.
JSTL dapat digunakan apabila dideklarasikan seperti dibawah ini pada bagian file JSP :
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

Tujuan dari JSTL yaitu :
-            Mempermudah dalam perancangan halaman JSP
-            Memisahkan halaman kode html dan kode Java pada JSP

Jenis-jenis Tag Pada JSTL :

1.       Core (http://java.sun.com/jsp/jstl/core, prefix c)
Merupakan bagian inti, terdapat pada bagian perulangan seperti : If, Else, dan Switch Case ataupun iterasi dan kondisi.  Tag core menyediakan fungsi yang sangat berguna untuk setiap proyek web. Set core dapat dibagi menjadi sub kategori sebagai berikut:

- General Purpose Tags
<c:set>
Tag ini dapat mengatur variabel di dalam scope tertentu (untuk set value). Dan memiliki atribut:
1.        Value : nilai yang akan diatur ke dalam terget bean.
2.        Var : nama dari sebuah variabel yang akan di atur di dalam scope tertentu
3.        Scope: menjelaskan variabel scope yang dijelaskan oleh atribut var.

<c:out>
Tag ini digunakan untuk menampilkan atau melakukan pemanggilan hasil secara langsung kepada obyek yang sesuai dengan halaman output. Dengan kata lain, tag ini akan menuliskan kata yang tertulis dalam atribut value dan dalam bentuk non-XML tags.

<c:remove>
Tag ini digunakan untuk menghapus variabel yang telah dibuat. Tag ini memiliki dua atribut :
-       Scope: scope variabel yang akan di hapus
-       Var: nama variabel yang akan di hapus dari scope tertentu
Contoh :

- Iteration
Merupakan tag untuk perulangan yang terdiri dari : <forEach> dan <forTokens>
<c:forEach>
Tag yang digunakan pada perulangan untuk variabel dan pemanggilan output yang berupa integer. Contoh :
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title><c:forEach> Tag Example</title>
</head> <body>
<c:forEach var="i" begin="1" end="5">Item<c:out value="${i}"/><p>
</c:forEach>
</body>
</html>
  
<c:forTokens>
Tag ini digunakan dengan memasukkan langsung calue yang ingin ditampilkan. Terdapat delims (pemisah) karakter string. Contoh :
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title><c:forTokens> Tag Example</title>
</head>
<body>
<c:forTokens items="Zara,nuha,roshy" delims="," var="name">
<c:out value="${name}"/><p>
</c:forTokens>
</body>
</html>

- Conditionals
Tag yang fungsinya sama dengan standar if, else-if, yang ditemukan dalam standar Java. Terdapat dua set kondisional :
-       Tag <c:if> dan
-       Tag <c:choose> yang berelasi dengan tag <c:when> serta <c:otherwise>

<c:if>
Dieksekusi apabila pernyataan didalam body bernilai True.

<c:choose>, <c:when>, dan <c:otherwise>
Meemiliki cara kerja yang sama dengan kondisi pemilihan Switch Case.

2.       XML processing (http://java.sun.com/jsp/jstl/xml, prefix x)
Memiliki kaitan dengan dokumen XML
3.       SQL (http://java.sun.com/jsp/jstl/sql, prefix sql)
Memiliki kaitan dengan database prefix, yang mana tag ini adalah default(settingan) aslinya dan tidak dapat diubah. Dan bertugas dalam pengolahan data pada database
4.       Functions (http://java.sun.com/jsp/jstl/functions, prefix fn)
Biasanya digunakan untuk manipulasi String.
5.       Formatting (http://java.sun.com/jsp/jstl/fmt)
Digunakan untuk internasionalisasi sehingga web yang dihasilkan dapat diakses dengan versi banyak bahasa

Tahap-Tahap Pembuatan JSP Dengan JSTL :
1.        Tambahkan library (file .jar) ke dalam package libraries. Dan bila tidak tersedia pada library, maka kunjungi website Oracle dan download filenya.
2.        Tambahkan file JSP
3.        Tambahkan tag-tag JSTL. Terutama tag :  
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Dan letakkan sebelum <html>. Kemudian tulis kode java setelah <body> dan sebelum </body>

Contoh Kode Program pada JSTL :
Untuk melakukan looping, kita bisa menggunakan tag foreach dalam paket core. Dan untuk memformat tanggal dan angka, kita menggunakan tag formatDate dan formatNumber dalam paket fmt
Contoh kode program :
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

<table>
    <tr>
        <th>No</th>
        <th>NPM</th>
        <th>Nama</th>
        <th>Tanggal Masuk</th>
        <th>IPK</th>
    </tr>

    <c:forEach var="mhs" items="${daftarMahasiswa}" varStatus="counter">
        <tr>
            <td><c:out value="${counter}" /></td>
            <td><c:out value="${mhs.npm}" /></td>
            <td><c:out value="${mhs.nama}" /></td>
            <td><fmt:formatDate value="${mhs.tanggalMasuk}" pattern="dd-MMM-yyyy"/></td>
            <td><fmt:formatNumber value="${mhs.ipk}" type="number" maxIntegerDigits="1"                         maxFractionDigits="2"/></td>
        </tr>
    </c:forEach>
</table>

Perbedaan JSTL dan Tag Bean Biasa :
Dengan Java Biasa:

Dengan JSTL :

Pada JSTL, tag yang digunakan lebih sedikit dibanding dengan java biasa. Pada JSTL hanya terdapat 1 baris tag pemrosesan looping, sedangkan pada java biasa terdapat 2 baris tag pemrosesan looping. 
 Jadi menggunakan JSTL lebih menghemat (memperpendek) penulisan koding, dibanding dengan java biasa.

Sabtu, 27 Juni 2015

Pertemuan 11 - Java Bean



JAVA BEAN

Java Bean merupakan format standar pada class java yang dapat digunakan untuk membangun program. Digunakan juga untuk perancangan desktop dan pemrograman web. Java bean bersifat Logic.  Pada MVC, Java Bean menduduki tingkatan Model, yang memiliki hak akses ke database.   
Java Bean memiliki atribut yaitu : id, scope, class, BeanName, Type.

Java Bean memiliki ciri-ciri yaitu :
1.        Memiliki constructor yang bersifat default (constructor kosong)
2.       Memiliki variabel dengan akses bukan public (bisa berupa protected, default, private) sebagai penyimpanan data
3.        Memiliki method bersifat Get dan Set (memberi dan mendapatkan)

Tag Standar Pada Java Bean :
        <jsp:usebean>
Digunakan untuk meng-instantiate (pembutan objek baru) Java Bean agar dapat digunakan pada halaman JSP.  Penggunaan bean ini merupakan salah satu cara untuk memisahkan antara Logic dan Presentation pada JSP.
Contoh : <jsp:useBean  id = "oPenilaian" scope = "session"  class = “Nilai.Penilaian"/>

        <jsp:setproperty>
Berfungsi untuk men-set nilai properties yang terdapat pada bean. Digunakan bersama dengan action tag <jsp:useBean>
Contoh : <jsp:setProperty name="oPenilaian" property="tglMul"      param="tglMul"/>

        <jsp:getproperty>
Berfungsi untuk mengambil nilai property pada Java Bean, dan kebalikan dari action tag <jsp:setProperty>,
Contoh :
<jsp:getProperty name=“beanName” property=“propertyName/>
<jsp:setProperty name=“oPenilaian” property=“tglMul”/>


Langkah-langkah pembuatan class Java Bean :
1.        Mendefinisikan variabel dalam bean yang akan kita buat.
Variabel tidak boleh bersifat public. Contohnya : private String nrp;
2.        Masing-masing variabel memiliki method get dan set.
Contoh : getNrp() dan setNrp()
Tipe boolean, gunakan method setXxx() untuk mengeset nilai boolean  dan isXxx yang mengembalikan nilai boolean
3.        Aturan pembuatan method yaitu :
public void set<namaVariabel>
public <tipe_variabel> get<namaVariabel>
public boolean is<namaVariabel>
4.        Tambahkan konstruktor kosong untuk inisialisasi

Pembuatan Instantiate Pada Java Bean :
Pembuatan objek telah ditentukan dan dimasukkan ke dalam variable dengan nama yang ditentukan id, sebagai contoh penulisannya pada Java bean :
<jsp:UseBean  id=aMhs  class =”MhsPCR.Mahasiswa”/>
Yang secara normal fungsinya sama dengan penulisan java biasa :
<% MhsPCR.Mahasiswa=new MhsPCR.Mahasiswa(); %>

Keterangan :
MhsPCR = nama package
Mahasiswa = nama class yang terdapat pada package MhsPCR
aMhs = nama objek baru

Deklarasi, contohnya : String nim;
Inisialisasi, contohnya : nim
Instantiate, contohnya : Mahasiswa aMhs = new Mahasiswa();

Mengambil Nilai Property Pada Java Bean :
Untuk membuat variable lokal dengan tipe yang sama sebagai object yang dibuat, dengan menggunakan sintax <jsp:getProperty>. Terdiri dari : name dan propery
Contoh : <jsp:getProperty name=”aMhs” propery=”title” />

Men-Set Nilai Property Pada Java Bean :
Menggunakan sintax <jsp:setProperty>. Yang terdiri dari : name, property dan valuenya.
Contoh pada java bean :
<jsp:setProperty name=”book1” propery=”title” value=”Core Web Programming”/>
Sama fungsinya dengan java biasa :
<%= book1.setTitle(“Core Web Programmming”) %>

Perbedaan koding Pada  Java Bean dan JSP

        Pada Java Bean :

public class StringBean {
private String message = "No message specified";
public String getMessage() {
return(message);
}
public void setMessage(String message) {
this.message = message;
}
}

        Pada JSP :

<HTML>
<HEAD>
         <TITLE>Using JavaBeans with JSP</TITLE>
</HEAD>
<BODY>
    <TABLE BORDER=5 ALIGN="CENTER">
    <TR><TH CLASS="TITLE"> Using JavaBeans with JSP
</TABLE>
<jsp:useBean id="stringBean"
class="coreservlets.StringBean"/>
<OL>
    <LI>Initial value (getProperty):
    <I><jsp:getProperty name="stringBean"
       property="message" /></I>
    <LI>Initial value (JSP expression):
    <I><%= stringBean.getMessage() %></I>
    <LI><jsp:setProperty name="stringBean"
        property="message" value="Best string bean: Fortex" />
Value after setting property with setProperty:
    <I><jsp:getProperty name="stringBean"
       property="message" /></I>
    <LI><% stringBean.setMessage("My favorite:
        Kentucky Wonder"); %>
Value after setting property with scriptlet:
    <I><%= stringBean.getMessage() %></I>
</OL>
</BODY>
</HTML>


      Pemakaian Method Set dan Get Pada Java Bean :

<HTML>
<HEAD><TITLE>Using jsp:setProperty</TITLE></HEAD>
<BODY>
<TABLE BORDER=5 ALIGN="CENTER">
<TR><TH CLASS="TITLE">
Using jsp:setProperty</TABLE>
<jsp:useBean id="entry"
class="coreservlets.SaleEntry" />
<jsp:setProperty name="entry" property="itemID"
 value='<%= request.getParameter("itemID") %>' />
<% int numItemsOrdered = 1;
try {
  numItemsOrdered =
  Integer.parseInt(request.getParameter("numItems"));
} catch(NumberFormatException nfe) {}
%>
<jsp:setProperty name="entry"
property="numItems"
value="<%= numItemsOrdered %>" />
<% double discountCode = 1.0;
try {
   String discountString =
   request.getParameter("discountCode");
 // Double.parseDouble not available in JDK 1.1
  discountCode = Double.valueOf(discountString).doubleValue();
} catch(NumberFormatException nfe) {}
 %>
<jsp:setProperty name="entry"
 property="discountCode"
 value="<%= discountCode %>" />
<BR>
<TABLE ALIGN="CENTER" BORDER=1>
<TR CLASS="COLORED">
<TH>Item ID<TH>Unit Price<TH>Number
Ordered<TH>Total Price
<TR ALIGN="RIGHT">
<TD><jsp:getProperty name="entry"
property="itemID" />
<TD>$<jsp:getProperty name="entry"
property="itemCost" />
<TD><jsp:getProperty name="entry"
property="numItems" />
<TD>$<jsp:getProperty name="entry"
property="totalCost" />
</TABLE>
</BODY>
</HTML>