MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari...
Transcript of MODUL PELATIHAN JAVA SWING ORACLE - SI-35-02 · PDF fileKarakter, kelompok ini terdiri dari...
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.
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.
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)
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
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
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
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
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;
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,…)
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
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
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.
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;
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 --
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).
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.
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
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;
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.
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.
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
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
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.
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
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"); ..
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.
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);
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(); }
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);
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) {
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()); } });
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(){}
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
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) {}
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;
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();
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){}