konsep dasar pemograman berorientasi objek

26
KONSEP DASAR PEMOGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi objek (object-oriented programming disingkat OOP) merupakan pemograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Setiap objek dapat 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. Istilah-istilah dalam OOP : Kelas atau Class : 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 non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan

Upload: desy-awalia

Post on 25-Nov-2015

44 views

Category:

Documents


4 download

DESCRIPTION

oop

TRANSCRIPT

KONSEP DASAR PEMOGRAMAN BERORIENTASI OBJEK (OOP)

Pemrograman berorientasi objek(object-oriented programmingdisingkatOOP) merupakanpemogramanyang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalamkelas-kelasatauobjek-objek. Setiap objek dapat menerimapesan, 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 lunakskala 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.Istilah-istilah dalam OOP : Kelas atau Class: 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 non-programmer 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. Objek : membungkus data dan fungsi bersama menjadi suatu unit dalam sebuahprogram komputer, objekmerupakan dasar darimodularitasdanstrukturdalam sebuah program komputer berorientasi objek. Abstraksi : kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. 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. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan. 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 izin untuk mengakses keadaannya. Setiap objek mengaksesinterfaceyang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut. Polomorfismemelalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel 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. Hal ini berlawanan denganbahasa fungsionalyang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.

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 bagian 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 deskripsi tugasnya sendiri.Salah satu pemograman pendukung OOP adalah bahasa pemograman Java.Javaadalahsalah satu bahasa pemogramanOOP. Bahasa ini awalnya dibuat olehJames Gosling. Bahasa ini banyak mengadopsi sintaksis yang terdapat padaC dan C++namun dengan sintaksis model objek yang lebih sederhana serta dukungan rutin-rutin aras bawah yang minimal. Aplikasi-aplikasi berbasis java umumnya dikompilasi ke dalamp-code(bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM). Java merupakan bahasa pemrograman yang bersifat umum/non-spesifik (general purpose), dan secara khusus didisain untuk memanfaatkan dependensi implementasi seminimal mungkin. Karena fungsionalitasnya yang memungkinkan aplikasi java mampu berjalan di beberapa platformsistem operasi yang berbedayang berbeda, java dikenal pula dengan slogannya, "Tulis sekali, jalankan di mana pun". Saat ini java merupakan bahasa pemrograman yang paling populer digunakan, dan secara luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak aplikasi ataupun aplikasi berbasis web.Versi awal Java ditahun 1996sudah merupakan versi release sehingga dinamakan Java Versi 1.0. Java versi ini menyertakan banyak paket standar awal yang terus dikembangkan pada versi selanjutnya: java.lang: Peruntukan kelas elemen-elemen dasar. java.io: Peruntukan kelasinputdanoutput, termasuk penggunaan berkas. java.util: Peruntukan kelas pelengkap seperti kelas struktur data dan kelas kelas penanggalan. java.net: Peruntukan kelasTCP/IP, yang memungkinkan berkomunikasi dengan komputer lain menggunakan jaringan TCP/IP. java.awt: Kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI) java.applet: Kelas dasar aplikasi antar muka untuk diterapkan pada penjelajah web.Kelebihan bahasa pemograman Java antara lain : Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapaplatform/sistem operasikomputer, sesuai dengan prinsiptulis sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin /bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan diatas operating system Linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform yang didukung sampai saat ini adalahMicrosoft Windows,Linux,Mac OSdanSun Solaris. Penyebanya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk meninterpretasikanbytecodetersebut. OOP(Object Oriented Programming- Pemrogram Berorientasi Objek) Perpustakaan Kelas Yang Lengkap, Java terkenal dengan kelengkapanlibrary/perpustakaan(kumpulan program program yang disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi. Bergaya C++, memiliki sintaks seperti bahasa pemrogramanC++sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java. Universitas-universitas diAmerika Serikatjuga mulai berpindah dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer. Pengumpulan Sampahotomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas).

