Teknik Pemrograman Terstruktur Linked lis & Inheritance 1/12 Pointer (Lanjutan…) Pemrograman Berorientasi Objek.

Slides:



Advertisements
Presentasi serupa
Pemrograman Berorientasi Objek
Advertisements

Pemrograman Berorientasi Objek (Project)
Pemrograman JAVA (TIB09)
Pemrograman Berorientasi Objek
Single linked list.
Nur Hayatin, S.ST Jurusan Teknik Informatika Universitas Muhammadiyah Malang Sem Genap 2010.
Modul 14 – Hendi Hermawan - 1
Object Oriented Programming
Pemrograman Berbasis Objek
LINKED LIST Single Linked List.
LINKED LIST.
LINK LIST Latifah Rifani.
Advanced Class Oleh : Nur Hayatin, S.ST Teknik Informatika – UMM 2011.
Encapsulation, Inheritance, polymorphism, dan interface
MINGGU 5 Java Programming (MKB614C)
Variabel, Method & Constructor Oleh : Nur Hayatin, S.ST Teknik Informatika – UMM 2011.
Class, Inheritance, Encapsulation & Interface
Pemrograman Berorientasi Obyek Oleh Tita Karlita
Class.
Class Member Access Control
OBJECT ORIENTED PROGRAMMING YANES HARDIANTO SUI Politeknik Manufaktur Astra 2011.
Advanced Class Oleh : Nur Hayatin, S.ST Teknik Informatika – UMM 2011.
Struktur Data List Linear : Linked List (Double Linkedlist)
Linear Data Structures (Linked List). Node Link atau pointer data field.
1 Pertemuan 6 Encapsulation Lanjutan Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
Struktur Data List Linear : Linked List (Single Linkedlist)
Inheritance Matakuliah : T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan : 4 Tahun : 2008 Versi : 1/0.
1 Pertemuan 9 Inheritance Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
Class and Object Matakuliah : XXXX / Algoritma dan Metode Object Oriented Programming II Pertemuan : 2 Tahun : 2008 Versi : 1/0.
INHERITANCE (Oleh : Nur Hayatin, S.ST)
POLYMORPHISME & OVERLOADING C++
Kelas A dapat memiliki referensi ke obyek dari kelas- kelas lain sebagai anggota. Kadang-kadang disebut sebagai hubungan “has-a”. Sebagai contoh, sebuah.
Perancangan dan Pemrograman Web
Outline: Class Objek Konstruktor Destruktor Overloading dan Tipe value
8. Singly Linear Linked List
Access Modifier.
Inheritance dan Kata Kunci static
Pemograman Berorientasi Objek
METHODS Mr. Yasri Object Oriented Program.
Outline: Pewarisan/Inheritance Polymorphism
Algoritma & Pemrograman 1
Method & Constructor METHOD.
12. Doubly Linear Linked List
Pewarisan Disusun Oleh: Reza Budiawan Untuk:
Outline: Abstract Class Interface Boxing dan Unboxing
MODIFIER JAVA.
Pertemuan 4 Class, object & Variable
Prosedur.
Polymorphism Pertemuan 23-24
KELOMPOK 9 ROBBY SETIAWAN AKBAR BAI ALIM WASSAHUA
Association, Composition dan Inheritance
MEMBUAT CLASS SENDIRI 2.
11. Singly Circular Linked List
Pertemuan 9 Pemrograman Berbasikan Objek
Pemrograman Berorientasi Objek
Membuat Kelas.
QUIS Algoritma Pemrograman I
Class.
Object Oriented Programming
Matakuliah : M0074/PROGRAMMING II Tahun : 2005 Versi : 1/0
Materi 9 Pembahasan CLASS Dalam C++
Visibility, Getter Setter, Pewarisan, Overloading dan Overriding
Subclassing and Inheritance
Object Oriented Programming
Pemrograman Berbasis Objek
Oleh : Rahmat Robi Waliyansyah, M.Kom.
@kovazzevic | SMKN 24 Jakarta
SINGLE LINKED LIST (SLL)
Encapsulation / Visibility, Getter Setter, Pewarisan, Overloading dan Overriding PBO.
DPH1C4 Pemrograman berorientasi Obyek
Transcript presentasi:

