100% menganggap dokumen ini bermanfaat (1 suara)
3K tayangan90 halaman

Materi PBO-Edi Furqon

Dokumen tersebut membahas tentang dasar-dasar pemrograman berorientasi objek. Pemrograman berorientasi objek memiliki tiga karakteristik utama yaitu pengkapsulan, pewarisan, dan polimorfisme. Pendekatan ini meniru cara manusia memperlakukan suatu objek dengan membungkus data dan fungsi dalam kelas atau objek.

Diunggah oleh

shered2812
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
100% menganggap dokumen ini bermanfaat (1 suara)
3K tayangan90 halaman

Materi PBO-Edi Furqon

Dokumen tersebut membahas tentang dasar-dasar pemrograman berorientasi objek. Pemrograman berorientasi objek memiliki tiga karakteristik utama yaitu pengkapsulan, pewarisan, dan polimorfisme. Pendekatan ini meniru cara manusia memperlakukan suatu objek dengan membungkus data dan fungsi dalam kelas atau objek.

Diunggah oleh

shered2812
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

1

DASAR-DASAR
PEMROGRAMAN BERORIENTASI OBYEK

Program komputer adalah simulasi digital dari suatu model konseptual atau fisik yang
seringkali menjadi sangat rumit. Kerja programer bertujuan untuk memecahkan kerumitan
ini menjadi bentuk yang mudah dimengerti dan ditampilkan untuk para pemakai melalui
antar muka.

BAHASA PEMROGRAMAN
Bahasa pemrograman adalah bahasa yang menjadi sarana manusia untuk
berkomunikasidengan komputer. Pikiran manusia yang tidak terstruktur harus dibuat
terstruktur agar bisa berkomunikasi dengan komputer. Komputer memerlukan kepastian dan
logika yang benaruntuk dapat melakukan suatu instruksi tertentu. Untuk itu diperlukan
algoritma yang baik dan benar.

Jenis-jenis Bahasa Pemrograman :


1. Bahasa Mesin
Bahasa mesin adalah bahasa yang berisi kode-kode mesin yang hanya dapat
diinterpretasikan langsung oleh mesin komputer. Bahasa mesin sering juga disebut
native code (sangat tergantung pada mesin tertentu). Bahasa ini merupakan bahasa
level terendah dan berupa kode biner: 0 dan 1.

Sekumpulan instruksi dalam bahasa mesin dapat membentuk microcode (semacam


prosedur dalam bahasa mesin). Contoh: untuk mesin IBM/370, perintah
0001100000110101 = 1835 yang berarti mengkopikan isi register 5 ke register 3
Kelebihannya adalah mempunyai waktu eksekusi yang cepat sedangkan kelemahannya
sangat sulit dipelajari manusia

2. Bahasa Assembly (mnemonic code)


Bahasa assembly adalah bahasa simbol dari bahasa mesin. Setiap kode bahasa mesin
memiliki simbol sendiri dalam bahasa assembly. Misalnya ADD untuk penjumlahan,
MUL untuk perkalian, SUB untuk pengurangan, dan lain-lain. Sekumpulan kode-kode
bahasa assembly dapat membentuk makroinstruksi. Bahasa assembly juga memiliki
program pen-debug-nya, tidak seperti bahasa mesin. Misalnya: Turbo Assembler dan
debug pada DOS. Assembler akan mencocokkan token simbol dari awal sampai dengan
akhir, kemudian dikodekan menjadi bahasa mesin.

Kelebihannya adalah mempunyai waktu eksekusi yang cepat, masih bisa dipelajari
daripada bahasa mesin dan file hasil kompilasi sangat keci. Kelemahannya : Tetap sulit
dipelajari dan program sangat panjang.

3. Bahasa Tingkat Tinggi (High Level Language)


Bahasa ini lebih dekat dengan bahasa manusia. Bahasa ini juga memberikan banyak
sekali fasilitas kemudahan pembuatan program, misalnya: variabel, tipe data, konstanta,
struktur kontrol, loop, fungsi, prosedur dan sebagainya. Contoh: Pascal, Basic, C++, dan
Java.

Bahasa ini mendukung information hiding, enkapsulasi, dan abstract data type. Bahasa
tingkat tinggi memiliki generasi, misalnya generasi ke-3 (Pascal, C/C++) dan generasi
ke-4 (Delphi, VB, VB.NET, Visual Foxpro). Kelebihannya adalah mudah dipelajari,

Pemrograman
JAVA
2

mendekati permasalahan yang akan dipecahkan dan kode program pendek sedangkan
kelemahannya mempunyai waktu eksekusi lambat

4. Bahasa yang berorientasi pada masalah spesifik (specificproblem oriented).


Bahasa ini adalah bahasa yang digunakan langsung untuk memecahkan suatu masalah
tertentu. Misalnya SQLuntuk database, Regex untuk mencocokkan pola pada string
tertentu dan sebagainya. Jenis bahasa ini juga masuk ke bahasa tingkat tinggi.

Dalam lingkungan pemrograman yang lama, program dibuat sebagai urutan perintah yang
linier. Model ini disebut juga sebagai model berorientasi proses dengan memikirkan
langkah-langkah tunggal dalam masalah tanpa memodelkan gambaran keseluruhan
masalah, contoh : Bahasa C, Bahasa BASIC, Bahasa PASCAL dsb.

Meskipun program ini baik untuk program yang sederhana, masalah banyak timbul ketika
program bertambah besar misalnya kelambatan definisi antar muka atau interaksi, program
tidak teratur dan kesalahan lebih sering timbul.

PEMROGRAMAN BERORIENTASI OBYEK


Model Data Berorientasi Objek’ atau object-oriented programming (OOP) merupakan
paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di
dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan
logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan
mengirim pesan ke objek lainnya.

Model Data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan
mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh
lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding
dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan
dirawat.

Pemrograman ini mempunyai fungsi-fungsi obyek yang mudah dipahami dan memiliki antar
muka yang jelas dan layak antar obyek. Pendekatan yang digunakan adalah top-down
design dimana masalah dipahami pertama kali dalam bentuk paling abstrak, baru kemudian
mendefinisikan sub rutin yang berkaitan dengan implementasi yang lebih konkrit.

Pemrograman Berorientasi Objek (OOP) adalah metode pemrograman yang meniru cara
kita memperlakukan sesuatu(benda). Ada tiga karakteristik bahasa Pemrograman
Berorientasi Objek, yaitu :
1. Pengkapsulan (Encapsulation)
Mengkombinasikan suatu struktur dengan fungsi yang memanipulasinya untuk
membentuk tipe data baru yaitu kelas (class). Selain itu pengkapsulan juga memastikan
pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek
dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi ijin untuk
mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan
bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan
mengetahui dan tergantung kepada representasi dalam objek tersebut.

Analoginya adalah seperti ini, bayangkan jika anda seorang arsitek, sebelum
membangun rumah tentunya akan merancang dulu di kertas, jumlah dan letak pintu,
jendela, dan semuanya, itulah class. Kemudian dari gambar rumah tersebut kita dapat
membangun banyak rumah sesuai rancangan yang sudah dibuat. Masing-masing rumah
jadi tersebut adalah yang disebut dengan objek/instance.

Pemrograman
JAVA
3

2. Pewarisan (Inheritance)
Mendefinisikan suatu kelas dan kemudian menggunakannya untuk membangun hirarki
kelas turunan, yang mana masing-masing turunan mewarisi semua akses kode maupun
data kelas dasarnya.

Objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada
objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa harus
mengimplementasi ulang perilaku tersebut (bahasa berbasis-objek tidak selalu memiliki
inheritas.)

Suatu kelas dapat diciptakan berdasarkan kelas lain. Kelas baru ini mempunyai sifat-
sifat yang sama dengan kelas pembentuknya, ditambah sifat-sifat khusus lainnya.
Dengan pewarisan kita dapat menciptakan kelas baru yang mempunyai sifat sama
dengan kelas lain tanpa harus menulis ulang bagian-bagian yang sama. Pewarisan
merupakan unsur penting dalam pemrograman berorientasi objek dan merupakan blok
bangunan dasar pertama penggunaan kode ulang (code reuse).

Yang perlu menjadi catatan di sini adalah bahwa data dan fungsi yang dapat diwariskan
hanya yang bersifat public dan protected. Untuk data dan fungsi private tetap tidak dapat
diwariskan. Hal ini disebabkan sifat protected yang hanya dapat diakses dari dalam
kelas saja. Sifat pewarisan ini menyebabkan kelas-kelas dalam pemrograman
berorientasi objek membentuk hirarki kelas mulai dari kelas dasar, kelas turunan
pertama, kelas turunan kedua dan seterusnya. Sebagai gambaran misalnya ada hirarki
kelas unggas.

Sebagai kelas dasar adalah Unggas. Salah satu sifat Unggas adalah bertelur dan
bersayap. Kelas turunan pertama adalah Ayam, Burung dan Bebek. Tiga kelas turunan
ini mewarisi sifat kelas dasar Unggas yaitu bertelur dan bersayap. Selain mewarisi sifat
kelas dasar, masing-masing kelas turunan mempunyai sifat khusus, Ayam berkokok,
Burung terbang dan Bebek berenang. Kelas Ayam punya kelas turunan yaitu Ayam
Kampung dan Ayam Hutan. Dua kelas ini mewarisi sifat kelas Ayam yang berkokok.
Tetapi dua kelas ini juga punya sifat yang berbeda, yaitu: Ayam Kampung berkokok
panjang halus sedangkan Ayam hutan berkokok pendek dan kasar.

3. Polimorphisme (Polymorphism)
Memberikan satu aksi untuk satu nama yang dipakai bersama pada satu hirarki kelas,
yang mana masing-masing kelas hirarki menerapkan cara yang sesuai dengan dirinya.
Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan
subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang
Pemrograman
JAVA
4

berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di


mana pesa tersebut dikirim.

Contohnya, bila sebuah burung menerima pesan “gerak cepat”, dia akan menggerakan
sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan
menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama,
namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme
karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek
yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil
beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama.
Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui
penggunaan fungsi kelas-pertama.

Pemrograman orientasi-objek menekankan konsep berikut:


1. Class
Kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan
tertentu. Sebagai contoh ‘class of dog’ adalah suatu unit yang terdiri atas definisi-definisi
data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari
anjing.

Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman
berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang
non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode
yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen
(sebagaimana kode tersebut digunakan jika tidak menggunakan OOP).

Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek
dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan
menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.

2. Objek
Membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program
komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program
komputer berorientasi objek.

3. Abstraksi
Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya,
yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani
sebagai model dari “pelaku” abstrak yang dapat melakukan kerja, laporan dan
perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa
mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat
juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah
pengabstrakan.

Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak
melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-
objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap
kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi
data dan lainnya. Misal manager tersebut ingin memperoleh data dari bagian administrasi
maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas
bagi administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus
mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan
data tersebut melalui objek petugas administrasi. Jadi untuk menyelesaikan suatu masalah
Pemrograman
JAVA
5

dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki job
descriptionnya sendiri.

KONSTRUKTOR DAN DESTRUKTOR


Konstruktor adalah fungsi khusus anggota kelas yang otomatis dijalankan pada saat
penciptaan objek (mendeklarasikan instance). Konstruktor ditandai dengan namanya, yaitu
sama dengan nama kelas. Konstruktor tidak mempunyai tipe hasil, bahkan juga bukan
bertipe void. Biasanya konstruktor dipakai untuk inisialisasi anggota data dan melakukan
operasi lain seperti membuka file dan melakukan alokasi memori secara dinamis. Meskipun
konstruktor tidak harus ada di dalam kelas, tetapi jika diperlukan konstruktor dapat lebih dari
satu.

Tiga jenis konstruktor:


1. Konstruktor default : tidak dapat meneriman argumen, anggota data diberi nilai awal
tertentu
2. Konstruktor penyalinan dengan parameter : anggota data diberi nilai awal berasal dari
parameter.
3. Konstruktor penyalinan objek lain : parameter berupa objek lain, anggota data diberi nilai
awal dari objek lain.

Destruktor adalah pasangan konstruktor. Pada saat program menciptakan objek secara
otomatis konstruktor akan dijalankan, yang biasanya dimaksudkan untuk memberi nilai awal
variabel private. Fungsi destruktor (penghancur atau pelenyap) secara otomatis akan
dijalankan pada saat berakhirnya kehidupan objek. Fungsi destruktor adalah untuk mende-
alokasikan memori dinamis yang diciptakan konstruktor.

PENGANTAR JAVA
Java adalah bahasa pemrograman serbaguna untuk membuat program seperti PASCAL
atau C++ yang mendukung sumber daya Internet (web) dan mendukung aplikasi
klien/server baik dalam jaringan lokal (LAN) maupun WAN.

Java dikembangkan oleh Sun Microsystems pada Agustus 1991 dengan nama semula OAK
oleh James Gosling. OAK merupakan kepanjangan dari Object Application Kernel dan pada
tahun 1995 berganti nama menjadi JAVA.

Java merupakan hasil perpaduan dari sifat sejumlah bahasa pemrograman yaitu C, C++,
Object-C, SmallTalk dan Common LISP.

Java dapat dijalankan pada sembarang komputer dengan sembarang sistem operasi.
Ketidakbergantungan terhadap platform sering dinyatakan dengan istilah portabilitas.
Tingkat portabilitas Java tidak hanya pada program sumber (source code) tetapi juga pada
tingkat kode biner (bytecode)

Java pada berbagai sistem operasi :


SISTEM OPERASI VENDOR
AIX IBM
DG/UX Data General Corporation
Digital OpenVMS Digital Equipment Corporation
Digital Unix Digital Equipment Corporation
HP-UX Hewlett Packard
IRIX Silicon Graphics
Linux Banyak perusahaan
MacOS Apple
Netware Novell
Pemrograman
JAVA
6

OS/2 IBM
OS/390 dan OS/400 IBM
Solaris Sun Microsystems
Keluarga Windows Microsoft Corporation

Situs yang dapat Anda kunjungi untuk mencari informasi dan men-download mengenai Java
adalah http://java.sun.com/

Program Java dapat dibagi menjadi :


1. Applet
adalah program yang dibuat dan diletakkan pada web server dan diakses melalui web
browser yang memiliki kemampuan Java, misal Netscape Navigator, Internet Explorer,
HotJava dan sebagainya.

2. Aplikasi
adalah program yang dibuat dengan Java yang bersifat umum tanpa menggunakan
perangkat lunak web browser.

Untuk memprogram Java, Anda dapat menggunakan bermacam-macam perangkat lunak,


seperti :
ƒ J2SDK (Java 2 System Development Kit) yang disediakan oleh Sun Microsystems
ƒ Semantic Café
ƒ Microsoft Visual J++
ƒ Borland JBuilder

Program pada J2SDK adalah :


ƒ javac (kompiler)
digunakan untuk mengkompilasi berkas sumber kode Java kedalam bytecode. Hasil
kompilasi akan menghasilkan file dengan ekstensi .class
ƒ java (interpreter)
digunakan untuk menjalankan berkas bytecode (class)
ƒ jdb (debugger)
berfungsi sebagai interpreter dan dapat menghentikan eksekusi program pada posisi
yang dikehendaki oleh pemrogram (untuk melacak kesalahan program)
ƒ appletviewer
berguna untuk menampilkan applet
ƒ javadoc
digunakan untuk mengkonversi berkas sumber kode java ke dalam berkas HTML
ƒ javah
berfungsi untuk menghasilkan header C dan berkas kode sumber C berdasarkan berkas
bytecode Java

setelah Anda menginstall program Java, tambahkan file autoexec.bat dengan isi :
CLS
ECHO OFF
CLS
SET CLASSPATH=.;C:\J2SDK1.4.2_12\LIB\TOOLS.JAR
PATH C:\J2SDK1.4.2_12\BIN

Untuk membuat aplikasi Java, lakukan langkah berikut :


1. Buat program Java dengan menggunakan teks editor, misalnya : NOTEPAD lalu simpan
program dengan ekstensi .java
2. Kompilasi program dengan perintah : javac <nama program.java>
3. Jika terdapat kesalahan, perbaiki program lalu kompilasi ulang
Pemrograman
JAVA
7

4. Setelah program benar, jalankan program dengan perintah : java <namaprogram>

Contoh :
// nama file selamatbelajar.java (1)
public class selamatbelajar (2)
{ (3)
public static void main (String[ ] args) (4)
{ (5)
System.out.println("Selamat Belajar Java"); (6)
} (7)
} (8)

Hasil : Selamat Belajar Java

Keterangan :
ƒ Baris (1) menyatakan komentar yang berfungsi menjelaskan kepada pembaca program
ƒ Baris (3) merupakan bagian yang mengawali pendefinisian kelas berupa suatu blok
yang diawali simbol { dan diakhiri dengan } pada baris (8)
ƒ Definisi main() terdapat pada baris (4) sampai (7) yang berfungsi sebagai awal
pengeksekusian.
Kata public menyatakan bahwa metode ini dapat dipanggil dari mana saja
Kata static menyatakan bahwa metode ini bersifat sama untuk semua instan kelas
Kata void menyatakan bahwa metode ini tidak memberikan nilai balik
Kata String[] menyatakan kelas yang berhubungan dengan penanganan huruf
Kata args menyatakan array untuk tempat memperoleh baris perintah
ƒ Baris (6) merupakan pernyataan untuk menampilkan tulisan
Kata System.out digunakan untuk menangani keluaran standar pada Java
Kata println digunakan untuk mencetak ke layar

