9

1

Modul Bahasa C++, harni_kus@yahoo.com

OBJECTS ORIENTED PROGRAMING

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 sendiri diberikan oleh Rick Mascitti pada musim . ! mengingat keportabilitas C yang trup! "aboratorium Bell! #T $ T! pada tahun 19%&. Bahasa ini bersi'at kompatibel dengan bahasa pendahulunya! C. (ama C panas 19%&. #dapun tanda berasal dari nama operator penaikan pada bahasa C

C diambil sebagai landasan dari C

memungkinkannya diterapkan pada berbagai mesin! dari PC hingga main'rame! serta pada berbagai sistem operasi )*+S! ,(-.! /0S dan sebagainya1. 2eistime3aan yang sangat berarti pada C Programming). Model Data Berorientasi Objek atau Object-Oriented Programming )++P1 merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan 'ungsi di dalam paradigma ini dibungkus dalam kelas4kelas atau objek4objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapa menerima pesan! memproses data! dan mengirim pesan ke objek lainnya. 0odel *ata berorientasi objek dikatakan dapat memberi 'leksibilitas yang lebih! kemudahan mengubah program! dan digunakan luas dalam teknik piranti lunak skala besar. "ebih jauh lagu! pendukung ++P mengklaim bah3a ++P lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya! dan pendekatan ++P lebih mudah dikembangkan dan dira3at. adalah karena bahasa ini mendukung pemrograman yang berorientasi objek atau OOP (Object Oriented

P,S#T P5(650B#(6#( B#7#( #8#9 : ,0B

Harni Kusniyati ST. C++

Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. • Polimorfisme 4 melalui pengiriman pesan. Setiap objek mengakses inter'ace yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Tidak bergantung kepada pemanggilan subrutin! bahasa orientasi objek dapat mengirim pesan> metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu P. Setiap objek dalam sistem melayani sebagai model dari ?pelaku? abstrak yang dapat melakukan kerja! laporan dan perubahan keadaannya! dan berkomunikasi dengan objek lainnya dalam sistem! tanpa mengungkapkan bagaimana kelebihan ini diterapkan. • Objek 4 membungkus data dan 'ungsi bersama menjadi suatu unit dalam sebuah program komputer> objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.com Pemrograman orientasi-objek menekankan konsep berikut: • Class .0B Harni Kusniyati ST. • Enkapsulasi 4 0emastikan 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. harni_kus@yahoo. kumpulan atas de'inisi data dan 'ungsi4'ungsi dalam suatu unit untuk suatu tujuan tertentu.2 Modul Bahasa C++.S#T P5(650B#(6#( B#7#( #8#9 : . Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non4programmer sekalipun terkait dengan domain permasalahan yang ada! dan kode yang terdapat dalam sebuah class sebaiknya )relati'1 bersi'at mandiri dan independen )sebagaimana kode tersebut digunakan jika tidak menggunakan ++P1. C++ . Proses! 'ungsi atau metode dapat juga dibuat abstrak! dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan. • Abstraksi 4 2emampuan sebuah program untuk mele3ati aspek in'ormasi yang diproses olehnya! yaitu kemampuan untuk mem'okus pada inti. +bjek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut. *engan modularitas! struktur dari sebuah program akan terkait dengan aspek4aspek dalam masalah yang akan diselesaikan melalui program tersebut. Sebagai contoh <class o' dog< adalah suatu unit yang terdiri atas de'inisi4de'inisi data dan 'ungsi4'ungsi yang menunjuk pada berbagai macam perilaku=turunan dari anjing.

-ni disebut polimor'isme karena sebuah @ariabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan! dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. 0isal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager! sekretaris! petugas administrasi data dan lainnya.0B Harni Kusniyati ST. harni_kus@yahoo. Contohnya! bila sebuah burung menerima pesan ?gerak cepat?! dia akan menggerakan sayapnya dan terbang.S#T P5(650B#(6#( B#7#( #8#9 : . • Inheritas4 0engatur polimor'isme dan enskapsulasi dengan mengijinkan objek dide'inisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada 4 objek4objek ini dapat membagi )dan memperluas1 perilaku mereka tanpa haru mengimplementasi ulang perilaku tersebut )bahasa berbasis4objek tidak selalu memiliki inheritas.1 • Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut)terstruktur1 tetapi objek4objek apa yang dapat melakukan pemecahan masalah tersebut. 8adi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek 4objek yang ada karena setiap objek memiliki job descriptionnya sendiri. +bjek sebenarnya mencerminkan pola kerja manusia dalam P.nit ini dikenal dengan nama object )objek1. 9.3 Modul Bahasa C++. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi.1 Ide Dasar OOP -de dasar pada bahasa berorientasi objek adalah mengkombinasikan data dan 'ungsi untuk mengakses data menjadi sebuah kesatuan unit.com di mana pesa tersebut dikirim. C++ . 7al ini berla3anan dengan bahasa 'ungsional yang mencapai polimor'isme melalui penggunaan 'ungsi kelas4pertama. . Bila seekor singan menerima pesan yang sama! dia akan menggerakkan kakinya dan berlari. 2eduanya menja3ab sebuah pesan yang sama! namun yang sesuai dengan kemampuan he3an tersebut.

