StripBandunk | Belajar Java Dasar

2011
Belajar Java Dasar

Eko Kurniawan Khannedy StripBandunk 9/1/2011

i

St ipB ndun | B l j

Daftar Isi
Daftar Isi ................................ ................................ ................................ ....................... ii 1 Persiapan ................................ ................................ ................................ ............... 1 1.1 1.2 1.3 1.4 2 Peralatan yang Diperlukan ................................ ................................ .............. 1 Java Development Kit ................................ ................................ ..................... 1 Java Runtime Environtment ................................ ................................ ............ 1 NetBeans IDE ................................ ................................ ................................ .. 1

Dasar-Dasar Bahasa Pemrograman Java ................................ ................................ 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 Program Hello World ................................ ................................ ...................... 2 Tipe Data ................................ ................................ ................................ ........ 2 Variabel ................................ ................................ ................................ .......... 3 Operator ................................ ................................ ................................ ......... 3 Percabangan ................................ ................................ ................................ ... 6 Perulangan ................................ ................................ ................................ ..... 9 Array................................ ................................ ................................ ............. 12

3

Pemrograman Berorientasi Objek ................................ ................................ ........ 14 3.1 3.2 3.3 3.4 3.5 3.6 Object ................................ ................................ ................................ ........... 14 Class ................................ ................................ ................................ ............. 14 Paket ................................ ................................ ................................ ............ 32 Interface ................................ ................................ ................................ ....... 33 Inner Class ................................ ................................ ................................ .... 35 Kelas POJO / Java Bean ................................ ................................ ................. 38

4

Penanganan Kesalahan ................................ ................................ ........................ 40 4.1 4.2 4.3 4.4 4.5 4.6 Menangkap Kesalahan ................................ ................................ .................. 40 Penanganan Secara Bertingkat ................................ ................................ ..... 41 Melontarkan Exception ................................ ................................ ................. 41 Membuat Kelas Exception ................................ ................................ ............ 42 Membuat Kelas RuntimeException ................................ ............................... 43 Blok Finally ................................ ................................ ................................ ... 44

5

Kelas Kelas ................................ ................................ ................................ ........ 46

¥ ¤ £   ¡ ¡ ¡ ¡  ¡ ¡

¢

¡

 

J

s

ii

5.1 5.2 5.3

String ................................ ................................ ................................ ............ 46 Date................................ ................................ ................................ .............. 48 Calendar ................................ ................................ ................................ ....... 48

Tentang Penulis ................................ ................................ ................................ .......... 51

¦

St ipB ndun | B l j
¦ 

 ¦ © § § § § § §

¨

§

J

s

iii

1 Persiapan
1.1 Peralatan yang Diperlukan
Pada pelatihan Java Dasar ini, peralatan yang diperlukan adalah : 1. Java Development Kit versi 1.6 keatas. 2. Java Runtime Environtment versi 1.6 keatas. 3. NetBeans IDE versi 6.9 keatas.

1.2 Java Development Kit
Java Development Kit merupakan perangkat lunak yang digunakan untuk melakukan proses kompilasi dari kode Java menjadi bytecode yang dapat dimengerti dan dapat dijalankan oleh Java Runtime Environtment. Java Development Kit wajib terinstall pada komputer yang akan melakukan proses pembuatan aplikasi berbasis Java. Namun Java Development Kit tidak wajib terinstall di komputer yang akan menjalankan aplikasi yang dibangun menggunakan Java.

1.3 Java Runtime Environtment
Java Runtime Environtment merupakan perangkat lunak yang digunakan untuk menjalankan aplikasi yang dibangun menggunakan java. Versi JRE harus sama atau lebih tinggi dari JDK yang digunakan untuk membangun aplikasi agar aplikasi dapat berjalan sesuai dengan yang diharapkan.

1.4 NetBeans IDE
NetBeans IDE merupakan perangkat lunak yang digunakan untuk membangun perangkat lunak yang lain. NetBeans IDE dapat digunakan untuk membangun perangkat lunak berbasis Java Standard Edition, Java Enterprise Edition, Java Micro Edition, JavaFX, PHP, C/C++, Ruby, Groovy dan Python. 

   

St ipB ndun | B l j 
  

J

s

1

2 Dasar-Dasar Bahasa Pemrograman Java
2.1 Program Hello World
public class HelloWorld { public stati c void main(String[] args) { System.out.println("Hello World"); } }

Pada kode diatas, kita telah membuat sebuah program sederhana yang menampilkan tulisan Hello World pada console. Terdapat beberapa aturan dalam membuat program dalam Java yaitu : 1. Nama file harus sama dengan nama kelas program. Misal pada kode diatas nama kelasnya adalah HelloWorld, maka nama file harus HelloWorld.java. 2. Hanya boleh terdapat satu kelas public pada sebuah file. 3. Kelas yang menjadi program harus memiliki metode public static void main(String[] args) 4. Terminal pada Java menggunakan tanda ; (titik koma).

2.2 Tipe Data
Terdapat beberapa tipe data primitive yang ada di Java yaitu :
& &'$ $ & &% $

Tip t bool n ch byt sho t int long doubl flo t
$ &$ $ '& ' &

K t ng n true atau false Karakter -128 - 127 -32768 - 32767 -2147483648 - 2147483647 -9223372036854775808 - 9223372036854775807 4.9E-324 - 1.7976931348623157E308 1.4E-45 - 3.4028235E38

String bukanlah merupakan tipe data di Java, String merupakan Object. Namutn string memiliki keunikan yaitu String dapat langsung dibuat tanpa harus membuat Object. 

# "  

St ipB ndun | B l j 


!

J

s

2

