Object Oriented Concept

Slides:



Advertisements
Presentasi serupa
KEBUTUHAN & SPESIFIKASI SOFTWARE
Advertisements

ANALISIS DAN PEMODELAN BERORIENTASI OBJEK DENGAN UML
U M L Unified Modeling Language
Pemrograman Berorientasi Objek
PBO - PERTEMUAN 1- CLASS.
By : Rizky Yuniar Hakun. Konsep Pemrograman Berorientasi Object.
Unified Modelling Language (UML)
PENGENALAN ANALISA SISTEM BERORIENTASI OBYEK
Konsep Pemrograman Berorientasi Obyek
BAB 2 METODE REKAYASA PERANGKAT LUNAK
13 KOMPONEN DIAGRAM UML & PROSES MODEL WATERFALL
Pemrograman Lanjut Ratnokustiawan.wordpress.com.
Pertemuan 6 Structural modelling
Pemrograman Berorientasi Objek
di OBJECT ORIENTED PROGRAMMING [OOP] Oleh H. SUMIJAN, Ir, M.Sc
Architecture dan design
Analisis Model.
Yang akan dipelajari Pengenalan UML Sejarah Singkat UML
Pertemuan 2 Konsep Aplikasi Berbasis Objek, UML dan Rational Rose
BAB 1 KONSEP OOP.
Pertemuan 1 Konsep Dasar OOAD
Rekayasa Perangkat Lunak Proses Rekayasa Perangkat Lunak
Keuntungan metodologi berorientasi objek.
ANALISIS DAN PEMODELAN BERORIENTASI OBJEK DENGAN UML
Perancangan Sistem Informasi Berorientasi Object
UML (Unified Modelling Language)
1 Pertemuan 3 Unified Modeling language (UML) Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
Oleh : Veri Julianto, M.Si
UNIFIED MODELLING LANGUAGE
Rekayasa Perangkat Lunak UML (Unified Modelling Language)
Analisa dan Perancangan Berbasis Objek
Visual Modelling Teguh Sutanto, S.Kom.,M.Kom.
Analisis Model.
Rekayasa Perangkat Lunak Konsep Orientasi Objek
PEMROGRAMAN BERORIENTASI OBJEK
Inheritance dan Kata Kunci static
Pengantar Object Oriented Analysis and Design
Object-Oriented Analysis (OOA)
PERANCANGAN SISTEM BERORIENTASI OBJEK DENGAN UML
BAB 1 KONSEP OOP.
PEMROGRAMAN BERORIENTASI OBJEK
KEBUTUHAN & SPESIFIKASI SOFTWARE
Pendahuluan Analisis & Desain Berorientasi Obyek (ADBO)
PEMODELAN SYSTEM BERORIENTASI OBYEK (UML)
UNIFIED MODELLING LANGUAGE
PBO - PERTEMUAN 1- CLASS.
Oleh : Sri Herawati, S.Kom
Use Case Diagram.
KEBUTUHAN & SPESIFIKASI SOFTWARE
REKAYASA PERANGKAT LUNAK
Analisis Model.
PEMROGRAMAN BERORIENTASI OBJECT 4 SKS 2 TEORI DAN 2 PRAKTEK
Array, Class, Obyek, Method danConstructor.
Unified Modelling Languange (UML)
NOTASI UML DAN DIAGRAM-DIAGRAM UML
Analisis dan Desain Berorientasi Obyek
ISTILAH-ISTILAH PENTING PEMROGRAMAN BERBASIS OBYEK
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER (STMIK) PALANGKARAYA
Pemrograman Berorientasi Obyek
Array, Class, Obyek, Method danConstructor.
Pertemuan 8 RPL Oleh : Syukriya al-Asyik S.Kom
Pertemuan 6 Unified Modeling Language (UML)
KEBUTUHAN & SPESIFIKASI SOFTWARE
- PERTEMUAN 1- CLASS Mustazzihim Suhaidi,M.Kom
Analisa Desain Berorientasi Objek
Perkembangan Teknik Pemrograman
RPL untuk Pemrograman Berorientasi Obyek
TIM RPL Program Studi Teknik Informatika
Konsep Aplikasi Berbasis Objek
PERANCANGAN SISTEM BERORIENTASI OBJEK DENGAN UML
Transcript presentasi:

Object Oriented Concept M. Tanzil Furqon, S.Kom Ilmu Komputer Universitas Brawijaya

Konsep dasar obyek Real world  obyek (manusia, hewan, tanaman, mobil, pesawat, gedung, komputer,dll) Manusia  sudut pandang obyek Java  dipandang sbg obyek  terdiri dari banyak obyek software interaktif Obyek : Animate : hidup, bergerak, melakukan sesuatu Inanimate : tidak bergerak sendiri Persamaan  memiliki atribut (ex: ukuran, bentuk, warna, berat, dll) dan behaviour/perilaku (ex: bola menggelinding, memantul; bayi menangis, tidur, merangkak; mobil berakselerasi, mengerem, belok, dll)