TUGAS
Buat program dengan Java untuk menampilkan Biodata Pribadi Anda !

Pemrograman
JAVA
1

DASAR BAHASA JAVA

KARAKTER
yaitu elemen terkecil pada bahasa pemrograman, berupa :
ƒ Huruf (A s/d Z dan a s/d z)
ƒ Angka (0 s/d 9)
ƒ Simbol (misal * dan !)
ƒ Kode kontrol (misal formfeed dan newline)

Java tidak menggunakan himpunan kode ASCII (American Standard Code for Information
Interchange) melainkan dengan himpunan Unicode yang dapat menampilkan huruf-huruf
yang digunakan oleh berbagai bangsa selain huruf Latin.

KATA KUNCI
Java memiliki sejumlah kata yang bermakna khusus yang digolongkan sebagai kata kunci
atau kata tercadang dan tidak dapat digunakan sebagai pengenal
Misal :
abstrac else interface super
boolean extends long switch
break final native synchronized
byte finally new this
case float null throw
catch for package throws
char goto private transient
class if protected try
const implements public void
continue import return volatile
do instanceof short while
double int static

PENGENAL
Disebut juga sebagai identifier yaitu nama yang diciptakan oleh pemrogram dan digunakan
dalam program untuk memberi nama kelas atau variabel.
Aturan pemberian nama pengenal yaitu :
ƒ Karakter pertama berupa huruf, tanda garis bawah atau dollar
ƒ Karakter kedua dapat berupa sembarang huruf atau angka
ƒ Panjang pengenal bebas
ƒ Huruf kapital dan huruf kecil dibedakan

Misal : x
$_99
_nama
NamaYangPanjangJugaBoleh

TIPE DATA PRIMITIF


Tipe data ini meliputi :

1. byte
2. short Tipe data bilangan bulat
3. int
4. long

Pemrograman
JAVA
2

5. float
6. double Tipe data bilangan real

7. char Tipe data yang mewakili sebuah karakter

8. boolean Tipe data yang menyatakan keadaan logika true atau false

Keterangan :
1. Tipe Bilangan Bulat
Perbedaan masing-masing tipe data terletak pada jangkauan nilai yang dicakup.
TIPE UKURAN JANGKAUAN
byte 8 bit -128 s/d 127
short 16 bit -32.768 s/d 32.767
int 32 bit -2.147.483.648 s/d 2.147.483.647
long 64 bit -9.232.372.036.854.775.808 s/d 9.232.372.036.854.775.807

2. Tipe Bilangan Titik Mengambang


TIPE UKURAN JANGKAUAN
float 32 bit, presisi 6-7 digit -3.4E38 s/d +3.4E38
double 64 bit, presisi 14-15 digit -1.7E308 s/d +1.7E308

3. Tipe Data Char


Digunakan untuk menyatakan sebuah karakter yang tercakup dalam himpunan kode
Unicode

4. Tipe Data Boolean


Digunakan untuk menangani keadaan logika dengan dua kemungkinan nilai TRUE yang
berarti benar dan FALSE yang berarti salah

LITERAL
adalah suatu nilai yang dituliskan pada kode sumber Java.
Literal dapat dibedakan menjadi :
1. Literal Bilangan
Literal bilangan bulat tergolong sebagai long. Simbol L dapat ditambahkan dibelakang
bilangan, misal : 4L atau -4L.
Suatu bilangan bulat dapat dinyatakan dalam bentuk dalam bentuk oktal dengan diawali
dengan angka 0 atau heksadesimal dengan diawali dengan angka 0x
Misal :
//berkas : literal.java
public class literal
{
public static void main (String[] args)
{
System.out.println("Bilangan Desimal :" + 17);
System.out.println("Bilangan Oktal :" + 017);
System.out.println("Bilangan Heksadesimal :" + 0x17);
}
}

Hasil : Bilangan Desimal :17 Hasil konversi Oktal 17 ke Desimal


Bilangan Oktal :15
Bilangan Heksadesimal :23

Pemrograman
JAVA
3

Literal titik mengambang digunakan untuk menyatakan bilangan real. Notasi yang
digunakan adalah tanda titik yang menyatakan pecahan. Selain itu simbol e atau E biasa
digunakan untuk menyatakan eksponensial.
Contoh :
LITERAL KETERANGAN
0.1 Berarti 0,1
.5 Berarti 0,5
2e45 Identik dengan 2 x 10 pangkat 45
2E-45 Identik dengan 2 x 10 pangkat -45
2e45F Menghasilkan bilangan bertipe float

2. Literal Karakter
Ditulis dalam tanda petik tunggal.
Contoh :
LITERAL KETERANGAN
‘a’ Karakter huruf a
‘$’ Karakter simbol $
‘4’ Karakter angka 4

Pada Java terdapat istilah kode escape yaitu kode karakter yang penulisannya diawali
dengan simbol \ (backslash)
KODE KETERANGAN
\b Backspace
\f Formfeed
\n Newline
\r Carriage return
\t Tab
\’ Petik tunggal
\” Petik ganda
\ddd Oktal (dd bernilai 0 s/d 377)
\xdd Heksadesimal (dd bernilai 1 s/d FF)

Java tidak mengenal \a (bel) dan \v (tab). Untuk menampilkan karakter Unicode
digunakan \udddd

3. Literal Boolean
Literal yang hanya dapat berupa kata kunci TRUE atau FALSE

4. Literal String
String berarti deretan atau kombinasi sejumlah karakter yang ditulis dalam tanda petik
ganda, misal : “Aditya Fajar Ramadhan”
“ 2 x 2 = 4”
“” (tanda petik ganda dua kali tanda spasi yang berarti string kosong)
Contoh :
//berkas : literalstring.java
public class literalstring
{
public static void main (String[] args)
{
System.out.println("Aditya Fajar\nRamadhan");
System.out.println("Sekar\tAyu");
System.out.println("Belajar \'JAVA\'");
}
}
Pemrograman
JAVA
4

Hasil : Aditya Fajar


Ramadhan
Sekar Ayu
Belajar 'JAVA'

5. Definisi Konstanta
Definisi konstanta dalam Java dengan menggunakan kata kunci final.
Misalnya final double PI = 3.14;
Contoh :
//berkas : lingkaran.java
public class lingkaran
{
public static void main (String[] args)
{
final double PI = 3.14;
double jarijari = 10;
double luas, keliling;
luas = PI * jarijari * jarijari;
keliling = 2 * PI * jarijari;
System.out.println("Panjang Jari-jari = "+ jarijari);
System.out.println("Luas Lingkaran = "+ luas);
System.out.println("Keliling Lingkaran = "+ keliling);
}
}

Hasil : Panjang Jari-jari = 10.0


Luas Lingkaran = 314.0
Keliling Lingkaran = 62.800000000000004

VARIABEL
Variabel menyatakan suatu lokasi di dalam memori komputer yang digunakan untuk
menyimpan suatu nilai dimana nilai tersebut dapat diubah. Variabel dapat dibayangkan
sebagai suatu kotak yang dapat diisi dan pada saat lain dapat diubah.

Variabel dalam program Java perlu dideklarasikan. Bentuk pendeklarasian variabel dengan
menggunakan perintah : tipe namaVar [,namaVarI]
Contoh : int jumlahBarang;
float bilPecahan;
char huruf;
string kalimat;
float nilai1, nilai2, nilai3;

Untuk memberikan nilai terhadap variabel adalah dengan menggunakan tanda =. Nilai yang
diberikan dapat berupa suatu literal, variabel atau ekspresi yang melibatkan operator.
Contoh : jumlahBarang=10;
bilReal = 2.5f; (bilangan real diisi dengan 2,5 bertipe float)
huruf = ‘A’;
kalimat=”Halo, Annissa...”;

Pemberian nilai juga dapat dilakukan saat variabel dideklarasikan.


Bentuk penulisannya : tipe variabel = nilaiAwal;
misal : double jarijari=10;

Java memperkenankan penugasan sejumlah variabel dengan sebuah nilai, misalnya


x=y=z=0;
Pemrograman
JAVA
5

KOMENTAR
Komentar biasa dipakai dalam program dengan tujuan untuk memberikan penjelasan atau
informasi kepada pembaca program. Komentar dapat berupa nama pembuat program,
tanggal pembuatan program, fungsi program ataupun penjelasan untuk bagian tertentu
dalam program.

Untuk memberikan komentar digunakan tanda :


// untuk komentar satu baris

/* komentar baris pertama


komentar baris kedua */

Komentar terkadang digunakan untuk mematikan bagian program tertentu agar tidak
dianggap sebagai perintah dan sering digunakan untuk pengujian program
Contoh :
/* ----------------------------------------------
Program menghitung Luas dan Keliling Lingkaran
Dibuat oleh : Yudi Irawan
Tanggal : 8-8-2008
---------------------------------------------- */

//nama file berkas : komentar.java


public class komentar
{
public static void main (String[] args)
{
final double PI = 3.14; // pendefinisian konstanta
double jarijari = 10;
double luas, keliling;
luas = PI * jarijari * jarijari; //menghitung luas
keliling = 2 * PI * jarijari; // menghitung keliling
System.out.println("Panjang Jari-jari = "+ jarijari);
System.out.println("Luas Lingkaran = "+ luas);
System.out.println("Keliling Lingkaran = "+ keliling);
}
}

TUGAS
1. Buat essay mengenai Unicode berikut tabel kodenya
2. Buat program untuk menghitung Diskon dan Harga Bayar jika diketahui :
Pembelian = Rp. 1.000.000,-
Diskon = Rp. .... (10% )
Harga Bayar = Rp. .... (Pembelian-Diskon)

3. Buat program untuk menampilkan tulisan sebagai berikut :


“Anda diundang rapat hari Jum’at / pukul 14.00 WIB”

4. Buat program untuk mencari nilai Determinan dengan rumus :


D = b2 – 2 ac, jika diketahui nilai a=1, b=3 dan c= 2,5

Pemrograman
JAVA
6

Jawab :
Soal 2 :
//nama file berkas : diskon.java
public class diskon
{
public static void main (String[] args)
{
float beli= 1000000;
double diskon;
double bayar;
diskon = 0.1 * beli;
bayar = beli - diskon;
System.out.println("Jumlah Pembelian = Rp."+ beli);
System.out.println("Diskon = Rp. "+ diskon);
System.out.println("Harga Bayar = Rp. "+ bayar);
}
}

Soal 3 :
//nama file berkas : undangan.java
public class undangan
{
public static void main (String[] args)
{
System.out.println("\"Anda diundang rapat hari Jum'at / pukul 14.00 WIB\"");

}
}

Soal 4 :
//berkas : determinan.java
public class determinan
{
public static void main (String[] args)
{
float D;
int a=1;
int b=3;
float c=2.5F;
D = (b*b)-(2*a*c);
System.out.println("Nilai a=1, b=3 dan c=2,5");
System.out.println("Determinan = "+ D);
}
}

Pemrograman
JAVA
1

OPERATOR DAN EKSPRESI

EKSPRESI
Ekspresi atau ungkapan adalah suatu bentuk yang menghasilkan suatu nilai . Dalam bentuk
sederhana, ekspresi berupa sebuah literal atau variabel. dalam bentuk yang lebih kompleks,
suau ekspresi melibatkan operator dan operand, misal :
1 + 2 merupakan suatu ekpresi yang menghasilkan nilai 3. Dalam hal ini 1 dan 2 bertindak
sebagai operand dan + berperan sebagai operator.

OPERATOR
Operator adalah simbol atau karakterkhusus (misal + dan *) yang digunakan dalam suatu
ekspresi untuk menghasilkan suatu nilai. Java menyediakan sejumlah kelompok operator,
meliputi :
ƒ operator aritmatika
ƒ operator penambahan dan pengurangan
ƒ operator penugasan
ƒ operator pembandingan
ƒ operator logika
ƒ operator bit

Menurut jumlah operand yang dilibatkan, operator diklasifikasikan menjadi :


ƒ operator unary, yaitu operator yang hanya melibatkan satu operand, misalnya -4
ƒ operator binary, yaitu operator yang hanya melibatkan dua buah operand, misalnya 1+2
ƒ operator tertiary, yaitu operator yang hanya melibatkan tiga buah operand, misalnya
a?b:c

1. Operator Aritmatika
Operator ini digunakan untuk melakukan perhitungan aritmatika yang berlaku untuk
bilangan bulat maupun titik mengambang
OPERATOR KETERANGAN
+ Penjumlahan
Tanda Plus
– Pengurangan
Tanda Minus
* Perkalian
/ Pembagian
% Sisa pembagian

Operator *, / dan % mempunyai prioritas yang sama tetapi lebih tinggi daripada + atau –
yang berkedudukan sebagai operator binary.
Contoh :
//berkas : aritmatika.java
public class aritmatika
{
public static void main (String[] args)
{
System.out.println("1 + 2 * 3 = "+ (1+2*3));
System.out.println("13 / 5 = "+ (13/5));
System.out.println("13 / 5.2 = "+ (13/5.2));
System.out.println("13 % 5 = "+ (13%5));
}
}
Pemrograman
JAVA
2

Hasil : 1 + 2 * 3 = 7
13 / 5 = 2
13 / 5.2 = 2.5
13 % 5 = 3

2. Operator Penambahan dan Pengurangan


Pada Java, Anda dapat memberikan pernyataan sebagai berikut :
x = x+1; yang berarti isi variabel x dinaikkan sebesar 1
y = y – 1; yang berarti isi variabel y berkurang sebesar 1

Operasi di atas seringkali dilaksanakan dengan menggunakan operator ++ atau --,


misalnya :
y = x++;
y = y--;

Operator ++ dan – dapat dikenakan pada bilangan bulat maupun bilangan real.
NILAI SEMULA PERNYATAAN HASIL Y HASIL X
5 Y = X++; 5 6
5 Y = ++X; 6 6
5 Y = X--; 5 4
5 Y = --X 4 4
Contoh :
//berkas : penambahan.java
public class penambahan
{
public static void main (String[] args)
{
int x, y;
x = 5;
System.out.println("Nilai awal x = "+ x);
y = 8 - x++;
System.out.println("Operasi y = 8 - x++ akan menghasilkan nilai x = "
+ x +" dan y= "+ y);

x = 5;
System.out.println("Nilai awal x = "+ x);
y = 8 - ++x;
System.out.println("Operasi y = 8 - ++x akan menghasilkan nilai x = "
+ x +" dan y= "+ y);

x = 5;
System.out.println("Nilai awal x = "+ x);
y = 8 - x--;
System.out.println("Operasi y = 8 - x-- akan menghasilkan nilai x = "
+ x +" dan y= "+ y);

x = 5;
System.out.println("Nilai awal x = "+ x);
y = 8 - --x;
System.out.println("Operasi y = 8 - --x akan menghasilkan nilai x = "
+ x +" dan y= "+ y);
}
}

Pemrograman
JAVA
3

Hasil :
Nilai awal x = 5
Operasi y = 8 - x++ akan menghasilkan nilai x = 6 dan y= 3
Nilai awal x = 5
Operasi y = 8 - ++x akan menghasilkan nilai x = 6 dan y= 2
Nilai awal x = 5
Operasi y = 8 - x-- akan menghasilkan nilai x = 4 dan y= 3
Nilai awal x = 5
Operasi y = 8 - --x akan menghasilkan nilai x = 4 dan y= 4

3. Operator Penggabungan
Pada Java, operator + dapat juga dikenakan pada string. Gunanya adalah untuk
menggabungkan dua buah string menjadi sebuah string baru.
Misal :
“Selamat Belajar” + “ Java” akan menghasilkan “Selamat Belajar Java”
"Bilangan :" +8 akan menghasilan "Bilangan :8"

Contoh :
//berkas : string.java
public class string
{
public static void main (String[] args)
{
System.out.println("Selamat Belajar"+ " Java");
System.out.println("Bilangan : "+ 8);
}
}

Hasil : Selamat Belajar Java


Bilangan : 8

4. Operator Bit
Java mendukung 7 buah operator yang beroperasi pada level bit (0 dan 1) yaitu :
ƒ & (DAN untuk biner)
ƒ | (ATAU untuk biner)
ƒ ^ (ATAU EKSKLUSIF)
ƒ ~ (NOT untuk biner)
ƒ << (geser kiri)
ƒ >> (geser kanan)
ƒ >>> (geser kanan tak bertanda)

Contoh :
//berkas : bit.java
public class bit
{
public static void main (String[] args)
{
System.out.println("Hasil dari 9 & 10 = "+ (9&10));
System.out.println("Hasil dari 9 | 10 = "+ (9|10));
System.out.println("Hasil dari ~10 = "+ (~10));
System.out.println("Hasil dari 29 << 1 = "+ (29<<1));
System.out.println("Hasil dari 29 >> 1 = "+ (29>>1));
System.out.println("Hasil dari 29 >>> 1 = "+ (29>>>1));
}
}
Pemrograman
JAVA
4

