Anda di halaman 1dari 30

Pemrograman Berorientasi Obyek

Pemrograman Berorientasi Obyek Ramos Somya

Ramos Somya

Pemrograman Berorientasi Obyek Ramos Somya
Pemrograman Berorientasi Obyek Ramos Somya
 Adalah paradigma pemrograman yang diorientasikan pada obyek.  Inti dari konsep berorientasi obyek adalah

Adalah paradigma pemrograman yang diorientasikan

pada obyek.

Inti dari konsep berorientasi obyek adalah obyek, yang merepresentasikan entitas-entitas secara nyata sehingga

Memungkinkan para software engineer

merepresentasikan obyek-obyek dalam dunia nyata ke

dalam perancangan perangkat lunak.

Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau obyek-obyek.

Setiap obyek dapat menerima pesan, memproses data, dan mengirim pesan ke obyek lainnya.

 PT, prosedur dan data merupakan dua hal yang terpisahkan satu sama lain.  Contoh,

PT, prosedur dan data merupakan dua hal yang

terpisahkan satu sama lain.

Contoh, untuk mengelola data waktu yang terdiri dari jam, menit, dan detik, dalam C dapat digroupkan dengan menggunakan struct sebagai berikut:

dapat digroupkan dengan menggunakan struct sebagai berikut:  Namun meskipun demikian, untuk mengolah ketiga data

Namun meskipun demikian, untuk mengolah ketiga data

tersebut, dibutuhkan prosedur yang disusun pada bagian yang terpisah.

 PBO, prosedur dan data dapat dibungkus menjadi sebuah objek sehingga prosedur dan data tidak

PBO, prosedur dan data dapat dibungkus menjadi sebuah objek sehingga prosedur dan data tidak terpisah lagi

melainkan menjadi satu kesatuan. Ini merupakan salah satu konsep OOP yang disebut dengan “encapsulation”. OOP didasarkan pada pemodelan objek objek dunia nyata menjadi objek objek dalam pemrograman.

 Obyek  Kelas  Abstract Data Type / Tipe Data Abstrak  Instantiation /

Obyek Kelas

Abstract Data Type / Tipe Data Abstrak

Instantiation / Instansiasi

Inheritance / Inheritas / Pewarisan

Encapsulation / Enkapsulasi

Abstraction / Abstraksi

Polymorphism / Polimorfisme

 Merepresentasikan konseptual atau software. sebuah entitas baik itu fisik,

Merepresentasikan

konseptual atau software.

sebuah

entitas

baik

 Merepresentasikan konseptual atau software. sebuah entitas baik itu fisik,

itu

fisik,

 Fisik: pesawat, mahasiswa, dosen.  Konseptual: proses kimia.  Software: Linked List  Bagi

Fisik: pesawat, mahasiswa, dosen.

Konseptual: proses kimia.

Software: Linked List

Bagi programmer, object adalah sebuah benda

yang dapat dinyatakan (represent) dalam sebuah

program.

Memungkinkan para software developer untuk merepresentasikan konsep dunia nyata ke dalam desain software mereka.

 Seorang customer, product, supplier adalah object yang dapat anda nyatakan di dalam program. 

Seorang customer, product, supplier adalah object yang

dapat anda nyatakan di dalam program.

Obejct didefinisikan sebagai sebuah benda (entity) yang memiliki batasan (boundary) dan identitas (attribute)

yang terdefinisi jelas, yang membungkus (encapsulate)

kondisi (state) dan perilaku (behavior) / operation.

 Sebuah object memiliki 2 hal: kondisi (state) dan perilaku (behavior).  Kondisi dari suatu

Sebuah object memiliki 2 hal: kondisi (state) dan perilaku (behavior).

Kondisi

dari suatu object sering

dinyatakan melalui attribute dari object tsb.

Sedangkan perilaku (behavior) dinyatakan melalui operations dari object tsb.

(state)

 Merupakan suatu kondisi yang mungkin ada pada object.  Hal ini diimplementasikan dengan kumpulan

Merupakan suatu kondisi yang mungkin ada pada object.

Hal ini diimplementasikan dengan kumpulan property yang dikenal sebagai atribut yang di

dalamnya ada nilai.

Nilai dari property atau atribut bisa berubah

nilainya seiring jalannya program.

 Menentukan suatu object beraktivitas dan bereaksi.  Direpresentasikan dengan operasi-operasi yang dapat dilakukan

Menentukan suatu object beraktivitas dan bereaksi.

