Materi PBO-Edi Furqon
Materi PBO-Edi Furqon
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.
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.
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
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.
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
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.
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.
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)
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/
2. Aplikasi
adalah program yang dibuat dengan Java yang bersifat umum tanpa menggunakan
perangkat lunak web browser.
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
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)
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
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
1. byte
2. short Tipe data bilangan bulat
3. int
4. long
Pemrograman
JAVA
2
5. float
6. double Tipe data bilangan real
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
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);
}
}
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
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);
}
}
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...”;
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.
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
---------------------------------------------- */
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)
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
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
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
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);
}
}
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
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));
}
}
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 = += -= *= /= %= ^=
&= |= <<= >>= >>>=
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
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
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
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.
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
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;
nilai1 = Integer.parseInt(input1);
nilai2 = Integer.parseInt(input2);
Pemrograman JAVA
5
JOptionPane.showMessageDialog(null,"Hasil Penjumlahan"
+jumlah,"Jumlah",JOptionPane.PLAIN_MESSAGE);
Hasil :
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();
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 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'));
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;
}
double diskon=0;
if (total >= 1000000)
diskon = 0.1 * total;
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
{
double diskon;
if (total >= 1000000)
diskon = 0.1 * total;
else
diskon = 0;
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
{
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';
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
{
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
{
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
3. Perusahaan Susu Cap Nona ingin membuat sistem penjualan susu dengan
tampilan sebagai berikut :
Susu Indomilk
Harga Susu Rp. 4000.00
Jumlah Pembelian Rp. 20000.00
Untuk daftar harga produk susu dapat dilihat pada tabel di bawah ini :
Pemrograman
JAVA
1
PENGULANGAN PROSES
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;
}
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
Hasil :
*****
*****
*****
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
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
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 adalah obyek yang dapat digunakan untuk menyimpan sejumlah data. Elemen yang
disimpan pada array dapat berupa tipe primitif (misalnya int) ataupun instan kelas (obyek).
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.
Dua pernyataan :
String [ ] kota; String [ ] kota = new String[5];
dapat disingkat
kota = new String[5]
Pemrograman JAVA
2
Subskrip berupa nomor elemen dimana elemen pertama dimulai dari 0 (nol).
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";
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
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"};
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
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;
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
Hasil :
Ibukota Indonesia adalah Jakarta
Ibukota Filipina adalah Manila
Ibukota Jepang adalah Tokyo
Ibukota Iran adalah Teheran
Ibukota Mesir adalah Kairo
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
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
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()
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
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;
}
Hasil :
Warna mobilku adalah Merah
Dibuat tahun : 2008
String isiwarna()
{
metode
return warna;
}
int isitahun()
{
metode
return tahun;
}
}
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.
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);
}
}
Hasil :
Warna dan tahun pada metode mobilku : Biru dan 2008
Warna dan tahun pada kelas instan mobil : Merah dan 2008
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;
String isinama()
{
Pemrograman
JAVA
6
return this.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.
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,...) { ... }
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
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.
Contoh :
//nama berkas : konstruktor.java
class mobil
{
private String warna; variabel instan
private int tahun;
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;
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
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;
Pemrograman
JAVA
4
this.pencacah++;
}
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.
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
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;
}
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).
Pemrograman
JAVA
1
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.
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
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.
• 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
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
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"};
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
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"};
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
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 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
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");
tombolmaks.addActionListener(new testtombol1.penangantombol());
tombolend.addActionListener(new testtombol1.penangantombol());
addWindowListener(new testtombol1.penangankejadian());
show();
}
{
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);
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 textfield()
{
super("Silahkan Anda Login :");
setSize(300,120);
{
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 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");
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();
}
{
tarea.setText("");
}
}
}
}
Hasil :
Pemrograman
JAVA
1
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 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);
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 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
add("West", p1);
add("East", p2);
cb1.addItemListener(new cbgrup.penanganitem());
cb2.addItemListener(new cbgrup.penanganitem());
cb3.addItemListener(new cbgrup.penanganitem());
show();
}
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 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());
add("West", p1);
add("South", p2);
show();
}
}
}
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 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");
p1.add(daftar);
p1.add(tarea);
add("West", p1);
daftar.addItemListener(new testlist.penanganitem());
show();
}
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 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);
add("North", p1);
add("South", p2);
sb1.addAdjustmentListener(new scroll.atur());
sb2.addAdjustmentListener(new scroll.atur());
sb3.addAdjustmentListener(new scroll.atur());
show();
}
"Treble : "+sb3.getValue();
tarea.setText(hasil);
}
}
}
Hasil :
Pemrograman
JAVA
1
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);
}
}
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");
tmaks.addActionListener(new apsjbutton.penangantombol());
tmin.addActionListener(new apsjbutton.penangantombol());
tout.addActionListener(new apsjbutton.penangantombol());
show();
}
}
}
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());
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 menu()
{
Pemrograman
JAVA
5
super("Aplikasi Menu");
setSize(300,150);
addWindowListener (new menu.keluar());
file.add(buka);
file.add(simpan);
file.add(garis);
file.add(keluar);
keluar.addActionListener(this);
show();
}
class keluar extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
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;
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;
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().
Contoh :
// nama berkas : musik.java
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
import java.applet.AudioClip;
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;
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