Obyek berbeda  dapat memiliki kemiripan atribut dan perilaku. Konsep dasar obyek... Manusia mengenali obyek yang ada dengan mempelajari atributnya dan mengobservasi perilakunya. Obyek berbeda  dapat memiliki kemiripan atribut dan perilaku. Dibuat perbandingan  bayi dan orang dewasa, mobil dan motor, dll.

Object Oriented Design (OOD) OOD  Memodelkan software sama dengan cara manusia memandang obyek dalam dunia nyata. Keuntungan hubungan antar class  obyek class tertentu memiliki karakteristik sama, ex: class kendaraan (mobil, truk, station wagon, dll) Keuntungan hubungan pewarisan  obyek suatu class baru diturunkan dengan mengambil karakteristik class lama dan menambahkan karakteristik unik dari dirinya sendiri. Ex: class “convertible” memiliki karakteristik umum class “automobile”, tapi lebih spesifik atapnya bisa dibuka/tutup.

Object Oriented Design (OOD)... OOD  membungkus atribut dan operasi (behaviour) kedalam obyek Obyek  property of information hiding  obyek tahu bagaimana berkomunikasi satu dengan lainnya melalui interface, tetapi mereka tidak mengetahui bagaimana obyek lain diimplementasikan. (desain implementasi tersembunyi didalam obyek itu sendiri) Ex: Manusia dapat mengendarai mobil dengan baik, tanpa mengetahui detail mesin, transmisi, rem, dan pengapian yang bekerja didalamnya.

Tujuan OOD Goals  robustness, adaptability, dan reusability Robustness : menghasilkan program yang benar, yaitu program menghasilkan output yang benar untuk semua antisipasi input. Adaptability : kemampuan program untuk dijalankan dengan perubahan minimal pada platform hardware dan sistem operasi berbeda. Reusability : kemampuan untuk digunakan kembali, dengan kode sama mampu untuk digunakan sebagai komponen pada sistem yang lain di berbagai aplikasi.

Object Oriented Programming (OOP) Java  bahasa berorientasi obyek. Pemrograman java  OOP  membolehkan programmer mengimplementasikan OOD sebagai sistem kerja. Bahasa lain (ex: C)  prosedural  pemrograman action-oriented. C  unit pemrogramannya function  kelompok action yang melakukan pekerjaan yang sama Group of function  program (prosedural)

Object Oriented Programming (OOP)... Java  unit pemrogramannya class dimana obyek diinstansiasi/diciptakan. Java class  method (operasi) dan atribut Programmer java  fokus dalam pembuatan class  tiap class memiliki atribut dan kumpulan method yang memanipulasi atribut dan menyediakan servis ke client (class lain yg menggunakan class tersebut) Programmer menggunakan class yang ada sebagai fondasi untuk membangun class yang baru

Object Oriented Programming (OOP)... Class  blueprint untuk pembuatan obyek. Dapat membuat banyak obyek dari satu class Ex: You cannot cook meals in the kitchen of a blueprint; you can cook meals in the kitchen of a house. Class dapat memiliki hubungan/relasi dengan class lain Ex: pada OOD suatu bank, class “bank teller” membutuhkan relasi dengan class “customer”, class “penarikan tunai”, class “tabungan”, dll. Relasi diatas  asosiasi

Kelompok class tertentu  paket reusable component Reuseable : Keuntungan OOP Paket software dalam bentuk class  future software system to reuse the class. (reusable) Kelompok class tertentu  paket reusable component Reuseable : hemat waktu dan tenaga dalam membuat class atau program baru membantu programmer membangun sistem yang lebih reliable dan efektif (class yang ada telah lulus uji)

Object Oriented Analysis and Design (OOAD) Beginning programmer  turn on computer and start typing  untuk program kecil Bagaimana bila membangun sistem enterprise? Lebih dari 1000 software developer? Solusi  analisis project’s requirement (apa yg harus dilakukan sistem), developing design (bagaimana sistem malakukannya)  OOAD OOAD  proses analisa masalah dan mengembangkan pendekatan untuk mendapatkan solusi Sebelum membuat program java  pseudocode (logika program) OOAD  bahasa grafis untuk komunikasi  UML (Unified Modeling Language)

Sejarah UML Dikembangkan pertengahan 1990-an oleh tiga software methodologists : Grady Booch, James Rumbaugh dan Ivar Jacobson Th 1980-an bayak organisasi menggunakan OOP  develop standard OOAD Object Management Group (OMG)  organisasi non profit yang mempromosikan standarisasi teknologi OO OMG, HP, IBM, Microsoft, Oracle, Rational Software  consorsium (UML Partners)  UML 1.1 (1997) Th 2003  OMG released UML 1.5 Sekarang  UML 2.0

System designer  memodelkan sistem dgn UML (diagram) Kelebihan UML : UML  skema representasi grafik untuk pemodelan sistem berorientasi obyek yg paling banyak digunakan saat ini. System designer  memodelkan sistem dgn UML (diagram) Kelebihan UML : Flexible (standard) Extensible (add new feature) Independent (OOAD process) UML resources  www.uml.org