Sebuah gambaran tentang objek yang berisi data dan 'ungsi yang memanipulasi data dapat dilihat pada gambar di ba3ah ini A mbr 1. *ata dan 'ungsi pemanipulasi data pada suatu objek P.com kehidupan sehari4hari. harni_kus@yahoo. 2ejadian semacam ini yang dihindari pada konsep pemrograman berorientasi objek. Barangkali anda malah bakal mengobrak4abrik berkas4berkas yang sudah tersusun rapi. Sebuah objek dapat diibaratkan sebagai departemen4departemen di dalam sebuah perusahaan bisnis. 0asalah bagaimana dan siapa yang mencarikan laporan yang diperlukan bukanlah menjadi urusan anda.0B Harni Kusniyati ST. Contoh departemen A ▪ ▪ ▪ Penjualan #kunting Personalia Pembagian departemen perusahaan merupakan upaya untuk memudahkan pengoperasian perusahaan. . Sebagai gambaran! jika anda seorang manajer penjualan di 2antor Pusat ingin mengetahui data personalia salesmen di suatu kantor cabang! apa yang anda lakukanB "angkah yang anda tempuh pasti tidak datang secara langsung ke ruang personalia dan mencari data pada berkas4berkas yang ada pada departemen tersebut. #nalogi dengan hal ini! kalau seseorang bermaksud menggunakan objek! ia cukup mengirim suatu pesan ke objek dan objek itu sendiri yang akan menanganinya.S#T P5(650B#(6#( B#7#( #8#9 : .4 Modul Bahasa C++.ntuk memudahkan tugas anda! anda cukup mengutus sekretaris anda untuk meminta in'ormasi dari departemen personalia sesuai yang anda butuhkan. C++ . Bisa dibayangkan! betapa repotnya anda kalau anda sebagai manajer penjualan harus mencari sendiri berkas4berkas yang ada pada departemen personalia.

e instans.&a. *engan kata lain! data bersi'at tersembunyi bagi 'ungsi4'ungsi diluar 'ungsi anggota.k1.. harni_kus@yahoo. Cungsi ini merupakan satu4satunya cara untuk mengakses terhadap anggota data dari objek. .! "#$ SI %$ O&%' M(&OD%' D%&%' )%RI%B(* I$S&%$S Pada bahasa berorientasi objek! data yang melekat dalam suatu objek biasa disebut +ariab. C++ . #dapun 'ungsi yang melekat pada suatu objek disebut -ungsi anggota )member function1. Contoh +bjek 9.ntuk membaca suatu anggota data! anda harus memanggil 'ungsi anggota. #dapun pemanggilan 'ungsi anggota P.5 Modul Bahasa C++. -stilah yang umum untuk 'ungsi anggota pada bahasa pemrograman berorientasi objek yaitu metoda )misalnya pada Sma.com #dapun gambar yang melukiskan hubungan antar objek yang menganalogikan struktur di perusahaan A mbr !.S#T P5(650B#(6#( B#7#( #8#9 : .0B Harni Kusniyati ST. Pada C ! istilah yang digunakan adalah data atau anggota data.

