MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari...

38

Transcript of MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari...

Page 1: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van
Page 2: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 1

MODUL PELATIHAN JAVA SWING ORACLE

Studi Kasus : Pembuatan aplikasi Apotik

Pengantar Oracle

Tipe data pada Oracle

Nama tipe data Fungsi

Varchar2(size) string yang memiliki panjang karakter vaiable dengan panjang

maxial sebesar size. Tipe data ini memperbolehkan penyimpanan

semua karakter yang dapat dimasukkan melalui keyboad.

Maksimum size yang dapat disimpan sebesar 4000 bytes

(karakter). Tipe data ini juga memungkinkan untuk mneyimpan

data numerik. Biasanya space akan langsung dieliminasi jika

menggunakan tipe ini.

Page 3: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 2

Char(size)

string dengan panjan gkarakter tetap sebesar ukuran size. Tipe

data ini mempunyai kemampuan yang hampir sama yakni

menyimpan karakter, hanya saja maksimum size yang disimpan

hanya sebesar 2000 bytes.

Number(p,s) tipe data number memiliki presisi p dan s digit dibelakan koma

jika kita abaikan p dan s berarti dianggap sebagai tipe number

floating point. Tipe data ini menyimpan bilangan interger sampai

maksimum dari digit integer tersebut. misal untuk spesifikasi

(5,2) berarti 3 digit sebelum koma dan 2 digit dibelakang koma.

Long data karakter dengan ukuran panjang bervariasi, hingga

mencapai 2 GB.(tipe data seperti ini tidak dapat digunakan

sebagai primary key).

Raw(size) tipe data berupa binary data dengan ukuran maksimal 255 bytes

Long Raw Tipe data berupa binary data dengan ukuran maksimal 2

GigaBytes tidak dikonversi oleh oracle (data mentah apa adanya,

spasi dihitung 1 karakter).

Date Tipe data ini menyimpan waktu dan tanggal dari sebuah

informasi, dengan komponen waktu yang dibulatkan ke detik

terdekat. Untuk menampilkannya dalam teks harus

menggunakan fungsi to_char.

Timestamp tipe ini mirip dengan date. Di dalam tipe ini terdapat komponen

waktu yang dapat langsung ditampilkan tanpa harus

mengubahnya terlebih dahulu dengan fungsi to_char.

Clob Tipe data ini memperbolehkan penyimpanan objek dengan

ukuran yang sangat besar sekitar 4 GB. Clob mirip sekali dengan

varchar2 hanya saja tipe data ini mempunyai kapasitas

maksimum yang lebih besar.

Blob tipe ini memperbolehkan penyimpanan objek bbinary yang besar

dan tidak terstruktur. Contoh dari tipe data blob adalah suara

dan video.

Page 4: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 3

1. DDL

DDL adalah bagian dari perintah SQL untuk membuat, memodifikasi, atau menghapus

struktur basis data Oracle. Perintah DDL adalah :

1.1 Create

Perintah yang digunakan untuk membuat suatu objek dalam oracle, seperti table,

view, sequence, user, dan index.

a. Create table

Contoh :

Membuat tabel kateogi obat

CREATE TABLE KATEGORI_OBAT(

ID_KATEGORI_OBAT CHAR(5),

DESKRIPSI_KATEGORI VARCHAR2(100),

CONSTRAINT PK_KATEGORI_OBAT PRIMARY KEY(ID_KATEGORI_OBAT));

Penjelasan syntax CREATE TABLE KATEGORI_OBAT

Nama Kolom Tipe data Length

ID_KATEGORI_OBAT CHAR 5

DESKRIPSI_KATEGORI VARCHAR2 100

Membuat tabel supplier

CREATE TABLE SUPPLIER(

ID_SUPPLIER CHAR(5),

NAMA_SUPPLIER VARCHAR2(25),

ALAMAT_SUPPLIER VARCHAR2(30),

KOTA_ASAL_SUPPLIER VARCHAR2(15),

NO_TELP_SUPPLIER VARCHAR2(15),

CONSTRAINT PK_SUPPLIER PRIMARY KEY(ID_SUPPLIER));

Create nama_table(nama_kolom1 tipe_kolom1,

nama_kolom2 tipe_kolom2....nama_kolomn tipe_kolom n)

Page 5: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 4

Penjelasan syntax CREATE TABLE SUPPLIER

SUPPLIER =>nama tabel

Nama Kolom Tipe data Length

ID_SUPPLIER CHAR 5

NAMA_SUPPLIER VARCHAR2 25

ALAMAT_SUPPLIER VARCHAR2 30

KOTA_ASAL_SUPPLIER VARCHAR2 15

NO_TELP_SUPPLIER VARCHAR2 15

CONSTRAINT PK_SUPPLIER PRIMARY KEY(ID_SUPPLIER)

Pembuatan constrain primary key yaitu kolom ID_SUPPLIER

Membuat tabel obat

CREATE TABLE OBAT(

ID_OBAT CHAR(5),

NAMA_OBAT VARCHAR2(25),

DESKRIPSI_OBAT VARCHAR2(50),

KUANTITAS_TERSEDIA NUMBER,

HARGA_SATUAN NUMBER,

ID_KATEGORI_OBAT CHAR(5),

CONSTRAINT PK_OBAT PRIMARY KEY(ID_OBAT),

CONSTRAINT FK_OBAT_KATEGORI_OBAT FOREIGN

KEY(ID_KATEGORI_OBAT) REFERENCES

KATEGORI_OBAT(ID_KATEGORI_OBAT) ON DELETE CASCADE);

Penjelasan syntax CREATE TABLE OBAT

OBAT =>nama tabel

Nama Kolom Tipe data Length

ID_OBAT CHAR 5

NAMA_OBAT VARCHAR2 25

Page 6: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 5

DESKRIPSI_OBAT VARCHAR2 20

KUANTITAS_TERSEDIA NUMBER

HARGA_SATUAN NUMBER

ID_KATEGORI_OBAT CHAR 5

Membuat tabel obat_supplier

CREATE TABLE OBAT_SUPPLIER(ID_OBATSUPPLIER CHAR(5),

ID_OBAT CHAR(5),

ID_SUPPLIER CHAR(5),

JUMLAH_SUPPLY NUMBER,

HARGA_GROSIR NUMBER,

WAKTU_KIRIM DATE,

CONSTRAINT PK_OBAT_SUPPLIER PRIMARY

KEY(ID_OBATSUPPLIER,ID_OBAT,ID_SUPPLIER),

CONSTRAINT FK_OBAT_SUPPLIER_OBAT FOREIGN KEY(ID_OBAT)

REFERENCES OBAT(ID_OBAT) ON DELETE CASCADE);

