Konsep Pemrograman berorientasi Objek

Slides:



Advertisements
Presentasi serupa
KEBUTUHAN & SPESIFIKASI SOFTWARE
Advertisements

Pemrograman Sistem terdistribusi
21-Aug-14 OO Concept E. Haodudin Nurkifli Teknik Informatika Universitas Ahmad Dahlan Kuliah 3 : Administrative dan Introduction 8 Oktober 2010.
Pemrograman Berorientasi Objek
DESAIN ARSITEKTUR PERANGKAT LUNAK
PEMODELAN ANALISIS Kuliah - 5
By : Rizky Yuniar Hakun. Konsep Pemrograman Berorientasi Object.
OBJECT ORIENTED PROGRAMMING in JAVA
KONSEP DESAIN SOFTWARE DATABASE
PENGENALAN ANALISA SISTEM BERORIENTASI OBYEK
Desain Sistem By Hendro Joko Prasetyo, M.Kom.
Pemrograman Lanjut Ratnokustiawan.wordpress.com.
PENGEMBANGAN SISTEM.
DIKTAT PBO Oleh: Adam Mukharil B. S.Kom. BAB I – KONSEP PBO.
di OBJECT ORIENTED PROGRAMMING [OOP] Oleh H. SUMIJAN, Ir, M.Sc
7 Rekayasa Sistem Konsep Utama OOP Dedy Alamsyah, S.Kom.
REKAYASA PERANGKAT LUNAK REQUIREMENTS ANALYSIS FUNDAMENTALS
Desain Sistem By Hendro Joko Prasetyo, M.Kom.
PERANCANGAN BERORIENTASI OBJEK
Pertemuan 2 Konsep Aplikasi Berbasis Objek, UML dan Rational Rose
Desain Berorientasi Obyek dan UML
BAB 1 KONSEP OOP.
ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM
ALGORITMA DAN PEMROGRAMAN 2C MATERI MINGGU KE-2 Pengenalan Teknik-teknik Bahasa Pemrograman Henny Medyawati.
Matakuliah : T0456 ~ Algoritma dan Metode Object Oriented Programming
SIKLUS HIDUP SISTEM Proses Pengembangan sistem berasal dari system life cycle/siklus hidup sistem. Siklus hidup sistem terjadi begitu saja System.
ANALISIS DAN PEMODELAN BERORIENTASI OBJEK DENGAN UML
Pengantar Perancangan Berorintasi Objek
Pengembangan SISTEM secara TOTALITAS bahan 14
Analisis dan Perancangan Berorientasi Objek (OOAD)
KONSEP DASAR PENDEKATAN OBJEK
Desain Sistem.
Rekayasa Perangkat Lunak Konsep Orientasi Objek
Perancangan Sistem Informasi
PENGEMBANGAN PERANCANGAN SISTEM
SE3414 RPL: Teknik Berorientasi Objek
QUIZ PSBO Total : 35 PG.
PERANCANGAN SISTEM BERORIENTASI OBJEK DENGAN UML
BAB 1 KONSEP OOP.
KEBUTUHAN & SPESIFIKASI SOFTWARE
REKAYASA PERANGKAT LUNAK
Proses Pengembangan Database
Object Oriented Programming
Konsep Object Oriented
Soal PSBO Pert.1-6.
KEBUTUHAN & SPESIFIKASI SOFTWARE
REKAYASA PERANGKAT LUNAK
Bina Sarana Informatika
Pertemuan 1 Definisi dan Karakteristik Objek
PEMROGRAMAN BERORIENTASI OBYEK
Pemrograman Berorientasi Objek
ANALISA & DESAIN BERORIENTASI OBJEK
NOTASI UML DAN DIAGRAM-DIAGRAM UML
Pemrograman Berorientasi Objek
PEMROGRAMAN BERORIENTASI OBJEK
Analisis dan Desain Berorientasi Obyek
ISTILAH-ISTILAH PENTING PEMROGRAMAN BERBASIS OBYEK
PEMODELAN ANALISIS RPL – PERTEMUAN 5&6.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER (STMIK) PALANGKARAYA
Desain Sistem.
PENGEMBANGAN SISTEM.
TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT (OOP)
ANALISA BERORIENTASI OBJEK
KEBUTUHAN & SPESIFIKASI SOFTWARE
ANALISA BERORIENTASI OBJEK
Pengembangan SISTEM secara TOTALITAS bahan 14
OBJECT ORIENTED ANALISYS AND DESIGN
Perkembangan Teknik Pemrograman
Konsep Aplikasi Berbasis Objek
PERANCANGAN SISTEM BERORIENTASI OBJEK DENGAN UML
Transcript presentasi:

