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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.println("Meong."). } public class Anjing extends Hewan{ public void bicara() { System.14 Polimorfisme Polimorfisme merupakan kemampuan untuk sebuah kelas memiliki banyak kelas turunan.2. kecuali kelas tersebut juga kelas abstract. 31 .println("Embe."). 3... 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). } } public class Kambing extends Hewan{ public void bicara() { System. hewan1.StripBandun | Belajar Java Dasar u tersebut bicara().out.").out.out.. public class Test { public static void main(String[] args) { Hewan hewan1 = new Anjing( ). } } public class Kucing extends Hewan{ public void bicara() { System.bicara(). public abstract class Hewan { public abstract void bicara(). namun karena setiap hewan biasanya berbeda nada bicaranya.println("Gog gog. maka kita buat metode bicara() tersebut menjadi abstract. } } Jika kelas turunan dari Hewan tidak mendeklarasikan metode bicara() maka akan terjadi error.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

khannedy@gmail. Penulis dapat dihubungi di : y y y :D echo.com/khannedy http://facebook. Penulis aktif di berbagai komunitas teknologi dan saat ini penulis adalah Leader di komunitas Java User Group Bandun dan juga Moderator di komunitas NetBeans Indonesia.StripBandunk | Belajar Java Dasar Saat ini penulis menjabat sebagai Chief Exe utive Offi er di StripBandunk. 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.com http://twitter. yaitu perusahaan yang bergerak di pengembangan teknologi informasi dan komunikasi.

Sign up to vote on this title
UsefulNot useful

Master Your Semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master Your Semester with a Special Offer from Scribd & The New York Times

Cancel anytime.