Note

CONTSRAINT

Contsrain merupakan syntax untuk memberi batasan sebuah kolom berlaku sebagai

primary key atau foreign key dari sebuah tabel

REFERENCES

References adalah syntax untuk memberi informasi acuan sebuah kolom menjadi

foreign key dari tabel master

ON DELETE CASCADE

Syntax ini berfungsi untuk menjaga defendensi functional drai relasi table ketika

terjadi penghapusa sebuah baris pada tabel master. Jika sebuah baris pada tabel

master di hapus, maka id yang terhapus pada tabel master tersebut akan dihapus juga

di setiap baris pada tabel relasi sesuai dengan baris yang terdelete di tabel master

Page 7: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 6

b. Create view

View merupakan table semu/lojik yang datanya berasal dari satu atau lebih table

yang disebut sebagai table sumber.

Syntax untuk membuat View adalah :

Create [OR REPLACE][FORCE][NOFORCE] VIEW nama_view AS

Subquery [with <CHECK option>|<READ ONLY>]

Contoh :

create view info_obat as(

select o.id_obat,o.nama_obat,o.kuantitas_tersedia,d.deskripsi_kategori

from obat o, kategori_obat d

where o.id_kategori_obat = d.id_kategori_obat);

Pada sintaks pembentukan VIEW terdapat beberapa kata kunci seperti :

OR REPLACE digunakan apabila pada saat pembentukan view, ternyata

view sudah ada, maka view didefinisikan kembali.

FORCE. View akan dibuat walaupun table sumbernya belum ada

NOFORCE. View hanya akan dibuat bila table sumbernya sudah ada

With Check Option. View akan memeriksa data yang diinsert ataupun

diupdate pada view

READ ONLY. Dengan perintah ini maka operasi penambahan,

pembaharuan, dan penghapusan melalui view tersebut tidak

diperbolehkan.

1.2 Alter

a. Menambah kolom baru

Page 8: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 7

Digunakan untuk mengubah struktur table dan constraint-nya. Ada tiga buah

alter yang dapat digunakan baik secara terpisah ataupun bersamaan .

Syntaxnya adalah :

ALTER NAMA_TABLE

ADD NAMA_KOLOM

Contoh :

Alter table obat

Add harga_diskon number

b. Memodifikasi kolom dalam tabel

Digunakan untuk mengubah definisi suatu kolom.

Syntaxnya adalah :

ALTER TABLE nama_tabel MODIFY nama_kolom tipe_data

Contoh :

Alter table obat

MODIFY nama_obat varchar2(50)

c. Mengubah nama kolom dalam tabel

Syntaxnya adalah :

ALTER TABLE nama_table

RENAME nama_kolom TO nama_kolom_baru

Contoh

Alater table obat

rename harga_diskon to diskon

d. Menghapus kolom dalam tabel

ALTER TABLE nama_table

DROP COLUMN nama_kolom

Contoh :

Alter table obat

Page 9: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 8

Drop column diskon

e. Menambah constrain pada tabel

ALTER TABLE nama_tabel

ADD CONSTRAINT nama_constraint

Foreign key (nama_kolom_foreign_key) references

Nama_tabel_acuan(nama_kolom_primary_key);

Contoh:

ALTER TABLE obat_supplier

ADD CONSTRAINT fk_obat_supplier_supplier

Foreign key (ID_supplier) references

Supplier(ID_supplier);

f. Menghapus constrain pada tabel

ALTER TABLE nama_table

DROP CONSTRAINT nama_constraint;

Contoh

ALTER TABLE obat_supplier

DROP CONSTRAINT fk_obat_supplier_supplier;

g. Mengosongkan isi tabel

TRUNCATE TABLE nama_tabel;

Contoh

TRUNCATE TABLE obat_supplier;

1.3 Drop

a. Drop kolom

ALTER TABLE nama_tabel DROP COLUMN nama_kolom;

Contoh:

ALTER TABLE obat_supplier DROP COLUMN waktu_kirim;

Page 10: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 9

b. Drop tabel

DROP TABLE nama_tabel;

Contoh:

DROP TABLE obat_supplier;

1.4 Melihat struktur tabel

Fungsi dari perintah ini adalah melihat semua kolom dan tipenya dalam tabel.

Syntaxnya adalah :

Contoh :

Menampilkan struktur tabel obat

DESC OBAT

Menampilkan struktur tabel supplier

DESC SUPPLIER

Menampilkan struktur tabel obat_supplier

DESC OBAT_SUPPLIER

Menampilkan struktur tabel kategori_obat

DESC KATEGORI_OBAT

2. DML

Merupakan konsep untuk menerangkan bagaimana mengubah, menambah, dan

menghapus baris table.

2.1 Insert

Perintah digunakan untuk menambah data baru dalam tabel. Syntaxnya adalah

Contoh :

DESC NAMA_TABEL

Insert into <nama_table> *(nama_column1,nama_column2,…)+

values (value1,value2,…)

Page 11: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 10

Insert tabel obat

insert into kategori_obat (id_kategori_obat, deskripsi_kategori) values

('O001','Obat Generik');

Insert tabel kategori_obat

insert into kategori_obat (id_kategori_obat, deskripsi_kategori) values

('O001','Obat Generik');

Insert tabel supplier

