Anda di halaman 1dari 29

PEMROGRAMAN

BERORIENTASI OBJEK Pertemuan 1 - Pengenalan


Konsep Dasar

(PBO)
DEFINISI
Bukan merupakan bahasa pemrograman, melainkan sebuah
metode/paradigma/pendekatan (cara berpikir) lain dalam
pembuatan sebuah program
Menyelesaikan persoalan pemrograman dengan membagi
persoalan ke dalam unit-unit yang lebih kecil yang disebut objek,
sehingga pemrograman ini beroirentasi objek dan program dibuat
berdasarkan objek-objek
Tujuannya untuk mempermudah pengembangan program dengan
cara mengikuti model yang telah ada di kehidupan sehari-hari
KENAPA PBO?
Dengan PBO, kode-kode yang kita buat menjadi lebih rapih dan terstruktur.
Dengan PBO, proses reuse kode-kode yang kita buat untuk project yang hampir
sama, mudah, karena kode yang kita buat rapih dan terstruktur. Sehingga untuk
mengubah atau reuse kode tidak ribet.
Konsepnya per modul. Pernah buat fungsi atau prosedur di C++ atau di PHP? Lalu
kita tinggal panggil saja nama fungsinya. Kalau error pasti mudah diketahui karena
terbaca dari fungsi yang kita panggil. Itulah maksudnya konsep per modul. Sehingga
dengan BPO, kita dimudahkan untuk membuat dan membaca kode kita (efisiensi
kode).
Konsep PBO juga memudahkan kita untuk menganalisa program yang kita akan
buat. Ini akan sangat terasa kalau kita membuat program besar dan kompleks
CONTOH
Objek: Eko_Dwi_Nugroho
 Kelas: manusia
 Atribut: nama, tinggi, usia, berat badan
 Metode: berjalan, bekerja, tidur, makan

Objek: Kijang_Inova
 Kelas: mobil
 Atribut: warna, BahanBakar
 Metode: InjakPedal(), InjakRem()
ANALOGI – PABRIK MOBIL
Sebelum seseorang membuat mobil, tentu kita harus membuat
mobil tersebut terlebih dahulu
BAGAIMANA CARA MEMBUAT
MOBIL?
Langkah 1: menggambar desain mobil, termasuk detailnya,
seperti:
 Desain pedal gas untuk maju
 Desain rem untuk berhenti
 Desain setir untuk belok kiri, kanan, lurus

Langkah 2: membuat mobil


BAGAIMANA PEDAL GAS
BEKERJA?
Apa yang sebenarnya terjadi di dalam mesin pada saat pedal gas
diinjak?
Apakah kalian sebagai pengendara perlu tahu, bagaimana cara
kerja detil dari pegas tersebut?
Tentu tidak, yang perlu kalian ketahui hanyalah kalau pedal gas
diinjak akan mempercepat mobil
Artinya, detil dan cara kerja pedal disembunyikan dari
penggunanya, kalian cukup tahu aturan fungsinya saja
DESAIN MOBIL -> OBJEK
MOBIL
Kesimpulannya, sebelum kita membuat mobil, seseorang harus
mendesainnya terlebih dahulu
Didesain tersebut, semua detail cara kerja mobil disembunyikan
dari para penggunanya kelak
Setelah desain mobil dibuat, maka kita dapat mulai membuat
berbagai objek mobil yang diinginkan
APA HUBUNGANNYA DENGAN
PBO?
Sama halnya dengan penyembunyian detail pedal pada sebuah
mobil, di PBO kita menyembunyikan detail pemrograman di
dalam sebuah metode (fungsi)
Metode-metode ini dibuat dan disimpan bersama-sama di dalam
suatu desain yang disebut dengan kelas.
 Metode -> injak gas, injak rem, belok kiri, belok kanan
 Kelas -> rancangan mobil
PERBANDINGAN
Prosedural/Tersetruktur
 Berorientasi pada proses
 Pendekatan top-down, program besar dibagi menjadi sub program (fungsi/prosedur) yang
lebih kecil
 Penekanan utama pada sesuatu yang harus dikerjakan secara berurutan
 Data dan fungsi diperlakukan sebagai entitas yang berbeda, sebagian besar fungsi/prosedur
mengakses variabel (data) global
 Data tidak dapat terjaga dengan baik dan dapat diakses dengan sembarang atau dari
manapun
PBO
 Berorientasi pada objek
 Pendekatan Butoom-Up, pembuatan sub program (objek) yang lebih kecil terlebih dahulu
kemudian sub-sub program tersebut digabungkan menjadi program besar
 Penekanan utama pada identifikasi objek-objek yang terlibat dan bagaimana objek-objek
tersebut berinteraksi serta sesuatu yang tidak harus dikerjakan secara berurutan
 Data dan fungsi diperlakukan sebagai entitas yang sama
 Data dapat terjaga dengan baik dan tidak dapat diakses dengan sembarang atau dari
