Evaluasi-OOP versi-01

Download Report

Transcript Evaluasi-OOP versi-01

UPI CONVENTION CENTER [UPI-CC]
UNIVERSITAS PUTRA INDONESIA “ YPTK “
PADANG, 08 Agustus 2012
BELAJAR DARI ANUGRAH JARI-JEMARI
Ibu Jari (Jempol)
tidak pernah merasa
minder karena gendut
dan pendek, ia
bangga diciptakan
menjadi ibu jari dan
banyak orang merasa
senang jika diberi
acungan jempol.
Jari Telunjuk merasa puas
dengan fungsinya, karena
selalu digunakan untuk
“syahadat” disaat sholat.
Jari tengah tidak pernah
sombong sebagai jari tertinggi,
karena justru orang tidak suka
jika diacungkan jari tengah.
Jari manis ini mengajarkan
sikap membutuhkan orang lain,
dan ia bangga menjadi jari yang
selalu dihiasi dengan cincin
emas.
Jari kelingking ini tidak pernah
minder menjadi jari yang kurus dan
cungkring lagi kecil. Karena ternyata
manusia masih membutuhkannya
ketika mengupil dan mencungkil
Dan jika semua jari-jemari ini
bersinergi, bersatu dan bersamasama mengepal. Maka
waspadalah…ia akan berubah
menjadi energi raksasa yang luar
biasa.
TUJUAN HIDUP MANUSIA
1. Mengabdi kepada Allah SWT
Dan Aku tidak menciptakan jin dan manusia melainkan supaya mereka menyembah-Ku
(QS: 51:56)
2. Memenuhi penjanjian ruh
Dan (ingatlah), Ketika tuhanmu mengeluarkan keturunan anak-anak Adam dari sulbi mereka dan Allah
mengambil kesaksian terhadap jiwa mereka ( seraya berfirman: “ Bukankah aku ini Tuhammu?” Mereka
menjawab :” Betul (Engkau tuhan kami)
3. Menjadi Khalifah Allah
Ingatlah ketika Tuhammu berfirman kepada para malaikat : ”Sesungguhnya aku hendak menjadikan
seorang khalifah di muka bumi”. Mereka berkata : “Mengapa Engkau hendak menjadikan (khalifah) di bumi
itu orang yang akan membuat kerusakan padanya dan menumpahkan darah, padahal kami senantiasa
bertasbih dengan memuji Engkau dan mensucikan Engkau?” Tuhan berfirman :” Sesungguhnya Aku
mengetahui apa yang tidak kamu ketahui “. ( QS: Al-Baqarah 2:30)
4. Mendapat Ujian dari Allah
Tiap–tiap yang berjiwa akan merasakan mati. Kami akan menguji kamu dengan keburukan dan
kebaikan sebagai cobaan ( yang sebenar-benarnya ). Dan hanya kepada Kamilah kamu di
kembalikan ( QS: Al-Anbiya’ 21:35 )
5. Mempertanggung jawabkan perbuatan kepada Allah
Apakah manusia mengira, bahwa ia akan dibiarkan begitu saja ( tanpa pertanggungjawaban ) ? ( QS : Al-Qiyamah 75:36 )
Internet Sang Pendatar Dunia
1. WWW
HTML, Browser, Web-based Application
2. Software Revolution
Collaboration, Connecting People
3. Opensourcing
Opensource, Blogging, Wikipedia
4. Informing
Google, Yahoo, MSN
5. Outsourcing
India dan kekuatan IT-nya
10
TENTANG OBJECT
1. Segala sesuatu yang ada.
2. Objek terdiri dari attribute / state dan behaviour /
event.
3. Attribute adalah segala ciri atau sifat yang
melekat pada objek.
4. Behaviour adalah perilaku / perbuatan / aksi /
kejadian yang dapat dilakukan / diterima oleh
objek.
5. Contoh: anjing, kucing, manusia, meja, dsb.
6. Attr & behav dari contoh tsb adalah???
TENTANG CLASS
5. 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).
6. Dengan modularitas, struktur dari sebuah program akan
terkait dengan aspek-aspek dalam masalah yang akan
diselesaikan melalui program tersebut.
7. Cara seperti ini akan menyederhanakan pemetaan dari
masalah ke sebuah program ataupun sebaliknya.
ABSTRACT DATA TYPE
1. Adalah tipe data tertentu yang didefinisikan oleh
pemrogram untuk kemudahan pemrograman serta
untuk mengakomodasi tipe-tipe data yang tidak secara
spesifik diakomodasi oleh bahasa pemrograman yang
digunakan.
2. Dalam OOP kita dapat mendefinisikan tipe data baru.
3. Dapat berisi attribute saja, behaviour saja maupun
keduanya.
4. ADT diwujudkan dalam kelas – kelas buatan programmer
sesuai dengan kebutuhan / keinginan programmer.
5. Singgung tipe data primitive!
ABSTRACT DATA TYPE
INSTANTIATION
1. Adalah proses penciptaan objek
berdasarkan kelas yang ada.
2. Sama dengan pembuatan variable berdasar
kelas tertentu.
3. Biasanya ditandai dengan penggunaan kata
kunci “new”.
4. Contoh: A a = new A();
INHERITANCE
• Pewarisan
attribute
dan
behaviour sebuah kelas kepada
kelas yang lain.
• Contoh real: seorang anak
memiliki anggota tubuh (mata,
rambut) yang sama / mirip
(bentuk, warna, etc) dengan
orang tuanya, pewarisan DNA,
etc.
INHERITANCE
INHERITANCE
INHERITANCE
INHERITANCE
INCAPSULATION
• Pembungkusan attribute atau behaviour sehingga
tidak dapat diganti secara sembarangan dengan cara
yang tidak seharusnya.
• Setiap objek mengakses interface yang menyebutkan
bagaimana objek lainnya dapat berinteraksi
dengannya.
• Objek lainnya tidak akan mengetahui dan tergantung
kepada representasi dalam objek tersebut.
INCAPSULATION
• Manfaat dari proses enkapsulasi adalah :
– Modularitas: Kode sumber dari sebuah objek dapat
dikelola secara independen dari kode sumber objek
yang lain.
– Information Hiding: Karena kita dapat menentukan hak
akses(public, private, protected, default) sebuah
variabel/method dari objek, dengan demikian kita bisa
menyembunyikan informasi yang tidak perlu diketahui
objek lain.
ABSTRACTION
• Berbagai objek yang sejenis dapat memiliki
behaviour
yang
sama
namun
berbeda
implementasinya.
• Sebagai contoh, objek anjing sama – sama
memiliki behaviour menggonggong namun suara
gonggongan anjing berbeda – beda.
• Inilah yang mendasari abstraksi pada OOP.
• Pada OOP sebuah kelas dapat mendefinisikan
behaviour yang sama secara abstract yang
kemudian dapat diimplementasikan secara
berbeda pada saat digunakan.
POLYMORPHISM
1. Kata polimorfisme berarti satu objek dengan
banyak bentuk yang berbeda
2. Adalah konsep sederhana dalam pemrograman
berorientasi objek yang berarti kemampuan dari
suatu variabel referensi objek untuk memiliki aksi
berbeda bila method yang sama dipanggil,
dimana aksi method tergantung dari tipe
objeknya.
3. Menciptakan berbagai macam bentuk yang
berbeda dari sebuah kelas yang sama.
4. Proses ini dilakukan melalui proses pewarisan.
POLYMORPHISM
POLYMORPHISM
public class Time1
{
private:
int hour, int minute, int second;
public:
void Time1() { settime(0,0,0); }
void Time1(h) { settime(h,0,0); }
void Time1(h,m) { settime(h,m,0); }
void Time1(h,m,s) { settime(h,m,s); }
};
CLASS DAN OBJECT
• Class Creation:
–class <name> {
}
• Object Creation / Instantiation:
–<Class Name> <object name> = new <Class
Constructor>;
CONSTRUCTOR
• Adalah sebuah method yang otomatis akan
dipanggil setiap kali melakukan instansiasi
terhadap suatu kelas dan digunakan untuk
melakukan inisialisasi nilai dari data – data
yang terdapat di dalam kelas yang
bersangkutan.
• Namanya == nama kelas.
• Tidak ada return type sama sekali.
• Jika tidak dideklarasikan == use default
OVERLOADING
• Adalah mendefinisikan method yang
memiliki nama yang sama, tetapi
dengan signature (data type parameter
& parameter number) yang berbeda
dalam definisi class yang sama.
• Constructor == method  bisa
dioverload (see previous sample)
OVERLOADING