Upload
ika-suryani-kusuma
View
220
Download
1
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