2.4 Operator Operator merupakan sebuah menghasilkan suatu nilai. karakter khusus yang digunakan untuk () )3 )2) () ) St ipB ndun | B l j 0 ) ( 1 J s 3 . int nilai = 100. tab) 2.% dan lain-lain 3. misal : int nilai. Tidak boleh terdapat karakter unik seperti @. Harus diawalai dengan huruf 2.3 Variabel Variabel merupakan sesuatu yang digunakan untuk menampung sebuah data. indexNilai = 'A'. Tipe variabel dapat berupa tipe data atau kelas. char indexNilai. maka dapat menggunakan tanda = (sama dengan) . Tipevariabel namavariabel. misal jika kita akan menambahkan nilai 100 pada variabel nilai dan A pada variabel indexNilai. int nilai. Syarat-syarat penamaan variabel adalah : 1. enter.Pembuatan sebuah variabel di Java terlihat pada kode dibawah ini. Untuk menambahkan nilai ke sebuah variabel. nilai = 100. char indexNilai = µA¶. Tidak boleh mengandung karakter putih (spasi.Sebuah variabel harus ada dalam sebuah kelas atau metode. Atau dapat juga langsung saat pembuatan sebuah variabel. #. char indexNilai. maka dapat terlihat pada kode dibawah ini.

2.1 Operator Aritmatika B BA@ @ A BA@ Op + * / % to Contoh : int a = 10. Hasil dari kode program diatas adalah 3 bukan 3.4. dan integer tidak dapat mengandung nilai koma dalam Java. a += 5. sehingga jika akan melakukan perkalian yang menghasilkan nilai koma.2 Operator Penugasan E EDC C D EDC Op = += -= *= /= %= to Contoh int a = 10.out.println(c).4.2.println(a). int c = a / b. maka hasilnyapun akan integer.out. System. int b = 3. 45 59 585 45 5 St ipB ndun | B l j 6 5 4 7 J s K t ng n Penjumlahan Pengurangan Perkalian Pembagian Sisa pembagian K t ng n Pemberian nilai Penambahan bilangan Pengurangan bilangan Perkalian bilangan Pembagian bilangan Pemerolehan sisa bagi 4 .333. maka harus menggunakan tipe data double atau float. System. Hal ini dikarenakan dalam Java jika kita melakukan operasi pembagian dengan tipe data integer.

2. misal : boolean a = 10 == 100. maka dapat dengan mudah menggunakan karakter ++ untuk penambahan atau -.untuk pengurangan. Hasil dari program diatas adalah false. Jika akan melakukan penambahan atau pengurangan dengan nilai 1. System. Maka hasilnya adalah 9.4. karena memang 10 tidak sama dengan 100.out.out.3 Operator Pembanding T TSR R S TSR Op == != >= <= > < to Hasil dari operasi pembanding adalah boolean.println(a). a--. Hal ini dikarenakan a += 5 sama dengan a = a + 5.Hasil dari operasi += tersebut adalah 15.4 Operator Logika W WVU U V WVU Op && || to FG GQ GPG FG G St ipB ndun | B l j H G F I J s K t ng n Sama dengan Tidak sama dengan Lebih dari sama dengan Kurang dari sama dengan Lebih dari Kurang dari K t ng n Dan Atau 5 . misal : int a = 10. maka itu berarti a = 10 + 5. 2. True jika operasi pembanding tersebut benar. System. dan false jika operasi pembanding tersebut salah.println(a).4. dikarenakan a sebelumnya adalah 10.

Operator logika digunakan untuk membentuk suatu keadaan dari dua atau lebih kondisi tertentu. Hasil operasi logika dengan menggunakan && adalah sebagai berikut. d Op rasi 1 Fals Fals Tru Tru d d d d d Contoh. Hasil dari operator logika adalah boolean.out. Bentuk pernyataan if berupa : if(kondisi){ // yang akan dijalankan } Contoh : XY Yc YbY XY Y St ipB ndun | B l j ` Y X a J s Op si 2 False True False True H sil False False False True Op rasi 2 False True False True Hasil False True True True 6 .5. 2.5 Percabangan 2. Maka hasilnya adalah true.1 Percabangan if Pernyataan if merupakan salah satu bentuk pernyataan yang berguna untuk mengambil keputusan terhadap sebuah kemungkinan.println(hasil). boolean hasil = 10 == 100 || 100 == 100. f fed Op si 1 F ls F ls Tru Tru fed d f d f d d Hasil operasi logika dengan menggunakan || adalah sebagai berikut. System. operator logika biasanya digabungkan dengan operator pembanding.

hal ini dikarenakan nilai bernilai 8. Bentuk pernyataan if-else berupa : if(kondisi){ // jalankan jika kondisi true }else{ // jalankan jika kondisi false } Misal int nilai = 8. if(nilai == 10){ System.out. artinya jika kondisi pada if tidak terpenuhi maka perintah pada else akan dijalankan. 2. jika kondisi bernilai salah.out.StripBandun | B lajar Java Dasar g int nilai = 10. maka program tidak akan menghasilkan tulisan apa-apa. }else{ System.println("Sepuluh").println("Sepuluh").2 Percabangan if-else Percabangan if-else merupakan percabangan yang sama dengan percabangan if namun memiliki kondisi false.println("Bukan Sepuluh"). bukan 10.3 Percabangan if bersarang Percabangan if bersarang merupakan gabungan beberapa if dan dapat pula digabung dengan if-else.5. maka hasilnya adalah tulisan Sepuluh karena kondisi pada if bernilai true. } Jika program diatas dijalankan. maka hasilnya adalah tulisan Bukan Sepuluh .out. } Jika program diatas dijalankan. Bentuk pernyataan if bersarang adalah sebaga berikut : if(kondisi1){ // perintah kondisi1 h 7 . 2.5. if(nilai == 10){ System. misal nilai == 100.

}else if(nilai >= 7){ index = 'B'. Jika program diatas dijalankan.out. char index. }else{ index = 'E'. 2.5.4 Percabangan switch-case Percabangan switch-case merupakan percabangan yang kondisinya hanya dapat menggunakan perbandingan == (sama dengan). // hentikan case nilai2: // jalankan instruksi break. if(nilai >= 8){ index = 'A'. // hentikan case nilai4: // jalankan instruksi break. // hentikan default: p 8 . maka hasilnya adalah C . }else if(nilai >= 6){ index = 'C'. } System. int nilai = 6.StripBandun | B lajar Java Dasar i }else if(kondisi2){ // perintah kondisi2 }else if(kondisi3){ // perintah kondisi3 }else{ // perintah jika semua kondisi tidak ada yang benar } Misal. // hentikan case nilai2: // jalankan instruksi break.println(index). Bentuk pernyataan percabangan switch-case adalah sebagai berikut : switch(variabel){ case nilai1: // jalankan instruksi break. }else if(nilai >= 5){ index = 'D'.

maka perulangan akan terus berjalan.out. maka instruksi akan dijalankan sampai menemui tanda break. default: System. 2. selama kondisi tersebut bernilai benar (true).1 Perulangan while Pernyataan while berguna untuk melakukan proses perulangan untuk sebuah kondisi. maka program akan menghasilkan tulisan Bukan Hari Libur .out. jika sama. setelah itu bada bagian case dibandingkan. // hentikan } Pada percabangan switch pertama. break.println("Hari Tidak Diketahui").println("Hari Libur"). Bentuk pernyataan while seperti berikut ini : while(kondisi){ // isi instruksi } Misal : r 9 .StripBandun | B lajar Java Dasar q // jalankan instruksi break. case 7: System.6 Perulangan 2. diperlukan sebuah variabel. break. } Jika program diatas dijalankan. dan terhenti ketika kondisi bernilai salah (false). Misal : int hari = 5.println("Bukan Hari Libur").6. break. switch(hari){ case 1: case 2: case 3: case 4: case 5: case 6: System.out.

6. dimana do-while pertama melakukan instruksi baru mengecek kondisi. Dan saat jumlah bernilai 11. pada perulangan do-while.StripBandun | B lajar Java Dasar s int jumlah = 1. berbeda dengan while dan do-while yang kita harus membuat t 10 .3 Perulangan for Perulangan for merupakan perulangan yang memiliki variabel untuk melakukan pengkondisian. sedangkan while pertama mengecek kondisi baru melakukan instruksi.6. // naikkan jumlah }while(jumlah <= 10). jumlah++. Jika program tersebut dijalankan. hal ini dikarenakan proses do-while berbeda dengan while. // menaikkan jumlah } Jika program tersebut dijalankan. maka hasilnya adalah tulisan dari no 1 sampai 10. jumlah++. int jumlah = 100. maka minimal instruksi akan dijalankan sekali.println(jumlah). maka perulangan akan terhenti dikarenakan kondisi bernilai false (11 <= 10) 2. Misal. do{ System. artinya walaupun kondisi salah. namun minimal isi instruksi akan dijalankan sekali.out.2 Perulangan do-while Perulangan do-while merupakan perulangan yang hampir mirip dengan perulangan while namun perbedaannya. 2.out. maka akan menghasilkan keluaran 100.println(jumlah). Bentuk pernyataan do-while sebagai berikut : do{ // insturksi }while(kondisi). while(jumlah <= 10){ System.

} System. v 11 . i++){ System. maka dapat menggunakan perulangan for.StripBandun | B lajar Java Dasar u sebuah variabel diluar untuk melakukan penkondisian.5 Perintah continue Perintah continue dapat digunakan untuk meloncati sebuah perulangan. } } Maka program hanya akan menampilkan angka dari 1 sampai 50.6.println(i). i <= 100. for(int i = 1. for(int i = 1.out. kondisi.println(i). if(i == 50){ break. i++){ System. 2. Misal. misal jika kita membuat program seperti berikut : for(int i = 1.6. hal ini berarti instrukti tidak akan dijalankan. i <= 100. i++){ if(i % 2 == 0){ continue. program dihentikan oleh perintah break. maksudnya adalah instruksi yang seharusnya dapat dilewat. Bentuk pernyataan for seperti berikut : for(inisialisasi. karena pada saat i mencapai 50. penaikan/penurunan){ instruksi } Misal kita akan menampilkan angka dari 1 = 100.println(i).4 Perintah break Perintah break merupakan perintah yang dapat digunakan untuk menghentikan proses perulangan. ditempatkan sebuah blok untuk membuat variabel dan melakukan proses pengkondisian. pada perulangan for. i <= 100. } 2.out.out.

1 Mendeklarasikan Array Untuk membuatan variabel array pun berbeda dengan membuat variabel biasanya yaitu sebagai berikut : TipeArray namaArray[]. Dimana tipe array dapat berupa tipe data biasa seperti int. hal ini dikarenakan saat nilai i merupakan angka genap. sebelum array tersebut digunakan. maka untuk melakukan proses manipulasi seperti menambahkan data ke Array. mengubah data di Array ataupun mengakses data dalam Array. maka hasilnya akan menampilkan angka-angka ganjil saja. caranya dengan menggunakan perintah new. TipeArray namaArray[]. 2.StripBandun | B lajar Java Dasar w } Jika program diatas dijalankan. Dimana jumlah array merupakan jumlah data yang dapat ditampung oleh array.2 Membuat Array Setelah mendeklarasikan Array. maka hasilnya akan terlihat seperti ini. maka diperlukan sebuah indeks. 2. namaArray = new TipeArray[jumlah]. char.3 Memanipulasi Data dalam Array Setelah membuat Array.7. x 12 .7 Array Array merupakan objek yang dapat digunakan untuk menyimpan sejumlah data. dimana saat membuat sebuah array dengan jumlah data 5. maka perlu dibuat arraynya terlebih dahulu. 2.Data yang dapat ditampung pada array dapat berupa tipe data ataupun kelas (objek). 2.7.7. short atau juga kelas seperti String dan yang lainnya. maka perintah continue membuat program tidak menampilkan angka genap.

println(a[3]). 6867.println(a[4]).println(a[1]). € Indeks 0 1 2 3 4 13 . 2. Misal : int a[] = new int[5].7. System. System.println(a[2]).4 Array Multidimensi Java mendukung pembuatan array multidimensi maksudnya kita dapat menambahkan data array ke dalam sebuah array.out. System.out. Dan untuk melakukan proses manipulasi data dalam array menggunakan indeks dapat digunakan dengan perintah : namaArray[indeks]. System. System. 2423. 4234.out.StripBandun | B lajar Java Dasar y No 1 2 3 4 5 Artinya data ke 1 dapat diakses menggunakan indeks 0 dan seterusnya.println(a[0]). a[0] a[1] a[2] a[3] a[4] = = = = = 234.out. cara pembuatannya adalah sebagai berikut : TipeArray namaArray[][] = new TipeArray[jumlah][jumlah].out. 564.

jika diibaratkan Objek adalah kue.StripBandun | B lajar Java Dasar  3 Pemrograman Berorientasi Objek Pemrograman berorientasi objek merupakan pemrograman yang menjadikan objek sebagai komponen utama dalam sistem. (titik) // mengubah atribut objek.1 Object Objek merupakan hasil dari sebuah kelas.namaAtribut = value. maka kelas adalah cetakan kuenya. 3. Kelasobjek = new Kelas(). dimana sebuah objek dibuat dari sebuah kelas. dimana cara pembuatannya sama dengan pembuatan variabel. kelas didefinisikan menggunakan kata kunci class. Contoh kelas sederhana adalah sebagai berikut : class Manusia { String nama.namaFungsi(). 3.2 Class Dalam Java. Jika dalam kelas tersebut memiliki sebuah fungsi (metode). maka dapat dipanggil menggunakan . maka dapat dipanggil menggunakan . dimana kue dibuat menggunakan cetakan tersebut. } ‚ 14 .Dan sebuah cetakan kue dapat membuat beberapa kue. Jika dalam kelas yang dibuat objek tersebut terdapat atribut. Untuk membuat objek dalam Java diperlukan sebuah perintah new.Objek merupakan gabungan data dan fungsi. (titik) dan diakhiri dengan () // memanggil fungsi objek. artinya sebuah kelas dapat membuat beberapa object.

merupakan metode yang memiliki nilai balik jika metode tersebut dipanggil. 3. Dan nama merupakan atribut yang dimiliki kelas Manusia tersebut. } // prosedur void hapusNama() { nama = "". lalu membuat nama metodenya. merupakan metode yang tidak memiliki nilai balik. Contoh : class Manusia { String nama. // fungsi String ambilNama() { // untuk mengembalikan nilai gunakan kata kunci return return nama. } } Pada kode diatas.StripBandun | B lajar Java Dasar ƒ Pada kode diatas. cara pembuatan sebuah fungsi adalah dengan cara menentukan nilai baliknya. // mengubah nama objek manusia manusia. cara pembuatan prosedur sama dengan fungsi namun bedanya. Fungsi.1 Metode Dalam java terdapat dua buah metode 1. Prosedur.2. nilai baliknya menggunakan kata kunci void. Contoh pembuatan objek untuk kelas manusia adalah sebagai berikut : // membuat objek manusia Manusia manusia = new Manusia(). kelas yang telah dibuat adalah kelas Manusia. Dimana ambilNama() merupakan sebuah fungsi karena „ 15 . 2. kelas manusia memiliki 2 buah metode yaitu ambilNama() dan hapusNama().nama = "Eko Kurniawan Khannedy".

2. maka pasti kita memerlukan nama baru untuk menggantikan nama lama. } String ambilNama() { return nama. // metode dengan parameter void ubahNama(String namaBaru){ nama = namaBaru. harus menggunakan kata kunci return. oleh karena itu diperlukan sebuah parameter nama baru untuk menggantikan nama tersebut. Untuk mengambil nilai balik dari fungsi dapat dilih at pada contoh sebagai berikut.ubahNama("Eko Kurniawan Khannedy"). 3.nama = "Eko Kurniawan Khannedy".ambilNama(). † 16 . } void hapusNama() { nama = "". manusia.2 Parameter Parameter merupakan data yang dapat ditambahkan dari luar metode. Manusia manusia = new Manusia(). manusia. Contoh parameter dapat terlihat pada kelas dibawah ini : class Manusia { String nama.StripBandun | B lajar Java Dasar … mengembalikan nilai String. sedangkan hapusNama() merupakan prosedur karena tidak mengembalikan nilai. Saat membuat sebuah fungsi maka untuk mengembalikan nilainya. // mengambil nilai dari fungsi String nama = manusia. diikuti nilai yang akan dikembalikannya. misal jika kita membuat sebuah metode untuk mengubah nama pada kelas Manusia. } } Contoh penggunaannya adalah sebagai berikut : Manusia manusia = new Manusia().

2. // metode dengan lebih dari satu parameter void ubahData(String namaBaru.ubahData("Eko". Contohnya : class Manusia { String nama. } void hapusNama() { nama = "". String alamat.3 Kata Kunci this Kata kunci this digunakan dalam sebuah kelas dan digunakan untuk menyatakan objek sekarang. "Subang"). maka jika kita menggunakan ˆ 17 .ambilNama(). 3. untuk menambahkan parameter. manusia. } String ambilNama() { return nama. Sebuah metode dapat memiliki satu atau lebih parameter. Contoh misal saat kita membuat sebuah parameter yang sama dengan nama atribut yang ada dalam sebuah kelas.StripBandun | B lajar Java Dasar ‡ String nama = manusia. (koma). Saat kode diatas dieksekusi. dipisahkan dengan menggunakan tanda . alamat = alamatBaru. maka variabel nama akan bernilai Eko Kurniawan Khannedy sesuai dengan nama baru yang telah tidambahkan lewat metode ubahNama(namaBaru). } } Contoh penggunaannya adalah sebagai berikut : Manusia manusia = new Manusia(). String alamatBaru){ nama = namaBaru. } // metode dengan satu parameter void ubahNama(String namaBaru){ nama = namaBaru.

out. maka perubahan tidak akan terjadi. maka diperlukan kata kunci this. jadi untuk mengubah atr ibut yang namanya sama dengan parameter haruslah sebagai berikut.println(manusia. Manusia manusia = new Manusia(). maka program tersebut akan menghasilkan nilai null.nama = nama. String alamat. Agar kesalahan tersebut tidak terjadi. System. yang digunakan untuk menyatakan objek tersebut. lalu saat kita memanggil nama atribut tersebut. void ubahData(String nama. this. String alamat){ nama = nama. manusia. }  18 . System.StripBandun | B lajar Java Dasar ‰ parameter tersebut untuk mengubah atribut pada kelas. } void ubahNama(String nama){ nama = nama. "Subang"). alamat = alamat.alamat = alamat. yang artinya nama dan alamat objek manusia tidak berubah menjadi Eko dan Subang . } } Saat kita menggunakan kelas Manusia diatas pada program. String alamat.alamat). kenapa? Hal ini dikarenakan jika kita membuat sebuah parameter yang sama dengan nama atribut.ubahData("Eko".out. void ubahData(String nama. String alamat){ this. class Manusia { String nama.nama). Setelah dijalankan. class Manusia { String nama.println(manusia. maka sebenarnya bukan atribut yang kita panggil melainkan parameter.

this. metode ataupun kelas. 3. void ubahData(String nama.alamat = alamat. metode atau kelas. atau kelas yang menggunakan visibilitas hanya dapat diakses oleh objek itu sendiri.Atribut.Gunanya visibilitas private adalah untuk menyembunyikan atribut. } } Pada kode diatas.nama = nama.StripBandun | B lajar Java Dasar ‘ void ubahNama(String nama){ this. class Manusia { private String nama. } void ubahNama(String nama) { this. Contoh atribut yang menggunakan visibilitas private. maka hasilnya tidak akan null lagi.4 Visibilitas Private dan Public Java mendukung 4 visibilitas yaitu : Visibilitas private public protected Tanpa Visibilitas Keterangan Hanya dapat diakses oleh kelas itu sendiri Dapat diakses oleh seluruh kelas Hanya dapat diakses oleh kelas itu sendiri dan kelas turunannya Hanya dapat diakses oleh kelas-kelas yang berada pada satu paket Saat ini akan dibahas tentang visibilitas private dan public.nama = nama. } } Saat program sebelumnya dijalankan kembali. String alamat. untuk visibilitas protected akan dibahas setelah materi pewarisan dan untuk tanpa visibilitas akan dibahas setelah materi package . atribut nama menjadi private.nama = nama. Visibilitas private merupakan visibilitas yang dapat digunakan pada atribut. sehingga hanya kelas Manusia ’ 19 . String alamat) { this.2. metode.

sehingga saat kelas lain mengakses atribut tersebut. metode atau kelas yang memiliki sifat public tersebut dapat diakses oleh kelas manapun dan dari package manapun. maka akan terjadi error. maka akan terjadi error ketike kelas HelloWorld mengakses atribut nama objek manusia. Contoh. class Manusia { private String na ma.nama ). String alamat. } void ubahData(String nama. } } Pada kode diatas. pada kode sebelumnya.println( manusia.StripBandun | B lajar Java Dasar “ itu sendiri yang bisa mengakses atribut nama.nama = nama. System.out. manusia.println(manusia. System. maka atribut.ubahData("Eko". } } Dengan demikian untuk mengakses atribut nama.out. ” 20 . String alamat) { this. "Subang"). public String ambilNama() { return nama. dikarenakan atribut tersebut bersifat private. metode dan kelas.nama = nama. } void ubahNama(String nama) { this. public class HelloWorld { public static void main( String[] args) { Manusia manusia = new Manusia(). Visibilitas public merupakan visibilitas yang dapat diterapkan pada atribut. kita akan menambah sebuah metode public yang bernama ambilNama() yang mengembalikan nama mahasiswa.alamat).Dengan visibilitas public. sekarang kita dapat menggunakan metode ambilNama() public class HelloWorld { public static void main(String[] args) { Manusia manusia = new Manusia(). this.alamat = alamat.

String alamat. System.println(manusia. String alamat) { this.alamat). this. } public String ambilNama() { return nama. Misal jika kita membuat sebuah objek mahasiswa. maka kita dapat menambahkan sebuah parameter nama di konstruktor seperti berikut.ubahData("Eko".5 Konstruktor Konstruktor merupakan metode yang secara otomatis dipanggil ketika sebuah objek dipanggil. Maka akan menampilkan tulisan Objek Mahasiswa Dibuat!!! .println(³Objek Mahasiswa Dibuat!!!´).StripBandun | B lajar Java Dasar • manusia.out. nama metode harus saya dengan nama kelas dan tidak mengembalikan nilai balik dan tidak pula menggunakan kunci void. saat membuat sebuah objek Mahasiswa.ambilNama() ). – 21 . } } 3. System. public Manusia() { System. } void ubahNama(String nama ) { this. Manusia manusia = new Manusia(). maka konstruktor tersebut akan otomatis dipanggil.nama = nama. "Subang"). misal saat membuat sebuah objek manusia. Contoh : class Manusia { private String nama. } void ubahData(String nama. } } Dengan demikian. Konstruktor juga mendukun penggunakan parameter.2. maka nama namusia tersebut harus ditentukan.alamat = alamat.nama = nama.out.println( manusia.out. Cara membuat metode konstruktor adalah.

class Manusia { private String nama. String alamat. maka kita harus menggunakan parameter nama Manusia manusia = new Manusia( "Eko Kurniawan" ). dimana konstruktor pertama kita dapat membuat objek manusia tanpa harus menggunakan nama dan konstruktor kedua kita harus menggunakan nama untuk membuat objek mahasiswa.alamat = alamat. String alamat) { this. bisa berbeda jumlah parameternya ataupun bisa berbeda tipe data parameternya. 3. setiap konstruktor harus memiliki parameter yang berbeda. public Manusia(String nama) { this.6 Overloading Konstruktor Overloading merupakan mekanisme dimana kita dapat membuat lebih dari satu buah konstruktor pada sebuah kelas.nama = nama.2.Namun dengan ketentuan. } public String ambilNama() { return nama.nama = nama. this.nama = nama. maka saat membaut objek manusia. Misal kita akan mengubah kelas manusia tersebut menjadi memiliki dua konsturktor. ˜ 22 .StripBandun | B lajar Java Dasar — class Manusia { private String nama. String alamat. } void ubahNama(String nama) { this. public Manusia() { // tanpa parameter } public Manusia(String nama) { this. } } Dengan begitu. } void ubahData(String nama.nama = nama.

2. } } Dengan begitu. String alamat){ this.7 Overloading Metode Selain pada konstruktor. } } 3. public Manusia() { // tanpa parameter } public Manusia(String nama) { this. kita dapat menggunakan dua cara untuk membuat objek dari kelas Mahasiswa. class Manusia { private String nama.alamat = alamat. this. String alamat) { this. private String alamat. misal kita akan membuat dua buah metode ubah. overloading juga bisa dilakukan pada metode. public class HelloWorld { public static void main(String[] args) { Manusia manusia1 = new Manusia(). yaitu tanpa parameter dan menggunakan parameter nama.alamat = alamat. } void ubahNama(String nama) { this. } public void ubah(String nama) { this. this. Manusia manusia2 = new Manusia("Eko Kurniawan Khannedy"). d 23 . } public void ubah(String nama.nama = nama. metode pertama menggunakan parameter nama dan metode kedua menggunakan parameter nama dan alamat.StripBandun | B lajar Java Dasar ™ } public Strin g ambilNama() { return nama. } void ubahData(String nama.nama = nama.nama = nama.nama = nama.nama = nama.

public void ubahNama(String nama) { this.ubah("Eko Kurnaiwan". public void ubahNip(String nip) { f 24 .2. public class Orang { private String nama. Misal ada sebuah kelas Orang dengan atribut nama dan alamat. private String nama.alamat = alamat. } } public class Pegawai { private String nip. private String alamat. } } 3. manusia.ubah("Eko Salah"). private String alamat. nama dan alamat.StripBandun | B lajar Java Dasar e } } Dengan begitu. manusia.8 Pewarisan Kelas Pewarisan merupakan mekanisme dimana sebuah kelas dapat mewarisi seluruh atribut atau metode milik kelas lain dengan ketentuan tertentu.nama = nama. "Subang"). public class HelloWorld { public static void main(String[] args) { Manusia manusia = new Manusia(). } public void ubahAlamat(String alamat) { this. } public String ambilNama() { return nama. } public String ambilAlamat() { return alamat. Lalu ada kelas Pegawai dengan atribut nip. untuk mengubah nama ataupun untuk mengubah alamat. kita dapat menggunakan metode ubah.

public void ubahNip(String nip) { this. } public String ambilNip() { return nip. } } Pada kode diatas bisa bandingkan antara kelas Orang dan kelas Pegawai memiliki beberapa atribut dan metode yang sama. oleh karena itu lebih baik kelas tersebut digabungkan menggunakan pewarisan. } public String ambilAlamat() { return alamat. } public String ambilNama() { return nama.nip = nip. Untuk mengatakan bahwa kelas X turunan dari kelas Y kita dapat menggunakan kata kunci extends. ubahNama(). } public void ubahAlamat(String alamat) { this. ambilNama(). alamat.alamat = alamat.nama = nama. Artinya banyak terjadi duplikasi kode. karena semua atribut dan metode Orang ada di Pegawai namun tidak semua atribut dan metode Pegawai ada di kelas Orang.nip = nip. Dengan begitu kita hanya perlu mengubah kelas Pegawai menjadi sebagai berikut. } public String ambilNip() { return nip. public class Pegawai extends Orang { private String nip. ubahAlamat() dan ambilAlamat(). } public void ubahNama(String nama) { this.StripBandun | B lajar Java Dasar g this. yaitu nama. } } h 25 . yaitu Orang diturunkan menjadi Pegawai.

Misal pada kelas sebelumnya kita telah membuat kelas Orang dan Pegawai. namun sebenarnya Pegawai tersebut memilikinya. kali ini kita akan membahas tentang visibilitas protected. sehingga seluruh sifat dari Orang ada pada Pegawai. artinya hanya kelas Orang tersebut yang dapat mengakses atribut tersebut. visibilitas untuk atribut nama dan alamat adalah private. Atribut. metode atau kelas yang ditandai dengan visibilitas protected hanya dapat diakses oleh kelas itu sendiri dan turunannya. pegawai.ubahAlamat("Subang").2.ubahNip("10106031"). public class Test { public static void main(String[] args) { Pegawai pegawai = new Pegawai().nip = nip. public void ubahNip(String nip) { this. pegawai. Namun jika kita mengubah visibilitas j 26 . } public String ambilNip() { return nip.ubahNama("Eko Kurniawan"). } public void contoh(){ String ambilnama = nama. tetap saja kelas Pegawai tidak dapat mengakses atribut nama dan alamat dari kelas Orang. karena Pegawai merupakan turunan dari Orang. Pada kelas Orang.9 Visibilitas protected Sebelumnya kita telah membahas tentang visibilitas private dan public. walaupun kelas Pegawai merupakan turunan dari kelas Orang. } } Jika kita menggunakan kode diatas untuk mengakses atribut nama dari kelas Orang. maka pasti akan terjadi error. public class Pegawai extends Orang { private String nip. } } 3. pegawai.StripBandun | B lajar Java Dasar i Walaupun kelas Pegawai tidak memiliki atribut dan metode untuk nama dan alamat.

protected String alamat.alamat = alamat. public void ubahNama(String nama) { this. yaitu kelas Pegawai. pada kelas bayi tesebut terdapat metode lari() yang memerintahkan untuk lari. String ambilalamat = alamat. public void ubahNip(String nip) { this. Misal ada dua kelas yaitu Bayi dan Dewasa.StripBandun | B lajar Java Dasar k namamenjadi protected maka atribut nama dapat diakses oleh kelas turunannya. } public String am bilNip() { return nip. } } 3. } public void ubahAlamat(String alamat) { this. } public void contoh(){ // berhasil String ambilnama = nama.nama = nama. } public String ambilNama() { return nama.2. } } public class Pegawai extends Orang { private String nip. public cl ass Orang { protected String nama. overriding merupakan mekanisme dimana sebuah metode dapat dideklarasikan ulang pada kelas turunannya.nip = nip.10 Overriding Overriding tidak sama dengan overloading. public class Bayi { l 27 . } public String ambilAlamat() { return alamat.

StripBandun | B lajar Java Dasar m public void lari() { System.println("Lari!!!!"). } } Maka hasilnya adalah Tidak Bisa :( . artinya metode lari() yang dipanggil sebenarnya milik kelas Bayi yang pastinya tidak dapat berlari. public class Test { public static void main(String[] args) { Dewasa dewasa = new Dewasa(). dewasa. Caranya adalah dengan membuat metode yang sama dengan metode yang diwarisinya.2. artinya metode lari() milik kelas Dewasa yang dipanggil. Sekarang jika dianggap kelas Dewasa dapat berlari. maka kelauarannya pasti Lari!!!! . } } Setelah itu kelas Dewasa merupakan kelas turunan dari kelas Bayi. public class Dewasa extends Bayi{ } Setelah itu jika kita coba buat sebuah objek kelas Dewasa dan menyuruhnya lari. caranya adalah dengan melakukan pendeklarasian ulang (overriding). maka kita harus menggubah metode lari() tersebut agar dapat berlari.11 Kata Kunci super Kata kunci super merupakan kata kunci yang digunakan untuk mengakses kelas parent (yang diturunkan).out.lari(). public class Dewasa extends Bayi { public void lari() { System. misal jika kita menggunakan kata kunci super pada kelas Dewasa artinya super tersebut merujuk pada kelas Bayi. public class Dew asa extends Bayi { n 28 . 3.println("Tidak Bisa :("). } } Maka jika program Test sebelumnya dijalankan kembali.out.

out. } public String ambilNama(){ return nama.nama = nama. public Bernama() { } public Bernama(String nama) { this. int umur){ super(nama). public Berumur() { } public Berumur(String nama.StripBandun | B lajar Java Dasar o public void lariBayi() { // mengakses metode lari milik Bayi super. this. } } public class Berumur extends Bernama{ private int umur. public class Bernama { private String nama. } } p 29 . } } Selain itu. } public int ambilUmur(){ return umur. kata kunci super juga dapat digunakan untuk mengakses konstruktor milik kelas yang diwariskan.println("Lari!!!!").umur = umur.lari(). } public void lari() { System.

data = data. metode atau kelas sudah final. public class Co ntoh { private final String data = "Data". } } 3.2. maka akan terjadi kesalahan (error). Kambing dan Anjing. maka atribut tersebut harus langsung dideklarasikan. artinya tidak dapat diubah lagi. Atau jika kita melakukan pendeklarasian ulang atribut tersebut maka akan terjadi error. namun diawali dengan kunci abstract pada kelasnya dan diawali dengan kata kunci abstract pada metode yang akan dibuat namun tidak akan dideklarasikan. Misal kita membuat kelas abstract Hewan. Untuk membuat kelas abstract sama dengan membuat kelas biasanya. misal seperti ini.13 Kelas Abstract Kelas abstract merupakan kelas dimana memiliki metode-metode namun tidak dideklarasikan. Kelas hewan tersebut memiliki metode bicara() yang menyuruh Hewan r K t rangan Atribut tidak dapat dideklarasikan lagi Variabel tidak dapat dideklarasikan lagi Metode tidak dapat dideklarasikan (overriding) lagi Kelas tidak dapat diturunkan 30 . pendeklarasiannya terjadi pada kelas turunannya. } Jika tidak dideklarasikan langsung. public class Contoh { private final String data = "Data".12 Kata Kunci final Kata kunci final merupakan kata kunci yang dapat digunakan untuk menandai bahwa suatu atribut. Metode yang abstract tidak perlu berisikan deklarasinya.StripBandun | B lajar Java Dasar q 3. lalu turunannya. t t Lo asi final Atribut Variab l Metode Kelas t s Jika kita menambahkan sebuah atribut dengan kata kunci final.2. public void ubahData(String data){ // error this. Kucing.

StripBandun | Belajar Java Dasar u tersebut bicara(). } } Jika kelas turunan dari Hewan tidak mendeklarasikan metode bicara() maka akan terjadi error. Contoh polimorfisme adalah kelas Hewan yang sebelumnya telah dibuat..bicara().out.")."). public class Test { public static void main(String[] args) { Hewan hewan1 = new Anjing( ). 31 ..println("Meong. 3. } } public class Kambing extends Hewan{ public void bicara() { System.out.out. kecuali kelas tersebut juga kelas abstract. } public class Anjing extends Hewan{ public void bicara() { System.14 Polimorfisme Polimorfisme merupakan kemampuan untuk sebuah kelas memiliki banyak kelas turunan..2.. maka kita buat metode bicara() tersebut menjadi abstract.println("Embe.println("Gog gog. public abstract class Hewan { public abstract void bicara(). hewan1. } } public class Kucing extends Hewan{ public void bicara() { System. namun karena setiap hewan biasanya berbeda nada bicaranya. Setiap kelas turunan memiliki deklarasi masing-masing yang unik dan dapat berbagi fungsionalitas yang sama dengan kelas parent (yang diturunkan)...").

form Folder /aplikasi/data/ /aplikasi/database/ /aplikasi/form/ Dianjurkan jika kita membangun sebuah sistem yang besar. Nama paket tidak boleh diawali dengan nomor dan tidak boleh menganduk karakter unik dan spasi.data. dan lain-lain. Untuk mendeklarasikan paket.bicara(). public String alamat. namun jika kita akan menggunakan kelas dengan paket yang berbeda.database aplikasi. Paket aplikasi. kita dapat menggunakannya langsung.bicara(). hanya perlu menggunakan kunci package pada bagian atas file java diikuti nama paket. Penggunaan paket sangat dianjurkan agar kelas-kelas terlihat lebih teratur. maka diperlukan pengelompokkan jenis-jenis kelas dalam paket. public class Karyawan { public String nip. 32 . untuk memberikan tingkatan pada paket kita dapat mengunakan tanda . maka kita perlu menggunakan import disertai lokasi paket dan nama kelasnya. hewan3. public String nama.3 Paket Dalam Java. } } 3. Hewan hewan3 = new Kucing(). misal.data aplikasi. Misal untuk kelas-kelas tabel dapat di masukkan ke paket data. Paket biasanya bertingkat. beberapa kelas dapat digabungkan dalam sebuah unit bernama paket (package). } Jika kita akan menggunakan kelas dengan lokasi paket yang sama. (titik). package aplikasi.StripBandun | Belajar Java Dasar v Hewan hewan2 = new Kambing(). kelas-kelas form bisa dimasukkan ke paket form. hewan2.

Kelas abstrak dapat memiliki atribut. } 3. metode atau kelas ditandai dengan visibiliti default. Jika sebuah atribut. yaitu default. sedangkan pada interface harus semua metode abstrak. Jika akan diakses dari luar paket. import aplikasi.3. 3.StripBandunk | Belajar Java Dasar package aplikasi.data.1 Visibiliti Default Sebelumnya telah dibahas tentang visibiliti private. maka akan terjadi error.Karyawan.4 Interface Interface merupakan mekanisme dimana kita dapat menentukan metodemetode yang harus ada pada kelas. Sebenarnya ada satu lagi visibility. Kelas abstrak digunakan oleh kelas lain menggunakan pewarisan (extends). Contoh visibiliti default : package aplikasi. sedangkan interface menggunakan implementasi (implements). public class Mahasiswa { String nim. public class Program { public static void main(String[] args) { Karyawan karyawan = new Karyawan(). metode atau kelas tersebut hanya dapat diakses oleh kelas-kelas yang ada dalam satu paket. sedangkan interface tidak boleh memiliki atribut. namun tidak menggunakan kata kunci default. Kelas abstrak bisa mengandung metode abstrak dan metode tidak abstrak. 33 . 1. Interface hampir mirip dengan kelas abstrak. namun ada beberapa perbedaan pada interface dan kelas abstrak. public dan protected.data.program. melainkan tidak perlu menggunakan kata kunci (kosong). maka itu artinya atribut. String nama. 2. } } 3.

prototype. sedangkan class hanya dapat mewarisi satu kelas. sama dengan class. package aplikasi. } 34 .prototype. } Secara default. } package aplikasi. package aplikasi. public interface Aksi { public abstract void beraksi(). public interface Pukulan { void pukul(). seluruh metode yang ada dalam interface itu bersipat abstract dan public. public int erface Tendangan { void tendang(). 3. Contoh sederhana sebuah interface.prototype.prototype.4. sehingga kita dapat menghapusnya menjadi lebih sederhana seperti berikut. } Perlu diingat bahwa metode dalam interface tidak dapat private. hanya yang membedakan adalah kata kunci yang digunakan bukan class melainkan interface.1 Mendeklarasikan Interface Interface mirip dengan Kelas. public interface Aksi { void beraksi(). package aplikasi.4.StripBandunk | Belajar Java Dasar 3. hanya yang membedakan adalah interface dapat mewarisi lebih dari satu interface.2 Pewarisan Interface Dalam hal pewarisan interface.

prototype.program. } } Karena interface Aksi merupakan turunan dari interface Tendangan dan Pukulan. public interface Aksi extends Tendangan.prototype.4. misal.StripBandunk | Belajar Java Dasar package aplikasi.Aksi.3 Menggunakan Interface Sebuah kelas dapat menggunakan interface melalui kata kunci implements. Cara membuat kelas di dalam kelas sama dengan membuat kelas seperti biasanya. 3. } public void pukul() { System. sebuah kelas dapat menggunakan beberapa interface menggunakan implements.out. berbeda dengan extends.5 Inner Class Java mendukung pembuatan kelas di dalam kelas.program. public void ubahData(String data) { this. hanya lokasinya berada dalam sebuah badan kelas.out. Pukulan{ } 3. package aplikasi.println("Tendang"). harus mendeklarasikan seluruh metode yang ada pada interface Aksi. public class ContohAksi implements Aksi{ public void tendang() { System. } public String ambilData() { 35 . Tendangan dan Pukulan. package aplikasi. import aplikasi. public class Luar { private String data.println("Pukul"). maka semua kelas yang mengimplementasi interface Aksi.data = data.

println("Pukul ah.2 Kata Kunci static Kata kunci static sebenarnya merupakan penyelewengan dari konsep pemrograman berorientasi objek. yaitu dengan kelas Anonymous yang merupakan turunan dari interface Pukulan. kita hanya memiliki kelas Program.1 Anonymous Class Kelas anonimous merupakan kelas yang dideklarasikan tanda nama.Pukulan.contoh = contoh. import aplikasi.out.StripBandunk | Belajar Java Dasar return data. 3.pukul(). Contoh package aplikasi. } public class Dalam { private String contoh.."). } } Sekilas pada kode diatas. Penggunaan kelas anonimous ini biasa dilakukan ketika kita hanya akan membuat sebuah kelas yang hanya sekali pakai saja. } } } 3. public class Program { public static void main(Stri ng[] args) { Pukulan pukulan = new Pukulan() { public void pukul() { System. Padahal sebenarnya terdapat dua kelas.5. pukulan..prototype. biasanya kelas ini dibuat ketika mendeklarasikan sebuah variabel.program. public void ubahContoh(String contoh) { this. kita dapat mengakses sebuah atribut atau metode dari kelas secara langsung tanpa 36 . } public String ambilContoh() { return contoh.Dengan menggunakan kata kunci static.5. } }.

Kata kunci static biasanya digunakan jika kita akan membuat sebuah kelas utilitas. public class Program { public st atic void main(String[] args) { int a = 10. int b) { int c = a + b. package aplikasi. int b) { contoh(). return c. Misal. int b) { int c = a * b. artinya jika kita memanggil metode non static dalam metode static secara langsung.Sehingga ini menyalahi aturan pemrograman berorientasi objek yang menyatakan bahwa untuk mengakses sebuah atribut atau metode harus melalui objek. sehingga kita dapat dengan mudah menggunakan metode-metode yang ada dalam kelas tersebut tanpa membuat objeknya.program. package aplikasi. } } Perlu diingat jika metode static hanya dapat memanggil menggunakan atribut atau metode static lainnya. int b = 10. public class Fung siMatematika { public static int kali(int a.program. int c = a * b. } } Dengan begitu kita dapat langsung mengakses metode kali dan tambah tanpa membuat objek FungsiMatematika. public class FungsiMatematika { public static int tambah(int a.kali(a. } public static int kali(int a. seperti : package aplikasi.StripBandunk | Belajar Java Dasar harus membuat objek kelas tersebut. return c. b). 37 . maka akan terjadi error. int c = FungsiMatematika.program.

} public void contoh(){ // hanya contoh } } 3. dan alamat.StripBandunk | Belajar Java Dasar return c. package aplikasi. maka getter nya bisa diganti dari get menjadi is. 38 .Misal : Nama Atribut Nama Depan Nama Belakang Alamat Tanggal Lahir Contoh Atribut Panjang Sekali Penamaan namaDepan namaBelakang Alamat tanggalLahir contohAtributPanjangSekali Sedangkan untuk penamaan getter dan setternya pun mirip seperti punuk unta.Dimana atributnya bersifat private dan metode getter dan setter nya bersifat public. Penamaan kelas POJO mirip seperti punuk unta. misal : Atribut namaDepan alamat tanggalLahir Getter getNamaDepan getAlamat getTanggalLahir Setter setNamaDepan setAlamat setTanggalLahir Namun ada beberapa pengecualian.data.Metode getter digunakan untuk mendapatkan nilai atribut tersebut. nama. Atribut sudahMenikah nama Tipe Data boolean *semua tipe* Getter isSudahMenikah getNama Contoh kelas POJO Mahasiswa yang memiliki nim.6 Kelas POJO / Java Bean Kelas POJO atau Java Bean merupakan kelas dimana sebuah kelas memiliki atribut dan memiliki metode getter dan setter. Sehingga seperti ini. jika tipe atributnya adalah boolean. sedangkan metode setter digunakan untuk mengubah nilai atribut.

private String nama. } public void setAlamat(String alamat) { this.nama = nama. private String alamat.nim = nim. } } 39 .StripBandunk | Belajar Java Dasar public class Mahasiswa { private String nim. } public void setNim(String nim ) { this. } public void setNama(String nama) { this.alamat = alamat. public String getAlamat() { return alamat. } public String getNama() { return nama. } public String getNim() { return nim.

maka kita dapat menggunakan try catch.out. dimana hasil dari pembagian 0 adalah tidak terdefinisikan. 4. Namun jika kesalahannya tersebut adalah kesalahan saat berjalan. Contoh kesalahan misalnya : package aplikasi. } } Sekilas mungkin tidak ada yang salah dengan kode diatas. package aplikasi. try{ // isi yang memungkinkan error }catch(jenis error){ // dijalankan jika terjadi error } Misal pada kode sebelumnya kita telah membuat sebuah program yang melakukan proses pembagian 0 yang menyebabkan error. pertama kesalahan pada saat kompilasi ada pula kesalahan ada saat berjalan. maka program akan berhasil berjalan. int b = 0. namun saat kesalahan tersebut terjadi. int c = 10 / b. System. yaitu error karena terjadi pembagian 0. public class Program { public static void main(String[] args) { int a = 10.1 Menangkap Kesalahan Agar kesalahan yang terjadi dapat di ditangkap.program. Namun saat dijalankan. maka program akan menjadi error. yup dan kode diataspun dapat dikompile dengan baik.StripBandunk | Belajar Java Dasar 4 Penanganan Kesalahan Ada dua jenis kesalahan. maka kita dapat melakukan penanganan kesalahnnya.program.Oleh karena itu perlu dilakukan penanganan kesalahan. 40 . akan terjadi error.println(c). Biasanya kesalahan kompilasi dapat langsung terjadi ketika proses kompilasi sehingga proses kompilasi akan dibatalkan.

= 10 / b. misal kelas Throwable.out.3 Melontarkan Exception Kadang ada kalanya kita perlu membuat kesalahan. paling bawah haruslah kelas Exception yang paling tinggi.getMessage()). System. maka akan menghasilkan keluaran Ups. } } } Jika program diatas dijalankan. dapat juga ditangani oleh beberapa kelas Exception seperti berikut : try{ // blok yang memungkinkan terjadi error }catch(jenis error 1){ // jika jenis error 1 terjadi }catch(jenis error 2){ // jika jenis error 2 terjadi }catch(jenis error 3){ // jika jenis error 3 terjadi } Penanganan secara beringkat harus bertingkat pula jenis kelas error nya. Misal saat kita membuat sebuah kelas Mahasiswa. terjadi error :"). maka dianggap salah.data. terjadi error :/ by zero . lalu jika nim tidak dimasukkan.out. package aplikasi. 4.println(c).out.println(e. } catch (Throwable e) { System. maka nim wajib dimasukkan. jadi kita dapat menangani seluruh kesalahan menggunakan kelas Throwable.print("Ups. Kelas Throwable merupakan kelas kesalahan yang paling tinggi. public class Mahasiswa { 41 . System.StripBandunk | Belajar Java Dasar public class Program { public static try { int a int b int c void main(String[] args) { = 10.2 Penanganan Secara Bertingkat Try catch tidak hanya dapat ditangani oleh satu kelas Exception. 4. = 0.

Dengan begitu jika kita akan mengubah nim. package aplikasi.out.print("Ups.4 Membuat Kelas Exception Kelas Exception merupakan kelas error yang dapat digunakan untuk membangun kelas Exception yang harus ditangani. public class Program { public static void main(String[] args) { try { Mahasiswa mahasiswa = new Mahasiswa(). } this.out.program.setNim(null). public String getNim() { return nim.Mahasiswa. terjadi error :").data.Error ini bisa dibilang compilation exception artinya wajib ditangani. } public void setNim(String nim) throws Throwable { if (nim == null) { throw new Throwable("Nim Harus Diisi").StripBandunk | Belajar Java Dasar private Stri ng nim. mahasiswa. } catch (Throwable e) { System. } } Untuk melontarkan kesalahan kita harus menggunakan kunci throw dan metode yang memungkinkan melontarkan kesalahan harus memiliki throws diikuti dengan kelas Exception nya. System.nim = nim. 42 . Untuk membuat kelas Exception. kita hanya perlu membuat kelas turunan dari kelas Exception. import aplikasi.error. maka harus ditangani kesalahannya menjadi seperti ini : package aplikasi. } } } 4.getMessage()).println(e.

5 Membuat Kelas RuntimeException Kelas RuntimeException merupakan kelas error yang errornya terjadi ketika aplikasi berjalan. } } Misal kita ubah error pada nim kelas Mahasiswa menjadi error tersebut. tanpa menangkap errorpun.Untuk membuat error jenis ini. kita dapat langsung memanggil metode setNim(nim) package aplikasi. kita dapat membuat kelas turunan dari RuntimeException.data.StripBandunk | Belajar Java Dasar public class ErrorWajib extends Ex ception { public ErrorWajib(String message) { super(message).nim = nim.error. } this. public class Mahasiswa { private String nim. } public void setNim(String nim) throws GakBolehKosong { if (nim == null) { throw new GakBolehKosong("Nim Harus Diisi"). 43 .Kita dapat tidak menangkap error tersebut.program.Mirip dengan pembagian dengan 0. public class GakBolehKosong extends RuntimeException { public GakBolehKosong(String message) { super(message). artinya error jenis ini tidak perlu langsung di catch. import aplikasi.GakBolehKosong. } } Dengan demikian. public String getNim() { return nim. } } 4. package aplikasi.

Blok finally terdapat pada bagian akhir try catch.data. baik itu terjadi error ataupun tidak. import aplikasi.getMessage()).Mahasiswa.out. 44 . } } } Jika program diatas dijalankan. mahasiswa. dan walaupun kita masukkan data salah : package aplikasi.program.out.setNim(null).setNim("10106031").StripBandunk | Belajar Java Dasar import aplikasi.GakBolehKosong.Mahasiswa.println(error. public class Program { public static void main(String[] args) { Mahasiswa mahasiswa = new Mahasiswa().Mahasiswa. } catch (GakBolehKosong error) { System. import aplikasi.data. import aplikasi.print("Terjadi Error : "). public class Program { public static void main(String[] args) { try { Mahasiswa mahasiswa = new Mahasiswa().error. mahasiswa.error. System.out.println("Pasti Dijalankan").out.data. public class Program { public static void main(String[] args) { try { Mahasiswa mahasiswa = new Mahasiswa(). import aplikasi. } } 4. maka akan keluar tulisan Pasti Dijalankan . System. Contoh : package aplikasi. mahasiswa.GakBolehKosong.setNim("10106031"). } finally { System.out.getMessage()).progr am.6 Blok Finally Blok finally merupakan blok yang selalu dijalankan pada proses try catch.print("Terjadi Error : ").println(error. } catch (GakBolehKosong error) { System.

45 . walaupun program diatas error. } } } Maka blok finally akan selalu dijalankan.StripBandunk | Belajar Java Dasar } finally { System.out.println("Pasti Dijalankan").

Hasil dari perintah diatas adalah upper dari hehehe yaitu HEHEHE . sehingga String pun memiliki banyak metode yang dapat kita gunakan untuk melakukan proses manipulasi String tersebut. String hasil = data.println(hasil).1. String data = "hehehe". Contoh : String data = "hehehe". Jadi tidak perlu membuat sebuah String dahulu. String hasil = 46 . seperti menjadikan seluruh hurufnya besar (upper).1 Menggabungkan String String merupakan objek yang unik. 5. System. Ada dua cara menggabungkan String. String bukanlah tipe data. kecil (upper) d an lain-lain.out. String adalah sebuah kelas.1 String Seperti yang telah dibahas pada materi tipe data. Atau dapat menggunakan metode concat agar lebih terlihat berorientasi objek.toUpperCase(). yaitu menggunakan tanda + (tambah) String hasil = "satu " + "dua " + "tiga " + "empat". bahkan kita dapat menggabung dua buah string atau lebih.Namun kelas String memiliki keunikan yaitu kita dapat menggunakan String tanpa mendeklarasikannya terlebih dahulu.StripBandunk | Belajar Java Dasar 5 Kelas Kelas 5. String data = new String(). Dikarenakan String merupakan kelas.

equals(data2) ) { 47 .concat("empat").out. Lho kok?Padahal abc pasti sama dengan abc :( Kenyataanya adalah.println(data1 + " sama dengan " + data2).concat("tiga "). jadi seharusnya membandingkan string adalah sebagai berikut. public class Program { public static void main(String[] args) { String data1 = "a" + "b". maka hasilnya adalah abc tidak sama dengan abc . data1 = data1 + "c". if (data1. maka tidak dapat dibandingkan menggunakan tanda ==. data1 = data1 + "c". package aplikasi. karena String adalah kelas. String data2 = "abc".program. if (data1 == data2) { System. public class Program { public static void main(String[] args) { String data1 = "a" + "b".println(data1 + " tidak sama dengan " + data2).concat("dua "). } else { System. tidak dapat digunakan untuk membandingkan kelas. Untuk membandingkan objek maka kita harus menggunakan metode equals() milik kelas tersebut.1. } } } Saat dijalankan.program. 5. String data2 = "abc". misal : package aplikasi.2 Membandingkan String Kadang ada kalanya kita melakukan perbandingkan string. perbandingan == hanya dapat digunakan untuk membandingkan tipe data.StripBandunk | Belajar Java Dasar "satu ".out.

println(data1 + " tidak sama dengan " + data2).StripBandunk | Belajar Java Dasar System.program. } } Sayangnya walaupun Date merupakan representasi tanggal dalam Java.out. yaitu Calendar. 5. Kelas Date berapa pada paket java.out.program.println(data1 + " sama dengan " + data2). oleh karena itu diperlukan kelas lain untuk melakukan manipulasi Date. namun banyak metode-metode milik kelas Date yang sudah deprecated (tidak dianjurkan untuk digunakan).Calendar. public class Program { public static void main(String[] args) { Date date = new Date().3 Calendar Calendar hampir mirip dengan Date. kelas ini merupakan representasi tanggal dalam Java. melainkan menggunakan metode static : package aplikasi. System.Date. } else { System. } } } Jika program diatas dijalankan.util. import java.println(date).util.2 Date Date merupakan representasi untuk tanggal dalam Java. 5. 48 .out. maka hasilnya adalah abc sama dengan abc .util.getInstance(). import java.Contoh membuat tanggal sekarang. Cara membuat Calendar tidak melalui sebuah konstruktor. package aplikasi. public class Program { public static void main(String[] args) { Calendar calendar = Calendar.

Calendar.set(Calendar. hari. Calendar.getInstance(). } } Untuk bulan.DAY_OF_YEAR Calendar.StripBandunk | Belajar Java Dasar } } 5.1 Mengubah Calendar Jika kita akan melakukan pengubah tanggal atau waktu sebuah calendar.DAY_OF_WEEK Calendar. calendar. public class Program { public static void main(String[] args) { Calendar calendar = Calendar.HOUR Calendar.YEAR Keterangan Mengubah data milisekon Mengubah data detik Mengubah data menit Mengubah data jam Mengubah data hari dalam bulan Mengubah data hari dalam minggu Mengubah data hari dalam tahun Mengubah data bulan Mengubah data tahun Contohnya : package aplikasi. jam.MONTH. calendar. 1988). value yang dimasukkan bukanlah angka melainkan bulan yang ada dalam Calendar.DAY_OF_MONTH Calendar. Dimana field nya adalah : Field Calendar. baik itu menit. maka kita dapat menggunakan metode set() : calendar.3. import java.DAY_OF_MONTH. calendar.set(field.MINUTE Calendar.SECOND Calendar.util. 29).DECEMBER). bulan dan tahun. misal Calendar.set(Calendar.YEAR.MILLISECOND Calendar.set(Calendar.DECEMBER. 49 . value).MONTH Calendar.program. detik.

cukup memasukkan data negatif. Dimana field pada metode add() sama dengan field pada metode set(). Calendar juga memiliki metode add() yang digunakan untuk menambah atau mengurangi data calendar tersebut.program.2 Menambah dan Mengurangi Calendar Selain mengubah secara manual menggunakan set().Calendar.3.add(field.DAY_OF_MONTH. 10). } } Jika akan mengurai data. value).DAY_OF_MONTH.add(Calendar. 50 .program. import java.add(Calendar.util.util.getInstance(). public class Program { public static void main(String[] args) { Calendar calendar = Calendar.StripBandunk | Belajar Java Dasar 5. import java. } } -10). public class Program { public static void main(String[] args) { Calendar calendar = Calendar. // menambah 10 hari calendar. // mengurangi 10 hari calendar. Contoh : package aplikasi. formatnya adalah sebagai berikut : calendar. misal : package aplikasi.getInstance().Calendar.

com/khannedy http://facebook. Penulis merupakan lulusan Universitas Komputer Indonesia.khannedy@gmail. Penulis dapat dihubungi di : y y y :D echo. .com http://twitter.com/khannedy } | | 51 y x x { z xz w Tentang Penuli Penulis bernama Eko urniawan hanned S om Lahir di kota Subang tanggal 29 Desember 1988 dan besar di kota Subang. yaitu perusahaan yang bergerak di pengembangan teknologi informasi dan komunikasi. Penulis aktif di berbagai komunitas teknologi dan saat ini penulis adalah Leader di komunitas Java User Group Bandun dan juga Moderator di komunitas NetBeans Indonesia.StripBandunk | Belajar Java Dasar Saat ini penulis menjabat sebagai Chief Exe utive Offi er di StripBandunk.

Sign up to vote on this title
UsefulNot useful