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

StipBndun | Blj J s

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 Runti me 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 ol eh Java Runti me Environtment. Java Development Kit wajib terinstall pada komputer yang akan melakukan proses pembuatan aplikasi berbasis Java. Namun Java Development Ki t 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 Mi cro Edition, JavaFX, PHP, C/C++, Ruby, Groovy dan Python.

1

StipBndun | B!lj J" #s

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 yai tu : 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 ; (ti tik koma).

2.2 Tipe Data
Terdapat beberapa tipe data primiti ve 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, Stri ng merupakan Object. Namutn string memiliki keuni kan yaitu String dapat langsung dibuat tanpa harus membuat Object.

2

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

int b = 3. Hasil dari kode program diatas adalah 3 bukan 3.333. System. int c = a / b. a += 5. 2.1 Operator Aritmatika Op@ABtoA + * / % K@t@ABngBn Penjumlahan Pengurangan Perkalian Pembagian Sisa pembagian Contoh : int a = 10.2 Operator Penugasan OpCDEtoD = += -= *= /= %= KCtCDEngEn 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.St4ipB5ndun6 | B7l5j54 J585 95s54 2.4. maka hasilnyapun akan integer.4.println(c).println(a).out.out. maka harus menggunakan tipe data doubl e atau float. 4 . System. dan integer tidak dapat mengandung nilai koma dalam Java. sehingga jika akan melakukan perkalian yang menghasilkan nilai koma.

Hal ini dikarenakan a += 5 sama dengan a = a + 5.untuk pengurangan.3 Ope rator Pembanding OpRSTtoS == != >= <= > < KRtRSTngTn Sama dengan Tidak sama dengan Lebih dari sama dengan Kurang dari sama dengan Lebih dari Kurang dari Hasil dari operasi pembanding adalah boolean. maka dapat dengan mudah menggunakan karakter ++ untuk penambahan atau -. True jika operasi pembanding tersebut benar.println(a). a--. System. misal : boolean a = 10 == 100. Jika akan melakukan penambahan atau pengurangan dengan nilai 1.4 Operator Logika OpUVWtoV && || KUtUVWngWn Dan Atau 5 .println(a). karena memang 10 tidak sama dengan 100. dan false jika operasi pembanding tersebut salah. misal : int a = 10. System.4.out. Maka hasilnya adalah 9. 2.4. Hasil dari program diatas adalah false. maka itu berarti a = 10 + 5. dikarenakan a sebelumnya adalah 10. 2.StFipBGndunH | BIlGjGF JGPG QGsGF Hasil dari operasi += tersebut adalah 15.out.

5. Hasil operasi logi ka dengan menggunakan && adalah sebagai beri kut. 2. operator logi ka biasanya digabungkan dengan operator pembanding.println(hasil).5 Percabangan 2. boolean hasil = 10 == 100 || 100 == 100. Opdefsi 1 Fflsd Fflsd Trud Trud Opdefsi 2 False True False True Hfsil False False False True Hasil operasi logi ka dengan menggunakan || adalah sebagai berikut. Maka hasilnya adalah true.1 Percabangan if Pernyataan if merupakan salah satu bentuk pernyataan yang berguna untuk mengambil keputusan terhadap sebuah kemungkinan. Bentuk pernyataan if berupa : if(kondisi){ // yang akan dijalankan } Contoh : 6 .StXipBYndun` | BalYjYX JYbY cYsYX Operator logi ka digunakan untuk membentuk suatu keadaan dari dua atau l ebih kondisi tertentu. System. Hasil dari operator logi ka adalah boolean.out. Opdrasi 1 Falsd Falsd Trud Trud Opdrasi 2 False True False True Hasil False True True True Contoh.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Sign up to vote on this title
UsefulNot useful