Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

TEKNIK PERANCANGAN PERANGKAT LUNAK BERORIENTASI OBYEK Delivery by : Burhan Amin

Presentasi serupa


Presentasi berjudul: "TEKNIK PERANCANGAN PERANGKAT LUNAK BERORIENTASI OBYEK Delivery by : Burhan Amin"— Transcript presentasi:

1 TEKNIK PERANCANGAN PERANGKAT LUNAK BERORIENTASI OBYEK Delivery by : Burhan Amin

2 DEFINISI Perancangan Berorientasi Obyek Mendefinisikan sebuah hubungan antara antarmuka (interface), kelas-kelas (classes), dan obyek-obyek (objects) yang masing-masing saling bekerjasama dengan aturan tertentu yang unik untuk menyelesaikan suatu masalah. Menurut Meyer: Perancangan berorientasi obyek adalah metoda yang membawa kita ke arsitektur perangkat lunak berbasis obyek-obyek yang dimanipulasi (difungsikan) oleh setiap sistem atau subsistem.

3 Perancangan Sistem Berorientasi Obyek Merancang sistem berorientasi obyek adalah bagaimana memecah sistem kedalam obyek-obyek berdasarkan pada informasi yang diperoleh terutama pada tahap analisis. Membuat suatu generalisasi dari obyek-obyek untuk mendefinisikan kelas-kelas bagi setiap obyek dalam sistem. Menghasilkan sebuah diagram kelas (struktur dari sistem) menggunakan berbagai notasi standar seperti: OMT (Object Modelling Technique), UML (Unified Modelling Language).

4 Teknik Perancangan Berorientasi Obyek Memahami teknik Object Oriented Design Konsep dan Prinsip Dasar Berorientasi Obyek Analisis dan modelling Metodologi desain Class dan object Operasi dan Penggunaan Ulang Perangkat Lunak Komponen program dan interface Unified Modelling Language (UML) Dapat menjelaskan dan menerapkan metode Object Oriented

5 Object Oriented Design (OOD) Mengapa menggunakan OOD Karena lebih dekat pada tingkat abstraksi di dunia nyata. Pengembangan dan Perawatannya dapat dilakukan secara iteratif Encapsulation: menggabungkan data dan fungsi/program secara bersama-sama Reuse: tidak perlu ada penulisan kembali kode.

6 Dua Teknik Perancangan Perangkat Lunak Sistem dianggap sebagai kumpulan obyek (konsep, benda) dalam dunia nyata yang melaksanakan sejumlah pelayanan secara terdesentralisasi. Setiap obyek membungkus (encapsulate) sejumlah prosedur dan data yang berinteraksi dengan obyek lainnya melalui suatu pesan (message). Perancangan Berorientasi pada Fungsi Perancangan Berorientasi pada Fungsi Perancangan Berorientasi pada ObyekPerancangan Berorientasi pada Obyek Sistem di dekomposisi menjadi sejumlah fungsi (prosedur, logika) dengan sistem tersentralisasi dimana data dapat dibagi dan digunakan secara bersama.

7 Pertanyaan Jelaskan perbedaan antara perangkat lunak fungsional dengan perangkat lunak berorientasi obyek ?

8 Perangkat Lunak Fungsional terfokus pada: Fungsi dalam struktur terhirarki Proses dan Prosedur Perangkat Lunak berorientasi-obyek terfokus pada: Obyek-obyek dalam dunia nyata yang bekerja sama (tidak terhirarki). Model dari obyek-obyek di dunia nyata tersebut (skenario). Peranan obyek-obyek ini dalam penggambaran sistem perangkat lunak (task).

9

10 Lebih Rinci Lagi Objects masuk disini

11

12 Penggambaran Fungsional Menggambarkan dunia sebagai sejumlah fungsi-fungsi yang saling berhubungan Angka-angka Pengurutan Angka-angka terurut dari kecil ke besar Umumnya dekomposisi Top-Down (dari abstraksi sampai tingkat rendah). Memanipulasi (mengfungsikan) data utama berarti memahami permasalahan.

13 Penggambaran Berorientasi Obyek Menggambarkan dunia sebagai sejumlah obyek-obyek Sistem perangkat lunak digambarkan sebagai sekumpulan obyek-obyek yang saling berinteraksi. Obyek-obyek dapat digunakan kembali dengan suatu standar karakteristik.

14 Object-oriented System Development Cycle 1. Object-oriented Analysis (OOA) 2. Object-oriented Design (OOD) 3. Object-oriented Implementation 1. Object-Oriented Analysis Definisikan kebutuhan-kebutuhan sistem melalui skenario atau penggunaan kasus-kasus. Kemudian, buat suatu model obyek dengan kemampuan memuaskan kebutuhan-kebutuhan. Output: Model kebutuhan-kebutuhan

