Pemrograman Berorientasi Objek menggunakan

Download Report

Transcript Pemrograman Berorientasi Objek menggunakan

Pemrograman Berorientasi Obyek (C++)

Departemen Ilmu Komputer FMIPA IPB 2013

C++

      C diambil sebagai landasan dari C++ Mendukung Pemrograman Berorientasi Obyek (PBO) Bersifat Reusability (kemudahan untuk digunakan kembali pada program-program lain) Ditulis dengan ektensi .CPP .CPP + .H → dikompile .OBJ Dengan file obyek lain + .LIB menjadi satu oleh linker → → dikaitkan file executable (.EXE)

Pemrograman Berorientasi Obyek

Data/Atribut Fungsi Anggota/Method Fungsi Anggota/Method

Objek dan Kelas

  Dalam PBO → (class) obyek adalah anggota dari kelas Contoh: class : Penyanyi Jazz obyek : Al Jarreau, Salena Jones, Michael Frank class : Mahasiswa objek : G64076001, G64076010, G64076030

Karakteristik PBO

 1.

2.

3.

Tiga karakteristik utama PBO: Encapsulation : pengemasan data dan fungsi dalam wadah bernama obyek. Data memiliki kedudukan yang sama dengan fungsi.

Inheritance sifat dalam bahasa berorientasi obyek yang memungkinkan sifat-sifat dari suatu kelas diturunkan ke kelas lain Polymorphism sesuatu yang sama dapat memiliki berbagai bentuk dan perilaku yang berbeda

Kompiler C++

 Microsoft Corporation : Microsoft C/C++ dan Visual C++  Borland International : Turbo C++ dan Borland C++

Tipe data

Tipe Data Ukuran Memori

Char Int Long 1 byte 2 byte 4 byte Float 4 byte Double Long double 8 byte 10 byte

Jangkauan Nilai

-128 hingga +127 -32768 hingga +32767 -2.147.438.648 hingga +2.147.438.647

3.4x10^-38 hingga 3.4x10^+38 1.7x10^-308 hingga 1.7x10^+308 3.4x10^-4932 hingga 1.1x10^4932

#include using namespace std; int main() { char kar; kar = 'A'; cout << "Isi Kar = " << kar << "\n"; int bil; bil = 32763; cout << "Isi Bil = " << bil << "\n"; long jum_penduduk; jum_penduduk = 170123456; cout << "Jumlah Penduduk = " << jum_penduduk << "\n"; float flo; flo = 1.23e2; cout << "Isi Flo = " << flo << "\n"; int jumlah = 10; cout << "Isi Jumlah = " << jumlah << "\n"; } system("PAUSE"); return 0;

Class

Departemen Ilmu Komputer FMIPA IPB 2013

Struktur dan Kelas

   Kelas merupakan struktur data dari obyek Struktur (struct) memiliki persamaan dengan kelas (class).

Contoh struktur (deklarasi struktur)

struct Buku

{ char judul[35]; char pengarang[25]; int jumlah; };  Contoh class (deklarasi kelas)

class Buku

{ char judul[35]; char pengarang[25]; int jumlah; } Format :

 Mendefinisikan/create suatu variable (struct) atau obyek (class) Buku novel;  Kebanyakan pemrograman C++ menggunakan nama kelas dengan awalan huruf kapital

Contoh Struct

Contoh Class

Access Specifier (Public)

public: digunakan agar baris coding yang ada di bawahnya dapat diakses dari luar kelas class Buku { char judul[35]; … } Secara bawaan

hanya dikenal oleh kelas buku

(identik dengan private) } { class Buku public : char judul[35]; … Public menyebabkan anggota yang ada di bawahnya

dikenal di luar kelas Buku

Contoh Class - Public

Access Specifier (Private)

private: digunakan pada kelas untuk memproteksi anggota anggota tertentu pada kelas, agar tidak dapat diakses di luar kelas secara langsung  Pada contoh diatas public:

private:

 Kata kunci private dapat ditiadakan karena secara default dari kelas adalah private  Private pada kelas dapat diibaratkan dengan suatu klub yang hanya diperuntukkan bagi anggotanya saja.

Contoh Class - Private

OOP

 Pada pemrograman berorientasi obyek, data dan fungsi harus dirancang secara bersamaan Misal, terdapat data:  Judul buku   Nama pengarang Jumlah buku pada awal perancangan harus dipikirkan fungsi-fungsi dasar yang digunakan untuk mengakses ketiga data tersebut. Fungsi-fungsi tersebut dapat berupa    Mengisikan data Manampilkan data Manipulasi/Update data

Next !

Mendefinisikan beberapa obyek

 

Buku novel, fiksi;

Jika terdapat lebih dari satu obyek dan obyek-obyek tersebut memiliki kelas yang sama, data anggota pada masing-masing obyek bersifat terpisah  Assignment nilai antar obyek (hanya untuk data anggota yang tidak mengandung pointer)

fiksi = novel ;

Deklarasi kelas sama dengan slide 20

Alternatif penulisan fungsi anggota

  Cara mendefinisikan fungsi anggota  Fungsi anggota didefinisikan di dalam deklarasi kelas  Pada kelas hanya terdapat deklarasi fungsi anggota (protototipe), sedangkan definisi fungsi anggota ditempatkan di luar kelas Pada Cara 2

Nama kelas Nama fungsi anggota

void Buku :: inisialisasi (char *Judul, char *Pengarang, int Jumlah)

Return value

{ strcpy(judul, Judul); strcpy(pengarang, Pengarang); jumlah=Jumlah; };

Nama anggota data kelas Buku

main program sama dengan slide 20 atau 22

Konstruktor dan Destruktor

Departemen Ilmu Komputer FMIPA IPB 2013

Konstruktor

 Konstruktor adalah fungsi anggota yang mempunyai nama yang sama dengan nama kelas dan dijalakan secara otomatis saat suatu obyek diciptakan  Konstruktor tidak memiliki nilai balik  Konstruktor harus diletakkan pada bagian public  Fungsi:   Mengalokasikan ruang bagi sebuah obyek Memberikan nilai awal terhadap anggota data suatu obyek  Membentuk tugas umum lainnya

Contoh Class - Konstruktor Next !

Contoh Class - Konstruktor

Destruktor

 Destruktor adalah fungsi anggota kelas yang akan dijalankan secara otomatis pada saat suatu obyek akan dihapus (dealokasi)  Nama destruktor sama seperti konstruktor, hanya saja diawali dengan karakter tak hingga/tilde (~)

Contoh Class – Konstruktor Destruktor

Contoh Class – Konstruktor Destruktor

Konstruktor dengan Argumen

Konstruktor, Destruktor dan Pengalokasian Dinamis

Latihan

   Lakukan analisis terhadap Sistem Informasi Akademik (SIMAK) yang Anda ketahui Buatlah class diagram dari SIMAK tersebut Implementasikan class diagram tersebut dengan menggunakan C++ (jika perlu, berikan/gunakan contoh sederhana untuk memperjelas hasil implementasi Anda)