insert into supplier (id_supplier, nama_supplier, alamat_supplier,

kota_asal_supplier, no_telp_supplier) values ('S101','Ilham','Jl. Raung

2','Bandung','0223344556');

Insert obat_supplier

insert into obat_supplier (id_obat, id_supplier, jumlah_supply,

harga_grosir, waktu_kirim) values

('D001','S101',100,2000000,to_date('24-01-2012','dd-mm-yyyy'));

2.2 Update

Perintah yang digunakan untuk memodifikasi data pada tabel. Syntaxnya adalah

Contoh:

UPDATE obat_supplier SET harga_grosir=240000 WHERE id_obat=’D001’;

2.3 Delete

Perintah yang digunakan untuk menghapus data pada tabel. Syntaxnya adalah

DELETEFROM obat_supplier WHERE id_obat=’D001’;

2.4 Select

Perintah yang digunakan untuk menampilkan isi data pada tabel. Syntaxnya adalah

SELECT * FROM obat

UPDATE nama_tabel SET nama_field=data_baru WHERE kondisi

DELETE FROM nama_tabel WHERE kondisi

SELECT * FROM nama_tabel

Page 12: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 11

3. PL / SQL

3.1 Stored Procedure dan Function

Procedure di dalam Oracle memfasilitasi control data di dalam database. Procedure bisa

berupa blok statment yang tersimpan dalam skema database. Dapat diexecute berulang

kali, sesuai dengan kebutuhan.

Syntax penulisan procedure secara umum :

Contoh :

Procedure tambah_obat

CREATE OR REPLACE PROCEDURE tambah_obat(

vid obat.id_obat%type,

vnama obat.nama_obat%type,

vdesc obat.deskripsi_obat%type,

vkuantitas obat.kuantitas_tersedia%type,

vharga obat.harga_satuan%type,

vkategori obat.id_kategori_obat%type

) as

BEGIN

INSERT INTO obat (id_obat, nama_obat, deskripsi_obat, kuantitas_tersedia,

harga_satuan, id_kategori_obat)

VALUES(vid, vnama,vdesc,vkuantitas,vharga,vkategori);

END tambah_obat;

/

CREATE OR REPLACE PROCEDURE nama_procedure (parameter)

AS [deklarasi_variabel]

BEGIN

[blok statment]

END nama_procedure

Page 13: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 12

PEMROGRAMAN JAVA

a. Pengenalan java

Dalam sebagian besar bahasa pemrograman, sebuah kode program harus

dikompilasi (compile) maupun diterjemahkan (interpret) sehingga dapat dijalankan di dalam

sebauh komputer. Software yang digunakan untuk melakukan kompilasi kode program disebut

compiler, sedangkan yang digunakan untuk melakukan interpretasi disebut interpreter,

oerbedaan antara compiler dan interpreter adalah terletak pada proses ekseskusi kodenya.

Compiler akan menerjemahkan isi code secara keseluruhan, sedangkan interpreter akan

menerjemahkan dengan cara baris demi baris. Karena proses eksekusinya dilakukan perbaris.

Maka interpreter lebih lambat dibandingkan dengan compiler.

Java menerapkan dua proses diatas. Ini berarti java berperan sebagai compiler dan

interpreter. Konsepnya sederhana, mula-mula kode ditulis dengan bahasa java

(berekstensi .java) akan dikompilasi (oleh kompiler) menjadi suatu kode objek. Dalam

terminologi java, kode ini disebut dengan bytecode. Jadi, dalam java, hasil programnya akan

berupa bytecode (berekstensi .class), bukan file .exe. selanjtunya, bytecode akan dieksekusi

baris demi baris (oleh interpreter). Dengan demikian, proses kompilasi hanya dilakukan sekali,

akan tetapi proses interpret akan dilakukan setiap program dieksekusi.

Bytecodahe dalam dianggap sebagai sekumpulan perintah dalam bahasa mesin

untuk sebuah JVM (Java Virtual Machine).Setap interpreter java, baik yang berupa development

tool maupun sebuah web brower, merupakan implementasi dari JVM. Program yang dibuat

deangan java tidak mungkin dapat dijalankan didalam alat lain yang tidak memiliki JVM.

Dengan konsep bytecode ini, dalam terminologi java dikenal adanya istilah “write

once, run everywhere”.

b. Java dasar

Pengelompokkan tipe data dalam java

Integer. Kelompok ini terdiri dari tipe byte, short, int, dan long; yang digunakan untuk

mempresentasikan data-data yang bertipe bilangan bulat.

Floating point. Kelompok ini terdiri dari tipe float, dan double; yang digunakan untuk

mempresentasikan data-data yang bertipe bilangan riil (mengandung pecahan).

Karakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan

data-data dalam bentuk karakter alfanumerik dan simbol.

Page 14: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 13

Boolean, kelompok ini terdiri dari sebuah tipe data, yaitu boolean,; yang

mempersentasikan data dalam bentuk logika (benar/salah).

String, kompok ini terdiri dari sebuah tipe data String; yaitu digunakan untuk

mempresentasikan sebuah kata atau kalimat, dengan kata lain tipe String merupakan

kumpulan karakter-karakter.

Contoh :

class tipeData(){ public static void main (String arg[]){ byte a = 3; short b = 1; int c = 2; boolean jawaban; d = a+b+c; jawaban = (d == 6); System.out.println("hasil perhitungan" + d); System.out.println(“Jawaban : ” + (jawaban)) } }

c. Deklarasi dan inisialisasi variable

Variabel dan Tipe Data

Variabel

Variabel adalah elemen penyimpanan data secara virtual.Dalam program, data

dapat digunakan sebagai operand pada operasi-operasi aritmatika logika, atau

sebagai parameter dalam operasi-operasi percabangan (branching) dan operasi

berulang (looping).

Setiap variabel memiliki kemampuan menyimpan suatu informasi sesuai

dengan tipe data yang didekalrasikan untuk variabel tersebut saja. Sintaks

pendekalrasian variabel secara umum adalah sebagai berikut:

Tipe Data

Berikut tipe variabel data pada java:

Tipe Primitif

Tipe primitive yaitu tipe data yang digunakan untuk variabel yang nilainya

ditempatkan pada alokasi memori yang telah ditentukan.

Contoh:

Short bilangan = 13;

Page 15: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 14

Ada beberapa jenis tipe data primitif:

a. Integral, mempresentasikan nilai-nilai bilangan bulat. Terdiri dari 4 tipe, yaitu:

byte, short, int dan long.

b. Floating point, mempresentasikan nilai-nilai bilangan real. Terdiri dari 2 tipe,

yaitu float dan double.

c. Tekstual, mempresentasikan nilai nilai berupa alphabet. Tipe data yang

merupakan tipe data tekstual adalah char.

d. Logika, mempresentasikan nilai-nilai logika (hanya bernilai true dan false). Tipe

data yang merupakan tipe data logika adalah boolean.

Untuk lebih jelasnya dapat di lihat di tabel berikut.

Tipe Keterangan

Short short int, bilangan bulat 16 bit

Int integer, bilangan bulat 32 bit

Long long integer, bilangan bulat 64 bit

Byte bilangan bulat 8 bit

Float bilangan pecahan 32 bit

Double bilangan pecahan 64 bit dengan presisi ganda (2xfloat)

Char karakter 16 bit

Boolean mempunyai nilai true atau false

d. Operator aritmatika

Operator melakukan komputasi terhadap satu/dua objek data.Operan yang

dioperasikan dapat berupa literal, variabel, atau nilai yang dikirim method.

Operator Aritmatika

Symbol Operator Contoh

+ Penjumlahan x = x + y

– Pengurangan x = x – y

* Perkalian x = x*y

/ Pembagian x = (x/y)

% Sisa pembagian (mod) x = x % y

++ Menaikkan nilai x = x++

-- Menurunkan nilai x = x --

Page 16: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 15

- Negasi x = -x

Operator pembanding dan kondisional

Symbol Operator Contoh

== Sama dengan x == y

!= Tidak sama dengan x != y

> Lebih besar x > y

>= Lebih besar atau sama dengan x >= y

< Lebih kecil x < y

<= Lebih kecil atau sama dengan x <= y

&& Conditional AND x && y

|| Conditional OR x || y

e. Pengkondisian (if)

KonstruksiPengambilanKeputusan

Sebelummenulis program untuk memecahkan masalah, kita harus memiliki pemahaman

yang menyeluruh tentang masalah dan pendekatan untuk memecahkannya. Dalam

banyak kasus pemrograman Java, muncul kebutuhan-kebutuhan untuk mengevaluasi

suatu variabel. Evaluasi variable dibutuhkan untuk memutuskan arah aliran program.

Untuk melakukan evaluasi terhadap satu atau lebih variabel, digunakan operator

relasional yang akan membandingkan variabel-variabel yang akan dievaluasi dengan

nilai tertentu. Sedangkan operator kondisional merupakan operator-operator yang

mengatur arah aliran program berdasarkan hasil evaluasi terhadap satu atau beberapa

variabel.

Operator Relasional

Operator relasionaladalah operator yang

digunakanuntukmembandingkanduabuahnilai dan menghasilkan nilai berupa true

(benar) atau false (salah).

Page 17: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 16

Operator Kondisional

Operator kondisionaldigunakanpadaduaataulebihekspresiboolean. Operator

initerdiridari operator kondisional AND (&&) , OR (||), dan NOT (!) .

KonstruksiPengambilanKeputusan

Konstruksi pengambilan keputusan adalah konstruksi yang memungkinkan program

melakukan evaluasi terhadap variabel atau kondisi kemudian menjalankan alur program

yang sesuai dengan kondisi.Dalam hal ini, program dikatakan mengambil keputusan

berdasarkan hasil evaluasi variabel atau kondisi. Ada beberapa konstruksi pengambilan

keputusan, yaitu konstruksi IF, IF..ELSE, dan konstruksi SWITCH.

Konstruksi IF

Statement if menentukan sebuah statement (ataublokkode) yang akan

dieksekusi bila persyaratan (expression) bernilai true.Gambar di bawah

menunjukkan alur control keputusan pada konstruksi IF.

Page 18: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 17

f. Pengulangan (looping)

While loop

Looping ini merupakan perulangan yang akan terus berlangsung sampai

ditemukannya kondisi yang cocok atau sudah menemukan kondisi tertentu.

Syntax :

while(boolean_expression){

code_block;

}

//akhir dari konstruksi while

//program dilanjutkan di sini

Contoh 3:

int i = 4;

while ( i > 0 ){

System.out.print(i);

i--;

}

Contoh diatas akan mencetak angka 4321 pada layar. Perlu dicatat jika bagian i--

; dihilangkan, akan menghasilkan pengulangan yang terus menerus (infinite

loop).Sehingga, ketika menggunakan while-loop atau bentuk pengulangan yang

Page 19: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 18

lain,pastikan agar memberikan pernyataan yang membuat pengulangan

berhenti pada suatu kondisi.

g. Method

Sebuah method adalah bagian-bagian kode yang dapat dipanggil oleh program utama atau

dari method lainnya untuk menjalankan fungsi yang spesifik di dalam kelas.Method dapat

dibagi menjadi fungsi dan prosedur.

Fungsi adalah bagian atau sub dari program yang mempunyai algoritma tertentu dalam

menyelesaikan suatu masalah dengan mengembalikan hasil.

Prosedur adalah bagian atau sub dari program yang mempunyai algoritma tertentu dalam

menyelesaikan suatu masalah tanpa mengembalikan suatu nilai hasil.

Secara umum method dalam java adalah sebuah fungsi. Berikut adalah karakteristik dari

method :

1. Dapat mengembalikan satu nilai atau tidak sama sekali.

2. Dapat diterima beberapa parameter yang dibutuhkan atau tidak ada parameter sama

sekali. Parameter bisa juga disebut sebagai argumen dari fungsi.

3. Setelah method telah selesai dieksekusi, dia akan kembali pada method yang

memanggilnya.

Method tanpa nilai balikan

Method ini merupakan method yang tidak mengembalikan nilai.Maka dari itu, kita

harus mengganti tipe kembalian dengan kata kunci void. Berikut ini kode program

yang dimaksud:

class Kotak{

double panjang;

double lebar;

double tinggi;

//mendefinisikan method void (tidak mengembalikan nilai)

void cetakVolume(){

System.out.println("Volume kotak = " +(panjang*lebar*tinggi));

}

}

class Kotak{

double panjang;

double lebar;

Page 20: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 19

double tinggi;

//mendefinisikan method yang mengembalikan tipe double

double hitungVolume(){

//menghitung volume

double vol = panjang*lebar*tinggi;

//mengembalikan nilai

return vol;

}

}

h. Array satu dimensi dan array 2 dimensi

Array harus di deklarasikan seperti layaknya sebuah variable, apabila Anda mendeklarasikan

array, maka harus membuat sebuah list dari tipe data, yang diikuti oleh tanda kurung siku

buka dan kurung siku tutup, yang diikuti oleh nama identifier, ex:

Int [] ages;

Atau

Int ages[];

Setelah pendeklarasian, kita harus membuat array dan menentukan beberapa panjangnya

dengan sebuah konstruktor, proses ini java disebut instantiasi (kata dalam java yang berarti

membuat). Untuk meng-instantiasi sebuah objek, kita membutuhkan sebuah konstruktor.

Kita akan membicarakan lagi meng-instantiasi dan pembuatan konstruktor pada praktikum

selanjutnya.

//deklasrasi objek

Int ages[];

//instantiasi objek

Ages = new int[100];

Atau bisa juga ditulis

//deklarasi dan instantiasi

Int ages[] = new int [100];

Untuk mengakses sebuah elemen dalam array, atau mengakses sebagian dari arrar, Anda

harus menggunakan sebuah nomor atau yang disebut sebagai index atau subscript.

Page 21: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 20

Index Dimulai dari nol,kemudian akan terus bertambah sampai list value dari array

tersebut berakhir.perlu dicatat, bahwa elemen-elemen didalam array dimulai dari 0 sampai

dengan (ukuran array-1).

untuk mengetahui berpa banyak elemen didalam sebuah array, anda dapat menggunakan

length (Panjang) field dalam array. panjang field dalam array akan mengembalikan ukuran

dari array itu sendiri. Sebagai contoh: arrayName. Length

Array multi dimensi array multidimensi diimplementasikan sebagai array didalam array.

Array multidimensi dideklarasikan dengan menambahakan jumlah randa kurung setelah

nama array.

public static void main(String[] args) {

int[][] angka= {

{1},{2},

{3},{4}

};

Untuk mengakses sebuah elemen didalam array multidimensi, sama saja dengan mengakses

array satu dimensi. Misalnya saja, untuk mengakses element pertama dari baris pertama

didalam array dogs, kita akan menulis, System.out.print( angka[0][0]);

i. GUI (Graphical User Interface)

Graphical User Interface (GUI) merupakan interface grafis aplikasi yang memfasilitasi

interaksi antara pengguna dengan pogram. Gambar beriku contoh tampilan GUI.

Page 22: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 21

h. JLabel

LabelmerupakankomponenGUIyangberfungsiuntukmenampilkansuatuteks.Tekstersebu

tbiasanyabersifatreadonly.Umumnyaprogrammerjarangsekalimengubahisisuatulabel.Ke

lasuntukmenampilkanlabeldiGUIberbasisJavabernamaJLabel.Kelasiniditurunkandarikel

asJComponent.

Sebuah label dapat diinisialisasi dengan syntax berikut ini.

label1=newJLabel("SistemInformasiITTelkom");

i. JButton

Buttonmerupakankomponenmiriptombol.Buttonterdiridaribeberapatipe,yaitucommand

button,togglebutton,checkboxes,danradiobutton. Di atas JButton

dapatdiletakkansuatulabelteks,ataulebih dikenal sebagai Button label

dansuatugambaricon.

Teks label atau gambar icon yang akan ditulis di atas JButton dapat diinisialisasi melalui

konstruktor JButton berikut ini.

JButton myButton = new JButton( "Label" );

JButton myButton = new JButton( "Label",myIcon);

j. JTeksfield dan JPassword

JTextFields dan JPasswordField adalah area yang digunakan untuk

menampilkan,memperbaharui, atau menuliskan suatu teks.JTextField diturunkan dari

JTextComponent sedangkan JPasswordField diturunkan dari JTextField. Berbeda dengan

JTextField, JPasswordField menampilkan teks dalam format asterisk (*). Berikut ini

contoh gambar JTextField dan JPasswordField.

Contoh penggunaan JLabel

Contoh penggunaan JButton

Page 23: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 22

k. JFrame

Frame adalah salah satu container yang ada dalam swing. Container adalah komponen yang

dapat menampung komponen lain di atasnya. di atas JFrame kita bisa menaruh JLabel,

JTextField, JtextArea, JButton, bahkan JPanel (JPanel adalah termasuk container).

l. JPanel

Kelas JPanel diturunkan dari JComponent.Setiap JPanel adalah Container. Pada JPanel

Dapat ditambahkan beberapa komponen atau panel lain. Ukuran area JPanel diukur

berdasarkan komponen yang dicakupnya dan terus berkembang untuk mengakomodasi

komponen yang ditambahkan padanya.

m. JTable

JTabel merupakan komponen untuk menampilkan data dalam tabel.Biasanya komponen

ini sering digunakanuntukmenampilkandata‐datayangdiambildaridatabase.

Sebuah tabel beserta modelnya dapat dibuat dengan syntax berikut ini.

JTable table = new JTable(theModel);

n. JToolbar

Contoh penggunaan JButton

Contoh penggunaan JTabel.

Contoh penggunaan JPanel

Page 24: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 23

Swing menyediakan komponen baru yang tidak disediakan oleh AWT yaitu

JToolBar.Pada dasarnya, JToolBar memiliki kesamaan fungsi dengan JPanel pengikat

button kecil.

Namun,perbedaanutamanyaadalahJToolBarbersifatdockableataufloatable,dimanaJToolB

ardapatdidragkeluaroriginalwindow,sehinggamenjadistandalonewindow.JToolBarjugad

apatdi‐drag kembali ke dalam window atau dipindahkan posisinya ke samping kiri,

kanan, atas, atau bawah window.

o. Layout

Layoutmengatur penempatan objek-objek yang diletakkan di atas sebuah container.

Penggunaan layout memberikan kemudahan dibandingkan dengan menentukan ukuran

eksak dan posisi setiap komponen, sehingga para programmer akan lebih

berkonsentrasi terhadap urusan "loo and feel" saja. Tipe‐tipe layout dapat berupa

FlowLayout, BorderLayout,GridLayout atauGridbagLayout.

p. Action Listener

ActionListener mengatur apa saja method yang akan dilakukan saat objek itu berubah

state (ada perintah yang diberikan ke tombol) seperti button click, open form, on close

dan lain-lain.

q. MVC Konsep

MVC adalah arsitektur aplikasi yang memisahkan kode-kode aplikasi dalam tiga

lapisan, Model, View dan Control. MVC termasuk dalam arsitektural design pattern

yang menghendaki organisasi kode yang terstruktur dan tidak bercampur aduk. Ketika aplikasi

sudah sangat besar dan menangani struktur data yang kompleks, harus ada pemisahan

yang jelas antara domain model,komponen view dan kontroler yang mengatur penampilan

model dalam view. Arsitektur MVC ini memungkinkan adanya perubahan dalam domain

model tanpa harus mengubah code untuk menampilkan domain model tersebut. Hal ini

sangat bermanfaat ketika aplikasi mempunyai domain model dan view komponen sangat besar

dan kompleks.

Contoh penggunaan JToolbar.

Page 25: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 24

perlu diketahui kalo Swing dibuat menggunakan konsep MVC (Model View Controller), sehinnga setiap komponen terdiri dari bagian Model, bagian View, dan bagian Controller.

Model, merupakan bagian yang digunakan untuk menampung data View, merupakan bagian untuk menampilkan data Controller, merupakan bagian yang digunakan untuk proses manipulasi data.

Studi Kasus

- Membuat halaman Login

Langkah-langkah :

1. Buat frame login

public Login() { frameLogin = new JFrame("Compilasi"); frameLogin.setVisible(true); frameLogin.setSize(300, 180); frameLogin.setResizable(false); loginGUI();

} .setVisible(true/false), untuk menampilkan atau menyembunyikan form .setSiza(int height, int weight), untuk mengatur panjang dan lebar applikasi .setResizable(true/false), untuk mengatur dapat di atur manual panjang dan lebar

aplikasi. loginGUI(), mehod untuk mengelompokan komponen-komponen penyusun GUI.

2. Buat Layout Aplikasi

Page 26: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 25

Layout = new BorderLayout(5,5); flowLay = new FlowLayout(); gridLayout = new GridLayout(2,2, 1, 10); …… //setPanel panelAtas = new JPanel(); panelTengah = new JPanel(); panelBawah = new JPanel(); loweredbevel = BorderFactory.createEtchedBorder(EtchedBorder.LOWERED); //setlayout panelBawah.setLayout(flowLay); frameLogin.setLayout(Layout); panelTengah.setLayout(gridLayout); //setborder panelBawah.setBorder(loweredbevel); panelTengah.setBorder(loweredbevel); panelAtas.setBorder(loweredbevel); …… //tambah ke frame frameLogin.add(panelAtas, BorderLayout.NORTH); frameLogin.add(panelTengah, BorderLayout.CENTER); frameLogin.add(panelBawah, BorderLayout.SOUTH);

new BorderLayout(5,5), untuk mengatur layout utama pada frame, denganl

lima cell kotak yang disediakan. NORTH, CENTER, SOUTH, LEFT, RIGHT

new FlowLayout(), untuk mengatur layout bawah menjadi sejajar, rata kiri atau

rata kanan

new GridLayout(2,2,1,10), mengatur jumlah cell kotak yang disediakan 2,2 ada

2 baris dan 2 kolom, 1 merupakan 1px jarak horizontal komponen, 10

merupakan 10px jarak vertikal komponen.

BorderFactory, merupakan class library yang digunakan untuk membuat

border pada JPanel,berguna untuk menandai/mengtahui panel 1 dan panel

laiinya.

.setBorder(), untuk menandai perbatas panel

setLayout(), untuk membuat Layout pada panel

3. Menambahkan komponen pada masing-masing Panel

//objek Label Header = new JLabel(); .. //objek tombol Login = new JButton("Login"); .. //objek text field userName = new JTextField(); .. //setText field Header.setText("Login Sistem"); ..

Page 27: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 26

//tambah komponen panel bwah panelBawah.add(Login); .. //tambah komponen panel atas panelAtas.add(Header); .. //tambah komponen panel tengah panelTengah.add(L_userName); ..

.setText(“abc”), untuk memberi label ke komponen .add, berguna untuk menambah/menempel komponen ke dalam panel/frame

4. Membuat Action listener

Login.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { JOptionPane.showMessageDialog(null, "Anda Menekan Tombol Login"); } }); Cancel.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.exit(0); } });

