33
Pemrograman Berorientasi Objek – UKDW – Budi Susanto Pemrograman Berorientasi Objek (TI1163/3 SKS) budi susanto http://budsus.blogspot.com

Minggu1

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!