Hasil : Hasil dari 9 & 10 = 8


Hasil dari 9 | 10 = 11
Hasil dari ~10 = -11
Hasil dari 29 << 1 = 58
Hasil dari 29 >> 1 = 14
Hasil dari 29 >>> 1 = 14

5. Operator Penugasan
Berguna untuk memberikan nilai ke suatu variabel
OPERATOR KETERANGAN
= Pemberian nilai
+= Penambahan bilangan
-= Penguranganbilangan
*= Pengalian bilangan
/= Pembagian bilangan
%= Pemerolehan sisa bagi
&= Y &= X identik dengan Y=Y&X
^= Y ^= X identik dengan Y=Y^X
|= Y |= X identik dengan Y=Y|X
<<= Y <<= X identik dengan Y=Y<<X
>>= Y >>= X identik dengan Y=Y>>X
>>>= Y >>>= X identik dengan Y=Y>>>X

Contoh :
//berkas : penugasan.java
public class penugasan
{
public static void main (String[] args)
{
float a=5f;
System.out.println("Nilai a=5");
System.out.println("Nilai a +=2 adalah "+ (a+=2));
a=5f;
System.out.println("Nilai a -=2 adalah "+ (a-=2));
a=5f;
System.out.println("Nilai a /=2 adalah "+ (a/=2));
a=5f;
System.out.println("Nilai a *=2 adalah "+ (a*=2));
a=5f;
System.out.println("Nilai a %=2 adalah "+ (a%=2));
}
}

Hasil : Nilai a=5


Nilai a +=2 adalah 7.0
Nilai a -=2 adalah 3.0
Nilai a /=2 adalah 2.5
Nilai a *=2 adalah 10.0
Nilai a %=2 adalah 1.0

Operator dalam suatu ekspresi memiliki prioritas pekerjaan yang berbeda-beda. Itulah
sebabnya jika terdapat ekspresi yang melibatkan sejumlah operator, pekerjaannya
ditentukan oleh prioritas masing-masing.
Pemrograman
JAVA
5

PRIORITAS OPERATOR
Tertinggi . [] ()
++ -- ! ~ instanceof
new (type) ekspresi
- (tanda negatif) + (tanda positif) ~ !
* / %
+ -
<< >> >>>
-e -r
< <= > >=
== !=
&
^
|
&&
||
?:
Terendah = += -= *= /= %= ^=
&= |= <<= >>= >>>=

PENGARAH TIPE (TYPE-CASTING)


Adakalanya diperlukan langkah untuk mengubah suatu tipe data menjadi tipe data lain.
Proses untuk mengubah suatu tipe ke tipe yang lain.

Bentuk penulisan : (tipe_data) data


Misal : int i = 65;
char huruf;
huruf = char(i);

Agar tidak ada nilai yang hilang, tipe tujuan harus memiliki ukuran yang lebih besar atau
paling tidak sama dengan ukuran tipe sumber.
TIPE SUMBER TIPE TUJUAN
byte short, char, int, long, float, double
short int, long, float, double
char int, long, float, double
int long, float, double
long long, double
float double

Contoh :
//berkas : tipecast.java
public class tipecast
{
public static void main (String[] args)
{
int awal=28;
double akhir;
akhir = (double) awal;
System.out.println("Nilai Awal = "+ awal);
System.out.println("Nilai Sesudah Konversi = "+ akhir);
}
}

Pemrograman
JAVA
6

Hasil :
Nilai Awal = 28
Nilai Sesudah Konversi = 28.0

TUGAS
1. Buatlah program untuk menghitung : Keliling, Luas Permukaan dan Isi dari sebuah bola
dengan rumus :
ƒ Keliling = 2 π r
ƒ Luas Permukaan = 4/3 π r3
ƒ Isi = 4 π r2

Jika diketahui nilai r = 314 !

2. Buat program untuk mencari hasil operasi bilangan :


25 (10) + 25 (10) = … (8)
2 (10) x 5 (10) = …(16)
81 (10) / 9 (10) = …(8)

3. Perusahaan telepon di kota XYZ mempunyai tarif Rp. 250,- per pulsa. Setiap langganan
dikenakan biaya langganan sebesar Rp. 20.000,- per bulan. Buatlah program untuk
menghitung tagihan langganan dengan menggunakan konstanta dengan keluaran
sebagai berikut :
Nomor Pelanggan : 001
Nama Pelanggan : Aditya Ramadhan
Bulan Tagihan : April
Banyaknya Pulsa Pemakaian : 110
Jumlah Tagihan Bulan April adalah sebesar Rp. 47500.0

Pemrograman
JAVA
1

OPERASI MASUKAN DAN KELUARAN

STREAM STANDAR
Pada saat program Java dijalankan, terdapat tiga buah stream yang dengan sendirinya
disediakan Java, yaitu :
1. System.in
berguna untuk menangani pembacaan dari keyboard (standar input)
2. System.out
berguna untuk mengirimkan keluaran ke layar (standar output)
3. System.err
digunakan untuk mengirimkan kesalahan (didalam system Unix dikenal dengan standar
error)

MENAMPILKAN TEKS
Untuk menampilkan teks ke layar digunakan metode println() yang merupakan milik
System.out. Selain itu terdapat metode print() yang tidak menambahkan newline sehingga
tidak terjadi perpindahan baris.
Contoh :
//nama file berkas : cetak.java
public class cetak
{
public static void main (String[] args)
{
System.out.print("Belajar Bahasa Java");
System.out.println(" Itu Mudah");
System.out.print("Baris ini tercetak dibawah");
}
}

Hasil :
Belajar Bahasa Java Itu Mudah
Baris ini tercetak dibawah

MEMBACA DARI KEYBOARD


Sayang sekali Java tidak mendukung perintah sederhana untuk memasukkan data dari
keyboard. Satu-satunya pernyataan sederhana yang tersedia adalah membaca sebuah
karakter dengan menggunakan blok try ... catch.

Oleh karena itu perlu dibuat suatu rutin yang memudahkan pembacaan data dari keyboard
dimana tombol enter dianggap sebagai akhir masukan. Stream berhubungan dengan proses
untuk membaca data dari suau sumber atau mengirimkan data ke suatu tujuan. Sebagai
contoh, untuk menampilkan informasi ke layar dengan menggunakan System.out.println()
ataupun dengan System.err.println() untuk menampilkan pesan kesalahan .

Pada Java terdapat banyak kelas yang berhubungan dengan stream, namun secara prinsip
terdapat dua buah kelas yang menjadi dasar bagi kelas-kelas lain yang berhubungan
dengan stream. yaitu kelas InputStream dan OutputStream.

Untuk menggunakan stream seringkali Anda diharuskan untuk meng-impor dengan


memberikan pernyataan import java.io.*. Hal ini disebabkan kebanyakan kelas yang
berhubungan dengan stream berada pada paket java.io

Pemrograman JAVA
2

Contoh :
//nama file berkas : masuk.java
import java.io.*;
public class masuk
{
public static String baca()
{
int karakter;
String str="";
boolean selesai = false;
while (!selesai)
{
try
{
karakter = System.in.read();
if (karakter < 0 || (char) karakter =='\n')
selesai = true;
else if ((char) karakter != '\r')
str = str + (char) karakter;
}
catch(java.io.IOException e)
{
System.err.println("Ada Kesalahan...!");
selesai=true;
}
}
return str;
}
}

Simpan program dengan nama masuk.java dan disimpan pada direktori tempat Anda
menyimpan program java. Selanjutnya kompilasi program sehingga terbentuk masuk.class
yang akan digunakan oleh program yang memerlukan pemasukan data dari keyboard.
Selanjutnya buat program untuk memasukkan data dengan menggunakan kelas baru.
Contoh :
//nama file berkas : MasukanNama.java
public class MasukanNama
{
public static void main(String[] args)
{
System.out.print("Nama anda ? ");
String nama=masuk.baca();
System.out.print("Halo..."+ nama + " Apa Kabar ?");
}
}

Hasil :
Nama anda ? Yudi Irawan
Halo...Yudi Irawan Apa Kabar ?

Metode lain yang digunakan adalah read() dengan tujuan untuk membaca sebuah byte data
dari stream masukan.
Contoh :
//nama file berkas : bacastring.java
import java.io.*;
Pemrograman JAVA
3

public class bacastring


{
public static void main (String[] args)
{
int karakter;
String str="";
boolean selesai = false;
System.out.print("Ketik suatu kalimat : ");
while (!selesai)
{
try
{
karakter = System.in.read();
if (karakter < -1 || (char) karakter =='\n')
selesai = true;
else if ((char) karakter != '\r')
str = str + (char) karakter;
}
catch(java.io.IOException i)
{
System.err.println("Ada Kesalahan...!");
selesai=true;
}
}
System.out.println("Kalimat yang Anda ketik adalah : " + str);
}
}

Hasil :
Ketik suatu kalimat : Yudi Irawan
Kalimat yang Anda ketik adalah : Yudi Irawan

Pada program di atas, pembacaan terhadap standar input dilakukan secara terus-menerus
selama hasil read() tidak bernilai -1 (variabel karakter), tidak berupa kode untuk tombol
enter (dinyatakan dengan \n) atau terjadi suatu eksepsi. Pengendalian untuk keluar dari
pengulangan dilakukan dengan variabel selesai dimana pengulangan terus dilakukan
selama variabel bernilai false.

Selain itu dapat pula digunakan metode DataInputStream yang digunakan untuk menangani
proses pemasukan data dari input-device.
Contoh :
//nama file berkas : EntryData.java
import java.io.*;
public class EntryData
{
public static void main(String[] args) throws Exception
{
DataInputStream karakter=new DataInputStream (System.in);
System.out.print("Masukkan N.P.M : ");
String npm=karakter.readLine();
System.out.print("Masukkan Nama Anda : ");
String nama=karakter.readLine();
System.out.println("Halo..."+nama +" NPM Anda adalah : "+npm);
}
}
Pemrograman JAVA
4

Hasil :
Masukkan N.P.M : 10494570
Masukkan Nama Anda : Yudi Irawan Chandra
Halo...Yudi Irawan Chandra NPM Anda adalah : 10494570

Variabel karakter adalah objek yang digunakan untuk menampung data dari keyboard
menggunakan metode readLine().

Pada bagian ini, kita akan menggunakan class BufferedReader yang berada di package
java.io untuk mendapatkan input dari keyboard.
Contoh :
import java.io.*;
public class input
{
public static void main( String[] args ) throws Exception
{
BufferedReader kata = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Masukkan Kode Bagian :");
String kode = kata.readLine();
System.out.print("Masukkan Nama Anda :");
String nama = kata.readLine();
System.out.println("Hello " + nama +" Kode bagian Anda : "+kode);
}
}

Hasil :
Masukkan Kode Bagian :A
Masukkan Nama Anda :Yudi Irawan Chandra
Hello Yudi Irawan Chandra Kode bagian Anda : A

MENGGUNAKAN JOPTIONPANE
Cara lain untuk mendapatkan input dari user adalah dengan menggunakan class
JoptionPane yang didapatkan dari javax.swing package. JoptionPane memudahkan
memunculkan dialog box standard yang memberikan kepada user sebuah nilai atau
menginformasikan sesuatu.
Contoh :
import javax.swing.JOptionPane;

public class input1


{
public static void main(String[] args)
{
String input1;
String input2;
int nilai1;
int nilai2;
int jumlah, kali;

input1 = JOptionPane.showInputDialog("Masukan angka pertama");


input2 = JOptionPane.showInputDialog("Masukan angka Kedua");

nilai1 = Integer.parseInt(input1);
nilai2 = Integer.parseInt(input2);

Pemrograman JAVA
5

jumlah = nilai1 + nilai2;


kali = nilai1 * nilai2;

JOptionPane.showMessageDialog(null,"Hasil Penjumlahan"
+jumlah,"Jumlah",JOptionPane.PLAIN_MESSAGE);

JOptionPane.showMessageDialog(null,"Hasil Perkalian "


+kali,"Perkalian",JOptionPane.PLAIN_MESSAGE);
}
}

Hasil :

MENGKONVERSI STRING KE TIPE YANG LAIN


Rutin untuk membaca data dari keyboard menghasilkan data berkelas String sehingga
apabila ingin dirubah ke tipe data lain digunakan metode valueOf misaknya :
ƒ Integer.valueOf(nilaiString).intValue() digunakan untuk mengkonversi string ke tipe int
ƒ Double.valueOf(nilaiString).doubleValue() digunakan untuk mengkonversi string ke tipe
double
ƒ Float.valueOf(nilaiString).floatValue() digunakan untuk mengkonversi string ke tipe float

Contoh :
//nama file berkas : jumlah.java
import java.io.*;
public class jumlah
{
public static void main(String[] args) throws Exception
{
DataInputStream karakter=new DataInputStream (System.in);
System.out.print("Nilai ke-1 : ");
String nil1=karakter.readLine();
int bnil1=Integer.valueOf(nil1).intValue();

System.out.print("Nilai ke-2 : ");


String nil2=karakter.readLine();
int bnil2=Integer.valueOf(nil2).intValue();

int jumlah=bnil1+bnil2;
System.out.println("Jumlah bilangan adalah : "+jumlah);
Pemrograman JAVA
6

}
}

Hasil :
Nilai ke-1 : 12
Nilai ke-2 : 18
Jumlah bilangan adalah : 30

TUGAS :
1. Buat program untuk menghitung konversi suhu Celcius ke Fahrenheit dan Reamur
dengan menggunakan input keyboard untuk nilai Celciusnya.
Rumus : F = (9/5)*C + 32 dan R = 4/5 * C

2. Buat program untuk menghitung nilai akhir dengan rumus NA = 20% dari nilai tugas +
30% dari nilai mid + 50% nilai final

3. Buatlah sebuah program yang akan menghitung isi kotak dan luas permukaan kotak.
dengan rumus :
Isi = Panjang x Lebar x Tinggi
Luas permukaan = 2x(PanjangxLebar) + 2x(PanjangxTinggi) + 2x(LebarxTinggi)

Pemrograman JAVA
1

EKSPRESI KONDISI DAN PERNYATAAN


BERKONDISI

EKSPRESI BOOLEAN
Merupakan ekspresi yang menghasilkan nilai yang dapat berupa benar (true) atau salah
(false). Ekspresi ini biasa digunakan pada pernyataan berkondisi maupun pernyataan
pengulangan.

OPERATOR PEMBANDING
Operator ini disebut juga dengan operator opreasional yang digunakan untuk melakukan
pembandingan.
OPERATOR MAKNA
== Kesamaan
!= Ketidaksamaan
> Lebih dari
< Kurang dari
>= Lebih dari atau sama dengan
<= Kurang dari atau sama dengan

Contoh :
//nama file berkas : relasi.java
public class relasi
{
public static void main(String[] args)
{
int a=1;
int b=2;
System.out.println("Nilai a=1 dan b=2");
System.out.println("Apakah a == b ? "+(a==b));
System.out.println("Apakah a != b ? "+(a!=b));
System.out.println("Apakah a < b ? "+(a<b));
System.out.println("Apakah a > b ? "+(a>b));
System.out.println("Apakah a <= b ? "+(a<=b));
System.out.println("Apakah a >= b ? "+(a>=b));
}
}

Hasil :
Nilai a=1 dan b=2
Apakah a == b ? false
Apakah a != b ? true
Apakah a < b ? true
Apakah a > b ? false
Apakah a <= b ? true
Apakah a >= b ? false

OPERATOR LOGIKA
Digunakan untuk membentuk suatu keadaan logika (boolean) berdasarkan sebuah atau dua
buah ekspresi kondisi (tergantung operator logika yang digunakan)

Pemrograman
JAVA
2

OPERATOR MAKNA
&& dan
|| atau
! bukan

Contoh :
//nama file berkas : logika.java
public class logika
{
public static void main(String[] args)
{
char huruf=' ';
System.out.print("Masukkan sebuah karakter : ");
try
{
huruf=(char) System.in.read();
}
catch (java.io.IOException e)
{
}
System.out.print("Apakah karakter "+huruf+" berupa angka ? ");
System.out.println((huruf >='0' && huruf <= '9'));

System.out.print("Apakah karakter "+huruf+" berupa huruf ? ");


System.out.println((huruf >='A' && huruf <= 'Z' || huruf >='a' && huruf <= 'z'));
}
}

Hasil :
Masukkan sebuah karakter : Y
Apakah karakter Y berupa angka ? false
Apakah karakter Y berupa huruf ? true

PERNYATAAN IF
Merupakan salah satu bentuk pernyataan berkondisi yang berguna untuk pengambilan
keputusan terhadap dua buah kemungkinan.
ƒ Pernyataan if sederhana
Bentuk penulisan : if (kondisi)
{
blok pernyataan yang dijalankan jika kondisi benar;
}

Di dalam tanda { } dapat diletakkan pernyataan-pernyataan yang akan dijalankan


sekiranya kondisi if bernilai benar. Jika hanya terdapat satu pernyataan maka tanda { }
dapat dihilangkan.
Contoh :
//nama file berkas : kondisi1.java
import java.io.*;
public class kondisi1
{

public static void main(String[] args) throws Exception


{
DataInputStream nilai=new DataInputStream (System.in);
Pemrograman
JAVA
3

System.out.print("Total Belanja Anda Rp. : ");


String snilai=nilai.readLine();
double total=Double.valueOf(snilai).doubleValue();

double diskon=0;
if (total >= 1000000)
diskon = 0.1 * total;

System.out.println("Diskon Anda Rp. : "+diskon);


System.out.println("Total Bayar Rp. : "+(total-diskon));
}
}