Konsep Pemrograman berorientasi Objek Sistem Komputer IST AKPRIND Yogyakarta 2017/2018

PENDAHULUAN Konsep pemrograman telah berubah dari pendekatan pemrograman prosedural mengarah ke pendekatan pemrograman berorientasi obyek (Object Orientated Programming/OOP) Pemrograman prosedural  permasalahan diselesaikan dg serangkaian langkah prosedural yg bisa berupa proses berurutan, perulangan, dan kondisi.

Gambar Pendekatan Pemrograman Prosedural Gambar Pendekatan Pemrograman OOP PROGRAM APLIKASI Data global fungsi metoda data

Pendahuluan Berorientasi Objek berarti mengorganisasi perangkat lunak sebagai kumpulan objek tertentu yang memiliki struktur data dan perilakunya. Perbedaan dengan pemrograman konvesional adalah struktur data dan perilaku hanya berhubungan secara terpisah.

Cara menentukan karakteristik dalam pendekatan berorientasi objek secara umum Identifikasi Klasifikasi Polymorphism (polimorfisme) Inherintance (pewarisan) Encapsulation (pengkapsulan) Information Hiding

Karakteristik dari Objek Identitas berarti bahwa data diukur mempunyai nilai tertentu yang membedakan entitas dan disebut objek Contoh objek : -suatu paragraf dari dokumen -suatu windows dari workstation -raja putih dari buah catur

Lanjutan...... Objek dapat kongkrit, seperti arsip dalam sistem, atau konseptual seperti kebijakan penjadualan dalam multiprocessing pada sistem operasi. Setiap objek mempunyai sifat yang melekat pada identitasnya. Dua objek dapat berbeda walaupun bila semua nilai atributnya identik.

Lanjutan...... Dalam dunia nyata, suatu objek berada secara sederhana, tapi dalam pemrograman mempunyai penanganan dengan referensi yang unik Penanganan mungkin dinyatakan dengan berbagai cara, seperti alamat, indeks dari array atau nilai unik dari atribut Referensi objek seragam dan independen dari isi objek, memperbolehkan campuran kumpulan dari objek yang dibuat, seperti suatu file dalam direktori yang berisi file dan subdirektori

Lanjutan...... Klasifikasi berarti bahwa suatu kegiatan mengumpulkan data (atribut) dan perilaku (operasi) yang mempunyai struktur data sama ke dalam satu grup yang disebut kelas. Kelas merupakan abtraksi yang menjelaskan sifat penting pada suatu aplikasi dan mengabaikan yang lain. Setiap kelas menunjukkan suatu kumpulan infinite yang mungkin dari objek.

Suatu objek dapat dikatakan sebagai instans dari kelas. Lanjutan...... Suatu objek dapat dikatakan sebagai instans dari kelas. Setiap instans dari kelas mempunyai nilai individu untuk setiap nama atribut dan operasi, tetapi memiliki bersama atribut dan operasi dengan instans lain dalam kelas.

Objek Poligon Kelas Poligon Atribut titik sudut batas warna Operasi gambar hapus translasi Gambar di atas menunjukkan kelas dengan beberapa instans yang berhubungan dengannya

Pengembangan berorientasi objek merupakan cara berpikir baru tentang perangkat lunak berdasarkan abstraksi yang terdapat dalam dunia nyata. Dalam konteks pengembangan menunjuk pada bagian awal dari siklus hidup pengembangan sistem, yaitu : survei, analisis, desain, implementasi dan pemeliharaan sistem. Hal yang lebih penting dalam pengembangan berorientasi objek adalah konsep mengidentifikasi dan mengorganisasi domain aplikasi dibandingkan dengan fokus penggunaan bahasa pemrograman, berorientasi objek atau tidak.

Konsep Pemodelan Kebanyakan usaha akhir dalam lingkungan berorientasi objek dipusatkan pada bahasa pemrograman Pada saat ini banyak literatur yang mengutamakan implementasi dibandingkan dengan analisis dan desain. Pemrograman berorientasi objek sangat bermanfaat untuk menghilangkan keterbatasan, yang sebenarnya tidak fleksibel dalam bahasa pemrograman tradisional

Lanjutan Konsep Pemodelan Pengembangan berorientasi objek dalam proses konseptual terpisah dengan bahasa pemrograman sampai tahap terakhir Pengembangan berorientasi objek secara mendasar merupakan cara berpikir baru dan bukan suatu teknik pemrograman Hal ini dapat berfungsi sebagai media spesifikasi, analisis, dokumentasi dan interface seperti halnya pemrograman

