BABVI-Dasar Prgrm Java Server Web

24
 Chapter V - Aplikasi Web Web Programing 23 B. Java Server Pages B.1. Pengenalan Java Server Pages Penggunaan internet terus menagalami perkembangan, bahkan saat ini sudah memungkinkan akses internet melalui handheld device atau alat portabel. Teknologi Java yang telah banyak dikenal melalui applet Java merupakan teknologi yang terus berkembang  pula dan telah merambah ke teknologi web, yaitu JSP dan Servlet yang menjadi bagian dari teknologi Java untuk aplikasi enterprise (J2EE). Saat ini didunia, permintaan pasar terhadap pemrograman Java sangat bagus dan bisa dikatakan bahwa programmer Java lebih mudah dalam menemukan pekerjaan. Teknologi J2EE sebagai bagian dari teknologi Java juga menciptakan kebutuhan programmer-  programmer J2EE yang baru dan lebih spesifik, dimana selain mampu membuat program Java, juga harus mengerti teknologi J2EE. JSP sebagai komponen penting dari J2EE harus dapat dikuasai sebelum seseorang dapat menjadi J2EE programmer. JSP banyak mempunyai kelebihan sehingga bagi para web programmer dengan teknologi PHP, ASP atau yang lain, dapat ikut mempelajarinya. § Apakah JSP itu ? JSP adalah suatu teknologi web berbasis bahasa pemrograman Java dan berjalan di Platform Java, serta merupakan bagian teknologi J2EE ( Java 2 Enterprise Edition). JSP sangat sesuai dan tangguh untuk menangani presentasi di web. Sedangkan J2EE merupakan  platform Java untuk pengembangan sistem aplikasi enterprise dengan dukungan API (Aplikasi Programming Interface) yang lengkap dan portabilitas serta memberikan sarana untuk membuat s uatu aplikasi yang memisahkan antara business logic (sistem), presentasi dan data. JSP merupakan bagian dari J2EE dan khususnya merupakan komponen web dari aplikasi J2EE secara keseluruhan. JSP juga memerlukan JVM (Java Virtual Machine) supaya dapat berjalan, yang berarti juga mengisyaratkan keharusan mengintal Java Virtual Machine di server, dimana JSP akan dijalankan. Selain JVM, JSP juga memerlukan server yang disebut Web Container . J2EE terdiri atas teknologi berikut : § Java Server Pages

Transcript of BABVI-Dasar Prgrm Java Server Web

Chapter V - Aplikasi Web

B. Java Server Pages B.1. Pengenalan Java Server Pages Penggunaan internet terus menagalami perkembangan, bahkan saat ini sudah memungkinkan akses internet melalui handheld device atau alat portabel. Teknologi Java yang telah banyak dikenal melalui applet Java merupakan teknologi yang terus berkembang pula dan telah merambah ke teknologi web, yaitu JSP dan Servlet yang menjadi bagian dari teknologi Java untuk aplikasi enterprise (J2EE). Saat ini didunia, permintaan pasar terhadap pemrograman Java sangat bagus dan bisa dikatakan bahwa programmer Java lebih mudah dalam menemukan pekerjaan. Teknologi J2EE sebagai bagian dari teknologi Java juga menciptakan kebutuhan programmerprogrammer J2EE yang baru dan lebih spesifik, dimana selain mampu membuat program Java, juga harus mengerti teknologi J2EE. JSP sebagai komponen penting dari J2EE harus dapat dikuasai sebelum seseorang dapat menjadi J2EE programmer. JSP banyak mempunyai kelebihan sehingga bagi para web programmer dengan teknologi PHP, ASP atau yang lain, dapat ikut mempelajarinya.

Apakah JSP itu ? JSP adalah suatu teknologi web berbasis bahasa pemrograman Java dan berjalan di

