makalah oop

8

Click here to load reader

Upload: wong-gendeng-bin-edan

Post on 13-Jun-2015

2.512 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: makalah OOP

( MAKALAH )

Inheritance, Polymorphism, Enkapsulasi

Mata Kuliah Object Oriented Programming (OOP)

Dosen PembinaAgung Darmawan

Disusun oleh:

1. Ahmad Zainuri2. Ulil Albab3. Moh. Sholahuddin4.5.

UNIVERSITAS ISLAM LAMONGANFAKULTAS TEKNIK INFORMATIKA SEMESTER VKAMPUS PONDOK PESANTREN SUNAN DRAJAT

BANJARWATI PACIRAN LAMONGAN2009

Page 2: makalah OOP

A. PengenalanB. Pengertian

OBJECT ORIENTED PROGRAMMING

• Object-Oriented Programming (OOP) adalah sebuah pendekatan untuk pengembangan /

development suatu software dimana dalam struktur software tersebut didasarkan kepada interaksi

object dalam penyelesaian suatu proses/tugas. Interaksi tersebut mengambil form dari pesan-pesan

dan mengirimkannya kembali antar object tersebut. Object akan merespon pesan tersebut menjadi

sebuah tindakan /action atau metode. Bahasa pemrograman berbasis object menyediakan

mekanisme untuk bekerja dengan:

kelas dan object

methods

inheritance

polymorphism

reusability

Object-oriented programs terdiri dari objects yang berinteraksi satu sama lainnya untuk menyelesaikan

sebuah tugas. Seperti dunia nyata, users dari software programs dilibatkan dari logika proses untuk

menyelesaikan tugas. Contoh, ketika kamu mencetak sebuah halaman diword processor, kamu berarti

melakukan inisialisasi tindakan dengan mengklik tombol printer. Kemudian kamu hanya menunggu

respon apakah job tersebut sukses atau gagal, sedangkan proses terjadi internal tanpa kita ketahui.

Tentunya setelah kamu menekan tombol printer, maka secara simultan object tombol tersebut berinteraksi

dengan object printer untuk menyelesaikan job tersebut.

Mengapa menggunakan OOP?

Mengapa OOP dibangun dalam sebuah paradigma yang luas untuk menyelesaikan masalah bisnis?

Bahasa prosedural mengatur program dalam mode barisan linier yang bekerja dari atas ke bawah. Dengan

kata lain, program adalah kumpulan dari tahapan yang dijalankan setelah yang lain berjalan.

Programming tipe ini bekerja dengan baik untuk program kecil yang berisi code relative sedikit, tetapi

pada saat program menjadi besar, mereka cenderung susah untuk di-manage dan di-debug. Dalam usaha

untuk me-manage program, struktur programming diperkenalkan cara untuk mem-break down code-code

tersebut melalui functions dan procedures.

Ini adalah sebuah langkah perbaikan, namun pada saat program dijalankan dalam sebuah fungsi bisnis

yang kompleks dan berinteraksi dengan sistem lain, maka kelemahan dari struktur metodologi

programming muncul kepermukaan meliputi:

Page 3: makalah OOP

1. Programs menjadi lebih susah untuk dimaintain.

2. Fungsi yang tersedia, susah untuk diubah tanpa harus mempengaruhi fungsi sistem secara

keseluruhan.

3. Programming tidak baik untuk team development. Programmers harus mengetahui setiap aspek

bagaimana program itu bekerja dan tidak menyebabkan terisolasi usaha mereka atas aspek

yang lain dari sistem.

4. Butuh usaha yang keras untuk menterjemahkan Business Models dalam programming models.

dll

Karakteristik OOP

Dalam section ini, kita akan melihat beberapa konsep dasar dan term-term yang umum untuk

seluruh bahasa OOP.

Objects

Jika kita pikir maka kita sekarang hidup dalam sebuah dunia object-oriented. Kamu adalah object.

Kamu berinteraksi dengan object lain. Untuk menulis tugas ini kami berinteraksi dengan object

komputer. Ketika saya bangun pagi, saya merespon pesan suara object alarm jam. Faktanya, kamu adalah

object dengan data-data seperti tinggi dan warna rambut. Kamu mempunyai metode-metode yang kamu

