BAB 4
Dasar-Dasar Pemrograman
4.1 Tujuan
Pada bagian ini, kita akan mendiskusikan mengenai bagian dasar pemrograman Java. Kita
akan memulai dengan mencoba menjelaskan bagian dasar dari program Hello.java yang
telah diperkenalkan pada bab sebelumnya. Kita juga akan mendiskusikan beberapa
pedoman cara menulis script atau petunjuk penulisan kode dalam penulisan program yang
lebih efektif dan mudah dibaca.
Pada akhir pembahasan, diharapkan pembaca dapat :
Mengidentifikasi bagian dasar dari program Java
Membedakan mana yang termasuk ke dalam Java literals, tipe data dasar, tipe variabel,
pengidentifikasian dan operator
Mengembangkan program Java sederhana menggunakan konsep yang dipelajari pada
bab ini
System.out.println("Hello world!");
}
}
menandakan nama class yaitu Hello. Dalam Java, semua kode seharusnya ditempatkan di
dalam deklarasi class. kita melakukannya dengan menggunakan kata kunci class. Sebagai
tambahan, class menggunakan access specifier public, yang mengindikasikan bahwa class
kita mempunyai akses bebas ke class yang lain dari package yang lain pula (package
Pengenalan Pemrograman I 1
J.E.N.I.
merupakan kumpulan class-class). Kita akan membahas lebih dalam mengenai package dan
access specifier pada pembahasan selanjutnya.
Baris berikutnya yaitu yang terdiri atas kurung kurawal { menandakan awal blok. Pada kode
ini, kita menempatkan kurung kurawal pada baris selanjutnya setelah deklarasi class,
bagaimanapun, kita dapat juga meletakkan kurung kurawal ini setelah baris pertama dari
kode yang kita tulis. Jadi, kita dapat menulis kode kita sebagai berikut :
Tiga baris selanjutnya menandakan adanya komentar Java. Komentar adalah sesuatu yang
digunakan untuk mendokumentasikan setiap bagian dari kode yang ditulis. Komentar bukan
merupakan bagian dari program itu sendiri, tetapi digunakan untuk tujuan dokumentasi.
Komentar itu sendiri dapat ditambahkan pada kode yang Anda tulis sebagai petunjuk yang
dapat membantu proses pembelajaran pemrograman yang baik.
/**
* My first java program
*/
Komentar dinyatakan dengan tanda “/*” dan “*/”. Segala sesuatu yang ada diantara tanda
tersebut diabaikan oleh compiler Java, dan mereka hanya dianggap sebagai komentar.
Baris selanjutnya,
mengindikasikan nama suatu method dalam class Hello yang bertindak sebagai method
utama. Method utama adalah titik awal dari suatu program Java. Semua program kecuali
applet yang ditulis dalam bahasa Java dimulai dengan method utama. Yakinkan untuk
mengikuti kaidah penulisan tanda yang benar.
Baris selanjutnya,
Pengenalan Pemrograman I 2
J.E.N.I.
System.out.println("Hello world!");
Dua baris terakhir yang terdiri atas dua kurung kurawal digunakan untuk menutup method
utama dan masing-masing class secara berurutan.
1. Program Java yang Anda buat harus selalu diakhiri dengan ekstensi file .java.
2. Nama File seharusnya sesuai/sama dengan nama class public nya. Sebagai contoh, jika
nama class public Anda adalah Hello, Anda harus menyimpan file tersebut dengan nama
Hello.java.
3. Anda harus menulis komentar sebagai penjelasan pada kode yang Anda tulis, yaitu
komentar yang berisi keterangan mengenai baris perintah pada class atau apa yang
dijalankan oleh method yang Anda tulis tersebut.
Pengenalan Pemrograman I 3
J.E.N.I.
/* this is an example of a
C style or multiline comments */
/**
This is an example of special java doc comments used for \n
generating an html documentation. It uses tags like:
@author Florence Balagtas
@version 1.2
*/
Pengenalan Pemrograman I 4
J.E.N.I.
System.out.println(“Hello world”);
Blok adalah satu atau lebih pernyataan yang terbentang antara kurung kurawal buka dan
kurung kurawal tutup yaitu sekumpulan pernyataan sebagai satu unit kesatuan. Blok
pernyataan dapat dikumpulkan akan tetapi tidak secara pasti mempunyai keterkaitan
fungsi. Beberapa jumlah spasi kosong diijinkan terdapat didalamnya, sebagai contoh dari
suatu blok adalah :
1. Pada saat pembuatan blok, Anda dapat meletakkan kurung kurawal buka pada baris
dengan pernyataan seperti contoh sebagai berikut ,
public static void main( String[] args ){
atau Anda dapat meletakkan kurung kurawal pada baris selanjutnya, seperti,
Pengenalan Pemrograman I 5
J.E.N.I.
Pendeklarasian Java adalah case-sensitive. Hal ini berarti bahwa Identifier : Hello tidak
sama dengan hello. Identifier harus dimulai dengan salah satu huruf, underscore “_”, atau
tanda dollar “$”. Hurufnya dapat berupa huruf besar maupun huruf kecil. Karakter
selanjutnya dapat menggunakan nomor 0 smpai 9.
Identifier tidak dapat menggunakan kata kunci dalam Java seperti class, public, void, dsb.
Selanjutnya kita akan berdiskusi lebih banyak tentang kata kunci dalam Java.
1. Untuk pemberian nama dari class Java, diberikan huruf kapital untuk huruf pertama pada
nama class. Untuk nama method dan variabel, huruf pertama dari kata harus dimulai
dengan huruf kecil. Sebagi contoh:
ThisIsAnExampleOfClassName
thisIsAnExampleOfMethodName
2. Pada kasus untuk identifier lebih dari satu kata, menggunakan huruf kapital untuk
mengindikasikan awal dari kata kecuali kata pertama. Sebagai contoh, charArray,
fileNumber, ClassName.
3. Hindari menggunakan underscores pada awal identifier seperti _read atau _write.
Pengenalan Pemrograman I 6
J.E.N.I.
Kita akan berdiskusi tentang semua arti dari masing-masing kata kunci dan bagaimana
mereka digunakan dalam proses penulisan program Java.
Catatan: true, false, dan null bukan termasuk kata kunci akan tetapi mereka termasuk
kata-kata khusus, jadi Anda tidak dapat menggunakan mereka sebagai nama variabel pada
program Anda.
Pengenalan Pemrograman I 7
J.E.N.I.
Untuk angka desimal, kita tidak memerlukan notasi khusus. Kita hanya menulis angka
desimal seperti apa adanya. untuk angka heksadesimal, hal itu harus ditandai oleh “0x”
atau “0X”. untuk oktal, ditandai oleh“0”.
Sebagai contoh, mewakili angka 12. Penulisan dalam bentuk desimalnya adalah 12,
Sementara dalam heksadesimal, menjadi 0xC, dan dalam oktal, nilai tersebut sama dengan
014.
Default tipe data untuk integer literals adalah int. Int adalah signed 32-bit value. Pada
kasus-kasus tertentu Anda dapat berharap untuk memaksa integer literal untuk menjadi
tipe data long dengan menambahkan karakter “l” or “L”. tipe data long ditandai oleh
ditampilkannya data dalam 64-bit. Kita akan membahas mengenai tipe data pada
kesempatan selanjutnya.
Default Floating point literals mempunyai tipe data double yang dinyatakan dalam 64-bit.
Untuk menggunakan ketelitian yang lebih kecil (32-bit) float, hanya dengan menambahkan
karakter “f” atau “F”.
Untuk menggunakan character literals, karakter tersebut di dalam tanda single pute (' ')
(single quote delimiters). Sebagai contoh huruf a, diwakili sebagai ‘a’.
Untuk menggunakan karakter khusus seperti karakter baris baru, backslash digunakan
diikuti dengan karakter kode. Sebagai contoh, ‘\n’ untuk karakter baris baru atau ganti
baris, ‘\r’ untuk menyatakan nilai balik (carriage return), ‘\b’ untuk backspace.
Pengenalan Pemrograman I 8
J.E.N.I.
Contoh yang ditunjukkan diatas, mendeklarasikan variabel yang dinamai result sebagai
tipe data boolean dan memberinya nilai true.
‘a’ //Huruf a
‘\t’ //A tab
Untuk menampilkan karakter khusus seperti ' (single quotes) atau " (double quotes),
menggunakan karakter escape \. Sebagai contoh,
Meskipun String bukan merupakan tipe data primitif (namun merupakan suatu Class),kita
akan memperkenalkan mengenai pada bagian ini. String mewakili tipe data yang terdiri atas
beberapa karakter. Mereka tidak termasuk tipe data primitif, melainkan suatu class.
Mereka memiliki literal yang terdapat diantara tanda double quotes(“”).
Sebagai contoh,
Pengenalan Pemrograman I 9
J.E.N.I.
2 //nilai desimal 2
077 //angka 0 pada awal pernyataan mengindikasikan nilai oktal
0xBACC //karakter 0x mengindikasikan nilai heksadesimal
Tipe-tipe integral memiliki default tipe data yaitu int. Anda dapat merubahnya ke bentuk
long dengan menambahkan huruf l atau L. Tipe data integral memiliki range sebagai
berikut:
Pengenalan Pemrograman I 10
J.E.N.I.
Contohnya adalah,
Pada contoh yang ditunjukkan diatas, 23 setelah E pada contoh kedua bernilai positif.
Contoh tersebut sama dengan 6.02E+23. Tipe data Floating-point memiliki range sebagai
berikut:
Pengenalan Pemrograman I 11
J.E.N.I.
4.9. Variabel
Variabel adalah item yang digunakan data untuk menyimpan pernyataan objek.
Variabel memiliki tipe data dan nama. Tipe data menandakan tipe nilai yang dapat
dibentuk oleh variabel itu sendiri. Nama variabel harus mengikuti aturan untuk identifier.
Catatan: Nilainya berada diantara <> adalah nilai yang disyaratkan, sementara nilai dalam
tanda [] bersifat optional.
Berikut ini adalah contoh program yang mendeklarasikan dan menginisialisasi beberapa
variabel,
Pengenalan Pemrograman I 12
J.E.N.I.
double grade = 0;
Bentuk yang lebih disukai ketika melakukan deklarasi adalah,
double exam=0, quiz=10, grade=0;
System.out.println()
System.out.print()
System.out.println( value );
System.out.println( “The value of x=” + x );
}
}
Program tersebut akan mengeluarkan teks berikut pada layar,
10
The value of x=A
System.out.print("Hello ");
System.out.print("world!");
Hello world!
System.out.println("Hello ");
System.out.println("world!");
Pengenalan Pemrograman I 13
J.E.N.I.
Hello
world!
Pengenalan Pemrograman I 14
J.E.N.I.
Sekarang kita akan membedakan dua tipe variabel yang dimiliki oleh program Java. Ada
variabel reference dan variabel primitif .
Variabel primitif adalah variabel dengan tipe data primitif. Mereka menyimpan data dalam
lokasi memori yang sebenarnya dimana variabel tersebut berada.
Variabel Reference adalah variabel yang menyimpan alamat dalam lokasi memori. Yang
menunjuk ke lokasi memori dimana data sebenarnya berada. Ketika Anda mendeklarasikan
variabel pada class tertentu, Anda sebenarnya mendeklarasikan reference variable dalam
bentuk objek dalam classnya tersebut.
Sebagai contoh, Apabila kita mempunyai dua variabel dengan tipe data int dan String.
Dimisalkan ilustrasi yang ditunjukkan dibawah ini adalah memori yang ada pada komputer
Anda, dimana Anda memiliki alamat dari setiap sel memorinya, nama variabel dan datanya
terbentuk sebagai berikut.
: :
:
:
2000 "Hello"
Seperti yang dapat Anda lihat, untuk variable primitif num, datanya berada dalam lokasi
dimana variabel berada. Untuk reference variable name, variabel hanya menunjuk alamat
dimana data tersebut benar-benar ada.
Pengenalan Pemrograman I 15
J.E.N.I.
4.10 Operator
Dalam Java, ada beberapa tipe operator. Ada operator aritmatika, operator relasi, operator
logika, dan operator kondisi. Operator ini mengikuti bermacam-macam prioritas yang pasti
sehingga compilernya akan tahu yang mana operator untuk dijalankan lebih dulu dalam
kasus beberapa operator yang dipakai bersama-sama dalam satu pernyataan.
Pengenalan Pemrograman I 16
J.E.N.I.
//sedikit angka
int i = 37;
int j = 42;
double x = 27.475;
double y = 7.22;
System.out.println("Variable values...");
System.out.println(" i = " + i);
System.out.println(" j = " + j);
System.out.println(" x = " + x);
System.out.println(" y = " + y); //penjumlahan angka
System.out.println("Adding...");
System.out.println(" i + j = " + (i + j));
System.out.println(" x + y = " + (x + y));
//pengurangan angka
System.out.println("Subtracting...");
System.out.println(" i - j = " + (i - j));
System.out.println(" x - y = " + (x - y));
//perkalian angka
System.out.println("Multiplying...");
System.out.println(" i * j = " + (i * j));
System.out.println(" x * y = " + (x * y));
//pembagian angka
System.out.println("Dividing...");
System.out.println(" i / j = " + (i / j));
System.out.println(" x / y = " + (x / y));
//tipe penggabungan
System.out.println("Mixing tipes...");
System.out.println(" j + y = " + (j + y));
System.out.println(" i * x = " + (i * x));
}
}
Variable values...
i = 37
j = 42
Pengenalan Pemrograman I 17
J.E.N.I.
x = 27.475
y = 7.22
i + j = 79
Adding...
x + y = 34.695
Subtracting...
i - j = -5
x - y = 20.255
Multiplying...
i * j = 1554
x * y = 198.37
Dividing...
i / j = 0
x / y = 3.8054
Computing the remainder...
i % j = 37
x % y = 5.815
Mixing tipes...
j + y = 49.22
i * x = 1016.58
Catatan: Ketika integer dan floating-point number digunakan sebagai operand untuk
operasi aritmatika tunggal, hasilnya berupa floating point. Integer adalah converter secara
implisit ke bentuk angka floating-point sebelum operasi berperan mengambil tempat.
Pengenalan Pemrograman I 18
J.E.N.I.
count++;
Operator increment dan decrement dapat ditempatkan sebelum atau sesudah operand.
int i = 10,
int j = 3;
int k = 0;
Ketika operator increment dan decrement ditempatkan setelah operand, nilai variabel yang
lama akan digunakan lebih dulu dioperasikan lebih dulu terhadap pernyataan dimana dia
ditambahkan. Sebagai contoh,
Pengenalan Pemrograman I 19
J.E.N.I.
int i = 10,
int j = 3;
int k = 0;
>= op1 >= op2 op1 lebih besar dari atau sama dengan op2
<= op1 <= op2 op1 kurang dari atau sama dengan op2
Pengenalan Pemrograman I 20
J.E.N.I.
//sama dengan
System.out.println("Sama dengan...");
System.out.println(" i == j = " + (i == j)); //false
System.out.println(" k == j = " + (k == j)); //true
}
}
Pengenalan Pemrograman I 21
J.E.N.I.
Nilai variabel...
i = 37
j = 42
k = 42
Lebih besar dari...
i > j = false
j > i = true
k > j = false
Lebih besar dari atau sama dengan...
i >= j = false
j >= i = true
k >= j = true
Lebih kecil dari...
i < j = true
j < i = false
k < j = false
Lebih kecil dari atau sama dengan...
i <= j = true
j <= i = false
k <= j = true
Sama dengan...
i == j = false
k == j = true
Tidak sama dengan...
i != j = true
k != j = false
Pengenalan Pemrograman I 22
J.E.N.I.
x1 op x2
Dimana x1, x2 dapat menjadi pernyataan boolean. Variabel atau konstanta, dan op adalah
salah satu dari operator &&, &, ||, | atau ^. Tabel kebenaran yang akan ditunjukkan
selanjutnya, merupakan kesimpulan dari hasil dari setiap operasi untuk semua kombinasi
yang mungkin dari x1 dan x2.
Pengenalan Pemrograman I 23
J.E.N.I.
x1 x2 Hasil
TRUE TRUE TRUE
TRUE FALSE FALSE
FALSE TRUE FALSE
FALSE FALSE FALSE
Tabel 6: Tabel Kebenaran untuk & dan &&
Perbedaan dasar antara operator && dan & adalah bahwa && mensupports short-circuit
evaluations (atau evaluasi perbagian), sementara operator & tidak. Apa arti dari
pernyataan tersebut?
&& akan mengevaluasi pernyataan exp1, dan segera mengembalikan nilai false dan
menyatakan bahwa exp1 bernilai false. Jika exp1 bernilai false, operator tidak akan pernah
mengevaluasi exp2 karena hasil operasi operator akan menjadi false tanpa memperhatikan
nilai dari exp2. Sebaliknya, operator & selalu mengevaluasi kedua nilai dari exp1 dan exp2
sebelum mengembalikan suatu nilai jawaban.
Berikut ini adalah suatu contoh source code yang menggunakan logika dan boolean AND,
int i = 0;
int j = 10;
boolean test= false;
//demonstrasi &&
test = (i > 10) && (j++ > 9);
System.out.println(i);
System.out.println(j);
System.out.println(test);
//demonstrasi &
test = (i > 10) & (j++ > 9);
System.out.println(i);
System.out.println(j);
System.out.println(test);
}
}
Pengenalan Pemrograman I 24
J.E.N.I.
0
10
false
0
11
false
Catatan, bahwa j++ pada baris yang mengandung operator && tidak dievaluasi sejak
pernyataan pertama (i>10) yaitu telah bernilai sama dengan false.
Pengenalan Pemrograman I 25
J.E.N.I.
x1 x2 Hasil
TRUE TRUE TRUE
TRUE FALSE TRUE
FALSE TRUE TRUE
FALSE FALSE FALSE
Tabel 7: Table Kebenaran untuk | dan ||
exp1 || exp2
|| akan mengevaluasi pernyataan exp1, dan segera mengembalikan nilai true dan
menyatakan bahwa exp1 bernilai true. Jika exp1 bernilai true, operator tidak akan pernah
mengevaluasi exp2 karena hasil dari operasi operator akan bernilai true tanpa
memperhatikan nilai dari exp2. Sebaliknya,operator | selalu mengevaluasi kedua nilai dari
exp1 and exp2 sebelum mengembalikan suatu jawaban suatu nilai.
Berikut ini sebuah contoh source code yang menggunakan operator logika dan boolean OR,
int i = 0;
int j = 10;
boolean test= false;
//demonstrasi ||
test = (i < 10) || (j++ > 9);
System.out.println(i);
System.out.println(j);
System.out.println(test);
//demonstrasi |
test = (i < 10) | (j++ > 9);
System.out.println(i);
System.out.println(j);
System.out.println(test);
}
}
Pengenalan Pemrograman I 26
J.E.N.I.
0
10
true
0
11
true
Catatan, bahwa j++ pada baris yang terdiri atas operator || tidak dievaluasi sejak
pernyataan pertama (i<10) yaitu telah bernilai sama dengan true.
Pengenalan Pemrograman I 27
J.E.N.I.
x1 x2 Hasil
TRUE TRUE FALSE
TRUE FALSE TRUE
FALSE TRUE TRUE
FALSE FALSE FALSE
Tabel 8: Tabel kebenaran untuk ^
Hasil operasi operator exclusive OR adalah TRUE, jika dan hanya jika satu operand bernilai
TRUE dan yang lain bernilai False. Catatan jika kedua operand harus selalu dievaluasi untuk
menjumlahkan hasil dari suatu exclusive OR.
Berikut ini adalah contoh source code yang menggunakan operator logika exclusive OR,
val1 = false;
val2 = true;
System.out.println(val1 ^ val2);
val1 = false;
val2 = false;
System.out.println(val1 ^ val2);
val1 = true;
val2 = false;
System.out.println(val1 ^ val2);
}
}
Hasil keluaran program tersebut adalah,
false
true
false
true
Pengenalan Pemrograman I 28
J.E.N.I.
x1 Hasil
TRUE FALSE
FALSE TRUE
Tabel 9: Tabel Kebenaran untuk !
Berikut ini adalah contoh source code yang menggunakan operator logika NOT,
false
true
Pengenalan Pemrograman I 29
J.E.N.I.
exp1?exp2:exp3
Dimana nilai exp1 adalah suatu pernyataan boolean yang memiliki hasil yang salah satunya
harus berupa nilai true atau false.
Jika exp1 bernilai true, exp2 merupakan hasil operasi. Jika bernilai false, kemudian exp3
merupakan hasil operasinya.
//print status
System.out.println( status );
}
}
Passed
Pengenalan Pemrograman I 30
J.E.N.I.
Gambar 2: Flowchart
class ConditionalOperator
{
public static void main( String[] args ){
int score = 0;
char answer = 'a';
Score = 10
Pengenalan Pemrograman I 31
J.E.N.I.
6%2*5+4/2+88-10
Kita dapat menuliskan kembali pernyataan diatas dan menambahkan beberapa tanda
kurung terhadap operator precedence,
((6%2)*5)+(4/2)+88-10;
Pengenalan Pemrograman I 32
J.E.N.I.
4.11 Latihan
Berikut ini merupakan tampilan yang diharapkan sebagai hasil eksekusi program,
Number = 10
letter = a
result = true
str = hello
number 1 = 10
number 2 = 20
number 3 = 45
Rata-rata = 25
number 1 = 10
number 2 = 23
number 3 = 5
Nilai tertingginya adalah angka = 23
Pengenalan Pemrograman I 33
J.E.N.I.
Diberikan pernyataan berikut ini, tulis kembali soal tersebut dengan menambahkan tanda
kurung pada urutan sesuai dengan bagaimana pernyataan tersebut akan dievaluasi.
1. a / b ^ c ^ d – e + f – g * h + i
2. 3 * 10 *2 / 15 – 2 + 4 ^ 2 ^ 2
3. r ^ s * t / u – v + w ^ x – y++
Pengenalan Pemrograman I 34
J.E.N.I.
BAB 5
Mendapatkan Input dari Keyboard
5.1 Tujuan
Kita telah mempelajari konsep dasar pada Java dan menulis beberapa program
sederhana. Sekarang kita akan mencoba membuat program kita lebih interaktif dengan
menggunakan input dari keyboard. Pada bab ini, kita akan mempelajari dua cara
memberikan input, yang pertama adalah menggunakan class BufferedReader dan
melalui GUI (Graphical User Interface) dengan menggunakan class JOptionPane.
Berikut ini adalah langkah-langkah yang diperlukan untuk mendapatkan input dari
keyboard:
import java.io.*;
try{
String temp = dataIn.readLine();
}
catch( IOException e ){
System.out.println(“Error in getting input”);
}
Pengenalan Pemrograman I 1
J.E.N.I.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
try{
name = dataIn.readLine();
}catch( IOException e ){
System.out.println("Error!");
}
Statement,
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
Packages berisi class yang mempunyai fungsi yang saling berhubungan. Seperti pada
contoh di atas, java.io package mengandung class-class yang memungkinkan
program untuk melakukan input dan output data. Pernyataan di atas juga dapat ditulis
sebagai berikut,
import java.io.*;
yang akan mengeluarkan semua class yang berada dalam package, dan selanjutnya kita
bisa menggunakan class-class tersebut dalam program kita.
Pengenalan Pemrograman I 2
J.E.N.I.
Dalam statement,
Pernyataan di atas merupakan tempat untuk menyimpan input dari user. Nama variabel
diinisialisasi sebagai String kosong "". Sebaiknya kita selalu menginisialisasi sebuah
variabel setelah kita mendeklarasikannya.
Baris berikutnya adalah memberikan output sebuah String pada layar yang menanyakan
nama user.
try{
name = dataIn.readLine();
}catch( IOException e ){
System.out.println("Error!");
}
Pada baris ini menjelaskan bahwa kemungkinan terjadi error pada pernyataan,
name = dataIn.readLine();
akan ditangkap. Kita akan membahas tentang penanganan exception pada bab
selanjutnya dari pembahasan ini, tetapi untuk sekarang, Anda cukup mencatat bahwa
Anda perlu menambahkan kode ini untuk menggunakan method readLine() dari
BufferedReader untuk mendapatkan input dari user.
Pengenalan Pemrograman I 3
J.E.N.I.
name = dataIn.readLine();
Pengenalan Pemrograman I 4
J.E.N.I.
import javax.swing.JOptionPane;
Pengenalan Pemrograman I 5
J.E.N.I.
Statement pertama,
import javax.swing.JOptionPane;
import javax.swing.*;
Pernyataan,
membuat sebuah input dialog JOptionPane, yang akan menampilkan dialog dengan
sebuah pesan, sebuah textfield dan tombol OK seperti pada gambar. Hasil dari dialog
tersebut adalah String dan disimpan ke dalam variabel name.
Sekarang kita membuat pesan selamat datang, yang akan disimpan ke dalam variabe
msg,
Baris selanjutnya adalah menampilkan sebuah dialog yang berisi sebuah pesan dan
tombol OK,
JOptionPane.showMessageDialog(null, msg);
Pengenalan Pemrograman I 6
J.E.N.I.
5.1 Latihan
Pengenalan Pemrograman I 7
J.E.N.I.
BAB 6
Struktur Kontrol
6.1 Tujuan
Pada bab sebelumnya, kita sudah mendapatkan contoh dari program terstruktur,
dimana setiap pernyataan dieksekusi setelah pernyataan sebelumnya sesuai dengan
urutannya. Pada bagian ini, kita akan mempelajari tentang struktur kontrol dimana
kita dapat mengubah cara eksekusi pada pernyataan yang dibuat di program kita.
6.2.1 Statement if
Pernyataan if akan menentukan sebuah pernyataan (atau blok kode) yang akan eksekusi
jika dan hanya jika persyaratan bernilai benar(true).
if( boolean_expression )
statement;
atau
if( boolean_expression ){
statement1;
statement2;
. . .
}
Pengenalan Pemrograman 1 1
J.E.N.I.
atau
Pengenalan Pemrograman 1 2
J.E.N.I.
if( boolean_expression )
statement;
else
statement;
if( boolean_expression ){
statement1;
statement2;
. . .
}
else{
statement1;
statement2;
. . .
}
atau
Pengenalan Pemrograman 1 3
J.E.N.I.
Pengenalan Pemrograman 1 4
J.E.N.I.
if( boolean_expression1 )
statement1;
else if( boolean_expression2 )
statement2;
else
statement3;
Sebagai catatan : anda dapat memiliki banyak blok else-if sesudah pernyataan if. Blok else
bersifat opsional dan dapat dihilangkan. Pada contoh yang ditampilkan di atas, jika
boolean_expression1 bernilai true, maka program akan mengeksekusi statement1 dan
melewati pernyataan yang lain. Jika boolean_expression2 bernilai true, maka
program akan mengeksekusi statement2 dan melewati statement3.
Pengenalan Pemrograman 1 5
J.E.N.I.
//SALAH
int number = 0;
if( number ){
//some statements here
}
//SALAH
int number = 0;
if( number = 0 ){
//Beberapa pernyataan
}
//BENAR
int number = 0;
if( number == 0 ){
//beberapa pernyataan
}
Pengenalan Pemrograman 1 6
J.E.N.I.
Pengenalan Pemrograman 1 7
J.E.N.I.
switch( switch_expression ){
case case_selector1:
statement1; //
statement2; //block 1
. . . //
break;
case case_selector2:
statement1; //
statement2; //block 2
. . . //
break;
. . .
default:
statement1; //
statement2; //block n
. . . //
break;
}
Ketika pernyataan switch ditemukan pada potongan kode program, java pertama kali akan
memeriksa switch_expression, dan menuju ke case yang akan menyamakan nilai yang
dimiliki oleh switch_expression. Selanjutnya program akan mengeksekusi pernyataan
pada dari kode setelah case yang ditemukan sampai menemui pernyataan break,
selanjutnya akan mengabaikan pernyataan yang lainnya hingga akhir dari struktur dari
pernyataan switch.
Jika tidak ditemui case yang cocok, maka program akan mengeksekusi blok default.
Sebagai catatan, bahwa bagian blok default adalah opsional. Sebuah pernyataan switch
bisa jadi tidak memiliki blok kode default.
CATATAN:
Tidak seperti pada pernyataan if, beberapa pernyataan pada struktur pernyataan switch
akan dieksekusi tanpa memerlukan tanda kurung kurawal ({}).
Ketika sebuah case pada pernyataan switch menemui kecocokan, semua pernyataan
pada case tersebut akan dieksekusi. Tidak hanya demikian, pernyataan lain
yang berada pada case yang sesuai juga akan dieksekusi.
Untuk menghindari program mengeksekusi pernyataan pada case berikutnya,
kita menggunakan pernyataan break sebagai pernyataan akhir pada setiap blok case.
Pengenalan Pemrograman 1 8
J.E.N.I.
Pengenalan Pemrograman 1 9
J.E.N.I.
switch(grade){
case 100:
System.out.println( "Excellent!" );
break;
case 90:
System.out.println("Good job!" );
break;
case 80:
System.out.println("Study harder!" );
break;
default:
System.out.println("Sorry, you failed.");
}
}
}
Pengenalan Pemrograman 1 10
J.E.N.I.
while( boolean_expression ){
statement1;
statement2;
. . .
}
int i = 4;
while ( i > 0 ){
System.out.print(i);
i--;
}
Contoh diatas akan mencetak angka 4321 pada layar. Perlu dicatat jika bagian i-
-; dihilangkan, akan menghasilkan pengulangan yang terus menerus (infinite loop).
Sehingga, ketika menggunakan while loop atau bentuk pengulangan yang lain,
pastikan Anda memberikan pernyataan yang membuat pengulangan berhenti pada
suatu kondisi.
Pengenalan Pemrograman 1 11
J.E.N.I.
Contoh 1:
int x = 0;
while (x<10)
{
System.out.println(x);
x++;
}
Contoh 2:
//infinite loop
while(true)
System.out.println(“hello”);
Contoh 3:
//no loops
// statement is not even executed
while (false)
System.out.println(“hello”);
Pengenalan Pemrograman 1 12
J.E.N.I.
Perbedaan antara while dan do-while loop adalah dimana pernyataan di dalam do-while
loop akan dieksekusi sedikitnya satu kali.
do{
statement1;
statement2;
. . .
}while( boolean_expression );
Pernyataan di dalam do-while loop akan dieksekusi pertama kali, dan akan dievaluasi
kondisi dari boolean_expression. Jika nilai pada boolean_expression tersebut bernilai
true, pernyataan di dalam do-while loop akan dieksekusi lagi.
Contoh 1:
int x = 0;
do
{
System.out.println(x);
x++;
}while (x<10);
Contoh 2:
//infinite loop
do{
System.out.println(“hello”);
} while (true);
Contoh di atas akan melakukan pengulangan terus menerus yang menulis kat a “hello”
pada layar.
Contoh 3:
//one loop
// statement is executed once
do
System.out.println(“hello”);
while (false);
Pengenalan Pemrograman 1 13
J.E.N.I.
Panduan pemrograman:
1. Kesalahan pemrograman yang biasa terjadi ketika menggunakan do-while loop adalah
lupa untuk menulis titik koma (;) setelah ekspresi while.
do{
...
}while(boolean_expression)//- salah>tidak ada titik koma(;)
2. Seperti pada while loop, pastikan do-while loop anda berhenti pada suatu kondisi.
dimana,
InitializationExpression – inisialisasi dari variabel loop.
LoopCondition - membandingkan variabel loop pada nilai batas
tertentu
. StepExpression - melakukan update pada variabel loop.
int i;
for( i = 0; i < 10; i++ ){
System.out.print(i);
}
Pada contoh ini, pernyataan i=0 merupakan inisialisasi dari variabel. Selanjutnya,
kondisi i<10 diperiksa. Jika kondisi bernilai true, pernyataan di dalam for loop
dieksekusi. Kemudian, ekspresi i++ dieksekusi, lalu akan kembali pada bagian
pemeriksaan terhadap kondisi i<10 lagi. Kondisi ini akan dilakukan berulang-ulang
sampai mencapai nilai yang salah (false).
int i = 0;
while( i < 10 ){
System.out.print(i);
i++;
}
Pengenalan Pemrograman 1 14
J.E.N.I.
Contohnya,
if( foundName ){
System.out.println( searchName + " found!" );
}
else{
System.out.println( searchName + " not found." );
}
Pada contoh diatas, jika string “Yza” ditemukan, pengulangan pada for loop akan
dihentikan dan akan dilanjutkan ke pernyataan berikutnya yang terletak setelah pernyataan
for.
Pengenalan Pemrograman 1 15
J.E.N.I.
int searchNum = 5;
boolean foundNum = false;
searchLabel:
for( int i=0; i<numbers.length; i++ ){
for( int j=0; j<numbers[i].length; j++ ){
if( searchNum == numbers[i][j] ){
foundNum = true;
break searchLabel;
}
}
}
if( foundNum ){
System.out.println( searchNum + " found!" );
}
else{
System.out.println( searchNum + " not found!" );
}
Pernyataan break menghentikan pern yataan yang diberi label; dan tidak menjalankan
aliran kon trol apapun pada label. Aliran kontrol pada label akan diberikan secara
otomatis pada pernyataan yang terletak dibawah label.
Pengenalan Pemrograman 1 16
J.E.N.I.
Berikut ini adalah contoh dari penghitungan angka dari “Beah” dalam suatu array.
if( !names[i].equals("Beah") ){
continue; //skip next statement
}
count++;
}
outerLoop:
for( int i=0; i<5; i++ ){
Pada contoh ini, bagian message2 tidak pernah akan dicetak, karena pernyataan
continue akan melewati pengulangan.
Pengenalan Pemrograman 1 17
J.E.N.I.
Untuk memberikan sebuah nilai, cukup berikan nilai (atau ekspresi yang menghasilkan
sebuah nilai) sesudah kata return. Contohnya,
return ++count;
atau
return "Hello";
Tipe data dari nilai yang diberikan harus sama dengan tipe dari method
yang dibuat. Ketika sebuah method void dideklariskan, gunakan bentuk return yang tidak
memberikan nilai. Contohnya,
return;
Kita akan membahas lebih lanjut tentang pernyataan return ketika mempelajari tentang
method.
Pengenalan Pemrograman 1 18
J.E.N.I.
6.5 Latihan
6.5.1 Nilai
Ambil tiga nilai ujian dari user dan hitung nilai rata-rata dari nilai tersebut.
Berikan output rata-rata dari tiga ujian. Berikan juga smiley face pada output jika nilai
rata-rata lebih besar atau sama dengan 60, selain itu beri output :-(.
1. Gunakan BufferedReader untuk mendapat input dari user, dan System.out untuk
output hasilnya.
2. Gunakan JOptionPane untuk mendapat input dari user dan output hasilnya.
6.5.4 Perpangkatan
Hitung pangkat sebuah nilai berdasarkan angka dan nilai pangkatnya. Buat tiga versi
dari program ini menggunakan while loop, do-while dan for-loop.
Pengenalan Pemrograman 1 19
J.E.N.I.
BAB 7
Java Array
7.1 Tujuan
Dalam bab ini, kita akan mendiskusikan mengenai array dalam Java. Pertama, kita
akan mendefinisikan apa yang dimaksud dengan array, kemudian kita juga
akan mendiskusikan bagaimana mendeklarasikannya dan menggunakannya dalam Java.
Sebagai contoh, kita memiliki tiga variabel dengan tipe data int yang memiliki identifier
berbeda untuk tiap variabel.
int number1;
int number2;
int number3;
number1 = 1;
number2 = 2;
number3 = 3;
Seperti yang dapat Anda perhatikan pada contoh diatas, kode tersebut akan sia-sia
karena harus menginisialisasi dan menggunakan setiap variabel padahal sebenarnya
variabel-variabel tersebut digunakan untuk tujuan yang sama. Pada bahasa
pemrograman Java maupun di bahasa pemrograman yang lain, terdapat sebuah
kemampuan untuk menggunakan satu variabel yang dapat menyimpan beberapa data
dan memanipulasinya dengan lebih efektif. Tipe variabel inilah yang disebut sebagai
array.
Pengenalan Pemrograman 1 1
J.E.N.I.
Sebuah array akan menyimpan beberapa item data yang memiliki tipe data
sama didalam sebuah blok memori yang berdekatan yang kemudian dibagai menjadi
beberapa ruang. A rray adalah sebuah variabel/sebuah lokasi tertentu yang memiliki
satu nama sebagai identifier, namun identifier ini dapat menyimpan lebih dari sebuah
nilai.
int []ages;
atau Anda dapat menempatkan sepasang tanda kurung [] sesudah nama identifier. Sebagai
contoh,
int ages[];
Pengenalan Pemrograman 1 2
J.E.N.I.
Setelah pendeklarasian array , kita harus membuat array dan menentukan berapa
panjangnya dengan sebuah konstruktor. Proses ini di Java disebut sebagai
instantiation (istilah dalam Java yang berarti membuat). Untuk meng-instantiate
sebuah obyek, kita membutuhkan sebuah konstruktor. Kita akan membicarakan
lagi mengenai instantiate obyek dan pembuatan konstruktor pada bagian selanjutnya.
Sebagai catatan bahwa ukuran dari array tidak dapat diubah setelah anda
menginisialisasinya. Sebagai contoh,
//deklarasi
int ages[];
//instantiate obyek
ages = new int[100];
Sebagai contoh,
Pengenalan Pemrograman 1 3
J.E.N.I.
Pada saat memasukkan nilai ke dalam array, sebuah nomor indeks atau subscript
telah diberikan kepada tiap anggota array, sehingga program dan programmer
dapat mengakses setiap nilai pada array apabila dibutuhkan. Nilai indeks selalu
dalam tipe integer, dimulai dari angka nol dan dilanjutkan ke angka berikutnya
sampai akhir array. Sebagai catatan bahwa indeks didalam array dimulai dari 0
sampai dengan (ukuranArray-1).
Sebagai contoh, pada array yang kita deklarasikan tadi, kita mempunyai,
Berikut ini adalah contoh kode untuk mencetak seluruh elemen didalam array. Dalam
contoh ini digunakanlah pernyataan for loop, sehingga kode kita menjadi lebih pendek.
Pengenalan Pemrograman 1 4
J.E.N.I.
arrayName.length
Pada contoh sebelumnya, kita dapat menuliskannya kembali seperti berikut ini,
1. Pada saat pembuatan for loop untuk memproses elemen-elemen dalam array,
gunakanlah a t r i b u t length y a n g d i l e t a k k a n di dalam b a g i a n pengkondisian
d a r i f o r loop. Hal ini akan menyebabkan loop secara otomatis menyesuaikan
diri terhada ukuran array yang berbeda-beda.
2. Pendeklarasian ukuran array di program Java, biasanya menggunakan sebuah
konstanta untuk mempermudah. Sebagai contoh,
Pengenalan Pemrograman 1 5
J.E.N.I.
// karakter array 8 x 16 x 24
char[][][] threeD = new char[8][16][24];
System.out.print( dogs[0][0] );
Pengenalan Pemrograman 1 6
J.E.N.I.
7.7 Latihan
7.7.1 Hari dalam seminggu
Buatlah sebuah String array yang akan menginisialisasi 7 hari dalam seminggu. Sebagai
contoh,
Gunakan while-loop, kemudian print semua nilai dari array (Gunakan juga untuk do-
while dan for-loop)Using a while-loop.
Name : Florence
Tel. # : 735-1234
Address : Manila
Name : Joyce
Tel. # : 983-3333
Address : Quezon City
Name : Becca
Tel. # : 456-3322
Address : Manila
Pengenalan Pemrograman 1 7
J.E.N.I.
BAB 8
Argumen dari Command-line
8.1 Tujuan
Pada bab ini, kita akan mempelajari bagaimana untuk memproses sebuah input dari
command-line dengan menggunakan argumen yang diberikan kepada program Java.
Sebagai contoh, apabila Anda memiliki sebuah aplikasi Java dengan nama Sort, yang
akan mengurutkan lima nomor, Anda dapat menjalankannya seperti berikut ini:
Pengenalan Pemrograman 1 1
J.E.N.I.
Perlu diperhatikan bahwa sebuah argumen dapat dipisahkan oleh ruang spasi. Pada
bahasa pemrogr aman Java, jika kita akan memanggil sebuah aplikasi, sistem runtime
akan memberikan argumen command-line ke method main yang dimiliki oleh aplikasi
menggunakan sebuah array dari String. Lalu, setiap String di dalam array mewakili
sebuah argumen commmand-line. Perhatikan deklarasi dari main method,
Argumen yang diberikan kepada program Anda akan disimpan kedalam sebuah array
String dengan identifier args.
Jika program Anda membutuhkan argumen command-line yang bertipe angka. Anda
harus mengkonversi argumen String tersebut untuk merepresantasikan sebuah angka,
misalnya “34” menjadi sebuah angka 34. Kode dibawah ini adalah sebuah potongan
program untuk mengkonversi sebuah argumen command-line menjadi tipe integer.
int firstArg = 0;
if (args.length > 0){
Pengenalan Pemrograman 1 2
J.E.N.I.
firstArg = Integer.parseInt(args[0]);
}
Pengenalan Pemrograman 1 3
J.E.N.I.
System.out.println("Number of arguments=" +
args.length);
System.out.println("First Argument="+ args[0]);
}
}
Sekarang, jalankan NetBeans, buat sebuah project yang baru, dan beri nama project ini
CommanLineExample. Salin kode yang telah dituliskan diatas, kemudian dilakukan proses
compile. Selanjutnya, ikutilah langkah-langkah berikut untuk memberikan argumen
kepada program Anda dengan menggunakan NetBeans.
Pengenalan Pemrograman 1 4
J.E.N.I.
Klik kanan icon CommanLineExample dan akan keluar sebuah pop-up menu. Lalu klik pada
properties.
Pengenalan Pemrograman 1 5
J.E.N.I.
Pada kolom bernama Arguments, tuliskan argumen yang Anda ingin masukkan
kedalam program. Dalam kasus ini kita akan mengetikkan 5 4 3 2 1. Kemudian, klik pada
tombol OK.
Pengenalan Pemrograman 1 6
J.E.N.I.
Pengenalan Pemrograman 1 7
J.E.N.I.
Seperti yang dapat Anda lihat, keluaran dari program Anda adalah jumlah dari argumen
yaitu 5, dimana argumen pertama juga memiliki nilai 5.
Pengenalan Pemrograman 1 8
J.E.N.I.
8.4 Latihan
8.4.1 Mencetak Argumen
Dapatkan input dari user dengan menggunakan argumen command line dan cetak
semua argumen ke layar. Sebagai contoh, jika user memasukkan
Hello
world
that
is
all
java ArithmeticOperation 20 4
sum = 24
difference = 16
product = 80
quotient = 5
Pengenalan Pemrograman 1 9