Pendahuluan OOP
description
Transcript of Pendahuluan OOP
Izzatul Ummah, S.T., M.T.
Pendahuluan OOP
Modified from:- many sources (see references)
Kuliah Pemrograman Berorientasi Objek
Overview
Apa itu Object Oriented Programming?Perbedaan dengan procedural programmingKelebihan OOP
Pengenalan JavaJava: bahasa pemrograman berbasis OOPIngat kembali C/C++ (bandingkan)
Kuliah Pemrograman Berorientasi Objek
Konseptual Objek Model Objek Model: adalah proses bagaimana kita memodelkan sistem yang
ada berupa objek-objek
Konseptual Objek Model terdiri dari 4 konsep dasar:Abstraksi:
Proses mengamati objek2 yang ada di sistem dunia nyata, mengidentifikasi persamaan dan perbedaan ciri2nya, lalu membuat classes (+atribut+method) sesuai hasil pengamatan itu.
Abstraksi: penyederhanaan objek2 yg mirip sehingga kita dapat membuat sebuah class (atribut2/method) dan menyatakan bahwa objek2 yg mirip itu kita create/lahirkan dari class yang sama.
Encapsulasi: access specifier (public, private), get dan setClass mempersatukan atribut dan method di dalamnya agar tidak
tercerai-berai. Aturan: semua ATR+METH harus di dalam class.Modularitas: masing2 objek ditreatment sendiriHierarki: relasi antar kelas, inheritance (pewarisan)
Kuliah Pemrograman Berorientasi Objek
Ide Dasar OOP
Membuat program dengan pendekatan semirip mungkin dengan dunia nyata:Langkah pertama: Tentukan benda apa saja yang harus ada,
siapa aktor/pelaku (role)? (Subjek) -> ini jadi Class (Object)Apa sifat/elemen masing2 benda/aktor? -> ini jadi PropertyBenda/aktor itu bisa melakukan apa saja? (Predikat) -> ini
jadi Methods (kalau di C/C++ ini adalah prosedur/fungsi)Jadi, setiap Class bisa memiliki Property dan MethodPada OOP/Java, setiap variabel dan fungsi/prosedur
harus jelas yaitu dimiliki oleh Class yg mana. Cara pemanggilan (invoke) fungsi/prosedur juga harus ditulis Class yg memilikinya. Misalnya se.hitungLuas() akan menghasilkan luas untuk object se dari class Segiempat.
Kuliah Pemrograman Berorientasi Objek
Ide Dasar OOP (Contoh)
Contoh: dunia makhluk hidup (model sistem biologi)
Kuliah Pemrograman Berorientasi Objek
Ide Dasar OOP (Contoh)
Contoh 1:Class: ManusiaProperty/Attribute: nama, umur, gender, kebangsaan,
warnakulit, warna rambut, warna iris mataMethod: lahir, berjalan, berlari, berdiri, tidur, makan, berpikir,
berbicara, tertawa, menangis, tersenyum, marah, berbohong, mati.
Contoh 2:Class: HewanProperty: umurMethod: lahir, makan, tidur, berlari, mati.
Kuliah Pemrograman Berorientasi Objek
Ide Dasar OOP (Contoh)
Contoh 3:Class: Makhluk HidupProperty/Attribute: umur, jumlah selMethod: lahir, mati.
Class Manusia dan Hewan pasti termasuk di dalam kelompok Class Makhluk HidupDibahas lebih jauh di InheritanceIngat konsep Phyllum/Divisio (pembagian divisio,class,ordo,
family,genus,species) pada Biologi, maka kelas juga bisa dibuat bertingkat-tingkat dalam superclass-subclass.
Kuliah Pemrograman Berorientasi Objek
Ide Dasar OOP (Object Oriented)
Peralihan dari C/C++ (procedural programming)
Contoh: tipe bentukan titik, tipe bentukan mahasiswa
Class dan Object:Class adalah suatu kelompokObject adalah instansiasi kelas (harus “dilahirkan” dulu
dengan menggunakan Constructor)
C/C++ OOP/Java
Variabel Property/attribute
Prosedur/fungsi Method
Variabel + prosedur/fungsi(ingat tipe bentukan struct di C++)
Class
Kuliah Pemrograman Berorientasi Objek
Ingat lagi: Struct di C++
Ingat kembali typedef struct di C++ (contoh: kasus titik)Class: Titik
Property/Atribut: x, y, z (dgn tipedata float)Ini perbandingannya antara di C++ dengan di OOP/Java
C++ OOP/Java
struct titik { float x; float y; float z; };
Kuliah Pemrograman Berorientasi Objek
Praktikum Pertama Kita: Helloworld
Buat file Helloworld.java:Nama kelas harus sama dengan nama file (case sensitive)Isi filenya:
Bandingkan file helloworld.cpp dan Helloworld.javaSama-sama punya “main”Tapi di Java, main itu harus ada di dalam kelas
Kuliah Pemrograman Berorientasi Objek
Tentang Java
Java adalah:Bahasa pemrogramanNama software yang menjalankan program JavaDiambil dari nama kopi Jawa yg terkenal di kalangan
programmer (C/C++, yg melahirkan Java)Oak (diganti karena udah ada yang memakai nama ini)
Kelebihan OOP/Java:Pemodelan lebih mudah dan akurat (mirip dunia nyata)Membuat program/software lebih cepatWrite once, run everywhere (bisa di Windows, Linux, Mac)
J2ME: mobile di handphone, consumer device, dsb
Kuliah Pemrograman Berorientasi Objek
Kesimpulan: Konsep Penting di OOP
Everything in OOP/Java is class and object (tidak boleh ada 1 variabel atau fungsi/prosedur apa pun yg didefinisikan secara ‘mengambang’/tidak ada di dalam kelas tertentu)