Belajar Java Dasar

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

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

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

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

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

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

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

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

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

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

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

println(a[4]). a[0] a[1] a[2] a[3] a[4] = = = = = 234.println(a[3]). Dan untuk melakukan proses manipulasi data dalam array menggunakan indeks dapat digunakan dengan perintah : namaArray[indeks]. System. 4234. 2423. € Indeks 0 1 2 3 4 13 .println(a[2]). 6867. System.out.out. 2.out.out.4 Array Multidimensi Java mendukung pembuatan array multidimensi maksudnya kita dapat menambahkan data array ke dalam sebuah array. Misal : int a[] = new int[5]. System. cara pembuatannya adalah sebagai berikut : TipeArray namaArray[][] = new TipeArray[jumlah][jumlah]. 564.out.7. System.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[1]).println(a[0]). System.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Sign up to vote on this title
UsefulNot useful