Makalah Interface Ekpresi Java1

Embed Size (px)

Citation preview

  • 8/19/2019 Makalah Interface Ekpresi Java1

    1/28

    KATA PENGANTAR

    Puji syukur atas ke hadirat Allah SWT, karena berkat rahmat-Nya penulisdapat menyelesaikan makalah yang berjudul Interface dan E cepti!n" #akalah ini

    diajukan guna memenuhi tugas mata kuliah Pem!graman $erbasis %bjek"

    Penulis mengucapkan terima kasih kepada semua pihak yang telah

    membantu sehingga makalah ini dapat diselesaikan sesuai dengan &aktunya"

    #akalah ini masih jauh dari sempurna, !leh karena itu saya mengharapkan kritik

    dan saran yang bersifat membangun demi kesempurnaan makalah ini"

    Sem!ga makalah ini memberikan inf!rmasi bagi mahasis&a lainnyakhususnya mahasis&a P!liteknik Negeri 'h!kseuma&e dan bermanfaat untuk

    pengembangan ilmu pengetahuan bagi kita semua dan terutama bagi penulis

    sendiri"

    (emikian makalah ini saya buat sem!ga bermanfaat untuk para pembaca"

    $uket )ata, *+ (esember + *

    Tim Penulis

    i

  • 8/19/2019 Makalah Interface Ekpresi Java1

    2/28

    DAFTAR ISI

    .ATA PEN/ANTA)""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

    (A0TA) ISI""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

    $A$ I PEN(A12'2AN""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

    *"*" 'atar $elakang""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

    *"*"*" Interface"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

    *"*"+" E cepti!n""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

    $A$ II PE#$A1ASAN"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""+"*" Paket pada 4a5a"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

    +"*"*" Tingkat Akses""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

    +"+" .!nsep Interface"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

    +"*"*" Pelaksanaan""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

    +"3" Interface 'anjutan"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

    +"+"*" Pelaksanaan"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

    +"3" E cepti!n""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""+"3"* Pelaksanaan"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

    +"7" E cepti!n Thr!& dan Thr!&s"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""+

    +"7"* Pelaksanaan"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

    +" " #embuat :lass Ekpresi sendiri"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""++

    +" "* Pelaksanaan""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

    $A$ III PEN2T2P"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

    3"* .esimpulan""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""(A0TA) P2STA.A"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

    ii

  • 8/19/2019 Makalah Interface Ekpresi Java1

    3/28

    BAB I

    PENDAHULUAN

    1.1. Latar Belakang

    1.1.1. Interface

    Pada pr!ses pengembangan sistem sering kali kita dihadapkan kepada

    berbagai ragam tekn!l!gi atau berbagai jenis teknik pembuatan pr!gram"

    #isalnya dalam membuat aplikasi kita menggunakan berbagai jenis apliaksi

    database dengan gaya pemr!graman yang berbeda" 4a5a memberikan fasilitas

    untuk menjembatani perbedaan tersebut dengan apa yang disebut dengan

    interface" Interface lebih mempermudah analyst dalam membuat k!nsep aplikasi,

    interface mirip dengan p!la atau biasa disebut dengan cetak biru aplikasi"

    Apabila sbuah class ja5a menggunakan interface maka class tersebut

    mngimplementasikan interface" Pada saat class mengimplementasikan interface

    &alaupun semua yang ada di interface harus dicantumkan, namun tidak semuanya

    harus berisi perintah atau pr!ses" deklarasi interface harus public, karena memang

    fungsi class pengguna interface adalah untuk digunakan secara public

    Interface dalam kehidupan sehari-hari ibarat sebuah clausul k!ntrak, yang

    berisi pasal-pasal, namun pasal-pasal tersebut masih k!s!ng dan akan di isi pada

    saat k!ntrak tersebut digunakan"

    1.1.2. Exce t!"n

    (alam pembuatan pr!gram seringkali dijumpai err!r atau kesalahan" %leh

    karena itu, diperlukan suatu mekanisme yang membantu menangani err!r atau

    kesalahan yang terjadi, baik saat pembuatan maupun implementasi pr!gram" 4a5a

    menyediakan mekanisme dalam pemr!graman untuk menangani hal-hal tersebut

    yang disebut dengan exception "

    *

  • 8/19/2019 Makalah Interface Ekpresi Java1

    4/28

    Exception adalah e5ent yang terjadi ketika pr!gram menemui kesalahan

    pada saat instruksi pr!gram dijalankan" $anyak hal yang dapat menimbulkan

    e5ent ini, misalnya crash, harddisk rusak dengan tiba-tiba, sehingga pr!gram-

    pr!gram tidak bisa mengakses file-file tertentu"

    Ada lima kata kunci yang digunakan !leh 4a5a untuk menanngani

    e cepti!n ini, yaitu, tr# , catc$ , f!nall# , t$r"% , dan t$r"%& "

    +

  • 8/19/2019 Makalah Interface Ekpresi Java1

    5/28

    BAB II

    PE'BAHASAN

    2.1. Paket a(a )a*a

    Sebuah paket 4a5a adalah mekanisme untuk mengatur 4a5a kelas ke ruang

    nama mirip dengan m!dul #!dula " Paket-paket 4a5a dapat disimpan dalam file

    yang dik!mpresi dan disebut file 4A) , memungkinkan kelas untuk men-

    d!&nl!ad lebih cepat sebagai kel!mp!k daripada satu per satu" Pr!grammer juga

    biasanya menggunakan paket untuk mengatur kelas yang termasuk kateg!ri yang

    sama atau menyediakan fungsi serupa"

    *" Sebuah paket menyediakan namespace yang unik untuk jenis yang

    dikandungnya"

    +" .elas dalam paket yang sama dapat mengakses angg!ta-paket akses

    masing-masing"

    4a5a class library ;4a5a API< memiliki banyak sekali kelas ;4a5a

    predefined classes< yang diletakkan ke dalam paket ;package< untuk dapat

    dipergunakan kembali di dalam pr!gram" Paket tersebut digunakan untuk

    mengel!mp!kkan kelas-kelas yang mempunyai kemiripan fungsi ;related class

  • 8/19/2019 Makalah Interface Ekpresi Java1

    6/28

    ja5a"lang - 0ungsi dasar bahasa dan jenis dasar ja5a"util - Pengumpulan (ata struktur kelas ja5a"i! - %perasi file ja5a"math - #ultiprecisi!n aritmatika ja5a"ni! - =ang baru I > % kerangka untuk 4a5a ja5a"net - %perasi jaringan, s!ket, l!!kup (NS , """ ja5a"security - Pembangkitan kunci, enkripsi dan dekripsi

    ja5a"s?l - 4a5a (atabase :!nnecti5ity ;4($:< untuk mengakses database ja5a"a&t - 1irarki dasar paket untuk k!mp!nen asli /2I ja5a "s&ing - 1irarki paket untuk platf!rm-independen yang kaya /2Ik!mp!nen

    ja5a"applet - .elas untuk membuat appletThe ja5a"lang - paket tersedia tanpa menggunakan pernyataan imp!r"

    Sebuah paket ;package< sebenarnya adalah direkt!ri yang digunakan untuk

    menyimpan file-file bytec!de ;file berekstensi "class

  • 8/19/2019 Makalah Interface Ekpresi Java1

    7/28

    Semua kelas yang dibuat akan tersimpan di direkt!ri yang sekarang aktif ;current

    direct!ry atau default package< ketika pr!gram sumber 4a5a dik!mpilasi" .arena

    pr!gram sumber 4a5a terletak di direkt!ri, misalnya c@ hindr! ja5asc dan pr!ses

    k!mpilasi juga dilakukan di direkt!ri tersebut, maka file bytec!de hasil k!mpilasi

    juga akan tersimpan di direkt!ri yang sama"

    2.1.1. T!ngkat Ak&e&

    1. T!ngkat Ak&e& Pr!*ate

    (engan menggukanan data dan meth!d dengan tingkat akses pri5ate,makadata dan meth!d tersebut hanya dapat di akses !leh kelas yang di milikinya saja"

    #!difier pri5ate, menunjukkan bah&a suatu class, meth!d atau 5ariabel hanya

    dapat diakses dari dalam kelas tersebut" m!difier ini biasanya digunakan untuk

    kelas, meth!d, atau 5ariabel yang memang ingin disimpan atau tidak dapat

    digunakan !leh kelas yang lain ;tidak berguna untuk kelas yang lain

  • 8/19/2019 Makalah Interface Ekpresi Java1

    8/28

    import satu.privateClass;public class pengakses e+tends satu.privateClass{

    static privateClass a#ne$ privateClass();public static void main ( tring!" args) {

    %stem.out.println (&'asil dari , kuadrat adalah & a.kuadrat(,));}}$egitu dic!mpile, akan keluar k!de kesalahan@

    kuadrat(int) has private access in satu.privateClassIni adalah file pengakses+ yang terletak pada package yang berbeda tapi bukantermasuk anak kelas dari privateClass.

    package dua;import satu.privateClass;public class pengakses- {static privateClass a#ne$ privateClass();public static void main ( tring!" args) {

    %stem.out.println (a.kuadrat(,)); kuadrat(int) has protected access insatu.privateClass}}$egitu dic!mpile, akan keluar pesan kesalahan@kuadrat(int) has private access in satu.privateClass

    2. T!ngkat Ak&e& Pr"tect

    Suatu data atau meth!d yang di deklarasi kan dengan tingkat akses

    pr!tected dapat di akses !leh kelas yang di milikinya saja dan juga kelas-kelas

    yang masih memiliki keturunan" #!difier pr!tected, digunakan kalau suatu class,

    meth!d atau 5ariabel ingin digunakan hanya !leh kelas-kelas yang satu paket

    dengan kelas tersebut atau sub kelas dari kelas tersebut baik yang satu paket atau

    lain paket"

    Ke#%"r( Pr"tecte(

    Ini adalah isi file pr!tected:lass"ja5a

    package satu;public class protectedClass{protected static int kuadrat(int bilangan){return bilangan*bilangan;

    8

  • 8/19/2019 Makalah Interface Ekpresi Java1

    9/28

    }}

    class pengakses{public static void main ( tring!" args) {protectedClass a#ne$ protectedClass();

    %stem.out.println (&'asil kuadrat # & a.kuadrat( ));}}%utput dari pr!gram di atas adalah@

    Hasil dari 9 kuadrat adalah 81

    Ini adalah isi file pengakses* yang terletak pada package yang berbeda tetapi

    merupakah subclass dari class pr!tected:lass" Pada pr!ses c!mpile tidak akan

    terjadi pr!ses kesalahan"

    package dua;import satu.protectedClass;public class pengakses e+tends satu.protectedClass{static protectedClass a#ne$ protectedClass();public static void main ( tring!" args) {

    %stem.out.println (&'asil dari , kuadrat adalah & a.kuadrat(,));}}%utput dari pr!gram di atas adalah@

    Hasil dari 9 kuadrat adalah 81

    (i ba&ah ini adalah isi file pengakses+ yang terletak pada package yang berbeda

    dan bukan subclass dari class pr!tected:lass"

    package dua;

    import satu.protectedClass;public class pengakses- {static protectedClass a#ne$ protectedClass();public static void main ( tring!" args) {

    %stem.out.println (a.kuadrat(,)); error}}

    4ika pr!gram dic!mpile, maka akan muncul pesan kesalahan@

    B

  • 8/19/2019 Makalah Interface Ekpresi Java1

    10/28

    k+a(rat,!nt- $a& r"tecte( acce&& !n &at+. r"tecte( la&&

    /. T!ngkat Ak&e& P+0l!c

    Tingkatan public merupakan kebalikan dari tingkat akses pri5ate"data

    maupun meth!d dapat di akses !leh semua bagian di dalam pr!gram" #!difier

    public akan membuat class, meth!d, 5ariabel yang menggunakanya bersifat

    umum, alias dapat dipanggil !leh semua kelas" baik dari satu paket yang sama

    atau berlainan paket" public juga akan memperb!lehkan akses terhadap semua

    kelas yang diinstan dari kelas tersebut

    Ke#%"r( P+0l!c

    package satu;public class publicClass{public static int kuadrat(int bilangan){return bilangan*bilangan;}}class pengakses{public static void main ( tring!" args) {publicClass a#ne$ publicClass();

    %stem.out.println (&'asil dari , kuadrat adalah & a.kuadrat(,));}}$egitu dijalankan, !utputnya adalah

    Hasil dari 9 kuadrat adalah 81

    package dua;import satu.publicClass;

    public class pengakses e+tends satu.publicClass{static publicClass a#ne$ publicClass();public static void main ( tring!" args) {

    %stem.out.println (&'asil dari , kuadrat adalah & a.kuadrat(,));}}$egitu dijalankan, !utputnya adalah

    Hasil dari 9 kuadrat adalah 81

    package dua;

    import satu.publicClass;

    9

  • 8/19/2019 Makalah Interface Ekpresi Java1

    11/28

    public class pengakses- {static publicClass a#ne$ publicClass();

    public static void main ( tring!" args) {%stem.out.println (&'asil dari , kuadrat adalah & a.kuadrat(,));

    }}$egitu dijalankan, !utputnya adalah

    Hasil dari 9 kuadrat adalah 81

    2.2. K"n&e Interface

    Interface adalah kelas yang benar-benar abstrak, artinya hanya berisi

    deklarasi meth!d dan ;jika ada< k!nstanta saja" #eth!d-meth!d tersebut nantinya

    harus diimplementasikan pada real class " Interface dapat dianal!gikan seperti

    menandatangani k!ntrak kerja" #isalnya se!rang d!sen &ajib mengajar, membuat

    s!al, dsb, akan tetapi cara mengajar dan membuat s!alnya diserahkan ke masing-

    masing d!sen ;tidak ditentukan dalam k!ntrak kerja

  • 8/19/2019 Makalah Interface Ekpresi Java1

    12/28

    !modifer" class 0ama3elas implements 0amaInter/ace{defnisi method1method;

    4}

    2.1.1. Pelak&anaan

    Praktek 1 Interface Act!"nL!&tener

    :!ba dan pelajari c!nt!h penggunaan interface dalam aplikasi /2I berikut"

    (alam c!nt!h ini .elas T!mb!l diturunkan dari kelas 0rame, dan juga

    mengimplementasikan interface Acti!n'istener, yang memiliki sebuah meth!dyaitu @ Acti!nPerf!rmed"

    import java.a$t.*;import java.a$t.event.*;

    public class 5ombol e+tends 6rame implements7ction8istener {

    dekarasi komponen9utton b5ekan # ne$ 9utton();

    5e+t6ield t+t # ne$ 5e+t6ield(: :);

    public 5ombol() {la%out komponen

    this.set8a%out(ne$ 6lo$8a%out());menambahkan komponen ke /rame

    this.add(b5ekan null);this.add(t+t null);

    menulis te+t ke buttonb5ekan.set8abel(:5ekan 7ku:);

    menambahkan action listener ke komponenb5ekan.add7ction8istener(this);

    }

    implementasi method 7ction

  • 8/19/2019 Makalah Interface Ekpresi Java1

    13/28

    5ombol tmbl # ne$ 5ombol();tmbl.pack();tmbl.set5itle(:5ombol 7@5:);tmbl.setAisible(true);

    }}

    Praktek 2 Interface Bang+n2D

    Interface $angun+( memiliki + meth!d, yaitu @ hitungC'uas;< dan

    hitungC.eliling;

  • 8/19/2019 Makalah Interface Ekpresi Java1

    14/28

    return this.jejari;}

    public double hitung 8uas(){return ( . E * this.jejari * this.jejari);

    }public double hitung 3eliling(){

    return (- * . E * this.jejari);}

    }

    class 5est8ingkaran{

    public static void main( tring!" arg){8ingkaran bunder # ne$ 8ingkaran();bunder.setDejari( F);double luas # bunder.hitung 8uas();double keliling # bunder.hitung 3eliling();

    %stem.out.println(:8uas lingkaran dengan jejari: bunder.getDejari() : adalah : luas);

    %stem.out.println(:3eliling lingkaran dengan jejari: bunder.getDejari() : adalah : keliling);

    }}

    2./. Interface Lan4+tan

    Pe&arisan merupakan pr!ses penurunan field dan meth!d dari suatu

    kelas induk kepada satu>lebih subkelas" Seringkali dibutuhkan suatu kelas yang

    field dan meth!dnya berasal dari lebih dari satu kelas induk ;pe&arisan jamak

  • 8/19/2019 Makalah Interface Ekpresi Java1

    15/28

    !modifer " class 0ama3elas extends NamaKelasInduk

    implements 0amaInter/ace {

    isi kelas

    }

    +" (engan implementasi multiple interface

    !modifer " class 0ama3elas implements 0amaInter/ace

    0amaInter/ace- 4 {

    isi kelas

    }

    Suatu Interface dapat diperluas menjadi Interface baru yang lebih lengkap"

    !modifer " inter ace 0amaInter/ace- extends 0amaInter/ace {

    da/tar konstanta dan method

    }

    2.2.1. Pelak&anaan

    *3

  • 8/19/2019 Makalah Interface Ekpresi Java1

    16/28

    Praktek 1 .!mbinasi antara turunan satu kelas dan interface

    inter/ace G

  • 8/19/2019 Makalah Interface Ekpresi Java1

    17/28

    }}

    class 5estInherInter/ace{public static void main( tring!" arg){

    Child anak # ne$ Child( );anak./unc();

    %stem.out.println(:nilai dari methodgetAalue2: anak.getAalue());

    }

    }

    Praktek 2 '+lt! le !nterface

    inter/ace Inter/ace { public void tampilIn/o(); public void setIn/o( tring in/o);}

    inter/ace Inter/ace- { public void tampilIn/o();

    }

    public class GultiInter/aces implements Inter/ace Inter/ace- { private tring in/o;

    public void setIn/o( tring in/o) { this.in/o # in/o;

    } public void tampilIn/o(){

    %stem.out.println(this.in/o :2 ini in/o dari method tampilIn/ondak error to:); }

    public static void main( tring!" a) { GultiInter/aces t # ne$ GultiInter/aces(); t.setIn/o(:'ai:); t.tampilIn/o(); }}

    *

  • 8/19/2019 Makalah Interface Ekpresi Java1

    18/28

    2./. Exce t!"n

    (alam pembuatan pr!gram seringkali dijumpai err!r atau kesalahan" %leh

    karena itu, diperlukan suatu mekanisme yang membantu menangani err!r atau

    kesalahan yang terjadi, baik saat pembuatan maupun implementasi pr!gram" 4a5a

    menyediakan mekanisme dalam pemr!graman untuk menangani hal-hal tersebut

    yang disebut dengan exception "

    Exception adalah e5ent yang terjadi ketika pr!gram menemui kesalahan

    pada saat instruksi pr!gram dijalankan" $anyak hal yang dapat menimbulkane5ent ini, misalnya crash, harddisk rusak dengan tiba-tiba, sehingga pr!gram-

    pr!gram tidak bisa mengakses file-file tertentu" Pr!grammer pun dapat

    menimbulkan e5ent ini, misalnya dengan melakukan pembagian dengan bilangan

    n!l, atau pengisian elemen array melebihi jumlah elemen array yang dial!kasikan

    dan sebagainya"

    E cepti!n terdiri dari dua macam kel!mp!k, yaitu @

    • E cepti!n yang merupakan subclass )unTimeE cepti!n

    • E cepti!n yang bukan subclass )unTimeE cepti!n

    )unTimeE cepti!n biasanya disebabkan !leh kesalahan pr!gram atau pada desain

    pr!gram" #isalnya NullP!interE cepti!n yang disebabkan !leh pr!ses inisialisasi

    pr!gram yang tidak sempurna dan ArrayInde %ut%f$!undsE cepti!n yang

    disebabkan akses array yang melebihi kapasitas array yang ada"

    (alam bahasa 4a5a, ketika terjadi kesalahan, !t!matis akan dilemparkan

    sebuah !bjek yang disebut exception , yang kemudian dapat dipr!ses lebih lanjut

    !leh fungsi-fungsi yang siap menangani kesalahan tersebut" Pr!ses pelemparan

    e cepti!n tersebut sering dikenal dengan istilah throwing exception , sedangkan

    pr!ses penerimaan e cepti!n yang bersangkutan dikenal dengan istilah catch

    exception

    *8

  • 8/19/2019 Makalah Interface Ekpresi Java1

    19/28

    Ada lima kata kunci yang digunakan !leh 4a5a untuk menanngani

    e cepti!n ini, yaitu, tr# , catc$ , f!nall# , t$r"% , dan t$r"%& "

    Situasi yang menyebabkan e cepti!n dibagi menjadi 3 kateg!ri yaitu,

    • Ke&ala$an k"(e ata+ (ata " :!nt!hnya jika k!de berusaha

    mengakses suatu indeks dari array yang di luar batas array"

    • 'et"(e &tan(ar exce t!"n " :!nt!hnya, met!de substring;< dalam

    kelas String, dapat memunculkan pesan dalam bentuk String Inde %ut

    !f$!undsE cepti!n"

    • Ke&ala$an )a*a " 1al ini merupakan kesalahan dalam

    mengeksekusi 4a5a Firtual #achine yang dijalankan pada saat k!mpilasi"

    Istilah e cepti!n digunakan untuk menunjukkan kesalahan pada hard&are,

    s!ft&are, serta alg!ritma" Suatu e cepti!n adalah !byek dari kelas standar

    Thr!&able, yang mempunyai turunan terdiri dari @

    • Err"r " E cepti!n yang didefinisikan dalam keas ini

    mempunyai karakteristik bah&a k!ndisi yang terjadi tidak

    dapat diubah" Terdapat tiga macam subclass yang berada

    diba&ahnya yaitu, Thread(eath, 'inkage Err!r,

    Firtual#achineErr!r"

    • Exce t!"n " 2ntuk kelas yang diturunkan dari e cepti!n

    k!mpiler memeriksa bah&a kita bisa menangani e cepti!n

    dengan met!de yang ada"

    .elas e cepti!n mempunyai banyak kelas turunan" (ua kelas yang pentingyaitu,

    • I5Exce t!"n

    • R+nt!6eExce t!"n

    *B

  • 8/19/2019 Makalah Interface Ekpresi Java1

    20/28

    Ta0el S+0kela& (ar! R+nT!6e Exce t!"n

    Kela& KeteranganArithmeticE cepti!n .esalahan pada !perasi aritmatikaInde %ut!f$!undsE cepti!n $eberapa jenis indeks di luar batas

    Negati5eArraySiGeE cepti!n Array diciptakan dengan ukuran negatif NullP!interE cep!ti!n Penggunaan acuan null yang tidak 5alidArrayStr!reE cepti!n Penyimpanan array dengan tipe data yang

    tidak sesuai":lass:astE cepti!n :ast yang tidak 5alidIllegalArrayArgumentE cepti!n Argumen yang tidak benar SecurityE cepti!n Aturan sekuriti yang dilanggar Illegal#!nit!rStateE cepti!n %perasi m!nit!r ilegalIllegalStateE cepti!n 'ingkungan yang tidak benar 2nsupp!rted%perati!nE cepti!n %perasi yang tidak didukung

    2./.1 Pelak&anaan

    #acam penanganan e cepti!n, e cepti!n menggunakan kata kunci try, catch, dan

    finally sebagai berikut @

    • .!de yang akan dim!nit!r e cepti!n-nya diletakkan dalam bl!k tr#.

    4ika terjadi e cepti!n dalam bl!k tersebut, maka e cepti!n dilemparkan"

    • $l!k yang dia&ali dengan catc$ menangani e cepti!n tersebut"

    • $l!k yang dia&ali dengan f!nall# pada umumnya dieksekusi sebelum

    meth!de berakhir"

    Sintaks bl k tr! .. catch adalah seba"ai berikut #

    tr%{

    kode %ang dapat memunculkan e+ception}

    catch

    {

    kode untuk menangani e+ception

    }

    *9

  • 8/19/2019 Makalah Interface Ekpresi Java1

    21/28

  • 8/19/2019 Makalah Interface Ekpresi Java1

    22/28

    "nt"$ r"gra6 tr#7catc$7f!nall#

    public class 5r%6inal {

    public 5r%6inal() { } public static void main( tring!" args) { int i# ; int j#F; tr%

    { %stem.out.println(:i#: i :j#: j);

    %stem.out.println(i j); %stem.out.println(:9lok 5erakhir dari tr%:); } catch e+ception catch (7rithmetic=+ception e){ %stem.out.println(:3eterangan e+ception # : e); } fnall%{ %stem.out.println(:Bieksekusi setelah 9lok tr%:); }

    }}

    2.8. Exce t!"n T$r"% (an T$r"%&

    .ata kunci thr!& digunakan di pr!gram untuk melempar ;thr!&< e cepti!nsecara eksplisit" $entuk umum kalimat adalah,

    Thr!& Thr!&ableInstance

    Instan Thr!&able harus merupakan !byek dengan tipe Thr!&able atau subkelasdari Thr!&able" Terdapat dua cara untuk memper!leh !byek Thr!&able, yaitu,

    *" #enggunakan parameter di klausa catch

    +" #enciptakab salah satu dengan menggunakan !perat!r ne&;<

    Eksekusi pr!gram akan dihentikan segera setelah kalimat thr!&, kalimat-kalimatsetelah kalimat thr!& tidak dieksekusi" 4a5a akan melakukan inspeksi bl!k tryterdekat untuk menemukan catch yang c!c!k dengan dengan tipe e cepti!n yang

    dilempar" 4ika 4a5a menemukannya, maka kendali pr!gram ditransfer ke kalimat

    +

  • 8/19/2019 Makalah Interface Ekpresi Java1

    23/28

    itu" 4ika tidak ditemukan, maka 4a5a akan melakukan penelusuran ke bl!k berikutnya dan bila tetap tidak ditemukan, maka penanganan e cepti!n secaradefault akan menghentikan pr!gramnya"

    Penggunaan kata kunci thr!&s berhubungan erat dengan penggunaane cepti!n yang dicek !leh 4a5a" .lausa thr!&s mendaftarkan tipe-tipe e cepti!nyang dapat dilempar meth!d" 1al ini diperlukan agar diketahui semua e cepti!nyang mungkin dilempar meth!d atau subkelasnya, kecuali tipe Err!r atau)unTimeE cepti!n yang dilakukan sistem 4a5a secara !t!matis bila menemui

    pelangggaran aturan-aturan 4a5a" Semua e cepti!n yang hendak dilempar meth!dharus dideklarasikan di klausa thr!&s" 4ika meth!d melemparkan e cepti!n yangtidak dideklarasikan di deklarasi meth!d, maka k!mpilat!r akan memberi pesankesalahan"

    2.8.1 Pelak&anaan

    Secara umum, penggunaan kata kunci thr!&, yaitu, T$r"% 504ekEk&e &!9

    %bjekEksepsi disini adalah semua !byek yang merupakan turunan dari classthr!&able"

    "nt"$ Pr"gra6 'engg+nakan t$r"%

    public class Bemo=ksepsi {

    public static void method8ain() {

    tr%

    {

    thro$ ne$ 7rra%Inde+>ut>/9ounds=+ception( );

    }

    catch (7rra%Inde+>ut>/9ounds=+ception e){

    %stem.out.println(:

  • 8/19/2019 Makalah Interface Ekpresi Java1

    24/28

    }

    catch (7rra%Inde+>ut>/9ounds=+ception e){

    %stem.out.println(:

  • 8/19/2019 Makalah Interface Ekpresi Java1

    25/28

    .elas E cepti!n tidak mendefinisikan meth!d apapun di dirinya" .elas ini

    hanya me&arisi meth!d-meth!d yang disediakan kelas Thr!&able" 4ika

    diperlukan, maka meth!d-meth!d tersebut dapat di!5erride sesuai kebutuhan

    $erikut ini daftar meth!d tersebut @

    'et$"( F+ng&!Thr!&able fillStackTrace;< #engembalikan !bject Thr!&able

    yang berisi data stack trace lengkap"String get'!caliGed#essage;< #engembalikan deskripsi tentang

    eksepsi menggunakan bahasa l!kalString get#essage;< #engembalikan deskripsi tentang

    eksepsi5!id printStackTrace;< #enampilkan stack trace5!id printStackTrace;PrintStream

    stream<

    #engirim hasil dari stack trace ke

    stream yang telah ditentukan5!id printStackTrace;PrintWriter stream< #engirim hasil dari stack trace ke

    stream yang telah ditentukanString t!String;< #engembalikan deskripsi tetang tipe

    !bject eksepsi dan penjelasan tentang

    eksepsi tersebut" Akan dipanggil

    secara !t!matis ketika !bject eksepsi

    dicetak dengan meth!d println;<

    2.:.1 Pelak&anaan

    "nt"$ Pr"gra6 'e60+at Exce t!"n

    class =ksepsi3u e+tends =+ception{=ksepsi3u( tring s){

    super(s);}

    }

    class 5est=ksepsi3u {public static void method3u() thro$s =ksepsi3u {

    thro$ ne$ =ksepsi3u(:Isi =ksepsi:);}

    +3

  • 8/19/2019 Makalah Interface Ekpresi Java1

    26/28

    public static void main( tring!" args) {tr% {

    method3u();} catch (=ksepsi3u e) {

    %stem.out.println(:5erjadi eksepsi2 dari : e);}

    }}

    "nt"$ Pr"gra6 6e60+at Ek re&!

    class tring=+ception e+tends Huntime=+ception{

    * 5idak perlu memasukkan member ataupun construktor *

    }

    class 5est tring=+ception {

    public static void main( tring args!") {

    tring input # :invalid input:;

    tr% {

    i/ (input.e?uals(:invalid input:)) {thro$ ne$ tring=+ception();

    }

    %stem.out.println(: tring accepted.:);

    } catch ( tring=+ception e) {

    %stem.out.println(:I hate this string2 : input

    :.:);

    }

    }H

    +7

  • 8/19/2019 Makalah Interface Ekpresi Java1

    27/28

    BAB III

    PENUTUP

    /.1 Ke&!6 +lan

    Interface adalah kelas yang benar-benar abstrak, artinya hanya berisi

    deklarasi meth!d dan ;jika ada< k!nstanta saja" #eth!d-meth!d tersebut nantinya

    harus diimplementasikan pada real class"

    Sedangkat Paket pada 4a5a adalah mekanisme untuk mengatur 4a5a kelas

    ke ruang nama mirip dengan m!dul #!dula " Paket-paket 4a5a dapat disimpan

    dalam file yang dik!mpresi dan disebut file 4A) , memungkinkan kelas untuk

    men-d!&nl!ad lebih cepat sebagai kel!mp!k daripada satu per satu"

    E cepti!n adalah e5ent yang terjadi ketika pr!gram menemui kesalahan

    pada saat instruksi pr!gram dijalankan" $anyak hal yang dapat menimbulkan

    e5ent ini, misalnya crash, harddisk rusak dengan tiba-tiba, sehingga pr!gram-

    pr!gram tidak bisa mengakses file-file tertentu"

    Ada lima kata kunci yang digunakan !leh 4a5a untuk menanngani

    e cepti!n ini, yaitu, tr# , catc$ , f!nall# , t$r"% , dan t$r"%& "

    +

  • 8/19/2019 Makalah Interface Ekpresi Java1

    28/28

    DAFTAR PUSTAKA

    Wikipedia" + *3" 4a5a" http@>>id"&ikipedia"!rg>&iki>4a5a" 7-* -+ *3

    'yyrac" + *3" $elajar 4a5a" http@>>ja5a"lyracc"c!m>belajar>ja5a-untuk-pemula" 7-

    * -+ *3"

    2in-#alang" + **" 0un &ith 4a5a 'anguage Pr!gramaing" http@>>bl!g"uin-

    malang"ac"id>funja5a>" 7-* -+ *3

    )angsang Purnama, Tuntunan Pemr!graman 4a5a 4ilid 3J, Prestasi Pustaka,

    4akarta, + "Sinaga $"', Pemr!graman $er!rientasi %bjek dengan 4a5aJ, /a5a #edia,

    =!gyakarta, + 7"

    http://java.lyracc.com/belajar/java-untuk-pemula.%2004-10-2013http://java.lyracc.com/belajar/java-untuk-pemula.%2004-10-2013http://java.lyracc.com/belajar/java-untuk-pemula.%2004-10-2013http://java.lyracc.com/belajar/java-untuk-pemula.%2004-10-2013