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

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

maka harus menggunakan tipe data double atau float. System. int b = 3.2 Operator Penugasan E EDC C D EDC Op = += -= *= /= %= to Contoh int a = 10.out. 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. Hal ini dikarenakan dalam Java jika kita melakukan operasi pembagian dengan tipe data integer.out.println(a). 2. int c = a / b.println(c). sehingga jika akan melakukan perkalian yang menghasilkan nilai koma. dan integer tidak dapat mengandung nilai koma dalam Java. Hasil dari kode program diatas adalah 3 bukan 3.1 Operator Aritmatika B BA@ @ A BA@ Op + * / % to Contoh : int a = 10. maka hasilnyapun akan integer.4. a += 5. System.4.2.

misal : boolean a = 10 == 100.out. a--.Hasil dari operasi += tersebut adalah 15.println(a). karena memang 10 tidak sama dengan 100. maka itu berarti a = 10 + 5.4.3 Operator Pembanding T TSR R S TSR Op == != >= <= > < to Hasil dari operasi pembanding adalah boolean.out. 2. misal : int a = 10. Jika akan melakukan penambahan atau pengurangan dengan nilai 1.println(a). Hal ini dikarenakan a += 5 sama dengan a = a + 5.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 . System. maka dapat dengan mudah menggunakan karakter ++ untuk penambahan atau -. dikarenakan a sebelumnya adalah 10. System.4. 2. Maka hasilnya adalah 9.untuk pengurangan. Hasil dari program diatas adalah false. dan false jika operasi pembanding tersebut salah. True jika operasi pembanding tersebut benar.

Hasil operasi logika dengan menggunakan && adalah sebagai berikut. Maka hasilnya adalah true. 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. 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 . d Op rasi 1 Fals Fals Tru Tru d d d d d Contoh. System. boolean hasil = 10 == 100 || 100 == 100. operator logika biasanya digabungkan dengan operator pembanding.5 Percabangan 2.5. 2.out. Hasil dari operator logika adalah boolean.1 Percabangan if Pernyataan if merupakan salah satu bentuk pernyataan yang berguna untuk mengambil keputusan terhadap sebuah kemungkinan.println(hasil).Operator logika digunakan untuk membentuk suatu keadaan dari dua atau lebih kondisi tertentu.

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

}else if(nilai >= 6){ index = 'C'. }else if(nilai >= 7){ index = 'B'. 2. Bentuk pernyataan percabangan switch-case adalah sebagai berikut : switch(variabel){ case nilai1: // jalankan instruksi break. }else{ index = 'E'. maka hasilnya adalah C .4 Percabangan switch-case Percabangan switch-case merupakan percabangan yang kondisinya hanya dapat menggunakan perbandingan == (sama dengan).out. // hentikan case nilai4: // jalankan instruksi break. Jika program diatas dijalankan. // hentikan case nilai2: // jalankan instruksi break. // hentikan default: p 8 . 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.5.println(index). char index. }else if(nilai >= 5){ index = 'D'. } System. if(nilai >= 8){ index = 'A'.

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

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

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

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

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

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

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

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

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

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

atau kelas yang menggunakan visibilitas hanya dapat diakses oleh objek itu sendiri. String alamat) { this. class Manusia { private String nama. } void ubahNama(String nama) { this. this.Gunanya visibilitas private adalah untuk menyembunyikan atribut.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. String alamat.nama = nama.nama = nama. Visibilitas private merupakan visibilitas yang dapat digunakan pada atribut. atribut nama menjadi private. void ubahData(String nama. metode ataupun kelas.StripBandun | B lajar Java Dasar ‘ void ubahNama(String nama){ this. 3. maka hasilnya tidak akan null lagi. } } Pada kode diatas.Atribut.nama = nama. Contoh atribut yang menggunakan visibilitas private.alamat = alamat. metode atau kelas. sehingga hanya kelas Manusia ’ 19 . } } Saat program sebelumnya dijalankan kembali. metode. untuk visibilitas protected akan dibahas setelah materi pewarisan dan untuk tanpa visibilitas akan dibahas setelah materi package .2.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

} public void contoh(){ // hanya contoh } } 3. maka getter nya bisa diganti dari get menjadi is. Penamaan kelas POJO mirip seperti punuk unta.Metode getter digunakan untuk mendapatkan nilai atribut tersebut. 38 . jika tipe atributnya adalah boolean.StripBandunk | Belajar Java Dasar return c.data.Dimana atributnya bersifat private dan metode getter dan setter nya bersifat public. package aplikasi. sedangkan metode setter digunakan untuk mengubah nilai atribut. Sehingga seperti ini. 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. dan alamat. misal : Atribut namaDepan alamat tanggalLahir Getter getNamaDepan getAlamat getTanggalLahir Setter setNamaDepan setAlamat setTanggalLahir Namun ada beberapa pengecualian.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. nama.

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

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

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

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

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

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

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

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

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

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

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

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

Penulis dapat dihubungi di : y y y :D echo.com/khannedy http://facebook. yaitu perusahaan yang bergerak di pengembangan teknologi informasi dan komunikasi.khannedy@gmail.com http://twitter.StripBandunk | Belajar Java Dasar Saat ini penulis menjabat sebagai Chief Exe utive Offi er di StripBandunk. . 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. Penulis merupakan lulusan Universitas Komputer Indonesia.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.

Sign up to vote on this title
UsefulNot useful