akan lakukan, seperti makan dan berjalan.

Jadi, apa itu objects? Dalam term OOP, object adalah sebuah structure yang menggabungkan data dan

prosedur untuk bekerja bersama-sama. Contoh, jika kamu tertarik dalam pelacakan data yang

dihubungkan dengan produk, kamu akan menciptakan sebuah object produk yang bertanggung jawab

untuk me-maintenance dan bekerja dengan data yang bersinggungan dengan produk. Jika kamu ingin

kemampuan mencetak dalam aplikasi kamu, kamu harus bekerja dengan sebuah object printer yang

bertanggung jawab untuk data serta metode yang digunakan untuk berinteraksi dengan printermu.

Abstraction

Ketika kamu berinteraksi dengan object-object di dunia ini, kamu sering hanya konsentrasi dengan

sebuah bagian dari propertiesnya. Tanpa kemampuan untuk mensarikan/abstract atau menyaring untuk

dibuang properties object yang asing / tidak ada hubungannya, maka kamu akan menemukan kesulitan

untuk memproses informasi yang kebanyakan membombarding kamu. Sebagai hasil abstraction, ketika 2

orang berbeda berinteraksi dengan object yang sama, mereka sering setuju dengan bagian yang berbeda

atas atribut. Ketika kami mengendarai mobil, kami perlu tahu kecepatan serta tujuan yang akan dicapai.

Karena mobil itu otomatis, maka kami tidak perlu tahu berapa RPMs dari mesinnya, jadi kami akan

membuang informasi ini. Tapi informasi ini sangat diperlukan oleh mekanik atau pembalap.

Page 4: makalah OOP

Ketika membangun objects dalam aplikasi OOP, adalah penting untuk menggabungkan konsep

abstraction ini. Jika kamu membangun aplikasi shipping, kamu harus membangun object produk dengan

atribut seperti ukuran dan berat. Warna adalah contoh informasi yang tidak ada hubungannya dan harus

dibuang. Tetapi ketika kamu membangun order-entry application, warna menjadi penting dan harus

termasuk atribut object produk.

Encapsulation

Ciri penting lainnya dari OOP adalah encapsulation. Encapsulation adalah sebuah proses dimana

tidak ada akses langsung ke data yang diberikan, bahkan hidden. Jika kamu ingin mendapat data, kamu

harus berinteraksi dengan object yang bertanggung jawab atas dara tersebut. Dalam contoh inventory, jika

kita ingin melihat atau mengupdate informasi atas produk, kita seharusnya bekerja melalui object produk.

Untuk membaca data, kita mengirimkan pesan ke object produk, kemudian object produk akan membaca

pesan dan mengirim pesan balik ke kamu.

Object produk mendefinisikan bahwa operasi dapat dilakukan pada data produk. Jika kamu mengirim

pesan untuk memodifikasi data dan jika object produk menentukan bahwa permintaan itu valid maka

permintaan tersebut akan dilakukan dan akan mengirimkan pesan balik bersama hasilnya.

Pikirkan mengenai Human Resource Department (HRD), yang meng-encapsulasi informasi mengenai

karyawan. Mereka menentukan bagaimana data ini dapat digunakan da dimanipulasi. Setiap permintaan

data karyawan atau permintaan untuk mengupdate datanya harus dijalankan melalui mereka. Contoh lain,

network security. Setiap permintaan informasi security atau perubahan kebijakan security harus dilakukan

melalui network administrator. Data security di-encapsulate dari user network.

Dengan melakukan encapsulasi pada data, berarti kamu membuat data dari sistemmu lebih secure dan

terpercaya. Karena kamu mengetahui bagaimana data diakses dan operasi apa yang sedang berjalan pada

data. Hal ini membuat maintenance program menjadi lebih mudah. Kamu juga dapat memodifikasi

metode yang digunakan untuk kerja pada data, dan jika kamu tidak merubah bagaimana metode itu

diminta dan tipe response dikirim balik, maka kamu tidak dapat merubah object lain dengan menggunakan

metode tersebut. Pikirkan ketika kamu mengirim surat melalui pos. Kamu membuat permintaan ke kantor

pos agar mengantar surat, dan bagaimana kantor pos menyelesaikannya kita tidak perlu tahu. Jika ada

