Anda di halaman 1dari 103

Panduan Praktikum

Pemrograman Berorientasi Objek (java)

MUDOL
PANDUAN PRAKTIKUM
PEMROGRAMAN BERORIENTASI OBJEK (JAVA)

DISUSUN OLEH:

KOMANG ARYASA, S.Kom.,M.T


ERFAN HASMIN S.Kom.,M.T

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER (STMIK)


DIPANEGARA MAKASSAR
2019
Revised By @Komang Aryasa 1
Panduan Praktikum
Pemrograman Berorientasi Objek (java)

PENDAHULUAN

Pemrograman berorientasi objek (object-oriented programming


disingkat OOP) merupakan paradigma pemrograman yang berorientasikan
kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam
kelas-kelas atau objek-objek. Model data berorientasi objek dapat memberi
fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas
dalam teknik piranti lunak skala besar.

Ada beberapa bahasa pemrograman yang sudah mendukung object-


oriented programming diantaranya : Delphi, Visual Foxpro, Visual basic.Net,
PHP, Java dll., dalam praktikum Pemrograman Berorientasi Objek ini akan di
implementasikan kedalam bahasa pemrograman Java. Sebagai sebuah
bahasa pemrograman, Java dapat membuat seluruh bentuk aplikasi, desktop,
web dan lainnya, sebagaimana dibuat dengan menggunakan bahasa
pemrograman konvensional yang lain. Java adalah bahasa pemrograman yang
berorientasi objek (OOP) dan dapat dijalankan pada berbagai platform sistem
operasi dibandingankan dengan bahasa pemrograman yang lain.
Perkembangan Java tidak hanya terfokus pada satu sistem operasi, tetapi
dikembangkan untuk berbagai sistem operasi dan bersifat open source.

Syarat Pembuatan Program JAVA :


➢ Instal Java SDK di komputer anda ➔ Download disini
:http://developers.sun.com/downloads/ JDK yang digunakan pada
Mata Kuliah ini adalah versi terbaru saat ini: JDK1.6.0 update 24
➢ Kemudian Siapkan editor text, seperti Notepad, Dos Edit, atau Java-
Editor lain (mis: JCreator.exe) untuk mengetikan code program java.
Disarankan menggunakan Editor Text yang sudah berbasis GUI seperti
JCreator.exe
Yang perlu anda ketahui, dua format program java sebagai berikut:
1. Java Application, → stand-alone
2. Java Applet, → web-based

Revised By @Komang Aryasa 2


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

1. Stuktur Program Java Application / Program Aplikasi


Struktur umum program Aplikasi java adalah sebagai berikut :

import java.nama_library;
class nama_program {
public static void main(String[] args)
{
// defenisi variabel
……………
// instruksi-instruksi
……………
}
}

Atau
import java.nama_library;
class nama_program {
public static void main(String args [])
{
// defenisi variabel
……………
// instruksi-instruksi
……………
}
}

Langkah pembuatan java aplikasi:


– Buka editor seperti NotePad, Dos Edit atau Jcreator seperti dibawah ini:

Revised By @Komang Aryasa 3


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

– Ketik programnya
– Kemudian Save As: nama_program.java
– Keluar dari Editor
– Kompilasi: >javac nama_program.java
– Jika ada error perbaiki code programnya, Bila tak ada error, run-
program: >java nama_program

Contoh :

Revised By @Komang Aryasa 4


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

2. Struktur Program Applet


Struktur umum program Aplikasi Applet adalah sebagai berikut

import java.applet.*;
import java.nama_class.* ;
public class nama_applet extends Applet
{
// defenisi variabel
….
// instruksi-instruksi
….
public void paint (Graphics g)
{
…………………………
}
}

Langkah pembuatan Applet :


– Buka editor,
– Ketik program,
import java.awt.*;
import java.applet.*;
public class AppletHallo extends Applet {
Font f = new Font("TimesRoman", Font.BOLD, 18);
public void paint(Graphics g) {
g.setFont(f);
g.setColor(Color.blue);
g.drawString("HalloSTMIK DIPANEGARA MKS ", 5, 25);
}
}

– kemudian Save as dengan nama file AppletHallo.java pada Folder


yang anda buat di drive D:<08xxxx>\
– Kompilasi: >javac AppletHalo.java

– Kemudian Buat Tag HTML berikut ini :


<html>
Revised By @Komang Aryasa 5
Panduan Praktikum
Pemrograman Berorientasi Objek (java)

<head><title>Contoh Applet </title></head>


<body>
<P> Saya Mengucapkan :
<applet code=“AppletHallo.class” width=300 height=500>
</applet>
</body>
</html>

– Simpan dengan nama file AppletHaloo.html


– Kemudian Jalankan HTML di browser anda.

Revised By @Komang Aryasa 6


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

PRAKTIKUM 1
DASAR DASAR PEMROGRAMAN JAVA
Sub Pokok Bahasan :
➢ Variabel dan array, keyword, Tipe Data, literal, Type-casting, Error
trapping & handling, Perintah input/output

Tujuan Instruksional Khusus:


Setelah melakukan praktikum pada bab ini mahasiswa diharapkan mampu :
➢ Mengetahui aturan penamaan indentifier
➢ Mengenal Keyword/ kata kunci yang ada di java
➢ Mengetahui Tipe-tipe Data dasar dalam java
➢ Mengetahu bentuk perubahan tipe data / Casting di java
➢ Mengetahui macam-macam operator di java
➢ Mengenal instuksi input dan output

Teori Dasar :
KeyWord merupakan perbendaharaan kata dari bahasa pemrograman java,
dimana keyword ini tidak bisa digunakan sebagai nama variable. Berikut daftar
keyword dalam java:

Revised By @Komang Aryasa 7


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

Variabel adalah representasi data


◼ Aturan pendefinisian nama variabel:
 Setiap variabel harus diawali oleh huruf / abjad
 Karakter kedua boleh huruf, angka, atau simbol
 Tidak boleh ada spasi didalamnya, kata bisa dipisah dengan
underscore ‘_’
 Bukan keyword
 Pada saat deklarasi harus disertai dengan tipe data
Deklarasi Variabel :
<TipeData> <NamaVariabel>

Tipe Data : Primitif (Sederhana) dan Bentukan (Komplek)


Tipe Data Primitif:
Tipe data Keterangan
boolean tipe logik, nilainya true atau false.
Byte 8-bit 2s-compliment integer dengan nilai antara -
128 s/d 127.
Short 16-bit 2s-compliment integer , nilai antara -32,768 s/d
32,767.
Char 16-bit Unicode characters, dapat digunakan untuk
angka ASCII 16-bit nilai antara 0 s/d 65535.
Int 32-bit 2s-compliment integer, antara -2,147,483,648 s/d
2,147,483,647.
Long 64-bit 2s-compliment integer antara
-9223372036854775808 s/d +9223372036854775807.
Float 32-bit single precision floating point numbers using the
IEEE 754-1985 standard .
Double 64-bit double precision floating point numbers using the
IEEE 754-1985 standard

Tipe Data Bentukan:


1. Tipedata untuk untaian karakter: String, StringBuffer
2. Tipedata untuk array/larik:
int A[ ]=new int[10];
byte buffer[ ] = new byte[80];
Revised By @Komang Aryasa 8
Panduan Praktikum
Pemrograman Berorientasi Objek (java)

Literal adalah nilai yang diberikan kepada suatu variable atau nilai konstan
yang terlihat secara explicit.
(1) Bilangan biasa / desimal : 5, -35, 1230, -34567 Literal Untuk
(2) Bilangan Octal : 0777, 0004, 0345 Bilangan bulat

(3) Bilangan Hexadecimal : 0xFF, 0x3F4D


(4) Titik desimal : 0.2345, 123.543, -34.67
Literal Untuk
(5) Eksponen: 10E05, 1.25e12, 3.45e-05 Bilangan pecahan
(6) Nilai boolean: true atau false.
(7) Nilai untuk karakter, bisa dinyatakan dalam tanda kutip tunggal, misalnya:
‘a’, ‘x’, dan ‘z’.
Beberapa karakter memiliki arti khusus seperti yang dapat dilihat dari tabel
berikut ini:
\n pindah ke baris baru
\t pindah satu tabulasi kekanan
\b backspace
\r carriage return
\f halaman baru (form feed)
\\ backslash
\’ single quote
\” double quote
(8) Nilai string dapat diperoleh dengan cara menempatkan deretan karakter
diantara dua tanda kutip, misalnya: “Stmik Dipanegara”

Type Casting Pemberian nilai <variabel> = <ekspressi> menimbulkan “data-


type casting” bila tipe ekspressi tidak sama dengan tipe variabel
Contoh :
double y;
int x;
• x = 5.0 / 2 →hasilnya akan terjadi error karna hasil expresi tidak
sama dengan tipe variable
• x=(int) 5.0/2 → hasilnya 2
• y =5/2 → hasilnya = 2 bukan 2.5
• y=(double) 5/2 → hasilnya 2.5
Revised By @Komang Aryasa 9
Panduan Praktikum
Pemrograman Berorientasi Objek (java)

Tabel data-type casting yang diperkenankan:

dari Type ke Type


byte short, char, int, long, float, double
short int, long, float, double
char int, long, float, double
int long, float, double, char
long float, double
float Double

Promosi Type Data pada Java java secara otomatis akan melakukan
promosi type data dalam proses matematika dengan pedoman sebagai berikut:
1. byte dan short akan dipromosikan ke int
2. jika salah satu operand bertype long, maka akan dipromosikan ke long
3. jika salah satu operand bertype float, maka akan dipromoasikan ke float
4. jika salah satu operand bertipe double, maka akan dipromosikan ke double

Kegiatan 1
1. Jalankan Text Editor (NotePad) atau JCreator
2. Ketikan Listing berikut kemudian Save dengan nama : Kegiatan1.java
import java.io.*;
public class Kegiatan1 {
public static void main (String[] args) {
// definisi variabel
byte b=25;
char c='A';
short s=1024;
int i=4000;
float f = 4.57f;
double d= 3.56;

int x=5;
double y=x/2; //hasilnya 2, bukan 2.5
double z=(double) x/2; //hasilnya baru 2.5

Revised By @Komang Aryasa 10


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

//Tampilkan hasil
System.out.println("Nilai untuk byte = "+b);
System.out.println("Nilai untuk char = "+c);
System.out.println("Nilai untuk short = "+s);
System.out.println("Nilai untuk int = "+i);
System.out.println("Nilai untuk float = "+f);
System.out.println("Nilai untuk double = "+d);
System.out.println("Nilai double dibagi 2 = "+y);
System.out.println("Nilai double ="+z);
}
}
3. Compile file diatas → javac Kegiatan1.java <enter>
4. Jika tidak ada error run-program → java Kegiatan1 <enter>
5. Perhatikan Hasilnya..

Kegiatan 2

1. Jalankan Text Editor (NotePad) atau JCreator


2. Ketikan Listing berikut kemudian Save dengan nama : bacaData1.java
class bacaData1 {
public static void main (String args[]) {

StringBuffer s = new StringBuffer();


char c;

try {
while ((c = (char) System.in.read() ) != '\n' )
s.append(c);
}
catch (Exception e){
System.out.println("Error : " + e.toString());
}

System.out.println(s);
}
}

Revisi 2 by. Komang Aryasa 11


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

Kegiatan 3

1. Jalankan Text Editor (NotePad) atau JCreator


Ketikan Listing berikut kemudian Save dengan nama : bacaData.java

class bacaData {
public static void main (String args[]) {
byte buf[] = new byte[10];
try {
System.in.read(buf);
}
catch (Exception e) {
System.out.println("Error : " + e.toString());
}
String s = new String(buf,0,5);
System.out.println(s);
}
}

Kompile dan perhatikan hasilnya

