Langsung ke konten utama

Apa Itu Diabetes?

 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, riwayat kehami

PEMROGRAMAN BERORIENTASI OBYEK

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

Postingan populer dari blog ini

RANCANG BANGUN APLIKASI SI JADE (SISTEM INFORMASI JAGA DESA)

 RANCANG BANGUN APLIKASI SI JADE (SISTEM INFORMASI JAGA DESA) Assalamualaikum Wr.Wb Temen - temen.      Pada postingan kali ini Saya akan membagikan ide aplikasi dari kelompok Kami. Pertama-tama sebelum Kita membahas tentang ide aplikasinya perkenalkan anggota kelompok Kami: Raditya Arfino (181080200228) Siti Fitri Masruro (181080200245) Jihaan Anisa Mukti (181080200249) Dwi Gilang (181080200278) Arindra Rachman (181080200295)  Jayanto Ardi L (181080200296)      Setelah mengenal nama-nama dari anggota Kami, sekarang mari Kita lanjut ke pembahasan aplikasi nya. Siap 👍      Di era globalisasi sekarang ini, masyarakat tentu tidak asing lagi dengan internet. Internet merupakan akses masyarakat untuk melihat atau mencari informasi yang masyarakat butuhkan. Penyampaian informasi tak hanya ditempel di papan pengumuman saja akan tetapi seiring berkembangnya teknologi, informasi juga bisa dibuat dengan mempergunakan fasilitas internet yang akan mempermudah masyarakat untuk melihat informasi te

Jadwal Praktikum Mahasiswa Program Studi Informatika 2021/2022

 Jadwal Praktikum Mahasiswa Program Studi Informatika 2021/2022 Assalamualaikum Wr.Wb Temen-temen.      Pada postingan kali ini Saya akan membagikan info penting berupa link tentang beberapa jadwal praktikum mahasiswa Informatika Universitas Muhammadiyah Sidoarjo Tahun 2021-2022.  Berikut adalah jadwal praktikum mahasiswa Informatika Tahun 2021-2022: Praktikum Pemrograman Berbasis Objek 2021/2022. Link:  https://informatika.umsida.ac.id/wp-content/uploads/2021/10/PRAKTIKUM-PEMROGRAMAN-BERBASIS-OBJEK-2021-2022.pdf Praktikum Pemrograman WEB 2021/2022. Link:  https://informatika.umsida.ac.id/wp-content/uploads/2021/10/PRAKTIKUM-PEMROGRAMAN-BERBASIS-WEB-2021-2022-1.pdf Praktikum Sistem Digital 2021/2022. Link:  https://informatika.umsida.ac.id/wp-content/uploads/2021/12/PRAKTIKUM-SISTEM-DIGITAL-2021-2022.pdf Sekian info yang saya bisa berikan. Mohon maaf. Wassalamualaikum Wr.Wb. Sumber Terkait: https://informatika.umsida.ac.id/

BASIS DATA 2

BASIS DATA 2 BASIS DATA, MODEL DATA, DIAGRAM E-R 1.         Konsep Sistem Basis Data Basis data adalah kumpulan data yang disimpan secara sistematis di dalam komputer dan dapat diolah atau dimanipulasi serta dapat diakses dengan mudah dan tepat menggunakan perangkat lunak (program aplikasi) untuk menghasilkan sebuah informasi. Sistem basis data merupakan ruang lingkup yang lebih luas dari basis data. Sistem basis data memuat sekumpulan basis data dalam suatu sistem yang mungkin tidak ada hubungan antara satu dengan yang lain, tetapi secara keseluruhan mempunyai hubungan sebagai sebuah sistem yang didukung oleh komponen lainnya. Komponen Sistem Basis Data: Perangkat Keras (Hardware), Sistem Operasi (Operating System), basis data (Database), DBMS (Database Management System), Pemakai (User). DBMS (Database Management System) merupakan basis data dan set perangkat lunak ( software ) untuk pengelolaan basis data. 2.         Konsep Model Data Model data merupakan sua