perubahan rute yang digunakan, maka hal itu tidak mempengaruhi keinginan untuk kirim surat lewat

kantor pos. Kamu tidak perlu tahu prosedur internal yang digunakan oleh kantor pos untuk mengantar

surat.

Polymorphism

Polymorphisms adalah kemampuan 2 buah object yang berbeda untuk merespon pesan permintaan

yang sama dalam suatu cara yang unik. Contoh, saya melatih anjing saya dengan perintah untuk

menggonggong dan juga saya melatih burung untuk merespon perintah saya untuk berkicau. Saya lakukan

Page 5: makalah OOP

latihan untuk merespon kepada mereka dengan perintah lisan. Melalui polymorphism saya tahu bahwa

anjing dan burung akan merespon dengan gonggongan atau kicauan.

Bagaimana hal ini berhubungan dengan OOP? Kamu dapat membuat objects yang dapat merespon pesan

yang sama dalam implementasi yang unik. Contohnya, kamu dapat mengirim pesan print ke object printer

yang akan mencetak pada printer, dan kamu juga dapat mengirim pesan yang sama ke object screen yang

akan menuliskan pada screen monitor. Dalam OOP, kamu menerapkan tipe polymorphism melalui proses

yang disebut overloading. Kamu dapat mengimplementasikan metode yang berbeda pada sebuah object

yang mempunyai nama yang sama.

Inheritance

Banyak objects diklasifikasikan menurut hirarki. Contoh, kamu dapat mengklasifikasikan sebuah mobil

yang mempunyai karakteristik umumnya mobil, seperti mempunyai ban, mesin, serta body. Keturunan

berikutnya diklasifikasikan dengan atribut umum seperti ukuran, jumlah roda, isi silinder dll atau

mengklasifikasikan mereka atas dasar daya angkutnya. Contoh, ada kendaraan komersial atau kendaraan

pribadi, ada truk atau mobil penumpang. Kamu menggunakan inheritance dalam OOP untuk

mengklasifikasikan objects dalam program sesuai karakteristik umum dan fungsinya. Hal ini akan

membuat pekerjaan bersama object lebih mudah dan lebih intuitif. Hal ini juga membuat programming

lebih mudah karena memungkinkan kita untuk mengkombinasikan karakteristik umum kedalam object

parent dan mewariskan karakteristik ini ke child object.

Aggregation

Aggregation adalah kondisi ketika object berisi gabungan dari object-object yang berbeda dan

bekerja bersama. Contoh mesin pemotong rumput terdiri dari object roda, objects mesin, object pisau dll.

Object mesinpun merupakan gabungan dari berbagai object. Kemampuan untuk menggunakan

aggregation dalam OOP adalah satu feature yang powerful yang memungkinkan model menjadi akurat.

Konsep dari object oriented programming (OOP) adalah lebih dari sekedar sebuah konsep pemrograman,

Object oriented programming adalah cara berpikir tentang aplikasi yang mempelajari untuk berpikir

bahwa aplikasi bukan sekedar prosedur melainkan sebagai object dan real entity. Object yang dimaksud

disini memiliki pengertian suatu modul yang mengkombinasikan antara data dan kode program yang

bekerja sama dalam program dengan melewatkan proses satu sama lain. Jadi object oriented programming

merupakan cara yang paling efisien untuk menulis program komputer yang sangat mudah untuk di

kombinasikan dan untuk dipergunakan kembali.

Object oriented programming lebih memfokuskan kepada manipulasi object. Kenapa seorang programmer

harus mempelajari object oriented programming bahkan seorang programmer yang tidak pernah bekerja

dengan object oriented programing pun harus mempelajarinya juga. Hal ini dikarenakan pada suatu hari

nanti semua bahasa pemrograman akan menambahkan kemampuan object oriented programming pada

bahasanya. Object oriented programming yang paling populer adalah java dan C++, tetapi visual basic pun

Page 6: makalah OOP

sudah ikut menambahakan kemampuan ini sejak meluncurkan VB 4.0. Pada kesempatan kali ini kita

hanya akan membahas tentang visual basic dan C++ saja. Sesuai dengan namanya object oriented

programming maka konsep object merupakan jantung dari object oriented programming.