Pemrograman C++ BAGIAN II PEMROGRAMAN BERORIENTASI OBJEK

Ukuran: px
Mulai penontonan dengan halaman:

Download "Pemrograman C++ BAGIAN II PEMROGRAMAN BERORIENTASI OBJEK"

Transkripsi

1 BAGIAN II PEMROGRAMAN BERORIENTASI OBJEK

2 BAB 10 KONSEP DASAR OOP 10.1 Pendahuluan Salah satu alasan Bjarne Stroustrup menciptakan bahasa C + + adalah untuk menambahkan kemampuan OOP (Object Oriented Programming) di dalam bahasa C, sehingga mula-mula dia menyebutnya sebagai bahasa "C dengan kelas". Mungkin dalam buku lain, Anda pernah membaca pembahasan mengenai-materi ini dengan istilah 'pemrograman berarah objek'. Namun di dalam buku ini istilah yang akan kita gunakan adalah 'OOP' dengan alasan istilah ini lebih lazim dipakai dan dikenali. OOP bukanlah sebuah bahasa pemrograman melainkan sebuah cara untuk menjadikan program yang kita buat menjadi lebih modular karena suatu permasalahan akan dikumpulkan dalam satu objek, yang selanjutnya akan disebut dengan kelas. Pembahasan lebih lanjut mengenai kelas dan objek ini baru akan diungkap pada bab selanjutnya dalam buku ini. Dengan kata lain, dalam bab ini hanya akan membahas pengenalan dan konsep dasar dari OOP sehingga Anda akan lebih mudah untuk memahami materi yang terdapat pada bab-bab selanjutnya. Bahasa C merupakan bahasa yang telah diakui keunggulannya dan penggunaannya sudah melebar di seluruh dunia. Maka dari itu, dengan kemampuan OOP yang terdapat di dalamnya, C++ tentu menjadi bahasa yang istimewa. Bab 10: Konsep-konsep Dasar OOP

3 Dalam C+ +, kita dapat membuat program yang bersifat modular dengan memasukkan unsur-unsur OOP, namun dibalik itu kita juga tidak meninggalkan kemampuan-kemampuan yang terdapat dalam bahasa C. Pembentukan C++ sendiri diinspirasi oleh bahasa pemrograman lain yang juga mendukung OOP, yaitu Simula Pemrograman Prosedural dan OOP OOP merupakan bentuk penyederhanaan dari bahasa prosedural sehingga program akan lebih mudah dikembangkan. Dalam bahasa prosedural, untuk menyelesaikan salah satu masalah dalam program, kita harus membuat banyak fungsi yang tentunya akan memakan waktu dan konsentrasi kita. Dengan kata lain, dalam bahasa prosedural kita akan lebih difokuskan dengan 'Bagaimana cara membuat?', bukanlah 'Apa yang akan kita buat?'. Menurut sumber yang ada di buku lain, satu buah program yang ditulis menggunakan bahasa C rata-rata berisi sampai baris kode. Hal ini tentu akan menyebabkan program tersebut menjadi sangat kompleks dan susah untuk dipahami alurnya. Karena alasan inilah C++ diciptakan dengan tujuan dapat menyederhanakan program tersebut dengan cara memecahnya ke dalam sub-sub program yang dinamakan dengan kelas. Kelas itu sendiri kemudian dapat digunakan ulang dalam pembuatan program lain tanpa harus melakukan pengkodean ulang. Melalui cara ini, tentu kita dapat lebih berkonsentrasi ke arah pembentukan program sehingga waktu yang dibutuhkan juga akan lebih cepat. Untuk dapat lebih memahami perbedaan antara pemrograman prosedural dengan OOP, perhatikanlah gambar berikut. Datal Data2 DataN Fungsi 1Q Fungsi2Q Fungs in() Data A DataB Fungs ia() FungsiBQ Bahasa Prosedural Fungsi utamaq Objekl Objek2 OOP Fungsi utamaq Untuk mengilustrasikan hal tersebut, di bawah ini terdapat dua contoh program yang masing-masing ditulis dalam bahasa C dan bahasa C+ +. Hal ini dimaksudkan untuk melihat perbedaan yang ada pada bahasa prosedural dan OOP. a. Program yang ditulis dalam bahasa C #include <stdio.h> Kode Program 10-1 // Mendeklarasikan variabel-variabel global int A, B, C; // Membuat prototype fungsi yoid set_a(int AA); int get_a(); void set_b(int BB); int get_b{); void set_c{int CO; int get_c(); // Mendefinisikan fungsi utama int main(void) { // Melakukan pemanggilan fungsi set_a{10); set_b(20); Bab 10: Konsep-konsep Dasar OOP

4 set_c(30); // Menampilkan nilai printf("nilai A printf("nilai B : %d\n f printf("nilai C // Bagian implement as i dari fungsi // yang terdapat pada bagian prototype void set_a(int AA) { A = AA; int get_a{) { return A; void set_b(int BB) { B = BB; int get_b() { return B; void set_c(int CC) { C = CC; int get_c() return C;1 Hasil yang akan diberikan dari program di atas adalah sebagai Nilai A : 10 Nilai B : 20 Nilai C : 30 // Membuat kelas dengan nama class KELAS2 { int B; void set_b(int BB); int get_b(),- void show_b(); // Membuat kelas dengan nama KELAS3 class KELAS3 { int C; void set_c(int CC); int get_c(); void show_c(); // Implementasi dari fungsi yang terdapat pada KEL1 void KELAS1::set_A(int AA) { A = AA; int KELAS1::get_A() { return A; void KELAS1::show_A() { cout«"nilai A : n «A«endl; // Implementasi dari fungsi yang terdapat pada KELAS3 void KELAS2::set_B(int BB) { b. Program yang ditulis dalam bahasa C+ + #include <iostream> Kode Program 10-2 // Membuat kelas dengan nama KELAS1 class KELAS1 { int A; ; void set_a(int AA); int get_a(); void show_a(); Pemrograman int KELAS2 : : get_b ( ) { return B; void KELAS2 : : show_b ( ) { cout«"nilai B : w «B«endl; // Implementasi dari fungsi yang terdapat pada KELAS3 void KELAS3::set_C(int CC) { C = CC; int KELAS3::get_C() { return C; Bab 10: Konsep-konsep Dasar OOP

5 void KELAS3::show_C() cout«"nilai C : // Mendefinisikan fungsi utama // Mendeklarasikan objek OBI, OB2 dan OB3 KELAS1 OBI; // OBI bertipe KELAS1 KELAS2 OB2; // OB2 bertipe KELAS2 KELAS3 OB3; // OB3 bertipe KELAS3 // Melakukan pengesetan nilai OBl.set_A{10); OB2.set_B(20); OB3.set_C(30); // Menampilkan nilai OBI.show_A(}; OB2.show_B{); OB3.show_C(); Apabila Anda masih belum memahami program di atas karena terdapat kata kunci class, Anda tidak perlu khawatir karena semua itu akan kita bahas pad bab selanjutnya dalam buku ini. Adapun hasil yang akan diberikan dari program di atas adalah sama seperti program yang ditulis dalam bahasa C di atas, yaitu sebagai Nilai A : 10 Nilai B : 20 Nilai C : 30 Seperti yang kita lihat di atas bahwa pada bahasa C + +, kita dapat menciptakan sebuah kelas yang menyimpan data dan fungsi tertentu tanpa hams mendeklarasikan variabel global seperti yang terdapat pada program sebelumnya (dalam bahasa C) Ciri Dasar dari OOP Semua bahasa pemrograman yang mendukung OOP haruslah mempunyai kemampuan untuk dilakukan abstraksi, pembungkusan, pewarisan sifat dan polimorfisme. Karena alasan itu, item-item di atas kemudian dijadikan sebagai ciri dari bahasa yang mendukung OOP. Adapun penjabaran dari masing-masing ciri di atas dapat Anda lihat di bawah ini Abstaksi (Abstraction) Abstraksi adalah proses pengabstrakan atau penyembunyian detail program yang sangat rumit sehingga kita tidak perlu untuk mempermasalahkan pembuatannya. Kita hanya perlu objek tersebut dapat kita gunakan sesuai fungsinya. Sebagai contoh, lihatlah sebuah objek di sekitar kita, misalnya mobil. Pembuat mobil tidak perlu mendefinisikan cara pembuatannya, di sini berarti dia telah mengabstraksikan proses yang terdapat di dalamnya. Yang penting bagi kita adalah mobil tersebut dapat kita gunakan sebagaimana mestinya. Hal ini tidaklah berbeda dengan pengabstrakan suatu fungsi yang terdapat pada sebuah kelas di dalam program Pembungkusan (Encapsulation) Pembungkusan yang dimaksud di sini adalah sebuah proses penggabungan antara data-data dan > Data Members fungsi-fungsi yang berkaitan ke dalam sebuah objek. Member Functions Dengan demikian, kita dapat membuat program yang terintegrasi, tanpa harus mendeklarasikan variabel-variabel yang bersifat eksternal. Adapun istilah yang digunakan untuk menyebut data-data yang terdapat dalam suatu objek adalah data members, sedangkan fungsi-fungsi yang terdapat di dalamnya dikenal dengan istilah member functions. Untuk lebih memahaminya, perhatikan gambar di samping ini. Bab 10: Konsep-konsep Dasar OOP

