Pemograman berorientasi obyek kelompok 6
Transcript of Pemograman berorientasi obyek kelompok 6
TENTANG
PEMROGRAMAN BERORIENTASI
OBYEK (PBO)
AZMI RIZALAISYAH DWI LESTARI
SYAFRIZAL FEBRIANTO
PENGANTAR TEKNOLOGI INFORMAsi
A.Pemrograman berorientasi objek (PBO)
Pemrograman berorientasi objek (Inggris: object-oriented
programming disingkat OOP) merupakan paradigma pemrograman
yang berorientasikan kepada objek. Semua data dan fungsi di dalam
paradigma ini dibungkus dalam kelas-kelas atau objek-objek.
Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat
menerima pesan, memproses data, dan mengirim pesan ke objek
lainnya.
Pemrograman berorientasi objek adalah merupakan sebuah metode
yang digunakan untuk mendapatkan solusi dari suatu masalah melalui
perspektif object. Object ini memiliki atribut dan method yang
digunakan bersama dengan object yang lain sehingga menghasilkan
solusi untuk sebuah permasalahan.
Page 1
1.Perbedaan PBO dan
Pemrograman Berorientasi Objek
Pada pemrograman berorientasi object memungkinkan kita membagi-bagi permasalah
berdasarkan object-oject yang terlibat. mendefinisikan peran masing masing objek
dalam proses penyelesaian masalah. Sehingga dapat diambil suatu pokok dasar bahwa
titik berat pemrograman berorientasi object adalah pembagian tanggung jawab kepada
masing masing object dan bukan pembagian berdasarkan proses kerja.
Bahasa pemrograman yang mendukung OOP antara lain:
• Visual Foxpro
• Java
• C++
• Pascal (bahasa pemrograman)
• Visual Basic.NET
• SIMULA
• Smalltalk
• Ruby
• Python
Page 2
• PHP
• C#
• Delphi
• Eiffel
• Perl
• Adobe Flash AS 3.0
B.Pemrograman Procedural
Pada pemrograman prosedural secara mendasar adalah
metode pemrograman yang mengeluarkan perintah yang
akan dieksekusi oleh komputer. Secara garis besarnya
pemrograman prosedural menitik beratkan penyelesaian
berdasarkan urutan-urutan proses kerja. Pemrograman
Procedural adalah suatu proses untuk mengimplementasikan
urutan langkah untuk menyelesaikan suatu masalah dalam
bentuk program. Selain pengertian diatas Pemrograman
Procedural adalah suatu aktifitas pemrograman dengan
memperhatikan urutan langkah-langkah perintah secara
sistematis, logis.Page 3
Bahasa pemrograman yang mendukung pemrograman terstruktur:
• Cobol Turbo Prolog
• C
• Pascal
Perbedaan Pemrograman Prosedural dengan
Pemrograman Berorientasi Object
Bagaimana kita membedakan mana yang pemrograman prosedural dan
mana yang pemrograman berorientasi object. Berikut sekilas
perbedaannya :
Page 4
• Delphi
• Borland Delphi
A.Pengertian objek dalam PBO
Objek dalam PBO yaitu 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.
B.Objek dan Kelas
Objek yaitu 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.
Kelas yaitu 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.
Page 5
2.Konsep Dasar PBO
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.
Page 6
C.Abstraksi
Abstraksi adalah 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.
Sebagai contoh, orang tidak perlu berpikir bahwa mobil adalah
kumpulan dari puluhan atau ribuan bagian-bagian kecil (mesin, kabel,
baut, roda, rem, dsb).
Page 7
Contoh abstraksi dalam model pemrograman berorientasi
objek, kita sebagai programmer atau pengembang program
tidak perlu tahu secara detail bagaimana cara membuat
sebuah tombol, yang perlu kita ketahui adalah bagaimana
cara menggunakan objek tombol yang sudah ada (baik
data/propeti maupun method-nya). dalam kasus ini, si
pembuat objek telah mengabstraksikan semua proses yang
berkaitan dengan pembuatan tombol.
Page 8
D.Enkapsulasi
Enkapsulasi adalah 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.
E.Inheritansi
Inheritance/Inheritansi adalah salah satu konsep utama dalam
Pemrograman Berorientasi Objek. Inheritance memperbolehkan
penggunaan kembali kode-kode yang ada pada Base Class nya untuk
diturunkan pada Derived Class. Class baru disebut Derived Class
sedangkan class awal disebut Based Class. Inheritance ini diawali
dengan mendefinisikan superclass,
Page 9
F.Polimorfisme
Melalui 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.Page 10
Page 11
3.Aplikasi dasar PBO
A.Abstraksi dengan objek dan kelas1).Abstraksi
Abstraksi adalah 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.
Page 12
3.Aplikasi dasar PBO
2).Objek
Objek adalah entitas dasar saat runtime. Pada saat kode
program di eksekusi, objek berinteraksi satu sama lain
tanpa harus mengetahui detil data atau kodenya. Interaksi
antar objek ini dilakukan menggunakan suatu message.
a. Menciptakan Objek
Untuk menciptakan sebuah objek, maka operator yang
digunakan adalah operator “new”.
Contoh class ck = new contohclass (argumen);
atau
getData (new Contohclass());
Page 13
3).Class
Class merupakan bentuk logis yang menjadi landasan bangun seluruh
bahasa pemograman berorientasi object. Class mendefinisikan bentuk
dan perilaku object. Class sungguh sangat penting di Java. Class adalah
template/prototype yang mendefinisikan type object. Class merupakan
sarana pengkapsulan kumpulan data dan metode-metode yang
beroperasi pada kumpulan data. Data dan metode untuk mendefinisikan
isi dan kamampuan object. Class adalah cetakan object. Object harus
merupakan instan suatu Class. Class digunakan untuk menciptakan
banyak object. Object-object dari Class yang sama mempunyai data
sendiri tapi berbagi implementasi metode dengan object-object lain di
satu Class. Class dapat merupakan realisasi/implementasi abstraksi di
domain persoalan.
Page 14
Dalam Java, class modifier terdiri dari:
a).Public
Apabila suatu kelas (class) dideklarasikan sebagai public,
maka kelas tersebut akan bisa digunakan oleh kelas lain
maupun (termasuk dari lingkungan luar) tanpa
memperhatikan apakah kelas lain tersebut bearasal dari paket
(package) yang sama atau tidak
Page 15
b).Abstract
Apabila suatu kelas (class) dideklarasikan sebagai abstract,
maka kelas tersebut tidak akan bisa diwujudkan (instanced)
menjadi suatu object. Kelas ini disusun dari satu atau lebih
metode abstrak (abstract methods) , artinya method-method
dalam kelasi ini dedeklarasikan akan tetapi tanpa badan
(tidak diimplementasikan).
Terdapat batasan-batasan dalam penggunaan kelas abstract,
yaitu kelas abstract tidak bisa dibuat untuk mendeklarasikan
contructor (karena memang tidak ada contructor yang
abstrak), static method (demikian juga tidak ada static
method yang abstract) dan juga private method (tidak ada
private method yang abstract)
Page 16
c).Final
Apabila suatau kelas (class) dideklarasikan sebagai final,
maka kelas tersebut tidak akan bisa diturunkan lagi menjadi
kelas turunan yang lain. Dengan kata lain sudah selesai atau
berakhir (final). Tujuannya adalah untuk mencegah perluasan
yang tidak diinginkan.
Page 17
B.Enkapsulasi dengan Modifier
1)Enkapsulasi/Pengkapsulan (Encapsulation)
Enkapsulasi adalah pembungkus,maksud pembungkus
disini adalah untuk menjaga suatu proses program agar tidak
dapat di akses secara sembarangan atau intervensi oleh
program lain.
Konsep enkapulasi sangat penting dilakukan untuk menjaga
kebutuhan program agar dapat di akses sewaktu waktu
sekaligus menjaga program tersebut.
Page 18
B.Enkapsulasi dengan Modifier
2)Modifier
Access Modifier terdiri dari private, protected, dan
public.
Private memberikan hak akses hanya kepada anggota class
tersebut untuk menggunakan dan/atau mengubah nilai dari
property atau method tersebut.
Protected memberikan hak akses kepada anggota class nya
dan anggota class hasil inheritance (penurunan sifat) dari class
tersebut.
Public memberikan hak akses kepada property dan method
agar dapat digunakan diluar class tersebut.
Page 19
C. Inheritansi dengan subkelas
Inheritansi (Penurunan Sifat)Berbicara mengenai Inheritance berarti berbicara
bagaimana satu kelas dapat diturunkan dari kelas lainnya.
Misalkan saja Karyawan pada perusahaan bisa banyak. Ada
yang bekerja sebagai marketing dan ada pula yang bekerja
sebagai programmer.
Page 20
subkelas
Sebuah kelas dibentuk dari metode dan data.Metode
merupakan sekumpulan perintah /pernyataan ,sedangkan data
member dapat berupa data primitive atau data sederhana yang
berupa referensi ke objek lain.Sebuah kelas dapat digunakan
untuk membuat atau menurunkan (inherit) kelas lain
,sehingga membentuk struktur hierarki.Kelas yang berada
pada level heirraki bawah mewarisi sifat-sifat (metode dan
data ) dari kelas heirarki
Page 21
D. Polimorfisme dengan inheritansi
1).Polimorfisme
Polimorfisme sesuatu yang memiliki banyak bentuk.
Dalam pemrograman, polimorfisme dapat diartikan
sebagai modul yang memiliki nama sama, namun
memiliki behaviour (tingkah laku) yang berbeda
sehingga listing code implementasinya juga berbeda
Page 22
2).Inheritancea. Definisi
Mengatur polimorfisme dan enkapsulasi
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
berbasis-objek tidak selalu memiliki inheritas.
Page 23
b. Cara kerja
Prinsip dasar inheritas yaitu persamaan-persamaan yang
dimiliki oleh beberapa kelas dapat digabungkan dalam sebuah class
induk sehingga setiap kelas yang diturunkannya memuat hal-hal yang
spesifik untuk kelas yang bersangkutan. setelah menciptakan sebuah
objek. Kita dapat menggunakannya sebagai fondasi untuk objek yang
sama yang memilliki perilaku atau karakteristik sama. Semua objek
berasal dari atau yang saling berhubungan bisa membentuk suatu
kelas. Masing-masing kelas memuat instruksi khusus (method) yang
unik untuk kelompok tersebut. Kelas bisa diatur dalam hierarki-kelas
atau subkelas. Pewarisan adalah metode untuk mewariskan ciri dari
suatu objek dari kelas ke subkelas dalam hierarki. Jadi objek yang baru
dapat diciptakan dengan mewariskan ciri dari kelas yang sudah ada.