Selain mempunyai kelebihan seperti yang sudah dijelaskan di atas, pemograman Java juga mempunyai kekurangan yaitu : Tulis sekali, jalankan di mana saja- Masih ada beberapa hal yang tidak kompatibel antaraplatformsatu denganplatformlain. UntukJ2SE, misalnyaSWT-AWT bridgeyang sampai sekarang tidak berfungsi padaMac OS X. Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakanbytecodeyang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi padaMicosoft, NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer. Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++danPascal(lebih spesifik lagi,DelphidanObject Pascal). Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.Banyak pihak telah membuat IDE (Integrated Development Environment - Lingkungan Pengembangan Terintegrasi) untuk Java. Yang populer saat ini (Juli 2006) antara lain: Dr. Java, program gratis yang dikembangkan oleh Universitas Rice, Amerika Serikat BlueJ, program gratis yang dikembangkan oleh Universitas Monash, Australia NetBeans (open source- Common Development and Distribution License (CDDL)) NetBeans disponsori Sun Microsystems, dan versi terkininya memilki Matisse, sebuah GUI Editor yang menurut pendapat umum merupakan yang terbaik.[rujukan?] Eclipse JDT (open source- Eclipse Public License) Eclipse dibuat dari kerja sama antara perusahaan-perusahaan anggota 'Eclipse Foundation' (beserta individu-individu lain). Banyak nama besar yang ikut dalam 'Eclipse Foundation', termasuk IBM, BEA, Intel, Nokia, Borland. Eclipse bersaing langsung dengan Netbeans IDE. Plugin tambahan pada Eclipse jauh lebih banyak dan bervariasi dibandingkan IDE lainnya. IntelliJ IDEA (commercial, free 30-day trial) Oracle JDeveloper (free) Xinox JCreator (ada versi berbayar maupun free) JCreator ditulis dalam C/C++ sehingga lebih cepat (dan menggunakan memori lebih sedikit) dari kebanyakan IDE.(Sumber :http://en.wikipedia.org)Contoh penulisan bahasa pemograman Java :public class identitas{String Nama,WarnaRambut,TinggiBadan,BeratBadan;int Umur;

public static void main(String[]args){identitas Obj = new identitas();Obj.Nama = "XXXXXXX";Obj.WarnaRambut="XXXX";Obj.TinggiBadan="155";Obj.BeratBadan="50";Obj.Umur=24;

System.out.println("Nama Lengkap : " + Obj.Nama);System.out.println("Warna Rambut : " + Obj.WarnaRambut);System.out.println("Tinggi Badan : " + Obj.TinggiBadan + " Cm");System.out.println("Berat Badan : " + Obj.BeratBadan + " Kg");System.out.println("Umur : " + Obj.Umur);}}

Dasar Pemrograman Berorientasi Objek (PBO) Pada artikel sebelumnya saya telah menyampaikan mengenai perulangan (loop) , kali ini saya akan menyampaikan materi dasar pemrograman berorentasi objek.Apa yang di maksud dengan Pemrograman Berorientasi Objek?Pemrograman Beroroentasi Objek adalah sebuah paradigma pemrograman yang berorientasikan kepada objek.Semua atribut, prosedur dan fungsi dibungkus dalam objek.Interaksi tiap data, prosedur dan fungsi dilakukan melalui objek.