6 Pewarisan (Inheritance) Dalam OOP, kita dapat menciptakan objek bam yang diturunkan dari objek lain. Objek bam ini sering disebut dengan objek turunan (derived class) sedangkan objek induknya sering disebut dengan ancestor (base class). Sifat yang terkandung pada objek turunan adalah sifat hasil pewarisan dari sifat-sifat yang terdapat pada objek induk. Maka dari itu proses seperti ini sering dikenal dengan istilah pewarisan (inheritance). Dengan fitur seperti ini, kita dapat membuat objek bam yang memiliki kemampuan lebih dibanding objek induknya, yaitu dengan cara menambahkan sifat-sifat baru ke dalam objek tersebut. Materi pewarisan ini akan kita bahas pada bab tersendiri di dalam buku ini, yaitu bab mengenai pewarisan sifat objek. Dengan kata lain, di sini hanya mengungkap pengenalannya saja Polimorfisme (Polymorphism) Polimorfisme adalah proses kebanyakrupaan, artinya kita dapat mengimplementasikan sesuatu hal yang berbeda melalui satu cara yang sama. Untuk mengerti hal ini, coba Anda perhatikan suatu objek, misalnya penyanyi. Sebagai contoh terdapat 5 orang penyanyi (dj dalam program dianggap sebagai 5 buah objek), kemudian kelimanya kita perintahkan untuk bernyanyi, maka hasil atau implementasinya tentu akan berbeda sesuai dengan karakteristik suara dari masing-masing penyanyi tersebut. Dalam OOP, hal ini disebut dengan istilah polimorfisme. Bagian ini akan kita bahas lebih detil melalui bab tersendiri, yaitu bab tentang fungsi virtual dan polimorfisme. BAB 11 KELAS DAN OBJEK 11.1 Pendahuluan ^ov Kelas dibuat untuk merepresentasikan sebuah objek tertentu sehingga akan membantu dalam proses penyelesaian masalahmasalah kompleks. Apabila kita amati, pendefinisian sebuah kelas itu sebenarnya sama saja dengan pembuatan tipe data baru. Sebagai contoh, kita dapat membuat tipe-tipe yang berkaitan dengan suatu objek, seperti mobil, rumah, karyawan dan banyak lagi lainnya. Kita bisa saja menggunakan tipe data dasar seperti int dan char tanpa membuat sebuah kelas, namun hal itu tentu akan menyulitkan dalam proses penulisan kode program. C++ menawarkan sebuah metode baru yang tidak dimiliki oleh bahasa C, yaitu kemampuan untuk melakukan pembungkusan datadata dan fungsi-fungsi tertentu yang saling berkaitan dengan suatu objek ke dalam satu kelas khusus. Sebagai contoh, kita akan membuat kelas mobil, maka semua data dan kelakuan-kelakuan yang dimiliki oleh mobil akan dibungkus ke dalam kelas tersebut.

