Pemrograman Berorientasi Obyek

30
Pemrograman Berorientasi Obyek Ramos Somya

Transcript of Pemrograman Berorientasi Obyek

Pemrograman Berorientasi Obyek

Ramos Somya

Adalah paradigma pemrograman yang diorientasikanpada obyek.

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

Memungkinkan para software engineermerepresentasikan obyek-obyek dalam dunia nyata kedalam perancangan perangkat lunak.

Semua data dan fungsi di dalam paradigma ini dibungkusdalam 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 yangterpisahkan satu sama lain.

Contoh, untuk mengelola data waktu yang terdiri darijam, menit, dan detik, dalam C dapat digroupkan denganmenggunakan struct sebagai berikut:

Namun meskipun demikian, untuk mengolah ketiga datatersebut, dibutuhkan prosedur yang disusun pada bagianyang terpisah.

PBO, prosedur dan data dapat dibungkus menjadi sebuahobjek sehingga prosedur dan data tidak terpisah lagimelainkan menjadi satu kesatuan.

Ini merupakan salah satu konsep OOP yang disebutdengan “encapsulation”.

OOP didasarkan pada pemodelan objek – objek dunianyata menjadi objek – objek dalam pemrograman.

Obyek Kelas Abstract Data Type / Tipe Data Abstrak Instantiation / Instansiasi Inheritance / Inheritas / Pewarisan Encapsulation / Enkapsulasi Abstraction / Abstraksi Polymorphism / Polimorfisme

Merepresentasikan sebuah entitas baik itu fisik,konseptual atau software.

Fisik: pesawat, mahasiswa, dosen. Konseptual: proses kimia. Software: Linked List Bagi programmer, object adalah sebuah benda

yang dapat dinyatakan (represent) dalam sebuahprogram.

Memungkinkan para software developer untukmerepresentasikan konsep dunia nyata ke dalamdesain software mereka.

Seorang customer, product, supplier adalah object yangdapat anda nyatakan di dalam program.

Obejct didefinisikan sebagai sebuah benda (entity) yangmemiliki batasan (boundary) dan identitas (attribute)yang terdefinisi jelas, yang membungkus (encapsulate)kondisi (state) dan perilaku (behavior) / operation.

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

Kondisi (state) dari suatu object seringdinyatakan melalui attribute dari object tsb.Sedangkan perilaku (behavior) dinyatakanmelalui operations dari object tsb.

Merupakan suatu kondisi yang mungkin ada padaobject.

Hal ini diimplementasikan dengan kumpulanproperty yang dikenal sebagai atribut yang didalamnya ada nilai.

Nilai dari property atau atribut bisa berubahnilainya seiring jalannya program.

Menentukan suatu object beraktivitas danbereaksi.

Direpresentasikan dengan operasi-operasi yangdapat dilakukan oleh object.

Sebuah object akan melakukan aksi atau reaksiterhadap request atau permintaan dari objectlain.

Cetakan / template / blue print dari objek.

Kelas mendefinisikan attribute (diwujudkandalam bentuk field / variable global [variable yangmelekat pada kelas, bukan pada sebuah method /fungsi / prosedur]) dan behaviour (diwujudkandalam bentuk method / prosedur / fungsi) dariobjek dalam suatu unit untuk suatu tujuantertentu.

Class: ibaratkan sebuah rancangan rumah. Dari rancangan rumah ini akan dibuat banyak rumah. Rumah = obyek = hasil cetakan dari rancangan rumah.

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 yangada.

Sama dengan pembuatan variable berdasar kelastertentu.

Biasanya ditandai dengan penggunaan kata kunci “new”.

Contoh: A a = new A();

Dosen (KELAS) InstansiasiAdi, 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

Pada bahasa – bahasa pemograman yang lainmethod disebut juga function atau procedure.Dalam pemograman berorientasi object methodadalah suatu operasi atau kegiatan yang dapatdilakukan suatu object.

tipe-data namaMethod(daftar-parameter) {

//implementasi

}

Operator this adalah operator yang digunakanuntuk mengakses variabel yang paling global darisuatu class jika terdapat dua variabel yangmemilki nama yang sama dam scope yangberbeda.

Operator (.) dot adalah operator yang digunakanuntuk mengakses atribut atribut yang terdapatdidalam class yang telah diinstansiasi tersebut.

Konstruktor merupakan method khusus yangdigunakan untuk menginisialisasi obyek saatpertama kali dibentuk.

konstruktor harus memiliki nama yang samadengan nama classnya dan tidak memiliki nilaikembalian (tipe-data)

Konstruktor dijalankan pada saat sebuah objectdiinisialisasi (menggunakan kata new)

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)

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

Pada class Buku buat method:

HitungTotalHarga untuk menghitung total harga(jumlahBeli*harga)

CekDiskon untuk mengecek diskon (jika TotalHarga>100000diskon 10% selain itu diskon = 0)

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 panggilmethod HitungTotalHarga, CekDiskon, InfoBuku dan cetak hasilnya.

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.