Views and View Groups
Every item in a user interface is a subclass of the Android View class (to be precise android.view.View). The Android SDK provides a set of pre-built views that can be used to construct a user interface. Typical examples include standard items such as Button, CheckBox, ProgressBar and TextView classes. Such views are also as referred to as widgets. For requirements that are not updated by the SDK, new views may be created by subclassing and extending an existing class, or creating an entirely new component by building directly on top of the View class.
A view can also be comprised of some other views (otherwise known as a composite view). Such views are subclassed from the Android ViewGroup class (android.view.ViewGroup) which is itself a subclass of View. An example of such a view is the RadioGroup, which is meant to contain multiple RadioButton objects such as the one that can be in the "on" position at any one time. In terms of structure, composite views consist of a single view parent view (derived from the ViewGroup class and otherwise known as a container view or root element) that is capable of containing other views (known as child views). Another category of ViewGroup based container view is that of the layout manager.
Selasa, 16 Mei 2017
Senin, 08 Mei 2017
Kamis, 04 Mei 2017
Generik
Pengertian Generics
Generics merupakan cara Java dalam melakukan generalisasi terhadap tipe data tanpa
mengurangi kemampuan Java dalam menjaga keamanan penggunaan tipe data. Pada object Box, kita bisa memasukkan sembarang object karena parameter pada method add() adalah Class Object, tapi pada saat mengambil object tersebut harus diubah sesuai dengan tipe dari object tersebut.
Cara mendeklarasikan Class Generics
Ubah class Box Non Generics menjadi class Box Generic. Pendeklarasian type generics
dengan mengubah public class Box() menjadi public class Box <T>
– T biasanya disebut parameter type formal (formal type parameter)
– T adalah type parameter yang akan diganti dengan tipe sebenarnya (Type dari T bisa berupa class, interface atau tipe variabel lainnya).
– T adalah nama dari type parameter.
Aturan Penamaan Type Parameter
Nama type parameter biasanya satu huruf dan huruf besar. Jenis nama tipe parameter
yang sering digunakan :
– E - Element (biasanya digunakan untuk Collection Framework)
– K – Key
– N – Number
– T - Type
– V - Value
– S,U,V dll. - 2nd, 3rd, 4th types
Generics pada Method
Pada contoh sebelumnya, kita mendefinisikan type parameter pada level class. Sebenarnya tipe variable ini juga dapat didefinisikan pada level method.
Contoh :
public class GenericMethodTest {
public static<E> void printArray(E[] inputArray){
for(E element : inputArray)
System.out.printf("%s",element);
System.out.println("");
}
public static void main(String[] args) {
Integer[] intArray = {1,2,3,4,5} ;
Double[] doubleArray = {1.1,2.2,3.3,4.4,5.5};
Character[] charArray = {'J','A','V','A'};
printArray(intArray);
printArray(doubleArray);
printArray(charArray);
}
}
Subtyping
Jika B adalah suatu subtype dari A dan G adalah suatu tipe data generics, maka tidak berarti G<B> adalah subtype dari G<A>.
Generics pada Collection
• List <E> myList ;
E disebut type variabel, variabel yang diganti dengan type. Jika E adalah class, maka kita
bisa melewatkan subclass E. Jika E adalah interface maka kita bisa melewatkan class yang mengimplementasikan E.
Type Parameter yang dibatasi
Jika kita ingin memberikan batasan type yang diperbolehkan untuk dilewatkan ke type
parameter. Contoh method dengan parameter number, hanya menerima object dari class
Number dan subclass. Hal ini yang disebut bounded type parameter.
• Cara
<U extends Number>
• Jika terdapat interface yang harus diimplementasikan gunakan &
<U extends Number & MyInterface>
Menggunakan Wildcard
Jika kita mendeklarasikan sebuah List<aType>, isi List adalah object dengan tipe aType,
maka kita bisa menyimpan di List object dengan tipe :
– Object dari aType
– Object dari subclass aType, jika aType adalah class
– Object dari class yang mengimplementasikan aType, jika aType adalah interface
Sedangkan List<?> berarti semua tipe data bisa masuk, terlalu luas bentuk lain :
List<? extends Number>
List<? extends T>
Generics merupakan cara Java dalam melakukan generalisasi terhadap tipe data tanpa
mengurangi kemampuan Java dalam menjaga keamanan penggunaan tipe data. Pada object Box, kita bisa memasukkan sembarang object karena parameter pada method add() adalah Class Object, tapi pada saat mengambil object tersebut harus diubah sesuai dengan tipe dari object tersebut.
Cara mendeklarasikan Class Generics
Ubah class Box Non Generics menjadi class Box Generic. Pendeklarasian type generics
dengan mengubah public class Box() menjadi public class Box <T>
– T biasanya disebut parameter type formal (formal type parameter)
– T adalah type parameter yang akan diganti dengan tipe sebenarnya (Type dari T bisa berupa class, interface atau tipe variabel lainnya).
– T adalah nama dari type parameter.
Aturan Penamaan Type Parameter
Nama type parameter biasanya satu huruf dan huruf besar. Jenis nama tipe parameter
yang sering digunakan :
– E - Element (biasanya digunakan untuk Collection Framework)
– K – Key
– N – Number
– T - Type
– V - Value
– S,U,V dll. - 2nd, 3rd, 4th types
Generics pada Method
Pada contoh sebelumnya, kita mendefinisikan type parameter pada level class. Sebenarnya tipe variable ini juga dapat didefinisikan pada level method.
Contoh :
public class GenericMethodTest {
public static<E> void printArray(E[] inputArray){
for(E element : inputArray)
System.out.printf("%s",element);
System.out.println("");
}
public static void main(String[] args) {
Integer[] intArray = {1,2,3,4,5} ;
Double[] doubleArray = {1.1,2.2,3.3,4.4,5.5};
Character[] charArray = {'J','A','V','A'};
printArray(intArray);
printArray(doubleArray);
printArray(charArray);
}
}
Subtyping
Jika B adalah suatu subtype dari A dan G adalah suatu tipe data generics, maka tidak berarti G<B> adalah subtype dari G<A>.
Generics pada Collection
• List <E> myList ;
E disebut type variabel, variabel yang diganti dengan type. Jika E adalah class, maka kita
bisa melewatkan subclass E. Jika E adalah interface maka kita bisa melewatkan class yang mengimplementasikan E.
Type Parameter yang dibatasi
Jika kita ingin memberikan batasan type yang diperbolehkan untuk dilewatkan ke type
parameter. Contoh method dengan parameter number, hanya menerima object dari class
Number dan subclass. Hal ini yang disebut bounded type parameter.
• Cara
<U extends Number>
• Jika terdapat interface yang harus diimplementasikan gunakan &
<U extends Number & MyInterface>
Menggunakan Wildcard
Jika kita mendeklarasikan sebuah List<aType>, isi List adalah object dengan tipe aType,
maka kita bisa menyimpan di List object dengan tipe :
– Object dari aType
– Object dari subclass aType, jika aType adalah class
– Object dari class yang mengimplementasikan aType, jika aType adalah interface
Sedangkan List<?> berarti semua tipe data bisa masuk, terlalu luas bentuk lain :
List<? extends Number>
List<? extends T>
Rabu, 03 Mei 2017
Comparable dan Comparator
Pada kehidupan nyata, object-object sering dibandingkan, misal :
• Mobil Andi lebih mahal dibandingkan dengan mobil Budi
• Buku A lebih tebal dibandingkan dengan Buku B
• Usia Andi lebih muda dibandingkan dengan usia Intan
Dalam pemrograman object oriented, sering sekali ada kebutuhan untuk membandingkan
object-object dari class yang sama, misalkan membandingkan object untuk mengurutkan
data, pencarian data yang diurutkan berdasarkan umur. Pada kesempatan kali ini saya akan membahas bagaimana merancang object dari class agar bisa dibandingkan menggunakan interface java.lang.Comparable & java.util.Comparator.
Mengurutkan Object String
Untuk mengurutkan data String pada array gunakan Array.sort().
import java.util.Arrays;
public class ArrayString {
public static void main(String args[]){
String animals[] = new String[6];
animals[0] = "snake";
animals[1] = "kangaroo";
animals[2] = "wombat";
animals[3] = "bird";
System.out.println("\nSEBELUM DISORTING");
for (int i = 0; i < 4; i++) {
System.out.println("animal " + i + " : " + animals[i]);
}
Arrays.sort(animals,0,4);
System.out.println("\nSETELAH DISORTING");
for (int i = 0; i < 4; i++) {
System.out.println("animal " + i + " : " + animals[i]);
}
}
}
Output :
SEBELUM DISORTING
animal 0 : snake
animal 1 : kangaroo
animal 2 : wombat
animal 3 : bird
SETELAH DISORTING
animal 0 : bird
animal 1 : kangaroo
animal 2 : snake
animal 3 : wombat
Untuk mengurutkan data dalam ArrayList gunakan Collections.sort()
import java.util.ArrayList;
import java.util.Collections;
public class SortList {
public static void main(String args[]){
ArrayList insects = new ArrayList();
insects.add("mosquito");
insects.add("butterfly");
insects.add("dragonfly");
insects.add("fly");
System.out.println("\nSEBELUM DISORTING");
int size = insects.size();
for (int i = 0; i < size; i++) {
System.out.println("insect " + i + " : " + (String)
insects.get(i));
}
Collections.sort(insects);
System.out.println("\nSETELAH DISORTING");
for (int i = 0; i < size; i++) {
System.out.println("insect " + i + " : " + (String)
insects.get(i));
}
}
}
Output :
SEBELUM DISORTING
insect 0 : mosquito
insect 1 : butterfly
insect 2 : dragonfly
insect 3 : fly
SETELAH DISORTING
insect 0 : butterfly
insect 1 : dragonfly
insect 2 : fly
insect 3 : mosquito
Membuat Object yang Kita Definisikan Sendiri
String dapat diurutkan, karena String mengimplementasikan interface Comparable.
public final class String extends Object implements Serializable,
Comparable, CharSequence
Interface ini mempunyai sebuah method compareTo() yang menentukan bagaimana
cara membandingkan antara dua object dari class tersebut.
Bentuk methodnya:
public int compareTo(Object o)
Mehod compareTo() menerima Object, sehingga kita bisa memasukkan sembarang
object, tapi harus mempunyai tipe yang sama. Kalau object yang kita masukkan adalah
object yang berbeda maka melemparkan exception java.lang.ClassCastException. Return
value dari method compareTo()
• 0 jika dua object yang dibandingkan sama.
• Bilangan positif, jika object 1 lebih besar dibandingkan dengan object 2
• Bilangan negatif, jika object 1 lebih kecil dibandingkan dengan object 2
Bagaimana caranya supaya bisa menggunakan Array.sort() pada contoh kasus diatas. Pada class Mahasiswa implementasikan interface Comparable, berarti harus mengimplementasikan method compareTo(). Isilah method ini dengan tujuan untuk membandingkan object dari class Mahasiswa berdasarkan umur. Jangan lupa untuk mengcasting object menjadi object dari class Mahasiswa terlebih dahulu.
public class Mahasiswa implements Comparable {
private String nrp ;
private String nama ;
public Mahasiswa(String nrp, String nama) {
this.nrp = nrp;
this.nama = nama;
}
public String getNama() {
return nama;
}
public void setNama(String nama) {
this.nama = nama;
}
public String getNrp() {
return nrp;
}
public void setNrp(String nrp) {
this.nrp = nrp;
}
@Override
public String toString() {
return "Mahasiswa{" + "nrp=" + nrp + " nama=" + nama + '}';
}
public int compareTo(Object o) {
Mahasiswa m2 = (Mahasiswa) o ;
return this.nrp.compareTo(m2.nrp);
}
}
Output :
SEBELUM SORTING
[Mahasiswa{nrp=05 nama=Cahya}, Mahasiswa{nrp=04 nama=Rudi},
Mahasiswa{nrp=01 nama=Endah}, Mahasiswa{nrp=03 nama=Rita},
Mahasiswa{nrp=02 nama=Tika}]
SESUDAH SORTING
[Mahasiswa{nrp=01 nama=Endah}, Mahasiswa{nrp=02 nama=Tika},
Mahasiswa{nrp=03 nama=Rita}, Mahasiswa{nrp=04 nama=Rudi},
Mahasiswa{nrp=05 nama=Cahya}]
Penggunaan Class Comparator
Dengan mengimplementasikan interface Comparable kita hanya bisa menentukan satu
cara saja untuk membandingkan object. Kita masih memerlukan satu cara lagi untuk membandingkan object-object dari suatu class. Kita memerlukan comparator. Untuk membuat comparator, buat class yang mengimplementasikan interface java.util.Comparator, dan method compare().
public int compare(Object o1, Object o2)
Return value dari method compare()
• 0 jika dua object yang dibandingkan sama.
• Bilangan positif, jika object 1 lebih besar dibandingkan dengan object 2
• Bilangan negatif, jika object 1 lebih kecil dibandingkan dengan object 2
Class Comparator
public class NamaComparator implements Comparator {
public int compare(Object o1, Object o2) {
Mahasiswa m1 = (Mahasiswa) o1;
Mahasiswa m2 = (Mahasiswa) o2;
return m1.getNama().compareTo(m2.getNama());
}
}
Penggunaan Comparator pada Array.sort()
public class TestMahasiswa2 {
public static void main(String[] args) {
Mahasiswa dataMhs[] = {new Mahasiswa("05", "Cahya"),new\
Mahasiswa("04", "Rudi"),
new Mahasiswa("01", "Endah"),new Mahasiswa("03", "Rita"),new
Mahasiswa("02", "Tika")};
System.out.println("SEBELUMSORTING");
System.out.println(Arrays.toString(dataMhs));
Arrays.sort(dataMhs, new NamaComparator());
System.out.println("\nSESUDAH SORTING");
System.out.println(Arrays.toString(dataMhs));
}
}
Output : Mengurutkan data mahasiswa berdasarkan Nama
SEBELUM SORTING
[Mahasiswa{nrp=05 nama=Cahya}, Mahasiswa{nrp=04 nama=Rudi},
Mahasiswa{nrp=01 nama=Endah}, Mahasiswa{nrp=03 nama=Rita},
Mahasiswa{nrp=02 nama=Tika}]
SESUDAH SORTING
[Mahasiswa{nrp=05 nama=Cahya}, Mahasiswa{nrp=01 nama=Endah},
Mahasiswa{nrp=03 nama=Rita}, Mahasiswa{nrp=04 nama=Rudi},
Mahasiswa{nrp=02 nama=Tika}]
Selasa, 02 Mei 2017
Collection
Collection merupakan istilah umum yang
dipakai untuk setiap objek yang berfungsi untuk mengelompokkan beberapa
objek tertentu menggunakan suatu teknik tertentu pula.
Set merupakan pengelompokan mengikuti model himpunan dimana setiap anggota-nya harus unik. Urutan maupun letak dari anggotanya tidaklah penting, hanya keberadaan anggotanya saja yang penting.
Map menampung satu set key dan value (nilai) yang saling berasosiasi. Anda bisa membayangkannya seperti membaca kamus: Anda mencari sebuah kata (keyword) dan melihat artinya (value). Jika Anda pernah melakukan pemrograman dengan bahasa lain, mungkin Anda pernah melihat sesuatu seperti map, mungkin namanya dictionaries, hash, atau associative array.
Kita menulis
Map berguna karena dapat menampung data secara normal seperti yang kita pikirkan. Kita ambil contoh, Pete Green. Map dapat menampung nama depan, nama belakang, alamat, makanan favorit, atau apa pun. Menggunakan map adalah salah satu cara termudah untuh mengumpulkan dan membaca data. Contoh di baris terakhir adalah map kosong. Sebuah map yang sudah siap menampung data, tapi belum ada apa-apa di dalamnya.
Set merupakan pengelompokan mengikuti model himpunan dimana setiap anggota-nya harus unik. Urutan maupun letak dari anggotanya tidaklah penting, hanya keberadaan anggotanya saja yang penting.
Contoh dalam Program:
import java.util.*;
public class setCollection {
public static void main(String[] args) {
Set<String> set1 = new HashSet<String>();
Collections.addAll(set1, "A B C D E ".split(" "));
set1.add("M");
System.out.println("B: " + set1.contains("B"));//ada H
System.out.println("H: " + set1.contains("H"));//ada N
Set<String> set2 = new HashSet<String>();
Collections.addAll(set2, "E F G H".split(" "));
//Apakah huruf2 di set2 ada di set 1 ?? -> true
System.out.println("set2 in set1: " + set1.containsAll(set2));
set1.remove("H");
System.out.println("set1: " + set1);
System.out.println("set2 in set1: " + set1.containsAll(set2));
set1.removeAll(set2);
System.out.println("set2 dihapus dari set1: " + set1);
Collections.addAll(set1, "X Y Z".split(" "));
System.out.println("‘X Y Z’ ditambahkan ke set1: " + set1);
}
}
List
merupakan pengelompokan berdasarkan urutan seperti layaknya array,
karena itu ia memiliki posisi awal dan juga posisi akhir. Dengan list
kita bisa menyimpan suatu objek pada awal atau akhir list, menyisipkan,
mengakses serta menghapus isi list pada posisi index tertentu dimana
semua proses ini selalu didasarkan pada urutannya. Selain itu isi list
tidak harus unik. Beberapa Class java yang mengimplementasi kelas ini
antara lain : Vector, Stack, LinkedList, dan ArrayList.
Contoh dalam Program :
Vector
import java.util.Scanner;
import java.util.Vector;
public class VektorJava{
public static void main(String[] args) {
String data = "";
Vector<String> V = new Vector<String>();
Scanner input = new Scanner(System.in);
for(int i=0;i<=3;i++){
System.out.print("Masukan Data "+i+": ");
data = input.next();
V.add(data);
}
System.out.println(V);
String nama = (String) V.get(0);
System.out.println(nama);
}
}
Stack
import java.io.*;
import java.util.*;
public class StackImplement {
Stack<Integer> stack = new Stack<Integer>();
String str;
int num, n;
public static void main(String[] args) {
StackImplement q = new StackImplement();
}
public StackImplement() {
try {
BufferedReader bf = new BufferedReader(
new InputStreamReader(System.in));
System.out.print("Banyak Data : ");
str = bf.readLine();
num = Integer.parseInt(str);
for (int i = 1; i <= num; i++) {
System.out.print("Masukan Elemen " + i + " : ");
str = bf.readLine();
n = Integer.parseInt(str);
stack.push(n);
}
} catch (IOException e) {
}
System.out.println("Stack : ");
while (!stack.empty()) {
System.out.print(stack.pop() + " ");
}
System.out.println();
}
}
LinkedList
import java.util.LinkedList;
public class LinkListCollection {
public static void main(String[] args) {
LinkedList<String> A = new LinkedList<String>();
String[] nama = {"David","Alfa","Benny"};
//Tambah data data diambil dari array nama;
for(int nList = 0;nList<nama.length;nList++){
A.add(nama[nList]);
}
//Tampil Data
System.out.println("Data Asli : ");
for(int nList = 0;nList<nama.length;nList++){
System.out.println("Indeks "+nList+": "+A.get(nList));
}
System.out.println("\nTambah data di Index ke-3 : ");
A.add(3, "Danni");
for(int nList = 0;nList<=nama.length;nList++){
System.out.println("Indeks "+nList+": "+A.get(nList));
}
System.out.println("\nDelete data di Index ke-2 : ");
A.remove(2);
for(int nList = 0;nList<nama.length;nList++){
System.out.println("Indeks "+nList+": "+A.get(nList));
}
System.out.println("\nTambah data di Awal list : ");
A.addFirst("Marcelo");
for(int nList = 0;nList<=nama.length;nList++){
System.out.println("Indeks "+nList+": "+A.get(nList));
}
System.out.println("\nTambah data di Akhir list : ");
A.addLast("Ferdi");
for(int nList = 0;nList<=nama.length+1;nList++){
System.out.println("Indeks "+nList+": "+A.get(nList));
}
System.out.println("\nTambah data di Akhir list : ");
A.remove(4);
for(int nList = 0;nList<=nama.length;nList++){
System.out.println("Indeks "+nList+": "+A.get(nList));
}
}
}
ArrayList
import java.util.ArrayList;
import java.util.Scanner;
public class ArrayListCollection {
public static void main(String[] args) {
String str = "";
ArrayList<String> senerai = new ArrayList<String>();
Scanner scan = new Scanner(System.in);
while (true) {
try {
System.out.println("\n1. Tambah Data");
System.out.println("2. Lihat Data");
System.out.println("3. Delete Data");
System.out.println("4. Exit");
System.out.print("Masukan pilihan : ");
int pilihan = scan.nextInt();
switch (pilihan) {
case 1:
int jmlDt = 0;
System.out.print("Tambah data : ");
str = scan.next();
senerai.add(str);
jmlDt++;
break;
case 2:
System.out.println("\nIsi senerai sekarang : ");
System.out.println("Jumlah Element : " + senerai.size());
for (int i = 0; i < senerai.size(); i++) {
System.out.println("Index " + i + ". " + senerai.get(i));
}
System.out.println("");
break;
case 3:
int indeks;
try {
System.out.print("Masukan Index list yang akan di hapus: ");
indeks = scan.nextInt();
senerai.remove(indeks);
System.out.println(">remove data sukses<");
} catch (IndexOutOfBoundsException a) {
System.out.println("Indeks Array melebihi batas");
}
break;
case 4:
System.out.println("Terima kasih");
System.exit(0);
default:
System.out.println("Inputan Tidak tersedia \n");
}
} catch (Exception e) {
System.err.println("Salah Input");
System.exit(1);
}
}
}
}
Map menampung satu set key dan value (nilai) yang saling berasosiasi. Anda bisa membayangkannya seperti membaca kamus: Anda mencari sebuah kata (keyword) dan melihat artinya (value). Jika Anda pernah melakukan pemrograman dengan bahasa lain, mungkin Anda pernah melihat sesuatu seperti map, mungkin namanya dictionaries, hash, atau associative array.
Kita menulis
map
dengan menutup key dan value menggunakan kurung kurawal { }
, seperti:{:firstname "Pete" :lastname "Green"}
{:a 1 :b "pete"}
{ }
Map berguna karena dapat menampung data secara normal seperti yang kita pikirkan. Kita ambil contoh, Pete Green. Map dapat menampung nama depan, nama belakang, alamat, makanan favorit, atau apa pun. Menggunakan map adalah salah satu cara termudah untuh mengumpulkan dan membaca data. Contoh di baris terakhir adalah map kosong. Sebuah map yang sudah siap menampung data, tapi belum ada apa-apa di dalamnya.
Senin, 01 Mei 2017
Excetion
Exception merupakan subkelas dari kelas java.lang.Throwable. Exception adalah sebuah kelas maka hakikatnya ketika program berjalan dan muncul sebuah bug atau kesalahan maka bug tersebut dapat dianggap sebuah object. Sehingga ketika object ini di tampilkan di layar maka java akan secara otomatis memanggil method toString yang terdapat dalam object bertipe Exception ini. Java memberikan akses kepada developer untuk mengambil object bug yang terjadi ini dengan mekanisme yang dikenal Exception Handling. Exception handling merupakan fasilitas di java yang memberikan flexibilitas kepada developer untuk menangkap bug atau kesalahan yang terjadi ketika program berjalan. Selain Exception, java.lang. Throwable juga memiliki subclass yaitu class Error.
Class Error dan Class Exception
Pada dasarnya error dan exception itu berbeda. Error merupakan masalah yang muncul tapi tidak ada alasan yang kuat untuk menangkapnya. Sedangkan Exception merupakan kesalahan kecil yang muncul dan ingin diperlakukan sesuai keinginan developer.
Keyword Penting pada exception handling
1.try
Keyword ini biasanya digunakan dalam suatu block program. keyword ini digunakan untuk mencoba menjalankan block program kemudian mengenai dimana munculnya kesalahan yang ingin diproses. Keyword ini juga harus dipasangkan dengan keyword catch atau keyword finally yang akan dibahas pada point kedua dan ketiga.
2. catch
Jika anda sudah melihat contoh try maka secara tidak langsung anda sudah memahami kegunaan dari keyword ini. Dalam java, keyword catch harus dipasangkan dengan try. Kegunaan keyword ini adalah menangkap kesalahan atau bug yang terjadi dalam block try. Setelah menangkap kesalahan yang terjadi maka developer dapat melakukan hal apapun pada block catch sesuai keinginan developer.
3. finally
Keyword ini merupakan keyword yang menunjukan bahwa block program tersebut akan selalu dieksekusi meskipun adanya kesalahan yang muncul atau pun tidak ada.
4. throw
Keyword ini digunakan untuk melemparkan suatu bug yang dibuat secara manual.
5. throws
Keyword throws digunakan dalam suatu method yang mungkin menghasilkan suatu kesalahan sehingga perlu ditangkap errornya.
- Checked Exception
Adalah eksepsi yang diantisipasi oleh programmer untuk dihandle
dalam program dan terjadi dikarenakan oleh kondisi luar yang siap muncul
saat program berjalan. Misalnya membuka file yang tidak ada atau
gangguan jaringan.
Yang termasuk checked exception adalah class java.lang.Throwable dan semua subclassnya, kecuali class dan subclass dari java.lang.Error dan java.lang.RuntimeError
Yang termasuk checked exception adalah class java.lang.Throwable dan semua subclassnya, kecuali class dan subclass dari java.lang.Error dan java.lang.RuntimeError
- Unchecked Exception
bisa muncul dari kondisi yang merepresentasikan adanya bug atau situasi
yang secara umum dianggap terlalu sulit bagi program untuk
menghandlenya. Disebut sebagai unchecked karena kita tidak perlu
mengeceknya atau melakukan sesuatu jika kondisi ini terjadi. Eksepsi
yang muncul dari kategori situasi yang merepresentasikan bug ini disebut
sebagai runtime exception. Misalnya mengakses array melebihi size yang
dimilikinya.
Yang termasuk Unchecked exception
Yang termasuk Unchecked exception
1.
java.lang.Error
dan subclassnya
2.
java.lang.RuntimeException
dan subclassnya.
- Sedangkan eksepsi yang muncul sebagai akibat dari isu environment software – yang ini jarang sekali atau sulit sekali untuk dihandle- disebut sebagai error, misalnya running out memory.
Jadi, class Exception mendefinisikan kondisi error yang ringan yang
dijumpai oleh program. Sedangkan untuk kondisi error yang berat
didefinisikan dengan Error.
Latihan
Latihan
Rabu, 26 April 2017
Minggu, 23 April 2017
Kamis, 20 April 2017
Selasa, 18 April 2017
Senin, 17 April 2017
Langganan:
Postingan (Atom)