Hasil :
Total Belanja Anda Rp. : 1000000
Diskon Anda Rp. : 100000.0
Total Bayar Rp. : 900000.0

ƒ Pernyataan if else if
Bentuk penulisan :
if (kondisi)
{
blok pernyataan jika kondisi benar;
}
else
{
blok pernyataan jika kondisi salah;
}

Contoh :
//nama file berkas : kondisi2.java
import java.io.*;
public class kondisi2
{

public static void main(String[] args) throws Exception


{
DataInputStream nilai=new DataInputStream (System.in);
System.out.print("Total Belanja Anda Rp. : ");
String snilai=nilai.readLine();
double total=Double.valueOf(snilai).doubleValue();

double diskon;
if (total >= 1000000)
diskon = 0.1 * total;
else
diskon = 0;

System.out.println("Diskon Anda Rp. : "+diskon);


System.out.println("Total Bayar Rp. : "+(total-diskon));
}
}

Pemrograman
JAVA
4

Hasil :
Total Belanja Anda Rp. : 990000
Diskon Anda Rp. : 0.0
Total Bayar Rp. : 990000.0

ƒ Pernyataan if bersarang
yaitu suatu if berada dalam pernyataan if.
Contoh :
//nama file berkas : kondisi3.java
import java.io.*;
public class kondisi3
{

public static void main(String[] args) throws Exception


{
DataInputStream nilai=new DataInputStream (System.in);
System.out.print("Masukkan Nilai Ujian : ");
String snilai=nilai.readLine();
int ujian=Integer.valueOf(snilai).intValue();

char skor;
if (ujian >= 90)
skor ='A';
else
if (ujian >= 80)
skor ='B';
else
if (ujian >= 60)
skor ='C';
else
if (ujian >= 50)
skor ='D';
else
skor ='E';

System.out.println("Skor Anda : "+skor);


}
}

Hasil :
Masukkan Nilai Ujian : 75
Skor Anda : C

OPERATOR BERKONDISI
Operator ini dikenal dengan nama operator ternary karena melibatkan tiga buah argumen.
Bentuk penulisan : ekspresi_kondisi ? nilai1(jika true) : nilai2(jika false)
Contoh :
//nama file berkas : kondisi4.java
import java.io.*;
public class kondisi4
{

public static void main(String[] args) throws Exception


{
DataInputStream nilai=new DataInputStream (System.in);
Pemrograman
JAVA
5

System.out.print("Masukkan Nilai-1 : ");


String snilai1=nilai.readLine();
int nilai1=Integer.valueOf(snilai1).intValue();

System.out.print("Masukkan Nilai-2 : ");


String snilai2=nilai.readLine();
int nilai2=Integer.valueOf(snilai2).intValue();

int hasil=nilai1 > nilai2 ? nilai1 : nilai2;


System.out.println("Nilai terbesar adalah "+hasil);
}
}

Hasil :
Masukkan Nilai-1 : 60
Masukkan Nilai-2 : 80
Nilai terbesar adalah 80

PERNYATAAN SWITCH
Pernyataan ini memungkinkan untuk melakukan sejumlah tindakan berbeda terhadap
kemungkinan nilai.
Bentuk penulisan :
switch(ekspresi)
{
case nilaiSatu :
pernyataan-1;
break;
case nilaiDua :
pernyataan-2;
break;
case nilaiTiga :
pernyataan-3;
break;
...
default :
pernyataan-n;
}

Pernyataan break memegang peran yang sangat penting karena membuat eksekusi
dilanjutkan ke pernyataan yang terletak sesudah tanda penutup switch ( } ). Jika tidak ada
ekspresi case yang cocok, maka pernyataan setelah default akan dijalankan.
Contoh :
//nama file berkas : switch1.java
import java.io.*;
public class switch1
{

public static void main(String[] args) throws Exception


{
DataInputStream nilai=new DataInputStream (System.in);

System.out.print("Masukkan Kode Hari [1-7] : ");


String snilai1=nilai.readLine();
int kode=Integer.valueOf(snilai1).intValue();
Pemrograman
JAVA
6

switch(kode)
{
case 1 :
System.out.println("Pilihan 1, Hari SENIN");
break;
case 2 :
System.out.println("Pilihan 2, Hari SELASA");
break;
case 3 :
System.out.println("Pilihan 3, Hari RABU");
break;
case 4 :
System.out.println("Pilihan 4, Hari KAMIS");
break;
case 5 :
System.out.println("Pilihan 5, Hari JUMAT");
break;
case 6 :
System.out.println("Pilihan 6, Hari SABTU");
break;
case 7 :
System.out.println("Pilihan 7, Hari MINGGU");
break;
default :
System.out.println("Pilihan Anda Salah...! \nUlangi Lagi");
}
}
}

Hasil :
Masukkan Kode Hari [1-7] : 8
Pilihan Anda Salah...!
Ulangi Lagi

TUGAS :
1. Buat program untuk menentukan suatu bilangan GENAP atau GANJIL
Input :
Masukkan sebuah bilangan bulat : 6
Output :
Nilai 6 habis dibagi 2
Karena itu termasuk bilangan GENAP

2. Buat Program untuk menghasilkan input/output sebagai berikut :


Menu Restaurant Mc'Cihuy
=======================================
1. Nasi Goreng Informatika Rp. 5.000,-
2. Nasi Soto Ayam Internet Rp. 7.000,-
3. Gado-gado Disket Rp. 4.500,-
4. Bubur Ayam LAN Rp. 4.000,-
=======================================

Masukkan Pilihan Anda... :1

Pilihan No.1 Nasi Goreng Informatika Rp.5.000,-


Pemrograman
JAVA
7

3. Perusahaan Susu Cap Nona ingin membuat sistem penjualan susu dengan
tampilan sebagai berikut :

Masukkan Kode Susu (1-3) : 2


Masukkan Jumlah Pembelian : 5
Masukkan Ukuran (B/S/K) : S

Susu Indomilk
Harga Susu Rp. 4000.00
Jumlah Pembelian Rp. 20000.00

Untuk daftar harga produk susu dapat dilihat pada tabel di bawah ini :

Kode Susu Nama Produk Ukuran Harga


1 Dancow B = Besar Rp. 10.000,-
S = Sedang Rp. 4.250,-
K = Kecil Rp. 2.100,-
2 Indomilk B = Besar Rp. 8. 500,-
S = Sedang Rp. 4.000,-
K = Kecil Rp. 2.025,-
3 Sustacal B = Besar Rp. 17.000,-
S = Sedang Rp. 14.500,-
K = Kecil Rp. 8.300,-

Buat program dengan menggunakan nested switch !

Pemrograman
JAVA
1

PENGULANGAN PROSES

Untuk melakukan pengulangan terhadap suatu proses, Java menyediakan pernyataan :


ƒ while
ƒ do ... while
ƒ for

Berkaitan dengan pengulangan proses, Java juga mnyediakan pernyataan break untuk
mengakhiri pengulangan dan continue untuk melakukan pengulangan kembali

PERNYATAAN WHILE
Pernyataan ini berguna untuk melakukan proses yang berulang.
Bentuk pernyataan :
while (kondisi)
{
blok pernyataan;
}

Diagram :

salah
ekspresi

benar

pernyataan

Blok pernyataan akan dijalankan secara terus menerus selama kondisi bernilai benar.
Contoh :
//nama file berkas : ulang.java
public class ulang
{
public static void main (String[] args)
{
int jumlah=1;
while (jumlah<=5)
{
System.out.println("Putaran ke-"+jumlah);
jumlah++;
}
}
}

Hasil :
Putaran ke-1
Putaran ke-2
Putaran ke-3
Putaran ke-4
Putaran ke-5
Pemrograman
JAVA
2

PERNYATAAN DO…WHILE
Pernyataan ini menyerupai pernyataan while tetapi blok pernyataan yang terdapat dalam
do..while paling tidak dieksekusi sekali.
Bentuk pernyataan :
do
{
blok pernyataan;
} while (kondisi);

Diagram :

pernyataan

ekspresi
benar
salah

Contoh :
//nama file berkas : ulang1.java
public class ulang1
{
public static void main (String[] args)
{
int jumlah=11;
do
{
System.out.println("Putaran ke-"+jumlah);
jumlah++;
} while (jumlah<=5);
System.out.println("Selesai…");
}
}

Hasil :
Putaran ke-11
Selesai…

PERNYATAAN FOR
Pernyataan ini juga berfungsi untuk menangani pengulangan.
Bentuk penulisan :
for (inisialisasi ; kondisi ; penaikan/penurunan)
{
blok pernyataan;
}

Pada pernyataan ini :


ƒ Bagian inisialisasi digunakan untuk memberikan nilai awal kepada variabel yang
digunakan untuk mengontrol pengulangan
ƒ Bagian kondisi digunakan untuk mengontrol pengulangan dilanjutkan atau diakhiri
Pemrograman
JAVA
3

ƒ Bagian penaikan/penurunan digunakan untuk menaikkan atau menurunkan nilai variabel


pengontrol pengulangan

Contoh :
//nama file berkas : ulang2.java
public class ulang2
{
public static void main (String[] args)
{
for(int i=1; i<=13; i++)
{
System.out.print(i+" ");
}
}
}

Hasil :
1 2 3 4 5 6 7 8 9 10 11 12 13

PENGULANGAN DALAM PENGULANGAN


Ada kalanya persoalan memerlukan penanganan pengulangan didalam suatu proses
pengulangan yang lain, misalnya menggunakan for yang diletakkan didalam for.
Contoh :
//nama file berkas : nestedfor.java
public class nestedfor
{
public static void main (String[] args)
{
for(int i=1; i<=3; i++)
{
for (int j=1; j<=5; j++)
{
System.out.print("*");
}
System.out.print("\n");
}
}
}

Hasil :
*****
*****
*****

KELUAR DARI PENGULANGAN


Java menyediakan sebuah pernyataan yang berguna untuk keluar dari suatu pengulangan
(loop) dengan menggunakan perintah break.
Contoh :
//nama file berkas : break1.java
public class break1
{
public static void main (String[] args)
{
for(int i=1; i<=13; i++)
{
Pemrograman
JAVA
4

if (i == 5) break;
System.out.print(i+" ");
}
System.out.print("Selesai... ");
}
}

Hasil :
1 2 3 4 Selesai...

PERNYATAAN CONTINUE
Pernyataan ini digunakan untuk mengarahkan eksekusi ke kondisi pernyataan berulang,
sehingga kondisi akan dievaluasi lagi.
Contoh :
//nama file berkas : kontinu.java
public class kontinu
{
public static void main (String[] args)
{
for (int i=1; i<=15; i++)
{
if (i >=5 && i <=10)
continue;
System.out.println(i);
}
}
}

Hasil :
1
2
3
4 Tampak bahwa angka 5 sampai 10 tidak ditampilkan
11 disebabkan oleh perintah CONTINUE
12
13
14
15

TUGAS
1. Buat program untuk menghasilkan deret bilangan Genap dan Ganjil antara 0 sampai
dengan 50
2. Buat program untuk membuat tabel suhu CELCIUS, FAHRENHEIT dan REAMUR
dengan menggunakan perintah DO-WHILE
Ketentuan :
Nilai Celcius 100 menurun ke 0
Fahrenheit = 1,8 x Celcius + 32
Reamur = 1,8 x Celcius

3. Buat program untuk menampilkan :


*
**
***
*****
Pemrograman
JAVA
5

LATIHAN :
//nama file berkas : deret.java
public class deret
{
public static void main (String[] args)
{
System.out.print("Bilangan Ganjil : ");
int x=1;
for(int i=1; i<=10; i++)
{
System.out.print(x+" ");
x+=2;
}
System.out.print("\n");
System.out.print("Bilangan Genap : ");
int y=2;
for(int i=1; i<=10; i++)
{
System.out.print(y+" ");
y+=2;
}
}
}

Bilangan Ganjil : 1 3 5 7 9 11 13 15 17 19
Bilangan Genap : 2 4 6 8 10 12 14 16 18 20

/nama file berkas : deret1.java


public class deret1
{
public static void main (String[] args)
{
System.out.print("Bilangan Ganjil : ");
int x=19;
for(int i=1; i<=10; i++)
{
System.out.print(x+" ");
x-=2;
}
System.out.print("\n");
System.out.print("Bilangan Genap : ");
int y=20;
for(int i=1; i<=10; i++)
{
System.out.print(y+" ");
y-=2;
}
}
}

Bilangan Ganjil : 19 17 15 13 11 9 7 5 3 1
Bilangan Genap : 20 18 16 14 12 10 8 6 4 2

Pemrograman
JAVA
1

ARRAY DAN ARGUMEN BARIS PERINTAH

Array adalah obyek yang dapat digunakan untuk menyimpan sejumlah data. Elemen yang
disimpan pada array dapat berupa tipe primitif (misalnya int) ataupun instan kelas (obyek).

Untuk menciptakan array digunakan langkah berikut :


1. Mendeklarasikan variabel untuk merujuk ke array (selanjutnya disebut variabel array)
2. Menciptakan obyek array dan menugaskannya ke variabel yang dideklarasikan pada
langkah pertama

Variabel Array Obyek Array


KOTA
data-1
data-2
Dideklarasikan melalui
String KOTA;
Dialokasikan melalui
KOTA = new String[2];

MENDEKLARASIKAN VARIABEL ARRAY


Pendeklarasian variabel array dilakukan dengan bentuk :
tipePrimitif NamaVariabelArray[ ]; atau namaKelas NamaVariabelArray[ ];

Misalnya : String[ ] kota;


int[ ] nilai;

Pernyataan String [ ] kota; dapat ditulis menjadi String kota[ ]; namun bentuk pertama lebih
memberikan kejelasan karena yang berupa array bukanlah variabel itu sendiri melainkan
yang dirujuknya.

MENCIPTAKAN OBYEK ARRAY


Penciptaan obyek array dan penugasan obyek ke variabel array dilakukan dengan
menggunakan kata kunci new.
Bentuk penulisan :
namaKelas NamaVariabelArray = new namaKelas[jumlah elemen];
atau
tipePrimitif NamaVariabelArray = new tipePrimitif[jumlah elemen];

Misalnya : kota = new String[5];


nilai = new int [3];

Dua pernyataan :
String [ ] kota; String [ ] kota = new String[5];
dapat disingkat
kota = new String[5]

Pemrograman JAVA
2

MENGAKSES ELEMEN ARRAY


Elemen array dapat diakses melalui notasi :
NamaVariabelArray[subskrip]

Subskrip berupa nomor elemen dimana elemen pertama dimulai dari 0 (nol).

ARRAY ELEMEN SUBSKRIP


kota[0] “Jakarta” 0
kota[1] “Bandung” 1
Kota[2] “Semarang” 2

Contoh :
//berkas : larik1.java
public class larik1
{
public static void main (String[] args)
{
String[] kota = new String[5];
//mengisi elemen array
kota[0]="Jakarta";
kota[1]="Bandung";
kota[2]="Semarang";
kota[3]="Medan";
kota[4]="Yogyakarta";

//menampilkan elemen array


System.out.println("Elemen Array-1 = "+kota[0]);
System.out.println("Elemen Array-2 = "+kota[1]);
System.out.println("Elemen Array-3 = "+kota[2]);
System.out.println("Elemen Array-4 = "+kota[3]);
System.out.println("Elemen Array-5 = "+kota[4]);
}
}

Hasil :
Elemen Array-1 = Jakarta
Elemen Array-2 = Bandung
Elemen Array-3 = Semarang
Elemen Array-4 = Medan
Elemen Array-5 = Yogyakarta

Pemberian nilai pada array dapat dilakukan sewaktu obyek array diciptakan, misalnya :
String[ ] kota = {“Jakarta”, “Bandung”, “Semarang”, “Medan”, “Yogyakarta”};
Contoh :
//berkas : larik2.java
public class larik2
{
public static void main (String[] args)
{
String[] kota = {"Jakarta", "Bandung", "Semarang", "Medan", "Yogyakarta"};
System.out.println("Elemen Array-1 = "+kota[0]);
System.out.println("Elemen Array-2 = "+kota[1]);
System.out.println("Elemen Array-3 = "+kota[2]);
System.out.println("Elemen Array-4 = "+kota[3]);
Pemrograman JAVA
3

System.out.println("Elemen Array-5 = "+kota[4]);


}
}

Hasil :
Elemen Array-1 = Jakarta
Elemen Array-2 = Bandung
Elemen Array-3 = Semarang
Elemen Array-4 = Medan
Elemen Array-5 = Yogyakarta

