Java Fundamental (JSE) PDF
Java Fundamental (JSE) PDF
(JSE)
Materi
Pengenalan Java
Sejarah, Karakteristik dan Kelebihan
Install
Java Byte Code
Write, Compile, and Run
Java API
Sintaks Bahasa Java
Variabel dan Tipe Data
Identifier dan Naming Convention
Operator
Kontrol Eksekusi Program
Materi
Object-Oriented Programming
Konsep OOP
Inheritance
Polymorphism
Encapsulation
Property dan Method
Method Overloading
Constructor
‘this’ keyword
‘static’ keyword
Modifier
Method overriding
‘final’ keyword
Inner class
Class Abstract
Interface
Package
Exception handling
Mengakses Database (JDBC)
Netbeans Matisse
Sejarah Java
Mulai dikembangkan sejak 1991 oleh “Stealth
Project” bertujuan untuk menciptakan suatu
sistem software yang mampu berjalan pada alat-
alat elektronik (small devices).
James Gosling berkonsentrasi pada ide
pembuatan bahasa pemrograman.
Juni 1991, muncullah bahasa interpreter “Oak”
yang menjadi cikal bakal dari Java.
Java secara resmi diperkenalkan oleh SUN
pada dunia pada tanggal 23 Mei 1995 bersama
dengan browser HotJava.
Javapun merambah ke dunia web/internet.
Saat ini Java terbagi menjadi 3 teknologi:
JSE – untuk aplikasi desktop
JME – untuk aplikasi small device (HP, PDA,etc).
JEE – untuk aplikasi enterprise (web, Distribute
Programming: web service/SOAP, RMI, EJB, JNDI,
etc.
Kelebihan dan Karakteristik
Dari segi sintaks bahasa mirip dengan
C/C++
Karakteristik Java sesuai dengan white
paper dari Sun:
BerorientasiObject (OOP)
Robust, java mendorong pemograman yang
bebas dari kesalahan dengan bersifat strongly
typed.
Portable, dapat berjalan pada SO manapun
Multithreading, sudah terintegrasi dengan
pemrograman multithreading.
Dinamis, program Java dapat melakukan
sesuatu tindakan yang ditentukan pada saat
eksekusi program dan bukan pada saat
kompilasi
Sederhana, Java menggunakan bahasa yang
sederhana dan mudah dipelajari
Terdistribusi, Java didesain untuk berjalan
pada lingkungan yang terdistribusi seperti
halnya internet
Aman, aplikasi yang dibuat dengan bahasa
java lebih dapat dijamin keamanannya
terutama untuk aplikasi internet.
Netral secara arsitektur, Java tidak terikat
pada suatu mesin atau sistem operasi
tertentu.
Interpreted, aplikasi Java bisa dieksekusi
pada platform yang berbeda-beda karena
melakukan interpretasi pada bytecode
Berkinerja Tinggi, bytecode Java telah
teroptimasi dengan baik sehingga eksekusi
program dapat dilakukan secara cepat
Menginstal Java
Apa yang dibutuhkan:
JDK : bila kita ingin membuat aplikasi
menggunakan Java.
JRE : bila kita hanya ingin menjalankan
aplikasi Java yang sudah ada.
Download : http://java.sun.com GRATISSS
Setting Environment
JAVA_HOME = {dir istalasi}
PATH = {dir instalasi}/bin
CLASSPATH = .;{dir istalasi}/lib/tools.jar
NOTE:
JAVA_HOME, untuk java mengenalkan ke
Windows
PATH, untuk mengarahkan path system
Windows agar kita bisa menggunakan
Java dari console.
CLASSPATH, digunakan Java untuk
mencari library yang dibutuhkan untuk
compile atau saat runtime.
Java Bytecode
Java menggunakan compiler sekaligus
Interpreter agar dapat berjalan pada
platform yang berbeda.
Java compiler mengcompile source code
menjadi Java Bytecode.
Java Bytecode merupakan instruksi mesin
yang tidak spesifik terhadap suatu sistem
mesin.
Bytecode inilah yang akan dieksekusi oleh JVM
yang ada didalam JRE.
Write, Compile and Run
public class HelloWorld{
public static void main(String[] args){
System.out.println(“Hello World!”);
}
}
Simpan dengan nama HelloWorld.java
Compile
Variabel
Variabel merupakan lokasi penyimpanan
yang ada di memori. Setiap variabel
memiliki kemampuan menyimpan suatu
informasi sesuai dengan tipe data yang
didekalrasikan untuk variabel tersebut saja
Sintaks pendekalrasian variabel secara umum
adalah sebagai berikut:
tipe-data nama-variabel
}
//variabel tidak dikenali
System.out.println("Nilai b="+b);
}
}
Konstanta
Konstanta merupakan data yang tidak
berubah nilainya selama program berjalan.
Pendekalrasian konstanta menggunakan
bentuk:
final tipe-data NAMA_CONSTANTA = value;
Contoh:
final int MAX_WIDTH = 100;
Tipe Data
Tipe data diperlukan agar compiler tahu
operasi apa yang valid dan seberapa
banyak memori yang diperlukan oleh
sebuah nilai yang akan disimpan atau
dioperasikan.
Di dalam Java terdapat tiga tipe data yaitu
tipe data primitif, tipe data referensi dan
array.
Tipe Data Primitif
Tipe Data Besar (bits) Jangkauan
long 64 -263 s/d 263 - 1
int 32 -231 s/d 231 - 1
short 16 -215 s/d 215 - 1
byte 8 -27 s/d 27 - 1
double 64 Negatif:
-1.7976931348623157E+308 s/d
-4.94065645841246544E-324
Positif:
4.94065645841246544E-324 s/d
1.7976931348623157E+308
float 32 Negatif:
-3.4028234663852886E+38 s/d
-1.40129846432481707E-45
Positif:
1.40129846432481707E-45 s/d
3.4028234663852886E+38
char 16 ‘\u0000’ s/d ‘\uFFFF’
(0 s/d 65535)
boolean 8 true atau false
Ke delapan tipe data di atas dapat
dikelompokan menjadi empat kolompok:
Integer, merupakan tipe data bilangan bulat
yang terdiri atas byte,short, int, dan long.
Floating-Point, merupakan tipe data
bilangan pecahan yang terdiri ata float dan
double
Karakter, mewakili simbol dari sebuah
karakter yang terdiri ata char.
Boolean, merupakan tipe data yang
menunjukan nilai true atau false, yang terdiri
atas boolean
Tipe Data Referensi
Tipe data referensi digunakan untuk
memegang referensi dari suatu object
(instance dari class). Pendeklarasian tipe
data ini sama dengan tipe data primitif,
namun penggunaanya agak sedikit
berbeda.
Contoh:
public class Segitiga{
int alas;
int tinggi;
public static void main(String args[]){
/*
Pendeklarasian variabel dengan tipe data
class Segitiga
*/
Segitiga s3;
/*
Instantiate class Segitiga menjadi object
*/
s3 = new Segitiga();
/*
Setelah proses instantiate ini, anda dapat
mengakses object Segitiga melalui variabel
s3
*/
s3.alas=10;
s3.tinggi=2;
System.out.println("Alas = "+s3.alas);
System.out.println("Tinggi = "+s3.tinggi);
}
}
Nilai Literal
Literal adalah suatu nilai yang terlihat
secara eksplisit. Perhatikan contoh berikut
ini:
int index = 10;
Pada kode di atas, angka 10 merupakan
nilai literal.
Literal Integer
Semua bilangan bulat akan dianggap bertipe int
oleh Java.
Nilai literal integer bisa ditulis dengan bilangan
basis 10 (desimal), basis 8 (oktal) dan basis 16
(heksadesimal).
Untuk basis 8 tambahkan angka nol (0) di
depan. Contoh : 01,034, 0425, …
Untuk basis 16 tambahkan 0x (nol dan x),
contoh: 0x1, 0x234, 0xA, …
Untuk menuliskan bilangan bulat yang
sangat besar dimana hanya tipe data long
(64 bit) yang dapat menampungnya, anda
perlu menambahkan karakter L atau l
untuk memberi tahu Java bahwa nilai
literal tersebut adalah bertipe data long.
Contoh: 9234857892347523L
Literal Floating-Point
Bilangan floating-Point merupakan
bilangan desimal yang berupa pecahan.
Di dalam Java bilangan desimal secara
default bertipe double.
Agar bisa ditampung pada tipe float
tambahkan karakter F atau f diakhir literal
desimal. Contoh: 375834753897345.48374F
Bilangan ini dapat ditulis menggunakan notasi
standar biasa atau menggunakan notasi ilmiah
(scientific notation)
Notasi standar menggunakan titik untuk
menandakan pecahan. Contohnya : 10.2, 11.3,
…
Notasi ilmiah dapat menggunakan lambang En
(eksponensial). Contohnya:
7.02345E3 = 7.02345 x 103 = 7023.45
Literal Boolean
Untuk tipe data boolean, Java hanya
mengenal dua nilai literal yaitu true dan
false. Contoh penggunaan :
boolean isEmpty = true;
Defaultnya adalah false.
Literal Karakter
Java didesain untuk menjadi bahasa yang
portable dan universal. Karena itu, Java
mendukung penggunaan Unicode
Characters, yang mencakup hampir
semua karakter yang dikenal oleh
manusia dalam berbagai bahasa seperti
Arabic, Latin, Greek, dan lain – lain.
Untuk itu lebar data tipe data char adalah
16 bit agar dapat merepresentasikan
semua karakter yang ada.
Daftar escape sequence yang
dikenal oleh Java
Escape Sequence Keterangan
\’ Tanda petik satu
\” Tanda petik dua
\\ Backslash
\r Carriage return
\n Pindah baris
\f Form feed
\t Tab
\b backspace
Literal String
Literal untuk String dalam Java ditulis di
antara tanda petik ganda, dan sama
halnya seperti literal untuk karakter,
escape sequence juga dapat digunakan di
sini.
Array
Array adalah sebuah set variabel yang
diberi nama tertentu yang memiliki tipe
data yang sama. Tiap variabel di dalam
array disebut elemen, dimana tiap elemen
memiliki indeks dengan tipe integer
Array Satu Dimensi
int[] nilaiSiswa; //cara ini lebih dianjurkan
int nilaiSiswa[];
float[] jumlahPanen;
Array yang sudah dideklarasikan perlu
didefinisikan, seperti contoh berikut
nilaiSiswa = new int[10];
jumlahPanen = new float[100];
Untuk memberikan nilai kepada sebuah
elemen array caranya dengan
menyebutkan nama array yang diikuti
indeks dan nilai yang diberikan, seperti
contoh berikut:
nilaiSiswa[0] = 8;
jumlahPanen[2] = 223.66;
Contoh:
public class ArrayAverage{
public static void main(String[] args){
int[] values = {1, 3, 5, 7, 9};
int aveValue;
aveValue = getAverage(values);
System.out.println("Jumlah total: " + aveValue);
}
public static int getAverage(int[] intArray){
int sum = 0; // variabel lokal
for(int x = 0; x < intArray.length; x++)
sum = sum + intArray[x];
return sum / intArray.length;
}
}
Array Multidimensi
Cara pendeklarasian array multidimensi ini
pada dasarnya sama dengan array satu
dimensi di mana anda cukup
menambahkan [] sesuai dengan dimensi
yang anda inginkan.
Contoh:
int[][] arr2; //array 2 dimensi
int[][][] arr3; //array 3 dimensi
int[][][][] arr4; //array 4 dimensi
if(nilai<10)
System.out.println (“kurang dari 10”);
if(nilai<51){
System.out.println(“Tidak lulus”);
status=false;
}
Untuk menambahkan pernyataan yang
akan dijalankan jika kondisi uji salah,
maka dapat ditambahkan klausa else,
seperti contoh berikut:
if(nilai<51){
System.out.println(“Tidak lulus”);
status=false;
}else{
System.out.println(“Lulus”);
status=true;
}
Untuk melakukan pengujian lebih dari satu
kali, dapat ditambahkan klause else if,
seperti contoh berikut
if(nilai<51){
System.out.println(“Tidak lulus”);
status=false;
}else if((nilai>51) && (nilai<71)){
System.out.println(“Lulus, status=cukup”);
status=true;
}else {
System.out.println(“Lulus, status=memuaskan”);
status=true;
}
Percabangan (switch)
byte nilai=1;
for (int i=0; i<8; i++){
nilai *= 2;
System.out.println(nilai);
}
Perulangan (while)
Pernyataan while digunakan untuk
melakukan perulangan dengan
menentukan kondisi yang menyebabkan
perulangan dihentikan
Bentuk pernyataan while adalah sebagai
berikut :
while(ekspresi){
pernyataan1;
pernyataan2;
....
}
contoh
int i = 0;
while (i < 10){
nilai += 10;
i++;
}
Perulangan (do – while)
Penggunaan do-while ini mirip dengan
bentuk while di atas. Perbedaan
utamanya yaitu:
Pengecekan kondisi (true atau false)
dilakukan pada bagian akhir sehingga
pernyataan yang ada di dalam blok
perulangan akan dieksekusi minimal satu
kali, sekalipun eksekusi do-while pertama
kali menemukan kondisi bernilai false.
Penggunaan bentuk do-while mengikuti
bentuk berikut ini
do{
Pernyataan1;
Pernyataan2;
....
}while(kondisi);
Jump (break)
Penggunaan break yang utama adalah
untuk menghentikan proses perulangan di
dalam while, do-while atau di dalam for.
Contoh:
class TestBreak{
public static void main(String[] args){
System.out.println(“Sebelum for”);
for(int x=0;x<10;x++){
if(x==4)
break;
System.out.pritnln(“Nilai x : ”+x);
}
System.out.println(“Setelah For”);
}
}
Jump (continue)
Terkadang dalam mengeksekusi suatu
kode dalam perulangan anda ingin terus
melakukan perulangan, tetapi karena
kondisi tertentu anda ingin kode setelah
posisi tertentu tersebut tidak dieksekusi. Di
sinilah kita dapat menggunakan continue
Contoh:
class TestContinue{
public static void main(String[] args){
int x=10;
System.out.println(“Sebelum while”);
while(x<=50){
x++;
if(x%2==0)
continue;
System.out.println(“Nilai x : ”+x);
}
System.out.println(“Sesudah while”);
}
}
Jump (return)
Perintah dalam Java terakhir yang dapat
dikategorikan sebagai jump adalah perintah
return yang digunakan di dalam method.
Method dipanggil oleh bagian lain dari program.
Dengan menggunakan perintah return, alur
eksekusi dikembalikan ke bagian program yang
memanggil method tersebut.
Contoh:
public class Orang{
public String cetakNama(){
return Hello Nama Saya Hendro!”;
}
p1.setNama(“Budi”);
p2.setNama(“Andi”);
System.out.println(p1.getNama());
System.out.println(p2.getNama());
}
}
Contoh Polymorphism dan Inheritance
void cekJumPiring(){
jumPiring = jumPiring + 1;
if(this.jumPiring>3)
isKenyang = true;
}
}
class DemoManusia{
public static void main(String args[]){
Manusia m1 = new Manusia();
m1.setNama(“Hendro”);
m1.makan();
m1.makan();
m1.makan();
m1.makan();
}
}
Dari contoh di atas dapat kita lihat bentuk
umum pendeklarasian method adalah
sebagai berikut:
tipe-data namaMethod(daftar-parameter){
//implementasi
}
Method Overloading
Dalam Java kita boleh memiliki lebih dari satu
method yang memiliki nama sama. Inilah yang
disebut method overloading
Walaupun Java mengizinkan memiliki nama
method sama lebih dari satu, tetapi daftar
parameter yang digunakan haruslah berbeda
untuk masing – masing method
Karena Java akan menggunakan parameter –
parameter ini untuk menentukan method mana
yang akan dieksekusi
class Manusia{
String nama;
String jenkel;
void cetak(){
System.out.println(nama+" adalah "+jenkel);
}
}
class DemoManusia{
public static void main(String args[]){
Manusia m1,m2;
m1 = new Manusia();
m2 = new Manusia();
m1.setNilai("Hendro");
m2.setNilai("Hendro","Laki-laki");
m1.cetak();
m2.cetak();
}
}
Konstruktor
Konstruktor merupakan method khusus yang digunakan
untuk menginisialisasi objek dan tiap class boleh
memiliki lebih dari satu konstruktor.
Perbedaan method biasa dengan konstruktor adalah
bahwa konstruktor harus memiliki nama yang sama
dengan nama classnya dan tidak memiliki nilai
kembalian (tipe-data).
Konstruktor dijalankan pada saat sebuah object
diinisialisasi (menggunakan kata new)
Pada konstruktor juga berlaku overloading, artinya boleh
mendeklarasikan lebih dari satu konstruktor, asalkan
memiliki parameter yang berbeda – beda.
class Manusia{
String nama;
String jenkel;
Manusia(){ //konstruktor
nama = "unknown";
jenkel = "unknown";
}
m1.cetak();
m2.cetak();
}
}
Yang perlu diperhatikan adalah apabila anda
tidak mendeklarasikan satu pun konstruktor,
maka Java secara otomatis menambahkan
konstruktor default ke dalam class yang kita buat
walaupun tidak kelihatan pada kode program.
Apabila kita mendeklarasikan satu atau lebih
konstruktor maka java tidak akan menambahkan
kostruktor default.
Penggunakan Keyword ‘this’
Terkadang dalam suatu method kita ingin
menunjuk ke objek di mana method ini
berada. Untuk itu kita menggunakan
keyword this. Perhatikan Contoh berikut.
class Manusia{
String nama;
void setNama(String nama){
this.nama = nama;
}
}
Penggunaan Keyword ‘static’
Apabila kata kunci static kita tempatkan
pada pendeklarasian member (variabel
dan method) dari suatu class, maka
member class tersebut dapat diakses
tanpa harus menciptakan objek class
tersebut. Untuk lebih jelasnya perhatikan
contoh berikut ini.
class Manusia{
static String nama;
static String jenkel;
class DemoManusia{
public static void main(String args[]){
Manusia.nama = "Hendro";
Manusia.jenkel = "Laki - laki";
Manusia.cetak();
}
}
Modifier
Penggunaan modifier berfungsi untuk
melakukan enkapsulasi (membungkus data)
pada objeck.
Dengan menggunakan modifier kita dapat
menentukan siapa saja yang boleh
menggunakan atau mengakses member dari
suatu objek.
Ada empat macam modifier yang dikenal oleh
Java, yaitu private, protected, public dan
tanpa modifier.
Class Modifier
Bentuk penggunaan modifier pada class:
modifier class NamaClass{
…
…
}
Modifier Keterangan
(default) Class visible atau dapat digunakan hanya pada package
yang sama
public Class visible terhadap semua package yang berbeda – beda
final Class tidak dapat diturunkan lagi / extends
class NestedClassDemo {
public static void main(String args[]) {
int x[] = { 3, 2, 1, 5, 6, 9, 7, 8 };
Outer outOb = new Outer(x);
outOb.Analyze();
}
}
Latihan
Definisikan/identifikasikan object-object
beserta role-role yang ada pada business
proses pada sebuah perpustakaan (buat
class beserta member-membernya).
Object Oriented
Programming 2
Abstract Class
Class Abstrak tidak berbeda dengan
class-class lainnya yaitu memiliki class
members (method dan property)
Sebuah class adalah abstrak jika salah
satu methodnya dideklarasikan abstrak.
Method abstrak adalah method yang tidak
memiliki implementasi.
Contoh deklarasi method abstrak:
mobil.injakPedalGas();
mobil = kijang;
mobil.injakPedalGas();
mobil = escudo;
mobil.injakPedalGas();
mobil = bmw;
mobil.injakPedalGas();
}
}
Interface
Interface adalah class yang hanya
mengandung deklarasi method tanpa
memiliki implementasi dan semua property
yang dimilikinya bersifat final.
Interface mirip dengan class abstrak,
tetapi interface tidak terikat dengan class
hierarki.
Berikut ini adalah aturan yang harus kita ingat
tentang pendeklarasian interface:
Modifier yang digunakan hanya public atau tidak
sama sekali. Jika tidak menggunakan modifier
maka interface tersebut hanya dapat diakses dalam
package yang sama.
Semua variabel yang dideklarasikan dalam interface
secara otomatis adalah static final. Karena itu waktu
pendeklarasian harus diberikan nilai.
Semua method adalah abstrak. Bedanya
dengan class abstrak adalah kita tidak perlu
menuliskan keyword abstract pada saat
mendeklarasikan method dalam interface.
Kita dapat mengimplementasikan lebih dari
satu interface (multiple inheritance) dengan
memisahkan nama dari setiap interface
dengan tanda koma.
Dapat terjadi saat kita
mengimplementasikan lebih dari satu
interface ternyata interface – interface
tersebut memiliki method yang sama. Dalam
hal ini method yang akan diimplementasi
adalah method yang berada pada posisi
pertama.
Semua method yang diimplemetasikan
harus public.
Jika kita tidak mengimplementasikan semua
method yang ada pada interface, maka
class tersebut harus dideklarasikan sebagai
abstract class.
contoh
public interface Control {
public void pindahChannel(int channel);
public void perbesarVolume(int intensitas);
public void perkecilVolume(int intensitas);
}
public class TVPolitron implements Control{
String[] channel = {"RCTI","SCTV","INDOSIAR","ANTV","TV7"};
public void pindahChannel(int channel) {
System.out.println("Pindah channel pada TV Politron ke "+
this.channel[channel]);
}
rc.kirimPerintahKeTv(1,tvp,1);
}
}
Package
Package adalah cara untuk mengelompokan
class dan interface yang ada ke dalam
kelompoknya (name space) masing – masing
sehingga lebih mudah diatur dan memungkinkan
penggunaan nama yang sama.
Untuk mendefinisikan suatu package digunakan
keyword package
Pendefinisian nama package harus terletak di
bagian paling atas dari source program kita.
Sintaks pendefinisian nama package adalah
sebagai berikut:
package namaPackage;
Contoh:
package siswa;
Java menggunakan package seperti struktur
direktori. Oleh karena itu semua class atau
interface yang memiliki definisi package seperti
contoh di atas, harus disimpan pada direktori
bernama siswa.
Kita juga dapat membuat package secara hierarki
layaknya struktur direktori.
Contoh:
package hen.com.contoh;
Pada contoh di atas menunjukan bahwa semua class
atau interface yang menggunkan deklarasi package ini
harus disimpan pada direktori hen -> com -> contoh
Apabila program kita akan menggunakan sebuah class
yang terletak pada package yang berbeda, maka kita
harus mengimportnya agar dapat digunakan
Exception
Exception dalam Java didefinisikan
sebagai sebuah obyek yang muncul ketika
terjadi kondisi tidak normal dalam sebuah
program.
Untuk menangani exception dalam sebuah
program, dapat digunakan pernyataan try,
catch, dan finally.
try atau block try digunakan untuk menjaga
pernyataan yang memungkinkan timbulnya
exception.
catch atau block catch digunakan untuk
menangani exception ketika muncul.
finally digunakan untuk menutup proses
penanganan exception, dimana pernyataan ini
boleh untuk tidak digunakan. Block finally pasti
akan dieksekusi saat terjadi error atau tidak.
Contoh:
try{
Class.forName("com.mysql.jdbc.Driver").newInstance()
;
}catch(ClassNotFoundException e){
System.out.println(“Error loading driver..”);
}
Define the connection URL
String dbURL = "jdbc:mysql://localhost:3306/dbname";
String dbUser = “user";
String dbPass = “password";
Establish the Connection
conn = DriverManager.getConnection(dbURL,dbUser,dbPass);
Create Statement
Statement statement =
conn.createStatement();
Execute a Query
String sql = “SELECT * FROM table”;
ResultSet rs = statement.executeQuery(sql);
statement.close();
connection.close();
myFrame.getContentPane().setLayout(layout);
myFrame.getContentPane().add(txtPesan);
myFrame.getContentPane().add(cmdOK);
myFrame.getContentPane().add(cmdClose);
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myFrame.pack();
myFrame.setVisible(true);
}
}
Menambahkan event pada tombol
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class SimpleForm {
public static void main(String[] args){
JFrame myFrame = new JFrame("Form Sederhana");
FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
layout.setVgap(10);
layout.setHgap(10);
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myFrame.pack();
myFrame.setVisible();
}
}
Kotak Pesan
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class SimpleForm {
public static void main(String[] args){
JFrame myFrame = new JFrame("Form Sederhana");
FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
layout.setVgap(10);
layout.setHgap(10);
myFrame.getContentPane().setLayout(layout);
myFrame.getContentPane().add(txtPesan);
myFrame.getContentPane().add(cmdTampil);
myFrame.getContentPane().add(cmdClose);
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myFrame.pack();
myFrame.setVisible(true);
}
}
Netbeans Matisse
Hands On Labs
Author
Nama : Hendro Steven Tampake, S.Kom
Email : [email protected]
Blog : http://hendro.swbtc.net