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
Teknologi Java
Pemrograman prosedural vs pemrograman
berorientasi obyek
Mengorganisasi program menjadi element yang
disebut sebagai class, dan bagaimana class ini
digunakan untuk membuat obyek.
Pengenalan Obyek
Konsep OOP
Cara kompile dan menjalankan aplikasi Java
Kelebihan Java
Sederhana
Berbasis obyek
Full-modularity
Handal
Platform independent
Aman
Java SmallTalk TCL Perl Shells C C++
Simple
Object
Oriented
Robust
Secure
Interpreted
Dynamic
Portable
Neutral
Threads
Garbage
Collection
Exceptions
Performanc High Medium Low Medium Low High High
What is the Java Technology?
A programming language
A development environment
An application environment
A deployment environment
A programming language
Sintak bahasa pemrograman java mirip
dengan bahasa C++
A development environment
Teknologi java menyediakan: kompiler,
interpreter, documentation generator, class
file packaging.
An application environment
Merupakan standalone program yang
tidak memerlukan web browser untuk
mengeksekusi program (applet).
A deployment environment
Terdapat 2 deployment environment
utama:
 JRE (Java Runtime Environment) yang
menyediakan class-class yang tersimpan
dalam package-package, komponen GUI
class, dan Collection API.
 Web browser  banyak web browser
komersial yang menyediakan lingkungan Java
Technology interpreter dan runtime.
Fitur dari Java Technology
Java Virtual Machine (JVM)
Garbage collection
Sekuritas kode
JVM
Menyediakan spesifikasi hardware platform
Membaca byte code yang sudah terkompilasi
yang mendukung multi-platform
Diimplementasikan sebagai software atau
hardware
Diimplementasikan di Java technology
development tool atau web browser
Garbage collection
Mengecek dan membersihkan memori
yang tidak lagi terpakai
Dilakukan otomatis
Berjalan sesuai dengan implementasi
JVM
Java Runtime Environment
Menangani 3 tugas utama:
 Melakukan pemanggilan kode
 Memverifikasi kode
 Mengeksekusi kode
Operation of the JRE
Pemrograman Prosedural
F(1)
F(2)
….
A
B
C
Bahasa Prosedural
Serangkaian tugas diselesaikan dalam bentuk
fungsi atau prosedur.
Cara pandang  program adalah suatu urutan
instruksi.
Programer harus me-break down suatu problem
menjadi sub problem yang lebih simple.
Fungsi dan prosedur menjadi fokus utama.
Fungsi dan prosedur digunakan untuk
memanipulasi data.
Data bersifat pasif.
Pemrograman berorientasi obyek
F(1)
F(2)
….
Keuntungan OOP
Reusabilitas
Pembangunan program
lebih cepat
Fleksibilitas lebih tinggi
Ekstensibilitas
Less maintenance
Pemrograman Berorientasi Obyek
Fungsi dan data bukan menjadi dua hal
yang terpisah.
Fungsi dan data menjadi satu kesatuan
yang disebut sebagai obyek aktif.
Cara pandang  program adalah
serangkaian obyek yang bekerjasama
untuk menyelesaikan suatu problem.
Kata kunci OOP
Objek  dapat berupa Class atau Instances. Harus
berasal dari entitas atau konsep dunia nyata.
Class  template untuk membuat obyek.
Atribut  identitas unik dari obyek
Metode  fungsi untuk pengaksesan atribut atau tugas
tertentu
Enkapsulasi  menyembunyikan struktur data dan
implementasi suatu class.
Inheritansi  merepresentasikan keterhubungan
struktural antar class
Polymorphism  kemampuan untuk
merepresentasikan 2 bentuk obyek yang berbeda
Apakah Obyek?
Semua benda yang ada di dunia nyata
dapat dianggap sebagai obyek.
Contoh : rumah, mobil, sepeda motor,
gelas, komputer, meja dll.
Karakteristik Obyek
Setiap obyek memiliki state sebagai status
(atribut).
Setiap obyek memiliki tingkah laku (method)
Contoh: obyek sepeda
 Memiliki atribut : pedal, roda, jeruji, warna, jumlah
roda.
 Memiliki method  : kecepatanya menaik,
kecepatannya menurun, perpindahan gigi sepeda.
Karakteristik Obyek
Penggambaran pemrograman berorientasi
obyek = penggambaran pada dunia nyata.
Pada pemrograman berorientasi obyek:
 State disimpan pada  variabel
 Tingkah laku disimpan pada  method