Login. dan Cancel. Merupakan objek tombol yang sudah di inisialisasi. .addActionnListener(), untuk membuat tombol itu berfungsi jika ditekan JOptionPane, adalah kotak dialog untuk menandakan sudah ada perintah dari

user System.exit(0), untuk memerintah aplikasi agar di tutup / close

- Membuat halaman Home

1. Membuat Frame Home

public Home(){ frameHome = new JFrame("Home"); frameHome.setVisible(true); frameHome.setSize(500, 300); homeGUI(); }

.setVisible(true/false), untuk menampilkan atau menyembunyikan form .setSiza(int height, int weight), untuk mengatur panjang dan lebar applikasi .setResizable(true/false), untuk mengatur dapat di atur manual panjang dan lebar

aplikasi. loginGUI(), mehod untuk mengelompokan komponen-komponen penyusun GUI.

Page 28: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 27

2. Membuat Layout Aplikasi

borderlay = new BorderLayout(); //objek panel panelTengah = new JPanel(); panelBawah = new JPanel(); … loweredbevel = BorderFactory.createEtchedBorder(EtchedBorder.LOWERED); … //setlayout frameHome.setLayout(borderlay); panelTengah.setLayout(new GridBagLayout()); … //setborder panelTengah.setBorder(loweredbevel); … //tambah ke frame frameHome.add(toolBar, BorderLayout.NORTH); frameHome.add(panelTengah, BorderLayout.CENTER); frameHome.add(label[3], BorderLayout.SOUTH);

