StripBandunk | Belajar Java Dasar

2011
Belajar Java Dasar

Eko Kurniawan Khannedy StripBandunk 9/1/2011

i

St ipB¡ndun | B£l¡j¡  J¡¤¡

¢

¡ ¡  ¥ s

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 Runti me 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

ii

St¦ipB§ndun | B©l§j§¦ J§
§

¨

§ § s ¦

5. 1 5. 2 5.3

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

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

iii

St

ipB ndun | Bl j

J   s .

NetBeans IDE versi 6.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 ol eh Java Runti me Environtment. 3. Ruby. Java Runti me Environtment versi 1.1 Peralatan yang Diperlukan Pada pelatihan Java Dasar ini. 1. 1. JavaFX.6 keatas.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. Versi JRE harus sama atau lebih tinggi dari JDK yang digunakan untuk membangun aplikasi agar aplikasi dapat berjalan sesuai dengan yang diharapkan. Java Development Kit versi 1. Namun Java Development Ki t tidak wajib terinstall di komputer yang akan menjalankan aplikasi yang dibangun menggunakan Java. Groovy dan Python. 2. 9 keatas. Java Development Kit wajib terinstall pada komputer yang akan melakukan proses pembuatan aplikasi berbasis Java. Java Enterprise Edition. C/C++.3 Java Runtime Environtment Java Runtime Environtment merupakan perangkat lunak yang digunakan untuk menjalankan aplikasi yang dibangun menggunakan java. Java Mi cro Edition.6 keatas. PHP. 1. peralatan yang diperlukan adalah : 1. 1 . 1 Persiapan 1.

Terdapat beberapa aturan dalam membuat program dalam Java yai tu : 1.9223372036854775807 4. Stri ng merupakan Object.2 Tipe Data Terdapat beberapa tipe data primiti ve yang ada di Java yaitu : Tip t booln ch byt shot int long doubl flot Ktngn true atau false Karakter -128 .2147483647 -9223372036854775808 . Terminal pada Java menggunakan tanda .7976931348623157E308 1.32767 -2147483648 .9E-324 . 2 .4028235E38 String bukanlah merupakan tipe data di Java. Kelas yang menjadi program harus memiliki metode public static void main(String[] args) 4.StipBndun | Blj J s 2 Dasar-Dasar Bahasa Pemrograman Java 2. Namutn string memiliki keuni kan yaitu String dapat langsung dibuat tanpa harus membuat Object.4E-45 .1.127 -32768 . Misal pada kode diatas nama kelasnya adalah HelloWorld. 2. (ti tik koma). 2. Hanya boleh terdapat satu kelas public pada sebuah file.java.1 Program Hello World public class HelloWorld { public stati c void main(String[] args) { System. 3. } } Pada kode diatas.out. maka nama file harus HelloWorld.3. Nama file harus sama dengan nama kelas program.println("Hello World"). kita telah membuat sebuah program sederhana yang menampilkan tulisan ͞Hello World͟ pada console.

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

println(c).St"ipB#ndun$ | B%l#j#" J#&# '#s#" 2. 4 .2 Operator Penugasan Op+. maka hasilnyapun akan integer. int c = a / b. a += 5.-ng-n Pemberian nilai Penambahan bilangan Pengurangan bilangan Perkalian bilangan Pembagian bilangan Pemerolehan sisa bagi Contoh int a = 10. Hal ini dikarenakan dalam Java jika kita melakukan operasi pembagi an dengan tipe data integer.-to. Hasil dari kode program diatas adalah 3 bukan 3.out.println(a). 2. System. System.4. int b = 3.4.333. = += -= *= /= %= K+t+. maka harus menggunakan tipe data doubl e atau float.1 Operator Aritmatika Op()*to) + * / % K(t()*ng*n Penjumlahan Pengurangan Perkalian Pembagian Sisa pembagian Contoh : int a = 10.out. dan integer tidak dapat mengandung nilai koma dalam Java. sehingga jika akan melakukan perkalian yang menghasilkan nilai koma.