Kegiatan 4
1. Jalankan Text Editor (NotePad) atau JCreator
2. Ketikan Listing berikut kemudian Save dengan nama : TestAritmetika.java
import java.io.*;
class in_out {
public static void main(String args[])
{
DataInputStream in = new DataInputStream(System.in);
char c;
int angka=0;
char huruf=' ';
String kalimat=" ";

/* menerima input String lalu dirubah ke Integer */


try {
System.out.print("Enter a number : ");
kalimat = in.readLine();
angka = Integer.parseInt(kalimat);
}
catch(IOException e)
{ System.out.println(e); }

/* menerima karakter dari input-stream */


try {
System.out.print("Enter a character : ");
kalimat = in.readLine();
huruf = kalimat.charAt(2);
Revisi 2 by. Komang Aryasa 12
Panduan Praktikum
Pemrograman Berorientasi Objek (java)

}
catch(IOException e) { System.out.println(e); }

/* menerima String dari input-stream */


try {
System.out.print("Enter some words : ");
kalimat = in.readLine();
}
catch(IOException e) { System.out.println(e); }

/* hasil input di tampilkan */


System.out.println("Here are what you type in : ");
System.out.println(angka);
System.out.println(huruf);
System.out.println(kalimat);
}
}

TUGAS 1

1. Input nama, alamat, dan no.hp anda, kemudian tampilkan dengan output
seperti berikut:
Nama saya adalah , bertempat tinggal di
jalan , dengan nomor hp
.

2. Input dua buah bilangan kemudian tampilkan hasil penjumlahan dan


penggabungannya. Contoh:
Input bilangan A : 45
Input bilangan B : 12
Penggabungan A dan B adalah 4512
Penjumlahan A dan B adalah 57

Revisi 2 by. Komang Aryasa 13


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

PRAKTIKUM 2
OPERATOR

Pokok Bahasan:
• Mengenal macam-macam operator dan kegunaannya
Tujuan Instuksional Khusus:
• Setelah mengikuti praktikum ini Mahasiswa dapat menggunakan
berbagai macam operator untuk mengolah data
Kegiatan 1
Ketik listing program berikut:

class OperasiMatematik{
public static void main(String args[]){
int a;
a = 5;
System.out.println("Nilai a = " + a);
System.out.println("a++ = " + a++);
System.out.println("++a = " + ++a);
System.out.println("a-- = " + a--);
System.out.println("--a = " + --a);
System.out.println(8 * 2 + 4 / 10 - 5 + -3);

a = 9;
System.out.println("Nilai a = " + a);
System.out.println("a / 2 = " + a / 2);
System.out.println("a % 2 = " + a % 2);
System.out.println("a - a / 2 * 2 = " + (a-a/2*2));

int b = 3;
System.out.println(b-3-++b-2+--b+6-++b+b---2);
System.out.println(b);
b = b-3-++b-2+--b+6-++b+b---2;
System.out.println(b);
}
}

Compile dan execute untuk menampilkan outputnya.

Revisi 2 by. Komang Aryasa 14


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

Kegiatan 2
Ketik listing program berikut:
import java.io.*;
class OperasiRelasi{
public static void main(String args[]){
DataInputStream baca = new DataInputStream(System.in);
String tmp = "";
int nilaiA = 0, nilaiB = 0;
try{
System.out.print("Input nilai A : ");
tmp = baca.readLine();
nilaiA = Integer.parseInt(tmp);
System.out.print("Input nilai B : ");
tmp = baca.readLine();
nilaiB = Integer.parseInt(tmp);
}catch(Exception e){
System.out.println("Input gagal!!!");
}

System.out.println("A < B nilainya " + (nilaiA < nilaiB));


System.out.println("A <= B nilainya " + (nilaiA <= nilaiB));
System.out.println("A > B nilainya " + (nilaiA > nilaiB));
System.out.println("A >= B nilainya " + (nilaiA >= nilaiB));
System.out.println("A != B nilainya " + (nilaiA != nilaiB));
System.out.println("A == B nilainya " + (nilaiA == nilaiB));
}
}

Compile dan execute untuk menampilkan outputnya.

Kegiatan 3
Ketik listing program berikut:

import java.io.*;
class OperasiLogika{
public static void main(String args[]){
DataInputStream baca = new DataInputStream(System.in);
String tmp = "";
boolean nilaiA = false, nilaiB = false;
try{
System.out.print("Input nilai boolean A : ");
tmp = baca.readLine();
nilaiA = Boolean.valueOf(tmp).booleanValue();
System.out.print("Input nilai boolean B : ");
tmp = baca.readLine();
nilaiB = Boolean.valueOf(tmp).booleanValue();
}catch(Exception e){
System.out.println("Input gagal!!!");
}

Revisi 2 by. Komang Aryasa 15


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

System.out.println("NOT A nilainya " + !nilaiA);


System.out.println("NOT B nilainya " + !nilaiB);
System.out.println("A AND B nilainya "+ (nilaiA && nilaiB));
System.out.println("A OR B nilainya " + (nilaiA || nilaiB));
}
}
Compile dan execute untuk menampilkan outputnya.

Kegiatan 4
Ketik listing program berikut:
import java.io.*;
class OperasiBitWise{
public static void main(String args[]){
DataInputStream baca = new DataInputStream(System.in);
String tmp = "";
int nilaiA = 0, nilaiB = 0;
try{
System.out.print("Input nilai A : ");
tmp = baca.readLine();
nilaiA = Integer.parseInt(tmp);
System.out.print("Input nilai B : ");
tmp = baca.readLine();
nilaiB = Integer.parseInt(tmp);
}catch(Exception e){
System.out.println("Input gagal!!!");
}

System.out.println("Komplemen A hasilnya : " + (~nilaiA));


System.out.println("A AND B hasilnya : "+(nilaiA & nilaiB));
System.out.println("A OR B hasilnya : "+ (nilaiA | nilaiB));
System.out.println("A XOR B hasilnya :"+ (nilaiA ^ nilaiB));
System.out.println("A geser kanan B : "+(nilaiA >> nilaiB));
System.out.println("A geser kanan B :"+(nilaiA >>> nilaiB));
System.out.println("A geser kiri B : "+ (nilaiA << nilaiB));
}
}

Revisi 2 by. Komang Aryasa 16


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

Tugas 2
1. Tulislah sebuah program yang meminta input berupa jumlah butir telur
yang Anda miliki, kemudian tampilkan dalam satuan grosir (12 lusin),
lusin (12 butir), serta sisanya. Misalnya, jumlah telur ada 1342 butir,
maka program akan memberikan output
“Jumlah telur Anda ada 9 grosir, 3 lusin, dan 10 butir.”

2. Buatlah sebuah program yang melakukan input tahun kemudian


mencetak apakah tahun yang diinput adalah tahun kabisat atau tidak.
Contoh:
Input tahun : 2005
Tahun 2005 bukan tahun kabisat

3. Buatlah program untuk menginput waktu dalam satuan detik dan


tampilkan hasilnya dalam satuan jam, menit, dan detik. Misalnya bila
yang diinput 4325 detik, maka outputnya “1 jam 12 menit 5 detik”.

Revisi 2 by. Komang Aryasa 17


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

PRAKTIKUM 3
PEMROGRAMAN BERORIENTASI OBJEK
Pokok Bahasan :
• Deklarasi (class, attribute dan metode)
• Pengaksesan anggota objek
• Penggunaan konstruktor

Tujuan Intruksional Khusus:


Setelah mengikuti matakuliah ini mahasiswa diharapkan mampu :
• mendeklarasikan suatu class, attribute dan method
• Mengakses anggota suatu objek

Dasar Teori :
1. Deklarasi class dapat dilakukan dengan sintaks sebagai berikut :
<modifier> class <nama_class>{
[deklarasi_attribute]
[deklarasi_konstruktor]
[deklarasi_metode]
}
Contoh
Public class siswa{
…………………
……………..
}

2. Deklarasi Atribute dapat dilakukan dengan sintak sebagai berikut :


<modifier><tipe> <nama_atribute>
Contoh:
Public class siswa{
Public int stb;
Public String nama;
}

3. Deklarasi metode dapat dilakukan dengan sintak sebagai berikut :


<modifier><return_type>
<nama_metode>([daftar_argumen]){[<statement>]}
Contoh :
Public class siswa{
Public int stb;
Public String nama;
Public void info(){

Revisi 2 by. Komang Aryasa 18


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

System.out.println(“Hallo Semua”);
}
}

4. Untuk dapat mengakses anggota-anggota dari suatu onjek maka harus


dibuat instance dari class tersebut terlebih dahulu. Berikut ini adalah
contoh pengaksesan anggota-anggota dari class siswa :

Public class siswa{


Public static void main (String [] args){
Siswa it = new Siswa();
it.stb=5;
it.nama=”joko”;
it.info();
}
}

5. Constructor (Konstruktor) adalah suatu method yang pertama kali


dijalankan pada saat pembuatan suatu objek. Konstruktor mempunyai cirri
yaitu :
• Mempunyai nama yang sama dengan nama class
• Constructor mungkin mengambil satu atau lebih(atau tidak ada)
parameter.
• Tidak mempunyai return type ( seperti void, int, double dll)

Contoh :
Public class siswa{
Public int stb;
Public String nama;
//konstruktor siswa
Public siswa (int n, String m){
stb=n
nama=m;
}
}

6. Suatu class dapat memiliki lebih dari 1 konstruktor dengan syarat daftar
parameternya tidak boleh ada yang sama.

Contoh:
Public class siswa{
Public int stb;
Public String nama;
//konstruktor siswa
Public siswa (String m){
stb=0
nama=””;
}

Revisi 2 by. Komang Aryasa 19


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

Public siswa(int n, String m){


stb=n;
nama=m;
}
}

Kegiatan 1
Ketik listing dan run Program berikut:

class mhs {
private String nama;
private String nim; Variabel/state
private String ttl;
private String agama;
public mhs(String nama, String nim, String m, String agama)
{
this.nama = nama;
this.nim = nim; konstruktor
this.ttl = ttl;
this.agama = agama;
}
public String getNama() {
return this.nama;
}
public String getNim() {
Methode
return this.nim;
} }
public String getTtl() {
return this.agama;
}
public static void main(String args[]) {
mhs m = new mhs("Komang", "P2700209001", "17","hindu") ; Objek
System.out.println("Nama =" + m.getTtl()); m
}
}

Kegiatan 2 :
Ketik listing dan run Program berikut:

class Buku {
String pengarang;
String judul;
void Isi(String isi1,String isi2) {
judul = isi1;
pengarang = isi2;
}
void CetakKeLayar() {
if(judul==null && pengarang==null) return;
System.out.println("Judul : " + judul +

Revisi 2 by. Komang Aryasa 20


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

", pengarang : " + pengarang);


}
}
class Karangan {
public static void main(String[] args) {
Buku a,b,c,d;
a = b = c = d = new Buku();
a.Isi("Pemrograman Java","Asep Herman Suyanto");
a.CetakKeLayar();
b.Isi(null,null);
b.CetakKeLayar();
c. Isi(null,"Johan Prasetyo Hendriyanto");
c.CetakKeLayar();
d. Isi("Pemrograman Web",null);
d.CetakKeLayar();
}
}

Kegiatan 3
Ketik listing dan run Program berikut:
class Lingkaran {
double jari;
//konstruktor
Lingkaran()
{
setJari(1);
}
void setJari(double r){
if (r>0) jari=r;
}
public double getJari(){
return (jari);
}
public double hitungLuas(){
return (Math.PI*jari*2.0);
}
}
//akhir prog.lingkaran java
class demoLingkaran{
public static void main (String[] args) {
Lingkaran abc= new Lingkaran();
Lingkaran pqr=new Lingkaran();
Lingkaran xyz = new Lingkaran();
System.out.println("data default");
System.out.println (" ----------------- ");
System.out.println ("jari-jari ABC:"+abc.getJari());
System.out.println ("jari-jari PQR:"+pqr.getJari());
System.out.println ("jari-jari XYZ:"+xyz.getJari());
System.out.println ();

Revisi 2 by. Komang Aryasa 20


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

abc.setJari(5);
pqr.setJari(3.3);
xyz.setJari(1.8);
System.out.println ("Data Current");
System.out.println (" -------------- ");
System.out.println ("jari-jari ABC:"+abc.getJari());
System.out.println ("jari-jari PQR:"+pqr.getJari());
System.out.println ("jari-jari XYZ:"+xyz.getJari());
}
}

Tugas 3
1. buat program berikut dengan metode class :
Input :
Saldo Awal = Rp. …………
Jumlah uang yang diambil = Rp. …………….
Output :
Saldo anda sekarang = Rp………………