new BorderLayout(), untuk mengatur layout utama pada frame, cell kotak yang

disediakan. NORTH, CENTER, SOUTH, LEFT, RIGHT

new FlowLayout(), untuk mengatur layout bawah menjadi sejajar, rata kiri atau

rata kanan

BorderFactory, merupakan class library yang digunakan untuk membuat

border pada JPanel,berguna untuk menandai/mengtahui panel 1 dan panel

laiinya.

.setBorder(), untuk menandai perbatas panel

setLayout(), untuk membuat Layout pada panel

3. Membuat toolbar

//inisalisasi toolbar toolBar = new JMenuBar(); fileMenu = new JMenu("File"); daftarObat = new JMenuItem("Daftar Obat"); lihatProfil = new JMenuItem("Lihat Profil"); keluar = new JMenuItem("Keluar ");

new JMenuBar(), untuk membuat objek menu bar

new JMenu (“abc”), untuk membuat menu pada bar

new JMenuItem(“abc”), unutk membuat item pada menu

4. Menambah Komponen

//setkomponen menu toolbar fileMenu.add(daftarObat); fileMenu.add(lihatProfil); fileMenu.add(keluar); toolBar.add(fileMenu);

Page 29: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 28

//tambah komponen ke panel tengah panelTengah.add(label[0]); panelTengah.add(label[1]); panelTengah.add(label[2]);