Direpresentasikan dengan operasi-operasi yang dapat dilakukan oleh object. Sebuah object akan melakukan aksi atau reaksi terhadap request atau permintaan dari object lain.

 Cetakan / template / blue print dari objek.  Kelas mendefinisikan attribute (diwujudkan dalam

Cetakan / template / blue print dari objek.

Kelas mendefinisikan attribute (diwujudkan dalam bentuk field / variable global [variable yang melekat pada kelas, bukan pada sebuah method /

fungsi / prosedur]) dan behaviour (diwujudkan

dalam bentuk method / prosedur / fungsi) dari objek dalam suatu unit untuk suatu tujuan tertentu.

 Class: ibaratkan sebuah rancangan rumah.  Dari rancangan rumah ini akan dibuat banyak rumah.

Class: ibaratkan sebuah rancangan rumah.

Dari rancangan rumah ini akan dibuat banyak rumah.

Rumah = obyek = hasil cetakan dari rancangan rumah.

rumah.  Dari rancangan rumah ini akan dibuat banyak rumah.  Rumah = obyek = hasil
class NamaClass { tipe_data namaVariabel1; . . tipe_data namaVariabelN; tipe_data namaMethod1(parameter) { //

class NamaClass {

tipe_data namaVariabel1;

.

.

tipe_data namaVariabelN;

tipe_data namaMethod1(parameter) { // implementasi Method1

}

.

.

tipe_data namaMethodN(parameter) { // implementasi MethodN

}

}

 Adalah proses penciptaan objek berdasarkan kelas yang ada.  Sama dengan tertentu. pembuatan variable

Adalah proses penciptaan objek berdasarkan kelas yang

ada.

Sama

dengan

tertentu.

pembuatan

variable

berdasar

kelas

Biasanya ditandai dengan penggunaan kata kunci “new”.

Contoh: A a = new A();

 Dosen (KELAS)  Instansiasi  Adi,Yos, Jasson,Yessica, Indrastanti (OBYEK). Sehingga obyek juga memuat
 Dosen (KELAS)  Instansiasi  Adi,Yos, Jasson,Yessica, Indrastanti (OBYEK). Sehingga obyek juga memuat
 Dosen (KELAS)  Instansiasi  Adi,Yos, Jasson,Yessica, Indrastanti (OBYEK). Sehingga obyek juga memuat

Dosen (KELAS) Instansiasi Adi,Yos, Jasson,Yessica, Indrastanti (OBYEK).

Sehingga obyek juga memuat atribute & behaviour. Contoh:

Yos (Obyek) Atribute: Nama, alamat, dsb. Behaviour : Mengajar, makan, dsb

 Attribute  property  Behaviour  metoda
 Attribute  property  Behaviour  metoda
 Attribute  property  Behaviour  metoda

Attribute property

Behaviour metoda

 Pada bahasa – bahasa pemograman yang lain method disebut juga function atau procedure. Dalam

Pada bahasa bahasa pemograman yang lain method disebut juga function atau procedure. Dalam pemograman berorientasi object method adalah suatu operasi atau kegiatan yang dapat

dilakukan suatu object.

tipe-data namaMethod(daftar-parameter) { //implementasi }

tipe-data namaMethod(daftar-parameter) {

//implementasi

}

 Operator this adalah operator yang digunakan untuk mengakses variabel yang paling global dari suatu

Operator this adalah operator yang digunakan untuk mengakses variabel yang paling global dari suatu class jika terdapat dua variabel yang memilki nama yang sama dam scope yang

berbeda.

Operator (.) dot adalah operator yang digunakan untuk mengakses atribut atribut yang terdapat didalam class yang telah diinstansiasi tersebut.

 Konstruktor merupakan method khusus yang digunakan untuk menginisialisasi obyek saat pertama kali dibentuk. 

Konstruktor merupakan method khusus yang digunakan untuk menginisialisasi obyek saat pertama kali dibentuk.

konstruktor harus memiliki nama yang sama dengan nama classnya dan tidak memiliki nilai

kembalian (tipe-data) Konstruktor dijalankan pada saat sebuah object diinisialisasi (menggunakan kata new)

 Buatlah class dengan nama class Matematika dengan atribut angka1 dan angka2 (sesuaikan tipe datanya).

Buatlah class dengan nama class Matematika dengan atribut angka1

dan angka2 (sesuaikan tipe datanya).

Pada class Matematika buat constructor untuk inisialisasi awal pada saat obyek dibuat.

Pada class Matematika buat method:

Penjumlahan berisi operasi penjumlahan angka1 dan angka2

Pengurangan berisi operasi pengurangan angka1 dan angka2

Perkalian berisi operasi perkalian angka1 dan angka2

Pembagian berisi operasi pembagian angka1 dan angka2

Buat class TestMatematika yang di dalamnya terdapat method main dan buat obyek baru serta inisialisasi dengan nilai bebas lalu panggil method Penjumlahan, Pengurangan, Perkalian dan Pembagian dan cetak hasilnya.

 Buat Class Buku dengan atribut judul, pengarang, penerbit, jumlahBeli dan hargaSatuan (sesuaikan tipe datanya)

Buat Class Buku dengan atribut judul, pengarang, penerbit,

jumlahBeli dan hargaSatuan (sesuaikan tipe datanya)

Pada class Buku buat constructor untuk melakukan inisialisasi awal pada saat obyek diciptakan.

Pada class Buku buat method:

harga

HitungTotalHarga

untuk

menghitung

total

(jumlahBeli*harga)

CekDiskon

untuk

mengecek

diskon

diskon 10% selain itu diskon = 0)

(jika

TotalHarga>100000

InfoBuku untuk mencetak info buku yang dibeli

Buat class TestBuku yang di dalamnya terdapat method main dan buat obyek baru serta inisialisasi dengan nilai bebas lalu panggil

method HitungTotalHarga, CekDiskon, InfoBuku dan cetak hasilnya.

 Kerjakan menggunakan JCreator.  Dikumpulkan hardcopy (print) pada hari Senin, 06 Juni 2011 pukul

Kerjakan menggunakan JCreator.

Dikumpulkan hardcopy (print) pada hari Senin, 06 Juni

2011 pukul 10.00 12.00 WIB di kantor saya.

Print kode program, output dan penjelasannya.