PENANGANAN EKSEPSI PADA JAVA


            Eksepsi java adalah keadaan tidak normal yang muncul pada suatu bagian program pada saat dijalankan. Penanganan eksepsi di java membawa pengelolaan kesalahan program saat dijalankan kedalam orientasi-objek. Eksepsi java adalah objek yang menjelaskan suatu keadaan eksepsi yang muncul pada suatu bagian program.

Saat suatu keadaan eksepsi muncul, suatu objek exception dibuat dan dimasukkan ke dalam method yang menyebabkan eksepsi. Method tersebut dapat dipilih untuk menangani eksepsi berdasarkan tipe tertentu. Method ini juga menjaga agar tidak keluar terlalu dini melalui suatu eksepsi, dan memiliki suatu blok program yang dijalankan tepat sebelum suatu eksepsi menyebabkan metodenya kembali ke pemanggil.

Eksepsi dapat muncul tidak beraturan dalam suatu method, atau dapat juga dibuat secara manual dan nantinya melaporkan sejumlah keadaan kesalahan ke method yang memanggil.


Dasar-dasar penanganan Eksepsi
 
Penanganan eksepsi pada java diatur dengan lima kata kunci : try, catch, throw, throws dan finally. Pada dasarnya try digunakan untuk mengeksekusi suatu bagian program, dan jika muncul kesalahan, sistem akan melakukan throw suatu eksepsi yang dapat anda catch berdasarkan tipe eksepsinya, atau yang anda berikan finally dengan penangan default.
 
Berikut ini bentuk dasar bagian penanganan eksepsi :
try {
// Block of Code
}
catch (ExceptionType1 e) {
// Exception Handler for ExceptionType1
} catch (ExceptionType2 e) {
// Exception Handler for ExceptionTYpe2
throw (e); // re-throw the Exception…
}
finally {
}



Tipe Eksepsi
Dipuncak hirarki class eksepsi terdapat satu class yang disebut throwable. Class ini digunakan untuk merepresentasikan semua keadaan ekasepsi. Setiap ExceptionType pada bentuk umum diatas adalah subclass dari throwable.
 
Dua subclass langsung throwable didefinisikan untuk membagi class throwable menjadi dua cabang yang berbeda. Satu, class Exception, digunakan untuk keadaan eksepsi yang harus ditangkap oleh program yang kita buat. Sedangkan yang lain diharapkan dapat menangkap class yang kita subclasskan untuk menghasilkan keadaan eksepsi.
Cabang kedua throwable adalah class error, yang mendefinisikan keadaan yang tidak diharapkan untuk ditangkap dalam lingkungan normal.
Eksepsi Yang Tidak Dapat Ditangkap
Obyek eksepsi secara otomatis dihasilkan oleh runtime java untuk menanggapi suatu keadaan eksepsi. Perhatikan contoh berikut :
class Exc0 {
public static void main (Stinr args[]) {
int d = 0;
int a = 42 / d;
}
}
 

Saat runtime java mencoba meng-eksekusi pembagian, akan terlihat bahwa pembaginya adalah nol, dan akan membentuk objek eksepsi baru yang menyebabkan program terhenti dan harus berurusan dengan keadaan kesalahan tersebut. Kita belum mengkodekan suatu penangan eksepsi, sehingga penanganan eksepsi default akan segera dijalankan. Keluaran dari program diatas :
 
java.lang.ArithmeticExpression : /by zero
at Exc0.main (Exc0.java:4)
Berikut adalah contoh lainnya dari eksepsi :
class Exc1 {
static void subroutine() {
int d = 0;
int a = 42 / d;
}
public static void main (Stinr args[]) {
Exc1.subroutine();
}
}
Output-nya :
java.lang.ArithmeticException : / by zero
at Exc1.subroutine(Exc1.java :4)
at Exc1.main(Exc1.java : 7)



Try dan Catch
Kata kunci try digunakan untuk menentukan suatu blok program yang harus dijaga terhadap semua eksepsi, setelah blok try masukkan bagian catch, yang menentukan tipe eksepsi yang akan ditangkap. Perhatikan contoh berikut :
class Exc2 {
public static void main (String args[]) {
try {
int d = 0;
int a = 42 / d;
}
catch (ArithmeticException e) {
System.out.println(“Division By Zero);
}
}
}

 

Throw
Pernyataan throw digunakan untuk secara eksplisit melemparkan suatu eksepsi. Pertama kita harus mendapatkan penanganan dalam suatu instance throwable, melalui suatu parameter kedalam bagian catch, atau dengan membuatnya menggunakan operator new. Bentuk umum pernyataan throw :
throw ThrowableInstance;
 
