konsep pemrograman berorientasi obyek
DESCRIPTION
Konsep Pemrograman Berorientasi Obyek. Pertemuan 1 Oleh Tita karlita. Tujuan. Pengenalan bahasa Java Memberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi obyek dan perbandingannya dengan pemrograman prosedural. Topik. Tek n ologi J ava - PowerPoint PPT PresentationTRANSCRIPT
Konsep Pemrograman Konsep Pemrograman Berorientasi ObyekBerorientasi Obyek
Pertemuan 1Pertemuan 1
Oleh Tita karlitaOleh Tita karlita
TujuanTujuan
Pengenalan bahasa JavaPengenalan bahasa Java
Memberikan Memberikan latarlatar belakang serta belakang serta pemahaman tentang konsep pemahaman tentang konsep pemrograman berorientasi obyek dan pemrograman berorientasi obyek dan perbandingannya dengan pemrograman perbandingannya dengan pemrograman prosedural.prosedural.
TopikTopik
TekTeknnologi ologi JJavaava
Pemrograman prosedural vs pemrograman Pemrograman prosedural vs pemrograman berorientasi obyekberorientasi obyek
Mengorganisasi program menjadi element yang Mengorganisasi program menjadi element yang disebut sebagai class, dan bagaimana class ini disebut sebagai class, dan bagaimana class ini digunakan untuk membuat obyek.digunakan untuk membuat obyek.
Pengenalan ObyekPengenalan Obyek
Konsep OOPKonsep OOP
Cara kompile dan menjalankan aplikasi JavaCara kompile dan menjalankan aplikasi Java
Kelebihan JavaKelebihan Java
SederhanaSederhanaBerbasis obyekBerbasis obyekFull-modularityFull-modularityHandalHandalPlatform independentPlatform independentAmanAman
JavaJava SmallTalkSmallTalk TCLTCL PerlPerl ShellsShells CC C++C++
SimpleSimple
Object Object OrientedOriented
RobustRobust
SecureSecure
InterpretedInterpreted
DynamicDynamic
PortablePortable
NeutralNeutral
ThreadsThreads
Garbage Garbage CollectionCollection
ExceptionsExceptions
PerformancPerformancee
HighHigh MediumMedium LowLow MediumMedium LowLow HighHigh HighHigh
What is the Java Technology?What is the Java Technology?
A programming languageA programming language
A development environmentA development environment
An application environmentAn application environment
A deployment environmentA deployment environment
A programming languageA programming language
Sintak bahasa pemrograman java mirip Sintak bahasa pemrograman java mirip dengan bahasa C++dengan bahasa C++
A development environmentA development environment
Teknologi java menyediakan: kompiler, Teknologi java menyediakan: kompiler, interpreter, documentation generator, interpreter, documentation generator, class file packaging.class file packaging.
An application environmentAn application environment
Merupakan standalone program yang Merupakan standalone program yang tidak memerlukan web browser untuk tidak memerlukan web browser untuk mengeksekusi program (applet).mengeksekusi program (applet).
A deployment environmentA deployment environment
Terdapat 2 deployment environment Terdapat 2 deployment environment utama:utama: JRE (Java Runtime Environment) yang JRE (Java Runtime Environment) yang
menyediakan class-class yang tersimpan menyediakan class-class yang tersimpan dalam package-package, komponen GUI dalam package-package, komponen GUI class, dan Collection API.class, dan Collection API.
Web browser Web browser banyak web browser banyak web browser komersial yang menyediakan lingkungan Java komersial yang menyediakan lingkungan Java Technology interpreter dan runtime.Technology interpreter dan runtime.
Fitur dari Java TechnologyFitur dari Java Technology
Java Virtual Machine (JVM)Java Virtual Machine (JVM)
Garbage collectionGarbage collection
Sekuritas kodeSekuritas kode
JVMJVM
Menyediakan spesifikasi hardware platformMenyediakan spesifikasi hardware platform
Membaca byte code yang sudah terkompilasi Membaca byte code yang sudah terkompilasi yang mendukung multi-platformyang mendukung multi-platform
Diimplementasikan sebagai software atau Diimplementasikan sebagai software atau hardwarehardware
Diimplementasikan di Java technology Diimplementasikan di Java technology development tool atau web browserdevelopment tool atau web browser
Garbage collectionGarbage collection
Mengecek dan membersihkan memori Mengecek dan membersihkan memori yang tidak lagi terpakaiyang tidak lagi terpakai
Dilakukan otomatisDilakukan otomatis
Berjalan sesuai dengan implementasi Berjalan sesuai dengan implementasi JVM JVM
Java Runtime EnvironmentJava Runtime Environment
Menangani 3 tugas utama:Menangani 3 tugas utama: Melakukan pemanggilan kodeMelakukan pemanggilan kode Memverifikasi kodeMemverifikasi kode Mengeksekusi kodeMengeksekusi kode
Bahasa ProseduralBahasa Prosedural
Serangkaian tugas diselesaikan dalam bentuk Serangkaian tugas diselesaikan dalam bentuk fungsi atau prosedur.fungsi atau prosedur.Cara pandang Cara pandang program adalah suatu urutan program adalah suatu urutan instruksi.instruksi.Programer harus me-break down suatu problem Programer harus me-break down suatu problem menjadi sub problem yang lebih simple.menjadi sub problem yang lebih simple.Fungsi dan prosedur menjadi fokus utama.Fungsi dan prosedur menjadi fokus utama.Fungsi dan prosedur digunakan untuk Fungsi dan prosedur digunakan untuk memanipulasi data.memanipulasi data.Data bersifat pasif.Data bersifat pasif.
Keuntungan OOPKeuntungan OOP
ReusabilitasReusabilitas
Pembangunan program Pembangunan program lebih cepatlebih cepat
Fleksibilitas lebih tinggiFleksibilitas lebih tinggi
EkstensibilitasEkstensibilitas
Less maintenanceLess maintenance
Pemrograman Berorientasi ObyekPemrograman Berorientasi Obyek
Fungsi dan data Fungsi dan data bukanbukan menjadi dua hal menjadi dua hal yang terpisah.yang terpisah.
Fungsi dan data menjadi satu kesatuan Fungsi dan data menjadi satu kesatuan yang disebut sebagai yang disebut sebagai obyekobyek aktif. aktif.
Cara pandang Cara pandang program adalah program adalah serangkaian obyek yang bekerjasama serangkaian obyek yang bekerjasama untuk menyelesaikan suatu problem.untuk menyelesaikan suatu problem.
Kata kunci OOPKata kunci OOP
ObjekObjek dapat berupa Class atau Instances. Harus dapat berupa Class atau Instances. Harus berasal dari entitas atau konsep dunia nyata.berasal dari entitas atau konsep dunia nyata.Class Class template untuk membuat obyektemplate untuk membuat obyek..AtributAtribut identitas unik dari obyek identitas unik dari obyekMetodeMetode fungsi untuk pengaksesan atribut atau tugas fungsi untuk pengaksesan atribut atau tugas tertentutertentuEnkapsulasiEnkapsulasi menyembunyikan struktur data dan menyembunyikan struktur data dan implementasi suatu class.implementasi suatu class.InheritansiInheritansi merepresentasikan keterhubungan merepresentasikan keterhubungan struktural antar classstruktural antar classPolymorphismPolymorphism kemampuan untuk kemampuan untuk merepresentasikan 2 bentuk obyek yang berbedamerepresentasikan 2 bentuk obyek yang berbeda
Apakah Obyek?Apakah Obyek?
Semua benda yang ada di dunia nyata Semua benda yang ada di dunia nyata dapat dianggap sebagai obyek.dapat dianggap sebagai obyek.
Contoh : rumah, mobil, sepeda motor, Contoh : rumah, mobil, sepeda motor, gelas, komputer, meja dll. gelas, komputer, meja dll.
Karakteristik ObyekKarakteristik Obyek
Setiap obyek memiliki state sebagai status Setiap obyek memiliki state sebagai status (atribut).(atribut).
Setiap obyek memiliki tingkah laku (method) Setiap obyek memiliki tingkah laku (method)
Contoh: obyek sepedaContoh: obyek sepeda Memiliki atribut Memiliki atribut : pedal, roda, jeruji, warna, jumlah : pedal, roda, jeruji, warna, jumlah
roda.roda. Memiliki method Memiliki method : kecepatanya menaik, : kecepatanya menaik,
kecepatannya menurun, perpindahan gigi sepeda.kecepatannya menurun, perpindahan gigi sepeda.
Karakteristik ObyekKarakteristik Obyek
Penggambaran pemrograman berorientasi Penggambaran pemrograman berorientasi obyek = penggambaran pada dunia nyata.obyek = penggambaran pada dunia nyata.
Pada pemrograman berorientasi obyek:Pada pemrograman berorientasi obyek: State disimpan pada State disimpan pada variabel variabel Tingkah laku disimpan pada Tingkah laku disimpan pada method method
Apakah Class?Apakah Class?
Definisi class: merupakan template untuk Definisi class: merupakan template untuk membuat obyek.membuat obyek.Definisi class: merupakan prototipe / blue prints Definisi class: merupakan prototipe / blue prints yang mendefinisikan variabel – variabel dan yang mendefinisikan variabel – variabel dan method – method secara umum.method – method secara umum.Obyek merupakan hasil instansiasi dari suatu Obyek merupakan hasil instansiasi dari suatu kelas.kelas.Proses pembentukan obyek dari suatu class Proses pembentukan obyek dari suatu class disebut dengan disebut dengan instantiationinstantiation..Obyek disebut juga Obyek disebut juga instances.instances.
AtributAtribut
Definisi atribut : adalah Definisi atribut : adalah datadata yang membedakan yang membedakan antara obyek satu dengan yang lain.antara obyek satu dengan yang lain.
Contoh: VolcanoRobot Contoh: VolcanoRobot A volcanic exploration A volcanic exploration vehicle, mempunyai atribut sebagai berikut:vehicle, mempunyai atribut sebagai berikut: Status Status exploring, moving, returning home exploring, moving, returning home Speed Speed 1, 2, 3 dll in miles per hour)1, 2, 3 dll in miles per hour) Temperature Temperature 100, 120, 130 dll (in Fahrenheit 100, 120, 130 dll (in Fahrenheit
degrees)degrees)
Dalam class atribut disebut juga dengan Dalam class atribut disebut juga dengan variabelvariabel..
AtributAtribut
Instance variableInstance variable: adalah atribut untuk tiap obyek dari : adalah atribut untuk tiap obyek dari class yang sama.class yang sama.Tiap obyek mempunyai dan menyimpan nilai atributnya Tiap obyek mempunyai dan menyimpan nilai atributnya sendiri.sendiri.Jadi tiap obyek dari class yang sama boleh mempunyai Jadi tiap obyek dari class yang sama boleh mempunyai nilai yang sama atau beda.nilai yang sama atau beda.
Class variableClass variable: adalah atribut untuk semua obyek yang : adalah atribut untuk semua obyek yang dibuat dari class yang sama.dibuat dari class yang sama.Semua obyek mempunyai nilai atribut yang sama.Semua obyek mempunyai nilai atribut yang sama.Jadi semua obyek dari class yang sama mempunyai Jadi semua obyek dari class yang sama mempunyai hanya satu nilai yang value nya sama.hanya satu nilai yang value nya sama.
Tingkah LakuTingkah Laku
Tingkah laku adalah hal – hal yang bisa Tingkah laku adalah hal – hal yang bisa dilakukan oleh obyek dari suatu class.dilakukan oleh obyek dari suatu class.Tingkah laku dapat digunakan untuk mengubah Tingkah laku dapat digunakan untuk mengubah nilai atribut suatu obyek, menerima informasi nilai atribut suatu obyek, menerima informasi dari obyek lain, dan mengirim informasi ke dari obyek lain, dan mengirim informasi ke obyek lain untuk melakukan suatu task.obyek lain untuk melakukan suatu task.Contoh: VolcanoRobotContoh: VolcanoRobot Check current temperatureCheck current temperature Begin a surveyBegin a survey Report its current locationReport its current location
Dalam class, tingkah laku disebut juga sebagai Dalam class, tingkah laku disebut juga sebagai methodmethod..
Tingkah LakuTingkah Laku
Method: adalah serangkaian statements Method: adalah serangkaian statements dalam suatu class yang menghandle suatu dalam suatu class yang menghandle suatu task tertentu.task tertentu.
Cara obyek Cara obyek berkomunikasiberkomunikasi dengan obyek dengan obyek lain adalah dengan menggunakan lain adalah dengan menggunakan methodmethod..
Contoh: class, object, attributtes, Contoh: class, object, attributtes, dan behavior dan behavior
nama class
instance variable
methods
Konsep Dasar OOPKonsep Dasar OOP
Enkapsulasi (Encapsulation)Enkapsulasi (Encapsulation)
Penurunan (Inheritance)Penurunan (Inheritance)
Polimorfisme (Polymorphism)Polimorfisme (Polymorphism)
EnkapsulasiEnkapsulasi
Definisi enkapsulasi: Pembungkusan Definisi enkapsulasi: Pembungkusan variabel dan method dalam sebuah obyek variabel dan method dalam sebuah obyek yang terlindungi serta menyediakan yang terlindungi serta menyediakan interface untuk mengakses variabel interface untuk mengakses variabel tersebut.tersebut.
Variabel dan method yang dipunyai suatu Variabel dan method yang dipunyai suatu obyek, bisa ditentukan hak aksesnya.obyek, bisa ditentukan hak aksesnya.
EnkapsulasiEnkapsulasi
Contoh: jam tanganContoh: jam tangan Penting sekali untuk mengetahui waktu.Penting sekali untuk mengetahui waktu. Cara jam mencatat waktu dengan baik antara Cara jam mencatat waktu dengan baik antara
jam bertenaga baterai atau bertenaga gerak jam bertenaga baterai atau bertenaga gerak tidaklah penting kita ketahui.tidaklah penting kita ketahui.
Dalam OOP, konsep enkapsulasi Dalam OOP, konsep enkapsulasi sebenarnya merupakan perluasan dari sebenarnya merupakan perluasan dari struktur dalam bahasa C.struktur dalam bahasa C.
PewarisanPewarisan
Definisi : merupakan pewarisan atribut dan Definisi : merupakan pewarisan atribut dan method dari sebuah class ke class method dari sebuah class ke class lainnya.lainnya.
Class yang mewarisi Class yang mewarisi superclass superclass
Class yang diwarisi Class yang diwarisi subclass subclass
Subclass bisa berlaku sebagai superclass Subclass bisa berlaku sebagai superclass bagi class lainya bagi class lainya multilevel inheritancemultilevel inheritance..
PewarisanPewarisan
Contoh : terdapat class sepeda dan sepeda Contoh : terdapat class sepeda dan sepeda gunung.gunung. Sepeda Sepeda superclass superclass Sepeda gunung Sepeda gunung subclass subclass Sepeda gunung memiliki variabel dan method yang Sepeda gunung memiliki variabel dan method yang
dimiliki oleh sepeda.dimiliki oleh sepeda.
Prinsip : Persamaan-persamaan yang dimiliki Prinsip : Persamaan-persamaan yang dimiliki oleh beberapa kelas dapat digabungkan dalam oleh beberapa kelas dapat digabungkan dalam sebuah class induk sehingga setiap kelas yang sebuah class induk sehingga setiap kelas yang diturunkannya memuat hal-hal yang spesifik diturunkannya memuat hal-hal yang spesifik untuk kelas yang bersangkutan.untuk kelas yang bersangkutan.
Keuntungan pewarisanKeuntungan pewarisan
Subclass menyediakan state/behaviour yang Subclass menyediakan state/behaviour yang spesifik yang membedakan dengan superclass spesifik yang membedakan dengan superclass memungkinkan programmer untuk memungkinkan programmer untuk menggunakan ulang source code dari menggunakan ulang source code dari superclass yang telah ada.superclass yang telah ada.
Programmer dapat mendefinisikan superclass Programmer dapat mendefinisikan superclass khusus yang bersifat generik, yang disebut khusus yang bersifat generik, yang disebut abstract class, untuk mendefinisikan class abstract class, untuk mendefinisikan class dengan tingkah laku dan state secara umum.dengan tingkah laku dan state secara umum.
Single dan multiple inheritanceSingle dan multiple inheritance
C C multiple inheritancemultiple inheritance
Suatu class diperbolehkan untuk mempunyai Suatu class diperbolehkan untuk mempunyai lebih dari satu superclass.lebih dari satu superclass.
Variabel dan method yang diwariskan Variabel dan method yang diwariskan merupakan kombinasi dari superclass-nya.merupakan kombinasi dari superclass-nya.
Java Java single inheritancesingle inheritance
Suatu class hanya boleh mempunyai satu Suatu class hanya boleh mempunyai satu superclass.superclass.
Multilevel inheritanceMultilevel inheritance
Suatu subclass bisa menjadi superclass Suatu subclass bisa menjadi superclass bagi class yang lain.bagi class yang lain.