15 Object-Oriented Design Model kebutuhan-kebutuhan yang dibuat pada fase analisis diperkaya dalan fase perancangan. Kadang-kadang ditambahkan lebih banyak lagi atribut dan pelayanan. Ditambahkan antarmuka obyek-obyek. Object-Oriented Implementation Dikembangkan penggunaan sistem. Menggunakan bahasa pemrograman yang berorientasi obyek. Jika dibutuhkan, memberikan kaitan pada suatu sistem manajemen basisdata yang terpisah.

16 Model Proses Berorientasi Obyek

17 Orientasi obyek cocok untuk proses evolusioner dengan pendekatan penggunaan kembali komponen- komponen sistem. Rekayasa perangkat lunak OO menekankan penggunaan ulang kelas-kelas dalam pustaka. Bila suatu kelas tidak ada pada pustaka, maka perekayasa perangkat lunak meangaplikasikan analisis berorientasi obyek (OOA), perancangan berorientasi obyek (OOD), pemrograman berorientasi obyek (OOP) dan pengujian berorientasi obyek (OOT).

18 CIRI-CIRI DARI PERANCANGAN BERORIENTASI OBYEK Karena komunikasi antara obyek dilakukan melalui pegerakan pesan maka data yang digunakan bersama oleh beberapa obyek akan kecil sehingga mengurangi ketergantungan (minimum coupling). Obyek adalah terpadu (cohesive) dan tak tembus dari luar, sehingga seluruh informasi dalam obyek terlindungi terhadap akses dari luar obyek yang tidak dikehendaki. Obyek dapat dimodifikasi tanpa mempengaruhi operasi dari obyek-obyek yang lain, sehingga dapat meningkatkan kemampuan pemeliharaan sistem.

19 Pertanyaan Mengapa walaupun sudah ada Perancangan Berorientasi Object (OOD), Perancangan Fungsional masih tetap digunakan ?

20 Perancangan Fungsional tetap digunakan karena: Beberapa domain permasalahan lebih baik digambarkan dalam bentuk fungsional dari pada obyek. Sudah banyak metoda dan standard yang dikembangkan untuk mendukung perancangan berorientasi kepada fungsi ini. Sudah banyak pengalaman yang dilakukan dengan perancangan berorientasi fungsi. Perancangan berorientasi fungsi menjadi komplemen (pelengkap) dari perancangan berorientasi obyek.

21 Pertanyaan Bagaimana keunggulan dari perancangan berorietasi-obyek dalam memecahkan masalah perancangan perangkat lunak ?

22

23 Kelebihan OOD Penggunaan kembali Obyek-obyek Obyek-obyek yang dirancang baik dapat digunakan dan ditambahkan ke proyek-proyek lain. Obyek dapat ditambah dengan inheritance. Keluwesan dan Reliabilitas Penggunaan obyek-obyek yang sudah teruji. Encapsulation mencegah kesalahan penggunaan data oleh modul yang lain dan membantu melokalisasi kesalahan (bugs) yang terjadi. Pengembangan dan Standarisasi Obyek-obyek dapat digunakan kembali dengan karakteristik standar.

24 Produktivitas Meningkatkan kecepatan pengembangan perangkat lunak. Pengalaman: OOD meningkatkan kecepatan pengembangan sekitar faktor 10 kali.

25 KONSEP & MEKANISME OBJECT- ORIENTED DESIGN

26 Pertanyaan Apa yang dimaksud dengan obyek dan bagaimana anatomi (bagian dalam) dari suatu obyek ? Bagaimana obyek dapat berinteraksi dengan dunia luar ?

27 OBJECT Biasanya berupa benda atau sesuatu kejadian Benda konkrit: pesawat Konseptual: terbang 

28 Anatomi suatu Obyek Obyek Metoda Data Pesan-pesan (msg) Obyek adalah sekumpulan data (atribut) bersama dengan gabungan metoda (fungsi) yang digunakan untuk mengoperasikan data tersebut. Obyek = Data + Fungsi Dunia luar berkomunikasi ke obyek dengan mengirimkan pesan (message). Interface

29 Windows Sistem Operasi yang digerakkan pesan

30 Sifat Obyek Suatu obyek dikenal dengan apa itu dan apa yang dapat dilakukannya (pelayanan). Obyek-obyek memiliki ciri-ciri atau sifat-sifat tertentu yang disebut atribut (abstraksi data). Obyek menunjukkan perilaku (behaviour) atau dapat melakukan suatu pelayanan (methods).

31 OBJECT ATTRIBUTES ATRIBUT: Adalah data yang menunjukan Ciri-ciri atau sifat-sifat dari obyek Penggambaran obyek Panjang Warna Tipe mesin