2. Buat listing program dengan menggunakan class dan constructor


dimana bilangan bulat factorial n, ditulis dengan n! adalah dihasilkan dari
mengalikan dari sampai dengan n. contoh 5!= 1x2x3x4x5=120, buat
program untuk menampilkan tabel hasil factorial dari suatu bilangan
yang diinputkan (tampilan bilangan rata kanan)
Contoh tampilan :
Masukan bilangan factorial : 7
N N!
-----------------------------------------
1 1
2 2
3 6
4 24
5 120
6 720
7 5040

Revisi 2 by. Komang Aryasa 21


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

PRAKTIKUM 4
PEMROGRAMAN BERORIENTASI OBJEK LANJUTAN
Pokok bahasan :
• Enkapsulasi, Package, dan inheritance

Tujuan Instruksional khusus


• Menerapkan Konsep enkapsulasi pada class
• Memahami konsep package dan import
• Memahami konsep pewarisan.

Dasar teori :
kita juga dapat menyembunyikan informasi dari suatu class sehingga anggota-
anggota class tersebut tidak dapat diakses dari luar. Adapun caranya adalah
cukup dengan memberikan akses control private ketika mendeklarasikan suatu
atribut atau method.
Contoh : private int stb;

Enkapsulasi (encapsulation) adalah suatu cara untuk menyembunyikan


implementasi detail dari suatu class. Enkapsulasi mempunyai 2 hal mendasar :
• Information hiding
• Menyediakan suatu perantara (method) untuk pengaksesan data.

Contoh :

Public class siswa {


Private int stb;
Public void setstb(int n){
Stb=n;
}
}

Revisi 2 by. Komang Aryasa 22


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

Kegiatan 1

Ketikan listing berikut kemudian running programnya..

import javax.swing.*;
class hitung {
public double x,y,r;
public hitung (double x, double y, double r){
this.x=x;
this.y=y;
this.r=r;
}
public double keliling(){
return 2*3.14*r;}
public double luas(){
return 3.14*r*r;
}
}

class Lingkaran{
public static void main (String[] args) {
hitung c=new hitung(0,0,0);
String Stra=JOptionPane.showInputDialog("Nilai X= ");
int d =Integer.parseInt(Stra);
c.x=d;
String Strb=JOptionPane.showInputDialog("Nilai Y= ");
int e =Integer.parseInt(Strb);
c.y=e;
String Strc=JOptionPane.showInputDialog("Nilai R= ");
int f =Integer.parseInt(Strc);
c.x=f;
double area=c.luas();
double kel=c.keliling();
System.out.println ("luas =" +area);
System.out.println ("Keliling ="+kel);
}
}

Kegiatan 2
Ketuk listing berikut kemudian running program berikut:

//super class satu

class satu {
int x,y;
void tampilXY(){
System.out.println ("nilai x:"+x+",y:"+y);
}
}
//class dua mewarisi class satu
Revisi 2 by. Komang Aryasa 23
Panduan Praktikum
Pemrograman Berorientasi Objek (java)

class dua extends satu{


int z;
void jumlah(){
System.out.println ("jumlah = "+(x+y+z));
}
}
//program pewarisan
class pewarisan{
public static void main (String[] args) {
satu SuperObj =new satu();
dua subOBJ=new dua();
System.out.println ("Super class");
SuperObj.x=60;
SuperObj.y=10;
System.out.println ("sub class");
subOBJ.x=9;
subOBJ.y=7;
subOBJ.tampilXY();
subOBJ.z=100;
subOBJ.jumlah();

}
}

Kegiatan 3
Ketuk listing berikut kemudian running program berikut:
package A;
import java.io.*;
import java.util.*;
public class PenghitunganUmur{
static final int tahunSekarang = ambilTahun();
int tahunLahir;
public int umur;

public PenghitunganUmur(){
}

public PenghitunganUmur(int tahunLahir){


this.tahunLahir = tahunLahir;
umur = tahunSekarang - tahunLahir;
}

static int ambilTahun(){


Date tanggal = new Date();
return tanggal.getYear() + 1900;
}

int hitungUmur(int tahunLahir){


return tahunSekarang - tahunLahir;
}

public static void main(String args[]){


DataInputStream baca = new DataInputStream(System.in);

Revisi 2 by. Komang Aryasa 24


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

int tahunLahir = 0;
PenghitunganUmur saya;

try{
System.out.print("Input tahun kelahiran Anda : ");
tahunLahir = Integer.parseInt(baca.readLine());
}catch(IOException e){}

saya = new PenghitunganUmur(tahunLahir);

System.out.println("Sekarang tahun : " +


PenghitunganUmur.tahunSekarang);
System.out.println("Anda sekarang berumur " +
saya.umur + " tahun");
}
}

Compile dan execute untuk menampilkan outputnya.

Kegiatan 4
Ketuk listing berikut kemudian running program berikut:
package A;
import java.io.*;
public class GolonganUmur{
static String cekGolongan(int umur){
String gol = "";
if(umur < 20)
gol = "Anak-anak";
else
if(umur < 40)
gol = "Dewasa";
else
gol = "Manula";
return gol;
}

public GolonganUmur(){
}

public GolonganUmur(int umur){


cekGolongan(umur);
}

public static void main(String args[]){


DataInputStream baca = new DataInputStream(System.in);
int tahunLahir = 0;
PenghitunganUmur saya;

try{
System.out.print("Input tahun kelahiran Anda : ");
tahunLahir = Integer.parseInt(baca.readLine());
}catch(IOException e){
System.out.println("Input gagal!!!");

Revisi 2 by. Komang Aryasa 25


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

saya = new PenghitunganUmur(tahunLahir);


System.out.println(cekGolongan(saya.umur));

}
}

Compile dan execute untuk menampilkan outputnya.

Kegiatan 5
Ketikan kode berikut :
import java.io.*;
import A.*;
class TurunanGolUmur extends GolonganUmur{
static String cekGolongan(int umur){
String gol = "";
if(umur < 17)
gol = "Anak-anak";
else
if(umur < 25)
gol = "Remaja";
else
if(umur < 40)
gol = "Dewasa";
else
gol = "Manula";
return gol;
}

public static void main(String args[]){


DataInputStream baca = new DataInputStream(System.in);
int tahunLahir = 0;

try{
System.out.print("Input tahun kelahiran Anda : ");
tahunLahir = Integer.parseInt(baca.readLine());
}catch(IOException e){
System.out.println("Input gagal!!!");
}
PenghitunganUmur Umurku = new PenghitunganUmur(tahunLahir);
System.out.println(cekGolongan(Umurku.umur));
}
}

Compile dan execute untuk menampilkan outputnya

Tugas IV:

Revisi 2 by. Komang Aryasa 26


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

Buat program yang dapat menggambarkan encapsulasi,


package dan inheritance.

Revisi 2 by. Komang Aryasa 27


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

PRAKTIKUM 5
JAVA APPLET / GUI

Pokok Bahasan :
• Perintah-perintah graphics, warna dan font.
Tujuan Instruksional khusus:
Setelah mengikuti praktikum ini mahasiswa diharapkan mampu :
• Menggunakan class graphics untuk menggambar bentuk
• Menggunakan class font dan warna.
Dasar Teori :
Gambar yang dibentuk dari perintah – perintas grapis ditampilkan pada monitor
dengn system titik koordinat pixel, dimana titik (0,0) adalah titik kiri atas dari
tampilan layar monitor anda. Titik maksimum adalah titik kanan bawah yang
bergantung pada ukuran fixel monitor, misalnya (1024 x 760), dimana sumbu
datar –x dimulai dari kiri ke kanan, dan sumbu tegak-y mulai dari atas kebawah.

Revisi 2 by. Komang Aryasa 28


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

Kegiatan 1:

1. Ketikan text pada jCreator berikut:

2. Simpan dengan nama file Graph.java


3. Kemudian compile program diatas
4. Kemudian ketik tag html berikut :
<html>
<head><title>Grapihics</title></head>
<body>
<applet code="Graph1.class" width=500
height=500>
</applet>
</body>
</html>
5. Simpan file diatas dengan nama Graphic.html
6. Kemudian jalankan Browser anda (seperti : Internet explorer atau Mozilla
Firefox dll)

Kegiatan 2

Revisi 2 by. Komang Aryasa 29


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

1. Ketikan text pada jCreator berikut:

//aplikasi class Graphics


import java.awt.Graphics;
import java.applet.*;
public class Lamp extends Applet {
public void paint(Graphics g) {
// platform
g.fillRect(0,250,290,50);
//base
g.drawLine(125,250,125,160);
g.drawLine(175,250,175,160);
//lamp shades top and bottom
g.drawArc(85,157,130,50,-65,312);
g.drawArc(85,87,130,50,62,58);
//lamp shades sides
g.drawLine(85,177,119,89);
g.drawLine(215,177,181,89);
//dots on the shade
g.fillArc(78,120,40,40,63,-174);
g.fillOval(120,96,30,40);
g.fillArc(173,100,40,40,110,180);
}
}

2. Simpan dengan nama file Lamp.java


3. Kemudian compile program diatas
4. Kemudian ketik tag html berikut :
<html>
<head><title>Grapihics</title></head>
<body>
<applet code="Lamp.class" width=500 height=500>
</applet>
</body>
</html>
5. Simpan file diatas dengan nama Lamp.html
6. Kemudian jalankan Browser anda (seperti : Internet explorer atau Mozilla
Firefox dll)

Kegiatan 3
1. Ketikan text pada jCreator berikut:

Revisi 2 by. Komang Aryasa 30


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

import java.applet.*;
import java.awt.*;
public class HelloWorld2 extends Applet {
Font f;
String teks = "HALO DIPA";

public void paint (Graphics g) {


f = new Font("Helvetica", Font.BOLD, 48);
g.setColor(Color.green);
// kotak berwarna hijau
g.fillRect(8,8,335,105);
g.setColor(Color.black);
// diberi warna hitam pinggirnya
g.drawRect(8,8,335,105);
// membuat oval berwarna pink
g.setColor(Color.pink);
g.fillOval(10,10,330,100);
// diberi pinggiran warna merah tebal (3x)
g.setColor(Color.red);
g.drawOval(10,10,330,100);
g.drawOval(9,9,332,102);
g.drawOval(8,8,334,104);
// tulisan warna hitam dengan font Helvetica
g.setColor(Color.black);
g.setFont(f);
g.drawString(teks,40,75);

}
}

2. Simpan dengan nama file HelloWord2.java


3. Kemudian compile program diatas
4. Kemudian ketik tag html berikut :
<html>
<head><title>Grapihics</title></head>
<body>
<applet code="HelloWord2.class" width=500
height=500>
</applet>
</body>
</html>
5. Simpan file diatas dengan nama Lamp.html

Revisi 2 by. Komang Aryasa 31


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

6. Kemudian jalankan Browser anda (seperti : Internet explorer atau Mozilla


Firefox dll)

Kegiatan 5
1. Ketikan text pada jCreator berikut:
import java.awt.*;
import java.applet.*;
public class Lengkung extends Applet{
int sudut = 0, bentang;
Button tombol = new Button("Gambar");
TextField teks = new TextField(10);
Label ket = new Label("Input besar sudut : ");

public void init(){


add(ket);
add(teks);
add(tombol);
}
public boolean action(Event evt, Object arg){
if(evt.target instanceof Button){
bentang = Integer.parseInt(teks.getText());
repaint();
return true;
}
else
return false;
}
public void paint(Graphics g){
g.fillArc(30,50,100,100,sudut,bentang);
}
}

TUGAS V:

Revisi 2 by. Komang Aryasa 32


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

Buat Gambar seperti foto anda mulai dari ujung kaki sampai dengan
ujung rambut

Revisi 2 by. Komang Aryasa 33


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

PRAKTIKUM 6
KELAS ANIMASI/THREAD
Pokok Bahasan :
• Memahami Konsep Thread
Tujuan Intruksional khusus:
Setelah melakukan praktikum ini diharapkan mahasiswa mampu :
• Menjelaskna konsep Multy Thread
• Menggunakan multy thread pada java
Kegiatan 1
1. Ketikan Listing berikut di notepad atau jcreator
import java.awt.Graphics;
import java.awt.Font;
import java.util.Date;
import java.applet.Applet;
public class JamDigital extends Applet implements
Runnable{
Font jenisFont = new Font("TimesRoman",Font.BOLD,24);
Date tgl;
Thread threadKu;

public void start(){


if(threadKu == null){
threadKu = new Thread(this);
threadKu.start();
}
}
public void stop(){
if(threadKu != null){
threadKu.stop();
threadKu = null;
}
}
public void run(){
while(true){
tgl = new Date();
repaint();
try{
Thread.sleep(1000);
}catch(InterruptedException e){}
}
}
public void paint(Graphics g){
g.setFont(jenisFont);
g.drawString(tgl.toString(),10,50);
}
}

Revisi 2 by. Komang Aryasa 34


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

2. Simpan dengan nama file JamDigital.java


3. Kemudian compile program diatas
4. Kemudian ketik tag html berikut :
<html>
<head><title>Grapihics</title></head>
<body>
<applet code="JamDigital.class" width=500
height=500>
</applet>
</body>
</html>
5. Simpan dengan nama thredku.html
6. Kemudian jalankan internet explorer

Kegiatan 2
1. Ketikan Listing berikut di notepad atau jcreator
import java.awt.*;
import java.applet.*;

public class Animasi extends Applet implements Runnable{


Thread monyet;
int posisiX;

public void start(){


if (monyet == null){
monyet = new Thread(this);
monyet.start();
}
}

public void stop(){


if(monyet != null){
monyet = null;
monyet.stop();
}
}

public void run(){


while(monyet != null){
for(posisiX = 5; posisiX < 105; posisiX += 4){
try{
Thread.sleep(100);
}catch(InterruptedException e){
}
}

Revisi 2 by. Komang Aryasa 35


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

for(posisiX = 105; posisiX > 5; posisiX -= 4){


repaint();
try{
Thread.sleep(100);
}catch(InterruptedException e){

}
}
}
}
public void paint(Graphics g){
g.setColor(Color.black);
g.fillRect(0, 0, 100, 100);
g.setColor(Color.white);
g.fillRect(101, 0, 100, 100);
g.setColor(Color.red);
g.fillOval(posisiX, 5, 90, 90);
}
}

2. Simpan dengan nama file animasi.java


3. Kemudian compile program diatas
4. Kemudian ketik tag html berikut :
<html>
<head><title>Grapihics</title></head>
<body>
<applet code="animasi.class" width=500
height=500>
</applet>
</body>
</html>
5. Simpan dengan nama animasi.html
6. Kemudian jalankan internet explorer

Kegiatan 3

Revisi 2 by. Komang Aryasa 36


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

1. Ketikan Listing berikut di notepad atau jcreator


/* Seorang pencuri tertangkap basah oleh penduduk setempat yang
kemudian segera melaporkan kejadian tersebut kepada pihak
kepolisian. Polisi kemudian mengejar tersangka yang telah
melarikan diri sejauh 100 KM, menggunakan sepeda motor dengan
kecepatan 2 KM/jam. Polisi mengejar tersangka dengan kecepatan 3
KM/jam.
*/

import java.awt.*;
import java.applet.*;

public class pencuripolisi extends Applet implements Runnable{


Thread kejar;
int jarakPencuri = 100, jarakPolisi = 0;
final int kecepatanPolisi = 3, kecepatanPencuri = 2;

public void start(){


if(kejar == null){
kejar = new Thread(this);
kejar.start();
}
}

public void stop(){


if(kejar!= null){
kejar = null;
kejar.stop();
}
}

public void run(){


while(jarakPolisi < jarakPencuri){
try{
Thread.sleep(100);
jarakPolisi += kecepatanPolisi;
jarakPencuri += kecepatanPencuri;
repaint();
}catch(InterruptedException e){
}
}
}
public void paint(Graphics g){
g.drawString("PENCURI",50,jarakPencuri);
g.drawString("POLISI",5,jarakPolisi);
if(jarakPolisi >= jarakPencuri)
g.drawString("Pencuri berhasil
ditangkap",5,jarakPolisi+20);
}
}

2. Simpan dengan nama file pencuripolosi.java


3. Kemudian compile program diatas

Revisi 2 by. Komang Aryasa 37


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

4. Kemudian ketik tag html berikut :


<html>
<head><title>Grapihics</title></head>
<body>
<applet code="pencuripolisi.class" width=500
height=500>
</applet>
</body>
</html>
5. Simpan dengan nama pencuripolisi.html
6. Kemudian jalankan internet explorer

TUGAS 6

Buatlah sebuah program applet dengan dua buah tombol dan sebuah kotak.
Tombol pertama bertuliskan “KIRI” dan yang kedua bertuliskan “KANAN”. Bila
tombol “KIRI” ditekan, maka kotak bergeser ke kiri. Bila tombol “KANAN”
ditekan, maka kotak bergeser ke kanan.

Revisi 2 by. Komang Aryasa 38


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

PRAKTIKUM 7
KELAS AWT DAN SWING
Pokok Bahasan :
• Mengetahui objek AWT dan Swing
Tujuan Instruksional Khusus :
Setelah mengikuti kuliah ini mahasiswa akan dapat:
• membuat program sederhana berbasis window baik dalam bentuk AWT
maupun Swing
• Membuat Menu pada frame
• Memahami Event handling pada frame

Dasar Teori :
JAVA menyediakan fasilitas GUI melalui kelas AWT (Abstract Window Toolkit)
→ import java.awt.*;
• Beberapa objek AWT adalah:
– container : seperti panel, Frame, Dialog
– text component : seperti TextField, TextArea
– Button : tombol klik
– CheckBox : pilihan dengan tanda cek
– Choice : pilihan dalam drop down
– Label : untuk label teks
– List : pilihan dalam bentuk daftar
– Scrollbar : tombol geser
Ada 5 langkah utama untuk menciptakan elemen GUI dalam progran JAVA
yaitu:
1) Sediakan wadah untuk elemen, yaitu Container berupa Panel atau Frame
2) Ciptakan komponen yang diinginkan, yaitu dengan memanggil “constructor”-
nya, misalnya sbb:
Button Ok = new Button(“OK”);
3) Tempelkan komponen tersebut pada wadahnya, misalnya sbb:
this.add(Ok);
4) Atur letak komponen (layout) tersebut pada wadahnya, panel atau frame
5) Tangani kejadian (event handling) yang ditimbulkan oleh komponen