Platform Java, serta merupakan bagian teknologi J2EE ( Java 2 Enterprise Edition). JSP sangat sesuai dan tangguh untuk menangani presentasi di web. Sedangkan J2EE merupakan platform Java untuk pengembangan sistem aplikasi enterprise dengan dukungan API (Aplikasi Programming Interface) yang lengkap dan portabilitas serta memberikan sarana untuk membuat suatu aplikasi yang memisahkan antara business logic (sistem), presentasi dan data. JSP merupakan bagian dari J2EE dan khususnya merupakan komponen web dari aplikasi J2EE secara keseluruhan. JSP juga memerlukan JVM (Java Virtual Machine) supaya dapat berjalan, yang berarti juga mengisyaratkan keharusan mengintal Java Virtual Machine di server, dimana JSP akan dijalankan. Selain JVM, JSP juga memerlukan server yang disebut Web Container. J2EE terdiri atas teknologi berikut : Java Server Pages 23Web Programing

Chapter V - Aplikasi Web

Servlets Dukungan Java terhadap XML yaitu JAXP Enterprise Java Beans (EJB) Java Messaging Java Transactions Java Mail Java Naming and Directory Interface JDBC (Java Database Connectivity) Dukungan Java terhadap CORBA dan RMI

JSP maupun J2EE dibuat dan didefinisikan oleh kalangan industri, tepatnya Java Community Process (http://java.sun.com/jcp) yang dipimpin oleh Sun Microsystem. Untuk lebih mengenal J2EE, anda dapat mengunjungi situs : http://java.sun.com/j2ee. Teknologi JSP menyediakan cara yang lebih mudah dan cepat untuk membuat halaman-halaman web yang menampilkan isi secara dinamik. Teknologi JSP didesain untuk membuat lebih mudah dan cepat dalam membuat aplikasi berbasis web yang bekerja dengan berbagai macam web server, aplication server, browser dan development tool. Jika kita melihat asal- usulnya, JSP sebenarnya merupakan pengembangan dari Servlet. Pada saat diproses di server, file JSP sebenarnya dikompilasi menjadi Servlet yang merupakan program Java yang berjalan di server ( semacam applet yang berjalan di server). Perlu kita ketahui bahwa Servlet merupakan teknologi Java untuk web sebelum JSP dan merupakan basis untuk pengembangan JSP. JSP maupn Servlet memerlukan server khusus yang Web Container, dimana salah satunya adalah Tomcat yang merupakan bagian proyek Open Source yang disebut Jakarta oleh Apcahe group (http://jakarta.apache.org).

JSP memeiliki sifat-sifat sebagai berikut : (sumber : http://java.sun.com/products/jsp/jsp_jservlet.ds.html) o Portabel karena dibuat dengan teknologi Java.

24Web Programing

Chapter V - Aplikasi Web

o Portabel di sini berarti suatu aplikasi yang dibuat dengan Java yang dapat berjalan di berbagai sistem operasi dengan sedikit modifikasi, bahkan mungkin tanpa

modifikasi sedikit pun. o Manajemen memori. o Oleh karena JSP menggunakan bahasa Java dan platform Java, maka JSP juga memiliki kemampuan manajemen memori. o Memiliki akses ke API Java yang lengkap (JDBC, Java Mail). o Dapat menggunakan komponen yang portabel dan reusable (Java Bean). o Memiliki performansi tinggi terhadap banyak request (proses) sekaligus dalam waktu yang sama. o Mudah dalam deployment dan maintenance.

Kelebihan JSP JSP patut dipertimbangkan sebagai bahasa pemrograman web untuk pembuatan aplikasi web yang tangguh. Kelebihan-kelebihan JSP yaitu : a. Memisahkan prentasi yang statis dan isi yang dinamik. Untuk menghasilkan aplikasi web, tentunya web developer harus berurusan tag-tag HTML maupun XML untuk menghasilkan halaman web. Untuk menghasilkan tampilan halaman web yang baik, tentunya web developer juga harus mendesainnya sehingga harus menetukan kode HTML yang ingin dihasilkan. b. Menekankan komponen reusable. Teknologi JSP memerlukan komponen yang reusable dan cross platform (Java Bean atau Enterprise Java Bean) untuk melakukan pemrosesan yang lebih kompleks. Dengan komponen, developer dapat

menggunakannya untuk operasi yang umum sehingga memungkinkan sharing dan distribusi komponen publik atau komunitas di internet. Penggunaan komponen dapat mempercepat pembuatan aplikasi web karena proses logik yang diperlukan sudah tersedia dan langsung dapat digunakan. c. Memudahkan pembuatan aplikasi dengan tag. Teknologi JSP memungkinkan pembuatan dan pendefinisian tag-tag baru yang disebut custom tag sehingga

25Web Programing

Chapter V - Aplikasi Web

memungkinkan adanya tag libraries. Yaitu kumpulan tag yang memiliki berbagai fungsi yang mudah digunakan. d. Berbasis Bahasa Pemrograman Java. Oleh karena JSP berbasis Java, maka aplikasi yang dibuat dengan JSP juga memiliki manajemen memori dan sekuritas yang baik. Selain itu, JSP juga mudah dipelajari dan dapat memanfaatkan pemrograman beroriantasi objek dari Java. e. Bagian dari platform Java. Oleh karena merupakan bagian dari paltform Java, maka JSP juga memiliki karakteristik Write Once, Run Anywhere yaitu portabilitas yang tinggi. f. Terintegrasi dalam J2EE. Oleh karena JSP merupakan bagian integral J2EE, maka aplikasi JSP dapat dikembangkan ke aplikasi berskala enterprise.

Tabel VI.1. Perbandingan JSP dengan Teknologi Web lain. (Sumber : http://java.sun.com/products/jsp/jsp-asp.html ) KemampuanPortabilitas OS/Hardware Portabilitas Web Server Bahasa Skrip yang digunakan Proteksi terhadap memory leak dan system crash Ekstensibilitas Pengembangan Tag Baru Pemisahan Sistem logic dan presentasi

ASPTerbatas/Chilli Linux Tidak VBScript, Jscript Tidak

CGI/PerlTidak Ya Perl

Mod_PerlYa Tidak/hanya Apache Perl

PHPYa Tidak/hanya Apache PHP

JSPYa Ya Java

Tidak

Tidak

Tidak

Ya

Tinggi tapi belum final (.NET) Tidak Ya

Tidak Tidak Tidak

Tidak Tidak Partial/ Emb Perl

Tidak Tidak Partial

Tinggi dan final (J2EE) Ya Ya

26Web Programing

Chapter V - Aplikasi Web

Adapun contoh program web yaitu : Contoh JSP Tanggal dan Waktu

Hasil tampilan pada browser adalah :

Gambar 5. Tampilan program pada JSP menampilkan Tanggal dan Waktu

B.2. Komponen-komponen JSP Page 2.1. JSP Directives JSP Directives digunakan untuk meneruskan perintah-perintah kepada JSP engine. Directives ini meliputi: a. Direktif Page digunakan untuk mendefinisikan atribut yang penting bagi keseluruhan kode dalam halaman tersebut, misalnya mendefinisikan bahasa pemrograman yang digunakan atau melakukan import Contoh pengguanan: . 27Web Programing

Chapter V - Aplikasi Web

b. Directif include digunakan untuk menyisipkan isi dari file lain dalam file JSP. Contoh: . c. Direktif taglib digunakan untuk penggunaan tag library atau tag tambahan. Contoh penggunaan : . 2.2. JSP Tag / JSP Action Dalam JSP telah didefinisikan tag-tag khusus dengan fungsi- fungsi tertentu, tag-tag tersebut adalah : a. Tag ini digunakan untuk mengasosiasikan JavaBean dalam JSP, sehingga kita dapat menggunakan objek yang terdapat dalam JavaBean untuk diaplikasikan dalam kode JSP. Contoh penggunaan :

b. Tag ini digunakan untuk melengkapi penggunaan tag Contoh penggunaan :

28Web Programing

Chapter V - Aplikasi Web

c. Tag ini digunakan untuk mendapatkan nilai properti dari bean dan merupakan pelengkap dari tag . Contoh penggunaan :

d. Tag ini digunakan untuk mengikutsertakan file lain dalam JSP saat request dilakukan Contoh penggunaan :

e. Tag ini digunakan untuk menghasilkan kode-kode yang sesuai target browseer dalam menyisipkan Java Bean atau Applet secara otomatis

f. Tag ini digunakan untuk melengkapi tag , maupun

Contoh penggunaan bersamaan dengan :

Browser Anda tidak dapat menampikan applet ini

29Web Programing

Chapter V - Aplikasi Web

g. Tag ini digunakan untuk memforward ke file JSP, Servlet atau file statik lain. Contoh penggunaan :

2.3. Scripting Element a. Tag digunakan untuk deklarasi, ekspresi, dan kode lain Contoh : mysql\bin\mysqld atau : c\>apache\mysql\bin>mysql

Pertama-tama dalam MySQL perlu diset permission untuk user dan password dengan cara : c\>mysqladmin user=root password=your_password shutdown

Selain dengan cara maunual, versi MySQL for Windows 1.3 memiliki program bawaan berupa file winmysqladmin.exe yang dapat dijalankan sehingga memudahkan dalam melakukan start maupun shutdown MySQL Server, seperti terlihat pada gambar berikut :

Gambar 10. Software Winmysqladmin for Windows

C.1. Session Dalam JSP Session merupakan fasilitas yang penting dalam pembuatan aplikasi pemrograman web terutama JSP, dimana penggunaan session berfungsi untuk autentikasi dan pengamanan alamt URL atau sistem login. Pengguna yang telah login akan memiliki variabel yang tersimpan dalam session yang dapat dikenali oleh program sehingga dapat mendeteksi apakah pengunjung telah login.

41Web Programing

Chapter V - Aplikasi Web

Untuk memehami session dengan baik, perlu mengetahui penerapan secara nyata dalam aplikasi web, misalnya untuk menangani login/autentikasi. Untuk memberilan session pada program login dengan memasukkan skrip sebagai berikut :

Contoh program : login.html E-leraning User Login untuk E-Leraning SELAMAT DI SITUS E-LEARNING UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA WEB SITE : http://www.uinjkt.ac.id.
Nama Password
http://www.uinjkt.ac.id
Universitas Islam Negeri Syarif Hidayatullah Jakarta
Jln. Ir.H.Juanda No.95 Ciputat Jakarta
Telp & Fax (021) 7493606

42Web Programing

Chapter V - Aplikasi Web

Gambar 11. Hasil Tampilan program login.html login.jsp E-Learning

menu.jsp E-Learning Selamat datang di Sistem On-Line, anda telah berhasil login SILAHKAN MEMILIH MENU DIBAWAH INI :

43Web Programing

Chapter V - Aplikasi Web


Product by nanang 2005

Tampilan Login :

Gambar 12. Tampilan Menu setelah hasil login

44Web Programing

Chapter V - Aplikasi Web

Tampilan Login Gagal :

Gambar 13. Tampilan Login Gagal

logout.jsp e-learning Log out berhasil! Kembali ke Menu Utama Untuk dapat koneksi dari web browser ke database MySQL, kita harus buat kode Java sebagai kompailer dengan nama LoginUser.java ke database Pengguna.

LoginUser.javapackage login; import java.sql.*; import java.lang.String.*; public class LoginUser { private boolean valid; private String vusername, vpassword;

45Web Programing

Chapter V - Aplikasi Webpublic LoginUser() { logout(); } public void setUsername(String username) { this.vusername = username; } public void setPassword(String password) { this.vpassword = password; } public String getUsername() { return vusername; } public boolean getValid() { Connection conn = null; Statement stmt = null; ResultSet rs = null; try { Class.forName("org.gjt.mm.mysql.Driver"); } catch (ClassNotFoundException cnfe) { Sy stem.err.println(cnfe); } catch (Exception E) { E.printStackTrace(); } try { conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/pengguna","",""); stmt = conn.createStatement(); rs = stmt.executeQuery("SELECT COUNT(*) FROM user WHERE username = \""+vusername+"\" AND password = PASSWORD(\""+vpassword+"\")"); rs.next(); if (rs.getInt("COUNT(*)") == 1) valid = true; else valid = false; stmt.close(); conn.close(); } catch(SQLException sqle) { System.err.println("SQLException : " + sqle.getMessage()); } return valid; } public void logout() { valid = false; vusername = null; vpassword = null; } }

46Web Programing