Jumlah elemen array dapat diketahui dengan menggunakan variabel instan length milik
obyek array, misalnya : kota.length (akan menghasilkan jumlah elemen yang dirujuk oleh
kota). Selain itu untuk memasukkan atau menampilkan elemen array dapat menggunakan
pernyataan for.
Contoh :
//berkas : larik3.java
public class larik3
{
public static void main (String[] args)
{
String[] hari = {"Senin","Selasa","Rabu","Kamis","Jumat","Sabtu","Minggu"};

for(int i=0; i< hari.length; i++)


System.out.println("Hari ke-"+i+" adalah "+hari[i]);
System.out.println("Jumlah hari dalam seminggu = "+hari.length+" hari");
}
}

Hasil :
Elemen Array ke-0 adalah Senin
Elemen Array ke-1 adalah Selasa
Elemen Array ke-2 adalah Rabu
Elemen Array ke-3 adalah Kamis
Elemen Array ke-4 adalah Jumat
Elemen Array ke-5 adalah Sabtu
Elemen Array ke-6 adalah Minggu
Jumlah hari dalam seminggu = 7 hari

ARRAY MULTIDIMENSI
Java mendukung array multidimensi melalui pendekatan "array dari array".
Misalnya :
int [ ] [ ] Nilai = new int [2] [3] ;
merupakan implementasi array berdimensi dua dimana terdapat 2 baris dan 3 kolom
sebagaimana terlihat pada gambar dibawah ini :
subskrip kolom

Nilai[0][0] Nilai[0][1] Nilai[0][2] subskrip baris


Nilai[1][0] Nilai[1][1] Nilai[1][2]

Pemberian nilai pada array dua dimensi dilakukan dengan :


nilai [baris ] [kolom ] = data;

Pemrograman JAVA
4

Contoh :
//berkas : larik4.java
public class larik4
{
public static void main (String[] args)
{
int [][] nilai = new int [2][3];
int i,j;

nilai[0][0]=1;
nilai[0][1]=2;
nilai[0][2]=3;
nilai[1][0]=4;
nilai[1][1]=5;
nilai[1][2]=6;

for(i=0; i< 2; i++)


{
for (j=0; j< 3; j++)
System.out.print(nilai[i][j]+" ");
System.out.println(" ");
}
}
}

Hasil :
123
456

Argumen baris perintah pada Java dapat diambil dari variabel array args. Adapun jumlah
argumen dapat diperoleh melalui variabel instan pada kelas String yang bernama length.
Contoh :
//nama file berkas : arraytampil.java
public class arraytampil
{
public static void main(String[] args)
{
for (int i=0;i< args.length;i++)
System.out.println("Kata ke-"+(i+1)+" adalah : "+args[i]);
}
}

Hasil :
C:\j2sdk1.4.2_12\bin>java arraytampil Selamat Belajar Java
Kata ke-1 adalah : Selamat
Kata ke-2 adalah : Belajar
Kata ke-3 adalah : Java

Deklarasi array dua dimensi dapat dilakukan dengan menggunakan konstruksi seperti
contoh berikut :
//nama file berkas : arraykota.java
public class arraykota
{
public static void main(String[] args)
{
Pemrograman JAVA
5

String [][] kota = {{"Indonesia", "Jakarta"},


{"Filipina","Manila"},
{"Jepang","Tokyo"},
{"Iran","Teheran"},
{"Mesir","Kairo"}};

for(int i=0; i<kota.length;i++)


System.out.println("Ibukota "+kota[i][0]+" adalah "+kota[i][1]);
}
}

Hasil :
Ibukota Indonesia adalah Jakarta
Ibukota Filipina adalah Manila
Ibukota Jepang adalah Tokyo
Ibukota Iran adalah Teheran
Ibukota Mesir adalah Kairo

Array dapat dikombinasikan dengan menggunakan program input.


Contoh :
//nama file berkas : inputarray.java
import java.io.*;
public class inputarray
{
public static void main(String[] args) throws Exception
{
double [] x = new double[100];

DataInputStream karakter=new DataInputStream (System.in);


System.out.print("Masukkan Jumlah Data : ");
String jumlah=karakter.readLine();
int data = Integer.valueOf(jumlah).intValue();

for(int i=0; i< data; i++)


{
System.out.print("Nilai Ke-"+(i+1)+" = ");
String str=karakter.readLine();
double nilai = Double.valueOf(str).doubleValue();
x[i]=nilai;
}

System.out.println("Tabel Nilai");
System.out.println("=============================");
System.out.println("Nilai-X Nilai X*X Nilai 1/X");
System.out.println("=============================");
for(int i=0; i< data; i++)
{
System.out.println(x[i]+" "+(x[i]*x[i])+" "+(1/x[i]));
}
System.out.println("=============================");
}
}

Pemrograman JAVA
6

Hasil :
Masukkan Jumlah Data : 5
Nilai Ke-1 = 1
Nilai Ke-2 = 2
Nilai Ke-3 = 3
Nilai Ke-4 = 4
Nilai Ke-5 = 5
Tabel Nilai
=============================
Nilai-X Nilai X*X Nilai 1/X
=============================
1.0 1.0 1.0
2.0 4.0 0.5
3.0 9.0 0.3333333
4.0 16.0 0.25
5.0 25.0 0.2
=============================

TUGAS :
1. Buat program untuk mengurutkan data dengan menggunakan array
2. Buat program array untuk menjumlah dua buah matriks ber-ordo 2x2
3. Buat program array untuk membuat tabel penjualan dengan ketentuan sebagai berikut :
INPUT :
Masukkan Bulan Penjualan :
Masukkan jumlah data : ...
Nama Barang ke-... : ...
Jumlah : ...
Harga Rp. : ...

PROSES :
Total Beli = Jumlah * Harga
Total Barang = total data input
Total Penjualan = Total Penjualan + Total Beli

OUTPUT :
LAPORAN PENJUALAN PT. YAI
BULAN : ...
=============================================
NO NAMA BARANG JUMLAH HARGA TOTAL
=============================================
1 ? ? ? ?
2 ? ? ? ?
3 ? ? ? ?
dst
=============================================
TOTAL BARANG : 3
TOTAL PENJUALAN : ...

Pemrograman JAVA
1

KELAS DAN OBJEK

Konsep pemrograman berorientasi objek yang populer pada masa kini menjadikan objek
sebagai komponen utama dalam bahasa pemrograman. Objek menggabungkan data dan
fungsi sebagai satu kesatuan, sedangkan pada pemrograman yang tidak berorientasi objek,
fungsilah yang menjadi perhatian utama.

Fungsi adalah subprogram atau sekumpulan kode yang diberi nama tersendiri. Pendekatan
pemrograman berorientasi objek membuat pengembangan program dapat dilakukan
dengan lebih mudah, mengurangi duplikasi kode dan mengurangi kesalahan.

Pada pemrograman berorientasi objek terdapat dua istilah yang sangat terkenal yaitu kelas
dan objek. Perbedaan kelas dan objek dapat dijelaskan melalui analogi :
kelas itu seperti cetakan kue.
kelas adalah cetakan untuk objek

Sejumlah kue dapat diciptakan dengan menggunakan sebuah cetakan. Begitu pula halnya
dengan kelas, sejumlah objek dapat pula diciptakan. Seringkali dikatakan bahwa objek
adalah instan kelas.

Objek 1

Kelas Objek 2

sebuah instan kelas


Objek 3

Contoh lain dari sebuah kelas adalah mobil. Objek kelas mobil dapat memiliki data seperti
merk, warna, dan atribut lain yang berhubungan dengan mobil sedangkan metode yang
dimiliki objek mobil dapat berupa cara menghidupkan mesin dan mengoper persneling.

MENGGUNAKAN OBJEK
Objek dibuat dengan mula-mula membuat variabel yang kelak merujuk ke objek. Variabel
seperti ini biasa disebut variabel objek. Selanjutnya objek diciptakan melalui new dan
hasilnya ditugaskan ke variabel objek
Contoh :
//nama file berkas : objektanggal.java
import java.util.Date;
public class objektanggal
{
public static void main (String[] args)
{
Date waktusekarang=new Date();
System.out.println("Tanggal dan Waktu Sekarang : "+waktusekarang);
}
}

Pemrograman
JAVA
2

Hasil :
Tanggal dan Waktu Sekarang : Tue Oct 28 12:31:15 ICT 2008

Perlu diketahui bahwa Date adalah kelas yang disediakan Java yang berhubungan dengan
tanggal dan waktu. Kelas ini terdapat pada paket java.util.Date. Variabel waktusekarang
merujuk ke objek yang berisi tanggal dan jam saat pernyataan dijalankan.

Adakalanya Anda perlu memanggil variabel instan yang terdapat pada suatu objek.
Bentuk pemanggilan :
namaVariabelObjek.namaVariabelInstan

Untuk memanggil metode yang tedapat pada suatu objek diperlukan notasi sebagai berikut :
namaVariabelObjek.namaMetode()

atau jika metode melibatkan argumen :


namaVariabelObjek.namaMetode(argumen1, argumen2, ...)

Contoh :
//nama file berkas : metode1.java
public class metode1
{
public static void main (String[] args)
{
String teks = "Selamat Belajar Java";
System.out.println(teks.toUpperCase());
System.out.println(teks.charAt(5)); }
}

Hasil :
SELAMAT BELAJAR JAVA
a

Perintah teks.toUpperCase() merupakan contoh pemanggilan objek yang tidak melibatkan


argumen dimana perintah tersebut berguna untuk menghasilkan string dengan seluruh huruf
berupa huruf kapital.

Perintah teks.charAt(5) merupakan contoh pemanggilan metode objek yang melibatkan


sebuah argumen dimana perintah tersebut berguna untuk memperoleh sebuah karakter
yang terletak pada posisi ke-6 karena posisi pertama karakter dimulai dari nol.

MENCIPTAKAN KELAS
Kelas pada Java didefinisikan dengan menggunakan kata kunci class.
Contoh :
//nama file berkas : kelasmobil.java
class mobil
{
String warna; variabel instan
int tahun;
}

public class kelasmobil


{
public static void main (String[] args)
{
mobil mobilku = new mobil();
Pemrograman
JAVA
3

mobilku.warna ="Merah"; mengisi variabel instan


mobilku.tahun = 2008;

System.out.println("Warna mobilku adalah "+mobilku.warna);


System.out.println("Dibuat tahun : "+mobilku.tahun);
}
}

Hasil :
Warna mobilku adalah Merah
Dibuat tahun : 2008

KELAS DAN METODE


Sebuah kelas pada umumnya tersusun atas variabel instan dan metode untuk objek.
Metode adalah fungsi (subprogram) yang melekat pada sebuah objek atau instan kelas.
Contoh :
//nama file berkas : kelasmetode.java
class mobil
{
String warna; variabel instan
int tahun;

void isidata(String warnamobil, int tahunmobil)


{
warna=warnamobil; metode
tahun=tahunmobil;
}

String isiwarna()
{
metode
return warna;
}

int isitahun()
{
metode
return tahun;
}
}

public class kelasmetode


{
public static void main (String[] args)
{
mobil mobilku = new mobil();
mobilku.isidata("Hitam", 2008);

System.out.println("Warna mobilku adalah "+mobilku.isiwarna());


System.out.println("Dibuat tahun : "+mobilku.isitahun());
}
}

Hasil :
Warna mobilku adalah Hitam
Dibuat tahun : 2008

Pemrograman
JAVA
4

Keterangan :
• Metode isidata() digunakan untuk mengisikan data warna dan tahun
• Pernyataan warna=warnamobil; dan tahun=tahunmobil; digunakan untuk mengisikan
nilai parameter ke variabel instan
• Kata kunci void menyatakan bahwa metode ini tidak mempunyai nilai balik (nilai yang
diberikan oleh metode ketika dipanggil)
• Metode isiwarna() digunakan untuk memperoleh isi variabel instan dengan tipe yang
sama yaitu String. Sedangkan return warna() merupakan pernyataan untuk memberikan
nilai baliknya sekaligus mengakhiri eksekusi metode.

KATA KUNCI THIS


Kata kunci this digunakan pada pembuatan kelas dan digunakan untuk menyatakan objek
sekarang.
Contoh :
//nama file berkas : kelasthis.java
class mobil
{
String warna;
int tahun;

void isidata(String warna, int tahunmobil)


{
this.warna=warna;
this.tahun=tahunmobil;
}
}

public class kelasthis


{
public static void main (String[] args)
{
mobil mobilku = new mobil();
mobilku.isidata("Silver", 2008);

System.out.println("Warna mobilku adalah "+mobilku.warna);


System.out.println("Dibuat tahun : "+mobilku.tahun);
}
}

Hasil :
Warna mobilku adalah Silver
Dibuat tahun : 2008

LINGKUP VARIABEL
Bila dalam suatu metode terdapat pemanggilan terhadap suatu variabel, Java
menggunakan konsep sebagai berikut. Mula-mula variabel akan dianggap berada pada
lingkup blok sekarang. Jika tidak ada, Java akan mencarikannya pada blok yang lebih luar.
Begitu seterusnya.

Berdasarkan konsep lingkup variabel seperti ini, dimungkinkan untuk membuat variabel
yang bersifat lokal.
Contoh :
//nama file berkas : lingkupthis.java
class mobil
Pemrograman
JAVA
5

{
String warna="Merah";
int tahun=2008;

void mobilku()
{
String warna="Biru";
int tahun=2008;
System.out.println("Warna dan tahun pada metode mobilku : "
+warna+" dan "+tahun);
System.out.println("Warna dan tahun pada kelas instan mobil : "
+this.warna+" dan "+this.tahun);
}
}

public class lingkupthis


{
public static void main (String[] args)
{
mobil proses = new mobil();
proses.mobilku();
}
}

Hasil :
Warna dan tahun pada metode mobilku : Biru dan 2008
Warna dan tahun pada kelas instan mobil : Merah dan 2008

PENENTU AKSES : PRIVATE DAN PUBLIC


Pada pemrograman yang berorientasi objek, akses terhadap suatu variabel instan di luar
kelas biasanya tidak diperkenankan. Sebagai penggantinya, disediakan metode yang
diperlukan untuk mengakses variabel instan.

Berkaitan dengan boleh-tidaknya suatu variabel instan diakses dari luar kelas, Java
menyediakan penentu akses yaitu :
• public
berarti bahwa pengaksesan suatu variabel instan atau metode dapat dilakukan dari luar
kelas
• private
berarti bahwa pengaksesan suatu variabel instan atau metode hanya dapat dilakukan di
dalam kelas, tidak bisa diakses dari luar kelas.

Contoh :
//nama file berkas : penentuakses.java
class siswa
{ program error jika dirubah menjadi private String nama;
String nama;

void isidata(String nama)


{
this.nama=nama;
}

String isinama()
{
Pemrograman
JAVA
6

return this.nama;
}
}

public class penentuakses


{
public static void main (String[] args)
{
siswa siswaku = new siswa();
siswaku.isidata("Sekar Ayu");

System.out.println("Nama Siswa (metode) adalah "+siswaku.isinama());


System.out.println("Nama Siswa (variabel instan) adalah "+siswaku.nama);
}
}

Hasil :
Nama Siswa (metode) adalah Sekar Ayu
Nama Siswa (variabel instan) adalah Sekar Ayu

Program akan error jika ditambahkan private di depan String nama; tetapi jika ditambah
public tidak akan terjadi kesalahan. Sekilas terlihat bahwa suatu variabel yang tidak diberi
penentu akses apapun, variabel tersebut memiliki sifat yang sama dengan jika diberi
penentu akses public, namun sebenarnya variabel tersebut memiliki makna yang berbeda.

Perhatikan gambar berikut :

Pemrograman
JAVA
7

METODE KELAS
Kadangkala dijumpai pemanggilan metode dengan bentuk :
namaKelas.namaMetode() bukan dalam bentuk namaVariabelObjek.namaMetode()

Contoh :
//nama file berkas : metodekelas.java
public class metodekelas
{
public static void main (String[] args)
{
double akar = Math.sqrt(25);
System.out.println("Akar dari 25 adalah "+akar);
}
}

Hasil :
Akar dari 25 adalah 5.0

Perhatikan bahwa pada program di atas tidak terdapat penciptaan objek. Metode sqrt dapat
dipanggil secara langsung dengan menggunakan Math (nama kelas yang tersedia pada
Java yang berkaitan dengan penanganan berbagai operasi matematika).

Untuk membuat metode kelas (metode yang dapat dipanggil dengan menyebutkan nama
kelas), Anda dapat menggunakan bentuk :
static tipe namaMetode(parameter1, parameter2,...) { ... }

Kata kunci static merupakan kunci untuk membuat metode kelas.


Contoh :
//nama file berkas : kuadrat.java
class matematika
{
static public double kuadrat(double nilai)
{
return nilai*nilai;
}
}

public class kuadrat


{
public static void main (String[] args)
{
double bilangan = matematika.kuadrat(5);
System.out.println("Kuadrat dari 5 adalah "+bilangan);
}
}

Hasil :
Kuadrat dari 5 adalah 25.0

Pemrograman
JAVA
8

TUGAS
1. Buat program untuk menghitung gaji harian PT. XYZ dengan ketentuan :
ƒ Gaji pokok karyawan Rp. 2000/jam
ƒ Bila karyawan bekerja lebih dari 7 jam/hari maka kelebihannya dihitung lembur yang
besarnya 1.5 dari gaji pokok
ƒ Untuk karyawan yang bekerja 8 jam/hari atau lebih akan mendapat tambahan uang
makan sebesar Rp. 3500
ƒ Karyawan yang bekerja 9 jam/hari atau lebih akan mendapat uang transport lembur
sebesar Rp. 4000

