Apa Itu Diabetes? DIABETES sering disebut sebagai penyakit gula atau kencing manis. Ini adalah penyakit, ketika tubuh Anda mengalami masalah dengan hormon insulin. Saat tubuh Anda tidak menggunakan insulin, maka akan terlalu banyak gula yang tertinggal dalam darah. Gula dalam darah yang terlalu banyak dapat merusak bagian-bagian tubuh Anda. Macam-Macam Diabetes 1. Diabetes Tipe 1 (DMT1) Tubuh Anda tidak membuat cukup insulin. Tubuh mengalami kekurangan insulin secara absolut, sedangkan reseptor insulin dijaringan, baik kuantitas maupun kualitasnya normal. Diabetes jenis ini umumnya diderita pada anak-anak atau dewasa. Faktor resiko menderita diabetes tipe 1 berasal dari autoimun, genetik, dan faktor lingkungan. 2. Diabetes Tipe 2 (DMT2) Tubuh Anda memproduksi insulin, namun tidak dapat digunakan dengan baik. Diabetes jenis ini umumnya diderita pada usia diatas 40 tahun. Faktor resiko menderita diabetes tipe 2 berasal dari usia tua, riwayat keluarga dengan diabetes, ...
PEMROGRAMAN BERORIENTASI OBYEK
POKOK BAHASAN 1 : ELEMEN DASAR JAVA
A.
Konsep
Dasar Pemrograman Berorientasi Objek
Java adalah salah satu bahasa pemograman yang
menggunakan paradigma pemograman berorientasi obyek. Pemograman berorientasi
objek menjadikan object dan class sebagai konsep utamanya. Jadi dalam
pemograman java, object dan class menjadi satu yang paling sentral. Java adalah
salah satu bahasa pemograman yang tidak tergantung pada operating system
(operating system independent), yang sekarang mulai populer dikalangan programmer.
B.
Konsep
Dasar variabel
Variabel adalah satuan yang dipakai oleh program
sebagai basis data untuk penyimpan data. Penggunaan variable harus terlebih
dahulu dideklarasikan nama dan tipenya. Tipe dasar (primitive) dalam java
adalah sebagai berikut:
Tipe
|
Keterangan
|
Short
|
short integer, bilangan bulat 16 bit
|
Int
|
integer, bilangan bulat 32 bit
|
Long
|
long integer, bilangan bulat 64 bit
|
Byte
|
bilangan bulat 8 bit
|
Float
|
bilangan real (pecahan) 32 bit
|
Double
|
bilangan real (pecahan) 64 bit
|
Char
|
karakter 16 bit
|
boolean
|
boolean value true atau false
|
Short
Tipe variable short adalah bilangan bulat 16 bit
yang mempunyai jangkauan nilai dari -215 sampai dengan 215-1
atau dari -32768 sampai dengan ±32767. Type variable int adalah bilangan bulat
32 bit dengan jangkuan nilai dari -231 sampai 231-1.
Long
Tipe variable long adalah bilangan bulat 64 bit
dengan jangkauan nilai -263 sampai dengan 263-1.
Contoh :
Long 11 = 5456469;
Long 12 = 0x08ea73aaea4f25d23;
Byte
Type variable byte adalah bilangan bulat 8 bit yang
mempunyai jangkauan nilai dari 27 sampai 27-1 atau dari
-128 samapi dengan +127.
Contoh :
Byte b1 = 50;
Byte b2 = 120;
Byte b3 = 127;
Float
Float adalah bilangan real (pecahan) dengan format
floating point yang menggunakan tempat penyimpanan 32 bit. Tipe float mempunyai
jangkauan nilai dari 3.4e-038 sampai dengan 3.4e+038. Ketelitian float sampai
10 angka dibelakang koma.
Contoh :
Float f1 ;
Float f2 = 0.13f;
Float f3 = 0.34f;
Perhatikan bahwa angka float ditambah suffix haruf f
yang berarti float. Hal ini diperlukan karena notasi default untuk tipe
variable double.
Double
Double adalah bilangan real (pecahan) dengan presisi
2 kali lebih baik dari variable float. Double membutuhkan 64 bit untuk
penyimpanannya yang mempunyai jangkauan nilai 1.7e-308 sampai dengan 1.7e+308.
Char
Tipe variable char menyimpan kode Unicode (karakter
internasional) karena itu membutuhkan 16
bit.
Contoh :
Char c;
Char c1 = ‘c’;
Char c5 = ‘\t’;
Boolean
Variable Boolean berisi dua nilai, yaitu true dan
false. Variable Boolean dapat diperoleh dari operasi logika seperti
perbandingan dua bilangan, perbandingan dua string dan lain-lain.
Casting
Casting adalah Teknik konversi suatu tipe ke tipe
data yang lain secara eksplisit. Yang menerangkan kepada compiler bahwa terjadi
perubahan tipe variable, sehingga hasilnya harus dikonversi ke tipe variable
tersebut.
Contoh :
Int I;
Double d;
Byte b;
I = 250;
D = I; //tidak terjadi
kesalahan, penyesuaian otomatis
B = I; //terjadi kesalahan,
tipe tidak compatible
B = (byte); //tidak terjadi
kesalahan, casting dari integer ke byte
C.
Konsep
Dasar Array
Array adalah sekumpulan data yang sama tipenya. Isi
array dapat diakses melalui index yang dimulai dari 0 sampai dengan
jumlah_elemen_array-i.
Tipe_variabel nama_array[]:
Contoh
Int MyArr[];
Pada saat didefinisikan (dideklarasikan), jumlah
elemen array belum diketahui. Jumlah elemen yang sesungguhnya diciptakan dengan
2. Array MyArr dapat diakses dengan cara sbb :
Int MyArr[] =
{340,-129,499};
Pada saat runtime jika indeks array yang diakses
melebihi jumlah elemen yang ada maka java akan mengeluarkan pesan kesalahan
berupa kesalahan runtime eror.
Array Multidimensi
Kita dapat mendeklarasikan array lebih dari satu
dimensi. Sebagai contoh kita akan membahas array dua dimensi. Untuk array
berdimensi lebih dari dua dapat kita analogikan dengan array dimensi dua.
Contoh pendeklarasian array dua dimensi :
Double Matrik[] [];
Menciptakan element array dua dimensi
Matrik = new double[2] [3];
Atau dengan cara menciptakan satu persatu (per
baris)
Matrik = new double [2] [];
// dimensi berikutnya belum disiapkan
Matrik[0] = new double[3];
Matrik[1] = new double[3];
Matrik[0] [0] = 9.5;
Matrik[0] [2] = 10.0;
Matrik[1] [2] = 340.9;
Atau kita dapat menginisialisasi array multi dimensi
pada saat pendeklarasian dengan cara:
Double Matrik [] [] = {
{20.5,
10.9, 309.0}
{-8.8, 98.7, 100.0}
D.
Kerangka
Program Java
Program
dalam java dibagi-bagi menjadi class-class. Oleh karena itu program dalam java
dimulai dengan kata kunci class atau public class. Lihat contoh
berikut :
public
class Hello {
public static void main (String argv
[]){
System.out.println("Hello java
programmer UMSIDA");
}
}
Program
selalu dimulai dengan pembuka blok yaitu kurung kurawal buka, dan diakhiri
dengan penutup blok yaitu kurung kurawal tutup. Perlu juga diperhatikan bahwa
class dalam java bersifat public harus disimpan dalam file sama dengan nama
class dan ditambah ekstensi java dalam hal ini bersifat case sensitive.
Jadi program diatas harus disimpan dalam file yang bernama Hello.java.
Prasyarat sebuah program
aplikasi (yang bisa dieksekusi) dalam java adalah mempunyai metode (fungsi)
sebagai entry point (pintu masuk) yang bernama main () untuk memulai
eksekusi.
main ()
adalah sebuah metode dengan argument array dari String yang bernama argv.
Klasifikasi dari metode main () adalah public static yang artinya bisa diakses
oleh metode diluar class tersebut. Sedangkan kata kunci void menjelaskan
bahwa metoda main () tidak memberikan nilai balik (return value) ke
pemanggilan.
Perintah (statement) System.out.println(),
merupakan perintah untuk mencetak string yang menjadi argument ke layar dan
setelah pencetakan akan ganti baris. Perlu diperhatikan bahwa antara satu
perintah yang lain dipisah dengan semi colon (;).
Program dalam java yang
kita tulis harus kita compile dengan java compiler dengan perintah :
C:\>javac hello,java
Javac adalah
program java compiler, sedangkan Hello java adalah program yang akan di
compile. Jika compile berjalan lancer maka akan dibuat file sesuai dengan nama
file yang di compile ditambah dengan ekstensi class. Jadi proses compile
di atas akan menghasilkan file class yang bernama Hello.class. File
class yang dihasilkan dari proses kompilasi dapat kita eksekusi dengan java
interpreter dengan perintah :
C:\java Hello
Setelah File Hello.class
dieksekusi maka akan muncul di monitor :
Hello java programmer
UMSIDA
Komentar
Pemberian komentar dalam program adalah penting
karena akan memperjelas alur program serta akan memberikan dokumentasi yang
jelas.
Pemberian komentar dalam java dapat dilakukan dengan
memberi karakter //. Semua teks setelah // akan dianggap komentar dan diabaikan
dalam proses kompilasi sampai dengan garis baru (new line).
Contoh :
System.out,println(“Hello”); //mencetak kata hello
Selain dengan tanda //, penulisan komentar juga
dapat menggunakan sepasang tanda /* dan */. Jadi semua teks diantara tanda /*
dan tanda */ adalah dianggap komentar dan diabaikan dalam teks dalam proses
kompilasi.
Contoh :
/*perintah
di bawah ini
akan mencetak teks
Hello java programmer
System.out.println(“Hello
java programmer”)
Kata kunci
Program java mempunyai beberapa kata kunci yang
tidak boleh kita gunakan sebagai nama variable, nama class dan yang lainnya.
Kata kunci tersebut adalah :
Abstract
|
Default
|
Goto
|
Operator
|
Synchronized
|
boolean
|
Do
|
If
|
Outer
|
This
|
Break
|
Double
|
Implements
|
Package
|
Throw
|
Byte
|
Else
|
Import
|
Private
|
Throws
|
Byvalue
|
extends
|
Inner
|
Protected
|
Transient
|
Case
|
False
|
Instaceof
|
Public
|
True
|
Cast
|
Final
|
Int
|
Rest
|
Try
|
Catch
|
Finally
|
Interface
|
Return
|
Var
|
Char
|
Float
|
Long
|
Short
|
Void
|
Class
|
For
|
Native
|
Static
|
Volatile
|
Const
|
Future
|
New
|
Super
|
While
|
Continue
|
Generic
|
Null
|
Switch
|
1.
Program
menggunakan type data Array dan Integer
public class Array1
{
public static void main (String [] args)
{
int [] i = new int[5];
i[0] = 200;
i[1] = 1234;
i[2] = 2347;
i[3] = 45;
i[4] = 9;
System.out.println("Jumlah elemen i = " +
i.length);
System.out.println(" i[0] = " + i[0]);
System.out.println(" i[1] = " + i[1]);
System.out.println(" i[2] = " + i[2]);
System.out.println(" i[3] = " + i[3]);
System.out.println(" i[4] = " + i[4]);
}
}
2.
Program
menggunakan type data Array dan String
public class Array7
{
public static void main (String [] args)
{
String[] s = {"aku", "kamu",
"dia", "saya"};
System.out.println("Jumlah elemen s = " +
s.length);
for (int i=0; i<s.length; i++)
System.out.println (s[i] + "panjang = " +
s[i].length());
}
}
3.
Program
menggunakan type data Integer
class AutoOperator
{
public static void main (String [] args)
{
int angka = 89;
int x, y, z;
int hitung = 0;
x = y = z = angka;
System.out.println("angka = " + angka);
System.out.println("x = " + x);
System.out.println("y = " + y);
System.out.println("z = " + z);
for(hitung = 0; hitung<5; hitung++)
System.out.println(hitung);
}
}
POKOK
BAHASAN 2 : OPERATOR, CONTROL, FLOW, dan STRING
Operator dan Control Flow adalah jantung dari
program Control Flow mempunyai kemampuan untuk mengendalikan jalan dari
program. Tanpa Operator dan Control Flow, program tidak akan mampu melakukan
banyak hal. Ada beberapa jenis Operator dan Control Flow dalam java, yaitu:
1. Aritmatika
Operator
Java mempunyai operator
aritmatika seperti + (penjumlahan), - (pengurangan), * (perkalian), /
(pembagian) dan % (modulo). Operator - operator ini berlaku seperti dalam
operasi aritmatika. Dalam Java juga dimungkinkan untuk penyederhanaan penulisan
operator seperti yang terlihat di bawah ini;
Int a, b, c, d, e,
a = 15;b =10;
//=80;d=100;e=20;
a+ = 5; //sama dengan a = a+5
b- =e; //sama dengan b = b-e
c* =b; //sama dengan c = c*b
d/ =4; //sama dengan d = d/4
e%=3; //sama dengan e = e % 3, hasilnya = 2
d++; //sama dengan d = d+1 (increment)
c— ; //sama dengan c = c-1 (decrement)
2.
Logika Operator
Ada tiga logika Operator
dalam java yaitu:
&& Logika /nd
|| Logika Or
| Logika Not
Ketiga operator tersebut
dioperasikan terhadap Boolean data tipe yang menghasilkan boolean data type
juga (true atau false).
3.
Bit per bit operator
Variable bertipe long,
int, short, byte dan char dapat mempunyai operator yang dioperasikan langsung
kesusunan binernya (bit atau bit).
Table
2.1 Tabel bit per bit Operator
Operator
|
Nama
|
Keterangan
|
NOT
|
Mengubah 0 menjadi 1
dan 1 menjadi 0
|
|
AND
|
1 & 1 = 1 selain
itu hasilnya selalu 0
|
|
|
|
OR
|
0|0 = 0 selain itu
hasilnya selalu 1
|
^
|
XOR
|
0^0 = 0, 1^1 = 0 selain
itu hasilnya 1
|
SHIFT RIGHT
|
Dorong 1 bit ke kanan
termasuk tanda minus
|
|
SHIFT RIGHT
|
Dorong 1 bit ke kanan
nisi bit paling kiri dengan 0
|
|
SHIFT LEFT
|
Dorong 1 bit ke kiri
|
Seperti halnya aritmatika
operator, Bit per bit operator juga bisa dilakukan penyederhanaan penulisnya.
4.
Relasional
Operator relasional
digunakan untuk membandingkan dua nilai. Hasil dari perbandingan tersebut
adalah data tipe Boolean (true atau false).
Tabel
2.2 Tabel operator Relasional
Operator
|
Keterangan
|
>
|
Lebih besar
|
<
|
Lebih kecil
|
>=
|
Lebih besar atau sama
dengan
|
<=
|
Lebih kecil atau sama
dengan
|
!=
|
Tidak sama dengan
|
==
|
Sama dengan
|
Tipe variable di java
seperti short, int, long, float, double, Boolean, dan character dapat
dibandingkan satu dengan yang lainnya .
Contoh :
Char c = ‘*’;
Int i = 0x2a;
Boolean b;
b = c = = i;
5.
Prioritas
Setiap operator mempunyai
prioritas sendiri - sendiri, sehingga perhitungan matematika dilakukan sesuai
prioritasnya. Lihat contoh dibawah ini:
C = a + b*d;
Akan dijalankan sesuai
prioritas yaitu *,+, =
Dibawah ini diberikan
table prioritas dari operator, urutan prioritas dari atas ke bawah. Operator
yang sama prioritasnya akan dioperasikan dari kanan ke kiri.
6.
Pernyataan if
Pernyataan if
adalah control flow yang paling sederhana Pernyataan ini mengevaluasi suatu
ekspresi. Jika ekspresi benar (true) maka blok pernyataan akan dijalankan. Sebaliknya
computer akan melompati blok pernyataan tersebut. Sintaks dari pernyataan if
:
If (ekspresi)
Pernyataan;
7.
Pernyataan if-else
Pernyataan if-else
mengevaluasi suatu ekspresi. Jika ekspresi benar (true) maka blok pernyataan
dijalankan. Sebaliknya computer akan menjalankan blok pernyataan yang lain.
Sintaks dari penyataan if-else:
If(ekspresi)
Pernyataanl;
Else
Pernyataan_2;
8.
Pernyataan switch, case
dan break
Switch digunakan untuk
percabangan (seleksi) lebih dari dua. Ini digunakan untuk menghindari pergunaan
if-else yang berlapis-lapis.
9.
Pengulangan (Loop)
Alur program blok while
akan dilakukan berulang-berulang selama ekspresi benar (true)
Sintaks dari pengulangan
while adalah sbb:
While (ekspresi)
Pernyataan;
Pengulangan dengan do-while
Pengulangan dengan while
pemeriksaan ekspresi dilakukan sebelum pengulangan. Ada kalanya pengulangan
pemeriksaan ekspresi dilakukan setelah pengulangan. Jadi minimal satu kali
pengulangan dilakukan. Pengulangan ini menggunakan do-while, sintaksnya.
do
pernyataan;
while (ekspresi);
Pengulangan dengan for
Pengulangan dengan for
menyerupai while, namun dilengkapi dengan inialisasi, test kondisi dan update
counter. Jadi sintaks pengulangan dengan for adalah :
for (inialisasi_counter ;
test_kondisi; update_counter) {
instruksi;
---------
};
Inialisasi_counter
dilakukan sekali pada saat akan dilakukan pengulangan, test kondisi diperiksa
setiap kali sebelum pengulangan dilakukan, sedangkan update_counter dilakukan
setiap kali selesai pengulangan.
Break, continue
Dalam pengulangan break
digunakan untuk mematahkan (mengakhiri) pengulangan secara paksa. Sedangkan
continue digunakan untuk melanjutkan pengulangan berikutnya secara paksa dengan
mengabaikan perintah dibawah pernyataan continue.
String
String
adalah obyek yang terdiri atas deretan karakter. Tidak seperti array dari
karakter, String tidak perlu ditentukan jumlah panjang karaktemya. String dapat
langsung di inialisasi tanpa kata kunci new, contoh :
String str = ''
Hello '' ;
Str = str + ''
Java Programmer";
String
dapat juga diciptakan melalui cara berikut:
char c_arr [ ] = { ‘h’, 'e’ , ‘1,’ ‘0' };
String s1 = new
String (c_arr) ;
String s2 = new
String (c_arr, 2, 2);
// offset ke 2
sebanyak 2 karakter
Ada
beberapa method dalam String yang perlu kita ketahui antara lain:
Int
length ()
memberikan
nilai balik (return value) panjang dari aktual string.
char
charAt (int index)
memberikan
nilai balik berupa karakter pada posisi index dalam aktual string.
public
class TestString {
public static void main(String argv[]){
String
tabel[]={"amir","bambang","hasan"};
String
str="Ini adalah # String yang diproses";
boolean found=false;
int I;
for (I=0;I<str.length();I++) {
if (str.charAt(I)=='#'){
found=true;
break;
}
}
if (found)
System.out.printIn("Posisi
="+I);
}}
int
indexOf(char ch)
Memberikan
nilai balik posisi pada String di mana karakter ch berada
int
indexOf(String s)
Memberikan
nilai balik posisi index pada String dimana string s ditemukan
int
indexOf(char ch, int starPos)
int
indexOf(String s, int startPos)
Sama
dengan indexOf sebelumnya, hanya pencarian tidak dimulai dari index 0,
melainkan dari index = startPos
Int
lastlndexOf(char c)
Int
lastlndexOf(char c, int startPos)
Int
lastlndexOf(String s);
Int
lastlndexOf(string s, int startPos)
Method
lastlndexOf( ) mencari karakter/String pada String yang diberikan, hanya
pencarian dimulai dri kanan ke kiri.
Boolean
equals (String s)
Membandingkan
aktual string dengan string s dengan mengabaikan huruf besar maupun huruf
kecil. Jika sama maka akan memberikan nilai balik true, sebaliknya akan
memberikan niali balik false.
String
substring (int offset)
Memberikan
nilai balik isi aktual string dari posisi offset sampai akhir string
String
substring(int offset, int endIndex)
Memberikan
nilai balik si aktual string dari posisi offset sampai posisi endIndex
String
toLowerCase()
Mengubah
string menjadi huruf kecil semua
String
toUpperCase()
Mengubah
spasi yang berdekatan dalam string
Char[
] getCahrs(int startPos, int endPos, char buffer[ ], int offset)
Mengambil
karakter dan startPos sampai endPos, dan menyimpanannya ke dalam buffer dimulai
dari index = offset.
Int
compareTo(String str)
Membandingkan
String dalam UTF (Unicode Transfer Format) dengan nilai balik 0 bila sama,
negative bila kecil, dan positif bila lebih besar.
StringTokenizer
Class StringTokanizer
berfungsi untuk membagi string berdasarkan token tertentu. Class ini sangat
membantu untuk menginterprestasikan suatu string ke suatu maksud tertentu.
Contoh yang paling populer adalah membagi kalimat menjadi beberapa kata. Kita
juga membaca data dari file kemudian data tersebut kita uraikan berdasarkan
token tertentu.
1.
Menggunakan
bit operator
public
class OprTest{
public static void main
(String [] args){
byte b=0x8;
byte c, d, e, f, g, h,
i;
c=(byte)~b;
c &=0xf;
d= (byte) (b | c);
e= (byte) (c >>2);
f= (byte) (e + 3);
g= (byte) (c + f);
h= c;
h ^=0x3;
i= (byte) (h
>>>1);
i <<=2;
System.out.println("
c = " + c);
System.out.println("
d = " + d);
System.out.println("
e = " + e);
System.out.println("
f = " + f);
System.out.println("
g = " + g);
System.out.println("
h = " + h);
System.out.println("
i = " + i);
}
}
2.
Menggunakan
pernyataan if
public
class TestIf{
public static void main (String
argv[]){
int x = -3;
if (x < 0)
System.out.println("Negatif");
}
}
3.
Menggunakan
pernyataan if-else
public class TestIfElse{
public static void main (String argv []){
int a=10, b=13, x=0, y=0;
if (a>b)
x=a;
else{
x=b;
y=100;
}
System.out.println("a="+a+" b="+b+" x="+x+" y="+y);
}
}
4.
Menggunakan
pernyataan switch case, dan break
public class TestSwitch{
public static void main (String argv []){
char c='_';
switch (c) {
case '+':
System.out.println("Operasi
penjumlahan");
break;
case '_':
System.out.println("Operasi
pengurangan");
break;
case '/':
System.out.println("Operasi pembagian");
break;
case '*':
System.out.println("Operasi perkalian");
break;
default:
System.out.println("Operasi tidak
dikenal");
}
}
}
5.
Menggunakan
Pengulang dengan while
public class TestWhile{
public static void main (String argv []){
int m;
m = 5;
while (m > 0){
System.out.println ("Nilai m sama dengan
" + m);
m--;
}
}
}
6.
Menggunakan
pengulangan do-while
public
class TestDoWhile{
public static void main (String argv
[]){
int m = 5;
do {
System.out.println("m = "
+ m);
m--;
}
while (m > 0);
}
}
7.
Menggunakan
pengulangan for
public
class TestFor{
public static void main (String argv
[]){
int m;
for (m = 5; m > 0; m--){
System.out.println("nilai m
adalah " + m);
}
}
}
8.
Menggunakan
break
public
class TestBreak {
public static void main (String argv
[]){
int i, j;
j = 50;
for (i=5; i>0; i--){
if
(j>100)
break;
j += 50;
System.out.println("
i = " +i);
}
System.out.println("Program
berhenti i="+i +" j="+j);
}
}
9.
Menggunakan
continue
public class
TestContinue{
public static void main (String arvg []){
int i, j;
j = 50;
for (i=5; i>0; i--){
if (j>100)
continue;
j += 50;
System.out.println("i =
" +i);
}
System.out.println("Program berhenti
i="+i +" j="+j);
}
}
10.
Menggunakan
Boolean equals (string s)
import
java.io.*;
public class Compare{
public static void main
(String argv[])throws IOException{
String
tabel[]={"ari", "gali", "ika", "roki"};
DataInputStream dis=new
DataInputStream(System.in);
System.out.print("Berikan
nama :");
System.out.flush();
String nama=dis.readLine();
for (int i=0;
i<tabel.length; i++){
if
(tabel[i].equals(nama)){
System.out.println(nama+
" terdaftar dalam
tabel");
break;
}
}
}
}
11.
Menggunakan
Int CompareTo (string str)
public
class StringOperasi{
public static void main(String
argv[]){
String
salam="Terima Kasih, Anda Belajar Java Programming";
String
bagian=salam.substring(5,16);
String
satu="Satu", dua="Dua", tiga="Tiga";
System.out.println(bagian);
System.out.println(salam.toUpperCase());
System.out.println(salam.toLowerCase());
System.out.println(satu.compareTo("Satu"));
System.out.println(satu.compareTo("dua"));
System.out.println(dua.compareTo("tiga"));
}
}
12.
Membagi
String berdasarkan token tertentu
import
java.util.*;
public
class TestToken{
public static void main(String
argv[]){
String kalimat="Di sini
Pencerahan Bersemi";
StringTokenizer st =new
StringTokenizer (kalimat," ");
while(st.hasMoreTokens()){
System.out.println(st.nextToken());
}
}
}
13.
Membaca
data dari file kemudian menguraikan data tersebut bedasarkan token tertentu
-
Membuat
file customer.txt dengan struktur sbb
Nama_depan :
nama_belakang : kota : propinsi
-
Dari
file customer.txt tersebut bisa diuraikan data-data customer dengan menggunakan
class di bawah ini
import java.io.*;
import java.util.*;
public class TokenFile {
public static void main (String args[]){
TokenFile
tt= new TokenFile();
tt.dbTest();
}
public
void dbTest(){
DataInputStream
dis=null;
String
dbRecord=null;
try{
File f=new File("customer.txt");
FileInputStream fis=new FileInputStream(f);
BufferedInputStream bis=new
BufferedInputStream(fis);
dis=new DataInputStream(fis);
//read db
while((dbRecord=dis.readLine())!=null){
StringTokenizer st=new StringTokenizer(dbRecord,":");
String namaDepan =st.nextToken();
String namaBelakang=st.nextToken();
String kota=st.nextToken();
String propinsi=st.nextToken();
System.out.println("Nama Depan :"+namaDepan);
System.out.println("Nama Belakang :"+namaBelakang);
System.out.println("Kota :"+kota);
System.out.println("Propinsi :"+propinsi+"\n");
}
} catch (IOException e){
// catch error
System.out.println("IOException
error!"+e.getMessage());
}finally{
if(dis!=null){
try{
dis.close();
}catch (IOException ioe){
}
}
}
}
POKOK BAHASAN 3 : CLASS
Class merupakan bagian pokok dari Pemrograman
Berorientasi Obyek (Object Oriented Programming). Class merupakan cara merakit
data-data dan menentukan semua metode yang diperlukan untuk mengakses,
menggunakan dan mengubah data-data tersebut. Dalam java class juga bisa
dianggap sebagai type dari object.
Setiap class memiliki dua hal utama. Yang pertama adalah yang kita sebut
state/atribut/property. State dalam obyek tidak lain adalah nilai dari setiap
variable. Bagian yang kedua adalah tool atau method yang menentukan utility
yang dimiliki oleh class.
1.
Pendeklarasian
class
Sintaks pendeklarasian class dalam java adalah
modifiers class NamaClass {
<class
attribute list>
<class
method list>
}
modifier menentukan bagaimana class dapat ditangani pada
fase development berikutnya. Ada tiga jenis modifier dalam class yaitu public,
final, abstract dan friendly.
·
Public
Dengan menempatkan public didepan pendeklarasian
class, mempunyai arti bahwa class didefinisikan untuk public. Ini berarti class
tersebut dapat dipakai atau dikembangkan (extend) oleh sembarang object.
·
Final
Dengan menempatkan final didepan pendeklarasian
class menandakan bahwa class tersebut tidak bisa memiliki subclass (turunan).
Dengan kata lain class tersebut tidak bisa dikembangkan.
·
Abstract
Dengan menempatkan class didepan pendeklarasian
class, menandakan bahwa kita tidak bisa menciptakan obyek dari class tersebut.
Class tersebut harus dipakai sebagai super class dari class lain. Dalam
abstract class paling tidak ada satu method yang belum komplit.
·
Friendly
Secara default modifiers class adalah friendly
,artinya class tersebut boleh dikembangkan atau dipakai oleh class lain dalam
satu paket (package). Jika kita tidak memberikan modifiers didepan
pendefinisian class maka class bersifat friendly.
<class attribute list〉adalah daftar semua atribute (variable ) dari class,
sedangkan <class method list> adalah daftar semua method
(fungsi\operasi) yang bisa dilakukan oleh class tersebut.
Sintaks
pendefinisian class attribute :
modifiers
data_type nama attribute ;
Sintaks
pendefinisian class method :
modifiers
return_type nama method (<parameters list>)
Akses modifiers dalam class attribute maupun class
method menentukan bagaimana aksesbilitas attribute dan method dari class lain.
Ada beberapa akes modifier yaitu :
·
Friendly
Secara default akses modifiers adalah friendly ,
yang berarti bahwa attribute |mothode bisa diakses oleh class lain dalam satu
paket (package ).
·
Public
Akses modifiers public membuat attribute\metbute
tersebut dapat diakses oleh pihak luar manapun.
·
Private
Akses modifiers private membuat attribute\method
hanya dapat diakses oleh class itu sendiri
·
Protected
Akses modifiers protected membuat attribute\method
hanya dapat diakses oleh class itu sendiri dan class turunanya (subclass nya ).
·
Final
akses modifiers final membuat attribute tersebut
tidak boleh diubah pada saat eksekusi. sebab attribute ini tidak boleh diubah
maka harus diberi nilai pada saat pedeklarasian misal final int SIZE 5;
·
Static
Akses modifiers static membuat attribute tersebut
mempunyai nilai sama untuk semua obyek dari class tersebut.
2.
Konstruktur
Konstruktur adalah method dengan property yang unik dan
untuk keperluan inialisasi pada saat obyek diciptakan. Jadi konstruktur
digunakan memberikan nilai kepada attribute tertentu pada saat obyek
diciptakan. Kontruktor didefinisikan dengan nama yang sama dengan nama class.
Konstruktor tidak perlu return type sebab konstruktur secara aktual dipanggil
sebagai method. Konstruktur ini dipanggil pada saat kita memberikan perintah
new.
3.
Inheritance
(Pewarisan)
Inheritance (Pewarisan) adalah suatu mekanisme yang
memungkinkan satu class mewarisi (memiliki) attribute dan method dari class
lain. Mekanisme pewarisan ini diperlukan untuk mengembangkan class-class yang
sudah ada tanpa harus membuka source code dari class-class tersebut. Class yang
mewarisi disebut subclass sedangkan class yang diwarisi disebut super class.
Pewarisan class dalam java menggunakan sintaks:
modifier<NamaSubClass>
extends<NamaSuperClass> {
}
4.
Kata
Kunci this
This adalah referensi yang menunjuk pada obyek actual.
Nilai this ini menunjukkan bahwa obyek yang dimaksud adalah obyek yang sedang
aktif itu sendiri. Contoh penggunaan dari this adalah sbb:
5.
Overriding
Method
Overriding method adalah suatu mekanisme pewarisan
class dimana subclass mendefinisikan ulang satu atau lebih method (fungsi) yang
ada di super class. Dalam overriding ini subclass bisa mendefinisikan method
(fungsi) yang di-override dengan fungsi yang baru sama sekali, atau menambahi
method (fungsi) yang di-ovveride yang sudah ada dengan fungsional-fungsional
yang lain. Contoh class yang menggunakan mekanisme overidding :
1.
Mendefinisikan
Class
public class TestKotak {
public
static void main (String argv []) {
Kotak
k1;
int
vol,luas,pjg;
k1=new
Kotak () ;
k1.setPanjang
(10) ;
k1.setLebar
(15) ;
k1.setTinggi
(4) ;
vol=k1.volume()
;
luas=k1.luas()
;
pjg=k1.getPanjang
();
System.out.println("Kotak
k1 luas = " + luas +" volume = " +vol+ " Panjang = " +
pjg);
}
}
2.
Menggunakan
Konstruktur
public class TestKotak2 {
public
static void main (String argv[]) {
Kotak2
k1, k2;
int
vol1, luas1, pjg1, vol2, luas2, pjg2;
k1=new
Kotak2 (10, 15, 4);
k2=new
Kotak2();
vol1=k1.volume
();
luas1=k1.luas
();
pjg1=k1.getPanjang();
System
.out.println ("Kotak k1 Luas="+luas1+" Volume="+vol1+"
Pangjang="+pjg1);
vol2=k2.volume
();
luas2=k2.luas
();
pjg2=k2.getPanjang();
System
.out.println ("Kotak k2 Luas="+luas2+" Volume="+vol2+"
Pangjang="+pjg2);
}
}
3.
Menggunakan
Inherintace (Pewarisan)
public class TestKotakHitam {
public
static void main (String argv[]) {
KotakHitam
k1, k2;
int
vol1, luas1, pjg1, vol2, luas2, pjg2;
k1=new
KotakHitam (10, 15, 4, "Halo Java");
k2=new
KotakHitam();
vol1=k1.volume
();
luas1=k1.luas
();
pjg1=k1.getPanjang();
System
.out.println ("Kotak k1 Luas="+luas1+" Volume="+vol1+"
Pangjang="+pjg1);
vol2=k2.volume
();
luas2=k2.luas
();
pjg2=k2.getPanjang();
System
.out.println ("Kotak k2 Luas="+luas2+" Volume="+vol2+"
Pangjang="+pjg2);
k1.rekam
("Ada Suara Pesawat Terbang");
k2.rekam
("Ada Tanda Sirene dari arah Utara");
k1.putarRekaman();
k2.putarRekaman();
}
}
4.
Menggunakan
kata kunci this
public class Point {
private
int x, y;
public
Point (int x, int y) {
this.x
= x;
this.y
= y;
}
public
Point(){
this(10,10);
}
}
5.
Menggunakan
Overriding Method
public class pDemo1 extends P {
int
b = 10;
public
void cetak ( ){
System.out.println
("Class aktual : b = "+b);
}
public
static void main(String argv[]){
pDemo1
p = new pDemo1( );
p.cetak();
}
}
public class pDemo2 extends P{
int
b = 10;
public
void cetak ( ){
System.out.println ("Class aktual : b
= "+b);
super.cetak
();//memanggil cetak di super class P
}
public
static void main(String argv[]){
pDemo2
p = new pDemo2( );
p.cetak();
}
}
POKOK BAHASAN 4 : THREADS
Property unik dari java adalah bahwa
java memberi support adanya threads. Threads memperbolehkan kita melakukan
banyak hal pada waktu yang bersamaan. Threads adalah komponen java yang
memungkinkan kita untuk membuat program yang bersifat multitasking programming.
Sebenarnya setiap program dalam java selalu menggunakan paling tidak satu
thread.
Kita bisa membuat aplikasi dan class
berjalan dalam threads yang terpisah dengan du acara, yaitu :
·
Mengembangkan dari class
Thread (extending class Thread)
·
Mengimplementasikan
Runnable interface
Mengembangkan class
Thread
Dengan menggunakan extends Thread,
mekanisme Thread dapat diaplikasikan dengan membuat fungsi run(). Untuk melihat
concurrency (multitasking) pada program tersebut tambahkan method sleep() untuk
actual Thread (current Thread). Method sleep() hanya dapat dilakukan dengan
menangkap sinyal.
Method yang berhubungan
dengan Thread
Start()
Mengaktifkan Thread Obyek Thread
kemudian akan menjalankan method run().
Stop()
Menghentikan Thread yang sedang
aktif.
Sleep(int delta)
Menunda aktifitas Thread untuk delta
millisecond.
Contoh selanjutnya adalah
mendemonstrasikan animasi yang dilakukan dengan menjalankan Thread. Tugas
Thread adalah melakukan repaint() pada objek. Setelah repaint() dilakukan,
Thread beristirahat untuk beberapa detik dan untuk kemudian melakukan repaint()
kembali. Obyek Thread kemudian akan menjalankan method run(). Kemudian class
TThread digunakan oleh class yang merupakan pengembangan (extend) dari class
Applet. Class Applet digunakan untuk class-class yang digunakan dalam aplikasi
applet (untuk ditampilkan dalam html file). Setelah kita compile kedua class
tersebut, yaitu class TThread dan class Animasi, kita dapat membungkusnya ke
dalam file html. Selanjutnya kita dapat mengeksplore file tersebut dengan
internet browser.
Mengimplementasikan
Runnable interface
Pada contoh di atas Thread digunakan
dengan mengembangkan class Thread, yang mana berarti bahwa Subclass Thread
hanya dapat mewarisi sifat-sifat dari Thread. Pengikatan Class ini dapat
dihindari dengan menggunakan konsep interface. Dengan mengimplementasikan
Runnable interface. Interface Runnable ini hanya berisi satu method yang harus
diimplementasikan, yaitu run().
Konstruktor Thread adalah :
Thread(Runnable
ThreadObject)
Atau
Thread(Runnable
ThreadObject, String nama Thread)
ThreadObject pada contoh di atas
adalah this, yang merupakan obyek itu sendiri yang mengimplementasikan
Runnable.
Method
is Active() akan memberikan nilai true jika Thread actual aktif, dan false jika
tidak aktif.
1. Mengaplikasikan
mekanisme Thread dengan menggunakan fungsi run()
public
class TwoThreadTest{
public static void main (String argv
[]){
SimpleThread t1,t2;
t1 = new SimpleThread
("Surabaya");
t2 = new SimpleThread
("Jakarta");
t1.start ();
t2.start ();
}
}
2. Melihat
concurrency (multitasking) pada program dengan menambahkan method sleep() untuk
actual Thread(current Thread). Method sleep() hanya dapat dilakukan dengan
menangkap sinyal interrupt dengan mekanisme try & cacth.
public
class TwoThreadTest1 {
public static void main(String
argv[]){
SimpleThread t1,t2;
t1=new
SimpleThread("Surabaya");
t2=new
SimpleThread("Jakarta");
t1.start();
t2.start();
}
}
3. Mendemonstrasikan
animasi yang dilakukan dengan menjalankan Thread. (Dalam animasi ini diperlukan
file image TI.gif s/d T17.gif.)
import
java.awt.*;
public
class TThread extends Thread{
Component oby;
int delay;
public TThread(Component oby, int
delay){
this.oby=oby;
this.delay=delay;
}
public void run(){
while(true){
try{
oby.repaint();
sleep(delay);
}
catch
(Exception e){}
}
}
}
import
java.applet.*;
import
java.awt.*;
public
class Animasi extends Applet{
int count, lastcount;
Image gambar[];
TThread timer;
Button btnStart;
Button btnStop;
public void init(){
gambar=new Image[17];
lastcount=17;
count=0;
MediaTracker mt=new
MediaTracker (this);
for (int i=0;
i<lastcount; i++){
gambar[i]=getImage(getCodeBase(),"T"+(i+1)+".gif");
mt.addImage
(gambar[i],0);
}
mt.checkAll(true);
btnStop=new
Button("Stop");
add(btnStop);
btnStart=new
Button("Start");
add(btnStart);
show();
}
public void start(){
if(timer==null){
timer=new
TThread(this,75);
timer.start();
showStatus("Start...");
}
}
public void stop(){
if (timer!=null){
showStatus("Stop...");
timer.stop();
timer=null;
}
}
}
Setelah
mengcompile kedua class tersebut, yaitu class TThread dan class Animasi, lalu
membungkusnya ke dalam file animasi.html. Selanjutnya mengeksplore file
tersebut dengan internet browser.
<html>
<head>
Contoh Animasi </head>
<title>
Contoh Animasi </title>
<applet
code = Animasi.class width=300 height=200>
</applet>
</html>
4. Mengimplementasikan
Runnable Interface
import
java.applet.*;
import
java.awt.*;
import
java.lang.*;
public
class Animasi1 extends Applet implements java.lang.Runnable{
int count, lastcount;
Image gambar[];
Button btnStart;
Button btnStop;
Thread timer;
public void init(){
gambar=new Image[17];
lastcount=17;
count=0;
MediaTracker mt=new
MediaTracker (this);
for (int i=0;
i<lastcount; i++){
gambar[i]=getImage(getCodeBase(),"T"+(i+1)+".gif");
mt.addImage
(gambar[i],0);
}
mt.checkAll(true);
btnStop=new
Button("Stop");
add(btnStop);
btnStart=new
Button("Start");
add(btnStart);
show();
}
public void start(){
if(timer==null){
timer=new
Thread(this);
timer.start();
showStatus("Start..");
}
}
public void stop(){
if (timer!=null){
showStatus("Stop..");
timer.stop();
timer=null;
} }
public boolean action
(Event e, Object o){
if(e.target==btnStop){
stop();
return
true;
}
return
false;
}
public void
paint(Graphics g){
g.drawImage
(gambar[count++],70,70,null);
if(count==lastcount)
count=0;
showStatus("Gambar
no"+(count+1));
setLayout(new
FlowLayout(FlowLayout.CENTER,5,5));
setBackground(java.awt.Color.lightGray);
//setSize(0,0)
}
public void
run(){
while
(isActive()){
try{
repaint();
Thread.sleep(100);
}
catch
(Exception e){
showStatus("Exception
:"+e);
}
}
showStatus("Not
Active");
timer=null;
} }
<html>
<head>
Contoh Animasi1 </head>
<title>
Contoh Animasi1 </title>
<applet
code = Animasi1.class width=300 height=200>
</applet>
</html>
POKOK BAHASAN 5 : EXCEPTION
(EKSEPSI)
Eksepsi
adalah mekanisme yang memungkinkan program untuk menangkap kondisi-kondisi
tertentu yang membutuhkan penanganan khusus. Eksepsi dapat berupa kesalahan
yang terjadi dalam program pada saat run time. Format eksepsi adalah :
try {
//
blok program
.......
}
catch (EksepsiTipe1 e){
//
blok program untuk EksepsiTipe1
.......
}
catch (EksepsiTipe2 e){
//
blok program untuk EksepsiTipe2
.......
}
catch (EksepsiTipe3 e){
//
blok program untuk EksepsiTipe3
.......
}
finally{
//
blok program
.......}
try menyatakan
bahwa dalam blok try dapat terjadi suatu ekspresi dan bila ekspresi terjadi,
maka aktifkan program yang berada dalam kelompok (blok) catch sesuai
dengan tipe ekspresinya. Object e dari tipe ekspresi dapat digunakan sebagai
referensi penanganan eksepsi actual. Finally menyatakan bahwa apapun jenis tipe
ekspresinya, maka program dalam blok ini harus tetap dijalankan. Dengan
menangkap eksepsi program tidak langsung berhenti dan melaporkan kesalahan
tersebut, melainkan membelokkan dengan program pengaman tertentu. Pada saat run
time, jika java menemukan kesalahan dan melempar pesan ke program. Dengan pesan
ini, program akan melakukan suatu aksi tertentu. Mekanisme melempar ini disebut
juga sebagai throw, alur program akan dihentikan, kemudian program
pengendali (exception handling) akan diaktifkan.
throw
throw digunakan secara eksplisit
untuk membuang sebuah eksepsi. Contoh berikutnya, TestThrow mendefinisikan
Obyek Eksepsi “NullPointerException” pada sebuah variable t. dengan instruksi
throw, program eksepsi untuk kemudian ditangkap oleh instruksi catch. Namun
tentunya yang ditangkap harus sesuai dengan tipe eksepsi yang dilemparkan.
Dalam hal ini program
throws
Eksepsi selalu ditangkap dengan catch
pada blok dimana eksepsi tersebut dilempat. Tanpa catch, program tidak
akan dikompilasi. Program dibawah ini menghilangkan try dan catch
pada subroutine demo( ), namun dengan menggunakan tambahan kata kunci throws
Exception.
Tabel 6.1 Common Java
Exceptions
Exceptions
|
Description
|
Arithmeticexception
|
Disebabkan oleh error
secara matematika seperti pembagian dengan nol
|
ArrayIndexOutOfBouns
Exception
|
Disebabkan oleh array
index yang salah
|
ArrayStoreException
|
Disebabkan ketika
program mencoba menyimpan file data yang salah
|
FileNotFoundException
|
Disebabkan oleh usaha
mengakses file yang tidak ada
|
IOException
|
Disebabkan oleh general
I/O failures, seperti kegagalan membaca file
|
NullPointException
|
Disebabkan oleh
mereferensi obyek null
|
NumberFormatException
|
Disebabkan ketika
konversi antara string dan bilangan gagal
|
OutOfMemoryException
|
Disebabkan ketika tidak
cukup memory untuk alokasi obyek
|
SecurityException
|
Disebabkan ketika
sebuah applet mencoba melakukan aksi yang tidak diperbolehkan oleh setting
security browser
|
StackOverflowException
|
Disebabkan ketika
sistem run melebihi kapasitas stack
|
StringIndexOutOfBoundsException
|
Disebabkan ketika
program mencoba mengakses posisi karakter yang tidak ada di dalam string
|
1. Menggunakan
exception
public
class Arg0 {
public static void main (String
argv[]){
String str;
str = argv[0];
System.out.println("Argument
= " + str);
}
}
Bila
program di atas dijalankan :
C:\>
javac Arg0.java
C:\>
java Arg0 hello
Argument
= hello
Namun
bila argument tidak disertakan :
C:\>
java Arg0
Java.lang.ArrayIndexOutOfBoundsException:0
at Arg0.main(Arg0.java:5)
untuk
mencegah hal itu, maka program perlu dilengkapi dengan penanganan eksepsi
public
class Arg01{
public static void main (String
argv[]){
String str =
"??????";
try{
str =
argv[0];
}
catch(ArrayIndexOutOfBoundsException e){
System.out.println("Argument
Kosong");
}
System.out.println("Argument
= " + str);
}
}
2. Menggunakan
Throw
public
class CobaThrow{
static void demo(){
try{
NullPointerException
t;
t = new
NullPointerException("TestThrow");
throw t;
//Baris ini
tidak pernah dijalankan
}catch (ArithmeticException
e){
System.out.println("Auuuu");
}
}
public static void main (String
argv[]){
try{
demo();
System.out.println("Selesai");
}catch
(NullPointerException e){
System.out.println("Saya
tangkap sinyal NullPointerException : " + e);
}
}
}
3. Menggunakan
Throws
public
class ThrowDemo{
static void demo() throws
IllegalAccessException{
System.out.println("xxxxxx");
throw new IllegalAccessException("ThrowDemo");
}
public static void main (String
argv[]){
try{
demo();
System.out.println("Selesai");
}catch
(IllegalAccessException e){
System.out.println("Saya
tangkap" + e);
}
}
}
POKOK BAHASAN 6 : JAVA
GRAPHICAL USER INTERFACE
Graphical
User Interface
Graphical
User Interface merupakan antar muka grafis yang memfasilitasi interaksi antara
pengguna dengan program aplikasi. Salah satu komponen dalam Bahasa pemrograman
java untuk membangun GUI adalah Swing, komponen ini didefinisikan di dalam paket
javax.swing. Swing diturunkan dari Abstract Windowing Toolkit dalam
paket java.awt.
Hirarki
dari komponen Swing adalah :
Java.swing.Jcomponent
java.awt.Container
java.awt.Component
Java.Lang.Object
JComponent
adalah superclass dari semua komponen Swing. Sebagian besar
fungsionalitas komponen diturunkan dari superclass ini. Beberapa
komponen utama dalam GUI adalah:
1. Containers:
merupakan wadah yang berfungsi untuk menempatkan komponen-komponen lain di
dalamnya.
2. Canvas.:
merupakan komponen GUI yang berfungsi untuk menampilkan gambar atau untuk
membuat program grafis. Dengan canvas, kita bisa menggambar berbagai bentuk
seperti lingkaran, segitiga, dll.
3. User
Interface (UI) components: contohnya adalah buttons, list, simple popup menus,
check boxes, text fields, dan elemen lain.
4. Komponen
pembentuk window: seperti frames, menu bars, windows, dan dialof boxes.
Komponen-komponen
Dasar User Interface dengan Swing
Berikut
adalah beberapa komponen dasar antarmuka pengguna (user interface) yang disediakan
oleh Swing:
1. Top
level containers adalah container dasar
untuk meletakkan komponen-komponen lain. Contohnya adalah JFrame, JDialog, dll.
2. Intermediate
level containers merupakan container
perantara. Umumnya digunakan hanya untuk meletakkan atau mengelompokkan
komponen-komponen yang digunakan, baik itu container atau berupa atomic
component. Contoh dari Intermediate level container adalah JPanel
(Panel).
3. Atomic
component merupakan komponen yang memiliki fungsi
khusus. Umunya pengguna langsung berinteraksi dengan komponen ini. Contohnya
adalah JButton (tombol), JLabel (label), JTextField, JTextArea (area untuk
menulis teks), dll.
4. Layout
Manager berfungsi untuk mengatur bagaimana tata
letak atau posisi dari komponen yang akan diletakkan, satu sama lain di dalam
suatu container. Secara default ada 6 buah layout : BorderLayout, BoxLayout,
FlowLayout, CardLayout, GridBagLayout & GridLayout.
5. Event
Handling : Menangani event yang dilakukan oleh user
seperti menekan tombol, memperbesar atau memperkecil ukuran frame, mengklik
mouse, mengetik sesuatu dengan keybord, dll.
Konstruktor
untuk membentuk JFrame adalah JFrame() atau JFrame(String NamaFrame). Salah
satu method yang sering digunakan di kelas JFrame adalah
setDefaultCloseOperation(int ops). Method ini berfungsi untuk mengatur apa yang
akan dilakukan oleh program ketika tombol close di klik. Parameter method
tersebut di antaranya adalah:
1. JFrame.DO_NOTHING_ON_CLOSE:
tidak ada satu aktivitas pun yang dilakukan secara otomatis apabila frame
ditutup.
2. JFrame.HIDE_ON_CLOSE:
frame hanya disembunyikan, namun secara fisik frame masih ada di memori
sehingga dapat dimunculkan kembali. Merupakan aktivitas default.
3. JFrame.DISPOSE_ON_CLOSE:
menghilangkan tampilan frame dari layer, menghilangkannya dari memori, dan
membebaskan resource yang dipakai.
4. JFrame.EXIT_ON_CLOSE:
menghentikan eksekusi program.
Top
level container yang lain adalah JDialog. Berbeda dengan JFrame, JDialog tidak
dibuat sendiri, melainkan dibuat Bersama-sama dengan frame sebagai parent-nya.
Jika frame parent-nya ditutup, maka dialog akan dihapus dari memori.
Kemunculan dialog akan membuat semua input terhadap frame parent-nya
akan terblokir sampai dialog tersebut ditutup.
Layout
Management
Untuk
mengatur layout dari setiap komponen-komponen GUI yang diletakkan pada
container, digunakan layout manager. Setiap pane secara default pasti
memiliki layout manager. Jika ingin mengubah layout-nya, gunakan void
setLayout(LayoutManager mgr) java menyediakan 6 buah class standar yang dapat
digunakan sebagai layout manager yang terdapat dalam package java.awt, yaitu
FlowLayout, GridLayout, BorderLayout, CardLayout, GridBagLayout, BoxLayout.
1. Flow
Layout merupakan layout manager default yang digunakan JPanel. Layout manager
ini meletakkan komponen yang ada secara berurutan dari kiri ke kanan dan
berpindah baris jika dibutuhkan. Jarak antar komponen baik secara vertical
maupun horizontal dapat ditentukan sendiri. Selain itu, kita bisa menentukan
alignment dari komponen yang diletakkan, yaitu rata kanan, rata kiri atau
tengah.
2. GridLayout
merupakan layout manager berbentuk grid. Semua komponen dalam layout
ini memiliki ukuran yang sama.
Konstruktor
GridLayout adalah sebagai berikut :
a. GridLayout(row,
coloumns, hGap, vGap)
Konstruktor
ini mendefinisikan jumlah baris, kolom, dan ukuran gap horizontal/vertical
antar elemen dalam pixel.
b. GridLayout(rows,
coloumns)
Konstruktor
yang digunakan dengan nilai default hGap dan vGap sama dengan 0.
3. BorderLayout
adalah default manager untuk ContentPane. Layout ini menempatkan
komponen dengan pendekatan arah mata angin north, south, west, center, east.
4. Cardlayout
digunakan untuk menampilkan container-container/panel-panel seperti
tumpukan kartu. Hanya satu container yang akan tampil untuk satu waktu.
Komponen yang diletakkan dengan layout ini berupa object yang bertipe intermediate
container yang di dalamnya terdapat atomic component. Salah satu contoh intermediate
container adalah tabbed pane (JTabbedPane).
5. GridBaglayout
Grid
bag layout adalah pengaturan layout yang
dapat digunakan untuk meletakkan komponen secara bebas. Setiap komponen dapat
menempati ukuran yang berbeda dengan komponen lainnya.
6. Boxlayout
digunakan untuk meletakkan komponen berurutan ke kanan (sumbu X) atau berurutan
ke bawah (sumbu Y). pengguna Boxlayout menggunakan class Box dimana merupakan
container yang secara internal telah menggunakan BoxLayout sebagai layout
manager-nya.
1. Membuat
Frame
import
javax.swing.*;
public
class ContohFrame1{
public static void main
(String[] args){
JFrame
a1;
a1 = new
JFrame("contoh frame");
a1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
a1.setSize(300,300);
a1.setVisible(true);
}
}
2. Membuat
Dialog
import
javax.swing.*;
public
class Dialogku{
public
static void main (String[] args){
JFrame
a2;
a2
= new JFrame("frame");
a2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
a2.setVisible(true);
JOptionPane.showConfirmDialog(a2,"Contoh
Dialog","UMSIDA KAMPUSKU",JOptionPane.OK_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE);
}
}
3. Membuat
GridLayout
import
javax.swing.*;
import
java.awt.*;
public
class Contohgridlayout{
public static void
main(String[] args){
JFrame
frame = new JFrame ("UMSIDA KAMPUSKU");
GridLayout
layout = new GridLayout(3,2);
layout.setHgap(5);
layout.setVgap(10);
frame.getContentPane().setLayout(layout);
JButton
btn1 = new JButton("pencet 1");
JButton
btn2 = new JButton("pencet 2");
JButton
btn3 = new JButton("pencet 3");
JButton
btn4 = new JButton("pencet 4");
frame.getContentPane().add(btn1);
frame.getContentPane().add(btn2);
frame.getContentPane().add(btn3);
frame.getContentPane().add(btn4);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.show();
}
}
4. Membuat
Flowlayout
import
javax.swing.*;
import
java.awt.*;
public
class Contohflowlayout1{
public static void
main(String[] args){
JFrame
frame = new JFrame ("UMSIDA KAMPUSKU");
FlowLayout
layout = new FlowLayout(FlowLayout.LEFT);
layout.setVgap(15);
layout.setHgap(15);
frame.getContentPane().setLayout(layout);
JButton
btn1 = new JButton("Umsida 1");
JButton
btn2 = new JButton("Umsida 2");
JButton
btn3 = new JButton("Umsida 3");
JButton
btn4 = new JButton("Umsida 4");
frame.getContentPane().add(btn1);
frame.getContentPane().add(btn2);
frame.getContentPane().add(btn3);
frame.getContentPane().add(btn4);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300,300);
frame.show();
}
}
5. Membuat
Border
import
javax.swing.*;
import
java.awt.*;
public
class Contohborder{
public static void main(String[]
args){
JFrame frame = new
JFrame ("Contoh Border layout");
BorderLayout layout =
new BorderLayout(1,1);
frame.getContentPane().setLayout(layout);
JButton btnNorth = new
JButton("NORTH");
JButton btnSouth = new
JButton("SOUTH");
JButton btnEast = new
JButton("EAST");
JButton
btnWest = new JButton("WEST");
JButton btnCenter = new
JButton("CENTER");
frame.getContentPane().add(btnNorth,BorderLayout.NORTH);
frame.getContentPane().add(btnSouth,BorderLayout.SOUTH);
frame.getContentPane().add(btnEast,BorderLayout.EAST);
frame.getContentPane().add(btnWest,BorderLayout.WEST);
frame.getContentPane().add(btnCenter,BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.show();
}
}
6. Membuat
Cardlayout
import
javax.swing.*;
import
java.awt.*;
public
class Contohcardlayout{
public static void
main(String[] args){
JFrame
frame = new JFrame ("UMSIDA
KAMPUSKU");
JPanel
panel1 = new JPanel();
JPanel
panel2 = new JPanel();
JPanel
panel3 = new JPanel();
JButton
btn1 = new JButton("Tombol
Umsida1");
JButton
btn2 = new JButton("Tombol
Umsida2");
JButton
btn3 = new JButton("Tombol
Umsida2");
panel1.add(btn1);
panel2.add(btn2);
panel3.add(btn3);
JTabbedPane
tab = new JTabbedPane();
tab.add(panel1,"sisi
1");
tab.add(panel2,"sisi
2");
tab.add(panel3,"sisi
3");
frame.getContentPane().add(tab,BorderLayout.NORTH);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300,150);
frame.show();
}
}
7. Membuat
GridBagLayout
import
javax.swing.*;
import
java.awt.*;
public
class Contohgridbag{
public static void
main(String[] args){
JFrame
frame = new JFrame ("Contoh GridBagLayout UMSIDA");
GridBagLayout
layout = new GridBagLayout();
GridBagConstraints
c = new GridBagConstraints();
frame.getContentPane().setLayout(layout);
c.fill
= GridBagConstraints.HORIZONTAL;
JButton
btn1 = new JButton("Tombol umsida 1");
c.weightx
= 0.5;
c.gridx = 0;
c.gridy = 0;
layout.setConstraints(btn1,c);
frame.getContentPane().add(btn1);
JButton
btn2 = new JButton("Tombol umsida 2");
c.gridx = 1;
c.gridy = 0;
layout.setConstraints(btn2,c);
frame.getContentPane().add(btn2);
JButton
btn3 = new JButton("Tombol umsida 3");
c.ipady
= 30;
c.gridwidth
= 2;
c.gridx = 0;
c.gridy =
1;
layout.setConstraints(btn3,c);
frame.getContentPane().add(btn3);
JButton
btn4 = new JButton("Tombol umsida 4");
c.ipady
= 50;
c.gridwidth
= 1;
c.gridx = 0;
c.gridy =
2;
layout.setConstraints(btn4,c);
frame.getContentPane().add(btn4);
JButton
btn5 = new JButton("Tombol umsida 5");
c.ipady
= 0;
c.gridwidth
= 1;
c.gridx = 1;
c.gridy =
2;
c.insets = new Insets(10,0,0,0); //t,l,b,r
c.anchor = GridBagConstraints.SOUTH;
layout.setConstraints(btn5,c);
frame.getContentPane().add(btn5);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.show();
}
}
8. Membuat
Boxlayout
import
javax.swing.*;
import
java.awt.*;
public
class Contohboxlayout{
public static void
main(String[] args){
JFrame
frame = new JFrame ("Box Layout");
Box
comp = new Box(BoxLayout.X_AXIS);
JButton
btn1 = new JButton("Posisi
1");
JButton
btn2 = new JButton("Posisi
2");
JButton
btn3 = new JButton("Posisi
3");
JButton
btn4 = new JButton("Posisi
4");
JButton
btn5 = new JButton("Posisi
5");
comp.add(btn1);
comp.add(btn2);
comp.add(btn3);
comp.add(btn4);
comp.add(btn5);
frame.getContentPane().add(comp);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.show();
}
}
Komentar
Posting Komentar