2.1.1 Identifier
Identifier adalah nama. Lebih lengkapnya, identifier merupakan nama
yang digunakan untuk mengidentifikasi elemen program, misalnya
nama variabel, nama konstanta, nama kelas, dan lain-lain.
Aturan identifier untuk Java adalah sebagai berikut:
• Identifier tidak boleh diambil dari keyword, atau true, false, null.
• Identifier boleh menggunakan huruf, angka 0-9, garis bawah
(underscore), atau tanda dolar “$”.
• Identifier harus dimulai dengan huruf, garis bawah, atau tanda
Dollar “$”.
Jika menyalahi ketentuan di atas, program Java tidak akan dapat
dikompilasi karena error.
29
Mastering Java™
2.1.2 Keyword
Keyword atau kata kunci merupakan kata yang mempunyai arti khusus
sehingga tidak dapat digunakan sebagai identifier. Berikut daftar key-
word dalam bahasa Java.
abstract boolean break byte case catch char
class const continue default do double else
extends final finally float for goto if
import instanceof int interface long native new
private protected public return short static strictfp
switch synchronized this throw throws transient try
volatile while assert implements package super void
30
Bab 2 Dasar Pemrograman Java
31
Mastering Java™
32
Bab 2 Dasar Pemrograman Java
2.2.2 Variabel
Variabel digunakan untuk menyimpan data sehingga dapat diolah oleh
program. Data yang disimpan dalam variabel bisa berupa referensi
objek maupun tipe data primitif. Dalam bahasa Java, variabel harus
dideklarasikan dengan menentukan nama variabel dan tipe data
variabel itu sendiri. Sintaks yang digunakan:
33
Mastering Java™
2.2.3 Konstanta
Konstanta digunakan untuk menyimpan data yang tidak akan kita ubah.
Contoh konstanta adalah π. Dalam bahasa Java, konstanta dituliskan
dengan menambahkan keyword final di depan tipe variabel. Sekali
konstanta diberi nilai, maka nilai tersebut tidak dapat diubah lagi.
34
Bab 2 Dasar Pemrograman Java
35
Mastering Java™
2.3 Statement
Kode program dapat dilihat sebagai kumpulan instruksi yang harus
dikerjakan oleh komputer. Setiap instruksi ini disebut juga dengan
statement. Setiap statement dalam bahasa Java diakhiri dengan tanda
titik koma.
Beberapa statement dapat dikelompokkan ke dalam grup atau blok
yang berbeda. Caranya, digunakan tanda kurung kurawal untuk me-
ngawali dan mengakhiri grup.
2.3.1 Operator
Operator digunakan untuk melakukan pengolahan data, biasanya me-
libatkan konstanta dan variabel yang telah kita buat.
Jenis Operator Simbol
Increment/decrement ++, --
Unary operators +, -, ~, !, (cast)
Perkalian/pembagian/modulus *, /, %
Penambahan/pengurangan +, -
Operator shift <<, >>, >>>
Perbandingan <, <=, >, >=,= =, !=
Bitwise AND, OR, XOR &, |, ^
Kondisional AND, OR &&, ||
Operator Ternary ?:
Operator penugasan (assignment) =
Operator Assignment
Assignment atau penugasan dilakukan menggunakan operator “=”.
Sintaks yang digunakan adalah:
36
Bab 2 Dasar Pemrograman Java
Sintaks Assignment
identifier = ekspresi;
identifier = literal;
a+1 a
37
Mastering Java™
A !A
true false
false true
Tanda && dan & serta || dan | memiliki arti berbeda. & dan | akan tetap
mengevaluasi kondisi apa pun yang terjadi. && akan menghentikan
evaluasi kondisi jika salah satu ekspresi bernilai salah. Jika salah satu
kondisi ekspresi salah, dipastikan hasil operasi logika bernilai salah.
Sedangkan || akan menghentikan evaluasi kondisi jika salah satu
ekspresi bernilai benar. Jika salah satu kondisi ekspresi benar, dipas-
tikan hasil operasi logika bernilai benar.
Mari kita buat contoh kode program untuk melakukan operasi boolean
dan menampilkan hasilnya ke layar monitor.
38
Bab 2 Dasar Pemrograman Java
Listing program
class OperatorLogika{
public static void main(String[] args) {
boolean B = true;
boolean S= false;
System.out.println("Operator OR");
System.out.println("Benar || Benar : " +(B || B));
System.out.println("Benar || Salah : " +(B || S));
System.out.println("Salah || Benar : " +(S || B));
System.out.println("Salah || Salah : " +(S || S));
System.out.println("Operator AND");
System.out.println("Benar && Benar : " +(B && B));
System.out.println("Benar && Salah : " +(B && S));
System.out.println("Salah && Benar : " +(S && B));
System.out.println("Salah && Salah : " +(S && S));
System.out.println("Operator NOT");
System.out.println("Tidak Benar: " +!B);
System.out.println("Tidak Salah: " +!S);
}
}
Operator Numerik
Operator numerik digunakan untuk melakukan penghitungan.
39
Mastering Java™
Operator Simbol
Perkalian *
Pembagian /
Penjumlahan +
Pengurangan -
Sisa(modulus) %
40
Bab 2 Dasar Pemrograman Java
Operator Perbandingan
Operator perbandingan digunakan untuk membandingkan antara nilai
yang satu dengan nilai lainnya. Operator ini sering digunakan pada
pencabangan dan perulangan untuk mengubah alur program.
Operator Deskripsi Contoh
> Lebih besar z>1
>= Lebih besar atau sama dengan z >= 3
< Lebih kecil z<4
<= Lebih kecil atau sama dengan x <= 1
== Sama dengan y == 2
!= Tidak sama dengan y != 0
41
Mastering Java™
Jika tidak ada perintah untuk mengubah tipe data, konversi akan
dilakukan secara implisit dan otomatis oleh program Java. Konversi
implisit hanya dapat dilakukan dengan mengubah tipe data ukuran kecil
ke tipe data dengan ukuran yang lebih besar. Misalnya dari tipe byte
menjadi short.
byte
short
int float
long double
42
Bab 2 Dasar Pemrograman Java
Sintaks Casting
(tipe_data) ekspresi;
Scope
Scope digunakan untuk membatasi sampai sejauh mana nilai suatu
konstanta maupun variabel masih berlaku. Di luar scope tersebut, nilai
yang telah didefinisikan menjadi tidak berlaku lagi. Scope ditentukan
oleh tanda kurung kurawal {}.
Listing program
public class ContohScopeApp {
static int x;
public static void main(String[] args){
x = 5;
System.out.println(“x dalam main = “ + x);
myMethod();
}
public static void myMethod(){
int y = 10;
if (y == x + 5){
int z = 15;
System.out.println(“myMethod: z = “ + z);
}
System.out.println(“myMethod: x = “ + x);
System.out.println(“myMethod: y = “ + y);
}
}
43
Mastering Java™
Operator Bitwise
Operator bitwise digunakan untuk melakukan operasi pada tingkat
digital. Terdapat empat jenis operator bitwise.
Simbol Operator Keterangan
& AND Nilai menjadi 1 jika variabelnya 1 semua, selain itu 0
| OR Nilai menjadi 0 jika variabelnya 0 semua, selain itu 1
^ Exclusive OR Nilai menjadi 0 jika dua variabel sama, selain itu 1
~ Complement Mengubah 1 menjadi 0 dan 0 menjadi 1
int x = 2 | 6 // x bernilai 6.
// Dalam basis dua, 10 | 110 = 110 atau = 6 dalam basis 10
44
Bab 2 Dasar Pemrograman Java
Komentar
Komentar pada program dipakai untuk memudahkan programmer
membaca kode program. Dalam bahasa Java, komentar dapat ditu-
liskan setelah tanda dua buah garis miring //, disebut juga dengan line
comment. Selain itu komentar dapat diapit di antara tanda /* dan */,
disebut juga dengan paragraph comment. Berikut beberapa contoh:
// Komentar ini hanya berfungsi untuk satu baris saja.
/* Ini adalah komentar yang bebas digunakan untuk beberapa baris
namun harus diakhiri dengan tanda */
Javadoc
Dalam Java terdapat komentar yang juga dipakai untuk dokumentasi
program. Sering disebut juga dengan Javadoc.
/** Ini adalah komentar yang menjadi dokumentasi program Java
melalui Javadoc. */
Tag Javadoc
Tag dapat digunakan pada komentar untuk membuat dokumentasi
dalam format yang standar. Tag pada komentar ditandai dengan
karakter “@” diikuti dengan kata kunci. Misalnya untuk tag nama
penulis kode, digunakan tag @author.
Tag Keterangan
@author Digunakan untuk menentukan nama pembuat kode program.
@deprecated Dipakai untuk dokumentasi library pada class maupun method yang
sudah digantikan dan sebaiknya tidak dipakai lagi dalam aplikasi
baru.
45
Mastering Java™
Huruf
Java menerapkan pemrograman case sensitive. Dengan demikian,
nama yang ditulis dengan huruf besar dan huruf kecil mempunyai arti
berbeda. Sebagai contoh, if dan If dianggap dua hal yang berbeda.
Whitespace
Whitepsace merupakan karakter kosong yang dapat berupa tab, spasi,
atau Enter. Whitespace sering digunakan programmer untuk merapikan
kode program. Whitespace di luar karakter dan string akan diabaikan
dan tidak diolah oleh kompiler.
46
Bab 2 Dasar Pemrograman Java
2.4.2 Pencabangan
Komputer sering kali harus memutuskan yang berarti memilih satu dari
beberapa aksi, tergantung dari kondisi yang ada. Inilah yang disebut
dengan pencabangan.
If
If merupakan perintah pencabangan yang paling sederhana. If membuat
statement atau kumpulan statement dijalankan, jika kondisi bernilai
benar (true).
47
Mastering Java™
T T
Y Y
statement1
statement1
statement2
statement3 statement3
Sintaks If
if (condition) { if (condition)
statement(s); statement;
}
statement;
48
Bab 2 Dasar Pemrograman Java
T T
Apakah kondisi
if (i>1)
benar?
Y Y
If Else
Pencabangan dengan if else membuat statement pertama dijalankan
jika kondisinya benar. Namun, jika kondisi bernilai salah, statement
setelah else akan dijalankan. Jika statement yang dipakai banyak,
digunakan kurung kurawal. Dengan demikian, kumpulan statement di
dalam blok kurung kurawal akan dianggap satu statement.
49
Mastering Java™
T
if (i>x)
y=i y=x
Nested If Else
If Else Nested terjadi jika ada pencabangan di dalam pencabangan.
Maksudnya, terdapat if else di dalam if atau else yang lebih tinggi.
50
Bab 2 Dasar Pemrograman Java
51
Mastering Java™
52
Bab 2 Dasar Pemrograman Java
Else If
Else if sering digunakan pada pencabangan dengan kondisi pilihan lebih
dari dua sekaligus.
Sintaks Else If
if (condition){
statement(s);
Terdapat empat pilihan:
}
• if
else if (condition)
• else if
statement; • else if
else if (condition){ • else
statement(s);
}
else
statement4;
53
Mastering Java™
54
Bab 2 Dasar Pemrograman Java
Y
nilaiTotal>85 nilaiKuliah=’A’
Y
nilaiTotal>70 nilaiKuliah=’B’
Y
nilaiTotal>60 nilaiKuliah=’C’
Y
nilaiTotal>50 nilaiKuliah=’D’
nilaiKuliah=’E’
Ternary
Digunakan untuk menuliskan perintah pencabangan dalam sintaks yang
singkat. Operator ternary melibatkan tiga buah operator dan cocok
untuk kondisi pencabangan yang sederhana.
Sintaks Ternary
identifier = condition ? value1 : value2;
55
Mastering Java™
Apakah kondisi T T
x>0?
terpenuhi?
Y Y
Switch
Jika pada pencabangan terdapat pilihan yang banyak, perintah switch
lebih dianjurkan daripada menggunakan if. Switch hampir mirip seperti
else if. Switch lebih sering dipakai pada beberapa pilihan menggunakan
satu variabel sebagai penentu pencabangan.
56
Bab 2 Dasar Pemrograman Java
Sintaks Switch
switch (identifier) {
case value1:
Terdapat tiga pilihan
statements; tergantung pada nilai
break; variabel identifier:
case value2: • Value1
statements; • Value2
break; • Default
default:
statements;
break;
}
57
Mastering Java™
nilaiTotal?
Y
>85 nilaiKuliah=’A’ break
Y
>70 nilaiKuliah=’B’ break
Y
>60 nilaiKuliah=’C’ break
Y
>50 nilaiKuliah=’D’ break
nilaiKuliah=’E’
break
58
Bab 2 Dasar Pemrograman Java
nilaiTotal?
Y
>85 nilaiKuliah=’A’
Y
>70 nilaiKuliah=’B’
Y
>60 nilaiKuliah=’C’
Y
>50 nilaiKuliah=’D’
nilaiKuliah=’E’
59
Mastering Java™
2.4.3 Perulangan
Ada beberapa perintah yang digunakan untuk menerapkan perulangan
dalam Java, antara lain:
• While loop
• Do while loop
• For loop
While loop
Perulangan while loop dimulai dengan mengevaluasi kondisi apakah
benar atau tidak. Jika benar, statement akan dijalankan dan program
kembali lagi melakukan evaluasi kondisi apakah benar atau tidak.
Demikian seterusnya hingga kondisi bernilai salah.
Jika salah, statement akan dilewati dan evaluasi kondisi tidak akan
dilakukan lagi. Dengan kata lain, perintah pada statements akan terus
dieksekusi selama kondisi pada condition bernilai benar (true).
60
Bab 2 Dasar Pemrograman Java
T
Apakah kondisi
benar?
Pemrosesan data
Do While Loop
Sintaks Do While Loop
do {
statement(s);
} while (condition);
61
Mastering Java™
System.out.println(“Hai”);
count--;
} while (count > 1);
Dari perintah di atas, tulisan “Hai” akan muncul sebanyak sembilan kali.
Mulai dari saat nilai variabel count=10 hingga menjadi 2.
System.out.println(“Hai”);
Y Count--;
Apakah Kondisi
benar?
Y
count>1?
T
T
For Loop
Sintaks For Loop
for (initial; condition; post-iteration) {
statement(s);
}
62
Bab 2 Dasar Pemrograman Java
Inisialisasi i=0
T T
Kondisi loop
apakah i<10?
terpenuhi?
Y Y
63
Mastering Java™
Listing program
public class CollectionForLoop {
enum Season { spring, summer, fall, winter }
public static void main(String[] args) {
for(Season season : Season.values()) {
System.out.println(“ The season is now “ + season);
}
}
}
64
Bab 2 Dasar Pemrograman Java
Nested Loop
Nested loop terjadi ketika terdapat loop di dalam loop. Dengan demi-
kian, jumlah perulangan yang terjadi lebih banyak; yaitu perkalian
antara loop yang di dalam dengan loop yang di luar.
Nested loop banyak dipakai untuk melakukan perulangan bertingkat,
misalnya untuk menampilkan daftar perkalian bilangan, faktorial, dan
lain-lain.
65
Mastering Java™
T
Kondisi loop x=5
apakah
terpenuhi?
T
x<5
Y
Y
System.out.println();
Pemrosesan data
x++
Pada contoh ini, kode program ini, akan dibuat program yang menam-
pilkan urutan looping. Terlihat bahwa loop dengan variabel y terletak di
dalam, sedangkan loop dengan variabel x terletak di luar.
Listing program
public class NestedLoop{
public static void main(String[] args){
for(int x = 0; x < 5; x++){
for (int y = 5; y < 10; y++)
System.out.print("x"+x + "-y" + y +" ");
System.out.println();
}
}
}
66
Bab 2 Dasar Pemrograman Java
67
Mastering Java™
i=1
T
i<=15
faktorial=1
faktor=2
T
faktor<=i?
faktorial=
faktorial*faktor
faktor++
System.out.println();
i++
68
Bab 2 Dasar Pemrograman Java
Sintaks Label
identifier:
Listing program
public class DemoBreak{
public static void main(String[] args){
for (int nilai = 0; nilai < 20; nilai += 2){
if (nilai == 10)
break;
System.out.print(nilai + " ");
}
System.out.println();
}
}
69
Mastering Java™
Listing program
public class DemoContinue{
public static void main(String[] args){
for (int nilai = 0; nilai <20; nilai += 2){
if (nilai == 10)
continue;
System.out.print(nilai + " ");
}
System.out.println();
}
}
Listing program
public class DemoBreakLabel{
public static void main(String[] args){
ganti:
for(int i = 1; i < 100; i++){
int j = 1;
System.out.println("Loop tingkat pertama. i= " + i);
while(true){
System.out.println("Loop tingkat kedua. j=" + j);
if(j++ == 2){
break ganti;
}
}
}
System.out.println("Keluar dari loop");
}
}
70
Bab 2 Dasar Pemrograman Java
Break pada kode di atas menyebabkan alur program berhenti dan dicari
label dengan nama ganti. Diketahui setelah label ganti, terdapat
perintah for loop. Dengan demikian, for loop ini dilewati dan program
langsung melompat ke statement untuk menampilkan kalimat “Keluar
dari loop”.
Listing program
public class DemoContinueLabel{
public static void main(String[] args){
wow:
for(int i = 0; i < 3; i++){
System.out.println("Loop tingkat pertama. i=" + i);
for(int j = 0; j < 10; j++){
System.out.println("Loop tingkat kedua. j=" + j);
if(j == (i * 2)){
continue wow;
}
}
}
System.out.println("Keluar dari loop");
}
}
71
Mastering Java™
Return
Return dibutuhkan untuk keluar dari method. Dengan dijalankannya
perintah return, method telah selesai dijalankan. Jika kita tidak
menuliskan perintah return, kompiler Java akan menambahkannya
pada saat kompilasi.
Return tidak selalu mengembalikan nilai. Pada method dengan modifier
void, perintah return dapat ditambahkan sebagai berikut:
public void ucapan(){
System.out.println(“Selamat Datang”);
return;
}
2.5 Array
Kita sudah mempelajari bahwa setiap variabel dengan tipe data primitif
hanya mempunyai satu nilai saja. Jika programmer bekerja dengan
banyak nilai, tentu akan kesulitan jika harus menentukan nilai tersebut
satu per satu.
Dalam kasus inilah array sangat berguna. Dengan menggunakan array,
variabel dengan satu nama dapat digunakan untuk beberapa nilai
72
Bab 2 Dasar Pemrograman Java
73
Mastering Java™
Selain dengan cara manual, deklarasi nilai array dapat juga dilakukan
secara otomatis menggunakan loop. Cara ini cocok dipakai untuk nilai
yang mempunyai pola. Berikut contohnya.
double[] data = new double[100];
// Deklarasi array dengan panjang 100
for(int i = 0 ; i<data.length ; i++) {
data[i] = i x 10;
}
Dengan kode di atas, array pada data akan berisi nilai dari 0 hingga 99
x 10 = 990.
Jika nilai array tidak didefinisikan, kompiler akan memberikan nilai
default. Nilai default tergantung dari tipe data array tersebut.
• Numerik, nilai default 0
• Char, nilai default ‘\u0000’
• Boolean, nilai default false
Setelah ditentukan, jumlah index dalam array tidak dapat diganti lagi.
Jumlah index dalam array dapat diketahui menggunakan perintah
length, misalnya data.length seperti pada contoh sebelumnya.
Nilai yang disimpan pada array dapat diakses menggunakan index-nya.
Berikut contoh kode untuk menampilkan nilai pada array data dengan
index lima.
System.out.println(“Data pada index array kelima=”+ data[5]);
74
Bab 2 Dasar Pemrograman Java
Listing program
public class DemoArgs{
public static void main(String[] angka){
if(angka.length < 2){
System.out.println("Gunakan minimal dua angka");
System.exit(1);
}
int jumlah = 0;
for(int i = 0; i < angka.length; i++){
jumlah += Integer.parseInt(angka[i]);
}
System.out.println("Hasil penjumlahan= " + jumlah);
}
}
75
Mastering Java™
Listing program
public class Kali {
public static void main(String[] args) {
int kali[][] = new int[5][10];
for (int i = 0; i<kali.length; i++){
for(int j = 0 ; j<kali[i].length ; j++) {
kali[i][j] = (i +1) * (j + 1);
System.out.print(kali[i][j] +"\t" );
}
}
}
}
Kita dapat melihat array multidimensi sebagai array dengan data array
di dalamnya.
char[] row1 = {‘S’, ‘A’, ‘T’, ‘U’};
char[] row2 = {‘B’, ‘U’, ‘D’, ‘I’};
char[] row3 = {‘B’, ‘I’, ‘S’, ‘A’};
char[] [] tabel = {row1, row2, row3};
76
Bab 2 Dasar Pemrograman Java
tabel[][]
0 1 2 3
0 S A T U row1[]
1 B U D I row2[]
2 B I S A row3[]
Listing program
public class HitungVolumeTabung {
public static void main(String[] args) {
System.out.println("Masukkan jari-jari diikuti tinggi tabung");
double jari;
double tinggi;
// 1. Baca masukan berupa jari-jari dan tinggi tabung
jari = Double.parseDouble(args[0]);
tinggi = Double.parseDouble(args[1]);
// 2. Hitung volume tabung
double volume = 0.5 * 3.14 * jari * jari * tinggi;
// 3. Tampilkan besar volume tabung
System.out.println("Besar volume tabung dengan jari-jari "
77
Mastering Java™
78