Upload
nelsonrumui
View
2
Download
0
Embed Size (px)
DESCRIPTION
basdat
Citation preview
Pemrograman Berorientasi Objek UKDW Budi Susanto
Pemrograman Berorientasi Objek(TI1163/3 SKS)
budi susantohttp://budsus.blogspot.com
Pemrograman Berorientasi Objek UKDW Budi Susanto
Subyek Matakuliah ini berbicara tentang:
Pemrograman Berorientasi Objek (OOP) Bahasa Pemrograman Java
Pemrograman Berorientasi Objek UKDW Budi Susanto
Sasaran Memahami prinsip-prinsip pemrograman Memiliki pengetahuan tentang beorientasi objek Mampu menerapkan sistem perangkat lunak
kecil dalam Java Memiliki kemampuan dasar untuk nantinya
dapat menghasilkan dan memelihara sistem perangkat lunak yang besar.
Pemrograman Berorientasi Objek UKDW Budi Susanto
Silabus (1) Objek dan Class (#1) Memahami pendefinisian Class (#2) Interaksi Objek (#3) Pengelompokan Objek-objek (#4) Pemanfaatan Pustaka (#5) Objek berperilaku baik (#6) Perancangan Class (#7)
Pemrograman Berorientasi Objek UKDW Budi Susanto
Silabus (2) Penurunan (Inheritance) (#8) Polymorphism (#9) Extendable, stuktur class fleksibel (#10) Membangun GUI dengan Java (#11) Penanganan Error di Java (#12) Perancangan Aplikasi (#13)
Pemrograman Berorientasi Objek UKDW Budi Susanto
Pengajaran dan Buku Anda harus aktif! 60% dari pemahaman Anda
harus didapatkan dengan cara otodidak. Itu modal Anda!
Anda WAJIB punya buku pegangan! Setiap kuliah harus di bawa!
Ada test kecil yang tidak diberitahukan sebelumnya! Tidak ada test kecil susulan!
Cari contoh, compile, jalankan dan pelajari!
Pemrograman Berorientasi Objek UKDW Budi Susanto
Pengajaran dan Buku Tegurlah saya jika ada yang salah! Jika saya tidak datang lebih dari 30 menit,
berarti kelas kosong! Akan diusahakan ada pengumuman sebelumnya.
Praktikum sangat menunjang. Tolong tekuni setiap pratice yang diberikan.
Pemrograman Berorientasi Objek UKDW Budi Susanto
Resources Sun Java Tutorial
http://java.sun.com/docs/books/tutorial/ Jos M. Garrido
Object-Oriented programming: from problem solving to Java, Charles River Media, Inc., 2003
Bruce E. Wampler, Ph.D.The Essence of Object Oriented Programming with
Java and UML, Addison-Wesley, 2001
Pemrograman Berorientasi Objek UKDW Budi Susanto
Pemrograman Berorientasi Objek UKDW Budi Susanto
5 Konsep Inti OOP Objek dan Class Abstraksi Enkapsulasi Polymorphism Inheritance
Pemrograman Berorientasi Objek UKDW Budi Susanto
Objek dan Class Objek
Sekumpulan item data (field/properti) dengan operasi-operasi (method) untuk memanipulasinya
Gabungan data dan operasi dalam satu tempat State Objek dinyatakan dengan sehimpunan
variabel Perilaku dinyatakan dengan sehimpunan method
yang mengubah state Class
Mendefinisikan sebuah tipe objek Menyatakan method dan data yang dimiliki objek Sebuah objek adalah instance sebuah class
Pemrograman Berorientasi Objek UKDW Budi Susanto
Objek dan Class Objek
Menyatakan sesuatu' / 'objek dari dunia nyata, Atau dari beberapa problem domain (example:
mobil merah sedang diparkir) Class
Mendefinisikan tipe objek (contoh: mobil)
Pemrograman Berorientasi Objek UKDW Budi Susanto
Objek dan Class
Instance ofInstance of
Pemrograman Berorientasi Objek UKDW Budi Susanto
Abstraksi Mengabaikan detil ketika dibutuhkan
Berfikir tentang apa yang dilakukan method/objek/class,
bukan bagaimana ia melakukannya. Perlakukan sebagai sebuah black box.
Pemrograman Berorientasi Objek UKDW Budi Susanto
Enkapsulasi Letakkan detil pada satu tempat: sebuah objek
Kelompokkan data dan operasi yang berhubungan dalam sebuah objek
Objek memiliki datanya sendiri dan mengetahui bagaimana menggunakannya
Sembunyikan penerapan/representasi internal Objek = black box Cegah pengaksesan eksternal ke field/method
internal Disebut juga information hiding.
Pemrograman Berorientasi Objek UKDW Budi Susanto
Enkapsulasi Interface:
Sehimpunan field dan method yang dapat diakses dari luar objek
Sebaiknya tidak dapat mengubah secara langsung walaupun secara internal melakukannya
Sasaran enkapsulasi: Untuk secara transparan menggunakan penerapan
yang berbeda dari objek yang sama
Pemrograman Berorientasi Objek UKDW Budi Susanto
Penurunan (Inheritance) Sebuah Class adalah tipe dari sesuatu
Contoh: CivitasAkademika Inheritance membuat subtipe
Contoh: Dosen, Mahasiswa Subclass menurutkan method dan field dari
superclass Dimungkinkan untuk override method yang
diturunkan Subclass memperluas superclass dengan
menambahkan method dan field baru Membuat hirarki class Sasaran: code reuse
Pemrograman Berorientasi Objek UKDW Budi Susanto
Polymorphism banyak bentuk Instruksi sama mengerjakan hal berbeda untuk
agen yang berbeda tulis sebuah catatan akan berbeda pada
Kertas komputer
Beberapa objek dapat menerapkan interface sama dengan cara mereka sendiri
MengenalJava
http://budsus.blogspot.comhttp://budsus.wordpress.com
Java... JavadiperkenalkanolehSunMicrosystemmulaitahun1995,dimotoriolehJamesGosling.
Javadisebutsebagaiteknologiketimbangbahasapemrogramankarenamenyediakanlebihdarisebuahbahasapemrogramankonvensional. Spesifikasibahasapemrograman API SpesifikasiVirtualMachine
SpesifikasiBahasaJava bahasaJavamemilikikarakteristik:berbasisobjeksepenuhnya,netralterhadapplatform,distributeddanmultithread
sebagaibahasayangaman,mengingatprogramJavadapatdijalankansecaraterdistribusi
memanajemenmemorisecaraotomatis:garbagecollection
JavaAPI standardAPI:J2SE EnterpriseAPI:J2EE smalldeviceAPI:J2ME
JavaPlatform
BeberapaJVM
ModelPengembanganJava
Java Community
Process(jcp.org)
JSR
JSR
JSR
PerkembanganJ2SE J2SE5.0,Projectname:Tiger J2SE6.0,Projectname:Mustang
EnterpriseDesktop,XML&WebService,GUIEnhance(includetuningforWindowsVista)
J2SE7.0,Projectname:Dolphin Beberapaperubahandalamsintakbahasa MendukunglangsungXML InstruksiJVMbarudynamiclanguagesagardapatmemanggildaribahasalain,sepertiPython.
Javaenabledcellphones Sudahadasekitar3jutalebihcellphoneyangsudahjavaenabled. 85%pelanggan,nondeveloper/teknismengidentifikasikanjavasebagaisesuatuyangbaik
Beberapaprodukjavaenabled: SamsungBlurayDVDplayers Ricohofficeprinters
Java.com Javaportal Pengunjungratarata15jutaperbulan(80%mendownloadJRE)
java.netportaluntukkomunitasJava
Blog perkembangan java: http://weblogs.java.net/
JavauntukCustomer Googlemapformobiledevices Robosapien,Roboraptor,RobopetprodukdariWowWeeToys
JavaiDrivepadaMobilBMW,untukkontrolaudiodannavigasi
MobileESPNcellphoneservice Daftarlain:http://www.java.com/en/everywhere/
LisensiJava AdaDistroLicenseforJava(DLJ)untukdistrodistrolinuxyangmenyertakanJRE/JDKsecaragratis http://www.sun.com/smi/Press/sunflash/200605/sunflash.20060516.4.xml
https://jdkdistros.dev.java.net/ Ubuntu,Gentoo,Debian,NexentaOS(hybridOSdengankernelOpenSolaris),SchillixdanBeleniXversidariOpenSolaris,beberapaGNUTool
PerusahaanyangmenyertakanJREdalamproduknya,diwajibkanmembayar
ProjectPeabody UntukmencapaitujuandalamMustang(J2SE6.0),yaitutranparency,makadibuatsebuahprojectPeabodyyangmemungkinkandeveloperuntukmengaksessourcecodeJ2SEdanberpartisipasisecaralangsung. JavaResearchLicense(JRL) JavaDevelopmentLicense(JDL) JavaInternalUseLicense(JIUL)
http://mustang.dev.java.net
Pemrograman Berorientasi Objek UKDW Budi Susanto
Pemrograman Berorientasi Objek UKDW Budi Susanto
Kontrak Perkuliahan TTS : 20% TAS : 20% Praktikum : 30% Tugas : 20% Test Kecil : 10% Nilai Akhir mengikuti Panduan Akademik!