Top Banner

of 34

Pertemuan 9 Class

Apr 13, 2018

Download

Documents

yudeztyra
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 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#