manapun
BAHASA PEMROGRAMAN
Java
C++
PHP
Python
ISTILAH DAN KONSEP PBO
KELAS
Suatu template/kerangka dasar/
rancangan/bluepint dari objek yang akan dibuat
Berisi dan mendefinisikan atribut dan metode untuk objeknya
nanti
1 buah kelas dapat membuat banyak objek
Tidak bisa langsung digunakan, harus implementasikan menjadi
sebuat objek dulu, dapat disebut Instansiasi
Misal: kelas Car, Human
OBJEK
Sesuatu yang diciptakan dari kelas, sehingga merupakan bentuk
“nyata” atau perwujutan dari kelas
1 buah objek terdiri dari 1 kelas
Setiap objek dapat berkomunikasi/berinteraksi dengan objek
lainnya
Misal: objek CarKijang dibuat dari kelas Car; objek kue dibuat
dari kelasnya CetakanKue
ATRIBUT
Dapat disebut juga property/data yang merupakan variabel
Data/isi/informasi dari suatu objek
Didefiniskan di kelas
Misal: objek CarKijang, memiliki atribut warna dan BahanBakar
METODE
Merupakan fungsi
Menyatakan proses-proses apa saja yang bisa dilakukan oleh
objek
Dapat dikatakan sebagai aksi atau tinfakan yang bisa dilakukan
oleh suatu objek (sifat/perilaku dari objek)
Didefiniskan di kelas
Misal: objek CarKijang mempunyai metode IncreaseSpeed()
KARATERISTIK DAN DESAIN
Karateristik
 Encapsulation
 Inheritance
 Polymorphysm

Desain
 UML
ENCAPSULATION
Suatu pembukus untuk atribut dan metode yang dimiliki sebuah
objek agar terlindungi, sehingga tidak dapat diganti secara
sembarang dengan cara yang tidak seharusnya, keaslian dari objek
tersebut terjaga
Berkomunikasi hanya lewat antarmuka yang disediakan oleh
objek tersebut
Misal: atribut gear pada kelas Car dibuat privat sehingga objek
lainnya tidak bisa mengakses atribut tersebut
INHERITANCE
Pewarisan atribut dan metode dari sebuat kelas ke kelas lainnya
Kelas yang mewarisi disebut superclass/kelas induk, sedangkan kelas yang diberi
warisan disebut subclass/kelas anak atau turunan
Pewarisan memungkinkan untuk menciptakan kelas baru (kelas turunan) dengan
mempunyai atribut dan metode sama dengan kelas induk, namun kelas baru tersebut
juga mempunyai atribut dan metode yang lainnya yang tidak dimiliki oleh kelas
induknya
Misal: kita bisa membuat kelas ModernCar yang merupakan turunan dari kelas Car,
sehingga atribut dan metode sama dengan kelas induk tanpa perlu dideklaraikan
ulang, namun kita bisa membuatnya unik dengan menambahkan metode
AutomaticStop() pada definisi kelasnya
POLYMORPHYSM
Kemampuan suatu objek untuk mempunyai lebih dari satu bentuk atau
melakukan hal yang berbeda-beda dengan bentuk yang sama, artinya
menciptakan berbagai macam bentuk yang berbeda dengan kelas yang sama
Dapat melakukan aksi yang berbeda bila metode yang sama dipanggil, di
mana aksi metode tergantung pada bentuk objeknya, artinya satu metode
dengan nama yang sama namun parameternya berbeda-beda
Misal: konversi tipe data ke String, apapun tipe data sebelumnya maka
perintah konversinya sama
UML
Bahasa visual untuk permodelan dan komunikasi mengenai
sebuah sistem dengan menggunakan diagram dan teks pendukung
Diagram permodelan yang cocok untuk PBO
Diagram-diagramnya dapat merepresentasikan kelas-kelas yang
ada pada sistem
Terdapat 13 diagram dalam 3 kategori
SEKILAH PYTHON
Salah satu bahasa pemrograman tingkat tinggi untuk tujuan umum
Dikembangkan sekitar tahun 1990
Memiliki struktur yang sederhana, mudah dipelajar, dan dipakai
oleh banyak pengembang (populer)
Mendukung pemrograman terstruktur/prosedural dan
pemrograman berorientasi objek
Mendukung sistem operasi Linux, Windows, dan Mac
Terdapat kelebihan dan kekurang
Dapat digunakan untuk:
Pengembangan perangkat lunak, terutama berbasis web
Komputasi
Pembuatan skrip sistem
Apa yang dapat Python lakukan?
Python dapat digunakan untuk membuat perangkat lunak, terutama
berbasis web
Python dapat digunakan untuk menangani data besar dan melakukan
komputasi yang kompleks
Python dapat digunakan untuk mendapatkan informasi dari suatu website
Kenapa Python?
Python dapat dijalankan pada berbagai sistem operasi
Python memiliki sintaks sederhana dan memungkinkan pengembang untuk
menulis program dengan baris lebih sedikit daripada beberapa bahasa
pemrograman lainnya
Python berjalan pada sistem interpreter, artinya kode dapat dieksekusi
segera setelah ditulis
Python dapat diperlakukan dengan cara prosedural/terstruktur dan
berorientasi objek
Perbandingan syntax Python dengan bahasa pemrograman lain
Python dirancang agar mudah dibaca
Python menggunakan baris baru untuk menyelesaikan sebuah perintah,
berbeda dengan bahasa pemrograman lain yang sering menggunakan titik
koma atau tanda kurung
Python mengandalkan indentasi, menggunakan spasi, untuk
mendefinisikan ruang lingkup, seperti cakupan loop, fungsi, dan kelas.
Bahasa pemrograman lain sering menggunakan tanda kurung kurawal untuk
tujuan ini
PERANGKAT LUNAK
PENDUKUNG (WINDOWS)
IDE/Teks Editor Offline (Download dan Install):
https://www.python.org/ftp/python/3.8.7/python-3.8.7-amd64.exe (64-bit)
atau https://www.python.org/ftp/python/3.8.7/python-3.8.7.exe (32-bit)
Versi utama terbaru dari Python adalah Python 3, yang akan kita gunakan
dalam mata kuliah ini
Extensi: .py
Cek versi: python --version
IDE/Teks Editor Online (Website): https://repl.it/
TERIMA KASIH Pertemuan 1 - Selesai

Anda mungkin juga menyukai