Aliran eksekusi akan segera terhenti setelah pernyataan throw, dan pernyataan selanjutnya tidak akan dicapai. Blok try terdekat akan diperiksa untuk melihat jika telah memiliki bagian catch yang cocok dengan tipe instance Throwable. Jika tidak ditemukan yang cocok, maka pengaturan dipindahkan ke pernyataan tersebut. Jika tidak, maka blok pernyataan try selanjutnya diperiksa, begitu seterusnya sampai penanganan eksepsi terluar menghentikan program dan mencetak penelusuran semua tumpukan sampai pernyataan throw. Contoh :
class throwDemo {
static void demoProc() {
try {
throw new NullPointerException(“demo”);
}
catch (NullPointerException e) {
System.out.println(“caught inside demoproc…”);
throw e;
}
}
public static void main (String args[]) {
try {
demoproc();
}
catch (NullPointerException e) {
System.out.println(“recaugt : “ + e);
}
}
}
Output :
caught inside demoproc
recaught : java.lang.NullPointerException : demo



Throws
Kata kunci throws digunakan untuk mengenali daftar eksepsi yang mungkin di-throw oleh suatu method. Jika tipe eksepsinya adalah error, atau RuntimeException, atau suatu subclassnya, aturan ini tidak berlaku, karena tidak diharapkan sebagai bagian normal dari kerja program.
Jika suatu method secara eksplisit men-throws suatu intans dari Exception atau subclassnya, diluar RuntimeException, kita harus mendeklarasikan tipenya dengan pernyataan throws. ini mendefinisikan ulang deklarasi method sebelumnya dengan sintaks sbb :
 
type method-name (arg-list) throws exception-list { }
Contoh :
class ThrowsDemo {
static void procedure () thorws IllegalAccessException {
System.out.println(“Inside Procedure”);
throw new IllegalAccessException(“demo”);
}
public static void main(String args[]) {
try {
procedure();
}
catch (IllegalAccessException e) {
System.out.println(“caught “+ e);
}
}
}
Output :
Inside procedure
caught java.lang.IllegalAccessException : demo



Finally
Saat suatu eksepsi dilemparkan, alur program dalam suatu method membuat jalur yang cenderung tidak linier melalui method tersebut, melompati baris-baris tertentu, bahkan mungkin akan keluar sebelum waktunya pada kasus dimana tidak ada bagian catch yang cocok. Kadang-kadang perlu dipastikan bahwa bagian program yang diberikan akan berjalan, tidak perduli eksepsi apa yang terjadi dan ditangkap. Kata kunci finally dapat digunakan untuk menentukan bagian program seperti itu.
 
Setiap try membutuhkan sekurang-kurangnya satu bagian catch atau finally yang cocok. Jika kita tidak mendapatkan bagian catch yang cocok, maka bagian finally akan dieksekusi sebelum akhir program, atau setiap kali suatu method akan kembali ke pemanggilnya, melalui eksepsi yang tidak dapat ditangkap, atau melalui pernyataan return, bagian finally akan dieksekusi sebelum kembali ke method kembali.
Berikut adalah contoh program yang menunjukkan beberapa method yang keluar dengan berbagai cara, tidak satu pun tanpa mengeksekusi bagian finally-nyA.
class finallyDemo {
static void proA() {
try {
System.out.println(“Inside procA..”);
throw new RuntimeException(“Demo”);
}
finally {
System.out.println(“procA is finally”);
}
}
static void proB() {
try {
System.out.println(“Inside procB..”);
return;
}
finally {
System.out.println(“procB is finally”);
}
}
public static void main(String args[]) {
try {
procA{};
}
catch (Exception e);
procB();
}
}
Output :
Inside procA..
procA is finally
Inside procB..
procB is finally

Cara Mengatasi Lag pada Tablet Perangkat Android Buatan Asus



aplikasi, aplikasi android, Asus, tips trik

Ternyata, nyaris semua tablet buatan Asus, termasuk Google Nexus 7, menderita masalah lag yang sama. Setelah beberapa bulan atau satu tahun, banyak sekali tablet Asus seperti Transformer, Nexus 7, Nexus S, Nexus 4, dll, yang performanya drop drastis / lag.

Penyebabnya ternyata Asus (dan beberapa vendor produk lainnya) menggunakan storage berkualitas buruk, yang sebenarnya bisa diatasi secara software, namun tidak mereka lakukan.

Untuk mengatasinya, pasang app LagFix yang dapat didownload secara gratis di Google Play Store, atau di http://www.appbrain.com/app/lagfix-(fstrim)-free/com.grilledmonkey.lagfix

Disarankan untuk menjalankan LagFix secara rutin, misalnya seminggu sekali.

Untuk mengetahui cara kerja LagFix ini dapat dilihat di forum XDA : http://forum.xda-developers.com/showpost.php?p=37029420&postcount=122

Beberapa device, termasuk Samsung Galaxy S2, Galaxy Note, bisa rusak jika menjalankan LagFix. Ini karena error pada firmware di perangkat tersebut yang dikenal dengan nama "BrickBug".

