Anda di halaman 1dari 18

OOP (Object Oriented Programing)

Oleh :

I Putu Doni Saputra I Putu Pratama Andika

(1104505077) (1104505082)

JURUSAN TEKNOLOGI INFORMASI FAKULTAS TEKNIK UNIVERSITAS UDAYANA BUKIT JIMBARAN MEI 2012

BAB I : PENDAHULUAN

1.1. LATAR BELAKANG Pemrograman berorientasi Objek yang dalam istilah Inggris disebut sebagai Object Oriented Programming (disingkat OOP) adalah salah satu pendekatan pemrograman atau paradigma untuk pengembangan / development suatu perangkat lunak komputer dimana dalam struktur perangkat lunak tersebut didasarkan kepada interaksi objek dalam penyelesaian suatu proses / tugas. Jika kita mencoba melihat bagaimana tugas disekitar kita diselesaikan, kita akan mengetahui bahwa kita berinteraksi dalam sebuah object-oriented world. Jika akan bepergian kita pasti berinteraksi dengan objek mobil. Sebagai sebuah objek, mobil berisi objek-objek lain yang berinteraksi untuk melakukan tugasnya membawa kita. Sebuah program yang berorientasi objek terdiri dari objek-objek yang berinteraksi satu sama lainnya untuk menyelesaikan sebuah tugas. Seperti dunia nyata, pengguna dari suatu perangkat lunak dilibatkan dari logika proses untuk menyelesaikan tugas. Contoh, ketika kita mencetak sebuah halaman di word processor, kita berarti melakukan inisialisasi tindakan dengan meng-klik tombol printer. Kemudian kita hanya menunggu respon dari komputer apakah perintah yang kita berikan tersebut sukses dieksekusi atau gagal, sedangkan proses yang terjadi sesungguhnya didalam internal komputer tidak kita ketahui. Tentunya setelah kita menekan tombol printer, maka secara simultan objek tombol tersebut berinteraksi dengan objek printer untuk menyelesaikan job tersebut.

1.2 PENGERTIAN OOP Pemrograman berorientasi objek (OOP) merupakan paradigma pemrograman yang menggunakan "objek" - struktur data yang terdiri dari datafields dan metode bersama dengan interaksi mereka - untuk merancang aplikasi dan program komputer. Teknik pemrograman dapat mencakup fitur seperti data abstraksi, enkapsulasi, modularitas, polimorfisme, dan pewarisan. Banyak bahasa

pemrograman modern sekarang mendukung OOP. Pemrograman berorientasi obyek memiliki akar yang dapat ditelusuri pada 1960-an. Seperti hardware dan software menjadi semakin kompleks, pengelolaan sering menjadi perhatian. Para peneliti mempelajari cara untuk menjaga kualitas perangkat lunak dan dikembangkan pemrograman berorientasi objek dalam bagian untuk mengatasi masalah-masalah umum dengan sangat menekankan diskrit, dapat digunakan kembali unit pemrograman logika [rujukan?]. Berfokus pada teknologi data daripada proses, dengan program yang terdiri dari modul mandiri ( "kelas"), masing-masing contoh yang ( "objek") berisi semua informasi yang dibutuhkan untuk memanipulasi struktur data sendiri ( "anggota"). Hal ini berbeda dengan yang ada pemrograman modular yang telah dominan selama bertahun-tahun yang berfokus pada fungsi dari module, bukan data spesifik, tetapi juga disediakan untuk penggunaan kembali kode, dan mandiri dapat digunakan kembali unit pemrograman logika, yang memungkinkan kolaborasi melalui penggunaan modul yang terhubung (subrutin). Pendekatan ini lebih konvensional, yang masih tetap, cenderung untuk mempertimbangkan data dan perilaku secara terpisah. Sebuah program berorientasi objek dengan demikian dapat dilihat sebagai kumpulan objek yang saling berinteraksi, berlawanan dengan model konvensional, di mana program dipandang sebagai daftar tugas (subrutin) untuk melakukan. Dalam OOP, setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek-objek lain dan dapat dipandang sebagai independen 'mesin' dengan peran atau tanggung jawab yang berbeda. Tindakan (atau "metode") pada objek-objek ini sangat erat terkait dengan objek. Sebagai

