Konsep Pemrograman Berorientasi Obyek

47
Konsep Pemrograman Konsep Pemrograman Berorientasi Obyek Berorientasi Obyek Pertemuan 1 Pertemuan 1 Oleh Tita karlita Oleh Tita karlita

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 Presentation

Transcript of Konsep Pemrograman Berorientasi Obyek

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

Operation of the JREOperation of the JRE

Pemrograman ProseduralPemrograman Prosedural

F(1)

F(2)

….

A

B

C

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.

Pemrograman berorientasi obyekPemrograman berorientasi obyek

F(1)

F(2)

….

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

Contoh: lanjutanContoh: lanjutan

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.

PewarisanPewarisan

Sepeda

Sepeda Gunung

Sepeda Balap

Sepeda Motor

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.

PolimorfismePolimorfisme

Definisi: Kemampuan suatu obyek untuk Definisi: Kemampuan suatu obyek untuk mempunyai lebih dari satu bentuk .mempunyai lebih dari satu bentuk .