Gunakan fungsi kelas dan metode

Input : NIP, Nama, Jumlah jam kerja


Output : NIP, Nama, Gaji pokok, Lembur, Uang makan, Transport lembur

Pemrograman
JAVA
1

KONSTRUKTOR, OVERLOADING
dan PEWARISAN

KONSTRUKTOR
Metode konstruktor adalah metode yang dapat digunakan untuk memberikan nilai awal saat
objek diciptakan. Metode ini akan dipanggil secara otomatis oleh Java ketika new dipakai
untuk menciptakan instan kelas.

Konstruktor mempunyai sifat :


• Namanya sama dengan kelas
• Tidak memiliki nilai balik
• Tidak boleh ada kata kunci void

Contoh :
//nama berkas : konstruktor.java
class mobil
{
private String warna; variabel instan
private int tahun;

public mobil(String warna, int tahun)


{ konstruktor
this.warna = warna;
this.tahun = tahun;
}
metode
public void info()
{
System.out.println("Warna mobil saya : "+ this.warna);
System.out.println("Dibuat tahun : "+ this.tahun);
}
}

public class konstruktor


{
public static void main (String[] args)
{
mobil mobilku = new mobil("Silver",2008);
mobilku.info();
}
}

Hasil :
Warna mobil saya : Silver
Dibuat tahun : 2008

Pada program di atas tampak bahwa nama konstruktor sama dengan nama kelas. Dalam
hal ini konstruktor memiliki dua parameter, yaitu warna dan tahun. Selain itu penciptaan
objek tidak lagi dilakukan dengan menggunakan bentuk : mobil = new mobil( );

Pemrograman
JAVA
2

OVERLOADING
Overloading terhadap konstruktor merupakan suatu mekanisme pembuatan konstruktor
yang memiliki bentuk lebih dari satu. Dalam hal ini, pembeda antara satu konstruktor
dengan konstruktor yang lain berupa jumlah parameter atau tipe parameter.
Contoh :
//nama berkas : konstruktor1.java
class mobil
{
private String warna;
private int tahun;

public mobil(String warna, int tahun)


{ konstruktor-1
this.warna = warna;
this.tahun = tahun;
}

public mobil() konstruktor-2


{
}

public void info()


{
System.out.println("Warna mobil saya : "+ this.warna);
System.out.println("Dibuat tahun : "+ this.tahun);
}
}

public class konstruktor1


{
public static void main (String[] args)
{
mobil mobilku = new mobil("Silver",2008);
mobilku.info();
mobil mobilmu = new mobil();
mobilmu.info();
mobil mobilnya = new mobil("Silver",2008);
mobilnya.info();
}
}

Hasil :
Warna mobil saya : Silver
Dibuat tahun : 2008
Warna mobil saya : null
Dibuat tahun : 0
Warna mobil saya : Silver
Dibuat tahun : 2008

Tampak bahwa pemanggilan dengan mobil mobilmu = new mobil( ); diperkenankan pada
program di atas. Mengingat konstruktor yang tidak melibatkan parameter tidak melibatkan
perintah apapun, maka warna dan tahun diisi dengan nilai default yaitu null dan 0.

Pemrograman
JAVA
3

Overloading juga dapat dikenali pada metode non konstruktor.


Contoh :
//nama berkas : overloading.java
class matematika
{
static public double kuadrat(double nilai)
{
return nilai*nilai;
}

static public int kuadrat(int nilai)


{
return nilai*nilai;
}

static public double kuadrat(String nilai)


{
double bilangan = Double.valueOf(nilai).doubleValue();
return bilangan*bilangan;
}
}

public class overloading


{
public static void main (String[] args)
{
System.out.println("Kuadrat dari 25.0 adalah : "+ matematika.kuadrat(25.0));
System.out.println("Kuadrat dari 25 adalah : "+ matematika.kuadrat(25));
System.out.println("Kuadrat dari \"25\" adalah : "+ matematika.kuadrat("25"));
}
}

Hasil :
Kuadrat dari 25.0 adalah : 625.0
Kuadrat dari 25 adalah : 625
Kuadrat dari "25" adalah : 625.0

Metode kuadrat mempunyai tiga buah bentuk yaitu double, int dan String. Program akan
menghasilkan keluaran sesuai dengan jenis parameter yang diinput pada program utama.

VARIABEL KELAS
Variabel kelas adalah variabel yang berlaku tidak terbatas hanya pada objek tetapi pada
seluruh objek. Variabel ini didefinisikan dengan menggunakan kata kunci static.
Contoh :
//nama berkas : variabelkelas.java
class bilangan
{
static int pencacah = 0;
private int nilai;

public bilangan(int nilai)


{
this.nilai=nilai;

Pemrograman
JAVA
4

this.pencacah++;
}

public void info()


{
System.out.println("Data ke- "+ this.pencacah);
System.out.println("Bilangan yang Anda ketik : "+ this.nilai);
}
}

public class variabelkelas


{
public static void main (String[] args)
{
bilangan satu = new bilangan(44);
satu.info();
bilangan dua = new bilangan(55);
dua.info();
bilangan tiga = new bilangan(66);
tiga.info();
}
}

Hasil :
Data ke- 1
Bilangan yang Anda ketik : 44
Data ke- 2
Bilangan yang Anda ketik : 55
Data ke- 3
Bilangan yang Anda ketik : 66

Terlihat bahwa nilai pencacah bertambah sebesar satu setiap kali objek berkelas bilangan
dibentuk.

PEWARISAN
Pewarisan merupakan konsep dalam pemrograman berorientasi objek yang memungkinkan
untuk membuat suatu kelas dengan
didasarkan pada kelas yang sudah
ada sehingga mewarisi semua metode
dan variabelnya.

Pada gambar, kelasA disebut kelas


dasar atau superkelas sedangkan
kelasB disebut kelas turunan atau
kelas anak.

Semua metode dan variabel instan


yang terdapat pada kelas dasar
diturunkan ke kelas turunan. Namun
kelas turunan dapat menambahkan
metode baru atau variabel instan baru
sendiri.

Pemrograman
JAVA
5

Contoh :
//nama berkas : alpha.java
class alpha
{ digunakan untuk memperoleh
private int a=4; nama kelas
public void info()
{
System.out.println("Nilai a pada program alpha = "+a);
System.out.println("Dipanggil oleh program : "+this.getClass().getName());
}
}

Untuk membuat kelas turunan, secara prinsip sibuat dengan menggunakan bentuk :
class KelasTurunan extends KelasDasar()
{
pernyataan;
}

Contoh :
//nama berkas : bravo.java
class bravo extends alpha
{
public static void main(String[] args)
{
bravo cetak = new bravo();
cetak.info();
int a = 44;
System.out.println("Nilai a pada program bravo = "+a);
}
}

Hasil :
Nilai a pada program alpha = 4
Dipanggil oleh program : bravo
Nilai a pada program bravo = 44

PENENTU AKSES PROTECTED


Penentu akses ini berguna untuk mengatur agar suatu variabel instan ataupun metode yang
terdapat pada sebuah kelas dapat diakses pada kelas itu sendiri dan pada subkelas.
Contoh :
//nama berkas : charlie.java
class charlie
{
private int a=4;
protected int b=44;
public void info()
{
System.out.println("Nilai a = "+a);
System.out.println("Nilai b = "+b);
System.out.println("Dipanggil oleh program : "+this.getClass().getName());
}
}

Pemrograman
JAVA
6

Setelah itu buat program berikut sebagai turunan dari program charlie.java :
//nama berkas : delta.java
class delta extends charlie
{ supaya program benar,
private int c=5; baris ini harus dihapus
public void info()
{
System.out.println("Nilai a = "+a);
System.out.println("Nilai b = "+b);
System.out.println("Nilai c = "+c);
System.out.println("Dipanggil oleh program : "+this.getClass().getName());
}
}

Hasil :
delta.java:7: a has private access in charlie
System.out.println("Nilai a = "+a);
1 error

Tampak bahwa pesan kesalahan yang menyatakan variabel instan a tidak dikenal karena a
adalah variabel private sedangkan b dengan variabvel protected dikenal pada kelas delta.

Untuk memanggil kelas charlie dan delta, buat program berikut ini :
//nama berkas : panggil.java
class panggil
{
public static void main(String[] args)
{
charlie obyek1 = new charlie();
obyek1.info();
delta obyek2 = new delta();
obyek2.info();
}
}

Hasil :
Nilai a = 4
Nilai b = 44
Dipanggil oleh program : charlie
Nilai b = 44
Nilai c = 5
Dipanggil oleh program : delta

PENENTU ABSTRACT
Java menyediakan suatu mekanisme yang memungkinkan suatu metode ditentukan dari
dalam kelas tetapi tidak disertai dengan definisinya. Metode ini dikenal dengan nama
metode abstrak, sedangkan kelasnya dinamakan kelas abstrak.
Contoh :
//nama berkas : kendaraan.java
public abstract class kendaraan
{
protected String nama;
public abstract void jalankan();
}

Pemrograman
JAVA
7

Pada program di atas tampak bahwa metode abstrak jalankan() tidak mempunyai tubuh
program karena definisi metode tersebut harus dilakukan pada subkelas.
Contoh :
//nama berkas : tesjalankan.java
class sepeda extends kendaraan
{
public sepeda(String nama)
{
this.nama=nama;
}

public void jalankan()


{
System.out.println("Duduklah diatas sadel "+this.nama+" dan kayuhlah...");
}
}

class mobil extends kendaraan


{
public mobil (String nama)
{
this.nama=nama;
}

public void jalankan()


{
System.out.println("Duduklah di depan stir "+this.nama+" dan hidupkan mesin...");
}
}

public class tesjalankan


{
public static void main(String [] args)
{
sepeda sepedaku = new sepeda("Sepeda BMX");
sepedaku.jalankan();
mobil mobilku = new mobil("Sedan");
mobilku.jalankan();
}
}

Hasil :
Duduklah diatas sadel Sepeda BMX dan kayuhlah...
Duduklah di depan stir Sedan dan hidupkan mesin...

LATIHAN
Buat program dengan menggunakan teknik konstruktor untuk mencari BERAT BADAN
IDEAL dengan rumus BBI = TINGGI – (110).

BENTUK METODE : hitung(nama, tinggi)

Pemrograman
JAVA
1

OPERASI STRING, MATEMATIKA DAN WAKTU

OPERASI STRING
String adalah kelas yang menangani deretan karakter. Kelas ini mendukung sejumlah
metode yang sangat berguna untuk memanipulasi string, misalnya untuk mengkoversi huruf
kecil menjadi kapital, memperoleh jumlah karakter dan sebagainya.

• Metode substring(int indeks)


Fungsi : menghasilkan objek string yang berisi substring dimulai dari posisi indeks suatu
teks
• Metode substring(int indeksAwal, int indeksAkhir)
Fungsi : menghasilkan objek string yang berisi substring dimulai posisi indeksAwal
hingga posisi indeksAkhir suatu teks
• Metode charAt(int indeks)
Fungsi : menghasilkan karakter yang terletak pada posisi indeks

Contoh :
//nama berkas : string1.java
public class string1
{
public static void main(String[] args)
{
String teks=("Belajar Java Itu Mudah");
System.out.println("teks = Belajar Java Itu Mudah");
System.out.println("substring(3) = "+teks.substring(3));
System.out.println("substring(0,3) = "+teks.substring(0,3));
System.out.println("charAt(6) = "+teks.charAt(6));
}
}

Hasil :
teks = Belajar Java Itu Mudah
substring(3) = ajar Java Itu Mudah
substring(0,3) = Bel
charAt(6) = r

• Metode length()
Fungsi : menghasilkan jumlah karakter dari suatu teks
• Metode concat(String kata)
Fungsi : menghasilkan objek string yang merupakan gabungan dari string kata
• Metode replace(char lama, char baru)
Fungsi : menghasilkan objek string yang berisi string dengan semua karakter dengan
huruf lama digantikan dengan karakter huruf baru

Contoh :
//nama berkas : string2.java
public class string2
{
public static void main(String[] args)
{
String teks=("Belajar Java Itu Mudah");
System.out.println("teks = Belajar Java Itu Mudah");
System.out.println("length() = "+teks.length());
Pemrograman
JAVA
2

System.out.println("concat(, Setuju?) = "+teks.concat(", Setuju?"));


System.out.println("replace('a','A') = "+teks.replace('a','A'));
}
}

Hasil :
teks = Belajar Java Itu Mudah
length() = 22
concat(, Setuju?) = Belajar Java Itu Mudah, Setuju?
replace('a','A') = BelAjAr JAvA Itu MudAh

• Metode toLowerCase()
Fungsi : menghasilkan objek string dengan seluruh huruf kecil
• Metode toUpperCase()
Fungsi : menghasilkan objek string dengan seluruh huruf kapital
• Metode trim()
Fungsi : menghasilkan objek string yang menghilangkan spasi di awal dan diakhir string

Contoh :
//nama berkas : string3.java
public class string3
{
public static void main(String[] args)
{
String teks=("Belajar Java Itu Mudah");
System.out.println("teks = Belajar Java Itu Mudah");
System.out.println("trim() = "+teks.trim());
System.out.println("toLowerCase() = "+teks.toLowerCase());
System.out.println("toUpperCase() = "+teks.toUpperCase());
}
}

Hasil :
teks = Belajar Java Itu Mudah
trim() = Belajar Java Itu Mudah
toLowerCase() = belajar java itu mudah
toUpperCase() = BELAJAR JAVA ITU MUDAH

• Metode equals()
Fungsi : membandingkan suatu teks sesuai format
• Metode equalsIgnoreCase()
Fungsi : membandingkan suatu teks dengan mengabaikan format

Contoh :
//nama berkas : string4.java
public class string4
{
public static void main(String[] args)
{
String teks=("Java");
System.out.println("teks = Java");
System.out.println("equals(Java) = "+teks.equals("Java"));
System.out.println("equalsIgnoreCase(JAVA) = "+teks.equalsIgnoreCase("JAVA"));

Pemrograman
JAVA
3

}
}

Hasil :
teks = Java
equals(Java) = true
equalsIgnoreCase(JAVA) = true

OPERASI MATEMATIKA
Kelas Math adalah kelas yang terdapat pada paket java.lang yang berguna untuk
melakukan berbagai operasi matematika seperti sinus, cosinus, akar, kuadrat, logaritma dan
sebagainya.

Kelas Math menyediakan konstanta :


1. Konstanta E
menyatakan nilai e atau basis logaritma alami. Konstanta ini didefinisikan dengan :
public static final double E = 2.7183;
2. Konstanta PI
menyatakan nilai π yang didefiniskan dengan :
public static final double PI = 3.1415;

• Metode cos(double a)
Fungsi : menghasilkan nilai cosine dalam bentuk radian dengan tipe double
• Metode sin(double a)
Fungsi : menghasilkan nilai sine dalam bentuk radian dengan tipe double
• Metode tan(double a)
Fungsi : menghasilkan nilai tangent dalam bentuk radian dengan tipe double

Catatan :
3600 = 2 π radian

10 = 2π radian = 2 * 3,14159 radian


360 360
1
= radian
57,2958

Contoh :
//nama berkas : math1.java
import java.io.*;
public class math1
{
public static void main(String[] args)
{
System.out.println("Nilai cos(60) = "+Math.cos(60/57.2958));
System.out.println("Nilai sin(30) = "+Math.sin(30/57.2958));
System.out.println("Nilai tan(45) = "+Math.tan(45/57.2958));
}
}

Pemrograman
JAVA
4

Hasil :
Nilai cos(60) = 0.5000003242746784
Nilai sin(30) = 0.49999983786263447
Nilai tan(45) = 0.9999994383398783

• Metode log(double a)
Fungsi : menghasilkan nilai bertipe double yang merupakan logaritma alami
• Metode ceil(double a)
Fungsi : menghasilkan nilai bertipe double yang merupakan nilai terbesar
• Metode floor(double a)
Fungsi : menghasilkan nilai bertipe double yang merupakan nilai terkecil

Contoh :
//nama berkas : math2.java
import java.io.*;
public class math2
{
public static void main(String[] args)
{
double a=Math.log(100);
System.out.println("Nilai log(100) = "+a);
System.out.println("Dibulatkan dengan ceil() = "+Math.ceil(a));
System.out.println("Dibulatkan dengan floor() = "+Math.floor(a));
}
}

Hasil :
Nilai log(100) = 4.605170185988092
Dibulatkan dengan ceil() = 5.0
Dibulatkan dengan floor() = 4.0

• Metode max(tipe a, tipe b)


Fungsi : menghasilkan nilai terbesar dari bilangan a dan b
• Metode min(tipe a, tipe b)
Fungsi : menghasilkan nilai terkecil dari bilangan a dan b

Contoh :
//nama berkas : math3.java
import java.io.*;
public class math3
{
public static void main(String[] args)
{
System.out.println("Nilai terbesar dari 4 dan 44 = "+Math.max(4,44));
System.out.println("Nilai terkecil dari 4 dan 44 = "+Math.min(4,44));
}
}

Hasil :
Nilai terbesar dari 4 dan 44 = 44
Nilai terkecil dari 4 dan 44 = 4

