INSTALASI
Dalam tutorial ini akan dijelaskan tentang pemrograman Java, baik di Linux maupun
di Windows. Pertama kali akan dipaparkan cara-cara instalasi program. Kemudian
setelah itu baru dijelaskan tentang beberapa program sederhana (Hallo), berupa
aplikasi sederhana, aplikasi dengan frame, dan applets.
INSTALASI di LINUX
Dalam instalasi ini, kita pakai Linux dari distro Mandrake 9.0. JDK akan kita
letakkan di direktori /usr, dan kita harus bekerja sebagai root. Di sistem operasi
Linux, /usr digunakan untuk meletakkan program-program, sehingga sangatlah tepat
kalau JDK kita letakkan di sana. Tetapi kita tidak harus sebagai root jika JDK ini
ingin kita letakkan di direktori home kita.
Versi Java yang digunakan di sini adalah Java 1.4, yang di download dari alamat:
http://www.blackdown.org, dengan file hasil download adalah j2sdk-1.4.1-01-linux-
i586-gcc3.2.bin. Dalam tulisan ini, JDK akan diletakkan di /usr/java. Pertama kali
harus dibuat subdirektori java di bawah /usr, kemudian file hasil download
(j2sdk-1.4.1-01-linux-i586-gcc3.2.bin) diletakkan di /usr/java.
$ su
Password:
# cd /usr/java
java]# ls
j2sdk-1.4.1-01-linux-i586-gcc3.2.bin
File ini harus diubah mode-nya menjadi file eksekusi agar bisa dieksekusi. Jika tidak
maka akan terdapat pesan kesalahan pada waktu diinstall. Kemudian untuk meng-
install, jalankan atau eksekusi file tersebut. Berikut ini langkah-langkah mengubah
mode file dan kemudian mengeksekusinya.
java]# ls
j2sdk1.4.1/ j2sdk-1.4.1-01-linux-i586-gcc3.2.bin*
Setelah itu, buatlah file untuk menset CLASSPATH untuk JAVA_HOME, misal
dengan nama setjava.sh. Isi file setjava.sh adalah sebagai berikut ini:
#!/bin/bash
JAVA_HOME=/usr/java/j2sdk1.4.1
CLASSPATH=./
PATH=$JAVA_HOME/bin:$PATH
Perhatian:
Instalasi J2SDK dari Blackdown Java di atas juga berhasil dikakukan pada RedHat
9.0, tetapi pada saat eksekusi program, terdapat kesalahan (warning) pada waktu
program sudah selesai dan akan kembali ke prompt. Dan ini cukup mengganggu.
Untuk itu pada RedHat 9.0, instalasi Java tidak menggunakan J2SDK dari
Blackdown Java, tetapi didownload dari Sun Microsystem, dengan alamat:
http://java.sun.com. File hasil download adalah: j2sdk-1_4_0_02-fcs-linux-
i586.rpm.
/]# cd usr/java
java]# rpm -ivh j2sdk-1_4_0_02-fcs-linux-i586.rpm
Tunggu sampai instalasi selesai. Setelah terinstall, terdapat subdirektori baru, yaitu :
/j2sdk1.4.0_02
java]# ls
j2sdk1.4.0_02 j2sdk-1_4_0_02-fcs-linux-i586.rpm
File setjava.sh pun harus dimodifikasi sedikit dari yang di atas. Letak JAVA_HOME
berubah menjadi berada di: usr/java/j2sdk1.4.0_02. Lebih jelasnya berikut ini isi file
setjava.sh di RedHat 9.0:
#!/bin/bash
JAVA_HOME=/usr/java/j2sdk1.4.0_02
CLASSPATH=./
PATH=$JAVA_HOME/bin:$PATH
Contoh berikut ini adalah suatu aplikasi yang akan menampilkan tulisan Hello
Sayang di layar. Tulislah program seperti pada program 1. Program bisa ditulis
dengan editor text standard di Linux, seperti emacs, joe, vi, dan sebagainya.
Program 1. HelloSayang.java
public class HelloSayang {
public static void main(String[] args){
System.out.println("Hello Sayang.....");
}
}
Sebaiknya sebelum bekerja, kita terlebih dahulu membuat direktori kerja sebagai
tempat menyimpan file-file program java ini. Sebagai contoh, misalnya kita buat
subdirektori : /myjava di direktori home kita. Simpanlah HelloSayang.java ini ke
dalam direktori kerja tersebut, sehingga menjadi: /myjava/HelloSayang.java
Selanjutnya untuk kompilasi dilakukan dengan perintah javac diikuti nama file yang
dikompilasi (javac HelloSayang.java). Hasil proses kompilasi dalam contoh ini
adalah file : HelloSayang.class. File HelloSayang.class inilah yang dieksekusi
dengan perintah java diikuti nama file class-nya(java HelloSayang), untuk
menghasilkan keluaran yang diinginkan.
Catatan:
Untuk eksekusi, ekstensi file class tidak usah diketikkan. Dalam contoh, yaitu :
java HelloSayang (bukan : java HelloSayang.class)
Program 2. HelloSayang2.java
package hello;
public class HelloSayang2 {
public static void main(String[] args){
System.out.println("Hello Sayang.....");
}
}
Hasil kompilasi diletakkan di direktori yang sama. Setelah proses kompilasi berhasil,
akan muncul subdirektori baru bernama hello, sesuai dengan nama paket yang
didefinisikan di dalam program (package hello;). File class (HelloSayang2.class)
akan terletak di dalam subdirektori hello tersebut. Perintah-perintah berikut ini
adalah untuk mengkompilasi dan mengeksekusi program.
Kalau kita lihat struktur subdirektori dan file, akan terlihat seperti berikut,
myjava/HelloSayang2.java
myjava/hello/HelloSayang2.class
Program 3. HelloSayang03.java
package frame01;
import java.awt.*;
import java.awt.event.*;
public HelloSayang03() {
try {
this.setSize(100,100);
label1.setText("Hallo Sayang....");
this.addWindowListener(new
HelloSayang03_this_windowAdapter(this));
this.add(label1, BorderLayout.CENTER);
this.setVisible(true);
}
catch(Exception e) {
e.printStackTrace();
}
}
void this_windowClosing(WindowEvent e) {
this.dispose();
System.exit(0);
}
}
HelloSayang03_this_windowAdapter(HelloSayang03 adaptee) {
this.adaptee = adaptee;
}
public void windowClosing(WindowEvent e) {
adaptee.this_windowClosing(e);
}
myjava//HelloSayang03.java
myjava/frame01/HelloSayang03.class
HelloSayang03_this_windowAdapter.class
Rasanya belum lengkap tulisan ini jika belum menerangkan bagaimana membuat
aplikasi Java applets. Berikut ini kita akan membuat suatu aplikasi yang akan
menampilkan tulisan Hello Sayang dengan applets. Aplikasi applets ini dapat
dipanggil/dijalankan dengan suatu Web browser seperti HotJava, Netscpape, Internet
Explorer, dan sebagainya. Baris program tertulis seperti program 5. Ketikkan
program ini dengan editor text..
Program 5. HelloSayang04.java
package applet01;
import java.applet.*;
import java.awt.*;
Kita juga perlu untuk membuat file html untuk mendukung applets di atas. Berikut
ini file html tersebut, misal diberi nama Hello.html.
Program 6. Hello.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>The Hello Sayang Applet</title>
</head>
<body>
<applet code="applet01.HelloSayang04.class" width="150" height="200">
</applet>
<br>
</body>
</html>
applet01]$ cd..
myjava]$ appletviewer Hello.html
Kita bisa saja menge-test hasil program ini dengan memakai Web Browser. Web
Browser yang dipakai dalam contoh ini adalah Netscape 7.1 dan Mozilla 1.4.
Sebelumnya Netscape/Mozilla ini di-set terlebih dahulu agar mendukung plugin,
supaya applets yang kita buat bisa muncul di browser kita. Caranya, cari letak file
hasil instalasi Netscape/Mozilla. Dalam contoh ini : /usr/local/netscape atau
/usr/local/mozilla, selanjutnya ditulis <Netscape> atau <Mozilla>.
Catatan:
Jika kita menggunakan Web browser Mozilla bawaan dari Mandrake (9.0) atau
RedHat (9.0), maka letak <Mozilla> kemungkinan besar tidak berada di subdirektori
yang disebutkan di atas. Sebagai contoh <Mozilla> bawaan RedHat 9.0 berada di
usr/lib/mozilla-1.2.1.
Selanjutnya:
Jika kita menggunakan j2sdk1.4.0_02 dari Sun, maka nama dan letak library plugin
agak berbeda.
plugins]# ln -s /usr/java/j2sdk1.4.0_02/jre/plugin/i386/ns610/libjavaplugin_oji.so
Dengan Netscape (atau Mozilla) ketikkan alamat file Hello.html. Akan kelihatan
hasilnya.
INSTALASI di WINDOWS
File JDK versi 1.4. untuk Windows dapat dilihat dan di download di
http://java.sun.com/j2se/1.4.1/download.html. Dalam contoh ini nama file hasil
download adalah : j2sdk-1_4_1_01-windows-i586.exe
Untuk menginstall, double-klik file tersebut, J2sdk akan terinstall dengan sendirinya.
Setelah terinstall, misalnya diinstall di C:\, maka hasil instalasi akan terlihat sebagai
berikut,
Selanjutnya kita akan men-set PATH, agar Java kita bisa dipanggil dari mana saja.
Untuk setting PATH di Windows, akan dijelaskan untuk Windows 98 dan Windows
2000.
Microsoft Windows 98
Untuk men-set PATH secara permanen, perlu modifikasi file AUTOEXEC.BAT.
Caranya sebagai berikut:
Dari Sistem editor, pilih "Start", "Run" dan ketikkan sysedit, kemudian klik OK.
Akan muncul beberapa jendela (window). Pilih satu jendela yang menampilkan
AUTOEXEC.BAT
Lihatlah di perintah (statement) PATH (jika tidak ada, tambahkan sendiri). Untuk
mudahnya, tambahkan setting path di bagian yang paling belakang. Penambahan
direktori BIN di dalam PATH adalah sebagai berikut:
PATH C:\WINDOWS;C:\WINDOWS\COMMAND;C:\J2SDK1.4.1_<version
number>\BIN
Di sini tidak ada masalah dengan huruf besar atau huruf kecil. Setiap setting
PATH dipisahkan dengan tanda titik koma (;). Microsoft Windows akan melihat
program di dalam direktori PATH secara berurutan dari kiri ke kanan.
Agar hasil setting masuk ke dalam sistem komputer, restart Komputer atau
eksekusi AUTOEXEC.BAT dengan perintah berikut
C:> c:\autoexec.bat
Dari Sistem editor, pilih "Start", "Settings, Control Panel. Kemudian double-
click System. Pada Microsoft Windows NT, pilih Environment tab. Pada
Microsoft Windows 2000 pilih Advanced tab, dan setelah itu Environment
Variables.
Carilah "Path" di dalam User Variables dan System Variables. Tambahkan setting
path di bagian paling kanan (belakang) di PATH dalam User Variables.
Penambahannya adalah seperti berikut ini
C:\j2sdk1.4.1_<version number>\bin
Di sini tidak ada masalah dengan huruf besar atau huruf kecil. Klik "Set", "OK"
atau "Apply". Setiap setting PATH dipisahkan dengan tanda titik koma (;).
Microsoft Windows akan melihat program di dalam direktori PATH secara
berurutan dari kiri ke kanan.
Hasil setting PATH akan masuk ke dalam sistem komputer.
Lihatlah bahwa penamaan direktori pun bisa dibuat sama dengan yang Linux.
Selanjutnya untuk kompilasi dan eksekusi dilakukan dengan cara yang sama juga
dengan yang di Linux.
Untuk program 2., program 3., contoh di atas bisa dicobakan di Windows dengan
cara yang sama seperti di Linux. Setelah program ditulis dan disimpan di D:\myjava
(sama seperti di Linux), kompilasi dan eksekusinya terlihat berikut ini.
D:\myjava\javac -d . HelloSayang2.java
D:\myjava\java hello.HelloSayang2
Hello Sayang.....
Dan,
D:\myjava\javac -d . HelloSayang03.java
D:\myjava\java frame01.HelloSayang03
Aplikasi applets juga dikerjakan sama dengan di Linux. Setelah program 5., dan
program 6. selesai diketik dan disimpan, maka berikut ini adalah kompilasinya,
D:\myjava\javac -d . HelloSayang04.java
D:\myjava\dir
applet01/ hello/ HelloSayang03.java HelloSayang2.java
frame01/ Hello.html HelloSayang04.java HelloSayang.java
D:\myjava\cd applet01
D:\myjava\applet01\dir
HelloSayang04.class
CLASS
Class merupakan konstruksi logical di mana Java program dibuat. Class ini
mendefinisikan bentuk, rupa, dan karakter suatu obyek. Class merupakan template
dari obyek, sedangkan obyek merupakan wujud dari class. Berikut ini adalah
contoh class dalam program Java.
package kelas;
public Box01() {
panjang = 10;
lebar = 5;
tinggi = 2;
}
public static void main(String[] args) {
Box01 box011 = new Box01();
double volume = panjang*lebar*tinggi;
System.out.println("Volume adalah "+volume);
}
}
Latihan :
Tuliskan program di atas, compile, dan run
Ubahlah panjang, lebar, dan tinggi.
package kelas;
package kelas;
Latihan :
Buat class-class di atas, masing-masing dengan file tersendiri. Caranya
: Click File -> new Class, dst.
Ubahlah sifat private/public pada variabel panjang, lebar, tinggi, dan
metode pada class Box01. Kemudian coba akses dari Class BoxAppl01.
Konstruktor
Konstruktor adalah metode yang menginisialisasi obyek suatu class segera setelah
obyek tersebut dibuat. Nama metode pada konstruktor harus sama dengan nama
class-nya. Sekali suatu obyek didefinisikan, maka konstruktor ini secara otomatis
dipanggil untuk menginisialisasi obyek tersebut. Walaupun pada umumnya suatu
class hanya punya satu konstruktor, tetapi suatu class sebenarnya bisa mempunyai
konstruktor lebih dari satu. Hal ini memungkinkan kita untuk menginisialisasi
suatu obyek dengan berbagai cara. Berikut ini adalah contoh konstruktor lebih
dari satu, dan cara menginisialisasikannya.
package kelas;
public Box01() {
this.panjang = 1; konstruktor
this.lebar = 1;
this.tinggi = 1;
}
package kelas;
Latihan :
Buat class-class di atas, masing-masing dengan file tersendiri. Caranya
: Click File -> new Class, dst.
Inheritans
Inheritans adalah konsep yang memetakan hubungan antar class secara hirarkis, di
mana suatu class merupakan turunan dari class yang lain. Class yang merupakan
turunan disebut sub-class, sedangkan class induk disebut super-class. Suatu sub-
class mewarisi semua variable dan metode class induknya. Di samping itu sub-
class tersebut dapat mendefinisikan variable dan metodenya sendiri yang berlaku
untuk class-nya. Untuk mendefinisikan bahwa suatu class merupakan sub-class
yang lain digunakan perintah extends. Berikut ini adalah contoh program
inheritans, di mana Box02 adalah sub-class Box01.
package kelas;
lebar = l;
tinggi = t;
this.berat = b;
}
}
package kelas;
Outputnya :
Volume kotak 1 = 6000.0
Volume kotak 2 = 4000.0
Berat kotak 2 = 5.0
Latihan :
Dengan Class Box01 yang telah ada, modifikasi Class BoxAppl01,
seperti program di atas
Buat Class Box02
Compile dan run
Super
Perintah super digunakan untuk mengambil inisialisasi superclass, sehingga
inisialisasi sub-class menjadi lebih singkat.
package kelas;
public Box01() {
this.panjang = 1;
this.lebar = 1;
this.tinggi = 1;
}
package kelas;
package kelas;
Outputnya :
Volume kotak 1 = 4000.0 beratnya = 5.0
Volume kotak 2 = 1.0 beratnya = 1.0
Volume kotak 3 = 1000.0 beratnya = 5.0
Volume kotak 4 = 4000.0 beratnya = 5
Latihan :
Modifikasi Class Box01, Box02, BoxAppl01, seperti program di atas
Perhatikan variable Box01 dapat bersifat private
Compile dan run
Method Overriding
Metode pada subclass akan mengkonsumsi semua metode yang telah ada di super-
class. Kecuali jika di subclass telah mendefinisikan metode itu sendiri. Jika
metode di sub-class sama dengan metode di superclass, maka metode yang
dieksekusi oleh program adalah metode pada sub-class. Perhatikan contoh berikut
ini,
package kelas;
double ber;
String war;
vol = box01.volume();
ber = box01.berat;
war = box01.warna();
System.out.println("Volume kotak 1 = "+vol+" beratnya = "+ber);
System.out.println("Warna kotak 1 = "+war);
}
}
Latihan :
Tambahkan metode pada class Box01 berikut ini
Interface
Interface berbentuk seperti class dalam Java, tetapi tanpa variabel dan metodenya
dideklarasikan tanpa isi. Kita mendefinisikan interface tanpa menuliskan rincian
implementasinya. Class-lah nanti yang akan merinci implementasi Interface.
Sebuah class dapat mengimplementasikan beberapa interface sekaligus. Berikut
ini adalah contoh program yang menggunakan interface.
package iface;
package iface;
public Lingkaran(double r) {
this.jari = r;
}
package iface;
package iface;
Interface dapat di-extends seperti halnya pada class. Sub-interface akan mewarisi
semua metode induknya. Di samping itu sub-interface tersebut dapat
menambahkan metode tambahan. Berikut ini adalah contoh program dengan sub-
interface.
package iface;
package iface;
SWING
Paket swing adalah bagian dari Java Foundation Class (JFC) dalam Platform java.
JFC membantu user dalam membuat aplikasi berbasis GUIs. Swing menyediakan
semua komponen dari tombol-tombol yang memisahkan panel dan tabel.
1. Latihan 1
Source Code :
import javax.swing.*;
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //
fungsi tombol exit
frame.pack();
frame.setVisible(true);
}
}
Output :
2. Latihan 2
Source Code
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public Lat_2_Swing() {
add(button);
add(metalButton);
add(motifButton);
add(windowsButton);
}
try {
UIManager.setLookAndFeel(lnfName);
SwingUtilities.updateComponentTreeUI(frame);
frame.pack();
}
catch (Exception exc) {
JRadioButton button = (JRadioButton)e.getSource();
button.setEnabled(false);
updateState();
System.err.println("Could not load LookAndFeel:
" + lnfName);
}
}
}
panel.updateState();
}
}
Output :
Latihan anda :
a) Nama file .java adalah nama anda seperti lat1 melanjutkan
b) Label form menjadi nama anda 1 swing (misal : agus 1 swing)
c) Tombol Contoh Tombol Menjadi Tombol Nama Anda
d) Metal menjadi Logam
e) Sama dengan windows menjadi windows
f) Kompile dan jalankan
g) Capture dan simpan di dokumen yang telah anda buat
3. Latihan 3
Source Code
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
label.setLabelFor(button);
return pane;
}
UIManager.getCrossPlatformLookAndFeelClassName());
} catch (Exception e) {}
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}
Output :
Latihan Anda :
a) Nama file .java adalah nama anda
b) Label form menjadi nama anda 3 swing (misal : agus 3 swing)
c) Tombol Contoh Tombol Menjadi Tombol Nama Anda
d) Kompile dan jalankan
4. Latihan 4
Source Code
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/*
* 4 pilihan (checkbox) yang menyediakan 16 kombinasi
gambar
* Gambar pada masing-masing kombinasi berisi bagian-bagian
gambar
* yang namanya mengindikasikan asesoris
* nama filenya adalah "geek-XXXX.gif"
* dimana XXXX dapat menjadi satu dari 16 pilihan
*
---- // Asesori 0
c--- // Asesori 1
-g--
--h-
---t
cg-- // Asesori 2
c-h-
c--t
-gh-
-g-t
--ht
-ght // Asesori 3
c-ht
cg-t
cgh-
StringBuffer choices;
JLabel pictureLabel;
public Lat_4_Swing() {
setLayout(new BorderLayout());
add(checkPanel, BorderLayout.WEST);
add(pictureLabel, BorderLayout.CENTER);
setBorder(BorderFactory.createEmptyBorder(20,20,20,20));
}
if (source == chinButton) {
index = 0;
c = 'c';
if (e.getStateChange() == ItemEvent.DESELECTED)
c = '-';
choices.setCharAt(index, c);
pictureLabel.setIcon(new ImageIcon(
"images/geek/geek-"
+ choices.toString()
+ ".gif"));
pictureLabel.setToolTipText(choices.toString());
}
}
frame.setContentPane(new Lat_4_Swing());
frame.pack();
frame.setVisible(true);
}
Output :
Latihan Anda
a) Sama seperti latihan sebelumnya
b) Ubah bahasanya menjadi bahasa sunda
c) Terangkan mengenai kombinasi gambar sehingga seolah-olah sistem
hanya menambahkan bagian dari muka saja.
5. Latihan 5
Source Code
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
JLabel picture;
public Lat_5_Swing() {
// Membuat tombol radio.
JRadioButton birdButton = new JRadioButton(birdString);
birdButton.setMnemonic(KeyEvent.VK_B);
birdButton.setActionCommand(birdString);
birdButton.setSelected(true);
setLayout(new BorderLayout());
add(radioPanel, BorderLayout.WEST);
add(picture, BorderLayout.CENTER);
setBorder(BorderFactory.createEmptyBorder(20,20,20,20));
}
frame.getContentPane().add(new Lat_5_Swing(),
BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
}
}
Output :
Latihan Anda
a) Sama seperti latihan sebelumnya
b) Ganti nama bianatang dng bahasa sunda
c) Simpan di file doc
d) Zip file .doc dan semua .java
e) Kirim ke gentayangan
TUGAS II
JDBC
try {
// Class.forName("org.gjt.mm.mysql.Driver"); // Langkah 1
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // langkah1
} catch (Exception E) {
E.printStackTrace();
} // end catch
try {
con =
DriverManager.getConnection("jdbc:odbc:Database1");//,"root","");
// langkah 2 and 3
stmt.close(); // langkah7
con.close();
Database MS Access
Click OK
Data base db1 siap diakses oleh Program
JDBC Program
package jdbc01;
import java.sql.*;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // langkah 1
} catch (ClassNotFoundException cnfe) {
System.err.println(cnfe);
} catch (Exception E) {
E.printStackTrace();
} // end catch
try {
conn = DriverManager.getConnection("jdbc:odbc:db1");
// langkah 2 and 3
stmt = conn.createStatement(); // langkah 4
rs = stmt.executeQuery("SELECT * FROM tabel02");
while (rs.next()) { // langkah 6
System.out.print(rs.getString("Nomer") + " ");
System.out.print(rs.getString("Judul") + " ");
System.out.print(rs.getString("Pengarang") + " ");
System.out.print(rs.getString("Penerbit") + " ");
System.out.print(rs.getString("harga") + " ");
System.out.println("Oke");
} // while
stmt.close();
conn.close();
} catch(SQLException sqle) {
System.err.println("SQLException : " + sqle.getMessage());
} // end cacth
}
}
Hasil Program
Bandingkan
Setting perlu dilakukan pada Control Panel, untuk menset Database yang
dipakai
Pada Java Program tidak diperlukan setting apapun
Sun telah menyediakan driver secara otomatis untuk Access
Hal ini tidak berlaku untuk Sistem Database yang lain, misal: mysql,
oracle, dll.
Mysql Database
Inilah tampilannya
Mysql Database
package jdbc01;
import java.sql.*;
try {
Class.forName("org.gjt.mm.mysql.Driver"); // Langkah 1
} catch (ClassNotFoundException cnfe) {
System.err.println(cnfe);
} catch (Exception E) {
E.printStackTrace();
} // end catch
try {
conn =
DriverManager.getConnection("jdbc:mysql://localhost:3306/test002
","rsn","risanuri");
stmt = conn.createStatement(); // langkah 4
rs = stmt.executeQuery("SELECT * FROM tabel02");
while (rs.next()) { // langkah 6
System.out.print(rs.getString("Nomer") + " ");
System.out.print(rs.getString("Judul") + " ");
System.out.print(rs.getString("Pengarang") + " ");
System.out.print(rs.getString("Penerbit") + " ");
System.out.print(rs.getString("harga") + " ");
System.out.println("Oke");
} // while
stmt.close();
conn.close();
} catch(SQLException sqle) {
System.err.println("SQLException : " +
sqle.getMessage());
} // end cacth
}
}
1 Core Servlets and JSP Marty Hall Prentice Hall 350000 Oke
2 Java 2 Complete Reference Patrick Naughton McGraw Hill 600000 Oke
3 J2EE Unleashed Bambara Allen Sams 600000 Oke
Bandingkan
con =
DriverManager.getConnection("jdbc:mysql://localhost:3306/pasiendreritta","root"
,"");
stmt = con.createStatement();
stmt.executeUpdate("INSERT INTO catatanpasien VALUES('"+ navn[0]
+"','"+ navn[1] +"','"+ navn[2] +"','"+ navn[3] +"','"+ navn[4] +"','"+ navn[5]
+"');");
Mysql tools
Dbtools
Mysql-front
Compile
myjava>javac JDBCTest01.java
Buat subdir jdbc01 di dalam :\myjava
Letakkan JDBCTest01.class pada subdir :\myjava\jdbc01
Eksekusi
\myjava>java jdbc01.JDBCTest01
Hasilnya :
1 Routing TCP/IP Jeff Doyle null 900000 Oke
2 Top Down Network Design Oppenheimer 0 600000 Oke
3 Java Security Jess Gams 0 500000 Oke
J2ME
Arsitektur J2ME
Elemen arsitektur J2ME
J2ME Configurations, mendefinisikan kemampuan dari Java
Virtual Machine dan class-class standar pada suatu devices.
J2ME Profile, Jika J2ME Configuration menyediakan library-
library Java untuk implementasi fitur-fitur standar, J2ME
Profile menyediakan implementasi-implementasi tambahan yang
sangat spesifik dari sebuah devices.
J2ME Configuration
Ada dua kategori J2ME Configuration, yakni :
CLDC (Connected Limited Device Configuration), Nokia,
Samsung Java Phone, Motorola i85s, organizer / PDA (Personal
Data Assistant), Siemens
Ukuran memory 160-512 KiloBytes
CDC (Connected Device Configuration), contoh internet TV,
Nokia Communicator dan car television.
Ukuran memory 2 Mbytes
CLDC CDC
JVM yang digunakan dikenal dengan JVM yang digunakan dikenal dengan
nama KVM (Kilo Virtual Machine) nama CVM (CDC Virtual Machine)
J2ME Profile
J2ME Profile menyediakan implementasi-implementasi tambahan yang
sangat spesifik dari sebuah devices.
Contoh : Siemens bisa menyimpan file MP3, Nokia memiliki game
tersendiri dan lain sebagainya
J2ME Profile dengan basis CDC antara lain :
-Foundation Profile (FP)
-Personal Profile
-RMI Profile
J2ME profile dengan basis CLDC antara lain :
-Personal Digital Assistance Profile (PDA Profile)
-Mobile Information Device Profile (MIDP)
MIDlet
Aplikasi yang berjalan pada sebuah perangkat yang mendukung MIDP
(Mobile Information Device Profile) disebut dengan MIDlet, atau lebih
singkatnya MIDlet merupakan aplikasi dari MIDP
Arsitektur MIDP
Instalasi
Instalasi JDK
-j2sdk-1 4 0 01-windows-i586.exe
Setelah proses instalasi telah dilakukan. maka perlu dilakukan edit
untuk variabel JAVA_HOME, PATH, serta CLASSPATH.
Instalasi J2ME Wireless Tookit
Download
http://java.sun.com/products/ j2mewtoolkit/download.html
J2ME_WIRELESS_TOOLKIT_1_0_4.exe
Program MIDlet
1.Penulisan kode (coding)
2.Kompilasi (compiling)
3.Preverifying
4.Pemaketan (Packaging)
5.Test pada emulator
Hallo.java
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class Hallo extends MIDlet {
private Display display;
public Hallo(){
display = Display.getDisplay(this);
}
public void startApp() {
TextBox t = new TextBox("Contoh MIDlet","Halo Kawan", 256,0);
display.setCurrent(t);
}
public void pauseApp(){
}
public void destroyApp(boolean unconditional){
}
}
Contoh nama Project = Hallo, nama MIDlet class = Hallo. Maka akan
dibuat project baru dengan nama Hallo yang diletakkan pada direktori
e:\J2mewtk\apps\Hallo dengan sub direktori \src, \res dan \lib, yang
mana dalam kasus ini e:\j2mewtk adalah path dimana J2ME Wireless
Toolkit di install
Letakkan file Hallo.java tersebut pada sub direktori \src dari direktori
project Hallo sehingga didapat susunan sebagai berikut :
e:\j2mewtk\appd\
\apps\Hallo\src\Hallo.java
\
Langkah selanjutnya adalah membangun project tersebut, meliputi
kompilasi serta preverify. Langkah ini dilakukan dengan meng-click icon
Build pada Ktoolbar
Aplikasi ke HP beneran
Ciptakan file .jar (contoh = Hallo.jar) yang merupakan file yang berisi
semua file class dari aplikasi.
APLIKASI KE HP
dihasilkan file .jar (java archive) serta file .jad (java application
descriptor)
MIDlet-Version : versi dari MIDlet
MIDlet-Vendor : provider yang menyediakan MIDlet
MIDlet-Name : nama dari MIDlet tersebut
MIDlet-jar-URL : URL dari mana file .jar diletakkan untuk dapat
didownload.
( http://[host]:[port]/[direktori]/[namafile] )
contoh : http://202.169.227.91:8080/MobileBanking.Hallo.jar
MIDlet-Jar-Size : ukuran bytes dari MIDlet
MIDlet-1 : atribut ini mendefinisikan nama, icon serta class
Instalasi ke handphone, Siemens tipe M50 dan SL45i
Instalasi online, OTA (Over The Air).
CSD Settings
Dial-up no : 366
Call type : ISDN
Login name : csd
Password : csd
GPRS Settings
Deactivate GPRS : No
APN : www.indosat-m3.net
Login name : gprs
Password : gprs
Browsing file .jad melalui menu Surf & Fun Internet Bookmark
tambahkan bookmark untuk alamat contoh :
http://202.169.227.91:8080/ MobileBanking/Hallo .jad
Otomatis file *.jad tersebut akan di download ke handphone (sebagai
contoh: Hallo.jad)
Download file .jar (contoh Hallo.jar).
Masuk menu Surf & Fun Games & more
Pilih file .jad yang telah didownload sebelumnya (Hallo.jad).
Pilih options download.
Instalasi Offline
Menggunakan kabel Data serta software DES (Data Exchange Software)
Instal software DES (Data Exchange Software).
Hubungkan handphone (SL45i) dengan kabel data ke komputer.
Dalam Explorer akan ada tambahan satu drive dengan nama
Mobile. Buat direktori Banking pada direktori java/jam dalam
drive Mobile, serta copy file .jad (Hallo.jad) dan file .jar (Hallo.jar)
ke dalamnya.
Dengan langkah tersebut MIDlet sudah terinstal ke handphone
Siemens SL45i. Untuk menjalankan masuk menu Surf & Fun
Java Hallo.
Mengkonfigurasikan Tomcat
Yakinkan bahwa Tomcat telah siap untuk mendengarkan AJP13 requests;
baik JK maupun JK2 kita dapat menggunakan AJP13 untuk
berkomunikasi dengan Tomcat
Kita membutuhkan elemen tambahan <Connector> yang disimpan pada
berkas server.xml
Yakinkan bahwa elemen tambahan tersebut berada didalam elemen
<Service> dan mengikuti tepat setelah elemen <Connector> yang telah
didefinisikan sebelumnya
Server.xml
:
<!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8009" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="10" debug="0" connectionTimeout="20000"
useURIValidationHack="false"
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>
Konfigurasi Apache
File:workers.properties
Berkat Tomcat Worker pada contoh ini sebaiknya diberi nama
workers.properties
workers.properties kita letakkan di :
Apache_Home/conf
Tambahkan properti dibawah ini pada berkas yang kita ciptakan dan
simpan berkas tersebut.
worker.list=testWorker
worker.testWorker.port=8009 worker.testWorker.host=localhost
worker.testWorker.type=ajp13
worker.list=testWorker
worker.testWorker.port=8009
worker.testWorker.host=localhost
worker.testWorker.type=ajp13
1. Copy module mod_jk yang telah kita download sebelumnya dan letakkan
pada direktori <APACHE_HOME>/libexec. Jika kita memakai Apache
versi 1.3.27, maka mod_jk yang dipakai adalah mod_jk-1.3.27.dll.
Rename file ini menjadi mod_jk.dll
2. Beritahukan apache untuk me-load module mod_jk. Kita dapat melakukan
ini dengan menambahkan direktif LoadModule dan AddModule pada
bagian bawah httpd.conf file, seperti dibawah ini:
LoadModule jk_module libexec/mod_jk.dll
AddModule mod_jk.c
Catatan : jika kita bekerja di Unix maka kita melakukan pointing
ke berkas mod_jk-1.3-eapi.so tetapi jika kita bekerja di Windows
maka kita haruslah menunjuk pada berkas mod_jk-1.3.26.dll.
3. Selanjutnya kita pakai file konfigurasi mod_jk.conf. File mod_jk.conf
harus kita panggil (include) dari httpd.conf. Perintahnya adalah
Include conf/mod_jk.conf
mod_jk.conf
4. Langkah ini opsional namun akan amat berguna. Buat berkas baru yang
akan mencatat aksi-aksi mod_jk's. Hal ini dapat kita lakukan dengan
memberi dua properti tambahan pada berkas httpd.conf .
Properti yang pertama adalah, JkLogFile, Yang mengidentifikasikan lokasi
berkas log tersebut.
Sementara yang kedua, JkLogLevel, mendefinisikan tingkat logging yang
hendak kita catat. Terdapat tiga tingkat yakni debug, error, or info, yang
ketiganyaberbeda dalam hal detail informasi saja .
JkLogFile logs/mod_jk.log
JkLogLevel error
5. Beritahukan kepada Apache bahwa kita menginginkan semua isi yang kita
minta dari direktori /examples yang didapat dari direktori
<CATALINA_HOME>/webapps/examples.
Alias /examp "C:\Program Files\Apache Group\Tomcat
4.1\webapps\examples"
<Location "/examples/WEB-INF/">
AllowOverride None
deny from all
</Location>
Selain cara diatas kita juga dapat melakukannya dengan menambah
beberapa baris pada berkas httpd.conf.
LoadModule jk_module libexec/mod_jk.dll
AddModule mod_jk.c
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel debug
Alias /examp C:/...../webapps/examples
JkMount /examples/servlet/* testWorker
JkMount /examples/*.jsp testWorker
<Location "/examples/WEB-INF/">
AllowOverride None
deny from all
</Location>
Apache startup
Pada saat Apache startup:
1. Apache akan me-load modul mod_jk.
2. Lalu beritahukan pada modul mod_jk bahwa semua workers didefinisikan
pada berkas worker.properties, yang dalam hal ini kita mendefinisikan
worker tunggal, testWorker.
3. Apache akan mengasosiasikan semua permintaan dengan pola-pola
/examples/servlet/* dan /example/*.jsp dengan worker testWorker.
4. Ketika ada permintaanyang diterima dari salah satu pola
/examples/servlet/* atau /example/*. maka
1. Apache akan memberikan permintaan tersebut ke modul mod_jk.
2. mod_jk akan mengirimkan permintaan tersebut ke Tomcat
Connector org.apache.ajp.tomcat4.Ajp13Connector, yang
mendengarkannya melalui port 8009.
3. Connector jenis ini akan mengambil semua layanan dan
permintaan yang tengah bekerja di Tomcat container.
4. Ketika permintaan tersebut telah dilayani, maka
org.apache.ajp.tomcat4.Ajp13Connector akan mengembalikannya
ke modul mod_jk dan semua kendali dikembalikan ke Apache.
Pengujian
Pertama aktifkan Tomcat dan kemudian aktifkan pula Server Apache.
Ketika keduanya telah aktif. Buka browser dan isikan salah satu alamat
dibawah ini:
http://localhost/examples/servlets/index.html atau
http://localhost/examples/jsp/index.html dan menjelajahlah untuk
mengecek integrasi yang telah kita lakukan.
Hal diatas hanya melakukan sesuatu yang dasar bagi konfigurasi
Apache/Tomcat. Yang patut mnjadi perhatian adalah semua permintaan
tidak lagi menggunakan port 8080. tetapi menggunakan port localhost. Hal
ini dikarenakan Tomcat mendengarkan port 8080, sementara Apache
melayani permintaan yang mengunakan port default 80, dan semuanya
dilayani oleh Apache.
A. MENGAPA JAVA
Bahasa Java sebagai tulang punggung penulisan sript JSP sehingga
mempelajari bahasa Java adalah penting untuk membuat halaman web dengan
JSP
B. KARAKTER
Pada setiap bahasa pemrograman istilah karakter sangat familiar, yang disebut
karakter dalam JAVA adalah :
Huruf (a - z , A - Z)
Angka (0 - 9)
Simbol (misal * dan !)
C. KATA KUNCI
Java memiliki beberapa buah kata yang termasuk dalam kata kunci atau kata
bercabang, kata kunci memiliki makna khusus dan tidak bisa digunakan
sebagai pengenal.
Beberapa kata kunci dalam JAVA
Abstarct else interface super
booelan extends long swtich
break final native this
byte finaly new throw
case float null throws
catch for package try
char goto private void
class if protected while
Dan masih banyak lagi......Carilah?
D. PENGENAL
Pengenal atau identifier adalah nama yang diciptakan oleh pemrogram yang
digunakan didalam program untuk memberi nama seperti kelas atau variable
dalam program.
Aturan pemberian nama program adalah sebagai berikut :
Karakter pertama berupa huruf, tanda garisbawah (_), atau tanda dolar ($).
Karakter kedua dan seterusnya bisa berupa sembarang huruf atau angka.
Panjang pengenal bebas bisa sepanjang apa saja.
Huruf kapital dan kecil diperlakukan beda (case-sensitif)
Pengenal harus dalam satu kata (tidak mengandung spasi)
byte 8 bit
short 16 bit
int 32 bit
long 64 bit
F. LITERAL
Nilai yang di buat dalam source code java disebut literal, misal anda
menuliskan 5 untuk menyatakan bilangan bulat 5 dan Selamat Datang di
Praktikum JSP untuk menyatakan deretan karakter string.
Literal dalam java dibedakan menjadi :
Literal bilangan
Literal karakter
Literal booelan
Literal string
a) LITERAL BILANGAN
Literal bilangan bulat tergolong sebagai long, simbol L atau l dapat
ditambahkan dibelakang bilangan
Literal Keterangan
4L Bilangan 4 betype long
-4L Bilangan -4 betype long
Contoh :
Literal Keterangan
021 21 oktal
0x21 21 heksadesimal
21 21 desimal (basis 10)
0xA A heksadesimal (=10 desimal).
Buat direktori baru sejajar dengan direktori latihan dengan nama latihan2.
Buatlah coding (source code untik menampilkan data pada tabel diatas
sehingga hasilnya seperti pada laihan 15
Latihan15 (lat15.jsp)
b) LITERAL KARAKTER
Literal digunakan untuk menyatakan sebuah karakter. karakter ditulis
dengan tanda petik tunggal. Contoh
LITERAL KETERANGAN
agus Karakter huruf : agus
# Karakter simbol : #
8 Karakter angka : 8
Didalam java dikenala istilah kode escape yaitu kode kaeakter yang
penulisannya diawali dengan \.
Misal : out.prinln(select * from nama tabel where nama=\agus\;);
c) LITERAL BOOELAN
Litearal yang dapat berupa kata kunci TRUE dan FALSE
TRUE = BENAR
FALSE = SALAH
d) LITERAL STRING
STRING merupakan kombinasi karakter artinya bisa berupa huruf, simbol
dan angka. String pada java bukan tipe data primitif melainkan sebagai
instant kelas bernama STRING
Buatlah script untuk menampilkan kalimat seperti pada contoh di bawah
Latihan 16(lat16.jsp)
e) DEFINISI KONSTANTA
Java memungkinkan pendefinisian melalui kata-kata kunsi final.
Contoh :
final double PI = 3.14;
Menyatakan bahwa PI adalah konstanta bertipe double dengan nilai 3.14.
Kata final menyatakan bahwa PI tidak dapat diubah setelah didefinisikan.
NB : Konstatnta dapat ditulis dengan huruf kapital
Contoh script :
<html>
<head><h2><b>KONSTANTA</b></h2> </head>
<title>Praktikum JSP </title>
<body>
Waktu Sekarang Adalah
<%@ page import="java.util.*" %>
<%= new Date() %>
<br>
<br>
<%
final double PI = 3.14;
double radiusna = 30;
OUTPUTNYA :
G. VARIABLE
Variable merupakan suatu lokasi didalam memori komputer yang digunakan
untuk menyimpan suatu nilai dan nilai yang ada didalamnya bisa diubah.
Variabel dapat dibayangkan sebagai sebuah kotak. Kotak dapat diisi suatu saat
dan pada saat yang lain dapat diubah
a) MENDEKLARASIKAN VARIABLE
Suatu variabel harus dideklarasikan terlebih dahulu sebelum digunakan,
(ingat ....... variabel jangan sama dengan kata-kata kunci dalam
JAVA). di dalam pendeklarasian nama variable dan tipe yang dikandung
harus disebutkan.
tipe namaVar[,namavar]
Tanda [] dalam [,namavar], berarti bahwa yang ada dalam tanda [] bersipat
opsional atau pilihan.
contoh :
VARIABEL KETERANGAN
int namaBarang; Variabel namaBarang bertipe int
float bilPecahan; Variabel bilPecahan bertipe float
char huruf; Variabel huruf bertipe char
booelan kredit; Variabel huruf bertipe booelan
Pada contoh diatas tipe data masing-masing variabel berupa tipe data
primitif, selain tipe data primitif tipe data variable dapat berupa nama
kelas.
Contoh :
String kalimat;
pada sontoh diatas, String adalah nama kelas yang disediakan oleh java
variabel = nilai;
Nilai yang diberikan dapat berupa literal, variabel atau bahkan suatu
ekpresi yang melibatkan operator
contoh :
PENUGASAN KETERANGAN
jumlahBarang = 10; Variabel diisi dengan bilangan bulat10
bilReal = 2.5f; Variabel diisi dengan bilangan 2.5 bertipe
float
huruf = A; Variabel diisi dengan karakter A
kalimat = Halo, agus; Variabel diisi dengan kalimat Halo, agus
Penugasan sejumlah variabel dengan sejumlah nilai yang sama dapat juga
didekalrasikan sebagai berikut :
x = y = z = 0;
c) VARIABEL PRIVATE
Pada JSP anda bisa mendeklarasikan suatu variabel yang diawali dengan
kata prvate. Variabel seperti ini membuat isi variable akan diingat terus
sampai Web Service dimatikan (Shut Down).
Contoh :
Latihan 18 (lat18.jsp)
<html>
<head><h2>PRIVATE</h2> </head>
<title>Praktikum JSP </title>
<body>
Waktu Sekarang Adalah
<%@ page import="java.util.*" %>
<%= new Date() %>
<br>
<br>
<%!
private int hitung = 0;
%>
<%
hitung++;
out.println("Hit Counter : "+ hitung);
%>
</body>
</html>
Outputnya :
H. EKSPRESI
Ekspresi atau ungkapan adalah suatu bentuk yang menghasilkan suatu nilai.
Dalam bentuk yang sederhana, ekspresi berupa sebuah literal atau variabel .
Dalam bentuk yang lebih kompleks, suatu ekspresi melibatkan operator atau
operand. Sebagai contoh :
2+3
Suatu bentuk ekspresi yang menghasilkan nilai 5. Dalam hal ini 2 dan 3
merupakan operand dan + merupakan operator dan gabungan dari operator dan
operand disebut ekspresi.
Salah satu contoh pemakaian ekspresi adalah pernyataan yang menggunakan
println(). sebagai contoh :
out.println(1 + 2 * 3);
akan menampilkan hasil ekspresi dari 1 + 2 * 3
I. OPERATOR
Operator merupakan simbol atau karakter khusus yang digunakan dalam suatu
ekspresi untuk menghasilkan suatu nilai. Beberapa kelompok operator :
Operator Aritmetika
Operator penambahan dan penguruangan
Operator penugasan
Operator pembandingan
Latihan 19 (lat19.jsp)
<html>
<head><h2>ARITHMETIKA</h2> </head>
<title>Praktikum JSP </title>
<body>
Waktu Sekarang Adalah
<%@ page import="java.util.*" %>
<%= new Date() %>
<br>
<br>
<%
out.println("1 + 2 + 3 = "+(1+2+3));
out.println("<br>");
out.println("13 % 5 = "+(13 % 5));
out.println("<br>");
out.println("13 % 5.2 = "+(13 % 5.2));
out.println("<br>");
out.println("13 / 5 = "+(13 / 5));
out.println("<br>");
out.println("13 / 5.2 = "+(13 / 5.2));
%>
</body>
</html>
Outputnya :
Latihan 19b(lat19b.jsp)
Buatlah tampilan sehingga bentuk operasi aritmetika seperti pada gambar
dibawah ini :
<html>
<head><h2>ARITHMETIKA</h2> </head>
<title>Praktikum JSP </title>
<body>
Waktu Sekarang Adalah
<%@ page import="java.util.*" %>
<%= new Date() %>
<br>
<br>
<%
int x, y;
x = 5;
y = 8 - x++;
out.println("Contoh 1:");
out.println("<br>");
out.println("x = "+ x + " y = " + y);;
out.println("<br>");
out.println("<br>");
out.println("Contoh 2:");
x = 5;
y = 8 - ++x;
out.println("<br>");
out.println("x = "+ x + " y = " + y);;
out.println("<br>");
out.println("<br>");
out.println("Contoh 3:");
x = 5;
y = 8 - x--;
out.println("<br>");
out.println("x = "+ x + " y = " + y);;
out.println("<br>");
out.println("<br>");
out.println("Contoh 4:");
x = 5;
y = 8 - --x;
out.println("<br>");
out.println("x = "+ x + " y = " + y);;
out.println("<br>");
out.println("<br>");
%>
</body>
</html>
Outputnya
Latihan 20b(lat20b.jsp)
Ubah tampilan menjadi bentuk tabel
Contoh 1 Contoh 2 Contoh 3 Contoh 4
x=6y=3 x=6y=2 x=4y=3 x=4y=4
c) OPERATOR PENGGABUNGAN
<html>
<head><h2>Contoh Operator</h2> </head>
<title>Praktikum JSP </title>
<body>
Waktu Sekarang Adalah
<%@ page import="java.util.*" %>
<%= new Date() %>
<br>
<br>
<%
String hasil;
hasil = "2" + 4;
Outputnya :
d) OPERATOR BIT
Java mendukung 7 buah operator yang beroperasi pada level bit (0 dan 1),
yaitu :
& (dan untuk biner)
| (atau untuk biner)
^ (atau eklusif)
- (bukan untuk biner)
<< (geser kiri)
>> (geser kanan)
>>> (geser kanan tak bertanda)
Operator &
kondisi 1 jika dan hanya jika kedua bit bernilai 1 dan kondisi 0 jika salah
satu atau kedua bit bernilai salah.
Bit1 Bit2 Hasil
0 0 0
0 1 0
1 0 0
1 1 1
Contoh :
9 & 10 akan memberikan hasil 8
19 & 7 akan menghasilkan 5
Ingat rumus dari kiri ke kanan 256 128 64 32 16 8 4 2 1
9= 1001
10 = 1100
1000
1000 = 8
Begitu juga operasi untuk or (jika dan hanya jika salah satu bit ada yang
bernilai 1) dan ekslusif (jika dan hanya jika salah satu bit bernilai 1)
e) OPERATOR PENUGASAN
berfungsi untuk memberikan nilai terhadap variabel. Operator yang
tergolong ke dalam operator penugasan :
Operator Keterangan
= Pemberian Nilai
+= Penambahan Bilangan
-= Pengurangan Bilangan
*= Pengalian Bilangan
/= Pembagian Bilangan
%= Pemerolehan sisa bagi
Latihan 23 (lat23.jsp)
<html>
<head><h2>Operator Penugasan</h2></head>
<title>Praktikum JSP </title>
<body>
Waktu Sekarang Adalah
<%@ page import="java.util.*" %>
<%= new Date() %>
<br>
<br>
<%
int a = 5;
int b = 10;
int c = a + b;
out.println("<br>");
out.println(a+" +");
out.println(b+" = "+c+"<br>");
/* ubah penugasan dengan /= dan %= menjadi lat23b.jsp dan
la23c.jsp */
a -=2 ;
out.println(a+"<br");
%>
</body>
</html>
+-
<< >> >>>
-e, -r
< <= > >=
== !=
&
^
|
&&
||
?:
= += -= *= /= %= ^=
&= |= <<= >>= >>>= Prioritas Rendah
Latihan 24 (lat24.jsp)
<html>
<head><h2>Operator Penugasan</h2></head>
<title>Praktikum JSP </title>
<body>
Waktu Sekarang Adalah
<%@ page import="java.util.*" %>
<%= new Date() %>
<br>
<br>
<%
int a = 67;
char huruf = (char) a;
out.println(huruf);
%>
</body>
</html>
Outpnya :
Nilai 67 menjadi C jika diubah ke char karena kode ascii 67 untuk karakter
adalah C
L. MENGENAL KELAS
Sebagai pemrogaraman berorientasi objek, pada java dikenal istilah kelas dan
objek. Analogi untuk kelas dan objek dianalogikan sebagai berikut :
Kelas adalah cetakan kue dan objek adalah objek adalah hasil cetakan kue.
a) METODE
Setiap kelas memiliki data dan metode. Metode adalah suatu prosedur
(kompulan kode) yang ditujukan untuk mengakses data. Data yang
terdapat dalam kelas sering disebut variable instatnt atau field.
Kelas yang sudah diperkenalkan adalah GregorianCalendar
Misalnya :
GregorianCalendar sekarang = new
GregorianCalendar();
Pada contoh tersebut new GregorianCalendar(); adalah untuk menciptakan
objek berkelas GregorianCalendar yang selanjutnya diberi nama variabel
sekarang.
Selanjutnya variabel sekarang dideklarasikan dengan mengambil metode
yang terdapat dalam kelas GregorianCalendar
int kode_hari =
sekarang.get(Calendar.Day_Of_Week);
b) MEMBUAT KELAS
Sebuah kelas dibuat dengan menggunakan kata kuci class. Contoh :
class tabel_mahasiswa {
int no_mhs;
String nama;
String alamat;
}
Script diatas menunjukkan bahwa kita telah membuat kelas bernama
%>
<br>
<br>
<%
tabel_mahasiswa mahasiswa = new
tabel_mahasiswa(32040040,"Agus Ramdhani Nugaraha",
"Jl Tentara Pelajar Gg H Idi No 19 Tasikmalaya");
out.println("No MHS : "+mahasiswa.npm()+"<br>");
out.println("Nama : "+mahasiswa.nami()+"<br>");
out.println("Alamat : "+mahasiswa.imah()+"<br>");
%>
</body>
</html>
Outputnya :
this.alamat = alamat;
}
Merupakan konstruktor dari kelas tabel_mahasiswa yang digunakan untuk
menciptakan metode khusus untuk memberikan nilai awal saat objek
diciptakan. Metode ini akan otomatis dipanggil saat new digunakan untuk
menciptakan instant kelas. Sifat konstruktor adalah namanya sama dengan
nama kelas.
This mengacu pada kelas tabel_mahasiswa :
this.no_mhs = no_mhs;
Berarti variabel instant no_mhs (milik kelas tabel_mahasiswa) diisi
dengan parameter no_mhs
Pernyataan :
tabel_mahasiswa mahasiswa = new
tabel_mahasiswa(32040040,"Agus Ramdhani Nugraha",
"Jl Tentara Pelajar Gg H Idi No 19 Tasikmalaya");
Digunakan untuk menciptakan objek berkelas tabel_mahasiswa dan objek
yang dirujuk oleh tabel_mahasiswa bernama mahasiswa.
out.println("Alamat : "+mahasiswa.imah()+"<br>");
Diginakan untuk memanggil metode yang terdapat dalam kelas
tabel_mahasiswa
* BilBaru));
}
%>
<body>
</body>
</html>
Outputnya
PRAKTIKUM JSP
Latihan 2 (lat02.jsp)
<html>
<head><h2><b>Latihan Kedua</b></h2> </head>
<title>Praktikum JSP </title>
<body>
</body>
</html>
Latihan 3 (lat03.jsp)
<html>
<head><h2><b>Latihan Ketiga</b></h2> </head>
<title>Praktikum JSP </title>
Latihan 4 (lat04.jsp)
<html>
<head><h2><b>Latihan Keempat</b></h2> </head>
<title>Praktikum JSP </title>
</body>
</html>
</body>
</html>
Latihan 5 (lat05-b.jsp)
<html>
<head><h2><b>Latihan Kelima Menangkap Parameter</b></h2>
</head>
<title>Praktikum JSP </title>
</body>
</html>
Untuk dipraktekan :
Modifikasi script diatas sehingga variable yang ditangkap oleh lat05-b.jsp di
beri font bold
6. Pernyataan Berkondisi
Pernyataan kerkondisi adalah suatu kejadian dimana terdapat lebih dari satu
kondisi. Jika satu kondisi tidak terpenuhi maka akan berlanjut ke kondisi
berikutnya .
Latihan 6 (lat06.jsp)
<html>
<head><h2><b>Latihan Keenam</b></h2> </head>
<title>Praktikum JSP </title>
<body>
if (kode_hari == 7)
out.println("<b>Hari Sabtu</b>");
else
out.println("<b>Bukan Hari Sabtu</b>");
%>
</body>
</html>
Output
if (kode_hari == 7){
%>
<b>Hari Sabtu</b>
<% }
else {
%>
<b>Hari Sabtu</b>
<% }
%>
</body>
</html>
if (kode_hari == 1)
out.println("<b>Hari Minggu</b>");
else
if (kode_hari == 2)
out.println("<b>Hari Senin</b>");
else
if (kode_hari == 3)
out.println("<b>Hari Selasa</b>");
else
if (kode_hari == 4)
out.println("<b>Hari Rabu</b>");
else
if (kode_hari == 5)
out.println("<b>Hari Kamis</b>");
else
if (kode_hari == 6)
out.println("<b>Hari Jumat</b>");
else
out.println("<b>Hari Sabtu</b>");
%>
</body>
</html>
Outputnya
7. Pengulangan / Looping
Pengulangan sering digunakan dalam setiap pemrograman untuk
memperpendek proses coding
Latihan 7 (lat07.jsp)
<html>
<head><h2><b>Latihan Ketujuh</b></h2> </head>
<title>Praktikum JSP </title>
<body>
%>
<br>
<br>
Outputnya :
8. Mendeklarasikan metode
Pada bagian 4 (tag deklaratif ) disebutka bahwa <%! ......%> digunakan untuk
mendeklarasikan variable. Pada bagian ini akan dijelaskan penggunaatag
deklaratif untuk mendeklarasikan metode
Latihan 8 (lat08.jsp)
<html>
<head><h2><b>Latihan Kedelapan</b></h2> </head>
<title>Praktikum JSP </title>
<br>
<%!
public int jumlah(int x, int y){
return(x+y); //mendeklarasikan jumlah
}
%>
<%
out.println("Nama Host :");
out.println( request.getRemoteHost());
// penggunaan metode jumlah
out.println(" <br>Hasil pertambahan metode jumlah =
"+"<b>"+jumlah(1, 2)+"</b><br>");
int var_baru = jumlah (10, 2);
out.println("Variabel baru : <b>"+var_baru+"</b>");
%>
<body>
</body>
</html>
Outputnya:
Pernyataan
public int jumlah(int x, int y){
return(x+y);}
Public menyatakan bahwa metode bersifat public (dapat di akses di mana
saja). Kata int terletak didepan jumlah untuk menyatakan bahwa metode
jumlah mempunyai nilai bertipe int (bilangan bulat), selanjutnya int x dan int y
memiliki dua buah parameter yaitu x dan y, dengan masing-masing bertipe
integer.
Pernyataan return(x+y) merupakan perintah untuk memberikan nilai pada
metode jumlah berupa penjumlahan nilai x dan y.
Pernyataan
int var_baru = jumlah (10, 2);
Variable baru (var_baru) adalah pemanggilan metode jumlah, untuk
menjumlahkan int 10 dan 2
AKSES DATABASE
Latihan 9 (lat9.jsp)
<html>
<head><h2><b>Latihan Ke-9 (Tes Koneksi)</b></h2> </head>
<title>Praktikum JSP </title>
<body>
try {
Class.forName("com.mysql.jdbc.Driver");
}
catch(Exception ex){
out.println( "Kesalahannya :" + ex);
ada_kesalahan = true;
}
if (!ada_kesalahan){
// script koneksi
Connection koneksi = null;
try {
koneksi =
DriverManager.getConnection("jdbc:mysql://localhost/forum","java","java");
Output :
Untuk dipraktekan :
1. Matikan mysql server ? Apa yang terjadi ?
2. Ubah user atau password dengan user atau password
yang tidak terdaftar di Mysql server !! Apa yang
terjadi?
koneksi =
DriverManager.getConnection("jdbc:mysql://localhost/
forum","java","java");
Latihan 10 (lat10.jsp)
<html>
<head><h2><b>Latihan Ke-10 (Ambil Data Dari DB)</b></h2> </head>
<title>Praktikum JSP </title>
<body>
<%
try {
Class.forName("com.mysql.jdbc.Driver");
}
catch(Exception ex){
out.println( "Kesalahannya :" + ex);
ada_kesalahan = true;
}
// script koneksi
Connection koneksi = null;
try {
koneksi =
DriverManager.getConnection("jdbc:mysql://localhost/java","java","java");
;
}
catch(Exception ex){
out.println( "Kesalahannya : " + ex);
}
if (!ada_kesalahan){
ResultSet query01 = null;
try {
Statement stm = koneksi.createStatement();
query01 = stm.executeQuery(
"select mahasiswa.no_mhs, mahasiswa.nama,"+
"mata_kuliah.kodemk, nilai.nilai from mahasiswa inner "+
"join nilai on mahasiswa.no_mhs=nilai.no_mhs inner join mata_kuliah
"+
" on mata_kuliah.kodemk=nilai.kodemk");
}
catch(Exception ex){
out.println( "Kesalahannya : " + ex);
ada_kesalahan = true;
}
if (!ada_kesalahan){
out.println("<table border=\"1\">");
out.println(
"<tr><th>No Mhs</th><th>Nama</th><th>Kode MK</th>"+
"<th>Nilai</th>");
try {
while (query01.next()){
String no_mhs = query01.getString("no_mhs");
out.println("<tr><td>"+no_mhs+"</td><td>"+nama+"</td><td>"+
kodemk+"</td><td><center>"+nilai+"</center></td></tr>");
}
}
catch(Exception ex){
out.println("Kesalahan : " + ex);
}
out.println("<table>");
}
}
%>
</body>
</html>
Outputnya :
Untuk dipraktekan :
1. Ubah Nama variable string dibawah menjadi
String no_mhs = query01.getString("no_mhs"); //
menjadi satu
2. Save as file lat10.jsp menjadi lat11.jsp dan perbaharui perintah sql dan
variable string sehingga tampilan menjadi :
3. Save as file lat11.jsp menjadi lat12.jsp dan perbaharui perintah sql dan
variable string sehingga tampilan menjadi :
4. Simpan script di bawah ini dengan nama java2.sql dan restore ke dlm database
mysql anda.
Hasil query
Ketentuan sistem
Jika input box bernilai mahasiswa MI dan combobox adalah mahasiswa TI
maka keluaran adalah null berlaku sebaliknya
Perhitungan IPK adalah A=4, B=3, C=2, D=1 dan E=0 jadi untuk kasus
mahasiswa dengan nama Rara Jongrang perhitungannya bisa dilihat di
lat11.jsp yaitu Total nilai = 10 dibagi jumlah semua SKS yang telah
diambilnya yaitu 4 (agama dan pancasila)
8/4 = 2,50
Untuk file lat13-a.jsp dan lat13-b.jsp digunakan database java2
Latihan 14 (lat14-a.jsp)
<html>
<head><h4>Tambah Data Mahasiswa</h4>
<title>Menambah Mahasiswa</title>
</head>
<body>
<form action="lat14-b.jsp" method=post>
<td>NPM</td><br>
<td><input name="no_mhs" type="text" id="no_mhs"
value="" size="8" maxlength="8"></td><br>
</tr>
<tr>
<td>Nama</td><br>
<td><input name="nama" type="text" id="nama" value=""
size="25" maxlength="25"></td><br>
</tr>
<tr>
<td>Jurusan</td><br>
<select name="pilihan">
<option value="ti">Teknik Informatika</option>
<option value="mi">Manajemen Informatika</option>
</select><br>
</td>
</tr>
<tr>
<td>Angkatan</td><br>
<tr>
<input name="Submit" type="submit" id="Submit"
value="Tambah">
<input name="Submit2" type="reset" id="Submit2"
value="Reset">
</form>
<form action="lat14-c.jsp" method=post>
<input name="Submit" type="submit" id="Submit"
value="Lihat Data">
</form>
</font></td>
</tr>
</body>
</html>
lat14-b.jsp
<%@page import="java.sql.*" %>
Class.forName("org.gjt.mm.mysql.Driver");
Connection koneksi = null;
koneksi = DriverManager.getConnection("jdbc:mysql://localhost/java2",
"java", "java");
ResultSet hasilquery = null;
Statement stmt = koneksi.createStatement();
stmt.executeUpdate(sql);
stmt.close();
koneksi.close();
}
%>
<jsp:forward page="lat14-c.jsp"/>
lat14-c.jsp
<%@ page contentType="text/html; charset=iso-8859-1"
language="java" import="java.sql.*" errorPage="" %>
<html>
<head><h4> Data Mahasiswa</h4>
<title> Data Mahasiswa</title>
</head>
<body>
<form action="lat14-a.jsp" method=post>
<%
//=============================================================
Class.forName("org.gjt.mm.mysql.Driver");
Connection koneksi = null;
koneksi =
DriverManager.getConnection("jdbc:mysql://localhost/java2",
"java", "java");
ResultSet hasilquery = null;
Statement stmt = koneksi.createStatement();
//=============================================================
%>
<tr>
<td bgcolor=#CCCCCC><center>NPM</center></td>
<td bgcolor=#CCCCCC><center>Nama</center></td>
<td bgcolor=#CCCCCC><center>Jurusan</center></td>
<td bgcolor=#CCCCCC><center>Angkatan</center></td>
<td bgcolor=#CCCCCC><center>Alamat</center></td>
</tr>
<%
int no_mhs = 0;
String sql = "select * from mahasiswa";
hasilquery = stmt.executeQuery(sql);
while(hasilquery.next())
{
out.println("<tr><td>"+hasilquery.getInt("no_mhs")+"</td>" );
out.println("<td>"+hasilquery.getString("nama"
)+"</td>" );
out.println("<td><center>"+hasilquery.getString("jurusan"
)+"</center></td>" );
out.println("<td><center>"+hasilquery.getInt("angkatan") +
"</center></td>" );
out.println("<td>"+hasilquery.getString("alamat"
)+"</td>" );
no_mhs = hasilquery.getInt("no_mhs");
}
stmt.close();
koneksi.close();
%>
</table>
<br>
</tr>
</form>
</body>
</html>
PENGAMBILAN KEPUTUSAN
A. Ekspresi Booelan
Ekspresi booelan adalah ekspresi yang nilai benar(true) dan salah(false).
Ekspresi booelan bisa digunakan dalam kondisi IF dan pernyataan
pengulanagn DO...While
B. Operator Pembanding
Operator Arti Contoh
== Kesamaan A == B
!= Ketidaksamaa A != B
> Lebih dari A>B
< Kurang dari A<B
>= Lebih dari sama dengan A >= B
<= Kurang dari sama dengan A <= B
Latihan 27 (lat27.jsp)
<html>
<head><h2>Operator Pembanding</h2></head>
<title>Praktikum JSP </title>
<body>
Waktu Sekarang Adalah
<%@ page import="java.util.*" %>
<%= new Date() %>
<%
int a = 10;
int b = 20;
out.println("<br>");
out.println("<br>");
out.println(a + "==" +b+ " : "+(a==b)+"<br>");
out.println(a + "!=" +b+ " : "+(a!=b)+"<br>");
out.println(a + "<" +b+ " : "+(a<b)+"<br>");
out.println(a + "<=" +b+ " : "+(a<=b)+"<br>");
out.println(a + ">" +b+ " : "+(a>b)+"<br>");
out.println(a + ">=" +b+ " : "+(a>=b)+"<br>");
%>
</body>
</html>
Outputnya :
C. Operator Logika
Operator Makna Contoh
&& Dan ($a ==$b) && ($c != &d)
|| Atau ($a ==$b) && ($a ==
&c)
! Bukan !($a ==$b)
Latihan 28 (lat28.jsp)
<html>
<head><h2>Operator Logika</h2></head>
<title>Praktikum JSP </title>
<body>
Waktu Sekarang Adalah
<%@ page import="java.util.*" %>
<%= new Date() %>
<%
char kar = 'a';
out.println("<br>");
out.println("<br>");
out.println("Karakter " + kar +"<br>");
%>
</body>
</html>
Outputnya :
DAFTAR PUSTAKA