Kegitan 1

Revisi 2 by. Komang Aryasa 39


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

1. Ketikan Listing program berikut :


import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class Text extends Applet {


// mendefinisikan komponen
TextField textField = new TextField();
TextArea textArea = new TextArea();
Button append = new Button("Append");
Button clear = new Button("Clear");

public void init() {


setLayout(null);
// menetapkan lokasi komponen text
textField.setBounds(10,10,280,25);
textArea.setBounds(10,50,280,150);
// lokasi dari tombol
append.setBounds(10,210,75,25);
clear.setBounds(100,210,75,25);
// mengawasi tombol pada saat diklik
append.addActionListener(new ButtonHandler());
clear.addActionListener(new ButtonHandler());
// pasang komponen pada panel
add(textField);
add(textArea);
add(append);
add(clear);
}

// fungsi untuk mengawai tombol


class ButtonHandler implements ActionListener {
public void actionPerformed(ActionEvent ev){
String s=ev.getActionCommand();
// bila tombol Append di-klik, tambahkan text
// pada TextField ke dlm TextArea
if(s.equals("Append")) {
String text =
textArea.getText()+textField.getText();
textArea.setText(text);
}
// bila tombol Clear di-klik bersihkan
TextArea else if(s.equals("Clear"))
textArea.setText("");
}
}
}
2. Simpan file diatas dengan nama File.java
3. Kemudian compile program tersebut
4. Kemudian ketikan tag html berikut :
<HTML>
<HEAD>
<TITLE>TextFields and TextAreas</TITLE>
</HEAD>

REVISI 3 BY KOMANG ARYASA


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

<BODY>
<APPLET CODE="Text.class" WIDTH=300 HEIGHT=300>
</APPLET>
</BODY>
</HTML>
5. Simpan file tersebut dengan nama text.html
6. Buka internet explorer anda

Kegitan 2
1. Ketikan listing berikut
import java.awt.*;
import java.applet.*;
import java.lang.*;

public class inOut2 extends Frame {


TextField nama;
TextField umur;
TextField alamat;
TextArea textarea;
Panel p;

public static void main(String args[]) {


Frame app = new inOut2("InOut Example");
app.resize(400,600);
app.pack();
app.show();

}
public inOut2(String title)
{
super(title);
p = new Panel();
p.setLayout(new FlowLayout());
this.add(p);

nama = new TextField(20);


umur = new TextField(3);
alamat = new TextField(25);
textarea = new TextArea(5,40);
nama.setBounds(10,10,280,25);
umur.setBounds(10,50,280,150);

p.add(new Label("Name : "));


p.add(nama);
p.add(new Label("Age : "));
p.add(umur);
p.add(new Label("Address : "));
p.add(alamat);
p.add(new Label("Result is here "));
p.add(textarea);

REVISI 3 BY KOMANG ARYASA


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

}
public boolean handleEvent(Event e) {
if (e.target == textarea) {
String namanya = nama.getText();
String umurnya = umur.getText();
String alamatnya = alamat.getText();
int tahun = 2013 - Integer.parseInt(umurnya);
textarea.setText("Nama anda : " + namanya + "\nLahir tahun : "
+ tahun + "\nTinggal di : " +
alamatnya);
return true;
}
else return super.handleEvent(e);

}
}

Compile program diatas…

Kegitan 3 :

1. Ketikan listing berikut


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

public class SwingWin extends JFrame {


public static int WIDTH = 300;
public static int HEIGHT = 300;
public static String TITLE = "SwingWin";
Container frameContainer;

// Swing components
JTextField textField = new JTextField(50);
// memebentuk komponen menubar, menu, dan menuitem
JMenuBar menuBar = new JMenuBar();
JMenu fileMenu = new JMenu("File");
JMenuItem fileNew = new JMenuItem("New");
JMenuItem fileOpen = new JMenuItem("Open");
JMenuItem fileSave = new JMenuItem("Save");
JMenuItem fileExit = new JMenuItem("Exit");
JMenu editMenu = new JMenu("Edit");
JMenuItem editCut = new JMenuItem("Cut");
JMenuItem editCopy = new JMenuItem("Copy");
JMenuItem editPaste = new JMenuItem("Paste");
JMenu specialMenu = new JMenu("Special");
JCheckBoxMenuItem specialCheck1 = new
JCheckBoxMenuItem("Check 1");

REVISI 3 BY KOMANG ARYASA


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

JCheckBoxMenuItem specialCheck2 = new


JCheckBoxMenuItem("Check 2",true);
JSeparator separator = new JSeparator();
JRadioButtonMenuItem specialRadio1 = new
JRadioButtonMenuItem("Radio 1");
JRadioButtonMenuItem specialRadio2 = new
JRadioButtonMenuItem("Radio 2");
ButtonGroup buttonGroup = new ButtonGroup();

//constructor
public SwingWin() {
super(TITLE);
buildGUI();
setupEventHandlers();
setSize(WIDTH,HEIGHT);
show();
}
void buildGUI() {
setupMenuBar();
layoutComponents();
}

void setupMenuBar() {
fileMenu.add(fileNew);
fileMenu.add(fileOpen);
fileMenu.add(fileSave);
fileMenu.add(fileExit);
editMenu.add(editCut);
editMenu.add(editCopy);
editMenu.add(editPaste);
specialMenu.add(specialCheck1);
specialMenu.add(specialCheck2);
specialMenu.add(separator);
buttonGroup.add(specialRadio1);
buttonGroup.add(specialRadio2);
specialMenu.add(specialRadio1);
specialMenu.add(specialRadio2);
menuBar.add(fileMenu);
menuBar.add(editMenu);
menuBar.add(specialMenu);
setJMenuBar(menuBar);
}

public void layoutComponents() {


frameContainer = getContentPane();
frameContainer.setLayout(null);
textField.setBounds(100,100,100,20);
frameContainer.add(textField);
}

REVISI 3 BY KOMANG ARYASA


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

void setupEventHandlers() {
addWindowListener(new WindowHandler());
fileNew.addActionListener(new MenuItemHandler());
fileOpen.addActionListener(new MenuItemHandler());
fileSave.addActionListener(new MenuItemHandler());
fileExit.addActionListener(new MenuItemHandler());
editCut.addActionListener(new MenuItemHandler());
editCopy.addActionListener(new MenuItemHandler());
editPaste.addActionListener(new MenuItemHandler());
specialCheck1.addItemListener(new ItemHandler());
specialCheck2.addItemListener(new ItemHandler());
specialRadio1.addItemListener(new ItemHandler());
specialRadio2.addItemListener(new ItemHandler());
}

public static void main(String[] args) {


SwingWin app = new SwingWin();
}

public class WindowHandler extends WindowAdapter {


public void windowClosing(WindowEvent e) {
System.exit(1);
}
}

public class MenuItemHandler implements


ActionListener {
public void actionPerformed(ActionEvent e) {
String cmd = e.getActionCommand();
if(cmd.equals("Exit")) System.console();
else textField.setText(cmd);
}
}

public class ItemHandler implements ItemListener {


public void itemStateChanged(ItemEvent e) {
AbstractButton button = (AbstractButton)
e.getItem();
String label = button.getText();
if(button.isSelected()) label += " true";
else label += " false";
textField.setText(label);
}
}
}
Compile program diatas…