KelasPengenalan KelasKelas merupakan kerangka kode yang berisikan struktur atribut, struktur prosedur dan struktur fungsi yang digunakan untuk membuat objek.Sebuah kelas dapat menghasilkan lebih dari satu objek.Membuat KelasNama kelas harus sama dengan nama File.Nama kelas tidak boleh mengandung huruf unik (@, #, $, %, &, dll) dan huruf whitespace (spasi, enter, tab, dll)class NamaKelas { // isi kelas }

ObjekPengenalan ObjekObjek merupakan hasil instansiasi dari kelas.Untuk membuat objek, di Java dapat menggunakan perintah new.Atribut, metode dan fungsi yang dimiliki oleh objek, hanya yang dideklarasikan dalam kelas.Membuat ObjekObjek merupakan variabel yang memiliki tipe data Kelas Kriteria pembuatan objek sama seperti pembuatan variabel.NamaKelas object = new NamaKelas();

AtributAtribut merupakan data atau sifat yang dimiliki oleh sebuah kelas.Atribut dibuat layaknya sebuah variabel. Membuat Atributclass NamaKelas { TipeData namaAtribut; }Manipulasi AtributAtribut dapat diakses lewat kelas. Untuk mengakses atribut, dapat menggunakan tanda . (titik) NamaKelas objek = new NamaKelas(); objek.namaAtribut = ;

KonstantaSebuah atribut dapat dijadikan sebagai konstanta.Caranya sama dengan membuat variabel konstanta, yaitu dengan menambahkan perintah final. Membuat Konstantaclass NamaKelas { TipeData namaAtribut; final TipeData namaKonstanta = ; }

ProsedurProsedur merupakan sebuah kode program yang dapat digunakan untuk menjalankan instruksi program dalam sebuah kelas.Sebuah kelas dapat memiliki lebih dari satu prosedur.Nama prosedur tidak boleh sama dengan prosedur lain.Membuat Prosedurclass NamaKelas { void namaProsedur(){ // isi prosedur } }Menggunakan ProsedurNamaKelas objek = new NamaKelas();objek.namaProsedur();

FungsiFungsi merupakan kode program yang digunakan untuk menghasilkan sesuatu.Untuk mengembalikan hasil, dapat menggunakan perintah return diikuti dengan data yang dihasilkan.Fungsi hanya dapat menghasilkan sebuah nilai.Sebuah kelas dapat memiliki lebih dari satu fungsi.Nama fungsi tidak boleh sama dengan fungsi yang lain.Membuat Fungsiclass NamaKelas { TipeData namaFungsi(){ // kode program return hasil; } }Menggunakan FungsiNamaKelas objek = new NamaKelas(); TipeData hasil = objek.namaFungsi();

ParameterParameter merupakan data yang dapat disisipkan ke dalam prosedur dan fungsi.Jumlah parameter dalam prosedur dan fungsi dapat lebih dari satu.Membuat Parameterclass NamaKelas { void NamaProsedur(TipeData parameter){ // kode program } TipeData namaFungsi(TipeData param1, TipeData param2){ // kode program return hasil; }}Menggunakan ParameterNamaKelas objek = new NamaKelas();objek.namaProsedur(String);TipeData hasil = objek.namaFungsi(100, 300);TIpeData variabel = ;objek.namaProsedur2(variabel);

thisKata Kunci thisKata kunci this digunakan untuk mengakses kelas itu sendiri.Biasanya kata kunci this digunakan ketika mengakses sebuah sebuah atribut kelas, dimana nama atribut tersebut sama dengan nama parameter. Menggunakan thisclass NamaKelas { String nama; void ubahNama(String nama){ this.nama = nama; } }

OverloadingOverloading merupakan kemampuan membuat prosedur dan fungsi dengan nama yang sama, namun berbeda jumlah parameter.Parameter dengan jumlah yang sama diperbolehkan dengan ketentuan tipe data parameternya harus berbeda. Membuat Overloading (1)class NamaKelas { void NamaProsedur(){ } void NamaProsedur(TipeData param){ } void NamaProsedur(TipeData param1, TipeData param2){ }}Membuat Overloading (2)class NamaKelas { TipeData namaFungsi(){ return hasil; } TipeData namaFungsi(TipeData param){ retur hasil; } TipeData namaFungsi(TipeData param1, TipeData param2){ return hasil; }}Menggunakan OverloadingNamaKelas objek = new NamaKelas();objek.namaProsedur();objek.namaProsedur(String); objek.namaProsedur(100, 200); TipeData hasil1 = objek.namaFungsi();TipeData hasil2 = objek.namaFungsi(String);TipeData hasil3 = objek.namaFungsi(100, 200);

KonstruktorKonstruktor merupakan prosedur yang diakses secara langsung ketika membuat sebuah objek dibuat.Konstruktor dapat memiliki parameter dan juga dapat di overloading.Nama konstruktor harus sama dengan nama kelas. Membuat Konstruktorclass NamaKelas { NamaKelas(){ } // overloading konstruktor NamaKelas(TipeData parameter){ } }Menggunakan KonstruktorNamaKelas objek1 = new NamaKelas();NamaKelas objek2 = new NamaKelas(parameter);

PaketPaket merupakan fitur yang dapat digunakan untuk memanajemen file Kelas.Biasanya kelas-kelas yang sejenis dikumpulkan dalam sebuah paket, misal kelas-kelas data disimpan dalam paket data, kelas-kelas form disimpan dalam paket gui, dan sebagainya. Membuat PaketMembuat paket dilakukan pada kelas, dan dapat menggunakan perintah package diikuti dengan nama paket nya.package namapaket;class NamaKelas { }Paket BertingkatSebuah paket dapat dibuat didalam paket lagi dengan menggunakan tanda . (titik).package paket.subpaket;class NamaKelas { }Mengakses Kelas dari Luar PaketSecara default, sebuah kelas tidak dapat menggunakan kelas yang berada dalam luar paket.Untuk menggunakan kelas di luar paket, perlu menggunakan perintah import diikuti dengan nama paket dan kelasnya.import namapaket.subpaket.NamaKelas;NamaKelas objek = new NamaKelas();

VisibilityVisibility merupakan kemampuan untuk mengontrol sebuah akses ke kelas, atribut, prosedur dan fungsi.Java mendukung beberapa visibility, yaitu :- Default- Public- Private, dan - Protected Hak Akses VisibilityVisibility Kelas Paket Sub Kelas Umum

Private Y

Default Y Y

Protected Y Y Y

Public Y Y Y Y

Visibility PublicMembuat Publicpublic class NamaKelas { public TipeData namaAtribut; public void namaProsedur(){ } public TipeData namaFungsi(){ return hasil; } }Visibility PrivateMembuat Privatepublic class NamaKelas { private TipeData namaAtribut; private void namaProsedur(){ } private TipeData namaFungsi(){ return hasil; } }

StaticKata Kunci staticKata kunci static dapat digunakan untuk membuat sebuah atribut, fungsi dan prosedur dapat diakses secara langsung tanpa membuat objek.Atribut, fungsi dan prosedur yang telah diberi kata kunci static, tidak akan dapat mengakses data pada kelas tersebut secara langsung. Membuat staticpublic class NamaKelas { public static TipeData namaAtribut; public static void namaProsedurStatic(){ } public static TipeData namaFungsiStatic(){ return hasil; } }Menggunakan static// atribut staticNamaKelas.namaAtributStatic;// prosedur staticNamaKelas.namaProsedurStatic();// fungsi static TipeData hasil = NamaKelas.namaFungsiStatic();

EnumEnum merupakan jenis kelas yang hanya memiliki atribut dia sendiri.Enum digunakan sebagai pengganti konstanta. Membuat Enumpublic enum NamaEnum{ ENUM_SATU, ENUM_DUA, ENUM_TIGA, ENUM_EMPAT }Menggunakan Enum (1)public class NamaKelas { public NamaEnum atribut; }Menggunakan Enum (2)NamaKelas objek = new NamaKelas();// mengubah atribut enum objek.atribut = NamaEnum.ENUM_SATU;

EnkapsulasiMemastikan atribut objek tidak dapat diubah dan diakses secara langung.Hanya prosedur dan fungsi tertentu yang diberi izin untuk mengakses dan mengubah atribut objek. Contoh Enkapsulasipublic class Orang { private String nama; public void ubahNama(String nama){ this.nama = nama; } public String tanyaNama(){ return this.nama; } }

Java BeansJava Beans merupakan implementasi dari enkapsulasi. Dalam Java Beans semua atribut dibuat menjadi private.Untuk mengakses atribut dibuat fungsi getNamaAtribut.Untuk mengubah atribut dibuat prosedur setNamaAtribut.Untuk nilai boolean, fungsi yang dibuat adalah isNamaBoolean. Contoh Java Beans (1)public class Orang { private String nama; public String getNama(){ return this.nama; }; public void setNama(String nama){ this.nama = nama; }}Contoh Java Beans (2)public class Orang { private boolean menikah; public boolean isMenikah(){ return this.menikah; } public void setMenikah(boolean menikah){ this.menikah = menikah; }}

Inner ClassInner Class merupakan kelas yang terdapat dalam sebuah kelas.Cara membuat inner class sama seperti membuat kelas biasa, yang membedakan adalah kelas tersebut berada dalam blok kelas yang sudah ada. Membuat Inner Classpublic class NamaKelas { // isi kelas public class NamaInnerClass{ // isi inner class } }Menggunakan Inner ClassNamaKelas o1 = new NamaKelas();NamaInnerClass o2 = o1.new NamaInnerClass()

Static Inner ClassKata kunci static dapat juga digunakan untuk sebuah inner class.Dengan menggunakan kata kunci static, maka inner class tidak akan bergantung lagi pada outer class. Membuat Static Inner Classpublic class NamaKelas { // isi kelas public static class NamaInnerClass{ // isi inner class } }Menggunakan Static Inner ClassNamaKelas.NamaInnerClass objek = new NamaKelas.NamaInnerClass();

http://www.slideshare.net/daffa12/pengenalan-oop?fb_action_ids=10200763863994614&fb_action_types=slideshare%3Adownload&fb_source=other_multiline&action_object_map={%2210200763863994614%22%3A468312223189529}&action_type_map={%2210200763863994614%22%3A%22slideshare%3Adownload%22}&action_ref_map=[]

http://auliarosalinda.blogspot.com/2013/03/konsep-dasar-pemograman-berorientasi.html

http://javaprogkomp.blogspot.com/2013/04/dasar-pemrograman-berorientasi-objek-pbo.html