.add, berguna untuk menambah/menempel komponen ke dalam panel/frame

5. Membuat Action Listener

daftarObat.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { JOptionPane.showMessageDialog(null, "Anda Menekan Tombol Login"); } }); keluar.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { System.exit(0); } });

daftarObat. Merupakan objek JMenuBar yang sudah di inisialisasi.

keluar. Merupakan objek tombol yang sudah di inisialisasi.

.addActionnListener(), untuk membuat tombol itu berfungsi jika ditekan

JOptionPane, adalah kotak dialog untuk menandakan sudah ada perintah dari

user

System.exit(0), untuk memerintah aplikasi agar di tutup / close

- Membuat halaman isi

1. Membuat frame isi

public DattarObat() { frameDaftarobat = new JFrame("Daftar Obat"); frameDaftarobat.setVisible(true); frameDaftarobat.setSize(1100, 580); frameDaftarobat.setResizable(false); daftarObatGUI(); }

Page 30: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 29

.setVisible(true/false), untuk menampilkan atau menyembunyikan form .setSiza(int height, int weight), untuk mengatur panjang dan lebar applikasi .setResizable(true/false), untuk mengatur dapat di atur manual panjang dan lebar

aplikasi. loginGUI(), mehod untuk mengelompokan komponen-komponen penyusun GUI.

2. Membuat Layout aplikasi