Metodologi Berorientasi Objek Metodologi berorientasi objek dikenalkan pada tahun1980, menggunakan perangkat kerja dan teknik-teknik yang dibutuhkan dalam pengembangan sistem, yaitu : dynamic dan static object oriented model, state transition diagram dan case scenario Fokus utama metodologi ini pada objek, dengan melihat suatu sistem terdiri dari objek yang saling berhubungan Objek dapat digambarkan sebagai benda, orang, tempat dan sebagainya yang mempunyai atribut dan metode

Lanjutan Metodologi Berorientasi Objek Metodologi terdiri dari pembuatan model dari domain aplikasi, kemudian menambahkan rincian implementasi pada saat pembuatan desain dari suatu sistem Tahap-tahap metodologi berdasarkan Sistem Development Life Cycle (SDLC) digunakan dengan memperhatikan karakteristik khusus berorientasi objek.

Lanjutan Metodologi Berorientasi Objek a. Analisis Berorientasi Objek (Object-Oriented Analysis/OOA) Dimulai dengan menyatakan suatu masalah, analis membuat model situasi dari dunia nyata, menggambarkan sifat penting Dalam menganalisa suatu sistem, analis harus bekerja dengan pihak yang membutuhkan sistem untuk memahami masalah tersebut dengan jelas

Lanjutan Analisis Berorientasi Objek Model analisis adalah abstraksi yang ringkas dan tepat dari apa yang harus dilakukan oleh sistem, dan bagaimana melakukannya Objek dalam model harus merupakan konsep domain dari aplikasi, dan bukan merupakan implementasi komputer seperti struktur data Model yang baik harus dipahani dan ditanggapi oleh ahli aplikasi Empat kesulitan yang merupakan gangguan utama dalam pengembangan sistem : memahami problem domain, komunikasi antara pihak yang berkaitan, perubahan kontinyu, dan reuse (penggunaan kembali)

Lanjutan Metodologi Berorientasi Objek b. Desain berorientasi objek (Object-oriented design/OOD) Tahap lanjutan setelah analisis dengan tujuan sistem diorganisasi ke dalam sub-sistem berdasar struktur analisis dan arsitektur yang dibutuhkan Desainer sistem (System designer) menentukan karakteristik penampilan secara optimal, menentukan strategi memecahkan masalah, dan menentukan pilihan alokasi sumber daya.

Lanjutan Desain berorientasi objek Contoh : desainer sistem mungkin menentukan perubahan pada screen untuk workstation yang memerlukan kecepatan serta resolusi lebih tinggi. Desain model yang digunakan berdasarkan model analisis dengan dilengkapi rincian untuk implementasi. Fokus dari desain objek (object design) adalah perencanaan struktur data dan algoritma yang diperlukan untuk implementasi setiap kelas. Objek domain aplikasi dan objek domain komputer dijelaskan dengan menggunakan konsep dan notasi berorientasi objek yang sama

Lanjutan Metodologi Berorientasi Objek c. Implementasi Kelas, objek dan relasinya dikembangkan dalam tahap pembuatan desain objek yang pada akhirnya diterjemahkan ke dalam bahasa pemrograman, basis data, dan implementasi perangkat keras Hal yang penting dalam tahap implementasi adalah mengikuti penggunaan perangkat lunak yang baik

Lanjutan Implementasi Konsep berorientasi objek dapat berlaku pada siklus kehidupan dari analisis sampai implementasi Kelas yang sama dipergunakan dari satu tahap ke tahap lain tanpa perubahan notasi, walaupun menambahkan rincian implementasi pada tahap akhir Beberapa kelas tidak merupakan bagian dari analisis, tetapi baru dikenali pada tahap desain atau implementasi. Contoh : struktur data seperti tree dan linked list jarang digambarkan dalam dunia nyata.

Karakteristik Metodologi Berorientasi Objek Metodologi pengembangan sistem berorientasi objek mempunyai tiga karakteristik utama, yaitu : 1. Encapsulation (pengkapsulan) 2. Inheritance (pewarisan) 3. Polymorphism (polimorfisme)

1. Encapsulation (pengkapsulan) Adalah proses pemaketan data bersama dengan fungsi Merupakan dasar untuk pembatasan ruang lingkup program terhadap data yang diproses Data dan prosedur atau fungsi dikemas bersama-sama dalam suatu objek, sehingga prosedur atau fungsi lain dari luar tidak dapat mengaksesnya Data terlindung dari prosedur atau objek lain kecuali prosedur yang berada dalam objek itu sendiri Pengkapsulan (juga information hiding) terdiri dari pemisahan