Tugas 7

1 Buat program calculator berikut

REVISI 3 BY KOMANG ARYASA


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

2 Buat program swing berikut ini :

REVISI 3 BY KOMANG ARYASA


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

PRAKTIKUM 8
CLASS GUI/SWING

Buat Class baru di dalam project yang telah dibuat sebelumnya, Dengan cara :

o Jalankan menu File | New File untuk membuka dialog New File.

o Pastikan Project yang terpilih adalah project kerja anda : contoh PraktikumPBO_152222
o Pilih Categories : SWING GUI Form  File types : JFrame Form, kemudian tekan Next

o Isi Pada isian Class Name : GUI_AWT


o Tekan Finish
o Atur Desain JFrame Seperti Dibawah ini dengan mengguunakan Palette AWT

REVISI 3 BY KOMANG ARYASA


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

Atur Variabel Name Propertis Menjadi :

NIM : txtNim
Nama : txtNama
TTL : txtT4Lahir,
cmbTanggal, cmbBulan, cmbTahun
Alamat : txtAlamat
Button : btnView,
btnCelae,btnExit View Data
: txtView

o Buka Halaman Source dan cari Method public GUI_AWT( )


o Ketik Listing dibawah ini di dalan method public GUI_AWT( ) {

public GUI_AWT()
{
initComponents
();
//Isi Tanggal
for(int i=1;i<=31;i++){
cmbTanggal.add(String.format("%02d"
, i));
}
//Isi Bulan
for(int i=1;i<=12;i++){
cmbBulan.add(String.format("%02d"
, i));
}
//Isi Tahun
for(int i=1970;i<=2019;i++){
cmbTahun.add(String.valueO
f(i));
}
}

REVISI 3 BY KOMANG ARYASA


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

o Double klik pada Button View Untuk Menulis Program Seperti dibawah ini :
private void btnViewActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
txtView.setText("NIM : "+
txtNim.getText()+'\n');
txtView.setText(txtView.getText() + "Nama : "
+ txtNama.getText()+'\n');
txtView.setText(txtView.getText() + "TTL : "
+ txtT4Lahir.getText()+", " +
cmbTanggal.getItem(0)+"/" +
cmbBulan.getItem(0)+"/" +
cmbTahun.getItem(0)+'\n');
txtView.setText(txtView.getText() + "Alamat : " +
txtAlamat.getText());
}

o Double klik pada Button Clear Untuk Menulis Program Seperti dibawah ini
:
private void btnClearActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code
here: txtView.setText("");
}

o Double klik pada Button Exit Untuk Menulis Program Seperti dibawah ini :
private void btnExitActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code
here: dispose();
}

REVISI 3 BY KOMANG ARYASA


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

REVISI 3 BY KOMANG ARYASA


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

PRAKTIKUM 9

Lanjutan Graphical User


Interface With SWING
Praktikum 8 a
Buat Class baru di dalam project yang telah dibuat sebelumnya, Dengan cara :

o Jalankan menu File | New File untuk membuka dialog New File.

o Pastikan Project yang terpilih adalah project kerja anda : contoh PraktikumPBO_152222
o Pilih Categories : Java  File types : Java Class, kemudian tekan Next

o Isi Pada isian Class Name : Form


o Tekan Finish

REVISI 3 BY KOMANG ARYASA


Panduan Praktikum
Pemrograman Berorientasi Objek (java)
o Silakan Tulis seperti Contoh kode dibawah ini
import javax.swing.*;

