FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

dokumen-dokumen yang mirip
PEMROGRAMAN BERORIENTASI OBJEK KONSEP PBO

KELAS DAN OBJEK KELAS

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

PEMROGRAMAN BERORIENTASI OBJEK OBJECT

Pemrograman C++ BAGIAN II PEMROGRAMAN BERORIENTASI OBJEK

PEMROGRAMAN BERORIENTASI OBJEK STRUCTURE & CLASS

Inheritance dan Polimorfisme

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

TAMBAHAN MATERI BAB 15 BUKU DIKLAT PEMROGRAMAN KOMPUTER 2

Pemrograman Berorientasi Objek / Object Oriented Programming / (OOP) Nur Hasanah, M.Cs

Pertemuan 11 Object Oriented Program

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

Michael Lionardi

Modul Praktikum Pemrograman Terstruktur LEMBAR PENYUSUN. Dosen Pengampu : Bambang Hermanto, M.Cs. Penyusun : Tim Asisten Pemrograman Terstruktur

Encapsulation (Encapsulasi) Minggu 5 Pemrograman Berorientasi Objek Alfa Faridh Suni

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

Pointer (Penunjuk) Modul 6

Pointer dan Referensi

BAB X. Struct Dalam C++, kita dapat membuat sebuah tipe data baru. Maka penulisan variabel baru kita akan menjadi:

Inheritance dan Polimorfisme

Pemrograman Lanjut. Constructor. Aryo Pinandito, ST, M.MT Team Teaching Pemrograman Lanjut

INTERAKSI ANTAR OBJECT

MINGGU VI : PBO (LANJUTAN)

Pemrograman Lanjut Review Class dan Object PTIIK

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

MEMBUAT KELAS SENDIRI. Dewi Sartika, M.Kom

Pemrograman Lanjut. Class : Deeper Look 2

FUNGSI II. Variabel Statis. Sifat variabel statis: Sintaks: static tipe_data nama_variabel; Contoh: static int angka;

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

Praktikum Minggu VI 1 dan 2 Dasar-dasar Object Oriented Programming PHP

Kurikulum Qt. { Basic OOP } Chapter 6. Class dan Object

Class & Object 2. Imam Fahrur Rozi

Inheritance dan Kata Kunci static

Modul II Object Oriented Programming

Pemrograman Berorientasi Objek

Variabel Class. Pertemuan 5

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

PERTEMUAN 2 PEMOGRAMAN BERORIENTASI OBJEK L/O/G/O

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

BAB VI OBYEK DAN KELAS

BAB VI OBYEK DAN KELAS

Kurikulum Qt. Chapter 5 Pointer dan References. Agenda. Apa itu Pointer? Memory Komputer. Mengambil Alamat Memory dari Variabel

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

Satuan Acara Perkuliahan (SAP) UNIVERSITAS GUNADARMA

MODUL 1. Class, Object, Constructor dan Method

Pemrograman Berorientasi. Class dan Obyek 2

BAHASA PEMROGRAMAN. Untuk SMK. Kadarisman Tejo Yuwono Totok Sukardiyono Adi Dewanto. : Ratu Amilia Avianti. Perancang Kulit

Diciptakan oleh James Gosling. Resmi diperkenalkan tahun Merupakan bahasa pemrograman berorientasi obyek murni. Pada awalnya hanya mampu

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

Bahasa Pemrograman II Modul 1 : Pemrograman Berbasis Objek

BAB 3 CLASS DAN OBJECT. Tujuan:

CLASS PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM JOGJAKARTA

Algoritma Pemrograman 1

MODUL 1. CLASS, OBJECT, CONSTRUCTOR DAN METHOD

STRUKTUR DENGAN ARRAY DAN FUNCTION

Pemograman Berorientasi Objek. Week 4 Initialization dan Instance dalam Kelas

OVERLOADING, CONSTRUCTOR DAN DESTRUCTOR. Dewi Sartika, M.Kom