Lanjutan encapsulation Pengkapsulan (juga information hiding) terdiri dari pemisahan aspek eksternal dari suatu objek, dimana dapat diakses oleh objek lain. Pengkapsulan melindungi program dari saling keterkaitan sehingga kesempatan kecil mempunyai akibat penyimpangan Pengkapsulan tidak unik terhadap bahasa berorientasi objek, tetapi kemampuan untuk mengkombinasikan struktur data dengan perilaku dalam satu entitas membuat pengkapsulan jelas dan mempunyai kekuatan lebih dari pada dalam bahasa konvensional yang memisahkan data dengan perilaku.

Lanjutan encapsulation Contoh : mobil, sebagai pengendara mobil kita tidak perlu mengetahui secara rinci tentang mobil, misal berap katup yang ada di mesin, bagaimana proses pembakaran bahan bakar dan lain-lain yang mungkin kurang begitu relevan bagi kita sebagai pengguna. Hal yang penting bagi kita adalah bagaimana mengendarai mobil dengan benar. Istilah lain dari pengkapsulan atau enkapsulasi adalah penyembunyian informasi (information hiding )

Lanjutan encapsulation Dalam pemrograman, enkapsulasi memberi dua keuntungan : 1. Penyembunyian implementasi (implementation hiding)  menyatakan suatu proteksi terhadap implementasi internal suatu objek. Suatu objek tersusun atas antar muka public dan bagian yang private yang dapat berupa kombinasi antara data dan fungsi internal (adalah bagian objek yang tidak dapat diakses dari luar objek). Keuntungannya bahwa bagian ini dapat diubah-ubah tanpa memberi pengaruh pada program yang menggunakan objek ini.

Lanjutan encapsulation 2. Modularitas  menyatakan suatu objek dapat dipelihara secara independent terhadap objek-objek yang lain. Karena kode program (source code) bagian internal dipelihara secara terpisah dari antar muka, kita secara bebas dapat melakukan perubahan dan perubahan itu tidak akan mengakibatkan terjadinya masalah (problem)

2. Inheritance (pewarisan) Adalah teknik yang menyatakan bahwa anak dari objek akan mewarisi data/atribut dan metode dari induknya langsung. Objek baru turunan selalu mewarisi sifat-sifat moyangnya. Keuntungan dari sifat pewarisan ini adalah penggunaan bersama data dan kode-kode umum yang dimiliki objek (polimorfisme).

Lanjutan Inheritance Gambar berikut memperlihatkan contoh pewarisan objek buah. Dalam hal ini Buah adalah moyang semua buah, termasuk Apel dan Pisang. Tentunya Apel dan Pisang mewarisi sifat Buah. Demikian pula dengan Apel Merah dan Pisang Raja misalnya. Buah Apel Pisang Pisang Ambon Pisang Raja Apel Merah Apel Hijau

Ancestor, Descendant Ancestor  moyang / asal dari suatu komponen. Descendant  keturunan suatu komponen / komponen yang dibentuk/diturunkan dari komponen lain. Keduanya erat kaitannya dalam pembentukan komponen atau kelas baru. Semua kelas yang mewariskan sifat-sifatnya pada komponen disebut moyang. Kelas untuk menurunkan sebuah komponen disebut moyang langsung. Setiap komponen mewarisi sifat dari moyang langsungnya dan juga sifat dari moyang-moyang sebelumnya secara berurutan. Komponen adalah keturunan moyangnya.

3. Polymorphism (polimorfisme) Yaitu konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku berbeda Mempunyai arti bahwa operasi yang sama mungkin mempunyai perbedaan dalam kelas yang berbeda Operasi move mungkin mempunyai perbedaan dalam kelas windows atau kendaraan bermotor Suatu implementasi yang spesifik dari suatu operasi dari kelas tertentu disebut metode. Karena operator berorientasi objek adalah bersifat polimorfisme, mungkin dapat mempunyai lebih dari satu metode

Perbedaan dengan metodologi Non Objek Penggunaan alat, metodologi non objek menggunakan beberapa alat untuk menggambarkan model seperti data flow diagram, entity relationship diagram dan structure chart. Sedangkan metodologi berorientasi objek menggunakan satu jenis model dari tahap analisis sampai imlementasi, yaitu object diagram (diagram objek)

Perbedaan dengan metodologi Non Objek Data dan proses, metodologi non objek, data dan proses dianggap sebagai dua komponen yang berlainan, sedangkan pada metodologi berorientasi objek, data dan proses merupakan satu kesatuan, yaitu bagian dari objek Bahasa pemrograman, metodologi non objek dipergunakan untuk melengkapi pemrograman terstruktur pada bahasa generasi ketiga, sedangkan metodologi berorientasi objek dipergunakan untuk pemrograman berorientasi objek dan bahasa generasi keempat –’—