layoutBorder = new BorderLayout(5,5); frameDaftarobat.setLayout(layoutBorder); loweredbevel = BorderFactory.createEtchedBorder(EtchedBorder.LOWERED); //setlLayoutPanel panelBawah.setLayout(new FlowLayout()); panelBawahKiri.setLayout(new FlowLayout()); panelBawahKanan.setLayout(new FlowLayout()); panelKananAtas.setLayout(new GridLayout(4,1,1,10)); panelTengahBawah.setLayout(new GridLayout(7,2,1,10)); //setBorder panelAtas.setBorder(loweredbevel); panelTengah.setBorder(loweredbevel); panelKanan.setBorder(loweredbevel);

new BorderLayout(5,5), untuk mengatur layout utama pada frame, denganl

lima cell kotak yang disediakan. NORTH, CENTER, SOUTH, LEFT, RIGHT

new FlowLayout(), untuk mengatur layout bawah menjadi sejajar, rata kiri atau

rata kanan

new GridLayout(rows, cols, hGap, vGap), membuatlayout dengan mangatur

jumlah kolom, jumlah baris, ukuran Gap vertikal/horizontal dengan ukuran

pixel

BorderFactory, merupakan class library yang digunakan untuk membuat

border pada JPanel,berguna untuk menandai/mengtahui panel 1 dan panel

laiinya.

.setBorder(), untuk menandai perbatas panel

setLayout(), untuk membuat Layout pada panel

3. Membuat Tabel

private static final String[] columns = { "No Obat", "Id Obat", "Jenis Obat" }; private static final String[][] rowData = { {"1", "OBT0012", "Demam"}, {"2", "OBT3423", "Batuk"} }; private JTable table; private DefaultTableModel model; public TabelData() { model = new DefaultTableModel(rowData, columns);

Page 31: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 30

table = new JTable(model); setLayout(new BorderLayout()); add(new JScrollPane(table), BorderLayout.CENTER); }

String[] columns, array satu dimensi untuk membuat header

String[][] rowData, array dua dimensi untuk menampung stream data tabel

new DefaultTableModel(row, colomns), untuk membuat data model dalam

tabel

new JTable(model), membuat objek tabel dengan parameter objek model

4. Menambah komponen ke panel

//tambah komponen tengah panelTengahAtas.add(td, BorderLayout.CENTER); //tambah komponen bawah panelTengahBawah.add(label[0]); panelTengahBawah.add(idObat); ... //setPanel panelTengahBawah.add(label[0]); panelTengahBawah.add(idObat); panelTengah.add(panelTengahAtas); panelTengah.add(panelTengahBawah); //setText field fieldCari = new JTextField(20); //tambah kompnen panel atas panelAtas.add(new Label("Daftar Obat ")); //tambah kompnen panel bawah panelBawahKiri.add(fieldCari); panelBawahKanan.add(cancel); panelBawah.add(panelBawahKiri); .. //tambah komponen panel kanan panelKananAtas.add(tambah); ... panelKanan.add(panelKananAtas);

.add, berguna untuk menambah/menempel komponen ke dalam panel/frame

5. Membuat Action Listener

cancel.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { performedTombolCancel(arg0); } }); cari.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { performedTombolCari(arg0); } }); tambah.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) {

Page 32: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 31

performedTombolTambah(arg0); } }); hapus.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { performedTombolHapus(arg0); } }); edit.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { performedTombolEdit(arg0); } }); simpan.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { JOptionPane.showMessageDialog(null, "Anda Menekan Tombol Login");

} }); td = new TabelData(); td.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent mvt){ System.out.println((String)td.getSelectedValue()); } });

Page 33: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 32

MVC (MODEL VIEW CONTROLLER)

MVC adalah arsitektur aplikasi yang memisahkan kode-kode aplikasi dalam tiga

lapisan, Model, View dan Control. MVC termasuk dalam arsitektural design

pattern yang menghendaki organisasi kode yang terstruktur dan tidak bercampur

aduk. Ketika aplikasi sudah sangat besar dan menangani struktur data yang

kompleks, harus ada pemisahan yang jelas antara domain model, komponen view dan

kontroler yang mengatur penampilan model dalam view. Arsitektur MVC ini

memungkinkan adanya perubahan dalam domain model tanpa harus mengubah

code untuk menampilkan domain model tersebut. Hal ini sangat bermanfaat ketika

aplikasi mempunyai domain model dan view komponen sangat besar dan kompleks.

MVC CRUD DAFTAR OBAT

MODEL,

Secara garis besar, berisi Logic/ logika aplikasi, dalam sesi ini model yang kita buat ada 9 kelas

yang mempunyai fungsi berbeda masing-masing kelasnya.

1. Daftarobat Action.java

Mempunyai fungsi mengatur aksi dalam form DaftarObat.

public void kosongTeks(){} public void tombolHapus(){} public void tombolTambah(){} public void tombolSimpan(){}

Page 34: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 33

public void tombolCari(){} public void tombolCancel(){} public void editTrue(DattarObat view){} public void editFalse(DattarObat view){} public void fireOnChange(){} public void tombolEdit(){} public void mouse() throws SQLException{} method setter getter Method setter getter, adalah suatu method untuk pengisian dan pengambilan nilai

variable pada suatu class

kosongTeks(), method untuk melakukan pengosongan dalam teksfield

tombolHapus(), method untuk melakukan penghapusan Database,

tombolTambah(), method untuk melakukan aksi tambah ketika tombol di tekan

tombolSimpan(), method untuk melakukan aksi jika tombol simpan di tekan

tombolCari(), method untuk melakukan aksi jika tombol cari ditekan

tombolCancel(), method untuk melakukan aksi jika tombol cancel ditekan

tomboleditTrue(), method untuk mengembalikan nilai teks field menjadi true untuk

melakukan pengeditan

tomboleditFalse(), method untuk mengembalikan nilai teks field menjadi false

untuk melakukan penyimpanan

fireOnChange(), method untuk menjalankan method yang ada di interface, berguna

untuk jika ada perubahan nilai di aksi akan langsung di rubah di GUI

tombolEdit(), untuk melakukan aksi jika tombol edit ditekan

mouse(), untuk melakukan aksi jika ada mouse melakukan perintah di GUI, seperti

klik, double klik, klik kanan,

2. DeleteDB.java

Mempunyai fungsi untuk melakukan delete di Database

public DeleteDB(String id_obat) throws SQLException {deleted(id_obat);} public void deleted(String id_obat) throws SQLException{ Connection Conn; Conn = new KoneksiDB().getConnection(); String Query = "delete from daftarobat1 WHERE Id_Obat = '"+id_obat+"'"; Statement smnt = Conn.createStatement(); smnt.executeUpdate(Query); System.out.println("berhasil dihapus"); }

String Query = “ …. “, merupakan isi dari perintah SQL untuk melakukan eksekusi

command database

Page 35: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 34

