7/26/2019 Pertemuan 9 Class
1/34
Pemrograman BerorientasiObyek (C++)
Departemen Ilmu Komputer FMIPA IPB2013
7/26/2019 Pertemuan 9 Class
2/34
7/26/2019 Pertemuan 9 Class
3/34
Pemrograman Berorientasi
Obyek
Data/Atribut
Fungsi Anggota/Method
Fungsi Anggota/Method
7/26/2019 Pertemuan 9 Class
4/34
Objek dan Kelas Dalam PB ob!ek adala% anggota dari kelas
"class#
Conto%*
)lass * Pen!an!i a,,ob!ek * Al arreau- .alena ones- Mi)%ael Frank
)lass * Ma%asis/a
ob'ek * 0001- 0010- 0030
7/26/2019 Pertemuan 9 Class
5/34
Karakteristik PBO 4iga karakteristik utama PB*
15 6n)apsulation*
pengemasan data dan $ungsi dalam /ada%bernama ob!ek5 Data memiliki kedudukan !angsama dengan $ungsi5
25 In%eritan)e
si$at dalam ba%asa berorientasi ob!ek !angmemungkinkan si$at&si$at dari suatu kelas
diturunkan ke kelas lain35 Pol!morp%ism
sesuatu !ang sama dapat memiliki berbagaibentuk dan perilaku !ang berbeda
7/26/2019 Pertemuan 9 Class
6/34
Kompiler C++ Mi)roso$t Corporation *
Mi)roso$t C7C++ dan 8isual C++
Borland International *4urbo C++ dan Borland C++
7/26/2019 Pertemuan 9 Class
7/34
Tipe dataTipe Data Ukuran Memori Jangkauan Nilai
C%ar 1 b!te &129 %ingga +12
Int 2 b!te &329 %ingga +32
:ong b!te &25153959 %ingga
+2515395
Float b!te 35(10;&39 %ingga
35(10;+39
Double 9 b!te 15(10;&309 %ingga15(10;+309
:ong double 10 b!te 35(10;&
7/26/2019 Pertemuan 9 Class
8/34
#include using namespace std;int main(){
char kar;kar = 'A';cout
7/26/2019 Pertemuan 9 Class
9/34
Class
Departemen Ilmu Komputer FMIPA IPB
2013
7/26/2019 Pertemuan 9 Class
10/34
Struktur dan Kelas
Kelas merupakan struktur data dari ob!ek .truktur "stru)t# memiliki persamaan dengan kelas ")lass#5 Conto% struktur "deklarasi struktur#
strut Buku=
)%ar 'udul>3?@)%ar pengarang>2?@int 'umla%
Conto% )lass "deklarasi kelas# Format *
lass Buku=
)%ar 'udul>3?@
)%ar pengarang>2?@int 'umla%
7/26/2019 Pertemuan 9 Class
11/34
7/26/2019 Pertemuan 9 Class
12/34
Contoh Struct
7/26/2019 Pertemuan 9 Class
13/34
Contoh Class
7/26/2019 Pertemuan 9 Class
14/34
Access Specier (Public) pu$li% digunakan agar baris coding!ang ada di ba/a%n!a dapat
diakses dari luar kelas
)lass Buku
=
)%ar 'udul>3?@
class Buku
{
public :
char judul[35]
!
"
#ublic $en%ebabkan anggota %ang
ada di ba&ahn%a dikenal di luar
kelas Buku
'ecara ba&aan hanya dikenal
oleh kelas buku (identik dengan
pri)ate*
7/26/2019 Pertemuan 9 Class
15/34
Contoh Class - Public
7/26/2019 Pertemuan 9 Class
16/34
Access Specier (Pri!ate) pri&ate%digunakan pada kelas untuk memproteksi anggota&
anggota tertentu pada kelas- agar tidak dapat diakses di luarkelas se)ara langsung
Pada )onto% diatas pu$li% pri&ate%
Kata kun)i pri&atedapat ditiadakan karena se)ara default darikelas adala% priate Priate pada kelas dapat diibaratkan dengan suatu klub !ang %an!a
diperuntukkan bagi anggotan!a sa'a5
7/26/2019 Pertemuan 9 Class
17/34
Contoh Class - Private
7/26/2019 Pertemuan 9 Class
18/34
OOP Pada pemrograman berorientasi ob!ek- data dan $ungsi %arus
diran)ang se)ara bersamaan
Misal- terdapat data* udul buku
Eama pengarang
umla% buku
pada a/al peran)angan %arus dipikirkan $ungsi&$ungsi dasar !angdigunakan untuk mengakses ketiga data tersebut5 Fungsi&$ungsitersebut dapat berupa
Mengisikan data
Manampilkan data
Manipulasi7pdate data
7/26/2019 Pertemuan 9 Class
19/34
Next !
7/26/2019 Pertemuan 9 Class
20/34
7/26/2019 Pertemuan 9 Class
21/34
"endenisikan beberapaobyek &uku no7el8 /iksi; ika terdapat lebi% dari satu ob!ek dan ob!ek&ob!ek tersebut
memiliki kelas !ang sama- 'ata anggotapada masing&masingob!ek bersi$at terpisa%
Assignment nilai antar ob!ek "%an!a untuk data anggota !angtidak mengandung pointer#
/iksi = no7el(
7/26/2019 Pertemuan 9 Class
22/34
Deklarasi kelas sama dengan slide 20
7/26/2019 Pertemuan 9 Class
23/34
Alternati# penulisan #ungsianggota
Cara mende$inisikan $ungsi anggota Fungsi anggota dide$inisikan di 'alamdeklarasi kelas
Pada kelas %an!a terdapat deklarasi $ungsi anggota "protototipe#-sedangkan de$inisi $ungsi anggota ditempatkan di luarkelas
Pada Cara 2
&oi' Buku %% inisialisasi )"ar *Ju'ul+ "ar *Pengarang+ int Jumla",
-
strp)/u'ul+ Ju'ul,(
strp)pengarang+ Pengarang,(
/umla"0Jumla"(
1(
Nama kelas Nama fungsi anggota
+a$a anggota data kelas Buku
Return value
7/26/2019 Pertemuan 9 Class
24/34
main program sama dengan slide 20 atau 22
7/26/2019 Pertemuan 9 Class
25/34
7/26/2019 Pertemuan 9 Class
26/34
Konstruktor Konstruktor adala% $ungsi anggota !ang mempun!ai nama ang
sama 'engan nama kelas dan di'alakan se)ara otomatis saatsuatu ob!ek di)iptakan
Konstruktor ti'ak memiliki nilai $alik
Konstruktor "arus diletakkan pada bagian pu$li
Fungsi* Mengalokasikan ruang bagi sebua% ob!ek
Memberikan nilai a/al ter%adap anggota data suatu ob!ek
Membentuk tugas umum lainn!a
7/26/2019 Pertemuan 9 Class
27/34
Contoh Class - Konstruktor
Next !
7/26/2019 Pertemuan 9 Class
28/34
Contoh Class - Konstruktor
7/26/2019 Pertemuan 9 Class
29/34
$estruktor Destruktor adala% $ungsi anggota kelas !ang akan di'alankan
se)ara otomatis pada saat suatu ob!ek akan di%apus "dealokasi#
Nama 'estruktor sama seperti konstruktor- %an!a sa'adia/ali dengan karakter tak %ingga7tilde "2#
7/26/2019 Pertemuan 9 Class
30/34
Contoh Class Konstruktor Destruktor
h l k k
7/26/2019 Pertemuan 9 Class
31/34
Contoh Class Konstruktor Destruktor
7/26/2019 Pertemuan 9 Class
32/34
Konstruktor dengan Argumen
7/26/2019 Pertemuan 9 Class
33/34
Konstruktor% $estruktor dan Pengalokasian$inamis
7/26/2019 Pertemuan 9 Class
34/34
&ati'an :akukan analisis ter%adap .istem In$ormasi Akademik ".IMAK# !ang Anda
keta%ui
Buatla% )lass diagram dari .IMAK tersebut
Implementasikan )lass diagram tersebut dengan menggunakan C++ "'ikaperlu- berikan7gunakan )onto% seder%ana untuk memper'elas %asilimplementasi Anda#