Pemrograman Berorientasi Obyek Ramos Somya
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, untuk mengelola data waktu yang terdiri dari jam, menit, dan detik, dalam C dapat digroupkan dengan menggunakan struct sebagai berikut: 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 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 / 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 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. 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 (state) dari suatu object sering dinyatakan melalui attribute dari object tsb. Sedangkan perilaku (behavior) dinyatakan melalui operations dari object tsb.
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 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 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. 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 yang ada. Sama dengan pembuatan variable berdasar kelas tertentu. 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 atribute & behaviour. Contoh: Yos (Obyek) Atribute: Nama, alamat, dsb. Behaviour : Mengajar, makan, dsb
Attribute property Behaviour metoda
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
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 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). 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 awal pada saat obyek diciptakan. Pada class Buku buat method: HitungTotalHarga untuk menghitung total harga (jumlahbeli*harga) CekDiskon untuk mengecek diskon (jika TotalHarga>100000 diskon 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 panggil method 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.