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