Teknik Pemrograman Terstruktur Linked lis & Inheritance 1/12 Pointer (Lanjutan…) Pemrograman Berorientasi Objek

Teknik Pemrograman Terstruktur Linked lis & Inheritance 2/12 Outline Penulisan linked list Implementasi linked list Encapsulation Inheritance dan polymorphism Constructor dan Destructor Operator overloading Friend function

Teknik Pemrograman Terstruktur Linked lis & Inheritance 3/12 Linked list Dengan Linked lists memungkinkan untuk menyimpan atau menghapus data item dimana pun Self-referential structures adalah –Structure yang mengandung pointer to structure dengan tipe data yang sama –Dapat di hubungkan (linked together) menjadi bentuk data yang lebih berguna seperti queues, stacks and trees –Diakhiri dengan pointer NULL (0) Diagram of two self-referential structure objects linked together 1015 NULL pointer (points to nothing) Data member and pointer

Teknik Pemrograman Terstruktur Linked lis & Inheritance 4/12 struct node { int data; struct node *nextPtr; } nextPtr –Menunjuk ke objek dari type node –Berlaku sebagai penghubung (link), yaitu menghubungkan antara node yang satu dengan lainnya Contoh deklarasi single linear linkedlist struct node { int data; node* next; }; class linklist { private : node* head; public : linklist() { head = NULL; } // operasi-operasi; }

Teknik Pemrograman Terstruktur Linked lis & Inheritance 5/12 CLASSES Class adalah metode logical untuk organisasi data dan fungsi dalam struktur yang sama. Dideklarasikan menggunakan keyword class, yang secara fungsional sama dengan keyword struct, tetapi dengan kemungkinan penyertaan fungsi sebagai anggota formatnya sbb : class class_name { permission_label_1: member1; permission_label_2: member2;... } object_name; Dimana : –class_name adalah nama class(user defined type) dan field optional object_name adalah satu atau beberapa identifier objek yang valid. –Body dari deklarasi berisikan members, yang dapat berupa data ataupun deklarasi fungsi. –permission labels (optional), dapat berupa satu dari tiga keyword berikut : private:, public: atau protected:

Teknik Pemrograman Terstruktur Linked lis & Inheritance 6/12 Digunakan untuk menentukan batasan akses terhadap members yang ada: –private, anggota class dapat diakses dari danggota lain pada kelas yang sama atau dari class "friend". –protected, anggota dapat diakses dari anggota class yang sama atau class friend, dan juga dari anggota class turunannya(derived). –public, anggota dapat diakses dari class manapun. –Default permission label : private CONSTRUCTOR –Objek biasanya memerlukan inisialisasi variable atau menentukan memori dinamik selama proses untuk mencapai hasil akhir yang diharapkan dan menghindari pengembalian nilai yang tidak diharapkan. –Untuk mengatasinya dapat digunakan fungsi spesial : constructor, yang dapat dideklarasikan dengan pemberian nama fungsi dengan nama yang sama untuk class. –Fungsi dari constructor ini akan dipanggil secara otomatis ketika instance baru dari sebuah class dibuat.

Teknik Pemrograman Terstruktur Linked lis & Inheritance 7/12 DESTRUCTOR –Destructor berfungsi kebalikannya. Secara otomatis akan dipanggil jika objek di keluarkan dari memory, ataupun karena keberadaannya telah selesai. –contoh : jika didefinisikan sebuah objek local dalam function dan function tersebut selesai atau karena merupakan objek yang secara dinamis ditetapkan dan dikeluarkan dengan menggunakan operator delete. –Destuctor harus mempunyai nama yang sama dengan class, diberi awalan tile (~) dan tidak mengembalikan nilai. OVERLOADING CONSTRUCTOR –Sama halnya seperti fungsi, constructor juga dapat mempunyai nama yang sama tetapi mempunyai jumlah dan tipe yang berbeda pada parameternya. –Pada saat pemanggilan kompiler akan meng- eksekusi yang sesuai pada saat objek class di deklarasikan. –Pada kenyataannya, ketika dideklarasikan sebuah class dan tidak disebutkan constructornya, maka kompiler secara otomatis akan mengasumsikan dua constructor overloaded ("default constructor" dan "copy constructor").

Teknik Pemrograman Terstruktur Linked lis & Inheritance 8/12 FUNGSI FRIEND (friend keyword) Terdapat tiga akses berbeda untuk anggota class : public, protected dan private. Untuk anggota protected dan private, tidak dapat diakses dari luar fungsi dimana mereka dideklarasikan. Namun, aturan ini dapat di lewati dengan menggunakan keyword friend dalam class, sehingga fungsi eksternal dapat mengakses anggota protected dan private suatu class. Untuk itu, harus dideklarasikan prototype dari fungsi eksternal yang akan mengakses. Secara umum kegunaan fungsi friend diluar methodology pemrograman, jadi jika memungkinkan sebaiknya menggunakan anggota dari class yang sama. CLASS FRIEND –Selain dapat mendefinisikan fungsi friend, dapat juga didefinisikan class sebagai friend dari class lainnya, sehingga memungkinkan class kedua dapat mengakses anggota protected dan private class pertama.

Teknik Pemrograman Terstruktur Linked lis & Inheritance 9/12 Inheritance Memungkinkan untuk membuat objek dari objek sebelumnya, sehingga dapat menyertakan beberapa anggota objek sebelumnya ditambah dengan anggota objeknya sendiri. Contoh, membuat class untuk mengetahui apakah segi empat (CRectangle), atau (CTriangle). Masing-masing mempunyai hal yang sama yaitu, dasar dan tinggi. Dapat direpresentasikan dengan class CPolygon kemudian diturunkan menjadi CRectangle dan CTriangle. Class CPolygon dapat berisi anggota yang dipakai untuk setiap polygon, dalam hal ini width dan height, dan CRectangle dan CTriangle adalah class turunannya.

Teknik Pemrograman Terstruktur Linked lis & Inheritance 10/12 Class turunan akan menurunkan seluruh anggota yang dimiliki oleh class dasar(parent). Jadi jika class parent mempunyai anggota A dan diturunkan pada class lain dengan anggota B, maka class turunan ini akan memiliki A dan B. Untuk menurunkan class, menggunakan operator : (colon) pada saat deklarasi. syntax: class derived_class_name: public base_class_name; Dimana –derived_class_name adalah nama dari derived class –base_class_name adalah nama dari class asal. –public dapat digantikan dengan tipe akses lainnya : protected atau private. Rangkuman tipe akses dan anggota yang bisa mengaksesnya: Accesspublicprotectedprivate members of the same classyes members of derived classesyes no not-membersyesno

Teknik Pemrograman Terstruktur Linked lis & Inheritance 11/12 Referensi Herbert Schildt, The Complete Reference C++, Fourth Edition, McGraw- Hill/Osborne Antony Pranata, Pemrograman Borland C++, Andi Offset, Yogyakarta Online Reading, www://cplusplus.com

Teknik Pemrograman Terstruktur Linked lis & Inheritance 12/12 Kesimpulan Penggunaan linklist untuk input, dan hapus data item dimana pun dengan menggunakan memory dinamis Penggunaan kemampuan C++ dalam penurunan class sehingga memungkinkan untuk mendeklarasikan objek baru dengan fitur yang sama dengan class induknya dan ditambahkan fitur lainnya Penggunaan keyword friend dalam function dan class dengan modifier private maupun protected