MODUL PRAKTIKUM
PEMROGRAMAN INTERNET (Java Server Pages)
Oleh Team Laboratorium
JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS DR.SOETOMO SURABAYA 2005
Modul Praktikum Pemrogr aman Internet
2
Tata Tertib Praktikum Laboratorium Teknik Informatika Fakultas Teknik Universitas Dr. Soetomo Surabaya PEMAKAIAN LABORATORIUM
1. Yang diperbolehkan menggunakan fasilitas Laboratorium adalah Mahasiswa Teknik Informatika Fakultas Teknik Universitas Dr. Soetomo Surabaya yang terdaftarpada BAAK dan aktif paling tidak pada ta hun akademik yang sedang berlangsung. 2. Laboratorium Teknik Informatika hanya dapat digunakan pada jam kerja yang telah ditentukan . Di luar jam tersebut, pemkaian Laboratorium harus seijin pejabat yang berwenang. 3. Peralatan dan semua fasilitas Laboratorium tidak diperbolehkan dipindah tempatkan, kecuali atas seijin pejabat yang berwenang. 4. Mahasiswa yang sedang menggunakan laboratorium dilarang membawa keluar fasilitas tanpa ijin pejabat yang berwenang 5. Mahasiswa dilarang membawa teman/Mahasiswa luar kedalam Laboratorium tanpa ijin pimpinan/penanggung jawab Laboratorium. KEWAJIBAN PRAKTIKAN
1. Hadir selambat-lambatnya 10 menit sebelum praktikum dimulai. 2. Hadir untuk seluruh acara praktikum agar dapat memenuhi keutuhan absensi sebagai persyaratan kelulusan. 3. Mengikuti test/ujian/quiz praktikum yang dilakukan oleh asisten yang bersangkutan. 4. Mengumpulkan laporan dan tugas lain yang diberikan oleh asisten/dosen. 5. Kerusakan alat akibat keteledoran dan kesengajaan pemakain menjadi tanggung jawab pemakai. 6. Menjaga keserasian, ketenangan dan kebersihan ruangan Laboratorium. 7. Merapikan kembali semua peralatan setelah selesai memakainya. 8. Minimal mengikuti 80% (delapan puluh persen) dari seluruh kegiatan praktikum dalam 1 semester. LARANGAN PRAKTIKAN BAGI PRAKTIKAN SELAMA PRAKTIKUM 1. Dilarang makan, minum dan merokok didalam Laboratorium. 2. Membuat gaduh selama jalannya praktikum, sehingga mengganggu konsntrasi praktikan lainnya. 3. Keluar masuk laborattorium tanpa seijin asisten. SANKSI
1. Terhadap pelanggaran TATA TERTIB diatas, asisten berhak menjatuhkan sanksi dengan peraturan berlaku : 2. Pelanggaran Point II.4. tidak diperbolehkan mengikuti praktikum 3. Pelanggaran Point II.8. Tidak diperkenankan mengikuti ujian. 4. Pelanggaran Point lainnya dikenakan sanksi teguran sampai sanksi akademik.
Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya
3
Modul Praktikum Pemrogr aman Internet
KATA PENGANTAR Puji syukur kehadirat Tuhan YME atas terselesaikannya buku petunjuk praktikum Pemrograman Internet. Sesuai dengan motto kami yaitu “Tiada Hari Tanpa Peningkatan Mutu”, maka buku ini adalah suatu realisasi untuk terus berusaha meningkatkan mutu praktikum. Struktur dari buku ini diharapkan memenuhi standar dari sebuah buku petunjuk praktikum dengan bagian pada setiap BABnya terdapat: tujuan, materi, teori, alat dan bahan, prosedur praktikum, percobaan dan latihan. Untuk peserta praktikum diharapkan sudah membaca seluruh bagian dari buku petunjuk praktikum ini sebelum praktikum dimulai dan melakukan praktikum sesuai dengan prosedur yang ditetapkan. Instruktur praktikum mempunyai tugas memberikan arahan tentang pelaksanaan praktikum sekaligus memberikan bimbingan dalam penyelesaian setiap percobaan maupun latihan. Demikian kata pengantar ini yang mencoba memberikan sedikit arahan tentang tujuan dibuatnya buku petunjuk praktikum ini. Selanjutnya untuk masa yang mendatang akan terus dikembangkan kualitasnya, baik dari segi substansi maupun metode penyusunan dan penyampaiannya. Akhir kata tiada gading yang tak retak, dan demi peningkatan kualitas dari buku petunjuk praktikum ini, kami selalu mengharapkan saran dan kritik membangun dari para pembaca.
Surabaya, Agustus 2005 Team Laboratorium
Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya
4
Modul Praktikum Pemrogr aman Internet
DAFTAR ISI Halaman TATA TERTIB PRAKTIKUM KATA PENGANTAR DAFTAR ISI BAB I
Pe ngenalan dan Instalasi Java Se rver Pages ..................
BAB II
Pe nggunaan Tag-tag JSP..................................................
BAB III
Pe mrograman Java d alam JSP .......................................
BAB IV
Ve ctor dan Session ...........................................................
BAB V
JDBC .................................................................................
Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya
Modul Praktikum Pemrogr aman Internet
5
Bab I Pengenalan & Instalasi Java Server Pages 1.1.Tujuan a. Mahasiswa dapat memahami bagaimana JSP bekerja. b. Mahasiswa dapat mengetahui komponen-komponen yang diperlukan untuk pemrograman internet. c. Mahasiswa mampu melaksanakan instalasi sendiri. d. Mahasiswa mampu mengaplikasikan script-script sederhana. 1.2.Materi a. Pengertian dasar JSP b. Keunggulan JSP c. Instalasi dan Setup d. Sample JSP Page 1.3.Alat dan bahan a.
PC yang telah terinstall syste m operasi Linux SuSE 9.1 / Linux Redhat.
b.
Paket instalasi Tomcat (binary distribution)
c.
Java virtual mechine
d.
Web browser (Opera, Konqueror, Mozilla, etc.)
1.4. Teori a. Pengertian JSP JavaServer Pages TM (JSP) adalah teknologi Web berbasis bahasa pemrogra man Java dan berjalan pada Platform Java yang diproduksi oleh Sun microsystem. JSP memungkinkan kita menggabungkan static HTML dengan dynamic content yang dihasilkan dari Servlet. JSP juga merupakan bagian dari teknologi J2EE (Java 2 Enterprise Edition). J2EE merupakan platfor m Java untuk penge mbangan aplikasi enterprise dengan dukungan API (Application Program Interface) yang lengkap dan portabilitas serta memberikan sarana untuk membuat aplikasi multi tier yang memisahkan antara Presentation layer, Application layer dan Data Layer. Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya
6
Modul Praktikum Pemrogr aman Internet
Request JDBC
Database PostgreSQL
Response
b. Arsitektur JSP JSP pada dasarnya juga hala man HTML dengan tambahan tag-tag JSP yang berupa Java Code. File JSP mempunyai extension .jsp bukan .htm atau html. JSP engine (Java virtual mechine) melakukan proses parsing pada file .jsp selanjutnya men-generate Java servlet source file. Kemudian mengko mpilasi source file ini menjadi class file, hal ini dilakukan pada saat perta ma kali file .jsp dijalankan. Hal ini yang membuat lebih lamba t ketika .jsp file pertama kali diakses, selanjutnya setelah servlet source file terko mpile semuanya berjalan lebih cepat. Berikut ini ilustrasi bagaimana tahapan request jsp sampai dengan terlihat pada hala man browser. 1. User menjalankan file .jsp pada browsernya, selanjutnya web browser yang melakukan request via Internet/Intranet. 2. JSP file dikirim ke Web Server 3. Web Server mengirimkan file .jsp ke JSP servlet engine 4. Jika JSP file baru pertama kali dijalankan maka dilakukan proses parsing, jika tidak maka langsung dijalankan step ke 7. 5. Tahap selanjutnya adalah men-generate special servlet dari .jsp file. Semua HTML yang dibutuhkan dikonversi ke perintah println. 6. Servlet code selanjutnya dicompile menjadi class-class java. 7. Servlet kemudian memanggil method init dan service 8. HTML dari servlet selanjutnya dikirim ke melalui internet atau intranet. 9. Selanjutnya HTML dita mpilkan pada web browser.
Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya
Modul Praktikum Pemrogr aman Internet
7
c. Keunggulan JSP JSP mudah dipelajari dan memungkinan develope r membuat Web Site
dan aplikasi dengan cepat. JSP berjalan diatas Java yang
merupakan object oriented Programming sehingga JSP berada pada platform yang kuat untuk penge mbangan aplikasi. Alasan utama mengapa menggunakan JSP: 1. Multi Platform Kita dapat merubah system operasi kita tanpa harus merubah kodekode jsp yang telah dibuat misalnya dari Linux ke Windows atau ke Unix. De mikian juga dari IIS ke Apache atau ke IBM Websphere. 2. Reusable code dengan memanfaatkan Javabeans 3. Dengan JSP berarti kita mendapat semua keunggulan dari Java. d. JSP dibandingkan dengan ASP ASP merupakan teknologi yang dibangun oleh Microsoft. Kelebihan JSP adalah: 1. Bagian web dina mis ditulis dengan Java, bukan VBScript atau JavaScript ataupun bahasa lain, sehingga lebih powerful lebih baik dalam pembuatan aplikasi serta komponennya dapat dimanfaatkan kembali (Reusable Code) 2. JSP portable pada semua system operasi dan web server sehingga tidak terkunci pada windows NT dan IIS saja. Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya
dan
8
Modul Praktikum Pemrogr aman Internet
e. JSP dibandingkan dengan PHP PHP merupakan freeware dan open source, PHP juga HTML-scripting language seperti halnya JSP dan ASP. Keunggulan JSP terletak pada bagian dyna mic-nya dibangun dengan java sehingga secara auto matis didukung dengan API untuk networking, database access, object yang terdistribusi, reusable component dan lainya. 1.5. Instalasi dan Setup Sebelum memulai perograman JSP, kita perlu mempersiapkan Java Virtual Machine (JVM) dan To mcat. Berikut ini tahap-tahap instalasi: 1. Instala si JDK 1.5.0 Untuk menginstal Java Virtual Machine kita harus mempunyai file JVM bernama
jdk-1_5_0_01-linux-i586.bin apabila anda belum
mempunyai file ini anda bisa download di alamat situs sbb: •
Untuk JDK 1.5.0 di http://java.sun.com/j2se/1.5.0/
- Untuk OS Linux Anda pilih file jdk -1_5_0_01-linux-i586.bin Misal file jdk -1_5_0_01 -linux-i586.bin berada di direktori /usr/local/src # cd /usr/local # src/jdk-1_5_0_01-linux-i586.bin
akan terdapat folder jdk1.5.0_01 dalam direktori /usr/local - Untuk OS Wind ows Anda pilih file jdk-1_5_0_01 -windows-i586 -p.exe Jalankan file jdk -1_5_0_01-windows-i586 -p.exe, ikuti langkah-langkah instalasi. Selanjutnya kita harus tahu di folder mana JDK dinstall, secara
otomatis
JDK
di-install
pada
folder
C:\Program
Files\Java\jdk1.5.0_01 dan JRE di-install pada folder C:\Program Files\Java\jre1.5.0_01. 2. Instalasi To mcat Setelah kita melakukan instalasi JDK 1.5.0, agar JSP dapat berjalan kita harus melakukan instalasi Tomcat. Software Tomcat (binary distribution) dapat di download di URL : http://apache.the.net.id/jakarta/tomcat-5/v5.5.7/bin Untuk OS Linux kita download adalah jakarta -tomcat-5.5.7.tar.gz, Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya
9
Modul Praktikum Pemrogr aman Internet
langkah selanjutnya adalah sebagai berikut: # gunzip –dv jakarta-tomcat-5.5.7.tar.gz # tar –xvfz jakarta-tomcat-5.5.7.tar
akan terdapat folder jakarta-tomcat-5.5.7 dalam direktori aktif copy folder jakarta-tomcat-5.5.7 ke /usr/local dengan perintah : # cp –r jakarta-tomcat-5.5.7 /usr/local
Untuk OS Windows kita pilih file jakarta -tomcat-5.5.7.exe Jalankan file jakarta-tomcat-5.5.7.exe, ikuti langkah- langkah instalasi. S ecara oto matis installer minta JRE pada folder yang barusan kita install. Selanjutnya kita dapat (tidak harus) mengganti port ke port:80. Dan kita lanjutkan langkah-langkah instalasi sampai Finish . 3. Mengganti konfigurasi port Tomcat ke port 80 Penggantian dilakukan,
port
ini
memang
tidak
terlalu
penting
untuk
tetapi dengan mengganti port:8080 (default port) ke
port:80, akan memudahkan kita mengakses URL local. Jika dengan port:8080 untuk mengakses URL local pada web
browser
di
URL
address
harus
kita
Maka
dengan
port:80
ketikkan: http://localhost:8080/index.html
cukup kita ketikkan: http://localhost/index.html Untuk mengganti port tersebut, kita perlu mengedit file server.xml pada folder /usr/local/jakarta-tomcat-5.5.7 /conf. Buka file server.xml dengan editor teks, selanjutnya cari bagian berikut:
port="80"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" />
Setelah anda mengganti port="8080" menjadi port=”80” simpan dengan nama yang sama. 4. Mengatur variable JAVA_HOME untuk OS Linux Buka file /etc/profile dan ta mbahkan script sebagai berikut: export PATH=$PATH:/usr/local/jdk1.5.0_01/bin export JRE_HOME=/usr/local/jdk1.5.0_01/jre
5. Menjalankan & Men-shutdown server Tomcat untuk OS Linux Menjalankan server Tomcat Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya
Modul Praktikum Pemrogr aman Internet
10
# sh /usr/local/jakarta-tomcat-5.5.7/bin/startup.sh
Men-shutdown server Tomcat # sh /usr/local/jakarta-tomcat-5.5.7/bin/shutdown.sh
6. Test To mcat server Setelah tomcat server dapat berjalan dengan benar kita dapat mencoba file HTML atau JSP sederhana pada web browser. URL untuk localhost adalah http://localhost yang menunjuk pada folder /usr/local/jakarta -tomcat-5.5.7 /webapps/ROOT Pada folder itu anda harus mele takkan file-file html atau jsp anda. 1.6. Percobaan 1. Buka text editor 2. Ketikkan jsp berikut dan simpan dengan nama coba.jsp pada folder /usr/local/jakarta -tomcat-5.5.7/webapps/ROOT
My first JSP page Hello Word
Your Host Name: <%= Request.getRemoteHost()%>
Current Time: <%= new java.util.Date()%>
3. Jalankan pada browser anda dengan URL : http://localhost/coba .jsp 4. Hasilnya seperti pada gambar berikut :
Gambar 1.1 Tampilan percobaan ServerTomcat
Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya
Modul Praktikum Pemrogr aman Internet
11
Bab II Penggunaan Tag-Tag JSP 2.1.Tujuan Mahasiswa mengetahui dan dapat mengimple mentasikan tag-tag dalam JSP 2.2.Materi a. Declaration tag b. Expression tag c. Directive Tag d. Scriptlet Tag e. Action Tag 2.3.Alat dan bahan a. PC yang telah terinstall system operasi Linux SuSE 9.1 / Linux Redhat. b. Text Editor CoffeCup/BlueFish/Quanta c. Web browser (Opera, Konqueror, etc.) 2.4. Teori 2.4.1. Declaration Tag (<% … %>) Declaration Tag digunakan untuk mendeklarasikan variable atau method. Sebelum pendeklarasian diawali dengan <%! dan akhir diakhiri dengan %> hampir sama dengan semua syntax d i java selalu diakhiri dengan semicolon( ; ) Contoh:
<% priva te int counter = 0 ; private String get Account ( int accountNo) ; %>
2.4.2. Expression tag ( <%= … %>) Expression tag digunakan untuk ekspresi dala m Java dan menampilkannya sebagai String dala m browser. Sebelu m ekspresi diawali dengan <%= dan akhir diakhiri dengan %> Semicolon ( ; ) tidak diperlukan dala m ekspresi. Contoh : Tanggal : <%= new java.util.Date() %>
2.4.2. Directive tag ( <%@ directive … %>) Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya
12
Modul Praktikum Pemrogr aman Internet
Directive merupakan salah satu komponen utama dan sering digunakan dalam pemrograman JSP, yang terdiri dari: - Page - Include - Tag Library Directive tidak menghasilkan output yang dapat dilihat langsung pada browser akan tetapi directive merubah cara JSP engine memproses hala man Web. 2.4.2.1. Page Directive Page Directive (<%@page attribute…%>) digunakan untuk mendefinisikan atribut yang penting bagi keseluruhan kode dala m halaman yang bersangkutan. Misalnya mendefinisikan halaman pemrograman yang digunakan atau melakukan import class java. JSP memiliki 11 Page Directive seperti pada table berikut: Page Attribute language
Description Menentukan bahasa sripting apa yang digunakan, s ementara ini hanya Java dan JavaScript
extends
Digunakan untuk m en-generate superclass import Digunakan untuk m engam bil (import) class-class atau package Java session Digunakan untuk m enentukan halaman JSP menggunakan HTTP session atau tidak. buffer Menentukan besarnya buffer untuk output pada halaman JSP(output stream ke client) defaultnya 8Kb autoFlush Apabila true output buffer akan dikeluarkan setelah buffer penuh. Jika false pesan exception akan dikeluarkan untuk m engindikasikan jika buffer telah penuh isThreadSafe Apakah Servlet boleh mengenerate multiple request? Jika true maka urutan (thread) baru akan dim ulai dan selanjutnya akan diproses secara simultan, jika false request akan diproses sebagai Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya
Example <%@page language = “java” %>
<%@page extends = com.taglib…” %> <%@page import = “java.util.*” %> <%@ page session = “true” %> <%@ page session = “false” %> <%@ page buffer = “none” %>
<%@ page autoFlush = “true” %>
<%@ page isThreadSafe = “true” %>
13
Modul Praktikum Pemrogr aman Internet
singgle thread.
info
Digunakan untuk menambahkan informasi atau dokumen pada halaman JSP. Biasanya digunakan untuk menambahkan informasi author, version, copyright dan tanggal.
<%@ page info =“Author :Lab FTI, Version:1.2, copyright 2003. “ %>
errorPage
Mendefinisikan URL dari JSP file lain yang dipanggil ketika terjadi kesalahan Menentukan apakah halaman JSP ini merupakan halam an error dari JSP lain defaultnya "false" Menentukan tipe MIME dan karakter Set..Untuk informasi lebih jelas lihat di http://www.iana.org
<%@page errorPage=“/error/error.jsp” %>
isErrorPage
contentType
<%@ page IsErrorPage =“true” %>
<%@ page contentType =“TYPE=text/html; CHARSET=ISO8859-1” %>
2.4.2.2. Include Directive <%@ include … %> Digunakan untuk menyisipkan file lain dala m halaman JSP. Contoh: <%@ include fi le = “include/screet.html %> atau <%@ include file = “menu.jsp %>
2.4.2.3. Tag Lib directive <%@ taglib … %> Digunakan untuk tag ta mbahan atau digunakan untuk menyembunyikan kode pada server side dari web designer. Contoh:
<%@ taglib url = “http: //unitomo.ac.id/mytag prefix = “myProses” %> <myProses:proses> …
Untuk lebih jelasnya dapat dilihat di http://www.visua lbu ilder.com 2.4.3. Scriptlet tag ( <% … %> ) Tag antara <% dan %> diguanakan untuk mendeklarasikan variable, bean atau kode lain Contoh:
<% String username = “Hengki” ; out.pr i ntl n ( username ) ; %>
Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya
14
Modul Praktikum Pemrogr aman Internet
2.4.4. Action tag ( <% … %> ) Action tag merupakan salah satu ele men JSP berupa tag-tag. JSP memiliki dua maca m tag, yaitu: - Tag Action Standar - Custo m Tag Tag standar adalah tag yang didefinisikan dala m spesifikasi JSP dan Custom tag adalah tag baru yang dapat didefinisikan sendiri. Custom akan kita bahas pada bab-bab terakhir. Tag Action Standar Tag-tag action standar terdiri dari: <jsp:usebean> <jsp:setproperty> <jsp:getproperty> <jsp:include> <jsp:params> <jsp:param> <jsp:plugin> <jsp:fallback> <jsp:forward> <jsp:usebean> Tag ini digunakan untuk mengasosiasikan
Java bean dala m JSP
sehingga kita dapat menggunakan object yang terdapat dalam Java bean untuk diaplikasikan dala m kode JSP. JSP syntax: <jsp:useBean id="beanInstanceName " scope="page|request|session|application" { class="package.class" [ type=" package.clas s " ]| beanName="{package.class | <%= expression %>}" type="package.class " | type=" package.class" } { /> | > other elements }
Contoh: <jsp:useBean id="checking" scope="session" class="bank.Checking" />
<jsp:setproperty> Tag ini digunakan untuk men-set nilai properti dari bean dan tag ini digunakan untuk melengkapi tag <jsp:usebean> JSP Syntax: <jsp:setProperty name="beanInstanceName " { property="*" | property="propertyName" [ param="parameterName " ] | property="propertyName" value="{stringLiteral| <%= expression %>}" Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya
Modul Praktikum Pemrogr aman Internet
15
} />
Contoh: <jsp:setProperty name="mybean" property="username"value="Steve" />
<jsp:getproperty> Tag ini digunakan untuk mendapatkan nilai properti dari bean dan merupakan pelengkap dari tag <jsp:usebean>. JSP Syntax: <jsp:getProperty name=" beanInstanceName " property="propertyName" />
Contoh: <jsp:useBean id="calendar" scope="page" class="employee.Calendar" />
Calendar of <jsp:getProperty nam e="calendar" property="username" />
<jsp:include> Tag ini digunakan untuk memasukkan file lain dala m JSP saat request dilakkukan. JSP Syntax: <jsp:include page="{relativeURL | %= expression %}” [ flush="true | false" ] />
Contoh: <jsp:include page="scripts/login.jsp" /> <jsp:include page="copyright.html" /> <jsp:include page="/index.html" />
<jsp:params> Tag ini hanya dapat digunakan bersa ma tag jsp:plugin saja. Penggunaan di tempat lain akan menyebabkan error translation time error <jsp:param> Tag ini digunakan untuk melengkapi tag <jsp:params>, <jsp:plugin>,<jsp:forward> saja. Penggunaan d i te mpat lain akan menyebabkan error translation error. <jsp:fallback> Tag ini digunakan sebagai subele men dari <jsp:plugin>, yang Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya
Modul Praktikum Pemrogr aman Internet
16
berfungsi untuk mena mpilkan pesan error apabila proses plugin mengalami kesalahan. <jsp:plugin> Tag ini digunakan untuk menghasilkan kode-kode yang sesuai target browser dala m menyisipkan komponen Java bean atau Applet secara otomatis. JSP Syntax: <jsp:plugin type="bean |applet" code="classFileName" codebase="classFileDirectoryName" [ name="instanceName" ] [ archive="URIToArchive, ..." ] [ align="botto m|top|middle|left|right" ] [ height="{displayPixels | <% = expression %>}"] [ width="{displayPixels | <%= expression %>}"] [ hspace="leftRightPixels" ] [ vspace="topBottomPixels" ] [ jreversion=" JREVersionNumber | 1.2" ] [ nspluginurl= "URLToPlugin " ] [ iepluginurl= "URLToPlugin " ] > [ <jsp:params> [ <jsp:param name="parameterName " value="{ parameterValue | <%= expression %>}" /> ] ] [ <jsp:fallback> text message for user ]
Contoh: <jsp:plugin type=applet code="Molecule.class" codebase="/html"> <jsp:params> <jsp:param name="molecule" value="molecules/benzene.mol" /> <jsp:fallback>
Unable to load applet
<jsp:forward> Tag ini digunakan untuk mem-forward ke file JSP, servlet atau file statik lain. JSP Syntax: <jsp:forward page="{relativeURL |
Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya
Modul Praktikum Pemrogr aman Internet
17
<%= expression %>}" />
Contoh: <jsp:forward page="/servlet/login" />
2.5. Percobaan 2.5.1 Percobaan Untuk Declaration, Expression dan Page Directive Percobaan berikut ini adalah contoh dari penggunaan declaration, expression dan page directive. Ketikkan script di bawah ini dan simpan dengan na ma coba2.js p. Listing 2.1 – coba2.jsp <%@ <%@ <%@ <%@ <%@ <%@ <%@ <%@ <%@ <%@
page page page page page page page page page page
language="java" %> import="java.util.*" %> session = "true" %> buffer = "12kb" %> autoFlush = "true" %> isThreadSafe = "false" %> info ="Author :Lab FTI, Ve rsion:1.2, copyright 2003." %> errorPage ="error.jsp" %> isErrorPage ="false" %> cont entType ="TYPE=text/html; CHARSET=ISO-8859-1" %>
Percobaan Untuk Declaration, Expression dan Page Directive Percobaan Untuk Declaration, Expression dan Page Directive
<% String myStr = "Variabel Jumlah bernilai: "; int Jumlah = 2 ; Date Tanggal = new Date(); %> <%= myStr + " " + Jumlah %>
Tanggal: <%= Tanggal %>
<% Jumlah++; %> <%= myStr + " " + Jumlah %>
Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya
Modul Praktikum Pemrogr aman Internet
18
Hasil dari percobaan di atas seperti tampak pada gambar berikut :
Gambar 2.1 Tampilan percobaan deklarasi, ekspresi dan direktif page
2.5.2 Percobaan Untuk Include Percobaan berikut ini adalah contoh dari penggunaan include directive. Proses include dengan include directive dilakukan pada saat kompilasi hal ini dapat dilakukan dengan dengan menuliskan syntax: <%@ include file=”namafile”%>
Untuk lebih jelasnya ikuti langkah-langkah berikut: 1. Ketikan script pada listing 2.2 dengan menggunakan text editor/Kate/CoffeCup/BlueFish simpan dengan nama header.htm pada folder /usr/local/jakarta-tomcat-5.5.7/webapps /ROOT. 2. Ketikan script pada listing 2.3 dengan menggunakan text editor/Kate/CoffeCup/BlueFish simpan dengan nama footer.htm pada folder /usr/local/jakarta-tomcat-5.5.7/webapps/ROOT. 3. Ketikan script pada listing 2.4 dengan menggunakan text editor/Kate/CoffeCup/BlueFish simpan dengan nama myinclude.jsp pada folder /usr/local/jakarta -tomcat5.5.7/webapps/ROOT. 4. Jalankan myinclude.jsp dengan memanggil ala mat URL: http://localhost/myinclude.jsp 5. Hasil dari script anda seperti tampak pada gambar 2.2
Listing 2.2 – header.htm
Percobaan Include Header dan Footer PEMROGRAMAN INTERNET
Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya
Modul Praktikum Pemrogr aman Internet
19
Listing 2.3 – footer.htm
Untitled Document <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<em>Footer yang di include kan pada JSP |
Listing 2.4 – myinclude.jsp <%@include file="header.htm" %>
Bila anda melihat tulisan ini Pemrograman Internetmaka percobaan directive include telah berhasil
<%@include file="footer.htm" %>
Gambar 2.2 Tampilan percobaan directive include Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya
20
Modul Praktikum Pemrogr aman Internet
2.5.3 Percobaan Untuk Tag Action Include Percobaan berikut ini adalah contoh dari penggunaan tag Action include
yang dihunakan
untuk
menghasilkan
ta mpilan
untuk
navigation bar yang dapat memberitahukan d imana kita
berada
dan memberi ta mpilan button yang berbeda. Untuk lebih jelasnya ikuti langkah-langkah berikut: 1. Ketikan script pada listing 2.5 dengan menggunakan text editore simpan dengan nama mytaginclude.htm pada folder /usr/local/jakarta-tomcat-5.5.7/webapps/ROOT. 2. Ketikan script pada listing 2.6 dengan menggunakan text editor simpan dengan nama taginclude.jsp pada folder /usr/local/jakartatomcat-5.5.7/webapps/ROOT. 3. Ketikan script pada listing 2.7 dengan menggunakan text editor simpan dengan nama navbar.jsp pada folder /usr/local/jakartatomcat-5.5.7/webapps/ROOT. 4. Jalankan myinclude.jsp dengan memanggil alamat URL: h ttp://localhost/mytaginclude.htm 5. Hasil dari script anda seperti ta mpak pada gambar 2.3 dan gambar 2.4 Listing 2.5 – mytaginclude.htm
Penggunaan TAG ACTION INCLUDE Penggunaan Tag Action Include untuk Navi gation Bar
Click salah satu link di bawah ini
| | <strong>Jadwal
Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya
Modul Praktikum Pemrogr aman Internet
| |
Listing 2.5 – taginclude.jsp <% String link =request.getParameter("link"); %>
Penggunaan t ag action include <jsp:include page="navbar.jsp" flush="true"> <jsp:param name="link" value="<%=link%>" />
Listing 2.6 – navbar.jsp <% String kliklink = request .getParameter("link"); String isi = ""; String latarhome ="#EEEEEE"; if (kliklink.equals("home")) { la tarhom e ="#000066"; isi="Isi Nilai"; } String latarkrs ="#EEEEEE"; if (kliklink.equals("krs")) { la tarkrs ="#000066"; isi="Isi KRS"; } String latarjadwal ="#EEEEEE"; if (kliklink.equals("jadwal")) { la tarjadwal ="#000066"; isi="Isi Jadwal";
Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya
21
Modul Praktikum Pemrogr aman Internet
} String latarabout ="#EEEEEE"; if (kliklink.equals("about")) { la tarabo ut ="#000066"; isi="Isi About"; } %>
<strong>Home | <strong>KRS |
<strong>Jadwal | <strong>About |
<%=isi%>
Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya
22
23
Modul Praktikum Pemrogr aman Internet
Gambar 2.3 Tampilan percobaan tag action include (mytaginclude.htm)
Gambar 2.4 Tampilan percobaan tag action include navbar.jsp
2.5.4 Latihan Tambahkan program pada
script d i atas
sehingga
pada
setiap
ta mpilan menu muncul deskripsi tepat di bawahnya. Seperti ta mpak pada gambar 2.5. Gunakan table dan satu variable untuk masing-masing deskripsi menu.
Gambar 2.5 T ampilan latihan Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya
24
Modul Praktikum Pemrogr aman Internet
Bab III Pemrograman Java dalam JSP 3.1 Percobaan Penggunaan Form, variable, kondisi Percobaan berikut ini adalah contoh dari penggunaan form, variable, kondisi yang digunakan untuk mengkonversi angka (1-9) menjadi huruf pada satu halaman JSP. Untuk lebih jelasnya ikuti langkah-langkah berikut: 1. Ketikan
script
menggunakan
pada
listing
3.1
dengan
text editor/dreamweaver/frontpage simpan dengan
nama konversi.jsp pada folder c:\tomcat\webapps\ROOT.
Konversi Angka 1 sampai 9 <strong>Konversi angka 1-9
<%! public String konversi(int angka) { String rst; switch (angka) { case 1: rst = "satu"; break; case 2: rst = "dua"; break; case 3: rst = "tiga"; break; case 4: rst = "empat"; break; case 5: rst = "lima"; break; case 6: rst = "enam"; break; case 7: rst = "tujuh"; break; case 8: rst = "delapan"; break; case 9: rst = "sembilan"; break;
default: Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya
Modul Praktikum Pemrogr aman Internet
25
rst = "Angka yang dimasukkan hanya boleh 1-9"; break; } return rst; } %>
Masukkan nilai
<% String stangka=request.getParameter("angka"); int nl; try { nl = Integer.parseInt(stangka); if (stangka != null && stangka.length() >0) { out.println(konversi(nl)); } } catch (Exception e) { if (stangka != null && stangka.length() >0) { out.println("Yang anda masukkan bukan angka"); } } finally { if (st angka != null) stangka=null; } %>
2. Jalankan konversi.jsp dengan memanggil ala mat URL: http://localhost/konversi.htm 3. Hasil dari script anda seperti ta mpak pada gambar 3.1
Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya
Modul Praktikum Pemrogr aman Internet
26
Gambar 3.1 T ampilan percobaan konversi angka 1-9
3.2 Latihan Buat script baru untuk mengkonversi semua angka (0 sampa i dengan 999.999.999.999.999). Diluar itu berikan keterangan “angka diluar jangkauan”. Apabila yang d imasukkan bukan angka berikan keterangan “yang anda masukkan bukan angka” gunakan Try, Catch dan Finally. Hati- hati dengan bilangan 10, 11,100,1000 (sepuluh, sebelas, seratus, seribu). Hasilnya seperti pada ga mbar berikut:
Gambar 3.2 Tampilan latihan konversi angka.
Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya
Modul Praktikum Pemrogr aman Internet
27
Bab IV Vector dan Session 4.1 Percobaan Penggunaan vector dan Session Percobaan berikut ini adalah contoh dari penggunaan vector dan Session yang diimple mentasikan pada entry data mahasiswa mulai dari pena mbahan data, hapus dan edit. Untuk lebih jelasnya ikuti langkah-langkah berikut: 1. Ketikkan script pada listing 4.1 dengan menggunakan text editor simpan dengan nama myvektor.jsp pada folder /usr/local/Jakartatomcat-5.5.7/webapps/ROOT. <%@ page cont entType="text/plain; charset=iso-8859-1" language="java" session ="true" import="java.util.*" %>
Vektor dan Session Entry Data Mahasiswa
<% String nim; String nama; Vector vnim = (Vector)session.getAttribute("vnim"); //new Vector() Vector vnama = (Vector)session.getAttribute("vnama"); //new Vector() String Submit; String[] idhapus = null; String idEdit; int indexhapus; int i = 0; %>
<% Submit = request.getParameter("Submit"); idhapus = request.getParameterValues("cbhapus"); if (idhapus == null) idhapus = new String[0]; idEdit =request.getParameter("Radio"); if (vnim==null || vnama ==null) { vnim = new Vector(); session.setAttribute("vnim",vnim); vnama = new Vector(); session.setAttribute("vnama",vnama); } if (Submit==null) Submit=""; if (Submit.equals("Tambah")) { nim = request.getParameter("nim"); nama = request.getParameter("nama"); if (nama != null && nama.length()>0 && nim != null && nim.length()>0 ) { vnim.add(nim); vnama.add(nama); } } else if (Submit.equals("Hapus")) { for (i = 0; i < idhapus.length ; i + + ) { indexhapus = Integer.parseIn t(idhapus[i]); indexhapus=indexhapus-i; vnama.remov e(indexhapus); vnim.remove(indexhapus); } }
Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya
Modul Praktikum Pemrogr aman Internet
29
else if (Submit.equals("Edit ") && vnim.size() > 0) { try { int idEd =Integer.parseInt(idEdit); session.setAttribute("nim", vnim.get(idEd)); session.setAttribute("nam a", vnama.ge t(idEd)); session.setAttribute("id", idEdit); %> <jsp:forward page="editvektor.jsp" /> <% } catch (Exception e) { out.println("Record yang diedit belum ditand ai"); } finally {} } else if (Submit.equals("Simpan")) { String enim = request.getParameter("enim"); String enama = request.getParameter("enama"); String id = (String)session.getAttribute("id"); int idEd =Integer.parseInt(id); vnim.set(idEd,enim); vnama.set(idEd,enama); } else {} %>
2. Ketikan script pada listing
4.2 dengan menggunakan text editor
simpan dengan nama editvektor.jsp pada folder /usr/local/jakartatomcat-5.5.7/webapps/ROOT.
Untitled Document <meta http -equiv ="Content-Type" content="text/html; charset=iso8859-1">
Edit Data Mahasiswa
<% String nim = (String)session.getAttribute("nim"); String nama = (String)session.getAttribute("nama"); %>
4. Jalankan myvektor.jsp dengan memanggil alamat URL: http://localhost/myvektor.htm 5. Hasil dari script anda seperti ta mpak pada gambar 4.1 dan gambar 4.2
Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya
32
Modul Praktikum Pemrogr aman Internet
Gambar 4.1 Tampilan latihan Vector dan session.
Gambar 4.2 Tampilan latihan Vector dan session.
4.2 Latihan Modifikasi field
program di a tas untuk entry data barang dengan field-
Kode, Nama
konfir masi
apabila
Barang,
Harga Barang,
Jumlah. Ta mbahkan
record akan dihapus serta tambahkan untuk
pengecekan data, apakah kode barang ada yang sa ma, bila ada berikan peringatan.
Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya
Modul Praktikum Pemrogr aman Internet
33
Bab V JDBC 5.1 Percobaan JDBC Connection, Statement dan Resultset 5.1.1. Percobaan pembuatan table dengan JDBC Percobaan berikut ini adalah contoh dari penggunaan JDBC connection, statement dan resultset yang digunakan untuk membuat table dengan methode executeUpdate. Untuk lebih jelasnya ikuti langkah-langkah berikut: 1. Buat database pada PostgreSQL Server dengan na ma Jualan. 2. Ketikan script pada listing 5.1 dengan menggunakan text editor simpan dengan nama buatabel.jsp pada folder ..\ROOT\[nimanda]\. <%@page contentType="text/html; charset=iso- 8859- 1" language="java" import="java.sql.*" errorPage="" %>
Entry Data Customer <% try { Class.forName("org.postgresql.Driver"); Connection conn=DriverManager.getConnection ("jdbc:postgresql://localhost:5432/mydb?user=mhs&password=unitomo ");
String sQry ="CREATE TABLE customer2(CustID varchar(6), CustName varchar(50), CustAdd varchar(50), CustCity varchar(20), CustPhone varchar(20), CustFax varcha r(20), CustCredLimit money)"; Statement ST = conn.createStatement(); int sukses = ST.executeUpdate(sQry ); if (sukses>= 0) out.println("Buat Tabel s ukses
Jumlah Tabel yang Dibuat: "+sukses); } catch(Exception e) {out.p rintln("Kesalahan : "+e);} %>
3. Jalankan buatabel.jsp dengan memanggil ala mat URL: http://localhost/buatabel.jsp
5.1.2. Percobaan menambah data Percobaan berikut ini adalah contoh dari penggunaan JDBC connection, Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya
34
Modul Praktikum Pemrogr aman Internet
statement dan resultset yang digunakan untuk mena mbah
data dengan
methode executeUpdate. Untuk lebih jelasnya ikuti langkah-langkah berikut: 1. Ketikkan script pada listing 5.2 dengan menggunakan text editor simpan dengan nama tambahdata.jsp pada folder ..\ROOT\[nimanda ]\. <%@ page import="java.sql.*" errorPage="" %>
Entry Data Customer <% try Class.forName("org.postgresql.Driver"); Connection conn=DriverManager.getConnection ("jdbc:postgresql://localhost:5432/mydb?user=mhs&password=unitomo");
String sQry ="INSERT INTO customer (CustID, CustName, CustAdd, CustCity, CustPhone, CustFax, CustCredLimit) Values ('000001','Shanti','Jl. Hayam Wuruk 63','Pacet','0321690188','0321-6901234',100000000)"; Statement ST = conn.createStatement(); int sukses = ST.executeUpdate(sQry ); if (sukses>=0) out.println("Tambah data sukses
Jumlah record yang ditambahkan "+sukses); } catch(Exception e) {out.p rintln("Kesalahan : "+e);} %>
2. Jalankan ta mbahdata.jsp dengan memanggil ala ma t URL: http://localhost/tambahdata.jsp 5.1.3. Percobaan menghapus data Percobaan berikut ini adalah contoh dari penggunaan JDBC connection, statement dan dengan
resultset yang
digunakan
untuk
menghapus
data
methode executeUpdate. Contoh berikut menunjukkan data yang
akan dihapus adalah dengan CustID = ‘000001’. Untuk lebih jelasnya ikuti langkah-langkah berikut: 1. Ketikan script pada listing 5.3 dengan menggunakan text editor simpan dengan nama hapusdata.jsp pada folder ..\ROOT\[nimanda]\. <%@ page import="java.sql.*" errorPage="" %>
Entry Data Customer
Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya
Modul Praktikum Pemrogr aman Internet
35
<% try { Class.forName("org.postgresql.Driver"); Connection conn=DriverManager.getConnection ("jdbc:postgresql://localhost:5432/mydb?user=mhs&password=unitomo");
String sQry ="Delete customer where CustID='000001'"; Statement ST = conn.createStatement(); int sukses = ST.executeUpdate(sQry); if (sukses>=0) out.println("Delete data sukses
Jumlah record yang dihapus "+sukses); }catch(Exception e){out.println("Kesalahan : "+e);} %>
2. Jalankan hapusdata.jsp dengan memanggil ala mat URL: http://localhost/hapusdata.jsp 5.1.4. Percobaan edit data Percobaan berikut ini adalah contoh dari penggunaan JDBC connection, statemen t dan resultset yang digunakan untuk meng-edit data dengan methode executeUpdate. Contoh berikut menunjukkan data yang akan diedit
adalah dengan CustID =‘000001’. Untuk lebih jelasnya ikuti
langkah-langkah berikut: 1. Ketikan script pada listing 5.4 dengan menggunakan text editor simpan dengan nama editdata.jsp pada folder ..\ROOT\[nimanda]\. <%@ page import="java.sql.*" errorPage="" %>
Entry Data Customer <% try { Class.forName("org.postgresql.Driver"); Connection conn=DriverManager.getConnection ("jdbc:postgresql://localhost:5432/mydb?user=mhs&password=unitomo");
String sQry ="Update customer set CustName=’Pelanggan baru’ where CustID='000001'"; Statement ST = conn.createStatement(); int sukses = ST.executeUpdate(sQry); if (sukses>=0) out.println("Edit dat a sukses
Jumlah record yang di-edit "+sukses); } catch(Exception e) {out.println("Kesalahan : "+e);} %>
Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya
Modul Praktikum Pemrogr aman Internet
36
2. Jalankan editdata.jsp dengan memanggil ala mat URL: http://localhost/editdata.jsp 5.1.5. Percobaan menampilkan data Percobaan berikut ini adalah contoh dari penggunaan JDBC connection, statement dan resultset yang digunakan untuk meng-edit data dengan methode executeQuery. Untuk lebih jelasnya ikuti langkah-langkah berikut: 1. Ketikan script pada listing 5.5 dengan menggunakan text editor simpan dengan nama sho wdata.jsp pada folder ..\ROOT\[nimanda]\. <%@ page import="java.sql.*"%> <% Class.forName("org.postgresql.Driver"); Connection conn=DriverManager.getConnection ("jdbc:postgresql://localhost:5432/mydb?user=mhs&password=unitomo");
Statement ST = conn.createStatement(); ResultSet RS = ST.executeQuery("Select * from Customer order by CustID"); int i = 1; //String sQry ="CREATE TABLE customer2 (CustID varchar(6), CustName varchar(50), CustAdd varchar(50), CustCity varchar(20), CustPhone varchar(20), CustFax varchar(20), CustCredLimit money)"; %>
No | Kode | Nam a | Alamat | Kota | Phone | Fax | Bata s Kredit |
<% while (RS.next()) { %> <%=i%> |
Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya
Modul Praktikum Pemrogr aman Internet
37
align="left"><%=RS.getString("CustID")%> | <%=RS.getString("CustName")%> | <%=RS.getString("CustAdd")%> | <%=RS.getString("CustCity")%> | <%=RS.getString("CustPhone")%> | <%=RS.getString("CustFax")%> | <%=RS.getString("CreditLimit")%> |
<% i++; } %>
2. Jalankan showdata.jsp dengan memanggil ala ma t URL: http://localhost/showdata.jsp 5.2. Latihan Buatlah program untuk entry data Customer, sedemikian rupa sehingga bentuknya sa ma dengan percobaan Vector dan session pada bab IV. Tambahkan konfirmasi apabila record akan dihapus serta tambahkan untuk validasi data, apakah kode pelanggan (CustID) ada yang sa ma, bila ada berikan peringatan.
Laboratorium Teknik Informatika Fakultas Teknik - Univers itas Dr. Soetomo Surabaya