Untuk memeriksa apakah perangkat Anda memiliki masalah yang sama, silakan cek dengan aplikasi "Got BrickBug" : http://forum.xda-developers.com/showthread.php?t=1693704

Semoga bermanfaat......

Proses Pembusukan Pada Tubuh Manusia Setelah Mati Dalam Hitungan 0 Menit Sampai 1 Tahun

Proses Pembusukan Pada Tubuh Manusia Setelah Mati Dalam Hitungan 0 Menit Sampai 1 Tahun - Sesaat sebelum mati Anda akan merasakan jantung berhenti berdetak, nafas tertahan dan badan bergetar. Anda merasa dingin di telinga. Darah berubah menjadi asam dan tenggorokan berkontraksi.

0 Menit
Kematian secara medis terjadi ketika otak kehabisan supply oksigen.

1 Menit
Darah berubah warna dan otot kehilangan kontraksi, isi kantung kemih keluar tanpa izin.

3 Menit
Sel-sel otak tewas secara masal. Saat ini otak benar-benar berhenti berpikir.

4 - 5 Menit
Pupil mata membesar dan berselaput. Bola mata mengkerut karena kehilangan tekanan darah.

7 - 9 Menit
Penghubung ke otak mulai mati.

1 - 4 Jam
Rigor Mortis(Fase Dimana keseluruhan otot di tubuh menjadi kaku) membuat otot kaku dan rambut berdiri, kesannya rambut tetap tumbuh setelah mati.

4 - 6 Jam
Rigor Mortis Terus beraksi. Darah yang berkumpul lalu mati dan warna kulit menghitam.

6 Jam
Otot masih berkontraksi. Proses penghancuran, seperti efek alkohol masih berjalan.

8 Jam
Suhu tubuh langsung menurun drastis.

24 - 72 Jam
Isi perut membusuk oleh mikroba dan pankreas mulai mencerna dirinya sendiri.

36 - 48 Jam
Rigor Mortis Berhenti, Tubuh anda selentur penari balerina.

3 - 5 Hari
Pembusukan mengakibatkan luka skala besar, darah menetes keluar dari mulut dan hidung.

8 - 10 Hari
Warna tubuh berubah dari hijau ke merah sejalan dengan membusuknya darah.

Beberapa Minggu
Rambut, Kuku, Dan Gigi dengan mudahnya terlepas.

Satu Bulan
Kulit Anda mulai mencair. 


Satu Tahun
Selain tulang-belulang tidak ada lagi yang tersisa dari tubuh anda. Sekarang Anda adalah saingan Twiggy dan Calista Flockhart. Anda yang sewaktu hidupnya cantik, gagah, ganteng, kaya dan berkuasa, sekarang hanyalah tumpukan tulang-belulang yang menyedihkan.
 

Proses Pembusukan Tubuh Manusia

Bakteri bekerja secara terstruktur dalam proses degradasi organisme atau proses pembusukan mayat. Pembusukan dimulai dengan pemutusan ikatan protein-protein besar pada jaringan tubuh oleh bakteri fermentasi menggunakan enzim protease.

Kumpulan hasil pemutusan ikatan protein yang disebut asam amino ini dicerna berbagai jenis bakteri, misalnya bakteri acetogen.

Bakteri ini mereaksikan asam amino dengan oksigen dalam tubuhnya untuk menghasilkan asam asetat, hidrogen, nitrogen, serta gas karbon dioksida. Produk asam asetat ini menimbulkan bau. Bau busuk dari tubuh mayat tidak hanya mengganggu, namun juga membahayakan.

Lalu, bagaimana proses pembusukan tubuh dilakukan dari tubuh utuh hingga tinggal tengkorak?

Proses pembusukan berawal dari mikroorganisme, misalnya bakteri-bakteri yang hidup di dalam usus besar manusia. Bakteri tersebut mulai mendegradasi protein yang terdapat dalam tubuh. Jika seluruh jenis ikatan protein sudah terputus, beberapa jaringan tubuh menjadi tidak berfungsi.

Proses ini disempurnakan bakteri yang datang dari luar tubuh mayat, bisa berasal dari udara, tanah, ataupun air. Seluruh jenis bakteri ini menyerang hampir seluruh sel di tubuh dengan cara menyerang sistem pertahanan tubuh yang tidak lagi aktif, menghancurkan jaringan otot, atau menghasilkan enzim penghancur sel yang disebut protease.

Kemudian dengan berbagai jenis metabolisme, mikroorganisme mulai memakan jaringan mati dan mencernanya. Tak jarang kerja proses ini dibantu reaksi kimia alami yang terjadi dalam organisme mati. Semakin lama, otot-otot semakin habis dimakan bakteri.

[ source ]