UML – Software Engineering Studi kasus  mesin ATM (Automated Teller Machine) Requirement document  tujuan pembuatan sistem, apa yg harus dilakukan sistem  funsionalitas sistem ATM (user): Melihat jumlah rekening Penarikan tunai Memasukkan uang ke rekening

ATM Rancangan interface : Komponen : Layar  menampilkan pesan pada user Keypad  menerima input angka dari user Cash Dispenser  tempat keluar uang Deposit Slot  tempat memasukkan uang

ATM... Software ATM  integrasi semua komponen Operasi ATM : Authentikasi user (id user  nomor rekening dan PIN) Membuat dan mengeksekusi transaksi Koneksi dengan database bank Prosedur operasi : Layar menampilkan “Welcome message” dan meminta user memasukkan nomor rekening User memasukkan 5 digit rekening menggunakan keypad Layar menginformasikan user untuk memasukkan PIN User memasukkan 5 digit PIN menggunakan keypad Jika nomor rekening dan PIN cocok, maka layar menampilkan menu utama, jika tidak maka layar menampilkan pesan kesalahan dan kembali ke langkah 1

ATM... Menu Utama ATM : Tiap akhir transaksi, layar kembali ke menu utama. Jika user memilih untuk keluar (no.4)  tampilan ke “Welcome message”

UML – Use Case Diagram ATM’s requirement document  use case modelling  (UML use case diagram) Use case diagram  memodelkan interaksi antara client sistem (nasabah) dengan use case nya. Goal  menunjukkan jenis interaksi antara user dengan sistem Diagram use case ATM :

Jenis diagram dalam UML : UML Diagrams Jenis diagram dalam UML : Use case diagram  model interaksi user – sistem Class diagram  model class dalam sistem Gambar : State machine diagram  model cara obyek berganti state

UML Diagrams... Activity diagram  model aktivitas obyek Gambar : Communication diagram  model interaksi antar obyek dalam sistem

Implementasi Class dan Obyek dalam Java

Struktur Java Syntax java :

Bagian Class : Struktur Class Access modifier  public, final, abstract Kata class diikuti nama_class Blok class yang diapit tanda “{” dan “}”

Class Class  mendefinisikan tipe obyek Umumnya obyek menggunakan nama class nya sebagai tipe obyek. Hanya diperbolehkan satu class public dalam satu file java Contoh class Counter :

Class Counter dideklarasikan diikuti blok program  “{” dan “}” Class Counter  public  class lain dapat membuat dan menggunakan obyek dalam class Counter Class Counter  satu instans variabel count bertipe integer Variabel count  diinisialisasi = 0 dengan method konstruktor Counter  dipanggil ketika membuat obyek baru Counter (nama obyek sama dengan nama class)

Class Counter  2 update method : Class Counter  1 accessor method : getCount  mengembalikan current value count Class Counter  2 update method : incrementCount : menaikkan count decrementCount : menurunkan count

Obyek Obyek  aktor utama dalam java Obyek  menyimpan data (variabel) & menyediakan method untuk akses dan modifikasi data Variabel : Data dalam obyek java  disimpan dalam instans variabel (field) Instans variabel  bertipe standar (integer, float, boolean, dll) atau obyek dari class lain Method : Operasi pada data  respon obyek Terdiri dari  konstruktor, prosedur, dan fungsi Mendefinisikan perilaku / behaviour obyek dari class tersebut.

Class and Object Analogi mobil  menekan pedal gas  mengirim pesan untuk melaju lebih kencang (task) Class  mengirim pesan melalui obyek (method call)  method melaksanakan tugas Ex: Membuat class GradeBook dengan method displayMessege dan memanggilnya pada class GradeBookTest pada file lain

Class and Object... Main program (class GradeBookTest) : Output :

Instansiasi obyek : Class Modifier : Class and Object... Abstract  class yang memiliki abstract method (tidak punya block code) Public  class yang bisa diinstansiasi atau ditambahkan oleh apa saja dalam paket yang sama Final  class yang tidak memiliki subclass

Class GradeBookTest  method main dan displayMessage Method main  otomatis dieksekusi JVM ketika aplikasi dijalankan Method displayMessage  harus dipanggil Public  method bisa diakses oleh class lain Void  tidak mengembalikan nilai pada method yang memanggilnya

Bagian atas  nama class Bagian tengah  atribut atau variabel UML GradeBook Bagian atas  nama class Bagian tengah  atribut atau variabel Bagian bawah  operasi atau method Tanda (+)  public

Ada pertanyaan??

Dikerjakan individu, dikumpulkan minggu depan! Tugas Buat program java dengan class mahasiswa dan class biodata. Class mahasiswa mempunyai obyek nama mahasiswa (nama anda) yang memiliki method tampilNIM, tampilAlamat, dan tampilNoTelp. Class biodata berfungsi untuk memilih menu, yaitu : Tampilkan NIM Tampilkan Alamat Tampilkan Nomor Telpon Dikerjakan individu, dikumpulkan minggu depan!

Terimakasih