Pemrograman Berorientasi Obyek (C++) Departemen Ilmu Komputer FMIPA IPB 2013

Pengenalan pemrograman berorientasi obyek

3/31/2011. Tujuan. Inheritance, Polymorphism,& Interfaces. Inheritance / pewarisan. Inheritance / pewarisan. Inheritance / pewarisan

KONTRAK PERKULIAHAN TIM KONSORSIUM

Bahasa Pemrograman 2.

Diciptakan oleh James Gosling. Resmi diperkenalkan tahun Merupakan bahasa pemrograman berorientasi obyek murni. Pada awalnya hanya mampu

Dasar-Dasar OOP di Java

PEMROGRAMAN BERORIENTASI OBJEK

5/23/12. Inheritance. Pengertian inheritance Deklarasi inheritance Single inheritance Multilevel inheritance Access Control super keyword

Classes. class class_name { permission_label_1: member1; permission_label_2: member2;... } object_name;

PENGENALAN DAN PENERAPAN OOP PADA C++

Pengenalan OOP. Object-Oriented programming (OOP) Menitikberatkan pada konsep object sebagai elemen dasar dari program.

KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut:

Object Oriented Programming (Class, Inheritance, Encapsulation dan Interface)

Array (Larik) Modul 7

Class C++ Dasar. Harimurti Widyasena Deklarasi dan Definisi

PEWARISAN D E W I S A R T I K A, M. K O M

Kurikulum Qt. Chapter 8 - Polymorphism. Polimorfisme. Problema Pewarisan Tunggal (Single Inheritance)

MODUL. Fungsi (Function) Modul Praktikum C++ Dasar Pemrograman Komputer JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK

Algoritma Pemrograman [BS204]

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

IKG2I4 / Software Project I