7 11.2 Apaltu Kelas? Seperti yang telah disinggung sebelumnya bahwa kelas adalah bentuk penyederhanaan dari suatu permasalahan yang berkaitan dengan objek. Maka dari itu kelas dapat didefinisikan sebagai sesuatu yang mempunyai data (sifat) dan fungsi (kelakuan). Apabila sebelumnya Anda pernah mempelajari bahasa pemrograman visual seperti C + +Builder, Delphi, Power Builder, Visual Basic dan yang lainnya, Anda tentu akan selalu berhubungan dengan kelas. Namun data-data yang terdapat di dalam kelas tersebut akan dinamakan property sedangkan fungsifungsinya akan dinamakan method. Anda tidak perlu bingung karena ini hanya masalah penamaan saja, namun konsep yang terdapat di dalamnya adalah sama. Kelas masih bersifat abstrak, maka dari itu kita harus melakukan instansiasi dari kelas tersebut, selanjutnya instance (contoh nyata atau perwujudan) dari kelas tersebut juga sering dinamakan dengan objek. Sebagai contoh, manusia adalah suatu kelas, maka instance atau objek dari kelas manusia adalah Udin, Dewi, Sandra dan yang lainnya Membuat Kelas Dalam C + +, kelas dibuat dengan menggunakan kata kunci class. Adapun bentuk umum pembuatannya adalah seperti tampak di bawah ini. class nama_kelas { access_specifieri * da t a_jmembers/ member functions; a.ccess specifier21 da ta_jtnembers / member_functions; Untuk mendefinisikan atau membuat implementasi fungsi-fungsi yang terdapat dalam sebuah kelas, kita menggunakan operator : :. Berikut ini bentuk umum dari pendefinisian fungsi tersebut. tipe_data nama_kelas::nama_fungsi(daftar_parameter) Statemen yang akan dllakukan; Sedangkan untuk mengakses data atau fungsi yang terdapat di dalam kelas tersebut, kita menggunakan tanda titik. Berikut ini bentuk umum dari proses pengaksesan data atau fungsi dari sebuah kelas. nama^instance.data '- -B^PppppH^ atau nama_instance.nama_ ungai Cda tar_parainete Untuk lebih memahaminya, berikut ini contoh program yang di dalamnya terdapat pembuatan sebuah kelas. firiclude <iostream> Kode Program 11-1 ; void set_x(int XX); // Mendeklarasikan fungsi set_x int get_x(); // Mendeklarasikan fungsi get_x // Bagian implementasi dari fungsi set X void CONTOH::set_X(int 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 () ;

8 Constructor dan Destructor Constructor adalah sebuah fungsi khusus yang otomatis akan dipanggil setiap kali melakukan instansiasi terhadap suatu kelas. Constructor digunakan untuk melakukan inisialisasi nilai dari datadata yang terdapat di dalam kelas bersangkutan. Sama halnya seperti fungsi biasa, pada contructor juga dapat ditambahkan parameter ataupun dilakukan overload. Namun perlu diperhatikan bahwa nama dari constructor haruslah sama dengan nama kelasnya dan tidak memiliki tipe kembalian (tidak juga void). Berikut ini contoh program yang di dalamnya terdapat pembuatan kelas dengan menggunakan sebuah constructor. #include <iostream> // Membuat kelas dengan nama. CONTOH // Membuat constructor CONTOH () { X = 10; // Melakukan inisialisasi nilai X dengan nilai H // Membuat member function void ShowXO { cout«"nilai X : n «X«endl; int main O { // Melakukan instansiasi terhadap kelas CONTOH // dengan nama instance O CONTOH.O; // Memanggil fungsi 0.ShowX() Program di atas akan merhberikan hasil seperti yang tampak di bawah ini. Nilai X : 10 Seperti yang telah dikemukakan sebelumnya bahwa4*%js8gfi&jlapat melakukan overload terhadap fungsi constructor?'- Eteip;^ ini program yang merupakan pengembangan dari program di atas dimana di dalamnya terdapat dua buah fungsi constructor. # i nc 1 ude < i o s t r eam> Kode Program 11-3 // Membuat kelas dengan nama CONTOH public : // Membuat constructor tanpa parameter CONTOH ( ) { X = 10; // Melakukan inisialisasi nilai X dengan nilai 10 // Membuat constructor dengan menggunakan satu parameter CONTOH(int XX) { X = XX?.// Membuat member function void ShowXO { cout«"nilai X : "«X«endl; Lnt main () { // Melakukan instansiasi terhadap kelas CONTOH s// dengan nama instance 0 CONTOH 0; // Melakukan instansiasi terhadap kelas CONTOH //dengan nama instance P CONTOH P(200);

9 I// Memanggil fungsi Sh O.ShowXO ; P.ShowX(); ) ^ i Nilai X : 10 Nilai X : 200 Cara lain yang banyak digunakan pada C + + standar untuk membuat constructor adalah dengan menggunakan bentuk seperti berikut. Class CONTOH { "irit.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... Untuk lebih memahaminya, coba Anda perhatikan contoh program di bawah ini yang merupakan modifikasi dari program sebelumnya. Di sini kita akan membuat constructor menggunakan bentuk kedua yang baru saja kita bahas. ttinclude <iostream> Kode Program 11-4 // Membuat kelas dengan nama CONTOH : // Membuat constructor tanpa parameter CONTOH() : X(10) { " ; // Membuat constructor dengan menggunakan satu parameter CONTOH(int XX) :;X(XX) { ' Pemrograman C+^ // Membuat member function void ShowX(} { COut«"Nilai X : "«X«end int main () { // Melakukan instansiasi terhadap kelas CONTOH // dengan nama instance O CONTOH 0; // Melakukan instansiasi terhadap kelas CONTOH // dengan nama instance P CONTOH P(200); // Memanggil fungsi ShowX 0.ShowX(); P.ShowX(); return Jika dijalankan, program di atas akan memberikan hasil yang sama seperti program sebelumnya. Setelah mengetahui pengertian constructor, sekajang kita akan membahas tentang destructor. Destructor sendiri adalah fungsi yang merupakan kebalikan dari constructor, yaitu berguna untuk menghancurkan atau membuang sebuah objek (kelas) dari memori. Fungsi ini juga akan dipanggil secara otomatis ketika program telah selesai dijalankan. Adapun nama dari destructor adalah sama seperti nama kelas maupun nama constructor, hanya di depannya ditambahkan tanda tilde (' '). Destructor juga tidak memiliki tipe kembalian (tidak juga void). Berikut ini contoh program yang menunjukkan penggunaan destructor. #include <iostream> Kode Program 11-5 // Membuat kelas dengan nama CONTOH int *X; // Membuat constructor CONTOH(int XX) {

10 // Membuat dest ~CONTOH() { delete X; void ShowX() { cout«"nilai X // Fungs! utama CONTOH 0(10); 0. ShowXO ; // Memesan ruang mernori r // Menghapus pointer X; «*X«endl; I ^VIMHMHHHHHHHHi Apabila dijalankan, program di atas akan memberikan hasil seperti Nilai X : 10 Tampak pada sintaks program di atas bahwa kita mengalokasikan sebuah pointer di dalam constructor dari kelas CONTOH. Maka dari itu, di dalam destructor kita harus melakukan dealokasi terhadap memori yang telah dipesan tersebut Tingkat Akses Sejauh ini kita telah banyak menggunakan kata kunci public dalam pendefinisian kelas-kelas di atas tanpa mengetahui apa arti yang terkandung di dalamnya. Sebenarnya kata kunci tersebut merupakan sebuah pemberian hak akses terhadap data-data di dalam suatu kelas sehingga disebut dengan access specifier. Artinya akan terdapat pembatasan akses terhadap data-data tersebut sehingga tidak semua kelas maupun lingkungan program dapat bebas mengaksesnya. Dalam C + +, terdapat tiga buah tingkat akses, yaitu private, public, dan protected yang masing-masing akan kita bahas di dalam bagiari ini Private Tingkat akses ini berguna untuk memberikan hak akses data hanya kepada kelas yang bersangkutan saja. Artinya kelas-kelas turunan ataupun lingkungan luar di dalam program tidak diizinkan untuk mengakses data tersebut. Dalam C+ +, untuk menentukan data tersebut bersifat private, maka kita harus menggunakan kata kunci private. Secara default, jika kita tidak menuliskan tingkat akses dalam pendeklarasian data dalam sebuah kelas, maka data-datanya akan dianggap sebagai data private. Berikut ini gambaran pendefinisian sebuah kelas yang menggunakan tingkat akses private. int Y; private: int Z; // Secara default, X akan bersifat // private // Y akan bersifat public // Z akan bersifat private Untuk lebih memahami konsepnya, perhatikanlah contoh program berikut ini. #include <iostream> // X bersifat private public : void SetXfint XX) {..} void ShowXO { cout«l 'Nilai X : "«X«endl; // Fungs i utama int maino {

11 CONTOH 0 O.SetXd 0.ShowX() berikut : Nilai X : 100 Seperti yang kita lihat di atas bahwa X bersifat private dan dia hanya dapat diakses oleh fungsi-fungsi yang terdapat di dalam kelas tersebut. Dengan kata lain, lingkungan luar maupim kelaskelas lain tidak diizinkan untuk mengakses X. Berikut ini contoh yang tidak dibenarkan. // Fungs! utama int main ( ) { oibl i c: void SetX(int XX) { int KuadratX() { return X * X; // Fungsi utama CONTOH 0; ' : int hasil; // Melakukan pemanggilan terhadap fungsi-fungsi di dal // kelas CONTOH O.SetX(lO); hasil = 0. KuadratX (},- cout«"hasil : u «hasil; return 0 ; // SALAH, karena mengakses bagian private // dari kelas CONTOH Hasil: Public Tingkat akses ini berfungsi untuk memberikan hak akses secara umum (public] kepada kelas-kelas turunannya maupun terhadap lingkungan luar di dalam program. Bagian ini biasanya berisi fungsi-fungsi yang akan dijadikan sebagai penghubung (interface) dari bagian private suatu kelas dengan lingkungan luar. Berikut ini contoh program yang menggambarkan penggunaan kata kunci public dalam pendefinisian sebuah kelas. Mnclude <iostream> Seperti yang kita lihat bahwa kita dapat memanilupasi nilai X (yang bersifat private) dari lingkungan luar melalui fungsi-fungsi penghubung yang ditempatkan pada bagian public (yaitu fungsi SetX () dan KuadratX ()) Protected Tingkat akses ini digunakan untuk memberikan hak akses terhadap data dalam suatu kelas sehingga data tersebut dapat diakses oleh kelas turunannya, namun lingkungan luar di dalam program masih tetap tidak diberi hak untuk mengaksesnya. Untuk membahas ini kita harus sedikit menyinggung tentang kelas turunan. Berikut ini contoh program yang menunjukkan penggunaan kata kunci protected.

12 tinclude <iostream; Kode Program 11-8 // Membuat kelas DASAR yang didalamnya terdapat data // dalam bagian protected class DASAR { protected: DASAR() { X = 10; } // Inisialisasi nilai X dengan nilai 10 II... // Membuat kelas TURUNAN sebagai hasil turunan dari kelas DASAR class TURUNAN: public DASAR { int Y, hasil; void SetYfint YY) { Y = YY; void KaliXY(} { hasil = X * Y; } int GetHasil(} { return hasil; // Fungsi utama DASAR A; TURUNAN B; return // Menggunakan nilai X dari kelas DA Hasil X kali Y : 50 Pemrograman 11.6 Hubungan Antara Struktur dan Kelas Dalam C + +, struktur dan kelas adalah dua hal yang sebenarnya saling memiliki hubungan. Artinya kita dapat membuat kelas dengan menggunakan kata kunci struct seperti halnya kita membuat sebuah struktur. Namun ini hanya sekedar pengetahuan saja bagi Anda. Dalam prakteknya, hampir semua programmer C++ menggunakan kata kunci class untuk membuat sebuah kelas. Apabila Anda merasa tidak begitu yakin akan pernyataan ini, perhatikan dan jalankan contoh-contoh program di bawah ini Membuat Kelas dengan Menggunakan Kata struct #include <iostream> // Membuat kelas MOTOR struct MOTOR { char* merk; long tahun; char* nopolisi; char* warna; void SetMotorO { rnerk = "Honda GL Pro"; tahun ; nopolisi = "G 5879 BF warna = "Hitam"; Kode Program 11-9 void ShowInfoMotor() { cout«"merk "«merk«endl; cout«" Tahun "«tahun«endl; cout«"no Polisi w «nopolisi«endl; cout«"warna u «warna«endl; // Fungsi utama // Melakukan instanslasi terhadap kelas MOTOR MOTOR M;

13 M.SetMotor( M.ShowInfoM Membuat Kelas dengan Menggunakan Kata KunCJ class #include <iostream> // Membuat kelas MOTOR class MOTOR { char* merk; long tahun; char* nopolisi; char* warna; void SetMotorO { merk = "Honda GL Pro" tahun = 1997; nopolisi = U G 5879 BF warna = "Hitam"; Kode Program void ShowInfoMotor() { cout«"merk : *«merk«endl ; cout«"tahun : ' A «tahun«endl; cout«"no Polisi : *«nopolisi«endl, cout«"warna : il «warna«endl; //. Fungsi utama I // Melakukan instansiasi terhadap kelas MOTOR IMOTOR M; M.SetMotor(); M.ShowInfoMotor{) ; return Apabila dijalankan, ternyata kedua program di atas akan memberikan hasil yang sama, yaitu sebagai berikut : Merk Tahun No Polisi Warna : Honda GL Pro : 1997 : G 5879 BF : Hitam Sampai di sini, mungkin bagi Anda yang berangkat dari bahasa Pascal atau C akan merasa bingung karena baik di dalam Pascal maupun C, sebuah struktur (record) hanya dapat berisi kelompok data dan tidak dapat berisi fungsi. Namun di dalam C+ +, pada saat kita mendefinisikan sebuah struktur, sebenarnya kita mendefinisikan sebuah kelas sehingga kita bebas untuk memasukkan fungsi-fungsi ke dalamnya. Walaupun demikian, para programmer C++ tetap menggunakan kata kunci class untuk membuat kelas dan menggunakan kata kunci struct untuk membuat struktur seperti yang terdapat pada Pascal maupun C. Perbedaan yang ada antara kata kunci struct dan class adalah dalam hal tingkat akses default dari data-datanya. Artinya, jika kita tidak menuliskan tingkat akses secara eksplisit pada saat mendeklarasikan data di dalam struktur, maka data di dalam struktur tersebut akan dianggap sebagai data public. Hal ini tentu berbeda dengan kelas, di dalam kelas apabila kita tidak menuliskan tingkat akses, maka data tersebut akan dianggap sebagai data private. Untuk lebih jelasnya, perhatikan potongan sintaks berikut ini. struct contoh { int x; // x her si fat public Di sini, secara default data x akan bersifat public. Jika kita ingin membuatnya menjadi private, maka kita harus secara eksplisit menuliskan tingkat akses private ke dalamnya sehingga kodenya akan tampak seperti di bawah ini. struct contoh { private: int x; // sekarang x bersifat private Pemrograman

14 Namun, jika kita menuliskannya dengan kata kunci claes, seperti di bawah ini. mmimtmiammmm :.^\int xr... "*^%ffc'< // maka secara default data x akan dianggap sebagai data private Anggota Kelas yang Bersifat Statis Di dalam C + +, anggota-anggota dari sebuah kelas (data dan fungsi) dapat dijadikan sebagai statis, yaitu dengan menambahkan kata kunci static di depan pendeklarasiannya. Bagian ini akan menjelaskan bagaimana cara membuatnya dan alasan apa yang mendasarinya Data Statis Normalnya, setiap data yang terdapat dalam kelas akan dialokasikan untuk setiap instance yang ada. Namun, jika dideklarasikan sebagai static, maka dalam memori hanya akan terdapat satu data yang dipakai untuk berapapun instance yang ada. Data statis ini akan diinisialisasi dengan nilai 0 sebelum instance pertama dibuat. Perlu diperhatikan bahwa ketika kita mendeklarasikan data statis, kita tidak mendefinisikannya. Ini berarti sebelumnya data tersebut tidak tersimpan dalam memori. Untuk itu kita harus menyediakan definisi global untuk data tersebut di manapun letaknya asalkan berada di luar kelas yang bersangkutan. Untuk lebih memahaminya, perhatikanlah contoh program berikut ini. #include <iostream> // Constructor kelas CONTOH CONTOH(int XX, int YY) { Y = YY; : } // Fungsi untuk menampilkan nilai X dan Y void ShowXYO { cout«"nilai X : "«X«endl; cout«"nilai Y : "«Y«endl; cout«endl / // Mendefinisikan X int CONTOHs ix; // Fungsi utama // Membuat instance A dengan X=10 dan Y=10 CONTOH A(10, 10); // Menampilkan nilai X dan Y dari instance A cout«"di dalam objek A"«endl; A.ShowXY(); // Membuat instance B dengan X=50 dan Y=50 CONTOH B(50, 50); // Menampilkan nilai X dan Y dari instance B cout«"di dalam objek B"«endl; B. ShowXYO; // Menampilkan kembali nilai X dan Y dari instance A cout«"di dalam objek A"«endl; A.ShowXY(); using namespace std static int Y; // variabel statik // variabel non-statik Di dalam objek A Nilai X : 10 Nilai Y : 10 Di dalam objek B

15 Nilai X : 50 Nilai Y : 50 Di dalam objek A Nilai X : 50 Nilai Y : 10 Seperti yang kita lihat pada hasil di atas, bahwa X yang dideklarasikan sebagai statis, maka ketika nilai X pada suatu objek (instance) berubah, maka itu berarti mengubah semua nilai X dari objek-objek lainnya. Pada kasus ini, ketika kita mengubah nilai X untuk objek B dengan nilai 50, nilai X yang terdapat pada objek A juga akan berubah menjadi 50. Sedangkan Y yang merupakan variabel biasa (non-statik), nilainya tidak akan berubah. Hal ini karena sebenarnya di dalam program tersebut terdapat dua buah variabel Y, yaitu Y milik objek A dan Y milik objek B Fungsi Statis Sama seperti halnya data atau variabel dari sebuah kelas, fungsifungsi yang terdapat di dalam sebuah kelas juga dapat dijadikan sebagai fungsi statis. Caranya sama, yaitu dengan menambahkan kata kunci static di depannya. Namun dalam melakukan hal ini kita perlu sekali untuk memperhatikan hal-hal Fungsi statis yang terdapat di dalam kelas tersebut tidak memiliki pointer this (akan dibahas pada sub bab berikutnya) Fungsi statis tidak boleh bersifat virtual Tidak boleh terdapat dua (atau lebih) fungsi yang sama, walaupun yang satu bersifat statik dan yang lainnya nonstatik. Untuk mengetahui cara kerjanya, perhatikan contoh program di bawah ini. «static void Inisialisasi (intixx) { void ShowXO { cout«"nilai X // Mendefinisikan X int CONTOH::X; // Fungsi utama int main{) { "«X«endl; // Memanggil fungsi Inisialisasi sebelum // sebuah objek/instance dibuat CONTOH::Inisialisasi(25); // Melakukan instansiasi terhadap kelas CONTOH // dengan nama instance A CONTOH A; //Memanggil fungsi ShowX kepunyaan kelas CONTOH A. ShowXO; Nilai X : 25 Seperti yang kita lihat bahwa dengan mendeklarasikan fungsi sebagai statis, kita dapat melakukan inisialisasi nilai pada data suatu kelas sebelum kita melakukan instansiasi terhadap kelas tersebut Pointer ke Objek #include <iostream> using namespace std static Seperti halnya pada tipe dasar maupun tipe data bentukan, pointer juga dapat menunjuk ke tipe kelas. Sama seperti pada pointer yang menunjuk ke tipe struktur, pointer ke objek juga akan mengakses data atau fungsi di dalam kelas dengan menggunakan operator ->, dan bukanlah menggunakan operator titik (.) seperti pada instance yang bukan merupakan pointer. Berikut ini contoh program yang

16 memperlihatkan bahwa pointer juga dapat menunjuk ke alamat objek yang bertipe kelas. flnclude <iostream> // Fungsi utama // Mehdeklarasikan pointer yang menunjuk ke kelas C CONTOH *P; // Mengalokasikan memon untuk kelas CONTOH P = new CONTOH; // P menunjuk ke alamat // yang baru dialokasikan // Memanggil fungsi-fungsi milik kelas CONTOH, // yaitu dengan operator -> P->SetX(100) ; // Ingat, bukan menggunakan titik, // karena P adalah pointer P->ShowX(); Nilai X : Pointer this Satu hal yang cukup penting untuk dibahas pada saat kita membicarakan kelas adalah pointer this. Pointer ini adalah pointer otomatis yang dilewatkan setiap kali objek dibuat di dalam memori dan akan mewakili nama kelas yang bersangkutan. Sebagai contoh kita mempunyai kelas tertentu (misalnya dengan nama BALOK), dan kita akan menuliskan sintaks berikut. H^LOK::Tinggi = 4 Maka dapat kita tulis sebagai JHis-->Tinggi» 4 Untuk dapat lebih memahaminya, perhatikan kembak potongan sintaks di bawah mi void SetX(int XX) { Void ShowX () { cout«"nilai X : "«X«endl; Sebenarnya sama seperti jika void SetX(int XX) { this-> void ShowX() { cout«"nilai X : "«this->x«endl; iliskan seperti di bawah ini. Berikut ini contoh program lengkap yang akan menunjukkan hal tersebut. #include <iostream> Kode Program class KUBUS { int S ;

17 iblic: lyoid Sets {int SS) void ShowVolume ( ) ; tinclude <iostream> Kode Program void KUBUS::SetS(int SS) { this->s = SS; public : void SetX(int XX) { } int GetX() { return X; int Kuadrat{ CONTOH A, int N) { A.SetX(N) ; return (A.GetXO * A.GetXO) p CONTOH 0; Apabila dijalankan, program di atas akan memberikan hasil sebagai Volume Kubus : 125 // Memanggil fungsi Kuadrat cout«"kuadrat dari 10 adalah : "«Kuadrat (0, ro) Kuadrat dari 10 adalah : Objek Sebagai Parameter dalam Sebuah Fungsi Dalam C + +, objek dapat juga berperan sebagai parameter dalam pendefinisian sebuah fungsi. Objek akan dilewatkan secara standar, yaitu dengan menggunakan metode pass by value (dikirimkan berdasarkan nilai). Hal ini sebenarnya bertujuan untuk mengakses suatu data (yang bersifat public) di dalam sebuah kelas dimana pemrosesannya dilakukan di dalam fungsi luar (bukan member function). Untuk lebih memahaminya, perhatikan contoh program di bawah ini Objek Sebagai Nilai Kembalian dalam Sebuah Fungsi Selain menjadi parameter, sebuah objek juga dapat digunakan sebagai nilai kembalian dari suatu fungsi. Di dalam fungsi akan tercipta satu objek temporary yang kemudian akan dibebaskan kembali sesaat setelah proses pengembalian nilai. Berikut ini contoh program yang menunjukkan hal tersebut.

18 ^include <iostream> void SetX(int XX) { } int GetXO { return X; CONTOH MyFuncO { CONTOH A; A.SetX(30); return A; CONTOH 0; // Mengembalikan nilai yag berupa objek // Memanggil fungsi Kali2 dan nilainya dimasukkan // ke dalam objek 0 0 = MyFunc(); cout«"nilai X di dalahhtodalah ; "«0. GetXO; } ^ Nilai X di dalam O adalah : Friend Function Dalam C + + kita diizinkan untuk membuat fungsi luar (bukan member function) yang dapat mengakses bagian private suatu kelas. Fungsi seperti ini dinamakan dengan friend function. Adapun cara untuk mendefinisikan fungsi tersebut sama seperti fungsi-fungsi biasa, hanya saja fungsi ini perlu dideklarasikan terlebih dahulu di dalam kelas yang bersangkutan, yaitu dengan menggunakan kata kunci friend. Untuk lebih memahami konsep yang terkandung di dalamnya, perhatikan contoh program berikut. Mnclude <iostream> int X, Y; public : void SetXY(int XX, int YY) { Y = YY; friend int KALI (CONTOH A) ; Kode Program // Mendefinisikan fungsi KALI yang bukan termasuk member // function // dari kelas CONTOH int KALI(CONTOH A) { // Mengakses bagian private secara langsung dari kelas CON1 return (A.X * A.Y); // Fungsi utama jlnt main () { // Melakukan instansiasi kelas CONTOH ICONTOH 0; o.setxy(20, 3); // Mengeset nilai X^2Q dan Y=3 cout«"hasil kali : "«KALI(Oj ' berikut : Hasil kali: 60 Seperti yang kita lihat di atas bahwa fungsi KALI () bukan merupakan fungsi anggota (member function) dari kelas CONTOH, tapi fungsi tersebut dapat mengakses bagian private (dalam hal ini

19 X dan Y) dari kelas tersebut. Hal ini dapat terjadi karena fungsi tersebut berlaku sebagai teman (friend) dari kelas CONTOH Friend Class Selain friend function, di dalam C++ juga dikenal istilah friend class, yaitu kelas yang dapat mengakses semua data (termasuk bagian private) dari kelas lain. Kedua kelas tersebut masing-masing adalah kedua kelas yang terpisah dan tidak ada hubungan turunan sama sekali. Sama halnya seperti pada friend function, pada friend class juga harus dilakukan pendeklarasian terlebih dahulu, yaitu dengan menggunakan kata kunci friend. Berikut ini contoh program yang mengilustrasikan konsep di atas. finclude <iostream> Kode Program // Melakukan instansiasi dari KEDUA P; // Memanggil fungsi Kali yang t cout«"hasil kali : "«p.kali(0) V Hasil kali: 120 Seperti yang kita lihat di atas bahwa dengan menjadikan kelas KEDUA sebagai friend class dari kelas KESATU, maka kelas KEDUA mempunyai hak akses penuh terhadap data-data yang terdapat pada kelas KESATU meskipun data-data tersebut bersifat private. using namespace std? class KESATU { int X, Y; KESATU(int XX, int YY) { Y = YY; } friend class KEDUA; // Definisi dari kelas KEDUA class KEDUA { //... int Kali(KESATU A); int KEDUA::Kali(KESATU A) { return (A.X * A.Y); // Melakukan instansiasi dari kelas KESATU KESATU 0(40, 3} ; Pemrograman

KELAS DAN OBJEK KELAS

KELAS DAN OBJEK KELAS KELAS DAN OBJEK KELAS Adalah bentuk penyederhanaan dari suatu permasalahan yang berkaitan dengan objek yang digunakan untuk merepresentasikan sebuah objek tertentu sehingga akan membantu dalam proses penyelesaian

Lebih terperinci

PEMROGRAMAN BERORIENTASI OBJEK KONSEP PBO

PEMROGRAMAN BERORIENTASI OBJEK KONSEP PBO PEMROGRAMAN BERORIENTASI OBJEK KONSEP PBO Budhi Irawan, S.Si, M.T 1 PENDAHULUAN Meskipun bahasa C adalah bahasa pemrograman yang berkekuatan tinggi (powerful) atau bisa digunakan untuk membuat program

Lebih terperinci

PEMROGRAMAN BERORIENTASI OBJEK STRUCTURE & CLASS

PEMROGRAMAN BERORIENTASI OBJEK STRUCTURE & CLASS PEMROGRAMAN BERORIENTASI OBJEK STRUCTURE & CLASS Budhi Irawan, S.Si, M.T PENDAHULUAN Dalam C++, struktur dan kelas adalah dua hal yang sebenarnya saling memiliki hubungan, artinya dapat dibuat kelas dengan

Lebih terperinci

PEMROGRAMAN BERORIENTASI OBJEK OBJECT

PEMROGRAMAN BERORIENTASI OBJEK OBJECT PEMROGRAMAN BERORIENTASI OBJEK OBJECT Budhi Irawan, S.Si, M.T OBJEK SEBAGAI PARAMETER DALAM SEBUAH FUNGSI Dalam C++, objek dapat juga berperan sebagai parameter dalam pendefinisian sebuah fungsi. Objek

Lebih terperinci

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA Hal 1 dari 6 A. KOMPETENSI 1. Memahami pengertian pemrograman berorientasi objek 2. Memahami perbedaan pemrograman prosedural dan pemrograman berorientasi objek 3. Memahami karakteristik pemrograman berorientasi

Lebih terperinci

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA 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.

Lebih terperinci

Inheritance dan Polimorfisme

Inheritance dan Polimorfisme PEMROGRAMAN BERORIENTASI OBJEK Inheritance dan Polimorfisme Budhi Irawan, S.Si, M.T PENDAHULUAN Salah satu ciri dari PBO adalah kemampuan suatu objek atau kelas untuk mewariskan sifat-sifat yang terdapat

Lebih terperinci

Inheritance dan Polimorfisme

Inheritance dan Polimorfisme PEMROGRAMAN BERORIENTASI OBJEK Inheritance dan Polimorfisme Budhi Irawan, S.Si, M.T PENDAHULUAN Apa itu Inheritance, Derived Class, dan Base class? Pasti untuk seorang yang baru mengenal bahasa pemrograman

Lebih terperinci

Object Oriented Programming LOGO

Object Oriented Programming LOGO Object Oriented Programming LOGO Apa itu OOP? Dalam Bahasa Indonesia, OOP diterjemahkan sebagai pemrograman berarah atau berorientasi objek. Sebuah metodologi dalam pemrograman yang diciptakan untuk memodelkan

Lebih terperinci

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

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id 1 MODUL PEMOGRAMAN WEB II Oleh: CHALIFA CHAZAR 2 MODUL 9 Kelas dan Objek Tujuan: Mahasiswa memahami penggunaan model pemograman berorintasi objek (OOP - Object Oriented Programming) untuk menyelesaikan

Lebih terperinci

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

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id 1 MODUL PEMOGRAMAN WEB II Oleh: CHALIFA CHAZAR 2 MODUL 9 Kelas dan Objek Tujuan: Mahasiswa memahami penggunaan model pemograman berorintasi objek (OOP - Object Oriented Programming) untuk menyelesaikan

Lebih terperinci

Pointer dan Referensi

Pointer dan Referensi PEMROGRAMAN BERORIENTASI OBJEK Pointer dan Referensi Budhi Irawan, S.Si, M.T PENDAHULUAN Pointer merupakan salah satu fitur C++ yang relatif cukup berbahaya karena dapat mengakibatkan sistem operasi pada

Lebih terperinci

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

Pemrograman Berorientasi Objek / Object Oriented Programming / (OOP) Nur Hasanah, M.Cs Pemrograman Berorientasi Objek / Object Oriented Programming / (OOP) Nur Hasanah, M.Cs Object Oriented Programming (OOP) adalah inti dari pemrograman Java. Dalam OOP, setiap objek didefinisikan sebagai

Lebih terperinci

Pertemuan 11 Object Oriented Program

Pertemuan 11 Object Oriented Program Pertemuan 11 Object Oriented Program OOP Pengertian OOP Pemrograman yang menitikberatkan kepada objek-objek (Seperti Pengiriman Nilai, Pesan atau Pernyataan Objek) untuk menyelesaikan tugas atau proses

Lebih terperinci

PEMROGRAMAN BERORIENTASI OBJEK

PEMROGRAMAN BERORIENTASI OBJEK PEMROGRAMAN BERORIENTASI OBJEK Fungsi Budhi Irawan, S.Si, M.T 10/27/2017 9:12:31 AM 1 PENDAHULUAN Fungsi merupakan kumpulan statemen yang dikelompokan menjadi satu bagian kode (blok program) untuk menyelesaikan

Lebih terperinci

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

Pemrograman Berorientasi Obyek (C++) Departemen Ilmu Komputer FMIPA IPB 2013 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

Lebih terperinci

Michael Lionardi

Michael Lionardi Memahami Konsep OOP dengan C++ lionardi@web.de Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan

Lebih terperinci

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

KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut: KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut: a. Abstraksi (abstraction) b. Pembungkusan (encapsulation) c. Pewarisan (inheritence)

Lebih terperinci

BAB VI OBYEK DAN KELAS

BAB VI OBYEK DAN KELAS BAB VI OBYEK DAN KELAS Dalam C dan bahasa pemrograman prosedural lainnya, pemrogramannya berorientasi kepada aksi, sedangkan pemrograman C++ cenderung berorientasi pada obyek. Disamping itu, unit program

Lebih terperinci

BAB VI OBYEK DAN KELAS

BAB VI OBYEK DAN KELAS BAB VI OBYEK DAN KELAS Dalam C dan bahasa pemrograman prosedural lainnya, pemrogramannya berorientasi kepada aksi, sedangkan pemrograman C++ cenderung berorientasi pada obyek. Disamping itu, unit program

Lebih terperinci

MINGGU VI : PBO (LANJUTAN)

MINGGU VI : PBO (LANJUTAN) MINGGU VI : PBO (LANJUTAN) Pertemuan minggi ini membahas topik tambahan dalam konsep PBO di C#. Topik tambahan tersebut meliputi kelas method dan properti statis, kelas Object, Automatic Property, Struct

Lebih terperinci

STRUKTUR DENGAN ARRAY DAN FUNCTION

STRUKTUR DENGAN ARRAY DAN FUNCTION STRUKTUR Struktur digunakan untuk mengelompokan sejumlah data yang mempunyai tipe data yang berbeda. Variabel-variabel yang membentuk sebuah struktur dinamakan elemen struktur. DEKLARASI STRUKTUR STRUKTUR

Lebih terperinci

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

Object Oriented Programming (Class, Inheritance, Encapsulation dan Interface) Object Oriented Programming (Class, Inheritance, Encapsulation dan Interface) Ramos Somya Object sebuah benda (entity) yang memiliki batasan (boundary) dan identitas (identity) yang terdefinisi dengan

Lebih terperinci

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

Praktikum Minggu VI 1 dan 2 Dasar-dasar Object Oriented Programming PHP Praktikum Minggu VI 1 dan 2 Dasar-dasar Object Oriented Programming PHP 6.1. Tujuan Mahasiswa dapat membuat aplikasi web base dengan menggunakan pendekatan OOP. 6.2. Bahan 1. Dreamweaver 2. Browser 3.

Lebih terperinci

TAMBAHAN MATERI BAB 15 BUKU DIKLAT PEMROGRAMAN KOMPUTER 2

TAMBAHAN MATERI BAB 15 BUKU DIKLAT PEMROGRAMAN KOMPUTER 2 TAMBAHAN MATERI BAB 15 BUKU DIKLAT PEMROGRAMAN KOMPUTER 2 1. Class Inheritance / Kelas Turunan / Pewarisan Sifat Objek Hak Akses pada kelas turunan: Apabila diturunkan Public dari kelas Induknya maka:

Lebih terperinci

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

BAB X. Struct Dalam C++, kita dapat membuat sebuah tipe data baru. Maka penulisan variabel baru kita akan menjadi: Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut

Lebih terperinci

Paradigma Pemrograman Berorientasi Objek

Paradigma Pemrograman Berorientasi Objek Paradigma Pemrograman Berorientasi Objek Oleh : Agus Priyanto, M.Kom Tujuan Pembelajaran Mengetahui konsep pemrograman berorientasi obyek Mengetahui perbedaan antara pemrograman berorientasi obyek dan

Lebih terperinci

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

PERTEMUAN 2 PEMOGRAMAN BERORIENTASI OBJEK L/O/G/O PERTEMUAN 2 PEMOGRAMAN BERORIENTASI OBJEK L/O/G/O PENGERTIAN Secara logika kelas dalam dunia pemrograman dapat kita bayangkan seperti halnya kelas-kelas yang ada pada sekolah dasar. Kelas digunakan untuk

Lebih terperinci

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

PEWARISAN D E W I S A R T I K A, M. K O M PEWARISAN D E W I S A R T I K A, M. K O M PENDAHULUAN Pewarisan (inheritance) merupakan suatu hubungan antara dua buah kelas atau lebih, dimana ada kelas yang memiliki atribut dan method yang sama dengan

Lebih terperinci

Konsep Pemrograman Berbasis Obyek

Konsep Pemrograman Berbasis Obyek Konsep Pemrograman Berbasis Obyek Tujuan Pembelajaran Memahami konsep Pemrograman Berbasis Obyek atau Object Oriented Programming (OOP) Memahami perbedaan antara pemrograman OOP dengan pemrograman prosedural

Lebih terperinci

Kurikulum Qt. Chapter 4 Function. Fungsi

Kurikulum Qt. Chapter 4 Function. Fungsi Chapter 4 Function Fungsi Fungsi (Function) adalah sekumpulan program yang diberi nama, sehingga dengan demikain jika program itu diperlukan dapat dipanggil kembali. Walaupun Pemrograman Berorientasi Objek

Lebih terperinci

Pemrograman I Bab III Tipe Data, Variabel, dan Operasi Perhitungan. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

Pemrograman I Bab III Tipe Data, Variabel, dan Operasi Perhitungan. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia Pemrograman I Bab III Tipe Data, Variabel, dan Operasi Perhitungan Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia Tipe Data 1. Tipe data karakter 2. Tipe data bilangan bulat 3. Tipe data

Lebih terperinci

Konsep Array dalam PBO

Konsep Array dalam PBO PEMROGRAMAN BERORIENTASI OBJEK Konsep Array dalam PBO Budhi Irawan, S.Si, M.T PENDAHULUAN Array (Larik) merupakan hal fundamental yang sering dijumpai dalam banyak kasus didunia pemrograman, maka dari

Lebih terperinci

OBJECT ORIENTED PROGRAMMING DENGAN PHP. Janitra Panji

OBJECT ORIENTED PROGRAMMING DENGAN PHP. Janitra Panji OBJECT ORIENTED PROGRAMMING DENGAN PHP Janitra Panji Overview Class Properti / Atribut Method Visibilitas Member Object Constructor & Destructor Inheritance Definisi Class Class disusun berdasarkan karakteristik

Lebih terperinci

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

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN SEKOLAH TINGGI MANAJEMEN INFORMAA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN Mata Kuliah : PEMROGRAMAN BAHASA C++ Kode Mata Kuliah : MI - 24203 Jurusan / Jenjang : S1 SISTEM INFORMASI Tujuan Instruksional

Lebih terperinci

PEWARISAN SIFAT OBYEK

PEWARISAN SIFAT OBYEK PEWARISAN SIFAT OBYEK MUH. IZZUDDIN MAHALI, M.CS. 1 MEMBUAT KELAS TURUNAN (SUBCLASS) JAVA MENYEDIAKAN KATA KUNCI EXTENDS YANG DIGUNAKAN UNTUK PENURUNAN TERHADAP KELAS. DALAM TERMINOLOGI JAVA, KELAS INDUK

Lebih terperinci

Komentar, Identifier, Konstanta dan Variabel

Komentar, Identifier, Konstanta dan Variabel PEMROGRAMAN BERORIENTASI OBJEK Komentar, Identifier, Konstanta dan Variabel Budhi Irawan, S.Si, M.T KOMENTAR PROGRAM Dalam proses pengembangan sebuah program, pasti akan disibukan dengan penulisan kode-kode

Lebih terperinci

BAB 12 PEWARISAN SIFAT OBJEK

BAB 12 PEWARISAN SIFAT OBJEK BAB 12 PEWARISAN SIFAT OBJEK 12.1 Pendahuluan Salah satu ciri dari OOP yang sebelumnya telah kita singgung pada bab sebelumnya adalah kemampuan suatu objek atau kelas untuk mewariskan sifat-sifat yang

Lebih terperinci

MODUL 1. CLASS, OBJECT, CONSTRUCTOR DAN METHOD

MODUL 1. CLASS, OBJECT, CONSTRUCTOR DAN METHOD MODUL 1. CLASS, OBJECT, CONSTRUCTOR DAN METHOD MODUL 1 Class, Object, Constructor dan Method TUJUAN PRAKTIKUM 1. Praktikan dapat memahami dan menerapkan pengertian object dan class dalam java 2. Praktikan

Lebih terperinci

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA Hal 1 dari 12 A. KOMPETENSI 1. Mampu membuat komentar dalam kode program 2. Memahami konstanta, variabel dalam C++ 3. Mampu membuat inisialisasi nilai ke dalam variabel B. ALAT DAN BAHAN 1. PC/ Laptop

Lebih terperinci

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

Encapsulation (Encapsulasi) Minggu 5 Pemrograman Berorientasi Objek Alfa Faridh Suni Encapsulation (Encapsulasi) Minggu 5 Pemrograman Berorientasi Objek Alfa Faridh Suni Enkapsulasi u Dapat dikatakan sebagai penyembunyian data/informasi (Information hiding). u Implementasi ke bahasa Pemrograman

Lebih terperinci

KONSEP Pemrograman Berorientasi Objek KARMILASARI

KONSEP Pemrograman Berorientasi Objek KARMILASARI KONSEP Pemrograman Berorientasi Objek KARMILASARI Capaian Pembelajaran 2 Memahami perbedaan pemrograman prosedural dan pemrograman berorientasi objek (object oriented programming /OOP) Memahami elemen

Lebih terperinci

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

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN SEKOLAH TINGGI MANAJEMEN INFORMAA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN Mata Kuliah : PEMROGRAMAN BAHASA C++ Kode Mata Kuliah : MI - 24203 Jurusan / Jenjang : S1 SISTEM KOMPUTER Tujuan Instruksional

Lebih terperinci

Kurikulum Qt. { Basic OOP } Chapter 4. Function

Kurikulum Qt. { Basic OOP } Chapter 4. Function Kurikulum Qt { Basic OOP } Chapter 4 Function. Agenda Fungsi Konsep Dasar Fungsi Mendefinisikan Fungsi Deklarasi Fungsi (Prototype) Hasil Balik Fungsi Ruang Lingkup Variabel Variable Lokal Variable Global

Lebih terperinci

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

BAHASA PEMROGRAMAN. Untuk SMK. Kadarisman Tejo Yuwono Totok Sukardiyono Adi Dewanto. : Ratu Amilia Avianti. Perancang Kulit BAHASA PEMROGRAMAN Untuk SMK Penulis Editor Perancang Kulit Ukuran Buku : Suprapto Kadarisman Tejo Yuwono Totok Sukardiyono Adi Dewanto : Ratu Amilia Avianti : Tim : 18,2 x 15,7 cm Direktorat Pembinaan

Lebih terperinci

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

Pemograman Berorientasi Objek. Week 3 Abstrak dan Interface dalam suatu kelas Pemograman Berorientasi Objek c# Week 3 Abstrak dan Interface dalam suatu kelas Kompetensi Dasar Setelah mengikuti mata kuliah ini diharapkan mahasiswa memiliki kemampuan untuk: 1. Menguraikan konsep dasar

Lebih terperinci

Class. Object. Object Oriented Programming (OOP) Object Oriented Programming (OOP)

Class. Object. Object Oriented Programming (OOP) Object Oriented Programming (OOP) Pemrograman Visual (TH22012 ) by Kartika Firdausy 081.328.718.768 kartikaf@indosat.net.id kartika@ee.uad.ac.id blog.uad.ac.id/kartikaf kartikaf.wordpress.com Object Oriented Programming (OOP) 2 Object

Lebih terperinci

C#, Programming, Object-oriented. Pengenalan C# Erick Pranata. Edisi I

C#, Programming, Object-oriented. Pengenalan C# Erick Pranata. Edisi I C#, Programming, Object-oriented Pengenalan C# Erick Pranata Edisi I Maret 2013 Karakteristik C# (C Sharp) merupakan bahasa garapan Microsoft yang merujuk pada kultur Java yang dilengkapi dengan kemampuan

Lebih terperinci

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM 1. Praktikan memahami perbedaan objek dan class pada Java. 2. Praktikan memahami konsep berorientasi objek. 3. Praktikan dapat membuat program sederhana dengan

Lebih terperinci

Bab 8. Dasar-Dasar OOP

Bab 8. Dasar-Dasar OOP Bab 8. Dasar-Dasar OOP Pemrograman Berorientasi Obyek Politeknik Elektronika Negeri Surabaya 2007 Overview Introduction Encapsulation Information Hiding Interface to access data Constructor Overloading

Lebih terperinci

Pemrograman Berorientasi Objek Dengan PHP5

Pemrograman Berorientasi Objek Dengan PHP5 Pemrograman Berorientasi Objek Dengan PHP5 Ditulis oleh: Gerry Sabar Pendahuluan Tutorial ini berawal dari pengalaman saya mengamati teman-teman di universitas yang belajar pemrograman berorientasi objek.

Lebih terperinci

MODUL 1. Class, Object, Constructor dan Method

MODUL 1. Class, Object, Constructor dan Method MODUL 1 Class, Object, Constructor dan Method TUJUAN PRAKTIKUM 1. Praktikan dapat memahami dan menerapkan pengertian object dan class dalam java 2. Praktikan dapat memahami pengertian dan penggunaan Constructor

Lebih terperinci

PEMROGRAMAN JAVA. Yoannita, S.Kom. Class & Method sederhana Konsep Pemrograman Berorientasi Objek. Company LOGO

PEMROGRAMAN JAVA. Yoannita, S.Kom. Class & Method sederhana Konsep Pemrograman Berorientasi Objek. Company LOGO Company LOGO PEMROGRAMAN JAVA Yoannita, S.Kom Class & Method sederhana Konsep Pemrograman Berorientasi Objek Method Method atau metode adalah fungsi yang didefinisikan di dalam kelas dan beroperasi pada

Lebih terperinci

MINGGU IV : PEMROGRAMAN BERORIENTASI OBJEK

MINGGU IV : PEMROGRAMAN BERORIENTASI OBJEK MINGGU IV : PEMROGRAMAN BERORIENTASI OBJEK Pertemuan ini bertujuan untuk memperkenalkan konsep dasar pemrograman berorientasi objek. Bahasan pada pertemuan ini meliputi konsep dasar Pemrograman Berorientasi

Lebih terperinci

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

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari ALGORITMA DAN PEMROGRAMAN 2 3 SKS By : Sri Rezeki Candra Nursari MATERI Teks/string Pointer File Struktur Kelas/Class Konstruktor dan Destruktor Kelas dan Obyek Overloading Operator Inheritance (Pewarisan)

Lebih terperinci

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM Materi kuliah ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM Ir. Roedi Goernida, MT. (roedig@yahoo.com) Program Studi Sistem Informasi Fakultas Rekayasa Industri Institut Teknologi Telkom Bandung

Lebih terperinci

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

Kurikulum Qt. Chapter 8 - Polymorphism. Polimorfisme. Problema Pewarisan Tunggal (Single Inheritance) Chapter 8 - Polymorphism Polimorfisme Secara teknis polimorfisme merupakan suatu konsep untuk merelasikan diatara kelas-kelas C++ melalui overriding metode-metode virtual, sehingga dengan demikian satu

Lebih terperinci

Pewarisan Sifat Objek. Nur Hasanah, M.Cs

Pewarisan Sifat Objek. Nur Hasanah, M.Cs Pewarisan Sifat Objek Nur Hasanah, M.Cs Membuat Kelas Turunan (Subclass) Java menyediakan kata kunci extends yang digunakan untuk penurunan terhadap kelas. Dalam terminologi Java, kelas induk yang diturunkan

Lebih terperinci

Modul II Object Oriented Programming

Modul II Object Oriented Programming Modul II Object Oriented Programming Tujuan 1. Mahasiswa dapat mengenal dan memahami konsep pemrograman berorientasi objek. 2. Mahasiswa mampu membuat class, object dan access modifier. Dasar Teori OOP

Lebih terperinci

MODUL 1 PENGENALAN OOP

MODUL 1 PENGENALAN OOP MODUL 1 PENGENALAN OOP Default Private Public Protected Tujuan: Mahasiswa dapat mengenal dan memahami konsep class, objek, dan access modifier Materi: Pengantar Class Atribut Method This Access Modifier

Lebih terperinci

Sebagai contoh misalnya akan dibuat kelas turunan Silinder dari kelas dasar Lingkaran, maka dapat dituliskan :

Sebagai contoh misalnya akan dibuat kelas turunan Silinder dari kelas dasar Lingkaran, maka dapat dituliskan : Chapter 7 Inheritance Pewarisan (Inheritance) Pemrograman Berorientasi Objek mempunyai fitur penting yang memudahkan pemrogram dalam membuat program yaitu pewarisan (inheritance). Aspek penting pewarisan

Lebih terperinci

Program pendek dan simple = mudah dihandle. Program besar, banyak dan kompleks = tidak

Program pendek dan simple = mudah dihandle. Program besar, banyak dan kompleks = tidak Modular Programming Program pendek dan simple = mudah dihandle. Program besar, banyak dan kompleks = tidak mudah dihandle. dl Kesulitan: sulit mencari dan mengingat variabel-variabel aiabel yang sudah

Lebih terperinci

BAB IV HASIL PENELITIAN DAN PENERAPAN

BAB IV HASIL PENELITIAN DAN PENERAPAN 87 BAB IV HASIL PENELITIAN DAN PENERAPAN 4.1 Karakteristik bahasa pemrograman DOGI Berikut ini akan dijabarkan karakteristik-karakteristik bahasa pemrograman DOGI yang mempengaruhi readability, writability

Lebih terperinci

Object OrientedProgramming

Object OrientedProgramming Object OrientedProgramming Pemrograman Visual (TH22012 ) by Kartika Firdausy 081.328.718.768 kartikaf@indosat.net.id kartika@ee.uad.ac.id blog.uad.ac.id/kartikaf kartikaf.wordpress.com Object Oriented

Lebih terperinci

PRAKTIKUM 12 POINTER 2

PRAKTIKUM 12 POINTER 2 PRAKTIKUM 12 POINTER 2 A. Tujuan 1. Menjelaskan tentang Array of Pointer 2. Menjelaskan tentang Pointer to Pointer 3. Menjelaskan tentang Pointer dalam Fungsi 4. Menjelaskan tentang Pointer sebagai Parameter

Lebih terperinci

Modul I Mengenal Pemrograman Delphi

Modul I Mengenal Pemrograman Delphi Modul I Mengenal Pemrograman Delphi A. Pemrograman Berorientasi Objek Pemrograman berorientasi objek memakai objek-objek yang berbeda. Setiap objek berisi data dan program. Penulisan program berorientasi

Lebih terperinci

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

int fungsi_2() { int main() { fungsi_1(); fungsi_2(); return 0; Bab 6 Sub Rutin A. Pengertian Sub Rutin Suatu program komputer biasanya merupakan suatu sistem besar yang terdiri dari sub sistem - sub sistem yang mempunyai tugas sendiri-sendiri, saling bekerja sama

Lebih terperinci

Sekilas C DAN C++ DISUSUN OLEH. Sebuah bahasa, yaitu: 1. Bahasaa tingkat tinggi. High. dapat. lunak

Sekilas C DAN C++ DISUSUN OLEH. Sebuah bahasa, yaitu: 1. Bahasaa tingkat tinggi. High. dapat. lunak DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S..Kom. DIKTAT MATAA KULIAH PEMROGRAMAN I BAB I PENDAHULUAN C DAN C++ IF Sekilas Tentang C dan C+ ++ Sebuah bahasa pemrograman dapat dikategorikan ke dalam tiga level

Lebih terperinci

Algoritma Pemrograman 2B (Pemrograman C++)

Algoritma Pemrograman 2B (Pemrograman C++) Algoritma Pemrograman 2B (Pemrograman C++) Jurusan Sistem Komputer Dr. Lily Wulandari Materi 4 FUNGSI (FUNCTION) PADA C++ 1 Outline Konsep Dasar Fungsi Standar File Header Definisi Fungsi Deklarasi Fungsi

Lebih terperinci

Konsep Dasar Pemrograman Dan Pengenalan C++

Konsep Dasar Pemrograman Dan Pengenalan C++ PRAKTIKUM 1 DAN 2 Konsep Dasar Pemrograman Dan Pengenalan C++ I. KONSEP DASAR PEMROGRAMAN Program adalah deretan instruksi yang digunakan untuk mengendalikan komputer, sehingga komputer dapat melakukan

Lebih terperinci

PEMROGRAMAN TERSTRUKTUR II

PEMROGRAMAN TERSTRUKTUR II PEMROGRAMAN TERSTRUKTUR II PERTEMUAN 3 KONSEP PEMROGRAMAN KONSEP PEMROGRAMAN - Konsep Prosedural Merupakan cara pembuatan program menggunakan prosedur dan fungsi di dalam implementasi program. - Konsep

Lebih terperinci

Pemograman Berorientasi Objek. Week 4 Initialization dan Instance dalam Kelas

Pemograman Berorientasi Objek. Week 4 Initialization dan Instance dalam Kelas Pemograman Berorientasi Objek c# Week 4 Initialization dan Instance dalam Kelas Constructor Konstruktor adalah method yang pertama kali dikerjakan ketika suatu kelas (class) diciptakan Bertugas untuk melakukan

Lebih terperinci

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN http://sholikins.wordpress.com http://sholikins.wordpress.com 1 Pemrograman Berorientasi Objek / OOP (Objek Oriented Programming)??? http://sholikins.wordpress.com

Lebih terperinci

PEMROGRAMAN BERORIENTASI OBJEK. Pengulangan. Budhi Irawan, S.Si, M.T

PEMROGRAMAN BERORIENTASI OBJEK. Pengulangan. Budhi Irawan, S.Si, M.T PEMROGRAMAN BERORIENTASI OBJEK Pengulangan Budhi Irawan, S.Si, M.T PENGULANGAN Pengulangan adalah suatu proses yang melakukan perulangan statement-statement dalam sebuah program secara terus-menerus sampai

Lebih terperinci

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation Dosen : Ir. Nanang Syahroni M.Kom Pokok Bahasan Konsep pewarisan dan deklarasi pewarisan dalam bahasa Java Konsep polimospisme dan deklarasi

Lebih terperinci

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK BAB 1 PEMROGRAMAN BERORIENTASI OBJEK Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan

Lebih terperinci

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

FUNGSI II. Variabel Statis. Sifat variabel statis: Sintaks: static tipe_data nama_variabel; Contoh: static int angka; FUNGSI II Variabel Statis Sifat variabel statis: Variabel hanya dapat diakses pada fungsi yang mendefinisikannya Variabel tidak hilang setelah eksekusi berakhir. Nilainya akan tetap dipertahankan sehingga

Lebih terperinci

OBJECT ORIENTED PROGRAMMINGS

OBJECT ORIENTED PROGRAMMINGS OOP bukanlah sebuah bahasa pemrograman melainkan sebuah cara untuk menjadikan program yang kita buat lebih modular karena suatu permasalahan akan dikumpulkan dalam suatu objek, yang selanjutnya akan disebut

Lebih terperinci

Inheritance dan Kata Kunci static

Inheritance dan Kata Kunci static Inheritance dan Kata Kunci static PEWARISAN (INHERITANCE) Salah satu fitur yang paling kuat dalam OOP adalah penggunaan kode kembali (code reuse). Sekali sebuah prosedur dibuat, maka kita bisa menggunakannya

Lebih terperinci

Fungsi DASAR PEMROGRAMAN

Fungsi DASAR PEMROGRAMAN Fungsi DASAR PEMROGRAMAN TUJUAN Menjelaskan pengertian Fungsi Membuat Fungsi Memecah program dalam beberapa fungsi. Mengerti parameter dalam Fungsi Mengerti variabel dalam Fungsi Fungsi (function) Adalah

Lebih terperinci

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION POINTER POINTER ADALAH SUATU VARIABEL PENUNJUK, BERISI NILAI YANG MENUNJUK ALAMAT SUATU LOKASI MEMORI TERTENTU. JADI POINTER TIDAK BERISI NILAI DATA, MELAINKAN

Lebih terperinci

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

Kurikulum Qt. Chapter 5 Pointer dan References. Agenda. Apa itu Pointer? Memory Komputer. Mengambil Alamat Memory dari Variabel Chapter 5 Pointer dan References Agenda Pada chapter ini kita akan membahas beberapa topik yang berhubungan dengan pointer dan reference yaitu: Penggunaan Pointer. Pointer dan Array. Mengalokasikan memory

Lebih terperinci

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

Tabel 1. Instruksi untuk menampilkan teks No. Bahasa Pemrograman Instruksi 1. Pascal WRITE ( Bahasa pemrograman itu mudah ); PERTEMUAN I BAHASA PEMROGRAMAN JAVA DAN PENGENALAN NETBEANS 1. Program dan Bahasa Pemrograman Di dalam dunia komputer sering kali dijumpai istilah program dan bahasa pemrograman. Kedua istilah tersebut

Lebih terperinci

MODUL VI OBJECT ORIENTED PROGRAMMING (OOP)

MODUL VI OBJECT ORIENTED PROGRAMMING (OOP) MODUL VI OBJECT ORIENTED PROGRAMMING (OOP) I. TUJUAN 1. Mahasiswa akan dapat membandingkan pemrograman terstruktur dengan pemrograman berorientasi objek dengan membuat program dalam bahasa C++ 2. Mahasiswa

Lebih terperinci

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

Pengenalan OOP. Object-Oriented programming (OOP) Menitikberatkan pada konsep object sebagai elemen dasar dari program. Class & Objek Pengenalan OOP Object-Oriented programming (OOP) Menitikberatkan pada konsep object sebagai elemen dasar dari program. Object tersebut dikarakterisasi oleh property dan behavior. Pengenalan

Lebih terperinci

SL 1201 Materi tentang Fungsi

SL 1201 Materi tentang Fungsi SL 1201 Materi tentang Fungsi Program merupakan kumpulan dari fungsi-fungsi baik yang didefinisikan langsung maupun yang disimpan dalam file header. Dalam program C++ selalu terdapat fungsi utama yang

Lebih terperinci

KONSEP DASAR. menyusunnya menjadi potongan-potongan mudah untuk ditangani dibanding. conquer.

KONSEP DASAR. menyusunnya menjadi potongan-potongan mudah untuk ditangani dibanding. conquer. FUNGSI (FUNCTION) PADA C++ KONSEP DASAR Program komputer yang dibuat untuk menjawab permasalahan umumnya berukuran sangat besar. Pengalaman telah menunjukkan bahwa cara terbaik untuk mengembangkan dan

Lebih terperinci

Game Technology Design Course College of Multi Media Yogyakarta Spring Tri Anggraeni, S.Kom., M.Sc.

Game Technology Design Course College of Multi Media Yogyakarta Spring Tri Anggraeni, S.Kom., M.Sc. Meeting 12 & 13 Class, String, set & get Function Game Technology Design Course College of Multi Media Yogyakarta Spring 2016-2017 Tri Anggraeni, S.Kom., M.Sc. Reference : Deitel, P. & Deitel, H. (2014).

Lebih terperinci

//PROGRAM 7-9. class A { A() { //PROGRAM System.out.println("Constructor dari kelas A"); // Mendefinisikan kelas abstract. abstract class A {

//PROGRAM 7-9. class A { A() { //PROGRAM System.out.println(Constructor dari kelas A); // Mendefinisikan kelas abstract. abstract class A { //PROGRAM 7-9 A() { System.out.println("Constructor dari kelas A"); B() { System.out.println("Constructor dari kelas B"); class C extends B { C() { System.out.println("Constructor dari kelas C"); class

Lebih terperinci

Bahasa Pemrograman I VB.Net. Oleh: Erik Perdana Ibrahim, S.Kom 2011

Bahasa Pemrograman I VB.Net. Oleh: Erik Perdana Ibrahim, S.Kom 2011 Bahasa Pemrograman I VB.Net Oleh: Erik Perdana Ibrahim, S.Kom 2011 Bahasa Pemrograman I VB.Net SKS Dosen Email : 4 SKS : Erik Perdana Ibrahim, S.Kom : erik_abg@yahoo.com Jadwal Kuliah Kelas: Mengikuti

Lebih terperinci

Dasar Pemrograman. Visual Studio Program C++ Sederhana. Yoannita, S.Kom.

Dasar Pemrograman. Visual Studio Program C++ Sederhana. Yoannita, S.Kom. Visual Studio 2008 Dasar Pemrograman Program C++ Sederhana. C/C++ C++ merupakan perkembangan leboh lanjut dari C. Bahasa C dikembangkan tahun 1972 oleh Dennis Richie di Bell Telephone laboratories. Oleh

Lebih terperinci

BAB 14 OPERATOR OVERLOADING

BAB 14 OPERATOR OVERLOADING BAB 14 OPERATOR OVERLOADING 14.1 Pendahuluan Seperti halnya pada fungsi, C++ juga mengizinkan kita untuk melakukan overload terhadap operator. Ini berarti bahwa operator tersebut dapat kita gunakan sesuai

Lebih terperinci

BAB 6 POINTER DAN REFERENCE

BAB 6 POINTER DAN REFERENCE BAB 6 POINTER DAN REFERENCE. 6.1 Pendahuluan Salah satu kelebihan dari bahasa C/C++ adalah karena bahasa ini mendukung sepenuhnya untuk pemanipulasian memori dengan menggunakan pointer. Namun di balik

Lebih terperinci

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

MODUL 7 FUNGSI A. Tujuan. B. Petunjuk. C. Dasar Teori MODUL 7 FUNGSI A. Tujuan Mahasiswa mampu memahami fungsi Mahasiswa mampu mendeklarasikan dan mendefinisikan fungsi Mahasiswa mampu menyelesaikan masalah menggunakan fungsi Mahasiswa mampu memahami metode

Lebih terperinci

BAB VIII SUB PROGRAM : Fungsi Tanpa Pengembalian Nilai

BAB VIII SUB PROGRAM : Fungsi Tanpa Pengembalian Nilai BAB VIII SUB PROGRAM : Fungsi Tanpa Pengembalian Nilai Pendahuluan Dalam bahasa pemrograman prosedural, program bisa terdiri dari beberapa sub program. Dengan membuat sub program, penulisan kode program

Lebih terperinci

Class & Object 2. Imam Fahrur Rozi

Class & Object 2. Imam Fahrur Rozi Class & Object 2 Imam Fahrur Rozi Materi * Enkapsulasi * Access Modifier * Konstruktor * Atribut/Method Klass * Atribut/Method Instansiasi Enkapsulasi * Merupakan konsep dasar OOP dimana atribut dan method

Lebih terperinci

E STRUKTUR DATA & E PRAKTIK STRUKTUR DATA. Pointer & Function. Alfa Faridh Suni, S.T., M.T. PTIK

E STRUKTUR DATA & E PRAKTIK STRUKTUR DATA. Pointer & Function. Alfa Faridh Suni, S.T., M.T. PTIK E3024015 - STRUKTUR DATA & E3024016 PRAKTIK STRUKTUR DATA Pointer & Function Alfa Faridh Suni, S.T., M.T. PTIK - 2014 Pointer Pointer adalah suatu variabel penunjuk, berisi nilai yang menunjuk alamat suatu

Lebih terperinci

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

Classes. class class_name { permission_label_1: member1; permission_label_2: member2;... } object_name; Classes Class adalah metode logical untuk organisasi data dan fungsi dalam struktur yang sama. Class dideklarasikan menggunakan keyword class, yang secara fungsional sama dengan keyword struct, tetapi

Lebih terperinci

IT234 ALGORITMA DAN STRUKTUR DATA FUNGSI

IT234 ALGORITMA DAN STRUKTUR DATA FUNGSI IT234 ALGORITMA DAN STRUKTUR DATA FUNGSI Ramos Somya Fungsi Fungsi/function adalah suatu kumpulan instruksi/ perintah/program yang dikelompokkan menjadi satu, letaknya terpisah dari program yang menggunakan

Lebih terperinci

PENGENALAN DAN PENERAPAN OOP PADA C++

PENGENALAN DAN PENERAPAN OOP PADA C++ PENGENALAN DAN PENERAPAN OOP PADA C++ A. Tujuan Praktikum 1. Dapat Membedakan Antara Class dan Object 2. Memahami fungsi Construction dan Destruction 3. Dapat melakukan operasi-operasi terhadap member

Lebih terperinci