Anda di halaman 1dari 29

Pemrograman Lanjut

Exceptions, Threads, dan Files

Ahmad Afif Supianto


Capaian  Pembelajaran  
•  Mampu  mengaplikasikan:  
•  Excep2ons  
•  Lists  
•  Threads  
•  Files  
Exceptions  
•  Excep2on  à  masalah  yang  terjadi  selama  program  berjalan  
•  Excep2ons  menyebabkan  program  berhen2  secara  2dak  
normal  
•  Excep2on  handling  à  langkah  yang  baik  untuk  menangani  
run2me  errors  untuk  menjaga  agar  program  tetap  berjalan  
dengan  baik  
Exceptions  
•  Beberapa  penyebab  excep2ons  terjadi:  
•  Kesalahan  input  data  
•  File  yang  akan  dibuka  2dak  dapat  ditemukan  
•  Koneksi  jaringan  2ba-­‐2ba  terputus  
•  Permasalahan  alokasi  memory  yang  2dak  cukup  
•  Permasalahn  lain  yang  berhubungan  dengan  sumber  fisik  pada  
komputer  

excep%ons  dapat  disebabkan  oleh  user  error,  programmer  


error,  atau  physical  resource  issues.  NAMUN,  program  yang  
baik  harus  mampu  menangani  permasalahan  tersebut  
Exception  Handling  
•  Excep2ons  dapat  di-­‐hande  
dengan  kombinasi  kata  kunci  
try  dan  catch.  
Exception  Handling  
•  Statemen  Catch  à  deklarasi  
excep2on  yang  ingin  di-­‐
handle  
•  Jika  excep2on  terjadi  pada  
blok  try,  blok  catch  akan  
dipanggil  
•  Perha2kan  statemen  
(Excep%on  e)  pada  blok  catch  
-­‐  digunakan  untuk  meng-­‐
handle  semua  kemungkinan  
Excep2ons  
Lengkapi!  
Keyword  “throw”  
•  keyword  throw  memungkinkan  kita  untuk  menghasilkan  
excep2ons  secara  manual  dari  methods  
•  Beberapa  2pe  excep2on  yang  tersedia  adalah  
IndexOutOfBoundsExcep2on,  IllegalArgumentExcep2on,  
Arithme2cExcep2on,  dll  
•  Mul2ple  excep2ons  dapat  didefinisikan  dalam  statemen  
throws  menggunakan  pemisah  koma  
Keyword  “throw”  
•  Statemen  throw  pada  method  à  mendefinisikan  2pe  dari  
Excep2on.    
•  Keyword  throw  à  melempar  excep2on  yang  terjadi  melalui  
sebuah  pesan  
•  Jika  kita  memanggil  method  div  dengan  parameter  kedua  
adalah  0,  maka  akan  mengakses  Arithme2cExcep2on  dengan  
menampilkan  pesan  "Division  by  Zero"  
Lengkapi!  
Multiple  Exceptions  
•  Semua  blok  catch  seharusnya  
diurutkan  dari  yang  lebih  
spesifik  ke  yang  lebih  umum  
•  Excep2on  e  yang  bersifat  
umum  diletakkan  pada  posisi  
terakhir  
Threads  
•  Java  adalah  bahasa  pemrograman  mul2-­‐threaded  
•  Program  yang  dibuat  dapat  mengop2malkan  penggunaan  sumber  
daya  yang  tersedia  dengan  menjalankan  dua  atau  lebih  
komponen  secara  bersamaan,  dimana  se2ap  komponen  
menangani  tugas  yang  berbeda  
•  Membagi  operasi  spesifik  dalam  satu  aplikasi  yang  berjalan  
secara  paralel  
Life-­‐Cycle  dari  Thread  
Membuat  thread  (1)  
•  Extends  dari  class  Thread  
•  Mewarisi  class  Thread  class,  override  method  run(),  dan  menulis  
fungsionalitas  dari  dalam  method  run()  
Lengkapi!  
Membuat  thread  (2)  
•  Mengimplementasikan  interface  Runnable  
Lengkapi!  
Tipe  Exceptions  
•  Ada  dua  jenis  Excep2ons  
•  Checked  
•  Unchecked  
•  Perbedaan  mendasar  adalah  bahwa  
•  Checked  excep2ons  adalah  kesalahan  yang  akan  diperiksa  ke2ka  
di-­‐compile  
•  Unchecked  excep2ons  adalah  kesalahan  yang  akan  diperiksa  
ke2ka  program  berjalan  
Contoh  checked  exception  
Kesalahan langsung akan muncul
ketika di-compile
Contoh  unchecked  exception  

Kesalahan akan terjadi ketika program dijalankan


ArrayList  
•  Java  API  menyediakan  kelas  khusus  untuk  menyimpan  dan  
memanipulasi  kelompok  objek  
•  Array  standard  memiliki  panjang  elemen  yang  tetap,  tetapi  
dengan  ArrayList  ukuran  penyimpanan  dapat  otoma2s  
diperbesar  atau  diperkecil  
•  Class  ArrayList  terdapat  di  dalam  package  java.u2l  
ArrayList  
•  ArrayLists  menyimpan  objek.    
•  Tipe  data  yang  ditentukan  harus  merupakan  2pe  class.    
•  Tidak  dapat  menggunakan  2pe  data  primi2f,  misalnya,  int  atau  
double  
•  Jika  ingin  menggunakan  2pe  data  primi2f  maka  gunakan  2pe  
data  class  khusus  yang  sesuai  dengan  2pe  data  yang  
diinginkan,  seper2  Integer  untuk  int,  Double  untuk  double,  
dan  seterusnya.  
ArrayList  
•  Beberapa  method  pada  class  ArrayList  
Method lain:
-  contains()
-  get(int index)
-  size()
-  clear()
Apa  keluaran  program?  
Bekerja  dengan  Files  
Membaca  File  
Membuat  File  
Menulis  File  
Latihan  
•  Dari  program  yang  telah  dikerjakan  tentang  Polymorphisme,  
dalam  sebuah  kasus  yang  kalian  buat,  pas2kan  memuat  hal-­‐
hal  berikut:  
•  Excep2on  Handling  
•  Threads  
•  Buatlah  3  data  (objeck)  yang  berbeda  dari  kasus  yang  kalian  
buat  dan  simpan  ke  dalam  sebuah  file  

Anda mungkin juga menyukai