Soal Latihan Obyek dan Class
14.1. Obyek dan Class
Dalam C atau bahasa pemrograman prosedural lainnya, pemrogramannya berorientasi kepada aksi, sedangkan pemrograman C++ cenderung berorientasi pada obyek. Disamping itu, unit program dalam C adalah fungsi, tetapi di dalam C++, unit program adalah kelas class dimana suatu obyek object secara mendekati kenyataan dapat diciptakan. Kelas di dalam C++ merupakan pengembangan dari notasi struct di dalam C biasa, yaitu struktur untuk mendefinisikan elemen-elemen data. Misalnya didefinisikan data tentang waktu yang terdiri dari jam, menit, dan detik sebagai berikut: struct Time { int hour; nilai jam 0 ‐ 23 int minute; nilai menit 0 ‐ 59 int second; nilai detik 0 ‐ 59 }; Definisi Time ini terdiri dari tiga buah anggota data data members yang semuanya bertipe int, yaitu hour, minute, dan second. Anggota struktur dapat terdiri dari berbagai macam tipe, kecuali tipe Time itu sendiri. Berikut adalah contoh-contoh deklarasi variabel dan akses anggota data dari struktur Time timeObyek, timeArray[ 10 ], 14.1. Obyek dan Class 14.2. Tipe Class 14.3. Deklarasi Class 14.4. Struktur dan kelas 14.5. Constructor dan destructor14.6. Overloading Constructor
14.7. Menulis Class
14.8. Reference this
14.9. Overloading Method
14.10. Access Modifier 14.11. Contoh Program Class 14.12. Soal Latihan 472 Direktorat Pembinaan SMK | 2008 timePtr; cout timeObyek.hour; mengakses data hour dari obyek cout timePtr ‐ hour; mengakses data hour dari obyek yang ditunjuk oleh pointer timePtr Untuk melakukan proses pengolahan terhadap obyek data ini diperlukan fungsi-fungsi yang ditulis secara terpisah dari definisi strukturnya. Sebagai contoh, fungsi berikut disusun untuk menuliskan obyek Time dengan bentuk hh:mm:ss. void printTime const Time t { cout t.hour 10 ? : t.hour : t.minute 10 ? : t.minute : t.second 10 ? : t.second : ; } Pada contoh ini terlihat adanya pemisahan antara data dan prosedurfungsi, yang berbeda dengan konsep pemrograman beorientasi obyek dimana antara keduanya dibungkus ke dalam satu kesatuan dengan menggunakan tipe class. Pembungkusan encapsulation inilah yang merupakan salah satu ciri utama dari pemrograman berorientasi objek.14.2. Tipe Class
Kata kunci class dalam C++ digunakan untuk memodelkan suatu obyek terdiri dari dua anggota, yaitu atribut yang direpresentasikan sebagai anggota data data members dan sifat atau operasi- operasi atau prosedur-prosedur yang direpresentasikan sebagai fungsi anggota member functions. Fungsi anggota sering disebut dengan metode pada bahasa pemrograman berorientasi objek lainnya dan digunakan untuk memberi pesan pada obyek yang bersangkutan. Setiap anggota dari obyek ini dikelompokkan berdasarkan sifat akses terhadap anggotaanggotanya, baik dari dalam obyek itu sendiri maupun dari obyek lainnya. Ada tiga sifat yang dapat diberikan, yaitu public, private, dan protected. Perhatikan contoh berikut: class Time { public: Time; default constructor void setTimeint, int, int; member function voit print; ~Time; destructor private: int hour; data member int minute; int second; }; Anggota kelompok private hanya dapat diakses oleh fungsi anggota dari kelas itu sendiri dan kelas lain yang mempunyai hubungan friend akan dijelaskan pada bab berikutnya. Hal ini berbeda dengan kelompok public yang dapat diakses dari bagian-bagian lainnya dari program, sedangkan kelompok 2008 | Direktorat Pembinaan SMK 473 protected hanya dapat diakses oleh fungsi anggota dari kelas yang bersangkutan dan kelas-kelas lain yang menjadi turunannya. Pembatasan akses itu merupakan information hiding yang berguna antara lain jika representasi data dari kelas berubah, hanya fungsi anggota bukan program dari pengguna yang perlu diambil, dan jika ada kesalahan dalam manipulasi anggota data dari kelas, hanya fungsi anggota yang perlu di-debug, bukan seluruh program. Fungsi anggota yang namanya sama dengan nama kelas disebut default constructor, dan fungsi anggota yang namanya terdiri tkita tilde “~“ diikuti dengan nama kelas disebut destructors. Constructor akan secara otomatis dipanggil oleh kompilator untuk inisialisasi obyek, sedangkan destructor akan secara otomatis dipanggil oleh kompilator untuk dealokasi memori. Nama kelas akan berlaku sebagai kata kunci penentu untuk suatu tipe data baru, misalnya dengan kelas Time tersebut dapat dibuat deklarasi variabel sebagai berikut: Time timeObyek1, timeObyek2; Pada saat deklarasi inilah diproses fungsi anggota Time yang merupakan default constructor dari kelas ini. Namun demikian, kelas tersebut belum dapat digunakan karena implementasi setiap fungsi anggota belum dibuat. Perhatikan contoh implementasi berikut dibawah ini: Time :: Time { hour = minute = second = ; } void Time :: setTime int h = , int m = , int s = { hour = h; minute = m; second = s; } voit Time :: print { cout hour 10 ? : hour : minute 10 ? : minute : second 10 ? : second : ; } Operator “::“ adalah scope- operator, yang menunjukkan bahwa fungsi yang dituliskan di belakangnya merupakan anggota dari kelas yang ditulis di depannya. Dengan demikian, misalnya void Time :: setTime h = 0, m = 0, s = 0 menunjukkan bahwa fungsi setTime merupakan anggota dari kelas Time. Suatu fungsi dalam C++ dapat dipanggil dengan nol atau lebih argumen, seperti contoh Time yang tidak mempunyai argumen, dan setTime h = 0, m = 0, s = 0 mempunyai tiga argumen dengan masing-masing mempunyai nilai default. Artinya, fungsi itu dapat dipanggil dengan beberapa cara seperti contoh berikut: setTime 10, 30, 25 ; argumen h=10, m=30, s=25 setTime 10, 30;Parts
» 1766d buku bahasa pemrograman lengkap
» Pendahuluan DASAR-DASAR PEMROGRAMAN KOMPUTER
» Perangkat Keras Komputer DASAR-DASAR PEMROGRAMAN KOMPUTER
» Erasable Read Only Memory EPROM
» Electrically Erasable ROM EEROM
» Kerja Komputer DASAR-DASAR PEMROGRAMAN KOMPUTER
» Bilangan Desimal Sistem Bilangan
» Bilangan Biner Bilangan Oktal
» Bilangan Heksadesimal Konversi Bilangan
» Data Karakter Sistem Bilangan
» Pemrograman Komputer DASAR-DASAR PEMROGRAMAN KOMPUTER
» Bahasa pemrograman DASAR-DASAR PEMROGRAMAN KOMPUTER
» Bagian Deklarasi Penulisan Bahasa pemrograman
» Statement Penulisan Bahasa pemrograman
» Element Bahasa Pemrograman DASAR-DASAR PEMROGRAMAN KOMPUTER
» Bahasa C++ DASAR-DASAR PEMROGRAMAN KOMPUTER
» Bagian Komentar Struktur Bahasa C++
» Bagian Pengarah Kompiler Struktur Bahasa C++
» Deklarasi Dan Definisi Struktur Bahasa C++
» Input Dan Output DASAR-DASAR PEMROGRAMAN KOMPUTER
» Soal Latihan DASAR-DASAR PEMROGRAMAN KOMPUTER
» Bahasa Assembly Bahasa Tingkat Tinggi
» Bahasa Generasi 3 4 Bahasa Pemrograman untuk tujuan tertentu
» Tahapan Kompilasi: Compiler dan Intepreter
» Pemrograman Terstruktur Tipe Pemrograman
» Pemrograman procedural dan terstruktur
» Algoritma BAHASA DAN ALGORITMA PEMROGRAMAN
» Ciri Algoritma BAHASA DAN ALGORITMA PEMROGRAMAN
» Penerapan Algoritma BAHASA DAN ALGORITMA PEMROGRAMAN
» Notasi Algoritma BAHASA DAN ALGORITMA PEMROGRAMAN
» Deskriptif Algoritma BAHASA DAN ALGORITMA PEMROGRAMAN
» Flow Chart BAHASA DAN ALGORITMA PEMROGRAMAN
» Pseudo code BAHASA DAN ALGORITMA PEMROGRAMAN
» Pengertian Data TIPE DATA DAN OPERATOR
» Indentifier TIPE DATA DAN OPERATOR
» Jenis Variabel Deklarasi Variabel Kelas Variabel
» Tipe Data Karakter Tipe Data
» Tipe Data String Tipe Data Bilangan Bulat
» Tipe Data Bilangan Real atau Pecahan
» Tipe Data Logika Enumerasi ENUM
» Tipe Data Larik array Tipe Data Struct, Union
» Operator Bahasa C++ TIPE DATA DAN OPERATOR
» Operator Increment dan Decrement Operator sizeof
» Operator Aritmatika Operator Binary
» Operator Relasional Operator logika
» Operator Bitwise atau manipulasi bit
» Operator Ternary TIPE DATA DAN OPERATOR
» Ungkapan Ekspresi Soal Latihan
» Operator Increment dan Decrement
» Ekspresi Matematika ++ dan - -
» Pernyataan FOR STRUKTUR PERULANGAN
» Pernyataan WHILE STRUKTUR PERULANGAN
» Perulangan DO-WHILE STRUKTUR PERULANGAN
» Pernyataan NESTED DO-WHILE STRUKTUR PERULANGAN
» Pernyataan Break STRUKTUR PERULANGAN
» Pernyataan Continue STRUKTUR PERULANGAN
» Soal Latihan STRUKTUR PERULANGAN
» Pengertian Statement STATEMENT KENDALI
» Operator Relasi STATEMENT KENDALI
» Statement IF STATEMENT KENDALI
» Pernyataan IFELSE STATEMENT KENDALI
» Pernyataan IFELSE IF STATEMENT KENDALI
» Pernyataan NESTED IF STATEMENT KENDALI
» Variabel Boolean dan Operator
» Aplikasi Pernyataan IF pada Menu
» Soal Latihan STATEMENT KENDALI
» Prosedur PROSEDUR DAN SUBROUTIN
» Parameter Prosedur PROSEDUR DAN SUBROUTIN
» Pemanggilan Prosedur PROSEDUR DAN SUBROUTIN
» Sub Routin PROSEDUR DAN SUBROUTIN
» Sub Rutin dalam Bahasa Pemrograman
» Function yang Mengembalikan Nilai
» Function yang Tidak Mengembalikan Nilai
» Call by Value dan Call by References
» Parameter dengan Nilai Default
» Overloading PROSEDUR DAN SUBROUTIN
» Soal Latihan PROSEDUR DAN SUBROUTIN
» Fungsi Void Pemanggilan Fungsi
» Pengembalian Nilai Boolean Menggunakan Fungsi dalam program menu
» Variabel Static Local FUNGSI
» Konstanta String String pada bahasa C
» Variabel String String pada bahasa C
» Fungsi strcmp Membandingkan string
» Operator logika NOT Pengurutan String
» Konversi StringNumeric OPERASI STRING
» Menguji sebuah Karakter OPERASI STRING
» Deskripsi Fungsi Karakter OPERASI STRING
» Konversi Karakter OPERASI STRING
» Menulis string OPERASI STRING
» Pointer untuk menguraikan String
» Membuat Class String Sendiri
» Pengertian Array OPERASI STRING
» Deklarasi Array OPERASI STRING
» Array Satu Dimensi Array Multi Dimensi
» Inisialisasi Array Mengurutkan Elemen Array
» Contoh Program Array OPERASI STRING
» Pengertian Rekursif OPERASI STRING
» Pengertian Teknik Iteratif Perbandingan Teknik Rekursif dan Teknik Iteratif
» Algoritma Teknik Rekursif Algoritma Teknik Iteratif
» Penerapan Algoritma Rekursif OPERASI STRING
» Penerapan Algoritma Iteratif OPERASI STRING
» Latihan Soal Pengertian Grafik
» Grafik Library OPERASI STRING
» Grafik Sederhana OPERASI STRING
» Animasi Grafik OPERASI STRING
» Dasar-dasar Game OPERASI STRING
» Pengertian File OPERASI FILE
» Hirarki class stream OPERASI FILE
» File InputOutput C++ OPERASI FILE
» Pembacaan String OPERASI FILE
» Routin-routin Konversi File OPERASI FILE
» Rutin-Rutin pada C++ OPERASI FILE
» File sekuensial OPERASI FILE
» Menulis File fread dan fwrite
» Menambah Data File Memeriksa File
» Pemrograman pointer OPERASI FILE
» Deklarasi variabel bertipe pointer
» Inisialisasi Pointer OPERASI FILE
» sizeofc; Pointer untuk fungsi
» Setelah pernyataan OPERASI FILE
» Mengakses dan Mengubah isi Pointer
» Pointer dan Array pointer to array
» Pointer dan String Array dan Pointer
» Array dari Pointer Array of Pointer
» Pointer Sebagai Parameter Fungsi Pointer Sebagai Fungsi Keluaran
» Fungsi Pointer ke Static Class Member Function
» Fungsi Pointer pada Class anggota Fungsi Non-static
» Soal Latihan Obyek dan Class
» Deklarasi Class OPERASI FILE
» Struktur dan kelas OPERASI FILE
» Constructor dan destructor OPERASI FILE
» Overloading Constructor OPERASI FILE
» Reference this Overloading Method
» Akses Protected Access Modifier
» Contoh Program Class OPERASI FILE
» Pemrograman Object-Oriented dan Prosedural
» Perbedaan Object-Oriented dan Prosedural
» Abstraksi Pewarisan Pemrograman berorientasi objek
» Immutable obyek PEMROGRAMAN BERORIENTASI OBJEK
» Pemrograman Modular Modularitas dan Abstraksi Data
» Priority Queue Modularitas dan Abstraksi Data
» Modularitas dan Penyebunyian Informasi
» Interface PEMROGRAMAN BERORIENTASI OBJEK
» Interface dan Class PEMROGRAMAN BERORIENTASI OBJEK
» Hubungan dari Interface ke Class
» Pewarisan Antar Interface Soal Latihan
» Realisasi Prosedur dan Fungsi dalam Class
» Class Private , Class Public, dan Class Protected
» Friend PEMROGRAMAN BERORIENTASI OBJEK
» Friend class PEMROGRAMAN BERORIENTASI OBJEK
» Class Basis Virtual PEMROGRAMAN BERORIENTASI OBJEK
» Inheritance between class PEMROGRAMAN BERORIENTASI OBJEK
» Multiple inheritance PEMROGRAMAN BERORIENTASI OBJEK
Show more