Apakah Class?
Definisi class: merupakan template untuk
membuat obyek.
Definisi class: merupakan prototipe / blue prints
yang mendefinisikan variabel – variabel dan
method – method secara umum.
Obyek merupakan hasil instansiasi dari suatu
kelas.
Proses pembentukan obyek dari suatu class
disebut dengan instantiation.
Obyek disebut juga instances.
Atribut
Definisi atribut : adalah data yang membedakan
antara obyek satu dengan yang lain.
Contoh: VolcanoRobot  A volcanic exploration
vehicle, mempunyai atribut sebagai berikut:
 Status  exploring, moving, returning home
 Speed 1, 2, 3 dll in miles per hour)
 Temperature  100, 120, 130 dll (in Fahrenheit
degrees)
Dalam class atribut disebut juga dengan
variabel.
Atribut
Instance variable: adalah atribut untuk tiap obyek dari
class yang sama.
Tiap obyek mempunyai dan menyimpan nilai atributnya
sendiri.
Jadi tiap obyek dari class yang sama boleh mempunyai
nilai yang sama atau beda.
Class variable: adalah atribut untuk semua obyek yang
dibuat dari class yang sama.
Semua obyek mempunyai nilai atribut yang sama.
Jadi semua obyek dari class yang sama mempunyai
hanya satu nilai yang value nya sama.
Tingkah Laku
Tingkah laku adalah hal – hal yang bisa
dilakukan oleh obyek dari suatu class.
Tingkah laku dapat digunakan untuk mengubah
nilai atribut suatu obyek, menerima informasi
dari obyek lain, dan mengirim informasi ke
obyek lain untuk melakukan suatu task.
Contoh: VolcanoRobot
 Check current temperature
 Begin a survey
 Report its current location
Dalam class, tingkah laku disebut juga sebagai
method.
Tingkah Laku
Method: adalah serangkaian statements
dalam suatu class yang menghandle suatu
task tertentu.
Cara obyek berkomunikasi dengan obyek
lain adalah dengan menggunakan method.
Contoh: class, object, attributtes,
dan behavior
nama class
instance variable
methods
Contoh: lanjutan
Konsep Dasar OOP
Enkapsulasi (Encapsulation)
Penurunan (Inheritance)
Polimorfisme (Polymorphism)
Enkapsulasi
Definisi enkapsulasi: Pembungkusan
variabel dan method dalam sebuah obyek
yang terlindungi serta menyediakan
interface untuk mengakses variabel
tersebut.
Variabel dan method yang dipunyai suatu
obyek, bisa ditentukan hak aksesnya.
Enkapsulasi
Contoh: jam tangan
 Penting sekali untuk mengetahui waktu.
 Cara jam mencatat waktu dengan baik antara
jam bertenaga baterai atau bertenaga gerak
tidaklah penting kita ketahui.
Dalam OOP, konsep enkapsulasi
sebenarnya merupakan perluasan dari
struktur dalam bahasa C.
Pewarisan
Definisi : merupakan pewarisan atribut dan
method dari sebuah class ke class
lainnya.
Class yang mewarisi  superclass
Class yang diwarisi  subclass
Subclass bisa berlaku sebagai superclass
bagi class lainya  multilevel inheritance.
Pewarisan
Contoh : terdapat class sepeda dan sepeda
gunung.
 Sepeda  superclass
 Sepeda gunung  subclass
 Sepeda gunung memiliki variabel dan method yang
dimiliki oleh sepeda.
Prinsip : Persamaan-persamaan yang dimiliki
oleh beberapa kelas dapat digabungkan dalam
sebuah class induk sehingga setiap kelas yang
diturunkannya memuat hal-hal yang spesifik
untuk kelas yang bersangkutan.
Pewarisan
Sepeda
Sepeda
Gunung
Sepeda
Balap
Sepeda
Motor
Keuntungan pewarisan
Subclass menyediakan state/behaviour yang
spesifik yang membedakan dengan superclass
 memungkinkan programmer untuk
menggunakan ulang source code dari
superclass yang telah ada.
Programmer dapat mendefinisikan superclass
khusus yang bersifat generik, yang disebut
abstract class, untuk mendefinisikan class
dengan tingkah laku dan state secara umum.
Single dan multiple inheritance
C  multiple inheritance
Suatu class diperbolehkan untuk mempunyai
lebih dari satu superclass.
Variabel dan method yang diwariskan
merupakan kombinasi dari superclass-nya.
Java  single inheritance
Suatu class hanya boleh mempunyai satu
superclass.
Multilevel inheritance
Suatu subclass bisa menjadi superclass
bagi class yang lain.
Polimorfisme
Definisi: Kemampuan suatu obyek untuk
mempunyai lebih dari satu bentuk .