Pemrograman
JAVA
5

• Metode random()
Fungsi : menghasilkan nilai bertipe double yang merupakan hasil pembangkitan nilai
acak
• Metode pow(double a, double b)
Fungsi : menghasilkan nilai bertipe double yang merupakan hasil perpangkatan ab
• Metode sqrt(double a)
Fungsi : menghasilkan nilai bertipe double yang merupakan akar kuadrat dari a

Contoh :
//nama berkas : math4.java
import java.io.*;
public class math4
{
public static void main(String[] args)
{
System.out.println("Nilai acak = "+Math.random());
System.out.println("Nilai 25 pangkat 0.5 = "+Math.pow(25,0.5));
System.out.println("Akar dari 25 = "+Math.sqrt(25));
}
}

Hasil :
Nilai acak = 0.10454870453514287
Nilai 25 pangkat 0.5 = 5.0
Akar dari 25 = 5.0

OPERASI TANGGAL
Kelas Date adalah kelas yang berhubungan dengan penanganan informasi tanggal dan jam.
Contoh :
//nama berkas : tanggal1.java
import java.util.Date;
public class tanggal1
{
public static void main(String[] args)
{
String hari[]={"Minggu","Senin", "Selasa",
"Rabu","Kamis","Jumat", "Sabtu"};

Date kini = new Date();


System.out.println("Sekarang Tanggal : "+kini.getDate()+"-"+kini.getMonth()
+"-"+(kini.getYear()+1900));
System.out.println("Hari : "+hari[kini.getDay()]);
}
}

Hasil :
Sekarang Tanggal : 15-11-2008
Hari : Senin

Perhatikan bahwa penampilan tahun dari getYear() perlu ditambah dengan angka 1900

Cara lain untuk menyatakan tanggal adalah dengan menggunakan kelas GregorianCalendar
yaitu kelas turunan dari kelas Calendar yang ditujukan untuk menangani pemrosesan
tanggal dan jam,
Pemrograman
JAVA
6

Tabel konstruktor pada kelas GregorianCalendar


KONSTRUKTOR
GregorianCalendar()
GregorianCalendar(int TAHUN, int BULAN, int TANGGAL)
GregorianCalendar(int TAHUN, int BULAN, int TANGGAL, int JAM, int MENIT)
GregorianCalendar (int TAHUN, int BULAN, int TANGGAL, int JAM, int MENIT, int DETIK)

Contoh :
//nama berkas : tanggal2.java
import java.util.*;
public class tanggal2
{
public static void main(String[] args)
{
String hari[]={"Minggu","Senin", "Selasa",
"Rabu","Kamis","Jumat", "Sabtu"};

GregorianCalendar kini = new GregorianCalendar(1945,8,17);

System.out.println("Tanggal sekarang : ");


System.out.println(kini.get(Calendar.DATE)+"-"+
kini.get(Calendar.MONTH)+"-"+
kini.get(Calendar.YEAR));

kini.add(Calendar.DATE,7);
System.out.println("Seminggu kemudian : ");
System.out.println(kini.get(Calendar.DATE)+"-"+
kini.get(Calendar.MONTH)+"-"+
kini.get(Calendar.YEAR));
}
}

Hasil :
Tanggal sekarang :
17-8-1945
Seminggu kemudian :
24-8-1945

LATIHAN
1. Buat program dengan input untuk menghitung jarak lintasan peluru dengan rumus :
Jarak = 2 * Vo2 * sin a * cos a / g
Jika diketahui :
Vo adalah kecepatan tembak
a adalah sudut elevasi
g adalah gravitasi (konstanta 9,8)

2. Buat program untuk mencari kata apakah POLINDROM atau tidak. Misalnya :
TAAT = TAAT : POLINDROM
KASUR = RUSAK : bukan POLINDROM

3. Buat program untuk menghitung selisih hari


Tanggal sekarang : 15-12-2008
Tanggal nanti : 18-12-2008
Selisih hari : 3
Pemrograman
JAVA
1

PEMROGRAMAN WINDOW

Program yang dibuat selama ini adalah pemrograman pada level konsol. Java
sesungguhnya juga mendukung pemrograman windows. Salah satu mekanisme untuk
mengimplementasikannya adalah dengan menggunakan paket java.awt (Java Abstract Tool
Kit).

Contoh :
// nama berkas : testframe.java
import java.awt.*;
public class testframe extends Frame
{
public static void main(String[] args)
{
testframe frame1 = new testframe();
}

public testframe()
{
super("Jendela Frame Saya");
setSize(300,200);
show();
}
}

Hasil :

Frame adalah kelas dalam paket AWT yang mewujudkan jendela dengan judul dibagian
atas dan memungkinkan menu pull down dibuat. Tampilan dari frame akan berbeda jika
dijalankan pada sistem operasi Windows atau Linux. Untuk menutup jendela tekan CTRL C
pada jendela konsol.

KOMPONEN DALAM AWT


Segala tampilan pada sistem Window sesungguhnya didasarkan kelas Component. Pada
dasarnya komponen adalah segala sesuatu yang terlihat pada jendela, misalnya teks statis,
tombol, kotak cek dan sebagainya.

Komponen dapat dikelompokkan menjadi :


• Container
Merupakan wadah untuk komponen-komponen yang lain, misalnya Panel.
• Canvas
Seperti halnya dunia lukisan digunakan untuk menggambar apa saja.
• Komponen antarmuka grafis
Termasuk dalam kelompok ini yaitu tombol, menu pop-up dan kotak cek.
• Komponen penyusun jendela
Termasuk dalam hal ini jendela frame dan kotak dialog
Pemrograman
JAVA
2

Hirarki dari komponen digambarkan sebagai berikut :

KOMPONEN BUTTON
Button merupakan kelas yang berguna untuk membuat tombol dalam suatu jendela.
Contoh :
// nama berkas : testtombol.java
import java.awt.*;
public class testtombol extends Frame
{
public static void main(String[] args)
{
testtombol tombol1 = new testtombol();
}

public testtombol()
{
super("Tombol Saya"); Digunakan untuk membuat sebuah panel
setSize(300,200);
Panel paneltombol = new Panel();
paneltombol.add(new Button("Perbesar"));
paneltombol.add(new Button("Keluar"));
add("South", paneltombol); Digunakan untuk membuat 2 buah tombol
show();
}
Digunakan untuk mengaitkan objek tombol ke panel
}

Hasil :

Pemrograman
JAVA
3

Tabel nilai untuk menentukan letak panel dalam jendela :


NILAI KETERANGAN
South Letak di bawah
West Letak di kiri atas
North Letak di atas
East Letak di kanan atas

MENANGANI KEJADIAN
Program di atas belum menangani kejadian sama sekali misalnya ketika tombol Keluar di-
klik maka aplikasi segera diakhiri.
Penanganan kejadian dapat dilakukan dengan menggunakan paket java.awt.event. Objek
Window menggunakan metode bernama addWindowListener() sedangkan komponen
Button menggunakan metode bernama addActionListener().
Contoh :
// nama berkas : testtombol1.java
import java.awt.*;
import java.awt.event.*;
public class testtombol1 extends Frame
{
public static void main(String[] args)
{
testtombol1 tombol1 = new testtombol1();
}

public testtombol1()
{
super("Tombol Saya");
setSize(300,200);
Button tombolmaks = new Button("Perbesar");
Button tombolend = new Button("Keluar");

Panel paneltombol = new Panel();


paneltombol.add(tombolmaks);
paneltombol.add(tombolend);
add("South", paneltombol);

tombolmaks.addActionListener(new testtombol1.penangantombol());
tombolend.addActionListener(new testtombol1.penangantombol());

addWindowListener(new testtombol1.penangankejadian());
show();
}

class penangankejadian extends WindowAdapter


{
public void windowClosing (WindowEvent e)
{
System.exit(0);
}
}

class penangantombol implements ActionListener


{
public void actionPerformed(ActionEvent e)
Pemrograman
JAVA
4

{
String s = e.getActionCommand();
if (s.equals("Perbesar"))
{
setSize(600,400);
}
else
if (s.equals("Keluar"))
{
System.exit(0);
}
}
}
}

FILE DIALOG
Adalah subkelas dari dialog yang menyediakan kemudahan dalam menampilkan daftar
berkas yang akan dibaca ataupun berkas untuk menyimpan data.
Contoh :
// nama berkas : dialog.java
import java.awt.*;
public class dialog extends Frame
{
public static void main(String[] args)
{
dialog aplikasi = new dialog();
}

public dialog()
{
super("Form Dialog");
setSize(400,150);
FileDialog fd = new FileDialog(this, "Buka Berkas :");
fd.show();
setTitle("File yang Anda buka : "+fd.getFile());
show();
}
}

Hasil :

Pemrograman
JAVA
5

SETLAYOUT
Digunakan untuk mengatur tata letak komponen-komponen. AWT menyediakan 5 manajer
dasar untuk mengelola peletakan komponen, yaitu :
1. FlowLayout
Melakukan pengaturan komponen dengan urutan dari kiri ke kanan dan dari atas ke
bawah dengan melibatkan konstanta LEFT, RIGHT dan CENTER
2. GridLayout
Menggunakan bentuk kisi-kisi dengan ukuran yang sama untuk setiap komponen
3. BorderLayout
Menempatkan komponen dengan pendekatan arah mata angin
4. CardLayout
Menampilkan objek-objek seperti tumpukan kartu
5. GridBagLayout
Digunakan untuk meletakkan komponen secara bebas

LABEL
Merupakan komponen yang umum digunakan untuk menampilkan suatu string dan
umumnya bersifat tidak untuk diubah.
Contoh :
// nama berkas : label.java
import java.awt.*;
public class label extends Frame
{
public static void main(String[] args)
{
label aplikasi = new label();
}

public label()
{
super("Teks Label");
setSize(300,100);

Label t1 = new Label("Terimakasih", Label.LEFT);


Label t2 = new Label("Thank You", Label.CENTER);
Label t3 = new Label("Xie Xie", Label.RIGHT);

Panel plabel = new Panel();


plabel.setLayout(new GridLayout(3,1));
plabel.add(t1);
3 baris 1 kolom
plabel.add(t2);
plabel.add(t3);
add("North", plabel);
show();
}
}

Hasil :

Pemrograman
JAVA
6

TEXTFIELD
Adalah kelas yang berguna untuk menciptakan obyek yang ditujukan untuk memasukkan
data satu baris.
Contoh :
// nama berkas : textfield.java
import java.awt.*;
import java.awt.event.*;

public class textfield extends Frame


{
Label info;
TextField f1, f2;
Button b;

public static void main(String[] args)


{
textfield aplikasi = new textfield();
}

public textfield()
{
super("Silahkan Anda Login :");
setSize(300,120);

Label t1 = new Label("Nama Pemakai :");


f1 = new TextField("", 10);
Label t2 = new Label("Password : ");
f2 = new TextField("", 10);
f2. setEchoChar('#');
b = new Button("Login");
info = new Label();

Panel p1 = new Panel();


p1.setLayout(new GridLayout(3,2));
p1.add(t1);
p1.add(f1);
p1.add(t2);
p1.add(f2);

Panel p2 = new Panel();


p2.setLayout(new GridLayout(1,2));
p2.add(b);
p2.add(info);
add("North", p1);
add("South", p2);
b.addActionListener(new textfield.penangantombol());
show();
}

class penangantombol implements ActionListener


{
public void actionPerformed(ActionEvent e)
{
String s = e.getActionCommand();
if (s.equals("Login"))
Pemrograman
JAVA
7

{
String nama = f1.getText();
String pin = f2.getText();
if (nama.compareTo("Aditya") == 0 && pin.compareTo("123") == 0)
info.setText("Login berhasil..!");
else
info.setText("Login gagal...!");
}
}
}
}

Hasil :

TEXTAREA
Adalah kelas yang berguna untuk membuatbobjek yang dapat digunakan untuk
menampilkan data teks yang terdiri atas sejumlah baris.
Contoh :
// nama berkas : teksarea.java
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class teksarea extends Frame
{
TextArea tarea;
Button bsimpan, bmuat, bhapus;
String namaberkas = "Tarea.out";

public static void main(String[] args)


{
teksarea aplikasi = new teksarea();
}

public teksarea()
{
super("Aplikasi TextArea");
setSize(350,150);
tarea = new TextArea("Ketik teks disini...",5,30);
bsimpan = new Button("Simpan");
bmuat = new Button("Muat");
bhapus = new Button("Hapus");

Panel p1 = new Panel();


p1.add(tarea);

Panel p2 = new Panel();


p2.setLayout(new GridLayout(3,1));
Pemrograman
JAVA
8

p2.add(bsimpan);
p2.add(bmuat);
p2.add(bhapus);

add("West", p1);
add("East", p2);

bsimpan.addActionListener(new teksarea.penangantombol());
bmuat.addActionListener(new teksarea.penangantombol());
bhapus.addActionListener(new teksarea.penangantombol());
show();
}

class penangantombol implements ActionListener


{
public void actionPerformed (ActionEvent e)
{
String s = e.getActionCommand();
if (s.equals("Simpan"))
{
try {
FileWriter keluaran = new FileWriter(namaberkas);
String isiteks = tarea.getText();
keluaran.write(isiteks);
keluaran.flush();
keluaran.close();
}
catch (IOException i)
{
System.err.println("Gagal menyimpan berkas...!");
System.exit(1);
}
tarea.setText ("Teks telah disimpan...");
}
else if (s.equals("Muat"))
{
try {
FileReader masukan = new FileReader(namaberkas);
BufferedReader streamMasukan = new BufferedReader(masukan);
String teks="";
while(true)
{
String data = streamMasukan.readLine();
if (data == null) break;
teks = teks+data+'\n';
}
masukan.close();
tarea.setText(teks);
}
catch (IOException i)
{
tarea.setText("Berkas tidak dapat dibaca...");
}
}
else if(s.equals("Hapus"))
Pemrograman
JAVA
9

{
tarea.setText("");
}
}
}
}

Hasil :

Pemrograman
JAVA
1

PEMROGRAMAN WINDOW (lanjutan)

CHECKBOX
Adalah komponen yang biasa digunakan untuk memilih salah satu pilihan diantara dua
kemungkinan.
Contoh :
// nama berkas : kotakcek.java
import java.awt.*;
import java.awt.event.*;
public class kotakcek extends Frame
{
Checkbox cb1, cb2, cb3;
TextArea tarea;

public static void main(String[] args)


{
kotakcek aplikasi = new kotakcek();
}

public kotakcek()
{
super("Aplikasi Checkbox");
setSize(400,120);
cb1 = new Checkbox("Java");
cb2 = new Checkbox("C++");
cb3 = new Checkbox("PHP");
tarea = new TextArea("",3,35, TextArea.SCROLLBARS_NONE);
tarea.setEditable(false);

Panel p1 = new Panel();


p1.setLayout (new GridLayout(3,1));
p1.add(cb1);
p1.add(cb2);
p1.add(cb3);

Panel p2 = new Panel();


p2.add(tarea);

add("West", p1);
add("East", p2);

cb1.addItemListener(new kotakcek.penanganitem());
cb2.addItemListener(new kotakcek.penanganitem());
cb3.addItemListener(new kotakcek.penanganitem());
show();
}
public void cetak()
{
String scb1, scb2, scb3;
scb1 = "Pilihan Java : "+cb1.getState();
scb2 = "Pilihan C++ : "+cb2.getState();
scb3 = "Pilihan PHP : "+cb3.getState();
tarea.setText(scb1+"\n"+scb2+"\n"+scb3);
Pemrograman
JAVA
2

}
class penanganitem implements ItemListener
{
public void itemStateChanged(ItemEvent e)
{
Object o = e.getItem();
if (o.equals("Java"))
cetak();
else if (o.equals("C++"))
cetak();
else if (o.equals("PHP"))
cetak();
}
}
}

Hasil :

CHECKBOXGROUP
Adalah wadah yang mengelompokkan sejumlah kotak cek yang mempunyai sifat hanya satu
kotak cek dalam keadaan terpilih atau dalam lingkungan Windows dikenal dengan isitilah
radio button
Contoh :
// nama berkas : cbgrup.java
import java.awt.*;
import java.awt.event.*;
public class cbgrup extends Frame
{
Checkbox cb1, cb2, cb3;
CheckboxGroup cbg;
TextArea tarea;

public static void main(String[] args)


{
cbgrup aplikasi = new cbgrup();
}

public cbgrup()
{
super("Aplikasi CheckboxGroup");
setSize(450,120);
addWindowListener (new cbgrup.keluar());
Label teks1 = new Label("Pilih Jurusan Kuliah :");
cbg = new CheckboxGroup();
cb1 = new Checkbox("Sistem Informasi", cbg, true);
cb2 = new Checkbox("Teknik Informatika", cbg, false);
cb3 = new Checkbox("Manajemen Informatika", cbg, false);
tarea = new TextArea("",3,35, TextArea.SCROLLBARS_NONE);
tarea.setEditable(false);

Pemrograman
JAVA
3

Panel p1 = new Panel();


p1.setLayout (new GridLayout(4,1));
p1.add(teks1);
p1.add(cb1);
p1.add(cb2);
p1.add(cb3);

Panel p2 = new Panel();


p2.add(tarea);

add("West", p1);
add("East", p2);

cb1.addItemListener(new cbgrup.penanganitem());
cb2.addItemListener(new cbgrup.penanganitem());
cb3.addItemListener(new cbgrup.penanganitem());
show();
}

public void cetak()


{
tarea.setText("Anda memilih jurusan : \n"+cbg.getSelectedCheckbox().getLabel());
}

class keluar extends WindowAdapter


{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}

class penanganitem implements ItemListener


{
public void itemStateChanged(ItemEvent e)
{
Object o = e.getItem();
if (o.equals("Sistem Informasi"))
cetak();
else if (o.equals("Teknik Informatika"))
cetak();
else if (o.equals("Manajemen Informatika"))
cetak();
}
}
}