32 METHODS / OPERATIONS – BEHAVIOUR Behaviour mengacu kepada apa-apa yang dapat dilakukan oleh suatu obyek dan berhubungan dengan fungsi diterapkan pada suatu atribut. Behaviour obyek-obyek biasanya methode atau operasi pelayanan. Ikan Penyelam Berenang Mobil bisa bergerak, meyalakan lampu, membunyikan klakson

33 OBJECT DIAGRAM Circle CenterPosition RadiusLength FillColor

34 Translasi Model Analisis ke Model Desain Model Analisis Kelas Atribut Metode Hubungan Perilaku Model Desain Kelas Atribut Metode Hubungan Perilaku

35 Pertanyaan Apa yang dimaksud dengan kelas dan sebutkan komponen-komponen dari suatu kelas ?

36 KELAS (CLASS) Seperti di dunia nyata, obyek-obyek dapat dikelompokkan atau diklasifikasikan kedalam suatu kelas. Kelas adalah koleksi dari obyek-obyek yang memiliki anggota-anggota yang sama (ciri-ciri, struktur dan perilakunya). Obyek-obyek dibuat berdasarkan sebuah kelas (type declaration), atau obyek adalah wujud (instance) dari sebuah kelas. Suatu Kelas adalah kategori umum dan suatu obyek adalah kejadian spesifik dari suatu kelas.

37 Kelas Record Mahasiswa Obyek-obyek dikelompokkan ke dalam suatu jenis yang disebut kelas “Record Mahasiswa”. Obyek Desi, Abdurahman dan Widodo dibuat (instance) berdasarkan tipe kelas Record Mahasiswa Kelas adalah template yang menghasilkan obyek- obyek dengan perilaku yang sejenis. Record Mahasiswa DesiAbdurahmanWidodo

38 Hubungan antara Obyek dan Kelas