Statement smnt = Conn.createStatement(), pembuatan objek statement yang di

assignment dengan Conn.createStatement, gunanya untuk mengeksekusi String

query yang sudah di definisikan

3. HomeAction.java

Mempunyai fungsi mengtur aksi dalam form Home

public void daftarObat() throws SQLException {} public void keluar(){} daftarObat(), method untuk melakukan aksi jika menu daftar obat di tekan

4. InsertDB.java

Mempunyai fungsi untuk melakukan Insert data di Database

5. KoneksiDB.java

Melakukan koneksi ke database

public class KoneksiDB{ private String url, dbn, usr, pwd; public Connection getConnection() { dbn = "jdea"; url = "jdbc:mysql://localhost/"+dbn; usr = "root"; pwd = ""; Connection con = null; try{ Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection(url,usr,pwd); System.out.println("*** Connect to the database ***"); }catch (ClassNotFoundException e) { e.printStackTrace(); }catch (SQLException e) { e.printStackTrace(); } return con; } }

Dalam satu class ini, berfungsi sebagai koneksi ke database,

6. LoginAction.java

Mempunyai fungsi mengatur aksi dalam form Login public LoginListener getLoginListener() {} public void setLoginListener(LoginListener loginListener) {} public String getUserName() {} public void setUserName(String userName) {} public String getPassword() {} public void setPassword(String password) {}

Page 36: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 35

public void reset(){} public void submitTombol(){} public void cancelTombol(){} public void fireOnChange(){} Method dengan set/get memberi dan mengambil nilai dari attribut dari suatu class

Reset(), untuk memberikan nilai kosong ke text field, jika sudah selesai di isi

submitTombol(), untuk memberi nilai aksi ke tombol login

cancelTombol(), untuk memberi nilai aksi ke tombol cancel

fireOnChange(), untuk memberikan nilai langsung dari aksi ke GUI

7. SelectDB.java

Mempunyai fungsi melakukan select Database atau reload Database

//Access Rows and Columns from database Vector<String> Columns = new Vector<String>(); Vector<Vector<Object>> Rows = new Vector<Vector<Object>>(); //Get Columns From database for (int i = 1; i <= cols; i++){ Columns.addElement(metaDt.getColumnName(i)); } Rows.clear(); // clear unwanted value if exist any in Rows variable. //Get RowsNames From database while( results.next()){ Vector<Object> row = new Vector<Object>(cols); for (int i = 1; i <= cols; i++){ row.addElement(results.getObject(i)); } Rows.addElement(row); }

Vector, untuk melakukan penampungan data dari database

8. SelectRowDB.java

Merupakan aksi dari mouse listener untuk melakukan aksinya, jika klik mouse

public SelectRowDB(DattarObat aksi){} public void selectRow(String id_obat) throws SQLException{} public void retreiveData(ResultSet results) throws SQLException{}

SelectRowDB(), constructor class untuk melakukan referensi objek by parameter

9. UpdateDB.java

Mempunyai fungsi untuk mengupdate database.

public void Updated(String id_obat, String kategori, String kuantitas, String harga, String desc, String waktu, String supplier, String jenis_obat, String select) throws SQLException{

Connection Conn;

Page 37: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 36

Conn = new KoneksiDB().getConnection(); String Query = "UPDATE daftarobat1 set Id_Obat='"+id_obat+"', Kategori='"+kategori+"', kuantitas='"+kuantitas+"', harga='"+harga+"', desk='"+desc+"', waktu='"+waktu+"', supplier='"+supplier+"', Jenis_Obat='"+jenis_obat+"' where id_obat='"+select+"'"; System.out.println(Query); Statement smnt = Conn.createStatement(); smnt.executeUpdate(Query); System.out.println("berhasil diupdate");

}

MODEL.EVENT

Secara garis besar, dalam package ini berupa interface class, yang berfungsi untuk

menyambungkan antara event aksi dan GUI, jika ada aksi maka GUI akan juga ikut berubah

1. DaftarobatListener.java

Melalukan hubungan dengan view DaftarObat.java

public interface DaftarObatListener { public void onChange(DaftarobatAction aksi); }

2. LoginListener.java

Melakukan hubungan dengan view Login.java

public interface LoginListener { public void onChange(LoginAction login); }

3. HomeListener.java

Melakukan hubungan dengan Home.java

public interface HomeListener { public void onChange(HomeAction aksi); }

VIEW,

Secara garis besar, dalam package ini menampung semua view/tampilan GUI.Yang menyusun

semua tampilan pada aplikasi.

1. Home.java

Untuk membuat tampilan dalam form Home

homeAksi = new HomeAction(); homeController = new HomeController(); homeAksi.setListener(this); homeController.setHomeAksi(homeAksi);

2. Login.java Untuk membuat tampilan dalam form Login

loginAksi = new LoginAction();

Page 38: MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari tipe char; yang digunakan untuk mempresentasikan data-data ... Modul Pelatihan |Oracle Van

Modul Pelatihan |Oracle Van Java 2010 37

loginController = new LoginController(); loginAksi.setLoginListener(this); loginController.setAksi(loginAksi);

3. TableDatat.java

Untuk membuat tampilan Jtable dalam form Table Obat

public TabelData() throws SQLException { model = new SelectDB().selected(); table = new JTable(model); setLayout(new BorderLayout()); add(new JScrollPane(table), BorderLayout.CENTER); }

4. DaftarObat.java

Untuk membuat tampilan dalam form DaftarObat

aksi = new DaftarobatAction(); daftarControl = new DaftarobatController(); aksi.setListener(this); daftarControl.setAksi(aksi);

CONTROLLER,

Secara garis besar, dalam package ini berfungsi untuk melakukan pengaturan kemana aplikasi

yang akan di eksekusi, dalam package ini tidak ada logic.

1. HomeController.java

Pengaturan aksi didalam Home.java

public void setHomeAksi(HomeAction homeAksi) {} public void daftarObatForm(Home view) throws SQLException{} public void keluar(Home view){}

2. LoginController.java

Pengaturan aksi didalam Login.java

public void setAksi(LoginAction aksi) {} public void loginForm(Login view){} public void cancelForm(Login view){}

3. DaftarobatController.java

Pengaturan aksi didalam Daftarobat.java

public void setAksi(DaftarobatAction aksi) {} public void tambahForm(DattarObat view){} public void cancelForm(DattarObat view){} public void hapusForm(DattarObat view) throws SQLException{} public void simpanForm(DattarObat view) throws SQLException{} public void cariForm(DattarObat view){} public void editForm(DattarObat view) throws SQLException{} public void mouseAction(DattarObat view) throws SQLException{} public void setterTextField(DattarObat view){}