int fungsi_2() { int main() { fungsi_1(); fungsi_2(); return 0;

Praktikum 3 Konsep Class, Attribute dan Method

06/03/2018. Tidak memiliki parameter. Melakukan inisialisasi semua variabel private dengan nilai awal.

Membuat dan Menggunakan Class

Algoritma & Pemrograman #8. by antonius rachmat c, s.kom, m.cs

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

Komentar, Identifier, Konstanta dan Variabel

Object Oriented Programming LOGO

BAB II TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT

Tabel 1. Instruksi untuk menampilkan teks No. Bahasa Pemrograman Instruksi 1. Pascal WRITE ( Bahasa pemrograman itu mudah );

Bahasa Pemrograman :: Polimorfism and Abstraction

[Lanjutan] Nurochman

MODUL 7 FUNGSI A. Tujuan. B. Petunjuk. C. Dasar Teori

POINTER. Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN Overview. Definisi Pointer Operasi Pointer Pointer dan Argumen Fungsi

Pemograman Berorientasi Objek. Week 3 Abstrak dan Interface dalam suatu kelas

BAB 12 PEWARISAN SIFAT OBJEK

Transkripsi:

Hal 1 dari 8 A. KOMPETENSI 1. Memahami pengertian kelas dan objek 2. Mampu mendefinisikan kelas 3. Mampu mendeklarasikan objek 4. Memahami constructor dan destructor B. ALAT DAN BAHAN 1. PC/ Laptop 2. Flowchart application 3. C++ (atau bahasa pemrograman lain yang dikuasai) 4. Labsheet C. KAJIAN TEORI Kelas merupakan blueprint atau prottipe/kerangka yang mendefinisikan variabel-variabel (data) dan fungsi-fungsi (perilaku) umum dari sebuah objek tertentu. Dalam bahasa pemrograman, kelas tidak jauh berbedda dengan tipe data sederhana. Perbedaannya, tipe data sederhana digunakan untuk mendeklarasikan variabel normal, sedangkan kelas digunakan untuk mendeklarasikan sebuah variabel yang berupa objek. Pada saat kelas baru dibuat, berarti tipe data baru telah didefinisikan. Sekali didefinisikan mata tipe data baru dapat digunakan untuk membuat suatu objek dari tipe tersebut. Dengan kata lain, kelas merupakan pola (template) untuk pembuatan objek, dan objek adalah wujud nyata dari sebuah kelas. Contoh, manusia adalah kelas, sedangkan contoh objek atau wujud nyata dari kelas manusia adalah si Udin, Tono, Dewi, dll. Bentuk umum pembuatan kelas: Class nama_kelas { Access_specifier1: Data_members; Member_function;... Access_specifier2: Data_members; Member_function;...... ; Untuk mendefinisikan atau membuat implementasi fungsi-fungsi yang terdapat dalam sebuah kelas, digunakan operator ::. Bentuk umum pendefinisian fungsi: Tipe_data nama_kelas::nama_fungsi(daftara-parameter) { Statemen_yang_akan_dilakukan;... -YQ- Page 1

Hal 2 dari 8 Untuk mengakses data atau fungsi yang terdapat di dalam kelas tersebut, digunakan tanda titik. Bentuk umum pengaksesan data atau fungsi dari sebuah kelas: Nama_instance.data Atau Nama_instance.nama_fungsi(daftar_parameter) Contoh konsep pembuatan kelas dapat diperhatikan pada kode program berikut: Contoh 1: int X; // Mendeklarasikan fungsi set_x() void set_x(int XX); // Mendeklarasikan fungsi get_x() int get_x(); ; // Bagian implementasi dari fungsi set_x() void CONTOH::set_X(int XX) { X = XX; // Bagian implementasi dari fungsi get_x() int CONTOH::get_X() { return X; // Fungsi utama // Membuat instance dari kelas CONTOH // dengan nama ob CONTOH ob; // Mengakses fungsi set_x() // yang terdapat pada kelas CONTOH ob.set_x(100); // Mengakses fungsi get_x() // yang terdapat pada kelas CONTOH cout<<ob.get_x(); Constuctor dan destructor -YQ- Page 2

Hal 3 dari 8 Constructor adalah sebuah fungsi yang otomatis akan dipanggil setiap kali melakukan instansiasi terhada suatu kelas. Constructor digunakan untuk melakukan inisialisasi nilai dari data-data yang terdapat di dalam kelas bersangkutan. Seperti fugsi biasa, pada constructor dapat ditambahkan parameter ataupun dilakukan overload. Namun perlu diperhatikan bahwa nama dari fungsi constructor harus sama dengan nama kelasnya dan tidak memiliki tipe kembalian (tidak juga void). Berikut ini merupakan contoh program yang di dalamnya terdapat pembuatan kelas dengan menggunakan sebuah constructor. Contoh 2: // Membuat kelas dengan nama CONTOH int X; // Membuat constructor CONTOH() { // Melakukan inisialisasi nilai X // dengan nilai 10 X = 10; // Membuat member function cout<<"nilai X: "<<X<<endl; //... ; // dengan nama instance O // Memanggil fungsi ShowX() Keterangan: Pada program di atas, constructor dibuat dari kelas CONTOH yang namanya sama dengan kelas itu sendiri. Pada contoh ini, ketika proses instansiasi kelas CONTOH, nilai X akan diisi dengan nilai 10. -YQ- Page 3

Hal 4 dari 8 Contoh 3: // Membuat kelas dengan nama CONTOH int X; // Membuat constructor tanpa parameter CONTOH() { // Melakukan inisialisasi nilai X // dengan nilai 10 X = 10; // Membuat constructor // dengan menggunakan satu parameter CONTOH(int XX) { X = XX; // Membuat member function cout<<"nilai X : "<<X<<endl; //... ; // dengan nama instance O // dengan nama instance P CONTOH P(200); // Memanggil fungsi ShowX() P.ShowX(); Contoh 3 di atas merupakan pengembangan dari program 2, dimana di dalamnya terdapat 2 buah constructor. -YQ- Page 4

Hal 5 dari 8 Cara lain yang digunakan untuk membuat constructor adalah dengan menggunakan bentuk seperti di bawah: Int X; Int Y; //inisialisasi X = 10 dan Y = 0 CONTOH () : X (10), Y (0) { //nilai inisialisasi X dan Y //diambil dari parameter CONTOH (int XX, int YY) : X (XX), Y (YY) { ; //deklarasi fungsi-fungsi lainnya... Berikut cntoh program yang menggunakan constructor dengan bentuk di atas Contoh 4: // Membuat kelas dengan nama CONTOH int X; // Membuat constructor tanpa parameter CONTOH() : X(10) { // Membuat constructor // dengan menggunakan satu parameter CONTOH(int XX) : X(XX) { // Membuat member function cout<<"nilai X : "<<X<<endl; //... ; // dengan nama instance O // dengan nama instance P CONTOH P(200); // Memanggil fungsi ShowX() P.ShowX(); -YQ- Page 5

Hal 6 dari 8 Destructor Merupakan fungsi kebalikan dari constructor yang berguna untuk menghancurkan atau membuang sebuah objek (instance) dari memori. Nama fungsi destructor sama seperti nama kelas maupun nama constructor, akan tetapi di depannya ditambah tanda tilde ( ~ ). Destructor juga tidak memiliki tipe kembalian (tidak juga void). Contoh program yang menggunakan fungsi destructor: Contoh 5: // Membuat kelas dengan nama CONTOH int *X; // Membuat constructor CONTOH(int XX) { X = new int; // Memesan ruang memori *X = XX; // Membuat destructor ~CONTOH() { delete X; // Menghapus pointer X cout<<"nilai X : "<<*X<<endl; //... ; // Fungsi utama CONTOH O(10); -YQ- Page 6

Hal 7 dari 8 Tingkat Akses Dalam C++ penentu hak akses disebut dengan access specifier, yang berarti terdapat pembatasan akses terhadap data maupun fungsi sehingga tidak semua kelas maupun lingkungan program dapat bebas mengaksesnya. Ada 3 macam tingkat akses, yaitu: 1. Private Tingkat akses ini hanya berguna untuk memberikan hak akses data hanya pada kelas yang bersangkutan saja. Kelas-kelas turunan ataupun lingkungan luar di dalam program tidak diijinkan mengakses data tersebut. Untuk menentukan data bersifat private maka digunakan kata kunci private. Tetapi apabila kata kunci untuk tingkat akses tidak dituliskan dalam sebuah kelas maka secara default data atau fungsi tersebut dianggap sebagai data private. Contoh 6. program dengan tingkat akses private: int X; // X bersifat private void SetX(int XX) { X = XX; cout<<"nilai X: "<<X<<endl; ; // Fungsi utama O.SetX(100); -YQ- Page 7

Hal 8 dari 8 Keterangan: X bersifat private maka X hanya dapat diakses oleh fungsi-fungsi yang terdapat di dalam kelas CONTOH. Contoh kode salah/ eror saat kompilasi: //fungsi utama Int main () { O.X = 100; // salah karena mengakses bagian private dari kelas CONTOH 2. Public 3. Protected D. LANGKAH KERJA 1. Berdoalah sebelum memulai pekerjaan. 2. Baca dan pahami labsheet yang diberikan. 3. Kerjakan contoh-contoh hasil program di atas. 4. Apabila mengalami kesulitan atau pekerjaan telah selesai, konsultasikan pada dosen pengampu. 5. unggah hasil pekerjaan anda di bestmart pada mata kuliah algoritma dan struktur data. E. TUGAS 1. Pelajari dan pahami kode program di atas. 2. Buatlah algoritma dengan bahasa narasi, flowchart, pseudocode, dan program di atas. 3. Buatlah 3 algoritma dan program dengan menggunakan OOP. F. DAFTAR PUSTAKA Kajian pustaka diambil dari buku: Budi Raharjo. 2015. Pemrograman C++ Mudah dan Cepat Menjadi Master C++. Bandung: Penerbit Informatika. -YQ- Page 8