• Tidak ada hasil yang ditemukan

MODUL PELATIHAN JAVA SWING ORACLE

N/A
N/A
Protected

Academic year: 2018

Membagikan "MODUL PELATIHAN JAVA SWING ORACLE"

Copied!
38
0
0

Teks penuh

(1)
(2)

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

(3)

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

(4)

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,

(5)

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

(6)

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

(7)

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

(8)

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 :

(9)

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:

(10)

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

(11)

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 *

(12)

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

(13)

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).

(14)

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:

(15)

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++

(16)

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

(17)

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

(18)

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

(19)

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)); }

}

(20)

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];

(21)

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

(22)

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

(23)

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

(24)

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.

(25)

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.

(26)

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

//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

(27)

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.

(28)

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);

//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

(29)

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();

(30)

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

 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() {

(31)

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]);

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); }

});

(32)

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()); }

(33)

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.

(34)

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"); }

(35)

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() {}

(36)

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{

(37)

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

(38)

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){}

Referensi

Dokumen terkait