350 likes | 623 Vues
Pemrograman Berorientasi Obyek (C++). Departemen Ilmu Komputer FMIPA IPB 20 1 3. 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
E N D
Pemrograman Berorientasi Obyek (C++) Departemen Ilmu KomputerFMIPAIPB 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 → dikaitkan menjadi satu oleh linker → file executable (.EXE)
Pemrograman Berorientasi Obyek obyek Data/Atribut Fungsi Anggota/Method Fungsi Anggota/Method
Objek dan Kelas • Dalam PBO → obyek adalah anggota dari kelas (class) • Contoh: class : Penyanyi Jazz obyek : Al Jarreau, Salena Jones, Michael Frank class : Mahasiswa objek : G64076001, G64076010, G64076030
Karakteristik PBO • 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++
#include <iostream> 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 KomputerFMIPAIPB 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) Format : class Buku { char judul[35]; char pengarang[25]; int jumlah; }
Mendefinisikan/create suatu variable (struct) atau obyek (class) Buku novel; • Kebanyakan pemrograman C++ menggunakan nama kelas dengan awalan huruf kapital
Access Specifier (Public) • public: digunakan agar baris coding yang ada di bawahnya dapat diakses dari luar kelas class Buku { char judul[35]; … } class Buku { public : char judul[35]; … } Secara bawaan hanya dikenal oleh kelas buku (identik dengan private) Public menyebabkan anggota yang ada di bawahnya dikenal di luar kelas Buku
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.
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
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;
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 void Buku :: inisialisasi (char *Judul, char *Pengarang, int Jumlah) { strcpy(judul, Judul); strcpy(pengarang, Pengarang); jumlah=Jumlah; }; Nama kelas Nama fungsi anggota Return value Nama anggota data kelas Buku
Konstruktor dan Destruktor Departemen Ilmu KomputerFMIPAIPB 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 !
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 (~)
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)