39 Kelas “Person” menggabarkan atribut dari suatu obyek orang. Setiap orang mempunyai atribut: nama, tanggal lahir, dan alamat dalam himpunan data instance-nya dengan empat metode ('getName', 'getAge', 'setAddress', 'getAddress‘). Metode ini memungkinkan akses dari luar ke atribut- atribut tersebut. Dua obyek berikut (Mike, Neil) diciptakan dari Kelas Person.

40 Komponen-komponen suatu Class Koleksi dari anggota-anggota data atau atribut- atribut. Kolekasi dari deklarasi fungsi-fungsi anggota, pelayanan-pelayanan, metoda-metoda. Tingkat akses: private, protected, atau public. Nama tag sekutu : tipe data yang didefinisikan pemakai.

41

42 General Structure of a Class private public className{data, data, ….} {method,method, ….}

43 Tingkat Akses Anggota Kelas

44 Anggota Kelas class A { public: A(); private: char m_char; int m_int; float m_float; UINT m_uint; }; Variabel-variabel anggota biasanya private Variabel-variabel anggota dideklarasikan dengan cara stardar: m_notasi.

45 Pertanyaan Jelaskan bedanya antara instance dan inheritance (penurunan/pewarisan) ?

46 Modeling Class Is Inherited byInstance by

47 INSTANCE Object didefinisikan oleh Class Setiap Object adalah instance dari suatu Class

48 OBJECT INSTANCE Buat suatu intance dari obyek anda Object instance Rumah jadi

49 Instances paragraph justify font = arial text = Four score and seven years ago our forefathers brought forth on this continent, a new nation ….. When in the course of human events it become necessary for one people ….. We the people of the United States, in order to form a more perfect union, ensure ….. Class Methods Class variables Instance variables 3 Instances

50 INHERITANCE (PEWARISAN) Hirarki klasifikasi memungkinkan kelas-kelas obyek mewarisi atribut-atribut dari kelas-kelas yang lebih umum. Pewarisan adalah suatu mekanisme menciptakan kelas-kelas baru (sub-kelas) dari kelas-kelas yang sudah ada. Kelas turunannya adalah sebuah subkelas atau subtype dari kelas sebelumnya. Sub-kelas tersebut dapat diperluas perilakunya dengan menambah metode-metode baru atau struktur-sturktur data baru. Misalnya obyek Ford Escorts dapat diwariskan berdasarkan kelas mobil.

51 Pewarisan Kelas / Obyek Khusus Umum

52

53 Examples of generalization, inheritance, and constraints Employee superclass with three subclasses

54 ENCAPSULATION (Pengkapsulan) Pengkapsulan berarti mengemas beberapa item bersama-sama menjadi satu unit yang tertutup dalam rangka menyembunyikan struktur internal suatu obyek dari lingkungan/dunia luar. Pengapsulan seringkali dianggap sebagai “penyembunyian informasi”. Setiap kelas hanya menampakkan interface yang diperlukan untuk berkomunikasi dengan dunia luar (methode) dan menyembunyikan (encapsulating) implementasi aktual didalam kelas. Kita hanya membutuhkan pemahamam tentang interface (methode), tidak perlu paham tentang internalnya (implementation).

55 Pengapsulan merupakan kemampuan sebuah obyek kelas untuk membatasi akses client ke representasi internal obyek (data dan fungsi). Ada tiga metode enkaspulasi: - Private - Protected - Public

56 Component Interfaces

57 Polymorphism memungkinkan memiliki koleksi elemen- elemen dengan bentuk berbeda dari item-item yang berhubungan. Disini obyek-obyek atau kelas-kelas yang berbeda dapat melakukan implementasi suatu metode yang sama. Contoh: suatu kelas segi-empat dan kelas segi-tiga dapat melakukan suatu metode ‘hitungLuas’ tetapi dengan menggunakan rumus perhitungan luas yang berbeda. POLYMORPHISM

58

59 Soal 1. Ada adalah bahasa pemrograman yang mendukung obyek-obyek dan encapsulation, tetapi tidak mendukung inheritance, dynamic behavior, atau aturan-aturan. Ada dapat dikelompokkan pada bahasa pemrograman jenis apa ? (a) Object –oriented language; (b) Class-based language; (c) Object-based language; (d) Object procedure language.

60 2.Ketika seseorang menambahkan suatu kelas yang diambil dari suatu kelas dasar dengan meningkatkan kemampuan kelas dasar tersebut, maka disebut: (a) Data encapsulation (b) Inheritance (c) Polymorphism (d) Instant 3.Suatu metoda yang hanya dapat digunakan oleh metoda lain dalam satu kelas, mempunyai jenis akses: (a) Public (b) Protected (c) Private(d) Indeterminate.

61 4.Kelas A adalah kelas dasar. Kelas B diturunkan dari kelas A. Kelas C diturunkan dari kelas B. Maka jenis dari turunan disini adalah: (a) Multiple inheritance. (b) Composition (c) Abstract inheritance (d) Serial Inheritance

62 PERKEMBANGAN BAHASA PEMROGRAMAN Generasi Awal (Pemrograman Prosedural) Bahasa prosedural seperti Assembler, FORTRAN dan COBOL. Pemrograman merupakan suatu karya seni yang kreatif. Kode rumit seperti spaghetti karena penuh dengan perintah-perintah GOTO yang sulit untuk dipertahankan.

63 DIM N(100), M(500) IF cTHEN GOTO 5000 cELSE GOTO GOTO 100 Prosedural

64 Generasi Kedua (Pemrograman Terstruktur) Perangkat lunak meniru struktur dari suatu model bisnis. GOTO diganti dengan suatu putaran (loop) seperti while, do-while, dan if-then-else. Deretan yang sangat cocok untuk aplikasi- aplikasi ilmiah (matematika adalah suatu prosedur alamiah).

65 while do if then else endIf endWhile Terstruktur

66 Generasi Dewasa ini (Pemrograman Berorientasi Obyek) Data dan kode dikemas kedalam suatu obyek. Penggunaan kembali dan pemekaran melalui kerjasama antara obyek-obyek. Memungkinkan kombinasi kode struktural dan prosedural dalam obyek. Memungkinkan pemakai mendefiniskan tipe data sebagai sejumlah obyek yang memberikan model sistem yang lebih alamiah dari pada tipe-tipe standard.

67 Bahasa Pemrograman Berorientasi Obyek Penggunaan bahasa pemrograman berorientasi obyek memungkinkan implementasi langsung perancangan berorientasi obyek, tetapi membutuhkan ruang dan sumber-sumber yang lebih besar. Efektivitas perancangan berorientasi obyek tidak tergantung pada penggunaan bahasa pemrograman tertentu.

68 Soal Pemrograman berorientasi obyek mengarah kepada hasil berupa: (a)Reuse of code (Kode yang digunakan kembali ) (b)Sphagetti code (c)Building code (d)Structured code

69 69 ”Subhanaaka laa ’ilma lanaa illaa maa ’allamtanaa innaka antal ’aliimul hakiim” [Q.S Al Baqarah : Ayat 32] Artinya : ”Mahasuci Engkau, tidak ada pengetahuan bagi kami selain apa yang telah Engkau ajarkan kepada kami. Sesungguhnya Engkaulah yang Maha Mengetahui lagi Maha Bijaksana”. Alhamdulillah 69

70 70 Thanks for your sharing, See you……


Download ppt "TEKNIK PERANCANGAN PERANGKAT LUNAK BERORIENTASI OBYEK Delivery by : Burhan Amin"

Presentasi serupa


Iklan oleh Google