out.4. J/2/ 3/s/. Hal ini dikarenakan a += 5 sama dengan a = a + 5. misal : int a = 10.println(a). Jika akan melakukan penambahan atau pengurangan dengan nilai 1.println(a). misal : boolean a = 10 == 100. 2.untuk pengurangan.ipB/ndun0 | B1l/j/. a--. System. dikarenakan a sebelumnya adalah 10. dan false jika operasi pembanding tersebut salah. Hasil dari operasi += tersebut adalah 15.4. 2. System. karena memang 10 tidak sama dengan 100.St. True jika operasi pembanding tersebut benar. Hasil dari program diatas adalah false. maka itu berarti a = 10 + 5.3 Ope rator Pembanding Op456to5 == != >= <= > < K4t456ng6n Sama dengan Tidak sama dengan Lebih dari sama dengan Kurang dari sama dengan Lebih dari Kurang dari Hasil dari operasi pembanding adalah boolean.4 Operator Logika Op789to8 && || K7t789ng9n Dan Atau 5 .out. Maka hasilnya adalah 9. maka dapat dengan mudah menggunakan karakter ++ untuk penambahan atau -.

Op@rasi 1 Fals@ Fals@ Tru@ Tru@ Op@rasi 2 False True False True Hasil False True True True Contoh. Bentuk pernyataan if berupa : if(kondisi){ // yang akan dijalankan } Contoh : 6 .s.>.1 Percabangan if Pernyataan if merupakan salah satu bentuk pernyataan yang berguna untuk mengambil keputusan terhadap sebuah kemungkinan. Hasil operasi logi ka dengan menggunakan && adalah sebagai beri kut.: J.println(hasil). Maka hasilnya adalah true.: Operator logi ka digunakan untuk membentuk suatu keadaan dari dua atau l ebih kondisi tertentu. boolean hasil = 10 == 100 || 100 == 100.j. Op@ABsi 1 FBls@ FBls@ Tru@ Tru@ Op@ABsi 2 False True False True HBsil False False False True Hasil operasi logi ka dengan menggunakan || adalah sebagai berikut. System.St:ipB.ndun< | B=l.5 Percabangan 2. 2. Hasil dari operator logi ka adalah boolean. ?. operator logi ka biasanya digabungkan dengan operator pembanding.5.out.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2. String alamat. Misal kita akan mengubah kelas manusi a tersebut menjadi memiliki dua konsturktor.Namun dengan ketentuan. maka saat membaut objek manusia. 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. } void ubahData(String nama. 3.nama = nama.StripBanduna | Bblajar Java Dasar class Manusia { private String nama. class Manusia { private String nama.nama = nama. bisa berbeda jumlah parameternya ataupun bisa berbeda tipe data parameternya.6 Overloading Konstruktor Overloading merupakan mekanisme di mana kita dapat membuat lebih dari satu buah konstruktor pada sebuah kelas. this. maka kita harus menggunakan parameter nama Manusia manusia = new Manusia( "Eko Kurniawan" ). setiap konstruktor harus memiliki parameter yang berbeda. 22 . } public String ambilNama() { return nama. public Manusia() { // tanpa parameter } public Manusia(String nama) { this.nama = nama. public Manusia(String nama) { this. String alamat) { this.alamat = alamat.nama = nama. } void ubahNama(String nama) { this.

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

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

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

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

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

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

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

} } 3. } Jika tidak dideklarasikan langsung. public class Co ntoh { private final String data = "Data". Untuk membuat kelas abstract sama dengan membuat kelas biasanya.2. Metode yang abstract tidak perlu berisikan deklarasinya. Kucing. metode atau kelas sudah final. public class Contoh { private final String data = "Data". misal seperti ini.13 Kelas Abstract Kelas abstract merupakan kelas dimana memiliki metode-metode namun tidak dideklarasikan. maka akan terjadi kesalahan (error). namun di awali dengan kunci abstract pada kelasnya dan di awali dengan kata kunci abstract pada metode yang akan dibuat namun tidak akan dideklarasikan. Misal kita membuat kelas abstract Hewan. Kambing dan Anjing. pendeklarasi annya terjadi pada kelas turunannya.2. Kelas hewan tersebut memiliki metode bicara() yang menyuruh Hewan 30 . lalu turunannya.StripBandunq | Brlajar Java Dasar 3. artinya tidak dapat diubah lagi. maka atribut tersebut harus langsung dideklarasikan. Atau jika kita melakukan pendeklarasi an ulang atribut tersebut maka akan terjadi error. public void ubahData(String data){ // error this.data = data.12 Kata Kunci final Kata kunci final merupakan kata kunci yang dapat digunakan untuk menandai bahwa suatu atribut. Losasi final Atribut Variabtl Metode Kelas Ktttrangan Atribut tidak dapat dideklarasikan lagi Variabel tidak dapat dideklarasikan lagi Metode tidak dapat dideklarasikan (overriding) lagi Kelas tidak dapat diturunkan Jika kita menambahkan sebuah atribut dengan kata kunci final.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Sign up to vote on this title
UsefulNot useful