Modul 5 PBO - Class, Field, Objek, Hak Akses

Embed Size (px)

Citation preview

  • 8/16/2019 Modul 5 PBO - Class, Field, Objek, Hak Akses

    1/12

    Modul 5 PBOClass, Field, Objek, dan Hak Akses

    Daftar Isi1 Membuat Class Sendiri............................................................................................ 1

    1.1 Konsep Class dan Objek....................................................................................1

    1.2 Deklarasi Class, Field dan Objek........................................................................2

    1.3 Konensi !ak "kses...........................................................................................#

    1.3.1 !ak "kses Class..........................................................................................#

    1.3.2 !ak "kses Komponen Class.........................................................................$

    2 Soal %ati&an............................................................................................................. '

    Tujuan :

    1.Ma&asis(a mampu mema&ami tentan) konsep *lassdan objek

    2.Ma&asis(a mampu mema&ami konensi &ak akses

    3.Ma&asis(a mampu mema&ami +eld

    .Ma&asis(a mampu men)implementasikan *lass, +eld,

    objek, dan &ak akses

    #.Ma&asis(a mampu men))unakan *lass, +eld, dan

    objek, serta memban)un interfa*e -an) sesuai

  • 8/16/2019 Modul 5 PBO - Class, Field, Objek, Hak Akses

    2/12

  • 8/16/2019 Modul 5 PBO - Class, Field, Objek, Hak Akses

    3/12

    1 Membuat Class SendiriSelain men))unakan *lass -an) tela& disediakan ole& C /.0, kita ju)a dapat

    membuat *lass sendiri sesuai kebutu&an. Conto&, kita in)in membuat tipe data

    baru -an) dapat men-impan pe*a&an, -an) terdiri dari pembilan) dan pen-ebut.

    Maka, kita dapat men*iptakan sebua& *lass bernama 4e*a&an. Class ini nantin-adapat di)unakan untuk membuat objek pe*a&an, mirip seperti kita membuat

    ariabel inte)er atau double.

    1.1 Konsep Class dan ObjekClass adala& sebua& template /ran*an)an dasar untuk membuat objek, berisi

    kumpulan data /+eld dan fun)si5met&od -an) salin) ber&ubun)an. Class

    merupakan deskripsi /description dari sekumpulan objek -an) memiliki kesamaan

    atau den)an kata lain, *lass merupakan template dari objek. Objek adala&

    representasi +sik5bentuk n-ata dari Class /pen))unaan Class.

    Conto& Class6 Ma&asis(a, MataKulia&, 4la-er, nem-, 7utton, e8t7o8, dll.

    Conto& Objek dari *lass Ma&asis(a6 "ni, 7udi, utik

    • "ni, 7udi, utik masin)9masin) memiliki data5+eld 0:4, t)l la&ir, alamat, ipk

    • "ni, 7udi, utik masin)9masin) memiliki met&od 6 4inda&"lamat, ;ba&I4K,

    !itun);sia, dll.

    Conto& Objek dari *lass MataKulia&6 "lpro, 47O, 7asis Data

    • "lpro, 47O, 7asis Data masin)9masin) memiliki data5+eld KodeMk, 0amaMk,

    Sks

    • "lpro, 47O, 7asis Data masin)9masin) memiliki met&od 6 7ukaKelasMk,

     utupKelasMk, dll. Conto& Objek dari *lass 7utton6 btnSimpan, button1, btnOK 

    • btnSimpan, button1, btnOK masin)9masin) memiliki data5+eld 0ame,

    7a*kColor, e8t, dll

    • btnSimpan, button1, btnOK masin)9masin) memiliki met&od Fo*us,

    7rin)oFront, dll

    Class dapat terdiri dari komponen9komponen berikut 6• Fields• Met&ods•

    4roperties• Constru*tors• Destru*tor• Constants• Inde8ers<• Operators• ents<• Dele)ates

  • 8/16/2019 Modul 5 PBO - Class, Field, Objek, Hak Akses

    4/12

    • Classes• Interfa*es<• Stru*ts<

    < idak diajarkan pada kelas 47O, silakan bereksplorasi sendiri.1.2 Deklarasi Class, Field dan Objek;ntuk membuat *lass di C dapat dilakukan den)an *ara klik9kanan /ri)&t9*li*k=="dd==Class pada nama proje*t di Solution 8plorer >indo(.Conto&6

    Maka akan mun*ul (indo( berikut 6

  • 8/16/2019 Modul 5 PBO - Class, Field, Objek, Hak Akses

    5/12

    Ketikkan nama *lass pada te8tbo8 0ame /misal 6 Mobil.*s. Maka akanmun*ul (indo( baru -an) berisi *lass baru tsb 6

    ATURAN PENAMAAN :

    ")ar mempermuda& dalam pema&aman bersama, maka selama kulia& 47Odi(ajibkan untuk men)ikuti aturan penamaan berikut6

    Komonen

    A!u"an Penamaan Con!o#

    Class !uruf besar untuk setiap a(al kata/itleCase.

    Warna, Player,

    MhsPrestasi, MataKuliah

    Met&od !uruf besar untuk setiap a(al kata/itleCase.

    Jual, BukaKunci,

    GantiAlamat

    Field1 Dia(ali &uruf m$  diikuti &uruf besaruntuk a(al kata ke*uali kata pertama

    /*amelCase

    m_nama, m_score,m_numOfItems,

    m_jenisPemain

    Objek !uruf besar untuk a(al kata, ke*ualikata pertama /*amelCase

    andi, mkiBuka,!layerOf"heay

    Konstanta !uruf besar untuk setiap karakter/;44:C"S

    PI, J#M$A%_$&'&$,MA(_BA)I*

    Misalkan *lass Mobil memiliki 3 /ti)a +eld, -aitu nama, kapasitasan)ki, dan jum7&n7akar, maka dapat dituliskan seba)ai berikut6

    1 Di slide, disebutkan ba&(a penamaan +eld sebenarn-a bebas, selama "nda

    konsisten. ;ntuk men-era)amkan, maka k&usus pada kelas 47O, "nda di(ajibkan

    memberi pre+ks m$ ketika &endak menamai sebua& +eld.

  • 8/16/2019 Modul 5 PBO - Class, Field, Objek, Hak Akses

    6/12

    Keteran)an lebi& lanjut tentan) &ak akses dapat dili&at pada subbabberikutn-a tentan) Konensi !ak "kses.

    Kita dapat membuat5mendeklarasikan objek di dalam *lass -an) sama

    maupun di tempat lain, *onto&n-a di dalam *lass Form. Seba)ai *onto&,objek bertipe Mobil akan dibuat dalam Form frmMobil. Caramembuat5mendeklarasikan objek bertipe Mobil, maka dapat dilakukanden)an *ara seperti berikut ini 6

    Dalam *onto& tsb objek mobilku  dan mobilku dideklarasikan seba)ai objek?lobal -an) dapat diakses di semua met&od -an) dimiliki *lass frmMobil,

  • 8/16/2019 Modul 5 PBO - Class, Field, Objek, Hak Akses

    7/12

    sedan)kan objek mobilAyah dideklarasikan seba)ai objek lo*al -an) &an-adapat diakses di dalam met&od frmMobil@%oad saja.

    1.3 Konensi !ak "kses

    ;ntuk men*e)a& underalued data /data dapat diuba& siapa saja tanpabatasan, maka san)at diperlukan &ak akses. !ak akses ditetapkan den)an

    a**ess modi+er berikut6• priate• internal• prote*ted• publi*

    1.3.1 !ak "kses Class

     Aika *lass "nda tidak nested /berada dalam *lass lain, berikut adala& &ak

    akses -an) bisa diberlakukan6• publi* menandakan *lass "nda dapat diakses ole& t-pe manapun.• internal menandakan *lass "nda &an-a dapat diakses dalam satu pro)ram

    /assembl- -an) sama. Aika tidak dituliskan, &ak akses dasar -an) diberlakukan adala& internal.

    1.3.2 !ak "kses Komponen Class

    ;ntuk komponen *lass, "nda bisa men))unakan a**ess modi+er berikut6• publi*6 tidak ada batasan• prote*ted6 &an-a bisa diakses ole& -an) menjadikan *lass "nda seba)ai

    dasar5base *lass /tentan) a**ess modi+er ini akan diba&as lebi& lanjut ditopik In&eritan*e

    • internal6 &an-a bisa diakses dari assembl- -an) sama• prote*ted internal6 prote*ted O: internal• priate6 &an-a bisa diakses *lass "nda sendiri Aika a**ess modi+er tidak dituliskan, maka defaultn-a adala& priate.4ada umumn-a, *lass dapat memiliki &ak akses publi* atau internal,

    sedan)kan +eld biasan-a memiliki &ak akses priate. Field diset priate

    tujuann-a a)ar +eld tidak dapat sembaran)an diakses /diba*a maupun

    di)anti nilain-a. Met&od biasan-a memiliki &ak akses publi*.

     Aika +eld diset &ak aksesn-a menjadi priate, maka jika terjadi pen)aksesan

    ter&adap +eld tersebut di luar *lass tsb maka akan mun*ul pesan kesala&an

    -an) berisi laran)an pen)aksesan ter&adap +eld -an) memiliki &ak akses

    priate.

  • 8/16/2019 Modul 5 PBO - Class, Field, Objek, Hak Akses

    8/12

    n%a! !idak disa"ankan&&&

    Conto& pen)aksesan +eld m@kapasitasan)ki di *lass lain /frmMobil dimana

    di *lass Mobil +eld tsb memiliki &ak akses priate6

     Aika *ara tsb tidak diperbole&kan, pertan-aann-a adala& ba)aimana *ara

    men)akses +eld tersebut jika bersifat priateB Aika +eld tsb memiliki &akakses priate maka +eld tsb &an-a bisa diakses dari dalam *lass tempat +eld

    tsb dideklarasikan saja /*lass Mobil.

    "da 3 /ti)a solusi untuk dapat men)akses +eld tsb dari luar *lass 61. Membuat &ak akses +eld menjadi publi* /publi* +eld san%a! !idak 

    disa"ankan&&& 7erikut implementasi *lass dan publi* +eld seba)ai berikut 6

    7erikut implementasi obje*t *lass Mobil bernama mobil1 -an)

    merupakan objek lokal dan *ara akses publi* +eld dari *lass Mobil 6

  • 8/16/2019 Modul 5 PBO - Class, Field, Objek, Hak Akses

    9/12

    2. Men-ediakan met&od -an) dapat men)akses +eld tsb3. Men-ediakan "oe"!ies

    2 Soal %ati&anCATATAN :

    'emua !amilan ()o"m, label, !e*!bo*, dll+ da"i soal la!i#an ini !ela#

    disediakan Anda !in%%al membua! "o%"amn-a

    1. 7uatla& *lass .a"na -an) memiliki +eld9+eld seba)ai berikut 6

    Field Tie /a!a Ke!e"an%an:ed Int Intensitas (arna mera&. 7ernilai

    92##.?reen Int Intensitas (arna &ijau. 7ernilai 9

    2##.7lue Int Intensitas (arna biru. 7ernilai 9

    2##.

    SO"% 6

    Di form frmWarna -an) tela& disediakan, buatla& 2 bua& objek )lobal bertipe

    >arna /misal diberi nama (arna1 dan (arna2.

    Setela& user selesai men)isi intensitas :, ?, 7 dan menekan tombol S

    >":0"1, maka intensitas red, )reen, blue dari objek (arna1 akan terisi sesuai

    inputan. >arna latar belakan) label (arna kiri /lbl>arna1 akan beruba& sesuai

    data objek (arna1. 0ilai intensitas :, ?, 7 objek ju)a ditampilkan pada

    lbl>arnaInfo1. Demikian pula jika user menekan tombol S >":0"2, makaobjek (arna2 akan terisi sesuai inputan user, label (arna kanan /lbl>arna2

    -an) akan beruba& (arnan-a. 0ilai intensitas :, ?, 7 (arna2 ju)a ditampilkan

    pada lbl>arnaInfo2.

    Conto& tampilan setela& user men)isi data Conto& tampilan

    setela& user men)isi data

  • 8/16/2019 Modul 5 PBO - Class, Field, Objek, Hak Akses

    10/12

    dan menekan tombol S >":0"1 6 dan menekan tombol

    S >":0"2 6

    Gunakan perintah untuk set warna backColor dari label

    sebagai berikut :lblWarna1.BackColor = ystem.!rawing.Color ."romArgb#warna1.m$red% warna1.m$green%warna1.m$blue&'

    2. 7uatla& *lass Ruma# -an) memiliki -an) memiliki +eld9+eld seba)ai berikut6

    Field Tie

    /a!a

    Ke!e"an%an

    %okasi Strin) %okasi ruma& /nama peruma&an5jalan5blok

    Conto& 6 Al. :a-a Darmo 233, 4eruma&an

    CitaCitaku 7lok ?9, dll%uas tana& Double %uas tana& ruma& /dalam satuan meter perse)i

    /m2%uas ban)unan Double %uas ban)unan ruma& /dalam satuan meter

    perse)i /m2!ar)a tana& per

    meter

    %on) !ar)a tana& per meter perse)i /m2

    SO"% 6

    Di form frm(umah -an) tela& disediakan, buatla& sebua& objek )lobal bertipe:uma&.4ada (aktu user menekan tombol SIM4"0 maka isila& data objek tsb den)andata sesuai inputan user, lalu tampilkan data objek tersebut pada label lblDatasesuai format.

     ampilan frm:uma& setela& user men)isi data dan menekan tombol SIM4"06

  • 8/16/2019 Modul 5 PBO - Class, Field, Objek, Hak Akses

    11/12

    3. 7uatla& *lass Uan% -an) memiliki +eld9+eld seba)ai berikut6

    Field Tie

    /a!a

    Ke!e"an%an

    0ama mata

    uan)

    Strin) 0ama mata uan) /*onto& 6 :upia&, Sin)apore Dollar,

     Een, :in))it, ;S Dollar, dllSimbol Strin) Simbol mata uan) /*onto& 6 :p, S?D, E, :M, ;SD, dll0ominal Double 0ilai dari mata uan) /*onto& 6 3#, 12.#, 3.3#,

    dll.

    0ilai kurs %on) 0ilai konersi mata uan) tsb ke mata uan) rupia&./*onto& 6 ;SD 1 G :p H, maka nilai konersi mata uan)

    ;SD G H

    :M 1 G :p 3, maka nilai konersi mata uan) :M G 3

    :p 1 G :p 1, maka nilai konersi mata uan) :p G 1 . dst 

    SO"% 6

    Di form frm)ang -an) tela& disediakan, buatla& sebua& objek )lobal bertipe

    ;an).

    Setela& user selesai men)isi data uan) dan menekan tombol SIM4"0, maka

    nama mata uan) akan ditampilkan di lbl0amaMata;an), simbol dan nominal

    akan ditampilkan di lbl;an) den)an format -an) sesuai, dan nilai kurs akanditampilkan di lblKurs den)an format -an) sesuai pula.

    Conto& tampilan setela& user men)isi data dan menekan tombol SIM4"0 6

  • 8/16/2019 Modul 5 PBO - Class, Field, Objek, Hak Akses

    12/12