Pendahuluan OOP

12
Izzatul Ummah, S.T., M.T. Pendahuluan OOP Modified from: - many sources (see references)

description

Pendahuluan OOP. Izzatul Ummah, S.T., M.T. Modified from: many sources (see references). Overview. Apa itu Object Oriented Programming? Perbedaan dengan procedural programming Kelebihan OOP Pengenalan Java Java: bahasa pemrograman berbasis OOP Ingat kembali C/C++ (bandingkan). - PowerPoint PPT Presentation

Transcript of Pendahuluan OOP

Page 1: Pendahuluan OOP

Izzatul Ummah, S.T., M.T.

Pendahuluan OOP

Modified from:- many sources (see references)

Page 2: Pendahuluan OOP

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)

Page 3: Pendahuluan OOP

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)

Page 4: Pendahuluan OOP

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.

Page 5: Pendahuluan OOP

Kuliah Pemrograman Berorientasi Objek

Ide Dasar OOP (Contoh)

Contoh: dunia makhluk hidup (model sistem biologi)

Page 6: Pendahuluan OOP

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.

Page 7: Pendahuluan OOP

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.

Page 8: Pendahuluan OOP

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

Page 9: Pendahuluan OOP

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; };

Page 10: Pendahuluan OOP

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

Page 11: Pendahuluan OOP

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

Page 12: Pendahuluan OOP

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)