T1 - Konsep Pemrograman Berorientasi Obyek.ppt

  • 1.
  • 2.
    Tujuan Pengenalan bahasa Java Memberikanlatar belakang serta pemahaman tentang konsep pemrograman berorientasi obyek dan perbandingannya dengan pemrograman prosedural.
  • 3.
    Topik Teknologi Java Pemrograman proseduralvs pemrograman berorientasi obyek Mengorganisasi program menjadi element yang disebut sebagai class, dan bagaimana class ini digunakan untuk membuat obyek. Pengenalan Obyek Konsep OOP Cara kompile dan menjalankan aplikasi Java
  • 4.
  • 5.
    Java SmallTalk TCLPerl Shells C C++ Simple Object Oriented Robust Secure Interpreted Dynamic Portable Neutral Threads Garbage Collection Exceptions Performanc High Medium Low Medium Low High High
  • 6.
    What is theJava Technology? A programming language A development environment An application environment A deployment environment
  • 7.
    A programming language Sintakbahasa pemrograman java mirip dengan bahasa C++
  • 8.
    A development environment Teknologijava menyediakan: kompiler, interpreter, documentation generator, class file packaging.
  • 9.
    An application environment Merupakanstandalone program yang tidak memerlukan web browser untuk mengeksekusi program (applet).
  • 10.
    A deployment environment Terdapat2 deployment environment utama:  JRE (Java Runtime Environment) yang menyediakan class-class yang tersimpan dalam package-package, komponen GUI class, dan Collection API.  Web browser  banyak web browser komersial yang menyediakan lingkungan Java Technology interpreter dan runtime.
  • 11.
    Fitur dari JavaTechnology Java Virtual Machine (JVM) Garbage collection Sekuritas kode
  • 12.
    JVM Menyediakan spesifikasi hardwareplatform Membaca byte code yang sudah terkompilasi yang mendukung multi-platform Diimplementasikan sebagai software atau hardware Diimplementasikan di Java technology development tool atau web browser
  • 14.
    Garbage collection Mengecek danmembersihkan memori yang tidak lagi terpakai Dilakukan otomatis Berjalan sesuai dengan implementasi JVM
  • 15.
    Java Runtime Environment Menangani3 tugas utama:  Melakukan pemanggilan kode  Memverifikasi kode  Mengeksekusi kode
  • 16.
  • 22.
  • 23.
    Bahasa Prosedural Serangkaian tugasdiselesaikan dalam bentuk fungsi atau prosedur. Cara pandang  program adalah suatu urutan instruksi. Programer harus me-break down suatu problem menjadi sub problem yang lebih simple. Fungsi dan prosedur menjadi fokus utama. Fungsi dan prosedur digunakan untuk memanipulasi data. Data bersifat pasif.
  • 24.
  • 25.
    Keuntungan OOP Reusabilitas Pembangunan program lebihcepat Fleksibilitas lebih tinggi Ekstensibilitas Less maintenance
  • 26.
    Pemrograman Berorientasi Obyek Fungsidan data bukan menjadi dua hal yang terpisah. Fungsi dan data menjadi satu kesatuan yang disebut sebagai obyek aktif. Cara pandang  program adalah serangkaian obyek yang bekerjasama untuk menyelesaikan suatu problem.
  • 27.
    Kata kunci OOP Objek dapat berupa Class atau Instances. Harus berasal dari entitas atau konsep dunia nyata. Class  template untuk membuat obyek. Atribut  identitas unik dari obyek Metode  fungsi untuk pengaksesan atribut atau tugas tertentu Enkapsulasi  menyembunyikan struktur data dan implementasi suatu class. Inheritansi  merepresentasikan keterhubungan struktural antar class Polymorphism  kemampuan untuk merepresentasikan 2 bentuk obyek yang berbeda
  • 28.
    Apakah Obyek? Semua bendayang ada di dunia nyata dapat dianggap sebagai obyek. Contoh : rumah, mobil, sepeda motor, gelas, komputer, meja dll.
  • 29.
    Karakteristik Obyek Setiap obyekmemiliki state sebagai status (atribut). Setiap obyek memiliki tingkah laku (method) Contoh: obyek sepeda  Memiliki atribut : pedal, roda, jeruji, warna, jumlah roda.  Memiliki method  : kecepatanya menaik, kecepatannya menurun, perpindahan gigi sepeda.
  • 30.
    Karakteristik Obyek Penggambaran pemrogramanberorientasi obyek = penggambaran pada dunia nyata. Pada pemrograman berorientasi obyek:  State disimpan pada  variabel  Tingkah laku disimpan pada  method
  • 31.
    Apakah Class? Definisi class:merupakan template untuk membuat obyek. Definisi class: merupakan prototipe / blue prints yang mendefinisikan variabel – variabel dan method – method secara umum. Obyek merupakan hasil instansiasi dari suatu kelas. Proses pembentukan obyek dari suatu class disebut dengan instantiation. Obyek disebut juga instances.
  • 32.
    Atribut Definisi atribut :adalah data yang membedakan antara obyek satu dengan yang lain. Contoh: VolcanoRobot  A volcanic exploration vehicle, mempunyai atribut sebagai berikut:  Status  exploring, moving, returning home  Speed 1, 2, 3 dll in miles per hour)  Temperature  100, 120, 130 dll (in Fahrenheit degrees) Dalam class atribut disebut juga dengan variabel.
  • 33.
    Atribut Instance variable: adalahatribut untuk tiap obyek dari class yang sama. Tiap obyek mempunyai dan menyimpan nilai atributnya sendiri. Jadi tiap obyek dari class yang sama boleh mempunyai nilai yang sama atau beda. Class variable: adalah atribut untuk semua obyek yang dibuat dari class yang sama. Semua obyek mempunyai nilai atribut yang sama. Jadi semua obyek dari class yang sama mempunyai hanya satu nilai yang value nya sama.
  • 34.
    Tingkah Laku Tingkah lakuadalah hal – hal yang bisa dilakukan oleh obyek dari suatu class. Tingkah laku dapat digunakan untuk mengubah nilai atribut suatu obyek, menerima informasi dari obyek lain, dan mengirim informasi ke obyek lain untuk melakukan suatu task. Contoh: VolcanoRobot  Check current temperature  Begin a survey  Report its current location Dalam class, tingkah laku disebut juga sebagai method.
  • 35.
    Tingkah Laku Method: adalahserangkaian statements dalam suatu class yang menghandle suatu task tertentu. Cara obyek berkomunikasi dengan obyek lain adalah dengan menggunakan method.
  • 36.
    Contoh: class, object,attributtes, dan behavior nama class instance variable methods
  • 37.
  • 38.
    Konsep Dasar OOP Enkapsulasi(Encapsulation) Penurunan (Inheritance) Polimorfisme (Polymorphism)
  • 39.
    Enkapsulasi Definisi enkapsulasi: Pembungkusan variabeldan method dalam sebuah obyek yang terlindungi serta menyediakan interface untuk mengakses variabel tersebut. Variabel dan method yang dipunyai suatu obyek, bisa ditentukan hak aksesnya.
  • 40.
    Enkapsulasi Contoh: jam tangan Penting sekali untuk mengetahui waktu.  Cara jam mencatat waktu dengan baik antara jam bertenaga baterai atau bertenaga gerak tidaklah penting kita ketahui. Dalam OOP, konsep enkapsulasi sebenarnya merupakan perluasan dari struktur dalam bahasa C.
  • 41.
    Pewarisan Definisi : merupakanpewarisan atribut dan method dari sebuah class ke class lainnya. Class yang mewarisi  superclass Class yang diwarisi  subclass Subclass bisa berlaku sebagai superclass bagi class lainya  multilevel inheritance.
  • 42.
    Pewarisan Contoh : terdapatclass sepeda dan sepeda gunung.  Sepeda  superclass  Sepeda gunung  subclass  Sepeda gunung memiliki variabel dan method yang dimiliki oleh sepeda. Prinsip : Persamaan-persamaan yang dimiliki oleh beberapa kelas dapat digabungkan dalam sebuah class induk sehingga setiap kelas yang diturunkannya memuat hal-hal yang spesifik untuk kelas yang bersangkutan.
  • 43.
  • 44.
    Keuntungan pewarisan Subclass menyediakanstate/behaviour yang spesifik yang membedakan dengan superclass  memungkinkan programmer untuk menggunakan ulang source code dari superclass yang telah ada. Programmer dapat mendefinisikan superclass khusus yang bersifat generik, yang disebut abstract class, untuk mendefinisikan class dengan tingkah laku dan state secara umum.
  • 45.
    Single dan multipleinheritance C  multiple inheritance Suatu class diperbolehkan untuk mempunyai lebih dari satu superclass. Variabel dan method yang diwariskan merupakan kombinasi dari superclass-nya. Java  single inheritance Suatu class hanya boleh mempunyai satu superclass.
  • 46.
    Multilevel inheritance Suatu subclassbisa menjadi superclass bagi class yang lain.
  • 47.
    Polimorfisme Definisi: Kemampuan suatuobyek untuk mempunyai lebih dari satu bentuk .