Hasil :

Pemrograman
JAVA
4

CHOICE
Merupakan salah satu kelas yang memungkinkan untuk membuat objek yang digunakan
untuk memilih sebuah pilihan berdasarkan sejumlah pilihan dengan mekanisme pop-up atau
dalam lingkungan Windows dikenal dengan istilah combo box
Contoh :
// nama berkas : kombo.java
import java.awt.*;
import java.awt.event.*;
public class kombo extends Frame
{
Choice pilih;
CheckboxGroup cbg;
TextArea tarea;

public static void main(String[] args)


{
kombo aplikasi = new kombo();
}

public kombo()
{
super("Aplikasi Choice");
setSize(400,120);
addWindowListener (new kombo.keluar());
Label teks1 = new Label("Pilih Jurusan Kuliah :");
pilih = new Choice();
pilih.add("Sistem Informasi");
pilih.add("Manajemen Informatika");
pilih.add("Teknik Informatika");
pilih.add("Teknik Komputer");
pilih.addItemListener(new kombo.penanganitem());

tarea = new TextArea("",3,40, TextArea.SCROLLBARS_NONE);


tarea.setEditable(false);

Panel p1 = new Panel();


p1.setLayout(new GridLayout(1,1));
p1.add(teks1);
p1.add(pilih);

Panel p2 = new Panel();


p2.setLayout(new GridLayout(1,1));
p2.add(tarea);

add("West", p1);
add("South", p2);
show();
}

class keluar extends WindowAdapter


{
public void windowClosing(WindowEvent e)
{
System.exit(0);
Pemrograman
JAVA
5

}
}

class penanganitem implements ItemListener


{
public void itemStateChanged(ItemEvent e)
{
tarea.setText("Anda Memilih Jurusan : \n"+ pilih.getSelectedItem());
}
}
}

Hasil :

LIST
Adalah kelas yang digunakan untuk membuat objek yang menyediakan pemilihan sebuah
item atau beberapa item dari sejumlah item. Komponen yang ditampilkan dilengkapi dengan
penggulung.
Contoh :
// nama berkas : teslist.java
import java.awt.*;
import java.awt.event.*;
public class testlist extends Frame
{
List daftar;
TextArea tarea;

public static void main(String[] args)


{
testlist aplikasi = new testlist();
}

public testlist()
{
super("Aplikasi List");
setSize(250,250);
addWindowListener (new testlist.keluar());
Label teks1 = new Label("Pilih Jurusan Kuliah :");
daftar = new List(5,false);
daftar.add("Sistem Informasi");
daftar.add("Manajemen Informatika");
daftar.add("Teknik Informatika");
daftar.add("Teknik Komputer");

tarea = new TextArea("",3,35, TextArea.SCROLLBARS_NONE);


tarea.setEditable(false);

Panel p1 = new Panel();


p1.setLayout (new GridLayout(3,1));
p1.add(teks1);
Pemrograman
JAVA
6

p1.add(daftar);
p1.add(tarea);

add("West", p1);

daftar.addItemListener(new testlist.penanganitem());
show();
}

class keluar extends WindowAdapter


{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}

class penanganitem implements ItemListener


{
public void itemStateChanged(ItemEvent e)
{
tarea.setText("Anda memilih jurusan :\n "+daftar.getSelectedItem());
}
}
}

Hasil :

Jika program dapat memilih lebih dari satu item, maka ubah perintah daftar = new
List(6,false) menjadi TRUE dan getSelectedItem() menjadi getSelectedItems().

SCROLLBAR
Adalah kelas yang bermanfaat untuk membuat batang penggulung.
Contoh :
// nama berkas : scroll.java
import java.awt.*;
import java.awt.event.*;
public class scroll extends Frame
{
Scrollbar sb1, sb2, sb3;
TextArea tarea;

public static void main(String[] args)


{
scroll aplikasi = new scroll();
Pemrograman
JAVA
7

public scroll()
{
super("Aplikasi ScrollBar");
setSize(400,200);
addWindowListener (new scroll.keluar());
sb1 = new Scrollbar(Scrollbar.VERTICAL,0,0,0,10);
sb2 = new Scrollbar(Scrollbar.HORIZONTAL,0,0,0,10);
sb3 = new Scrollbar(Scrollbar.HORIZONTAL,0,0,0,10);

Label t1 = new Label("Volume");


Label t2 = new Label("Bass");
Label t3 = new Label("Treble");
Label t4 = new Label("Hasil pilihan anda : ");

tarea = new TextArea("",3,35, TextArea.SCROLLBARS_NONE);


tarea.setEditable(false);

Panel p1 = new Panel();


p1.add(t1);
p1.add(sb1);
p1.add(t2);
p1.add(sb2);
p1.add(t3);
p1.add(sb3);

Panel p2 = new Panel();


p2.setLayout (new GridLayout(2,1));
p2.add(t4);
p2.add(tarea);

add("North", p1);
add("South", p2);

sb1.addAdjustmentListener(new scroll.atur());
sb2.addAdjustmentListener(new scroll.atur());
sb3.addAdjustmentListener(new scroll.atur());
show();
}

class keluar extends WindowAdapter


{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}

class atur implements AdjustmentListener


{
public void adjustmentValueChanged(AdjustmentEvent e)
{
String hasil = "Volume : "+sb1.getValue() +"\n"+
"Bass : "+sb2.getValue() +"\n"+
Pemrograman
JAVA
8

"Treble : "+sb3.getValue();
tarea.setText(hasil);
}
}
}

Hasil :

Pemrograman
JAVA
1

PEMROGRAMAN SWING dan APPLET

Swing merupakan alternatif lain untuk mengimplementasikan pemrograman window.


Walaupun diimplementasikan berdasarkan kelas AWT, Swing tidak menggunakan
komponen-komponen yang terdapat pada AWT, sehingga tampilan komponen dalam Swing
tidak tergantung pada sistem window lokal.

Pada Swing kelas JComponent merupakan superkelas bagi sejumlah kelas, misalnya
JLabel, JComboBox, JList, JPanel dan sebagainya. Swing dikemas dalam paket bernama
javax.swing.

JLABEL
Merupakan komponen yang biasa digunakan untuk meampilkan teks yang pendek. Selain
itu komponen ini dapat digunakan untuk menampilkan ikon ataupun untuk menampilkan
ikon dan teks.

Icon adalah interface yang didefinisikan untuk mengatur ikon pada paket javax.swing.
Adapun kelas yang mengimplementasikan Icon adalah ImageIcon.
Bentuk penulisan :
Icon varikon = new ImageIcon(nama file gambar)

Contoh :
// nama berkas : apsjlabel.java
import javax.swing.*;
import java.awt.event.*;
public class apsjlabel extends JFrame
{
public static void main(String[] args)
{
apsjlabel aplikasi = new apsjlabel();
}

public apsjlabel()
{
super("Aplikasi JLabel");
setSize(300,150);
addWindowListener (new apsjlabel.keluar()); Lokasi file gambar
Icon panda = new ImageIcon("f:/panda.gif");
JLabel t1 = new JLabel("Binatang kesayanganku : ");
JLabel t2 = new JLabel("Lucu...", panda, SwingConstants.CENTER);

JPanel p1 = new JPanel(); Pengaturan rata tengah


p1.add(t1);
p1.add(t2);
getContentPane () .add("South", p1);
show();
}
class keluar extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
Pemrograman
JAVA
2

}
}

Hasil :

JBUTTON
Berguna untuk membuat objek tombol yang dapat dilengkapi dengan judul tombol maupun
ikon.
Contoh :
// nama berkas : apsjbutton.java
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class apsjbutton extends JFrame
{
public static void main(String[] args)
{
apsjbutton aplikasi = new apsjbutton();
}

public apsjbutton()
{
super("Aplikasi JButton");
setSize(400,150);
addWindowListener (new apsjbutton.keluar());
Icon stop = new ImageIcon("f:/panda.gif");

JButton tmaks = new JButton("Perbesar");


JButton tmin = new JButton("Perkecil");
JButton tout = new JButton("Keluar",stop);
JPanel p1 = new JPanel();
p1.add(tmaks);
p1.add(tmin);
p1.add(tout);
getContentPane () .add("South", p1);

tmaks.addActionListener(new apsjbutton.penangantombol());
tmin.addActionListener(new apsjbutton.penangantombol());
tout.addActionListener(new apsjbutton.penangantombol());
show();
}

class keluar extends WindowAdapter


{
public void windowClosing(WindowEvent e)
{
System.exit(0);
Pemrograman
JAVA
3

}
}

class penangantombol implements ActionListener


{
public void actionPerformed(ActionEvent e)
{
String s = e.getActionCommand();
if (s.equals("Perbesar"))
{
setSize(600,400);
}
else
if (s.equals("Perkecil"))
{
setSize(400,150);
}
else
if (s.equals("Keluar"))
{
System.exit(0);
}
}
}
}

Hasil :

BOX
Berguna untuk melakukan pengaturan terhadap sejumlah komponen.
Contoh :
// nama berkas : apsbox.java
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class apsbox extends JFrame
{
public static void main(String[] args)
{
apsbox aplikasi = new apsbox();
}

public apsbox()
{
super("Aplikasi Box");
setSize(400,150);
addWindowListener (new apsbox.keluar());

Box bt1 = Box.createVerticalBox();


Pemrograman
JAVA
4

for (int i=1; i<=3; i++)


bt1.add(new JButton("Tombol ke-"+i));

Box bt2 = Box.createHorizontalBox();


for (int i=1; i<=3; i++)
{
bt2.add(new JButton("Tombol ke-"+i));
bt2.add(Box.createHorizontalStrut(20));
}
Pengaturan spasi tombol
Container p1 = getContentPane();
p1.add(BorderLayout.EAST, bt1);
p1.add(BorderLayout.SOUTH, bt2);
show();
}

class keluar extends WindowAdapter


{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
}

Hasil :

MENU
adalah kelas yag berguna untuk membuat batang menu yang biasa diletakkan di atas
jendela dan bersifat pull down. Dalam prakteknya pembuatan batang menu melibatkan
sejumlah kelas lain yaitu JMenu dan JMenuItem.
Contoh :
// nama berkas : menu.java
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.io.*;

public class menu extends JFrame implements ActionListener


{
public static void main(String[] args)
{
menu aplikasi = new menu();
}

public menu()
{
Pemrograman
JAVA
5

super("Aplikasi Menu");
setSize(300,150);
addWindowListener (new menu.keluar());

JMenuBar apsmenu = new JMenuBar();


setJMenuBar (apsmenu);
JMenu file = new JMenu("File");
JMenu warna = new JMenu("Warna");
apsmenu.add(file);
apsmenu.add(warna);

JMenuItem buka = new JMenuItem("Buka");


JMenuItem simpan = new JMenuItem("Simpan");
JMenuItem garis = new JMenuItem("-");
JMenuItem keluar = new JMenuItem("Keluar");

file.add(buka);
file.add(simpan);
file.add(garis);
file.add(keluar);

JMenu latar = new JMenu("Warna Latar Belakang");


JMenu teks = new JMenu("Warna Teks");
warna.add(latar);
warna.add(teks);

JMenuItem latarputih = new JMenuItem("Putih");


JMenuItem latarabu = new JMenuItem("Abu-abu");
latar.add(latarputih);
latar.add(latarabu);

JMenuItem tekshitam = new JMenuItem("Hitam");


JMenuItem teksbiru = new JMenuItem("Biru");
teks.add(tekshitam);
teks.add(teksbiru);

keluar.addActionListener(this);
show();
}
class keluar extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}

public void actionPerformed(ActionEvent e)


{
String s = e.getActionCommand();
if (s.equals("Keluar"))
{
dispose();
}
}
Pemrograman
JAVA
6

Hasil :

APPLET
Merupakan program Java yang ditujukan secara khusus agar bisa berjalan di lingkungan
web browser, misalnya Internet Explorer, Netscape Navigator, Opera dan sebagainya.
Applet adalah subkelas dari Panel yang terletak pada java.applet dan dilengkapi dengan
fitur untuk berkomunikasi dengan host server dan bahkan berkomunikasi antar applet
namun tidak dirancang untuk tidak melakukan operasi penulisan ke komputer klien karena
alasan keamanan.
Contoh :
// nama berkas : applet1.java
import java.awt.*;
import java.applet.Applet;

public class applet1 extends Applet


{
public void paint(Graphics g)
{
Font f = new Font ("sanserif", Font.BOLD, 20);
g.setFont(f);
g.setColor(Color.BLUE);

int xpusat = this.getSize().width/2;


int ypusat = this.getSize().height/2;
String s = "Teks ini dibuat dengan Java Applet";
FontMetrics fm = this.getFontMetrics(f);
int posisix = xpusat - (fm.stringWidth (s) /2);

g.drawString(s, posisix, ypusat);


}
}

Kompilasi program untuk menghasilkan applet1.class kemudian buat program HTML


sebagai berikut :
<html>
<head><title>Belajar Applet</title></head>
<body>
<h3>Belajar Applet</h3>
<applet code="applet1.class" width=350 height=80></applet> <br>
-- Akhir HTML --
</body>
</html>

Jika program HTML di atas dijalankan dengan menggunakan Internet Explorer akan
menghasilkan :

Pemrograman
JAVA
7

MELEWATKAN PARAMETER
Parameter yang berasal dari skrip HTML dapat ditangkap dengan menggunakan metode :
getParameter(String namaparameter)
dan dikirimkan ke applet Java melalui tag <param>

Contoh :
// nama berkas : applet2.java
import java.awt.*;
import java.applet.Applet;

public class applet2 extends Applet


{
String nama;

public void init()


{
nama = getParameter("nama");
if (nama == null)
nama = "Yudi Irawan Chandra";
nama = "Hai.."+nama+" , Apa Kabar ?";
}
public void paint (Graphics g)
{
g.drawString(nama,10,25);
}
}

File HTML :
<html>
<head><title>Belajar Applet</title></head>
<body>
<h3>Belajar Applet</h3>
<applet code="applet2.class" width=350 height=30> <br>
<param name=nama value="Aditya Fajar Ramadhan">
</applet> <br>
-- Akhir HTML --
</body>
</html>

Pemrograman
JAVA
8

MEMAINKAN SUARA
Applet mendukung metode yang ditujukan untuk memainkan suara. Metode yang
sederhana adalah dengan menggunakan : play(URL url, String namaberkas)
atau dapat juga dengan menggunakan metode getAudioClip().

Beberapa tipe suara yang dapat dimainkan adalah :


• MIDI (The Music Instrument Digital Interface)
• RMF (The Rich Music Format)
• WAV (format suara audio dari Microsoft)
• AIFF (The Audio Interchage File Format)
• AU (format suara audio dari SUN)

Contoh :
// nama berkas : musik.java
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
import java.applet.AudioClip;

public class musik extends Applet


{
Button main, berhenti, ulang;
AudioClip klip;

public void init()


{
klip = getAudioClip(getCodeBase(), "musik.mid");
main = new Button("Main");
berhenti = new Button("Berhenti");
ulang = new Button("Ulang");

add(main);
add(berhenti);
add(ulang);
main.addActionListener(new musik.penangantombol());
berhenti.addActionListener(new musik.penangantombol());
ulang.addActionListener(new musik.penangantombol());
}
class penangantombol implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String s = e.getActionCommand();
if (s.equals("Main")) klip.play();
else if (s.equals("Berhenti")) klip.stop();
else if (s.equals("Ulang")) klip.loop();
}
}
}

File HTML :
<html>
<head><title>Belajar Applet</title></head>
<body>
Pemrograman
JAVA
9

<h3>Aplikasi Musik</h3>
<applet code="musik.class" width=250 height=30>
</applet> <br>
-- Akhir HTML --
</body>
</html>

Hasil :

MENAMPILKAN GAMBAR
Gambar dapat ditampilkan dengan kelas Image, metode paint() dan menggunakan
drawImage()
Contoh :
// nama berkas : gambar.java
import java.awt.*;
import java.applet.Applet;

public class gambar extends Applet


{
Image panda;

public void init()


{
panda = getImage(getCodeBase(), "panda.gif");
}
public void paint (Graphics g)
{
g.drawImage(panda,0,0, this);
}
}

File HTML :
<html>
<head><title>Belajar Applet</title></head>
<body>
<h>My Animation :</h3>
<applet code="gambar.class" width=100 height=100>
</applet> <br>
-- Akhir HTML --
</body>
</html>

Hasil :

Pemrograman
JAVA

Anda mungkin juga menyukai