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
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)