0B Harni Kusniyati ST.6 Modul Bahasa C++. 2arena alasan inilah C diciptakan dengan tujuan dapat menyederhanakan program tersebut dengan cara memecahnya ke dalam sub4sub program yang di namakan dengan kelas.III baris kode. 7al ini tentu akan menyebabkan program tersebut menjadi sangat kompleks dan susah untuk dipahami alurnya. *engan kata lain! kelas adalah kumpulan dari beberapa objek yang sama. 2elas itu sendiri kemudian dapat digunakn ulang dalam pembuatan program lain tanpa harus melakukan P.ass )kelas1. Sebagai analogi hal ini! anda barangkali mengenal nama4nama seperti #l 8arreau! Selena 8ones! dan 0ichael Crank. (amun istilah yang terakhir ini tidak biasa digunakan pada C . #dapun Fpenyanyi jaEEG menyatakan kelas. 1.0 OB1(2 D%$ 2(*%S . 9.com sering disebut pengiriman pesan ke objek.// *alam terminology pemrograman berorientasi objek! objek sebenarnya adalah anggota dari c. *engan kata lain! dalam bahasa prosedural kita akan lebih di'okuskan dengan! bagaimana membuat sebuah program. Secara sendiri4sendiri! mereka dapat diibaratkan objek. PBO /ariabel -nstans 0etoda *ata Cungsi #nggota &abe. Satu buah program yang ditulis! biasanya menggunakan bahasa C rata4rata berisi 2H. -stilah pada PB+ dan C 9. Da! mereka adalah penyanyi jaEE yang sangat kondang. *alam bahasa prosedural! untuk menyelesaikan salah satu masalah dalam program! kita harus membuat banyak 'ungsi yang tentunya akan memakan 3aktu dan konsentrasi kita.III sampai 1II.3 P(MO R%M%$ PROS(D#R%* D%$ OOP ++P merupakan suatu bentuk penyederhanaan dari bahasa prosedural sehingga program akan lebih mudah dikembangkan. harni_kus@yahoo. C++ .S#T P5(650B#(6#( B#7#( #8#9 : .

