Modul OLC Desktop Programming A
Modul OLC Desktop Programming A
Terima kasih untuk semua pihak yang telah membantu pembuatan modul ini.
Yogyakarta, 2012
Omah TI
i.
Daftar Isi
i.
1.
Java...................................................................................................................................................... 5
1) Apa itu Java? ....................................................................................................................................... 5
Java sebagai bahas pemrograman ....................................................................................................... 5
2) Mengapa Java? .................................................................................................................................... 5
3) Cara Kerja Dalam Pemrograman Java ................................................................................................ 6
2.
3.
4.
5.
Operator ............................................................................................................................................ 17
1) Operator aritmatika ........................................................................................................................... 18
Increment dan Decrement ................................................................................................................. 19
2) Operator relasional ............................................................................................................................ 20
3) Operator Logikal ............................................................................................................................... 21
Short circuit logikal operator............................................................................................................. 22
4) Menerima Input Dari Keyboard ........................................................................................................ 22
Menggunakan Scanner untuk mendapatkan input ............................................................................ 22
7.
8.
Java method....................................................................................................................................... 40
1. Memanggil Method ........................................................................................................................... 41
2. Pemberian Variabel Dalam Method .................................................................................................. 43
9.
Referensi ........................................................................................................................................... 57
1.
Java
1)
Sebuah Aplikasi
Aplikasi dengan teknologi Java secara umum adalah aplikasi serba guna yang dapat
dijalankan pada seluruh mesin yang memiliki Java Runtime Environment (JRE).
Sederhana
Interpreter
Robust
Aman
Architecture Neutral
Portable
Performance
Multithreaded
Dinamis
2) IDE
IDE atau Integrated Development Environment merupakan sebuah program yang
memudahkan untuk melakukan pengembangan sebuah program atau software.
Komponen utama dalam IDE adalah text editor untuk memanipulasi kode sumber
program, Build automaton, dan sebuah debugger.
Untuk pengeditan kode sumber program memang cukup menggunakan text editor biasa,
tetapi dengan IDE proses pengeditan kode sumber bisa menjadi lebih mudah. Salah satu
yang memudahkan adalah pengkoreksian sintax pada saat kode tersebut ditulis.
Untuk pengembangan program Java, IDE yang cukup populer dan mudah digunakan
adalah NetBeans IDE. NetBeans IDE tidak hanya mendukung bahasa pemrograman
Java, tetapi pada modul pelatihan ini hanya akan dibahas penggunaan NetBeans untuk
pengembangan program Java.
3.
Program Pertama
1)
Kita akan membuat sebuah aplikasi Java, maka yang kita pilih adalah Java Application
yang berada pada kategori Java. Klik Next, dan kita akan memasuki tahap kedua, yaitu
pemilihan nama project dan lokasi penyimpanannya.
Masukan nama project yang akan anda pada bagian Project Name, perhatikan juga
bahwa bagian Create Main Class berubah sesuai dengan nama project.
Gambar 2.3 : NetBeans 7.0.1 new Java aplication window, main class menu
Klik finish untuk mengakhiri dan memulai project yang dibuat tersebut. Perhatikan
bahwa kita akan langsung ditampilkan project yang kita buat, karena dalam pembuatan
project, kita mengatur project tersebut sebagai project utama.
Jendela untuk melakukan pengeditan kode program berada di sebelah kanan, di sebelah
kiri merupakan jendela untuk mengatur project.
Tampilan jendela untuk editing kode program. Di bagian inilah kita akan menuliskan
kode program yang akan dibuat.
/*
Ini komentar baris pertama
baris kedua
*/
Pada komentar diatas cara penulisannya adalah dengan menggunakan tanda /* di awal,
dan di akhiri dengan */ .
Kemudian ada juga komentar yang disebut dengan komentar Javadoc. Dari gambar yang
sebelumnya terlihat komentar yang diawali dengan /** dan di akhiri dengan */ . Setiap
baris komentarnya diawali dengan * .
/**
* Ini merupakan komentar Javadoc
*/
Javadoc merupakan pembuat dokumentasi dari kode program Java dalam bentuk html.
Untuk membuat Javadoc pada NetBeans dapat dilakukan dengan cara :
Run > Generate Javadoc.
Package
Dapat kita lihat package berada pada paling atas kode program (komentar tidak
dihitung). Jika diperhatikan package diakhiri dengan tanda titik koma (;), Jika tidak
terdapat titik koma maka program tidak bisa dikompilasi.
package helloworld;
Kemudian Kelas, kelas atau class. Untuk masalah kelas akan dibahas lebih lanjut pada
bagian object oriented programming. Nama kelas dianjurkan diawali dengan huruf
capital, dan nama class harus sesuai dengan nama file classnya. Dapat dilihat di project
explorer bahwa file kode program bernama HelloWorld.java.
public class HelloWorld {
}
Main Method
Kemudian di dalam kelas kita menemukan :
public static void main( String[ ] args ) {
10
Bagian ini dinamakan dengan main method, main method adalah barisan program yang
pertama kali akan dijalankan ketika program dijalankan. Pada bagian ini, bagian katakata sebelum main dapat kalian hiraukan terlebih dahulu, bagian ini akan dibahas lebih
lanjut pada bagian berikutnya.
( Tetapi, jika kalian sangat penasaran, public bermakna bahwa method dapat dilihat dari
luar kelas; static artinya untuk dapat dieksekusi tidak perlu membuat sebuah object; dan
void bermakna method ini tidak mengembalikan sebuah return value; Bagian dalam
kurung setelah main merupakan command line argument. Tidak perlu khawatir jika
tidak mengerti pada bagian ini, karena akan dipelajari lebih lanjut pada bagian lain.)
Jadi yang perlu kita ingat adalah, untuk menuliskan kode program, kita haru
menuliskannya di dalam main method.
3) Menjalankan Program Java
Ada beberapa cara untuk menjalankan program Java pada NetBeans . Cara yang paling
mudah adalah menekan tombol F6 pada keyboard. Dengan cara ini kita menjalankan
program pada project utama kita.
Cara berikutnya adalah mengklik ikon yang ada pada toolbar di NetBeans.
11
Kita dapat memilih untuk menjalankan project utama dengan memilih Run Main
Project. Atau menjalankan project yang sedang aktif dengan memilih Run File atau
dengan menekan Shift + F6.
Ketika kita mencoba menjalankan program yang telah kita buat sebelumnya, maka akan
muncul suatu jendela di bawah seperti ini.
Sekarang kita akan mencoba menambahkan satu baris kode pada program kita, agar
dapat menampilkan suatu kalimat.
Pada main method, kita akan menambahkan satu sintak seperti ini.
12
(Komentar yang dibuat secara otomatis pada saat kita membuat project bisa dihapus, dan
tidak mempengaruhi apa-apa.)
Kemudian coba jalankan kembali program tersebut. Anda dapat melihat tampilan
sebelum menambah baris kode dan sesudah memiliki perbedaan. Ya benar, output yang
dihasilkan sesuai dengan apa yang di dalam tanda ".
13
}
}
Tampilan output ketika program dijalankan
Perhatikan juga bahwa tidak ada pemisah antara kalimat "Ditampilkan pada baris ketiga"
dan "Ditampilkan pada baris ketiga". Agar terpisah oleh spasi, dapat dilakukan dengan
cara menambahkan secara langsung di akhir kalimat "Ditampilkan pada baris ketiga".
Dalam java penulisan sintax merupakan case sensitive, yaitu memperhatikan besar
kecilnya huruf. Sebagai contoh, System dengan system merupakan hal yang berbeda.
Aturan ini juga berlaku untuk semua baik dalam penamaan variable dan juga yang
lainnya.
4.
14
teksual char
Tipe data character (char), diwakili oleh karakter singel UNICODE. Nilai dari tipe data
char harus diisikan didalam tanda petik ( ). Sebagai contoh,
a // Huruf a
\t // tab
Untuk menampilkan karakter khusus seperti ' (single quotes) atau " (double quotes),
menggunakan karakter backslash \. Sebagai contoh,
'\'' //untuk single quotes
'\"' //untuk double quotes
String
String memah bukan dikategorikan sebagai suatu tipe data primitive di dalam Java.
String pada Java merupakan sebuah kelas (class). Tetapi String merupakan suatu kelas
yang dapat disebut sebagai kelas yang istimewa karena penggunaannya tidak
membutuhkan deklarasi seperti deklarasi obyek lainnya, tetapi hanya seperti variabel
primitif. Sebagai sebuah kelas, String juga memiliki method method yang dapat
digunakan. Method akan dipelajari lebih lanjut pada bagian berikutnya.
Contoh deklarasi penggunaan String.
String message = Hello world;
Nilai String yang akan dimasukan harus berada didalam tanda .
15
int a = 100;
long c = 100000000;
Floating Point float dan double
Tipe floating point terdiri dari dua jenis, yaitu float dan double. Tipe data double
memiliki presisi yang lebih tinggi dibandingkan tipe data float dalam menyimpan data
pecahan.
Contoh deklarasi dan inisialisasinya.
double nilai = 7.5;
float magnitude = 2.5;
Contoh :
int x = 10 ;
double y = 0.25042010;
int a ;
String teks ;
16
Contoh :
public class OutputVariable {
public static void main( String[] args ){
int value = 10;
System.out.println( value );
}
}
Program tersebut akan mengeluarkan teks berikut pada layar,
10
Pada contoh tersebut diperlihatkan bahwa untuk menampilkan sebuah nilai dari variable
kita tidak perlu menambahkan " di awal dan di akhir nama variable.
Contoh ke-2 :
public class OutputVariable {
public static void main( String[] args ){
int value = 100;
System.out.println("Nilai dari variable value adalah " + value );
}
}
Program tersebut akan mengeluarkan teks berikut pada layar,
Nilai dari variable value adalah 100
Perhatikan pada penggunaan sintax println(), untuk menampilkan sebuah string dan
sebuah kalimat dapat dilakukan dengan menggunakan tanda + seperti pada contoh. Cara
ini dapat digunakan untuk 2 atau lebih variable.
5.
Operator
Dalam Java, ada dua tipe operator. Ada 4 operator yang secara umum digunakan dalam
Java yaitu operator aritmatika, operator bitwise, operaor relasional, dan operator logikal.
Setiap operator di Java juga memiliki prioritas, jadi operator di Java di kerjakan
berdasarkan prioritasnya. Selain itu di Java juga terdapat beberapa operator untuk
menangani beberapa situasi khusus. Dalam bab ini akan dijelaskan tentang operator
aritmatika, relational, dan logikal.
17
1) Operator aritmatika
Operator
Arti
Penjumlahan
Perkalian
Pembagian
++
Increment
--
Decrement
Tabel 5.1 : Arithmetic operator
Operator +,-,/,* bekerja sesuai dengan operasi matematika secara umum, dan dapat
digunakan untuk semua tipe data numerik. Dan juga untuk variabel yang bertipe char.
Untuk operator / yang dioperasikan untuk tipe data integer akan menghasilkan nilai
bulatnya saja, sebagai contoh 10/3 akan menghasilkan 3 pada pembagian tipe data
integer. Dalam penggunaannya, operasi aritmatika pada Java juga mengenal penggunaan
tanda kurung, jadi sangat dekat sekali dengan penggunaan sehari-hari.
Contoh penggunaan operasi aritmatika pada Java
public class Aritmetika {
public static void main(String[] args) {
int var1 = 10 + 3;
int var2 = 10 - 3;
int var3 = 10 * 3;
int var4 = 10 / 3;
int var5 = 10 % 3;
double var6 = 10.0 / 3.0;
System.out.println(var1);
System.out.println(var2);
System.out.println(var3);
System.out.println(var4);
System.out.println(var5);
System.out.println(var6);
}
}
Output pada layar adalah
13
7
30
3
1
Desktop Programming Module
18
3.3333333333333335
Operator
Penggunaan
Keterangan
var1 + var2
var1 - var2
var1 * var2
var1 / var2
var1 % var2
Increment dan decrement ditulis sebelum variabel (prefix) dan sesudah (psotfix). Berikut
table perbedaan increment decrement prefix dan postfix.
Operator
Penggunaan
Keterangan
Menambahkan nilai 1 pada op;
++
op++
++
++op
--
op--
--
--op
19
2) Operator relasional
Operator relasional adalah operator yang digunakan untuk menentukan keterhubungan
dua nilai tertentu. Hasilnya adalah Boolean, yaitu true atau false. True menunjukan
bahwa keterhubungan dua nilai tersebut sesuai dengan operator, dan false jika
sebaliknya.
Di dalam java, semua object dapat dibandingkan kesamaannya menggunakan == dan !=.
Tetapi penggunaan operator <,<=,>,>= harus digunakan untuk tipe data yang memiliki
tingkatan.
Operator
Penggunaan
Keterangan
>
>=
<
<=
==
var1 == var2
!=
var1 != var2
Contoh penggunaan
public class Relasional {
public static void main(String[] args) {
int var1 = 10;
int var2 = 5;
System.out.println(var1 + ">" + var2 + "=" + (var1 > var2));
System.out.println(var1 + ">=" + var2 + "=" + (var1 >= var2));
System.out.println(var1 + "<" + var2 + "=" + (var1 < var2));
System.out.println(var1 + "<=" + var2 + "=" + (var1 <= var2));
System.out.println(var1 + "==" + var2 + "=" + (var1 == var2));
System.out.println(var1 + "!=" + var2 + "=" + (var1 != var2));
}
}
Maka outputnya adalah
10>5=true
10>=5=true
10<5=false
10<=5=false
10==5=false
10!=5=true
20
3) Operator Logikal
Operator logikal adalah operator yang digunakan untuk operasi logika.
Operator
&
|
^
||
&&
!
Arti
AND
OR
XOR (exclusive OR)
Short-circuit OR
Short-circuit AND
NOT
Tabel 5.5: Logical operator
p^q
False
True
True
False
!p
True
False
True
False
Contoh penggunaan :
public class Logical {
public static void main(String[] args) {
boolean p = true;
boolean q = false;
System.out.println("nilai p = " + p);
System.out.println("nilai q = " + q);
System.out.println("p & q = " + (p & q));
System.out.println("p | q = " + (p | q));
System.out.println("p ^ q = " + (p ^ q));
System.out.println("!p = " + !q);
System.out.println("p & !q = " + (p & !q));
}
}
Output yang dihasilkan
nilai p = true
nilai q = false
p & q = false
p | q = true
p ^ q = true
!p = true
p & !q = true
21
[]
-/
>>>
>=
!=
~
%
<<
<
<=
22
pertama kali kita harus merefrensikan library yang akan digunakan menggunakan kata
kunci import. Deklarasi import berada dibawah deklarasi package atau di atas class.
Contoh pendeklarasian referensi library Scanner
package input;
import java.util.Scanner;
public class GetUserInput {
public static void main(String[] args) {
}
}
Untuk menggunakan class Scanner kita harus terlebih dahulu membuat sebuah object
yang bertipe Scanner. (Sebuah class hanya berisi baris code. Kode tersebut tidak akan
berpengaruh apapun sebelum kita membuat object dari class tersebut. Untuk penjelasan
kelas lebih lanjut terdapat pada materi selanjutnya.)
Untuk membuat object Scanner sintax yang digunakan adalah sebagai berikut.
Scanner user_input = new Scanner( System.in );
Pendeklarasian object hampir mirip dengan pendeklarasian variable. Scanner merupakan
classnya atau tipe objectnya, user_input merupakan nama variabelnya. Kemudian kita
akan menemukan new diakhir dari tanda sama dengan. new nerupakan sebuah sintax
untuk pembuatan sebuah object baru, dan Scanner() merupakan konstruktor atau
pembangun dari class tersebut. System.in merupakan parameternya, ini seperti
memberitahu Java bahwa ini adalah System input.
Untuk mendapatkan input, kita dapap menggunakan salah satu dari banyak method yang
telah tersedia dari object Scanner kita. Salah satu methodnya bernama next. Method next
akan mendaptkan string dari teks yang dimasukan oleh user melalui keyboard.
Contoh penggunaannya
String nama;
nama = user_input.next( );
Dalam penggunaannya di NetBeans, setelah kita mengetikan nama object dan
menuliskan titik, akan muncul pop-up windows yang berisi method dalam class tersebut.
Ini juga merupakan salah satu kelebihan IDE dibandingkan dengan Text Editor biasa.
Contoh penggunaannya
package input;
import java.util.Scanner;
public class GetUserInput {
public static void main(String[] args) {
Scanner user_input = new Scanner(System.in);
System.out.println("Masukkan nama anda :");
23
24
}
Program ini menghasilkan konversi suhu dari celcius menjadi kelvin,reamur, dan
Fahrenheit.
Menggunakan BufferedReader untuk menerima input
Contoh penggunaannya
package input;
import java.io.*;
class DemoInputKeyboard {
public static void main(String[] args) throws IOException {
BufferedReader dataIn = new BufferedReader(new InputStreamReader(System.in));
String name = "";
System.out.print("Please Enter Your Name:");
name = dataIn.readLine();
System.out.println("Hello " + name + "!");
}
}
Keterangan:
Sama seperti Scanner, unutk mendapatkan input kita membutuhkan sebuah object dari
class BufferedReader dan memanggil method dari object BufferedReader.
Dalam contoh kali ini penggunaan import memiliki perbedaan disbanding
penggunaannya, dalam contoh ini kita merefrensikan semua class yang ada pada library
java.io. Dibandingkan dengan sebelumnya yang merefrensikan secara spesifik dengan
menyebutkan nama class yang akan kita gunakan, penggunaan * memiliki arti seluruh
class yang ada dalam library java.io.
Dalam BufferedReader ini tidak ada method khusu untuk mengambil input selain String.
Untuk mendapatkan tipe data lain selain String, pertaman kali kita harus membaca input
kemudian menampung pada sebuah variable kemudian melakukan konversi tipe data.
Pada main method yang menggunakan BufferedReader terdapat throws IOException,
ini merupakan cara yang digunakan di dalam Java untuk menangani error. Untuk tahap
ini anda tidak perlu khawatir jika tidak mengerti bagian ini.
25
import javax.swing.JOptionPane;
class DemoInputKeyboard {
public static void main(String[] args) {
String name = "";
name = JOptionPane.showInputDialog("Please enter your name");
System.out.println("Hello " + name + "!");
}
}
Tampilan JOptionPane
Keterangan :
Dengan mengimport package javax.swing.JOptionPane kita dapat menggunakan salah
satu fitur swing pada Java untuk melakukan input data. Javax.swing sendiri merupakan
sebuah library default Java yang digunakan untuk pembuatan GUI.
Tipe data yang dihasilkan menggunakan JOptionPane ini sama seperti BufferedReader,
yaitu secara default String, untuk menghasilkan tipe data lain kita harus melakukan
konversi tipe data terlebih dahulu.
Parsing dari String ke tipe data tertentu
Beberapa metode input di Java hanya memiliki masukan yang berupa String saja, untuk
merubah ke tipe data lain ada method yang bisa digunakan.
26
Metode
Integer.parseInt(value)
Long.parseLong(value)
Short.parseShort(value)
Float.parseFloat(value)
Double.parseDouble(value)
Boolean.parseBoolean(value)
value bertipe String
6.
1) Kontrol pemilihan
Struktur kontrol pemilihan adalah pernyataan dari Java yang mengijinkan user untuk
memilih dan mengeksekusi blok kode spesifik dan mengabaikan blok kode yang lain.
Penggunaan IF
IF
Pernyataan if akan menentukan sebuah pernyataan (atau blok kode) yang akan
dieksekusi jika dan hanya jika persyaratan terpenuhi atau bernilai benar(true).
Bentuk dari pernyataan if,
if( boolean_expression )
statement;
atau
if( boolean_expression ){
statement1;
statement2;
...
}
dimana, boolean_expression adalah sebuah penyataan logika (true/false) atau variable
bertipe boolean.
27
Pernyataan if-else merupakan bentuk pengembangan if. Pada bentuk ini jika kondisi
pada if terpenuhi, maka pernyataan yang berada pada block if akan di eksekusi, jika
tidak terpenuhi maka pernyataan yang berada di block else yang akan di eksekusi.
28
else{
statement1;
statement2;
...
}
Berikut ini contoh code statement if-else,
int grade = 68;
if( grade > 60 ) System.out.println("Congratulations!");
else System.out.println("Sorry you failed");
atau
int grade = 68;
if( grade > 60 ){
System.out.println("Congratulations!");
System.out.println("You passed!");
}
else{
System.out.println("Sorry you failed");
}
IF-ELSE IF-ELSE
Pernyataan pada bagian kondisi else dari blok if-else dapat menjadi struktur if-else yang
lain. Kondisi struktur seperti ini mengijinkan kita untuk membuat seleksi persyaratan
yang lebih kompleks.
29
statement2;
else if( boolean_expression3 )
statement3;
else
else statement;
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 statement yang berada di bawahnya. Jadi
statement yang akan di eksekusi adalah dibagian yang terpenuhi terlebih dahulu,
statement berikutnya walaupun bernilai benar tidak akan dieksekusi.
30
31
yang terpenuhi, maka semua kondisi yang benar akan dieksekusi, akan tetapi bisa
dicegah menggunakan perintah break, ketika menggunakan perintah break seperti contoh
di atas, tidak semua keadaan yang terpenuhi dieksekusi, tetapi hanya yang pertama kali
ditemukan saja, ini karena break merupakan perintah keluar dari sebuah perulangan
ataupun sebuah percabangan.
2) Perulangan
Seperti yang kita ketahui, bahwa program yang kita buat dieksekusi secara linear dari
atas kebawah. Terkadang kita membutuhkan sebuah kode yang berulang. Untuk
memenuhi kebutuhan itu terdapat struktur kontrol pengulanngan pada Java. Struktur
kontrol pengulangan adalah berupa pernyataan dari Java yang mengijinkan kita untuk
mengeksekusi blok code berulang-ulang sesuai dengan jumlah tertentu yang diinginkan.
Ada tiga macam jenis dari struktur kontrol pengulangan yaitu for, while, do while.
For loop
Perulangan menggunakan for merupakan perulangan yang sangat umum digunakan.
Bentuk umum perulangan for,
32
33
}
Pernyataan di dalam while loop akan dieksekusi berulang-ulang selama kondisi bernilai
benar (true).
34
adalah pada do while blok perulangan dikerjakan terlebih dahulu baru kemudian
mengecek kondisi, ini berbeda pada while yang mengecek kondisi terlebih dahulu.
Bentuk umum do while,
do{
statement1;
statement2;
...
}while( kondisi );
Pernyataan di dalam do-while akan dieksekusi pertama kali, setelah itu mengecek nilai
kebenaran dari kondisi. Jika nilai pada kondisi tersebut bernilai true, pernyataan di
dalam do while akan dieksekusi lagi selama nilai pada kondisi bernilai true.
35
} while (false);
Contoh di atas akan memberikan output hello pada layar sebanyak satu kali.
3) Kontrol pemilihan dan Perulangan bersarang
Di dalam Java, semua bentuk kontrol pemilihan dan perulangan dapat dimasukan ke
dalam kontrol pemilihan atau perulangan lainnya. Cara ini biasa digunakan untuk
menyelelasikan berbagai macam masalah dalam programming.
Beberapa contoh penggunaanya
If bersarang,
Scanner scan = new Scanner(System.in);
System.out.println("Masukan nilai anda");
int nilai = scan.nextInt();
if (nilai >= 60) {
System.out.print("Selamat anda lulus, dengan predikat ");
if (nilai >= 90) {
System.out.println("sangat baik.");
} else {
System.out.println("baik.");
}
} else {
System.out.println("Maaf anda tidak lulus.");
}
For bersarang
for (int i = 1; i <= 100; i++) {
System.out.print(i + "\t: ");
for (int j = 2; j < i; j++) {
if (i % j == 0) {
System.out.print(j + " ");
}
}
System.out.println();
}
7.
Java arrays
36
Sebagai contoh kita membutuhkan 5 buah variabel dengan tipe double dengan nama nilai
dan hanya dibedakan pada indeksnya saja, pada bab sebelumnya cara yang digunakan
adalah :
double nilai1;
double nilai2;
double nilai3;
double nilai4;
double nilai5;
Untuk memfasilitasi kebutuhan tersebut, ada tipe tipe data yang bernama array. Dan jika
kita menggunakan array dalam menyimpannya akan direpsentasikan sebagai berikut.
2) Pendeklarasian Array
Sama seperti pada pendeklarasian sebuah variabel, pendeklarasian array juga mengikuti
aturan pendeklarasian variabel, hanya saja pada array penulisan deklasi variabelnya
sedikit berbeda.
Bentuk umum pendeklarasian array
type array-name[ ] = new type[size];
Contoh :
double nilai[] = new double[5];
37
Pada contoh di atas kita menginisialisasi variabel array nilai dari indeks 0 hingga 4, perlu
diperhatikan bahwa pengindeksan array dalam java dimulai dari indeks 0. Jadi ketika
kita membuat array dengan 10 nilai, maka indeksnya dari 0 hingga 9.
Jika kita mengetahui nilai dari seluruh anggota array, kita dapat mendeklarasikannya
seperti ini :
int nilai[] = {8.5, 8.9, 7.6, 9.4, 6.1};
Untuk mendapatkan nilai dari suatu array yang ada pada indeks tertentu kita dapat
menggunakan :
array-name[index]
Contoh mencetak semua anggota elemen array menggunakan perulangan for
for(int i = 0; i < nilai.length; i++){
System.out.println(nilai[i]);
}
Pada contoh tersebut kita akan mencetak semua anggota elemen array nilai.
4) Array Multidimensi
Contoh pada bagian sebelumnya merupakan array satu dimensi, selain array satu dimensi ada
juga array multidemensi.
Array Dua Dimensi
Array multi dimensi yang paling umum digunakan dalam pemrograman adalah array dua
dimensi, pada array dua dimensi data direpresentasikan sebagai sebuah matriks.
Contoh deklarasi array dua dimensi
38
39
8.
Java method
Sejauh yang kita pelajari hingga saat ini, method yang kita gunakan hanya method
main() saja, pada bagian ini kita akan mempelajari lebih jauh tentang method dalam
Java.
Method adalah suatu bagian dari baris kode yang mengerjakan sesuatu sesuai dengan isi
dari method tersebut. Suatu method tidak akan berjalan jika method tersebut tidak
dipanggil. Method terdiri dari dua bagian, method header dan method body. Method
header adalah bagian dimana kita memberitahukan kepada Java apa nama method yang
kita buat, apa tipe kembalinya, dan apa saja nilai yang dimasukan kedalam method. Dan
method body dimana kita menuliskan isi kode method yang kita buat.
Berikut contoh dari sebuah method :
Method tersebut bernama addTen. Dan variabel yang di dalam tanda kurung merupakan
variabel yang dimasukan kedalam method. Nilai kembalian dari method tersebut adalah
int.
Nilai kembalian atau return value adalah nilai yang akan dikembalikan ketika method
tersebut dipanggil. Pada contoh tersebut nilai yang akan dikembalikan adalah variabel
sum, varibel sum merupakan variabel yang bertipe int. Sum merupakan hasil dari
penjumlahan variabel number dengan 10. Dari method tersebut akan dikembalikan suatu
nilai yang merupakan penjumlahan number dengan 10.
Tipe dari return value pada sebuah method sama dengan tipe data yang ada pada Java,
seperti int, double, float, boolean, dan lainnya.
40
Terkadang method yang kita buat hanya mengerjakan suatu perintah namun tidak
memiliki nilai kembalian, untuk kasus tersebut tipe return value pada method tersebut
menggunakan tipe void.
Contoh penggunaaan tipe void.
Pada contoh tersebut, method cetak tidak memiliki nilai kembalian dan hanya mencetak
variabel teks.
Seperti yang telah disebutkan pada bagian tipe data, String merupakan sebuah tipe data
object, artinya ketika suatu variabel bertipe String dideklarasikan, variabel tersebut
merupakan sebuah obyek. Dan memiliki beberapa method yang ada pada kelasnya.
Kelas dan obyek akan dijelaskan pada materi selanjunya.
Untuk menggunakan method yang tersedia pada obyek, bentuk umum yang digunakan
adalah :
<obyek>.<method>;
Pada contoh tersebut kita memanggil method equal yang digunakan untuk
membandingkan 2 buah String. Untuk mengetahui lebih lanjut method apa saja yang ada
pada String, bisa melihat pada Java Documentation.
1. Memanggil Method
Method adalah potongan kode yang berisi perintah perintah yang akan dekerjakan
ketika method tersebut dipanggil. Method memudahkan kita dalam menggunakan kode
yang dipakai secara berulang-ulang tanpa perlu menulis kembali kode tersebut ketika
41
akan digunakan. Sebelum memanggil method, kita harus membuat method terlebih
dahulu. Berikut ini adalah contoh pembuatan method.
Buat sebuah project dan buat kodenya seperti pada contoh berikut.
}
}
Kemudian isikan sesuatu pada main method agar kita dapat melihat proses yang terjadi.
Contohnya saja kita tambahkan
System.out.println(Hello OLC);
Kemudian kita membuat sebuah method yang bernama sayHello dengan tipe void pada
class MethodTest.
Sehingga kode kita seperti ini.
public class MethodTest {
public static void main(String[] args){
System.out.println(Hello OLC);
}
42
Jalankan kembali program tersebut. Dapat dilihat bahwa method sayHello baru akan
berjalan ketika dipanggil dalam main method. Dan perlu diingat kembali bahwa main
method adalah method pertama kali yang akan dijalankan ketika program berjalan.
2. Pemberian Variabel Dalam Method
Membuat method di dalam Java akan sangat berguna jika kita dapat memasukan variabel
dalam method tersebut. Contohnya saja ketika kita membutuhkan method yang dapat
digunakan untuk mencari nilai tersebesar dari sebuah array yang bertipe integer.
Untuk memasukan variabel dalam method di Java, yang harus kita lakukan adalah
memberikan variabel di dalam tanda kurung pada method header seperti pada contoh
sebelumnya.
Berikut contoh penggunaan method yang dapat di berikan variabel.
Pertama kita buat terlebih dahulu methodnya, method pada contoh ini digunakan untuk
mencari nilai maksimum dari sebuah array satu dimensi yang bertipe integer.
static int max(int a[]){
int temp = a[0];
for(int i=1; i < a.length; i++){
if(temp < a[i]) max = a[i];
}
return temp;
}
Kemudian kita panggil dalam main method sehingga menjadi seperti ini.
43
Contohnya, objek sebuah mobil mempunyai atribut tipe transmisi, warna dan
manufaktur. Mempunyai tingkah laku berbelok, mengerem dan berakselerasi. Dengan
cara yang sama pula kita dapat mendefinisikan perbedaan sifat dan tingkah laku dari
singa. Coba perhatikan tabel dibawah ini sebagai contoh perbandingan :
44
Objek
Atribut
Tingkah Laku
Mobil
Berbelok
manufaktur
Mengerem
Warna
Singa
Mempercepat
Berat
roaring
Warna
Tidur
Berburu
.
Dengan deskripsi ini, obyek pada dunia nyata dapat secara mudah asumsikan sebagai
obyek perangkat lunak menggunakan atribut sebagai data dan tingkah laku sebagai
method. Data dan method dapat digunakan dalam pemrograman game atau perangkat
lunak interaktif untuk membuat simulasi obyek pada dunia nyata.
Contohnya adalah perangkat lunak obyek mobil dalam permainan balap mobil atau
perangkat lunak obyek singa dalam sebuah perangkat lunak pendidikan interaktif pada
kebun binatang untuk anak anak.
Bisa dikatakan bahwa obyek adalah sebuah perangkat lunak yang berisi sekumpulan
variabel dan method yg berhubungan. Variabel dan method dalam obyek Java secara
45
formal diketahui sebagai variabel instance dan method instance. Hal ini dilakukan untuk
membedakan dari variabel class dan method class, dimana akan dibahas kemudian.
Class adalah sturktur dasar dari OOP. Class terdiri dari dua tipe dari anggota dimana
disebut dengan field (attribut/properti) dan method. Field merupakan tipe data yang
didefinisikan oleh class, sementara method merupakan operasi. Sebuah obyek adalah
sebuah instance (keturunan) dari class.
Untuk dapat membedakanantara class dan obyek, mari kita mendiskusikan beberapa
contoh berikut ini. Kita memiliki sebuah class mobil dimana dapat digunakan untuk
medefinisikan beberapa obyek mobil. Pada tabel dibawah, mobil A dan mobil B adalah
obyek dari class mobil. Class memiliki field nomor, plat, warna, manufaktur dan
kecepatan yang diisi dengan
nilai pada obyek mobil A dan mobil B. Mobil juga dapat berakselerasi, berbelok dan
melakukan rem.
Class Mobil
Variable
Objek Mobil A
Objek Mobil B
Nomor Plat
ABC 111
XYZ 123
Warna
Biru
Merah
Manufaktur
Mitsubishi
Toyota
Kecepatan
50 km/h
100 km/h
Instance
Method Akselerasi
Method
Instance
Method Belok
Method Rem
Table 9.2: Contoh class car dan object-object nya
Ketika diinisialisi, setiap obyek mendapat satu set variabel yang baru. Bagaimanapun,
implementasi dari method dibagi diantara objek pada class yang sama.
46
2) Deklarasi Atribut
Dalam pendeklarasian atribut, kita tuliskan :
<modifier> <type> <name> [= <default_value>];
Langkah selanjutnya adalah mengurutkan atribut yang akan diisikan pada class. Untuk
setiap informasi, urutkan juga tipe data yang yang tepat untuk digunakan. Contohnya,
Anda tidak mungkin menginginkan untuk menggunakan tipe data integer untuk nama
siswa, atau tipe data string pada nilai siswa.
Berikut ini adalah contoh informasi yang akan diisikan pada class StudentRecord :
name - String
address - String
age - Int
math grade - double
english grade - double
science grade - double
average grade double
Instance Variable
Jika kita telah menuliskan seluruh atribut yang akan diisikan pada class, selanjutnya kita
akan menuliskannya pada kode. Jika kita menginginkan bahwa atribut atribut tersebut
adalah unik untuk setiap object (dalam hal ini untuk setiap siswa), maka kita harus
mendeklarasikannya sebagai instance variable :
Sebagai contoh :
public class StudentRecord
{
private String name;
47
dimana,
private disini menjelaskan bahwa variabel tersebut hanya dapat diakses oleh class itu
sendiri. Object lain tidak dapat menggunakan variabel tersebut secara langsung. Kita
akan membahas tentang kemampuan akses pada pembahasan selanjutnya.
48
3)
Deklarasi Constructor
Telah tersirat pada pembahasan sebelumnya, Constructor sangatlah penting pada
pembentukan sebuah object. Constructor adalah method dimana seluruh inisialisasi
object ditempatkan.
Default Constructor
Setiap class memiliki default constructor. Sebuah default constructor adalah constructor
yang tidak memiliki parameter apapun. Jika sebuah class tidak memiliki constructor
apapun, maka sebuah default constructor akan dibentuk secara implisit :
49
Sebagai contoh, pada class StudentRecord, bentuk default constructor akan terlihat
seperti dibawah ini :
public StudentRecord()
{
//area penulisan kode
}
Overloading Constructor
Seperti telah kita bahas sebelumnya, sebuah constructor juga dapat dibentuk menjadi
overloaded. Dapat dilihat pada 4 contoh sebagai berikut :
public StudentRecord(){
//area inisialisasi kode;
}
public StudentRecord(String temp){
this.name = temp;
}
public StudentRecord(String name, String address){
this.name = name;
this.address = address;
}
public StudentRecord(double mGrade, double eGrade, double sGrade){
mathGrade = mGrade;
englishGrade = eGrade;
scienceGrade = sGrade;
}
Menggunakan Constructor
Untuk menggunakan constructor, kita gunakan kode kode sebagai berikut :
public static void main( String[] args )
{
50
//membuat 3 objek
StudentRecord annaRecord=new StudentRecord("Anna");
StudentRecord beahRecord=new StudentRecord("Beah","Philippines");
StudentRecord crisRecord=new StudentRecord(80,90,100);
//area penulisan kode selanjtunya
}
Sebelum kita lanjutkan, mari kita perhatikan kembali deklarasi variabel static
studentCount yang telah dibuat sebelumnya. Tujuan deklarasi studentCount adalah untuk
menghitung jumlah object yang dibentuk pada class StudentRecord. Jadi, apa yang akan
kita lakukan selanjutnya adalah menambahkan nilai dari studentCount setiap kali setiap
pembentukan object pada class StudentRecord. Lokasi yang tepat untuk memodifikasi
dan menambahkan nilai studentCount terletak pada constructor-nya, karena selalu
dipanggil setiap kali objek terbentuk.
Sebagai contoh :
public StudentRecord(){
//letak kode inisialisasi
studentCount++; //menambah student
}
public StudentRecord(String temp){
this.name = temp;
studentCount++; //menambah student
}
public StudentRecord(String name, String address){
this.name = name;
this.address = address;
studentCount++; //menambah student
}
public StudentRecord(double mGrade, double eGrade, double sGrade){
mathGrade = mGrade;
englishGrade = eGrade;
scienceGrade = sGrade;
studentCount++; //menambah student
}
Desktop Programming Module
51
Dari contoh kode diatas, pada saat baris ke 13 dipanggil akan memanggil constructor
dasar pada baris pertama. Pada saat baris kedua dijalankan, baris tersebut akan
menjalankan constructor yang memiliki parameter String pada baris ke-6.
4)
Packages
Packages dalam JAVA berarti pengelompokan beberapa class dan interface dalam satu
unit. Fitur ini menyediakan mekanisme untuk mengatur class dan interface dalam jumlah
banyak dan menghindari konflik pada penamaan.
52
Mengimport Packages
Supaya dapat meggunakan class yang berada diluar package yang sedang dikerjakan,
Anda harus mengimport package dimana class tersebut berada. Pada dasarnya, seluruh
program JAVA mengimport package java.lang.*, sehingga Anda dapat menggunakan
class seperti String dan Integer dalam program meskipun belum mengimport package
sama sekali.
Membuat Package
Untuk membuat package, dapat dilakukan dengan menuliskan :
package <packageName>;
Anggaplah kita ingin membuat package dimana class StudentRecord akan ditempatkan
bersama dengan class class yang lain dengan nama package schoolClasses. Langkah
pertama yang harus dilakukan adalah membuat folder dengan nama schoolClasses. Salin
seluruh class yang ingin diletakkan pada package dalam folder ini. Kemudian tambahkan
kode deklarasi package pada awal file.
Sebagai contoh :
53
package schoolClasses;
public class StudentRecord
{
private String name;
private String address;
private int age;
}
Package juga dapat dibuat secara bersarang. Dalam hal ini Java Interpreter menghendaki
struktur direktori yang mengandung class eksekusi untuk disesuaikan dengan struktur
package.
2.
Access Modifiers
Pada saat membuat, mengatur properties dan class methods, kita ingin untuk
mengimplementasikan beberapa macam larangan untuk mengakses data. Sebagai contoh,
jika Anda ingin beberapa atribut hanya dapat diubah hanya dengan method tertentu, tentu
Anda ingin menyembunyikannya dari object lain pada class. Di JAVA, implementasi
tersebut disebut dengan access modifiers.
Terdapat 4 macam access modifiers di JAVA, yaitu : public, private, protected dan
default. 3 tipe akses pertama tertulis secara ekplisit pada kode untuk mengindikasikan
tipe akses, sedangkan yang keempat yang merupakan tipe default, tidak diperlukan
penulisan keyword atas tipe.
1)
Sebagai contoh :
public class StudentRecord
{
//akses dasar terhadap variabel
int name;
//akses dasar terhadap metode
54
String getName(){
return name;
}
}
Pada contoh diatas, variabel nama dan method getName() dapat diakses dari object lain
selama object tersebut berada pada package yang sama dengan letak dari file
StudentRecord.
2)
Akses Public
Tipe ini mengijinkan seluruh class member untuk diakses baik dari dalam dan luar class.
Object apapun yang memiliki interaksi pada class memiliki akses penuh terhadap
member dari tipe ini.
Sebagai contoh :
public class StudentRecord
{
//akses dasar terhadap variabel
public int name;
//akses dasar terhadap metode
public String getName(){
return name;
}
}
Dalam contoh ini, variabel name dan method getName() dapat diakses dari object lain.
3)
Akses Protected
Tipe ini hanya mengijinkan class member untuk diakses oleh method dalam class
tersebut dan elemen elemen subclass.
Sebagai contoh :
public class StudentRecord
{
//akses pada variabel
55
4)
Akses Private
Tipe ini mengijinkan pengaksesan class hanya dapat diakses oleh class dimana tipe ini
dibuat.
Sebagai contoh :
public class StudentRecord
{
//akses dasar terhadap variabel
private int name;
//akses dasar terhadap metode
private String getName(){
return name;
}
}
Pada contoh diatas, variabel name dan method getName() hanya dapat diakses oleh
method internal class tersebut.
56
10. Referensi
M. Maas, Rafdi, 2011, Modul Programming, Yogyakarta : Techno Smart
Schildt, Herbert, 2003, Java 2: A Beginners Guide, Second Edition. USA : McGraw-Hill
Raharjo, B. Heryanto, I. dan Haryono, A., 2009, Mudah Belajar Java. Bandung : Informatika
57