public class Form extends JFrame {


JTextField username = new
JTextField(15); JPasswordField password
= new JPasswordField(15); JTextArea
comments = new JTextArea(4,15);

public Form() {
super("Feedback
Form");
setSize(260,160);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JPanel pane = new JPanel();


JLabel usernameLabel = new
JLabel("Username : "); JLabel
passwordLabel = new JLabel("Password :
"); JLabel commentsLabel = new
JLabel("Comments : ");
comments.setLineWrap(true);
comments.setWrapStyleWord(true);
//password.setEchoChar('#');

pane.add(usernameLab
el);
pane.add(username);
pane.add(passwordLab
el);
pane.add(password);
pane.add(commentsLab
el);
pane.add(comments);

setContentPane(pa
ne); show();
}
public static void main(String[] args) {
Form input = new Form();
}
}

REVISI 3 BY KOMANG ARYASA


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

REVISI 3 BY KOMANG ARYASA


Panduan Praktikum
Pemrograman Berorientasi Objek (java)
Praktikum 9b

o Pastikan Project yang terpilih adalah project kerja anda : contoh


PraktikumPBO_152222
o Pilih Categories : Java  File types : Java Class, kemudian tekan Next

o Isi Pada isian Class Name : Combo


o Tekan Finish
o Silakan Tulis seperti Contoh kode dibawah ini

import javax.swing.*;
public class Combo extends JFrame {
JComboBox monthBox = new JComboBox();
JComboBox yearBox = new JComboBox();

public Combo() {
super("Expiration
Date");
setSize(220,90);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JPanel pane = new JPanel();


JLabel exp = new JLabel("Expiration
Date"); pane.add(exp);
for(int i = 1; i < 13;
i++)
monthBox.addItem(""
+ i);
for(int i = 2000; i <
2010; i++)
yearBox.addItem("" +
i);
pane.add(monthBox
);
REVISI 3 BY KOMANG ARYASA
Panduan Praktikum
Pemrograman Berorientasi Objek (java)
pane.add(yearBox)
;
setContentPane(pa
ne); show();
}
public static void main(String[] args) {
Combo ex = new Combo();
}
}

Output :

REVISI 3 BY KOMANG ARYASA


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

PRAKTIKUM 10

SWING LANJUTAN

Praktikum
10a
Buat Class Swing baru di dalam project yang telah dibuat sebelumnya, Dengan cara
:

o Jalankan menu File | New File untuk membuka dialog New File.

o Pastikan Project yang terpilih adalah project kerja anda : contoh PraktikumPBO_152222
o Pilih Categories : Swing GUI Forms  File types : Jframe Form, kemudian tekan Next
o Isi Pada isian Class Name : Login
o Tekan Finish
o Desain Tampilan JFrame Seperti dibawah ini
o Atur Propertis JFrame Sehingga Tampil seperti Desain JFrame Dibawah ini

Setting Variabel Name :

o Klik Dua kali pada btnLogin


Tambahkan Kode pada Method void btnLoginActionPerformed
REVISI 3 BY KOMANG ARYASA
Panduan Praktikum
Pemrograman Berorientasi Objek (java)
private void btnLoginActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
String user =
txtUserName.getText(); String
passs = txtPassword.getText();
if (user.equals("stmik")&&
passs.equals("dipanegara")){
JOptionPane.showMessageDialog(null, "Sukses
Login");
}
else {
JOptionPane.showMessageDialog(null, "Username and
Valid" password Tidak
);
txtUserName.setText("");
txtPassword.setText("");
txtUserName.requestFocus(
true);
}
}

o Klik Dua kali pada btnLogin


Tambahkan Kode pada Method void btnKeluarActionPerformed
private void btnKeluarActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code
here: System.exit(ABORT);
}
o Jalankan Aplikasi dengan menggunakan kombinasi tombol shif+f6

REVISI 3 BY KOMANG ARYASA


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

Praktikum 9b
o Buat Class Swing baru
o Pastikan Project yang terpilih adalah project kerja anda : contoh PraktikumPBO_152222

o Pilih Categories : Swing GUI Forms  File types : Jframe Form, kemudian tekan Next

o Isi Pada isian Class Name : Biodata


o Tekan Finish
o Desain Tampilan JFrame Seperti dibawah ini
o Atur Propertis JFrame Sehingga Tampil seperti Desain JFrame Dibawah ini

REVISI 3 BY KOMANG ARYASA


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

Atur Variabel Name Propertis Menjadi :

NIM : txtNim
Nama : txtNama
Alamat : txtAlamat
Telpon : txtTlp
Button : btnView
Tabel : tblData

import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

public class Biodata extends


javax.swing.JFrame { String nim;
String
nama;
String
alamat;
String tlp;

public Biodata()
{
initComponents
();
}
private void tampilData() {
final String[]caption = {"NIM","Nama","Alamat","Telepon"};
//MEMBERIKAN HEADER JtABLE
DefaultTableModel tbUser;
tbUser = new DefaultTableModel(null,
caption); tblData.setModel(tbUser);
String[]data={nim,
nama,alamat,tlp};
tbUser.addRow(data);
}

private void btnViewActionPerformed(java.awt.event.ActionEvent


evt) {
// TODO add your handling code here:
nim = "NIM : " + txtNim.getText()
+"\n"; nama = "Nama : " +
txtNim.getText()+"\n";
alamat = "Alamat : " +
txtAlamat.getText()+"\n"; tlp = "No.
Telepon : " + txtTlp.getText();
JOptionPane.showMessageDialog(this,nim +nama +
REVISI 3 BY KOMANG ARYASA
Panduan Praktikum
Pemrograman Berorientasi Objek (java)
alamat+tlp); tampilData();
}

public static void main(String args[]) {

/* Create and display the form */


java.awt.EventQueue.invokeLater(new
Runnable() {
public void run() {
new Biodata().setVisible(true);
}
});
}

Output

REVISI 3 BY KOMANG ARYASA


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

- Gunakan nama & Nim sebagai username dan password


- Saat berhasil login tampilan pesan berhasil login dan menampilkan form biodata
- Saat Button Simpan pada Form Biodata, maka akan tampil pesan berisi semua
data yang dinput

REVISI 3 BY KOMANG ARYASA


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

PRAKTIKUM 11
PEMROGRMAN DATABASE JAVA

Sub Pokok Bahasan :


➢ Model Koneksi
➢ Teknologi ODBC dan JDBC Driver
➢ Review SQL
➢ Melaksanakan Statement SQL
➢ Swing dan Database

Tujuan Instruksional Khusus:


Setelah melakukan praktikum pada bab ini mahasiswa diharapkan mampu :
➢ Mengetahui Teknologi KOneksi Akses Database
➢ Mengenal Statement SQL dalam Java
➢ Mengimplementasikan Swing dan Database

Praktikum 11. A Koneksi ODBC


1. Buat Database
2. Konfigurasi ODBC Data Source
3. Panggil dengan JDBCODBC Driver

1. Contoh kasus Database “database_penjualan”

Revisi 3 by. Komang Aryasa 61


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

2. Konfigurasi ODBC DataSource

➢ Buka Control Panel


➢ Masuk ke menu DataSource (ODBC)
➢ Klik tombol Add
➢ Pilih Driver
➢ Beri Nama Datasource
➢ Pilih Database
➢ Klik OK

Pilih nama driver yang digunakan

Revisi 3 by. Komang Aryasa 62


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

Kemudian pilih finis untuk membuat DSN dengan nama Penjualan

Kode Program ODBC

Revisi 3 by. Komang Aryasa 63


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

➢ Buatlah class dengan nama TesODBC.Java dari JavaMainClass


➢ Lalu ketikan kede berikut

➢ Kompilasi dan Amati Hasilnya


➢ Setelah nama driver ODBC Dikenali sekarang mencoba untuk mengakses ke
database melalui DSN yang Telah Dibuan dengan nama Penjualan
➢ Buatlah class dengan nama teslihatisitableodbs.java
➢ Lalu ketikan kode berikut

➢ Kompilasi dan amati hasilnya


Revisi 3 by. Komang Aryasa 64
Panduan Praktikum
Pemrograman Berorientasi Objek (java)

PRAKTIKUM 12 dan 13
PEMROGRMAN DATABASE JAVA LANJUTAN

Sub Pokok Bahasan :


➢ Koneksi JDBC Driver
➢ Melaksanakan Statement SQL
➢ Swing dan Database

Tujuan Instruksional Khusus:


Setelah melakukan praktikum pada bab ini mahasiswa diharapkan mampu :
➢ Mengetahui Akses Database dengan JDBC Driver
➢ Mengenal Statement SQL dalam Java
Dasar Teori:
➢ JDBC adalah sebuah nama dari sebuah produk yang ada dalam Java,➔ Java
Database Connectivity
➢ JDBC API yaitu Application Programming Interface, yang menyediakan akses data
secara universal dan independent

Proses Kerja JDBC:


➢ Me-load JDBC Driver ke dalam JVM.
➢ Membuat koneksi ke database yang direpresentasikan sebagai objek
java.sql.Connection.
➢ Membuat objek java.sql.Statement yang akan digunakan untuk mengirimkan
perintah SQL ke database.
➢ Menjalankan metode yang bersesuaian dari objek java.sql.Statement, seperti
executeQuery() untuk membaca atau executeUpdate() untuk menulis ke
tabel.

Koneksi ke Database :
➢ Objek DriverManager ini bisa menghasilkan sebuah koneksi melalui metode
getConnction(), dengan menyertakan URL sebagai parameternya
jdbc:mysql://localhost/db_penjualan?user=root&passwor
d=admin
➢ jdbc:mysql adalah nama drivernya.
➢ localhost adalah nama hostname (komputer address).
➢ db_penjualan adalah nama databasenya.
➢ root adalah nama account user MySQL.
➢ admin adalah password dari account MySQL tersebut.

Revisi 3 by. Komang Aryasa 65


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

Praktikum 11. A

➢ buatlah database dengan nama database_penjualan


➢ dengan table dengan nama barang seperti dibawah ini :

➢ buka netbeans lalu buat project dengan nama seperti dibawah ini:

➢ Dari jendela project - click kanan pada libraries – Add library – Pilih MYSQL JDBC
Driver pada daftar library – add library

Revisi 3 by. Komang Aryasa 66


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

1. Uji driver JDBC


➢ Buatlah class dengan nama testJDBC.java
➢ Ketikan Kode program java berikut untuk memanggil driver

➢ Kompilasi dan amati hasilnya

2. Uji Koneksi ke database_penjualan


➢ Buat class dengan nama tesKoneksi.java ➔ Java Main Class
➢ Lalu ketikan code berikut

➢ Kompilasi dan amati hasilnya


Revisi 3 by. Komang Aryasa 67
Panduan Praktikum
Pemrograman Berorientasi Objek (java)

3. Implemetasi Query Select


➢ Buat class dengan nama tesLihatIsiTabel.java ➔ Java Main Class
➢ Lalu ketikan Code Berikut

➢ Kompilasi code diatas dan amati hasilnnya

4. Implemetasi Query Insert


➢ Buat class dengan nama insertdata.java ➔ Java Main Class
➢ Lalu ketikan Code Berikut

Revisi 3 by. Komang Aryasa 68


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

5. Implemetasi Query update


➢ Buat class dengan nama updatedata.java ➔ Java Main Class
➢ Lalu ketikan Code Berikut

Revisi 3 by. Komang Aryasa 69


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

6. Implemetasi Query delete


➢ Buat class dengan nama hapusdata.java ➔ Java Main Class
➢ Lalu ketikan Code Berikut

➢ Kompilasi dan amati hasilnya

Revisi 3 by. Komang Aryasa 70


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

7. Implemetasi GUI dan Query


➢ Buat class dengan forminputtale ➔ klick kanan pada package ➔ pilih
JframeForm
➢ Buat design form berikut beserta kode programnya

➢ Nama dari masing masing objek menggunakan nama default sesuai urutan objek
➢ Ketikan kode berikut

import java.awt.Dimension;
import java.awt.Toolkit;
import java.sql.*;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

public class forminputtable extends javax.swing.JFrame {

Koneksi konek = new Koneksi();


Connection con;
Statement st;

public forminputtable() {
initComponents();
Dimension screensize =
Toolkit.getDefaultToolkit().getScreenSize();
setLocation((screensize.width / 2) - (getSize().width /
2), (screensize.height / 2) - (getSize().height / 2));

tampildalamtabel();

private void tampildalamtabel(){


try {
Revisi 3 by. Komang Aryasa 71
Panduan Praktikum
Pemrograman Berorientasi Objek (java)

con=konek.getKoneksiDatabase();
Statement st = con.createStatement();
ResultSet rs;

DefaultTableModel tbl =new DefaultTableModel();


tbl.addColumn("Kode Brg");
tbl.addColumn("Nama Barang");
tbl.addColumn("Jumlah");
// tbl.addColumn("Tgl Beli");

jTable2.setModel(tbl);
try{
rs = st.executeQuery("select * from barang");
while(rs.next()){
tbl.addRow(new Object[]{
rs.getString("kode_brg"),
rs.getString("nama"),
rs.getString("jumlah"),
// rs.getString("tglbeli"),
});
jTable2.setModel(tbl);
}
}catch(Exception e){}
}
catch (SQLException e){
System.out.println("koneksi gagal " +
e.toString());
}
}

private void jButton1ActionPerformed(java.awt.event.ActionEvent


evt) {
String txt =
jTextField1.getText()+jTextField2.getText()+jTextField3.getText();
if (txt.equals("")){
JOptionPane.showMessageDialog(this,"Data Belum Lengkap\nSilahkan
Lengkapi Data Anda Dulu","Peringatan",
JOptionPane.WARNING_MESSAGE);

jTextField1.requestFocus();
} else{

try {

con = konek.getKoneksiDatabase();
PreparedStatement pStatement = null;

pStatement = null;
String sql ="insert into barang " +"(kode_brg, nama, jumlah)"
+"Values (?,?,?)";

Revisi 3 by. Komang Aryasa 72


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

pStatement = con.prepareStatement(sql);
pStatement.setString(1, jTextField1.getText());
pStatement.setString(2, jTextField2.getText());
pStatement.setString(3, jTextField3.getText());
//pStatement.setString(4, jTextField4.getText());
int intTambah= pStatement.executeUpdate();
tampildalamtabel();
if (intTambah>0)
JOptionPane.showMessageDialog(this,"Penambahan sukses",
"Informasi",JOptionPane.INFORMATION_MESSAGE);
else
JOptionPane.showMessageDialog(this,"Penambahan gagal",
"Informasi",JOptionPane.INFORMATION_MESSAGE);
pStatement.close();
pStatement.close();
jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");

catch (SQLException e){


System.out.println("koneksi gagal " +e.toString());
}

}
}

KASUS DAN TUGAS


BUAT KELANJUTAN DARI PROJECT DITAS UNTUK FORM QUERY EDIT, HAPUS DAN
CARI

Revisi 3 by. Komang Aryasa 73


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

PRAKTIKUM 14,15,16
CONTOH KASUS PEMROGRAMAN DATABASE

Sub Pokok Bahasan :


➢ Merancang struktur database secara lengkap
➢ Melaksanakan Statement SQL
➢ Swing dan Database

Tujuan Instruksional Khusus:


Setelah melakukan praktikum pada bab ini mahasiswa diharapkan mampu :
➢ Mahasiswa mampu merancang sustu system informasi secara lengkap
➢ Memahami SQL join dalam Java

1. Akan dirancang sebuah sisteminformasi perpustakaan


2. Buat database dengan nama database database_perpustakaan
3. Buat beberapa tabel dari database tersebut sebagai berikut :
Tabel : biodata_mahasiswa

Tabel: agama

Revisi 3 by. Komang Aryasa 74


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

Tabel : program_studi

Tabel : provinsi

Tabel : kategori_buku

Tabel : Anggota_perpustakaan

Tabel : Peminjaman_buku

Revisi 3 by. Komang Aryasa 75


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

Tabel : buku

Rancangan Relasi Tabel :

Revisi 3 by. Komang Aryasa 76


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

➢ Buatlah project dengan nama NamaAnda_STB_ProjectSisfo


➢ dengan 2 package yaitu Laporan dan sisfoperpustakaan
➢ package digunakan untuk menyimpan file report (ireport)
➢ packager sisfoperpustakaan digunakan untuk menyimpan source code program

1. Buatlah satu kelas dengan nama Koneksi.java untuk konfigurasi akses ke database

package Komang_192001_ProjectSisfo;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class Koneksi {


private Connection koneksiDatabase;
public Connection getKoneksiDatabase(){
if(koneksiDatabase == null){
try {
Class.forName("com.mysql.jdbc.Driver");
System.out.println("Driver Ditemukan");
try {
koneksiDatabase =
DriverManager.getConnection("jdbc:mysql://localhost/database_perpu
stakaan","root", "1234");
System.out.println("Koneksi Database Ditemukan");
} catch (SQLException ex) {
Revisi 3 by. Komang Aryasa 77
Panduan Praktikum
Pemrograman Berorientasi Objek (java)

System.out.println("Koneksi Database Tidak Ditemukan :


\nDengan Pesan :" + ex.toString());
}
} catch (ClassNotFoundException ex) {
System.out.print("Class Driver Database Tidak
Ditemukan : \n Dengan pesan Error " + ex.toString());
}
}
return koneksiDatabase;
}
}

2. Buatlah Design FormBiodataMHS dibawah ini dan ketikkan source codenya


Dalam merancang design form dibawah ini ada satu objek tambahan yang harus di install
pada NetBeans yaitu JCalender/datechooser berikut langkah langkahnya :
a. Downloadlah file jcalender atau minta ke Dosen Pengampu matakuliah

b. Klik kanan pada library pada project anda

Revisi 3 by. Komang Aryasa 78


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

c. Arahkan ke direktori/path dimana anda menyimpan library jcalder tadi

d. Kemudian klik kanan pada pallet manager dan plilih palete manager dan pilih add from
jar

e. Pilih Next dan pilih Jcalender

Revisi 3 by. Komang Aryasa 79


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

f. Kemudian pilih next yang kemudian aka ada pilihan dimana palete tersebut
ditempatkan

g. Maka akan menambahkan jcalender pada bagian pallete

Kemudian rancanglah form dibawa ini yang tanggal lahir menggunakan objek
JDateChoose yang ditambahkan pada pallet diatas

Revisi 3 by. Komang Aryasa 80


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

package Komang_192001_ProjectSisfo;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;

public class FormInputBiodataMahasiswa extends javax.swing.JFrame {

Koneksi Konek = new Koneksi();


private Connection Con;
Statement Stm;
ResultSet Rs;
String Sql;
DefaultTableModel Dtm;

public FormInputBiodataMahasiswa() {
initComponents();
KosongkanObjek();
TampilDataMhsPadaTabel();
LoadDataProdi();
LoadDataAgama();
LoadDataKelamin();
LoadDataProvinsi();
LoadTahunMasuk();
}

void KosongkanObjek(){
jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");
jTextField4.setText("");
jTextField5.setText("");
jTextField6.setText("");
jTextField7.setText("");
jTextField8.setText("");
jTextField9.setText("");
jTextField10.setText("");
jTextField11.setText("");
jTextField12.setText("");
jTextField13.setText("");
Revisi 3 by. Komang Aryasa 81
Panduan Praktikum
Pemrograman Berorientasi Objek (java)

jTextField14.setText("");
jTextField15.setText("");
jTextField16.setText("");
jTextField17.setText("");

jTextField1.requestFocus();
}

private void LoadDataProdi(){


String kd="";
try{
Con=Konek.getKoneksiDatabase();
Stm = Con.createStatement();
Sql = "select * from program_studi";
Rs=Stm.executeQuery(Sql);
while(Rs.next()) {
jComboBox1.addItem(Rs.getString("kode_jurusan"));
}
} catch(SQLException e){
System.out.println("Koneksi Gagal"+e.toString());
}
}

private void LoadDataKelamin(){


jComboBox3.addItem("L");
jComboBox3.addItem("P");
}

private void LoadTahunMasuk(){


jComboBox5.addItem("2019");
jComboBox5.addItem("2020");
jComboBox5.addItem("2021");
jComboBox5.addItem("2022");
jComboBox5.addItem("2023");
}

private void AturJTable(JTable Lihat, int Lebar[]){


try{
Lihat.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
int banyak = Lihat.getColumnCount();
for (int i = 0; i < banyak; i++) {
TableColumn Kolom = Lihat.getColumnModel().getColumn(i);
Kolom.setPreferredWidth(Lebar[i]);
Lihat.setRowHeight(20);
}

Revisi 3 by. Komang Aryasa 82


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

} catch (Exception e) {
JOptionPane.showMessageDialog(null, "salah"+e);
}
}
private void TampilModelJTabel(){
try {
String[]kolom={"Stambuk","Nama Mahasiswa","Program Studi",
"Agama","Tempat Lahir","Tgl Lahir","Jenis Kelamin","Alamat","Kota",
"Provinsi","Kode Pos", "Telepon","Hanphone","Hobi","Wali","Alamat Wali",
"Telepon Wali","Tahun Masuk"};
Dtm = new DefaultTableModel(null, kolom){
@Override
public boolean isCellEditable(int rowIndex, int columnIndex) {
return false;
}
};

jTable4.setModel(Dtm);
AturJTable(jTable4, new int
[]{100,300,300,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90} );
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "salah"+e);
}
}

void TampilDataMhsPadaTabel(){
try {
Con=Konek.getKoneksiDatabase();
Stm = Con.createStatement();
TampilModelJTabel();
try{

Sql = "SELECT biodata_mahasiswa.nim ,biodata_mahasiswa.nama AS


NamaMahasiswa, "+
"program_studi.nama AS ProgramStudi, "+
"agama.nama AS NamaAgama, "+
"biodata_mahasiswa.tempat_lahir AS TempatLahir, "+
"biodata_mahasiswa.tanggal_lahir AS TanggalLahir, "+
"biodata_mahasiswa.jenis_kelamin AS JenisKelamin, "+
"biodata_mahasiswa.alamat AS Alamat, "+
"biodata_mahasiswa.kota AS Kota, "+
"propinsi.nama AS NamaProvinsi, "+
"biodata_mahasiswa.kode_pos AS KodePos, "+
"biodata_mahasiswa.telpon AS Telpon, "+
"biodata_mahasiswa.handphone AS HandPhone, "+
"biodata_mahasiswa.hobi AS Hobi, "+

Revisi 3 by. Komang Aryasa 83


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

"biodata_mahasiswa.wali AS Wali, "+


"biodata_mahasiswa.alamat_wali AS AlamatWali, "+
"biodata_mahasiswa.telpon_wali AS TelponWali, "+
"biodata_mahasiswa.tahun_masuk AS TahunMasuk "+
" FROM "+
" biodata_mahasiswa "+
" LEFT OUTER JOIN program_studi
ON(biodata_mahasiswa.kode_program_studi=program_studi.kode_jurusan)"+
" LEFT OUTER JOIN agama
ON(biodata_mahasiswa.kode_agama=agama.kode)"+
" LEFT OUTER JOIN propinsi
ON(biodata_mahasiswa.kode_propinsi=propinsi.kode)" ;
Rs = Stm.executeQuery(Sql);
while(Rs.next()){
Dtm.addRow(new Object[]{
Rs.getString("nim"),
Rs.getString("NamaMahasiswa"),
Rs.getString("ProgramStudi"),
Rs.getString("NamaAgama"),
Rs.getString("TempatLahir"),
Rs.getString("TanggalLahir"),
Rs.getString("JenisKelamin"),
Rs.getString("Alamat"),
Rs.getString("Kota"),
Rs.getString("NamaProvinsi"),
Rs.getString("KodePos"),
Rs.getString("Telpon"),
Rs.getString("Handphone"),
Rs.getString("Hobi"),
Rs.getString("Wali"),
Rs.getString("AlamatWali"),
Rs.getString("TelponWali"),
Rs.getString("TahunMasuk"),

});
jTable4.setModel(Dtm);
}
}catch(Exception e){
System.out.println("Ada Kesalahan " + e.toString());
}
}catch (SQLException e){
System.out.println("koneksi gagal " + e.toString());
}
}

void CariDataMhs(){

Revisi 3 by. Komang Aryasa 84


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

try {
Con=Konek.getKoneksiDatabase();
Stm = Con.createStatement();
TampilModelJTabel();
try{

Sql = "SELECT biodata_mahasiswa.nim ,biodata_mahasiswa.nama AS


NamaMahasiswa, "+
"program_studi.nama AS ProgramStudi, "+
"agama.nama AS NamaAgama, "+
"biodata_mahasiswa.tempat_lahir AS TempatLahir, "+
"biodata_mahasiswa.tanggal_lahir AS TanggalLahir, "+
"biodata_mahasiswa.jenis_kelamin AS JenisKelamin, "+
"biodata_mahasiswa.alamat AS Alamat, "+
"biodata_mahasiswa.kota AS Kota, "+
"propinsi.nama AS NamaProvinsi, "+
"biodata_mahasiswa.kode_pos AS KodePos, "+
"biodata_mahasiswa.telpon AS Telpon, "+
"biodata_mahasiswa.handphone AS HandPhone, "+
"biodata_mahasiswa.hobi AS Hobi, "+
"biodata_mahasiswa.wali AS Wali, "+
"biodata_mahasiswa.alamat_wali AS AlamatWali, "+
"biodata_mahasiswa.telpon_wali AS TelponWali, "+
"biodata_mahasiswa.tahun_masuk AS TahunMasuk "+
" FROM "+
" biodata_mahasiswa "+
" LEFT OUTER JOIN program_studi
ON(biodata_mahasiswa.kode_program_studi=program_studi.kode_jurusan)"+
" LEFT OUTER JOIN agama
ON(biodata_mahasiswa.kode_agama=agama.kode)"+
" LEFT OUTER JOIN propinsi
ON(biodata_mahasiswa.kode_propinsi=propinsi.kode) "+
" where biodata_mahasiswa."+jComboBox6.getSelectedItem()+" LIKE
'%"+jTextField17.getText()+"%' ";
System.out.println(jComboBox6.getSelectedItem());
Rs = Stm.executeQuery(Sql);
while(Rs.next()){
Dtm.addRow(new Object[]{
Rs.getString("nim"),
Rs.getString("NamaMahasiswa"),
Rs.getString("ProgramStudi"),
Rs.getString("NamaAgama"),
Rs.getString("TempatLahir"),
Rs.getString("TanggalLahir"),
Rs.getString("JenisKelamin"),
Rs.getString("Alamat"),

Revisi 3 by. Komang Aryasa 85


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

Rs.getString("Kota"),
Rs.getString("NamaProvinsi"),
Rs.getString("KodePos"),
Rs.getString("Telpon"),
Rs.getString("Handphone"),
Rs.getString("Hobi"),
Rs.getString("Wali"),
Rs.getString("AlamatWali"),
Rs.getString("TelponWali"),
Rs.getString("TahunMasuk"),

});
jTable4.setModel(Dtm);
}
}catch(Exception e){
System.out.println("Ada Kesalahan " + e.toString());
}
}catch (SQLException e){
System.out.println("koneksi gagal " + e.toString());
}

}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String Tampilan="yyyy-MM-dd";
SimpleDateFormat Fm = new SimpleDateFormat(Tampilan);
String TanggalLahir = String.valueOf(Fm.format(jDateChooser1.getDate()));
try {
Con = Konek.getKoneksiDatabase();
Stm = null;
Sql = "insert into biodata_mahasiswa (id, nim, nama, kode_program_studi,
kode_agama, tempat_lahir," +
"tanggal_lahir, jenis_kelamin, alamat, kota, kode_propinsi, kode_pos,
telpon, handphone, hobi, "+
"wali, alamat_wali, telpon_wali, tahun_masuk, last_update, userid )
VALUES (NULL,'"+jTextField1.getText()+"', " +
"'"+jTextField2.getText()+"', '"+jComboBox1.getSelectedItem()+"',
'"+jComboBox2.getSelectedItem()+"',
'"+jTextField5.getText()+"','"+TanggalLahir+"'," +
" '"+jComboBox3.getSelectedItem()+"', '"+jTextField7.getText()+"',
'"+jTextField8.getText()+"', '"+jComboBox4.getSelectedItem()+"',
'"+jTextField10.getText()+"'," +

"'"+jTextField11.getText()+"','"+jTextField12.getText()+"','"+jTextField13.getTex
t()+"','"+jTextField14.getText()+"','"+jTextField15.getText()+"', " +

"'"+jTextField16.getText()+"','"+jComboBox5.getSelectedItem()+"',NOW(),'ADMIN')";

Revisi 3 by. Komang Aryasa 86


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

Stm= Con.createStatement();
int AdaPenambahanRecord= Stm.executeUpdate(Sql);
TampilDataMhsPadaTabel();
if (AdaPenambahanRecord>0)
JOptionPane.showMessageDialog(this,"Data Berhasil Tersimpan",
"Informasi",JOptionPane.INFORMATION_MESSAGE);
else
JOptionPane.showMessageDialog(this,"Data Gagal Tersimpan",
"Informasi",JOptionPane.INFORMATION_MESSAGE);
Stm.close();
KosongkanObjek();
jComboBox1.setSelectedIndex(0);
jComboBox2.setSelectedIndex(0);
jComboBox3.setSelectedIndex(0);
jComboBox4.setSelectedIndex(0);
jComboBox5.setSelectedIndex(0);

} catch (SQLException e){


System.out.println("Koneksi Gagal " +e.toString());
}
}

private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {


String Kode="";
try{
Con=Konek.getKoneksiDatabase();
Stm = Con.createStatement();
Sql = "select * from program_studi where kode_jurusan='"
+jComboBox1.getSelectedItem().toString()+"'";
Rs=Stm.executeQuery(Sql);
while(Rs.next()) {
Kode= Rs.getString("nama");
}
jTextField3.setText(Kode);
} catch(SQLException e){
System.out.println("koneksi gagal"+e.toString());
}
}

private void jComboBox2ActionPerformed(java.awt.event.ActionEvent evt) {


String Kode="";
try{
Con=Konek.getKoneksiDatabase();
Stm = Con.createStatement();
Sql = "select * from agama where kode='"
+jComboBox2.getSelectedItem().toString()+"'";

Revisi 3 by. Komang Aryasa 87


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

Rs=Stm.executeQuery(Sql);
while(Rs.next()) {
Kode= Rs.getString("nama");
}
jTextField4.setText(Kode);
} catch(SQLException e){
System.out.println("koneksi gagal"+e.toString());
}
}

private void jComboBox3ActionPerformed(java.awt.event.ActionEvent evt) {


if (jComboBox3.getSelectedItem().equals("L")){
jTextField6.setText("Laki - Laki");
}else{
jTextField6.setText("Perempuan");
}
}

private void jComboBox4ActionPerformed(java.awt.event.ActionEvent evt) {


String Kode="";
try{
Con=Konek.getKoneksiDatabase();
Stm = Con.createStatement();
Sql = "select * from propinsi where kode='"
+jComboBox4.getSelectedItem().toString()+"'";
Rs=Stm.executeQuery(Sql);
while(Rs.next()) {
Kode= Rs.getString("nama");
}
jTextField9.setText(Kode);
} catch(SQLException e){
System.out.println("koneksi gagal"+e.toString());
}

private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {


try {
Con = Konek.getKoneksiDatabase();

Sql = "Select * from biodata_mahasiswa where nim='" +jTextField1.getText() +


"'";
Stm= Con.createStatement();
Rs = Stm.executeQuery(Sql);
if (Rs.next()){
JOptionPane.showMessageDialog(this,"Stambuk Tersebut Sudah Ada Silahkan

Revisi 3 by. Komang Aryasa 88


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

Input STb Lain Atau Data Mau Di Edit", "Informasi",


JOptionPane.INFORMATION_MESSAGE);

jButton1.setEnabled(false);
jTextField2.setText(Rs.getString("nama"));
jTextField5.setText(Rs.getString("tempat_lahir"));
jDateChooser1.setDate(Rs.getDate("tanggal_lahir"));
jComboBox3.setSelectedItem(Rs.getString("jenis_kelamin"));
jTextField7.setText(Rs.getString("alamat"));
jTextField8.setText(Rs.getString("kota"));
jTextField10.setText(Rs.getString("kode_pos"));
jTextField11.setText(Rs.getString("telpon"));
jTextField12.setText(Rs.getString("handphone"));
jTextField13.setText(Rs.getString("hobi"));
jTextField14.setText(Rs.getString("wali"));
jTextField15.setText(Rs.getString("alamat_wali"));
jTextField16.setText(Rs.getString("telpon_wali"));
jComboBox5.setSelectedItem(Rs.getString("tahun_masuk"));

jComboBox1.setSelectedItem(Rs.getString("kode_program_studi"));
jComboBox2.setSelectedItem(Rs.getString("kode_agama"));
jComboBox4.setSelectedItem(Rs.getString("kode_propinsi"));

} else {
jButton1.setEnabled(true);
jTextField2.setText("");
jTextField3.setText("");
jTextField4.setText("");
jTextField5.setText("");
jTextField6.setText("");
jTextField7.setText("");
jTextField8.setText("");
jTextField9.setText("");
jTextField10.setText("");
jTextField11.setText("");
jTextField12.setText("");
jTextField13.setText("");
jTextField14.setText("");
jTextField15.setText("");
jTextField16.setText("");
jTextField17.setText("");
jComboBox1.setSelectedIndex(0);
jComboBox2.setSelectedIndex(0);
jComboBox3.setSelectedIndex(0);
jComboBox4.setSelectedIndex(0);
jComboBox5.setSelectedIndex(0);

Revisi 3 by. Komang Aryasa 89


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

jTextField2.requestFocus();
}

}catch (SQLException e){


System.out.println("koneksi gagal " + e.toString());
}
}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {


String Tampilan="yyyy-MM-dd";
SimpleDateFormat Fm = new SimpleDateFormat(Tampilan);
String TanggalLahir = String.valueOf(Fm.format(jDateChooser1.getDate()));
try {
Con = Konek.getKoneksiDatabase();
Stm = null;
Sql = "update biodata_mahasiswa set nama = '"+jTextField2.getText()+"',
kode_program_studi ='"+jComboBox1.getSelectedItem()+"' , kode_agama =
'"+jComboBox2.getSelectedItem()+"', tempat_lahir = '"+jTextField5.getText()+"',"
+
"tanggal_lahir= '"+TanggalLahir+"', jenis_kelamin =
'"+jComboBox3.getSelectedItem()+"', alamat = '"+jTextField7.getText()+"',
kota='"+jTextField8.getText()+"', kode_propinsi =
'"+jComboBox4.getSelectedItem()+"', kode_pos = '"+jTextField10.getText()+"',
telpon = '"+jTextField11.getText()+"', handphone = '"+jTextField12.getText()+"',
hobi = '"+jTextField13.getText()+"'," +
" wali = '"+jTextField14.getText()+"', alamat_wali =
'"+jTextField15.getText()+"', telpon_wali='"+jTextField16.getText()+"' ,
tahun_masuk='"+jComboBox5.getSelectedItem()+"', last_update= NOW(),
userid='ADMIN' where nim = '"+jTextField1.getText()+"' ";

Stm= Con.createStatement();
int AdaPerubahanRecord= Stm.executeUpdate(Sql);
TampilDataMhsPadaTabel();
if (AdaPerubahanRecord>0){
JOptionPane.showMessageDialog(this,"Data Berhasil Di Edit",
"Informasi",JOptionPane.INFORMATION_MESSAGE);
jButton1.setEnabled(true);
}else
JOptionPane.showMessageDialog(this,"Data Gagal Di Edit",
"Informasi",JOptionPane.INFORMATION_MESSAGE);
Stm.close();
KosongkanObjek();
jComboBox1.setSelectedIndex(0);
jComboBox2.setSelectedIndex(0);
jComboBox3.setSelectedIndex(0);
jComboBox4.setSelectedIndex(0);

Revisi 3 by. Komang Aryasa 90


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

jComboBox5.setSelectedIndex(0);

} catch (SQLException e){


System.out.println("Koneksi Gagal " +e.toString());
}
}

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {


try {
Con = Konek.getKoneksiDatabase();
Stm = null;
Sql = "delete from biodata_mahasiswa where nim = '"+jTextField1.getText()+"'
";

Stm= Con.createStatement();
int AdaPerubahanRecord= Stm.executeUpdate(Sql);
TampilDataMhsPadaTabel();
if (AdaPerubahanRecord>0){
JOptionPane.showMessageDialog(this,"Data Berhasil Di Hapus",
"Informasi",JOptionPane.INFORMATION_MESSAGE);
jButton1.setEnabled(true);
}else
JOptionPane.showMessageDialog(this,"Data Gagal Di Hapus",
"Informasi",JOptionPane.INFORMATION_MESSAGE);
Stm.close();
KosongkanObjek();
jComboBox1.setSelectedIndex(0);
jComboBox2.setSelectedIndex(0);
jComboBox3.setSelectedIndex(0);
jComboBox4.setSelectedIndex(0);
jComboBox5.setSelectedIndex(0);

} catch (SQLException e){


System.out.println("Koneksi Gagal " +e.toString());
}

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {


KosongkanObjek();
}

private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {


CariDataMhs();
}

Revisi 3 by. Komang Aryasa 91


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {


TampilDataMhsPadaTabel();
}

private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {


this.dispose();
}

public static void main(String args[]) {


java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new FormInputBiodataMahasiswa().setVisible(true);
}
});
}
}

➢ kompilasi dan eksekusi kode diatas

Revisi 3 by. Komang Aryasa 92


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

KASUS YANG HARUS DIKERJAKAN :


BUAT DESAIGN FORM UNTUK FormAnggota, FormBuku, FormPeminjaman dan Form Pengembalian dengan
mengacu pada field dari setiap table yang bersesuaian dan memperhatikan relasi dari table diatas

1. Form Anggota

2. Form Buku

Revisi 3 by. Komang Aryasa 93


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

3. Form Peminjaman

4. Form Pengembalian

Revisi 3 by. Komang Aryasa 94


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

PRAKTIKUM 17
MERANCANG MENU

Sub Pokok Bahasan :


➢ Merancang Menubar, Submenu
➢ Event pada menu
➢ Swing Menu

Tujuan Instruksional Khusus:


Setelah melakukan praktikum pada bab ini mahasiswa diharapkan mampu :
➢ Mahasiswa mampu merancang design menu pada suatu aplikasi

1. Buatlah class dengan nama FormUtama.Java ➔ klik kanan pada Package Anda
➔pilih JFrameForm ➔ dan berikan Nama Classnya
2. Untuk membuat menu pilihlaj Pallete Swing Menu ➔ klik dan drag palete MenuBar
ke Jframe yang telah dibuat, Untuk membuat menu File, Input Data, Traksaksi dan
Laporan ➔ klick dan drag pada pallete Menu dan lepaskan pada MenuBar yang
telah dibuat➔ lakukan dengan cara yang sama s.d menu laporan

3. Untuk membuat menu Item/Sub menu gunakanlah Palete Menu Item ➔ klick dan
drag MenuItem kemudian pilih dimana menu item itu akan di simpan misalnya
pada menu InputData➔kemudian ganti nama menu item sesuai dengan
kebutuhan➔ lakukan dengan cara yang sama pada menuitem lainnya

Revisi 3 by. Komang Aryasa 95


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

4. Event/method pada menu item ➔ pada saat menu item DataMahasiswa


(jMenuItem1) di clik makan akan ditampilkan FormInputBiodataMahasiswa.
Tuliskan sourcode berikut :
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
FormInputBiodataMahasiswa Tampilkan = new FormInputBiodataMahasiswa();
Tampilkan.show();
}

5. LAKUKAN DENGAN CARA YANG SAMA PADA MENU ITEM LAINNYA

Revisi 3 by. Komang Aryasa 96


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

PRAKTIKUM 18,19
MERANCANG REPORT

Sub Pokok Bahasan :


➢ Merancang Report
➢ Install Report/JasperReport
➢ Swing Repot

Tujuan Instruksional Khusus:


Setelah melakukan praktikum pada bab ini mahasiswa diharapkan mampu :
➢ Mahasiswa mampu merancang design Report pada suatu aplikasi
➢ Mampu Mengkonfigurasi Report

A. Merancang Report
Default IDE NetBeans 8 belum dilengkapi tools untuk mendesign report/laporan
sehingga perlu ditambahkan pluggin Ireport ke dalam IDE NetBeans. Ireport adalah salah
satu tools untuk merancangan laporan dalam Bahasa pemrograman java, sama seperti
FastReport pada pemrograman Visual Delphi atau Crystal Report pada pemerograman
lainnya.
1. Downloadlah Irepot pada laman berikut
http://community.jaspersoft.com/project/ireport-designer.
2. Download dan ektrak file Ireport yang telah diwonload

3. Klick menu tools pada NetBeans ➔ pilih Plugins➔ pada form plugins ➔ pilih Tab
Downloaded➔ dan pilih Tombol Add Plugins➔ lalu akan diarahkan ke direktori file
irepot yang sudah diwonload dan diektrak➔ kemudian plih Open

Revisi 3 by. Komang Aryasa 97


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

4. Kemudian klick tombol intstall


5. Pada project anda tambahkan kibrary JapertReportnya ➔ klik kanan Libray ➔ pilih JapertReport seperti
dibawah ini :

6. Selanjutnya buat satu package pada project anda dengan nama Laporan untuk menyimpan File Report yang
akan dirancang

Revisi 3 by. Komang Aryasa 98


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

7. Klik kanan pada package Laporan ➔ new File➔pada Categori Pilih Report ➔ untuk medesign Report pilih
Empty Report

8. Pilih Next ➔ berinakan nama File yang diinginkan dan siap untuk medesign report

9. Buatlah query untuk akses ke database serta data apa saja yang akan ditampilkan pada report dengan
memlih tools report Datasource ➔ pilih new ➔ dan lakukan konfiguras JDBC Connection

Revisi 3 by. Komang Aryasa 99


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

10. Buatlah query berikut melalui Report Query

11. Dan buat design report seperti dibawah ini

12. Gunakan Report Elemet yang bersesuain untuk merancang report diatas

Revisi 3 by. Komang Aryasa 100


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

13. Untuk melihat hasil design ➔ klik tool preview

B. Pemanggilan Report Pada Menu


Pada bagain sebelum kita telah merancang menu , untuk memanggil report pada
menu Laporan ➔ menuItem LaporanDataAnggota tuliskan kode berikut :

private void jMenuItem8ActionPerformed(java.awt.event.ActionEvent evt) {


try {
Con = Konek.getKoneksiDatabase();
try {
String path="F:\\SISFO PERPUSTAKAAN\\SisfoPerpustakaan”
+”\\src\\Laporan\\ReportDataAnggota.jrxml";
Map parameter = new HashMap();
JR = JasperCompileManager.compileReport(path);
JP = JasperFillManager.fillReport(JR,null,Con);
JasperViewer.viewReport(JP);
} catch (Exception ex) {
JOptionPane.showMessageDialog(rootPane,"Dokumen Tidak Ada"+ex);
}
Con.close();
} catch (Exception e) {
JOptionPane.showMessageDialog(rootPane, e);
}
}

Revisi 3 by. Komang Aryasa 101


Panduan Praktikum
Pemrograman Berorientasi Objek (java)

C. TUGAS BUAT DESIGN REPORT DARI BEBERAPA TRANSAKSI LAINNYA

PRAKTIKUM 20
Export Java To Exe dan Final Test

Revisi 3 by. Komang Aryasa 102

Anda mungkin juga menyukai