contoh, struktur data cenderung 'membawa operator sekitar mereka sendiri dengan mereka "(atau setidaknya" mewarisi "mereka dari obyek atau kelas yang sama). 1.3. TUJUAN 1. Agar kita mampu mengetahui bagaimana konsep Object Oriented Programming itu. 2. Agar kita Tahu kegunaan dari Object Oriented Programming itu.

BAB II : DASAR TEORI/LANDASAN TEORI 2.1 DASAR TEORI Pencipta Bahasa C adalah Brian W. Kernighan dan Dennis M. Ritchie pada sekitar tahun 1972. C adalah bahasa pemrograman terstruktur yang membagi program dalam bentuk sejumlah blok. Tujuannya adalah memudahkan dalam pembuatan dan pengembangan program. Program yang ditulis dengan menggunakan bahasa C mudah sekali dipindahkan dari satu jenis mesin ke jenis mesin yang lain. Sedang C++ diciptakan satu dekade setelah C diciptakan oleh Bjarne Strous trup, Laboratorium Bell, AT & T, pada tahun 1983. Bahasa ini bersifat kompatibel dengan bahasa pendahulunya, C. Nama C++ sendiri diberikan oleh Rick Mascitti pada musim panas 1983. Adapun tanda ++ berasal dari nama operator penaikan pada bahasa C++. C diambil sebagai landasan dari C++, mengingat keportabilitas C yang memungkinkannya diterapkan pada berbagai mesin, dari PC hingga mainframe, serta pada berbagai sistem operasi (DOS, UNIX, VMS dan sebagainya). Keistimewaan yang sangat berarti pada C++ adalah karena bahasa ini mendukung pemrograman Programming). yang berorientasi objek atau OOP (Object Oriented

Model Data Berorientasi Objek atau Object-Oriented Programming (OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objekobjek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapa menerima pesan, memproses data, dan mengirim pesan ke objek lainnya. Model Data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat. yati ST. 2.2 KARAKTERISTIK OOP DAN PENERAPAN PADA C++ Disini, kita akan melihat beberapa konsep dasar dan term-term yang umum untuk seluruh bahasa OOP. Pemrograman orientasi-objek menekankan konsep berikut: 2.2.1 kelas kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang nonprogrammer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya. Contoh :

Public class Mahasiswa Acces Modifier blok awal class body class disini Blok akhir clasS End class nama class

2.2.2 Objek membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek. 2.2.3 Enkapsulasi Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi ijin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut. 2.2.4 Inheritas Mengatur polimorfisme dan enskapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa haru mengimplementasi ulang perilaku tersebut (bahasa berbasisobjek tidak selalu memiliki inheritas.)

Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut(terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas administrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek -objek yang ada karena setiap objek memiliki job descriptionnya sendiri.

2.3 Ide Dasar OOP Ide dasar pada bahasa berorientasi objek adalah mengkombinasikan data dan fungsi untuk mengakses data menjadi sebuah kesatuan unit. Unit ini dikenal dengan nama object (objek). Objek sebenarnya mencerminkan pola kerja manusia dalam kehidupan sehari-hari. Sebuah objek dapat diibaratkan sebagai departemendepartemen di dalam sebuah perusahaan bisnis. Contoh departemen : Penjualan Akunting Personalia Pembagian departemen perusahaan merupakan upaya untuk memudahkan pengoperasian perusahaan. Sebagai gambaran, jika anda seorang manajer penjualan di Kantor Pusat ingin mengetahui data personalia salesmen di suatu kantor cabang, apa yang anda lakukan? Langkah yang anda tempuh pasti tidak datang secara langsung ke ruang personalia dan mencari data pada berkas-berkas yang ada pada departemen tersebut. Untuk memudahkan tugas anda, anda cukup mengutus sekretaris anda untuk meminta informasi dari departemen personalia

sesuai yang anda butuhkan. Masalah bagaimana dan siapa yang mencarikan laporan yang diperlukan bukanlah menjadi urusan anda. Analogi dengan hal ini, kalau seseorang bermaksud menggunakan objek, ia cukup mengirim suatu pesan ke objek dan objek itu sendiri yang akan menanganinya. Bisa dibayangkan, betapa repotnya anda kalau anda sebagai manajer penjualan harus mencari sendiri berkas-berkas yang ada pada departemen personalia. Barangkali anda malah bakal mengobrak-abrik berkas-berkas yang sudah tersusun rapi. Kejadian semacam ini yang dihindari pada konsep pemrograman berorientasi objek. Sebuah gambaran tentang objek yang berisi data dan fungsi yang memanipulasi data dapat dilihat pada gambar di bawah ini :

Gambar 1. Data dan fungsi pemanipulasi data pada suatu objek usniyati ST. C++ Adapun gambar yang melukiskan hubungan antar objek yang menganalogikan struktur di perusahaan :

Gambar 2. Contoh Objek

2.4 PEMOGRAMAN PROSEDURAL DAN OOP OOP merupakan suatu 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 membuat sebuah program. Satu buah program yang ditulis, biasanya menggunakan bahasa C rata-rata berisi 25.000 sampai 100.000 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 di namakan dengan kelas. Kelas itu sendiri kemudian dapat digunakn ulang dalam pembuatan program lain tanpa harus melakukan pengkodean ulang. Melalui cara ini, tentu kita akan lebih berkonsentrasi ke arah pembentukan program sehingga waktu yang dibutuhkan juga akan lebih cepat.

2.5 KEUNTUNGAN MENGGUNAKAN OOP Dengan menggunakan OOP maka dapat melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (tersruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah depertemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misalkan manager tersebut ingin memperoleh data dari bagian administrasi, maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bagian administrasi untukmengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas administrasi. Jadi untuk penyelesaian suatu masalah dengan kolaborasi antara objek-objek yang ada karena setiap objek memiliki job descriptionnya sendiri.

2.6 BAHASA PEMROGRAMAN YANG MENDUKUNG OOP Bahasa pemrograman yang mendukung OOP antara lain: 2.6.1 Java Yang artinya semua aspek yang ada di java adalah objek. Java merupakan salah satu bahasa pemrograman berbasis objek secara murni. Semua tipe data diturunkan dari kelas dasar yang disebut objek. Hal ini sangat memudahkan pemrogram untuk mendesain membuat mengembangkan dan mengalokasi kesalahan sebuah program dengan basis java secara cepat tepat mudah dan terorganisir. Kelebihan ini menjadikan java sebagai salah satu bahasa pemrograman termudah bahkan untuk fungsi-fungsi yang advance seperti komunikasi antara komputer sekalipun 2.6.2 Pascal Pascal adalah bahasa pemrograman yang pertama kali dibuat oleh Prof. Niklaus wirth, seorang anggota international federation of information processing(IFIP) pada tahun 1971. Dengan mengambil nama dari

matematikawan prancis blaise pascal,yang pertama kali menciptakan mesin

penghitung Prof. Niklaus wirth membuat bahasa pascal ini sebagai alat bantu untuk mengajarkan konsep program komputer kepada mahasiswanya selain itu Prof. Niklaus membuat pascal juga untuk melengkapi kekurangan-kekurangan bahasa pemrograman yang ada saat itu. 2.6.3 C++ C++ adalah salah satu pemrograman komputer dibuat pada tahun 1980an oleh Bell Blabs atau (Bjame Stroustrup) sebagai pengembangan dari bahasa program C. Salah satu perbedaan yang paling mendasar dengan bahasa C adalah dukungan kepada konsep program berorientasi objek (Object Oriented Programing) 2.6.4 Microssoft Visual Basic.Net Microssoft Visual Basic.Net adalah sebuah alat untuk mengembangkan dan membangun plikasi yang bergerak diatas sistem Net frame work,dengan menggunakan bahasa basic dengan menggunakan alat ini para programmer dapat membangun aplikasi windows forms aplikasi web berbasis ASP.Net,dan juga aplikasi command-line. Alat ini dapat diperoleh secara terpisah dari beberapa produk lainnya (seperti microssoft visual C++,Visual C#,atau Visual J#) Atau juga dapa diperoleh secara terpadu dalam microssoft Visual studio.Net bahasa visual basic.Net sendiri menganut paradigma bahasa pemrograman berorientasi objek yang dapat dilihat sebagai evolusi dari microssoft visual basic versi sebelumnya yang diimplementasikan diatas Net frame work peluncurannya mengundang kontroversi mengingat banyak sekali perubahan yang dilakukan oleh microssoft dan versi baru ini tidak kompatibel dengan versi terdahulu.

2.6.5 PHP PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini PHP banyak dipakai untuk memrogram situs web dinamis walaupun tidak tertutup kemungkinan digunakan untuk pemakaian lain. 2.6.6 C# C# adalah java versi microssoft sebuah bahasa multi platform yang didesain untuk berjalan diberbagai mesin C# adalah program berorientasi object atau OOP C# memiliki kekuatan bahasa C++ dan portabilitas seperti java. 2.6.7 Delphi Delphi adalah sebuah bahasa pemrograman dan lingkungan

pengembangan perangkat lunak. Produk ini dikembangkan oleh Boorland( Sebelum dikenal sebagai Inprise ). Bahasa Delphi yang sebelumnya dikenal sebagai object pascal ( Pascal dengan ekstensi pemrograman berorientasi objek ( PBO / OOP ) ) Pada mulanya ditujukan hanya untuk microssoft windows namun saat ini telah mampu digunakan untuk mengembangkan aplikasi untuk zlinux dan Microsoft Net frame work dengan menggunakan free Pascal yang merupakan proyek open source bahasa ini dapat pula digunakan untuk membuat program yang berjalan disistem operasi MAC OS X dan Windows CE.

2.6.8 Ruby Ruby adalah bahasa pemrograman scripting yang berorientasi obyek. Tujuan dari ruby adalah menggabungkan kelebihan dari semua bahasa pahasa pemrograman scripting yang ada didunia.

BAB III : PEMBAHASAN 3.1 Class 3.1.1 Listing Program


#include <iostream> #include <conio.h> using namespace std; main() { class Hewan { private: int no; char nama[100],kls[100]; public: void datamasuk() { cout<<"Selamat Datang Di Kebun Binatang"<<endl; cout<<"Silahkan Isi Buku Tamu !"<<endl<<endl; Hewan Kebun_binatang; cout<<"Nomor Hewan : "; cin>>Kebun_binatang.no; cout<<"Nama Hewan : "; } void datakeluar() cout<<"=========================================="<<endl; cout<<"Nomor Hewan : "<<Kebun_binatang.no<<endl; cout<<"Nama Hewan : "<<Kebun_binatang.nama<<endl; cout<<"Kelas Hewan : "<<Kebun_binatang.kls<<endl; cout<<"=========================================="<<endl; } return 0; } cin>>Kebun_binatang.nama; cout<<"Kelas Hewan : "; cin>>Kebun_binatang.kls;

3.1.2 Penjelasan Program di atas user di minta untuk mengisi buku tamu mulai dari Nomor hewan,Nama Hewan,dan Kelas dari hewan, kemudian data yang telah di inputkan oleh user kemudian di tampilkan. Pada contoh di atas, nama kelasnya

adalah Hewan. Dalam kelas tersebut terdapat data no,nama dan kls, serta memiliki 2 member function yaitu datamasuk() dan datakeluar(). 3.2 Encapsulation 3.2.1 Listing Program
#include <iostream> using namespace std; class lahir { private: int sebelum,sesudah,Anak; public: int Ayam (int sebelum, int sesudah) { Anak = sebelum+sesudah; return Anak; } void perlihatkan() { cout << "Jumlah Anak Ayam Anda Di Kandang Adalah " << Anak << "\n";} }s; main() { lahir s; s.Ayam(10, 4); s.perlihatkan();

3.2.2 Penjelasan Berdasarkan program di atas user dapat mengetahui jumlah Anak Ayam yang ia miliki saat ini. Pada contoh ini objeknya adalah Ayam,sebelum,dan sesudah. Dalam program contohnya objek Anak,sebelum,sesudah tidak dapat di akses secara universal.

3.3 Inherintance 3.3.1 Listing Program

#include <iostream> using namespace std; class Hewan { public: void karakteristik (); }; class Singa : public Hewan { public: void spesifikasi (); }; class Macan : public Hewan { public: void sistem(); }; main() { Hewan aa; Singa bb; Macan cc; cout<<endl<<" spesifikasi dari Hewan adalah : "<<endl; aa.karakteristik(); cout<<endl<<" spesifikasi dari Singa adalah : "<<endl; aa.karakteristik(); bb.spesifikasi(); cout<<endl<<" spesifikasi dari Macan adalah : "<<endl; aa.karakteristik(); bb.spesifikasi(); cc.sistem(); } void Hewan:: karakteristik() { cout<<" Hewan "<<endl; cout<<" Perlu Makan "<<endl; } void Singa :: spesifikasi() { cout<<" Diatasnya Merupakan Pewarisan dari class Hewan"<<endl<<endl; cout<<" Perlu Makanan Dalam Bentuk Daging "<<endl; } void Macan :: sistem() {

cout<<" Diatasnya Merupakan Pewarisan dari class Singa"<<endl<<endl; cout<<" Cara MEneruskan Keturunan dengan Beranak } "<<endl;

3.3.2 Penjelasan
Pada listing program di atas kelas Hewan mewarisi sifatnya pada kelas singa dan macan. Dimana dalam kelas hewan memiliki sifat yaitu Perlu makan, dan kemudian sifat dari kelas Singa mewarisi sifatnya kepada kelas Macan dimana sifat singa yaitu Perlu Makanan dalam bentuk daging.

3.4 Object 3.4.1 Listing Program


#include <iostream> using namespace std; class Hewan { char* spesifikasi; public: //bagian implementasi dari fungsi tampil void tampil() { cout << "Jenis Hewan Yang Ada dalam Kebun Binatang :" << endl << spesifikasi; cout << endl; } //bagian implementasi dari fungsi Mamalia void Mamalia() { spesifikasi = " Singa "; } }; int main() { //membuat instance dari kelas hewan dengan nama tipe Hewan tipe;

//mengakses fungsi mamalia yang terdapat pada kelas hewan tipe.Mamalia(); //mengakses fungsi tampil yang terdapat pada kelas hewan tipe.tampil(); }

3.4.2 Penjelasan Dalam listing program di atas Hewan tipe berguna untuk membuat instance dari kelas hewan dengan nama tipe, tipe.Mamaliaberguna untuk mengakses fungsi mamalia yang terdapat pada kelas hewan,dan kemudian tipe.tampilberguna untuk mengakses fungsi tampil yang terdapat pada kelas hewan.

BAB IV : PENUTUP 4.1. KESIMPULAN Pada makalah ini Anda telah mengetahui konsep OOP, mengapa OOP disebut paradigma serta apa bedanya konsep pemrograman berorientasi objek dengan konsep pemrograman terstruktur. Anda juga telah belajar mendefinisikan sebuah kelas, mendefinisikan member fungsi dan member data Konsep OOP dengan C++ ,serta struktur konstruktor dan destruktor dari sebuah kelas. C++ juga menyediakan fasilitas jika Anda ingin membuat duplikat sebuah objek, yaitu menggunakan fasilitas CopyConstructor. Selain itu Anda juga telah belajar mendeklarasikan sebuah konstruktor dengan Initialization Lists,sehingga

pendeklarasian konstruktor Anda menjadi lebih efisien.

Anda mungkin juga menyukai