harni_kus@yahoo. *engan kelebihan ini programmer cukup menulis sebuah program ja@a dan dikompile )dirubah! dari bahasa yang dimengerti manusia menjadi P.com pengkodean ulang. 8adi untuk penyelesaian suatu masalah dengan kolaborasi antara objek4 objek yang ada karena setiap objek memiliki job descriptionnya sendiri. Salah satu hasil dari proyek ini adalah maskot *uke yang dibuat oleh 8oe Palrang. 9. Kelebihan : • 'Multiplatform. 9. Sebagai contoh anggap kita memiliki sebuah depertemen yang memiliki manager! sekretaris! petugas administrasi data dan lainnya.7 Modul Bahasa C++. C++ . Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas administrasi.S#T P5(650B#(6#( B#7#( #8#9 : .5 B%6%S% P(MRO R%M%$ 7%$ ! "a#a M($D#2#$ OOP Bahasa pemrograman yang mendukung ++P antara lainA Bahasa Pemograman 8a@a pertama! yang belum ber@ersi yang dinamakan juga +ak! lahir dari projek The 6reen Project! yang berjalan selama 1% bulan! dari mulai a3al tahun 1991 hingga musim panas 1992. 0isalkan manager tersebut ingin memperoleh data dari bagian administrasi! maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bagian administrasi untukmengambilnya.Proyek ini dimotori oleh Patrick (aughton! 0ike Sheridan! 8ames 6osling dan Bill 8oy beserta sembilan programmer lainnya dari Sun 0icrosystems. 2elebihan utama dari 8a@a ialah dapat dijalankan di beberapa plat'orm = sistem operasi komputer! sesuai dengan prinsip mereka 3rite once! run e@ery 3here.4 2(#$&#$ %$ M($ #$%2%$ OOP *engan menggunakan ++P maka dapat melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut )tersruktur1 tetapi objek4objek apa yang dapat melakukan pemecahan masalah tersebut. 0elalui cara ini! tentu kita akan lebih berkonsentrasi ke arah pembentukan program sehingga 3aktu yang dibutuhkan juga akan lebih cepat.0B Harni Kusniyati ST.

7al ini sangat memudahkan programmer untuk mendesain! membuat! mengembangkan dan mengalokasi kesalahan sebuah program dengan basis ja@a secara cepat! tepat! mudah dan terorganisir. 8a@a merupakan salah satu bahasa pemrograman berbasis object murni.com bahasa mesin =byte code1 1 kali lalu hasilnya dapat dijalankan di atas beberapa plat'orm tanpa perubahan. Salah satu perbedaan yang paling mendasar dengan bahasa C adalah dukungan terhadap konsep pemrograman berorientasi objek )+bject +riented Programming1. *ibuat pada tahun 19%I4an oleh Bell "abs )Bjarne Stroustrup1 sebagai pengembangan dari Bahasa pemrograman C.0B Harni Kusniyati ST.8 Modul Bahasa C++. $! C%% C adalah salah satu bahasa pemrograman komputer. • 'arbage $ollection! memiliki 'asilitas pengaturan penggunaan memori sehingga programmer tidak perlu melakukan pengaturan memori secara langsung. 2elengkapan library ini ditambah dengan keberadaan komunitas 8a@a yang besar yang terus menerus membuat library4library baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi. harni_kus@yahoo. P.S#T P5(650B#(6#( B#7#( #8#9 : . • !ibrar" Kelas #angat !engkap! 8a@a terkenal dengan kelengkapan library )kumpulan program program yang disertakan dalam pemrograman ja@a1 yang sangat memudahkan dalam penggunaan oleh para programmer untuk membangun aplikasinya.2elebihan ini memungkinkan sebuah program berbasis ja@a dikerjakan diatas operating system "inuJ tetapi dijalankan dengan baik di atas 0icroso't Kindo3s. • OO ! singkatan dari +bject +riented Programming yang artinya semua aspek yang terdapat di 8a@a adalah objek. C++ . Semua tipe data diturunkan dari kelas dasar +bject. Saat ini pengguna ja@a yang pindah ke 8a@a. Plat'orm yang didukung sampai saat ini adalah 0icroso't Kindo3s! "inuJ! 0ac +S dan Sun Solaris. • Berga"a $%%& memiliki sintaks seperti bahasa pemrograman C menarik banyak programmer C sangat banyak! sebagian besar adalah programmer C sehingga untuk pindah ke 8a@a. 2elebihan ini menjadikan ja@a sebagai salah satu bahasa pemograman termudah! bahkan untuk 'ungsi 'ungsi yang ad@ance seperti komunikasi antara komputer sekalipun.

. -de dasar Smalltalk meliputi A . P.. C++ . -.)-nternational +lympiad in -n'ormatics1. • #ederhana dan +kspresif! memiliki struktur yang sederhana dan sangat mendekati bahasa manusia )bahasa -nggris1 sehingga mudah dipelajari dan dipahami. #emua tersedia untuk dimodifikasi.0B Harni Kusniyati ST. harni_kus@yahoo. Selain itu masih digunakan di -+.S#T P5(650B#(6#( B#7#( #8#9 : . Pro'esor (iklaus Kirth membuat Pascal sebagai bantuan untuk mengajarkan konsep pemrograman kepda mahasis3anya.9 Modul Bahasa C++. Kelebihan : • (ipe Data #tandar! tipe4tipe data standar yang telah tersedia bahasa pemrograman. '! (malltalk Smalltalk adalah bahasa pemrograman berorientasi objek yang dikembangkan oleh . • • (erstruktur! memiliki sintaks yang memungkinkan penulisan program dipecah menjadi 'ungsi4'ungsi kecil )procedure dan 'unction1 yang dapat dipergunakan berulang4ulang. #emua adalah objek. Selain itu! Pro'esor (iklaus Kirth membuat Pascal juga untuk melengkapi kekurangan4kekurangan bahasa pemrograman yang ada pada saat itu..eroJ P#9C. Bahasa P#SC#" juga merupakan bahasa yang digunakan sebagai standar bahasa pemrograman bagi tim nasional +limpiade 2omputer -ndonesia )T+2-1. Objek bisa saling berkomunikasi melalui messages atau berita. Pascal memiliki tipe data standar boolean! integer! real! char! string! • )ser defined Data ("pes! programmer dapat membuat tipe data lain yang diturunkan dari tipe data standar.com &! Pascal Pascal adalah bahasa pemrograman yang pertama kali di buat oleh Pro'esor (iklaus Kirth! seorang anggota -nternational Cederation o' -n'ormation Processing )-C-P1 pada tahun 1971. #trongl"*t"ped! programmer harus menentukan tipe data dari suatu @ariabel! dan @ariabel tersebut tidak dapat dipergunakan untuk menyimpan tipe data selain dari 'ormat yang ditentukan.

P. Tujuan dari ruby adalah menggabungkan kelebihan dari semua bahasa pahasa pemrograman scripting yang ada didunia.9uby adalah bahasa pemrograman scripting yang berorientasi obyek. harni_kus@yahoo.0B Harni Kusniyati ST.com )! *+. C++ .10 Modul Bahasa C++.S#T P5(650B#(6#( B#7#( #8#9 : .