Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

TEKNIK PERANCANGAN PERANGKAT LUNAK BERORIENTASI OBYEK

Presentasi serupa


Presentasi berjudul: "TEKNIK PERANCANGAN PERANGKAT LUNAK BERORIENTASI OBYEK"— Transcript presentasi:

1 TEKNIK PERANCANGAN PERANGKAT LUNAK BERORIENTASI OBYEK
Frequently, presenters must deliver material of a technical nature to an audience unfamiliar with the topic or vocabulary. The material may be complex or heavy with detail. To present technical material effectively, use the following guidelines from Dale Carnegie Training®. Consider the amount of time available and prepare to organize your material. Narrow your topic. Divide your presentation into clear segments. Follow a logical progression. Maintain your focus throughout. Close the presentation with a summary, repetition of the key steps, or a logical conclusion. Keep your audience in mind at all times. For example, be sure data is clear and information is relevant. Keep the level of detail and vocabulary appropriate for the audience. Use visuals to support key points or steps. Keep alert to the needs of your listeners, and you will have a more receptive audience. Delivery by : Burhan Amin

2 DEFINISI Perancangan Berorientasi Obyek Menurut Meyer:
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
Perancangan Berorientasi pada Fungsi Sistem di dekomposisi menjadi sejumlah fungsi (prosedur, logika) dengan sistem tersentralisasi dimana data dapat dibagi dan digunakan secara bersama. Perancangan Berorientasi pada Obyek 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).

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 terurut dari kecil ke besar Angka-angka Pengurutan 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 112 5 48 5 17 25 48 56 112 56 17 25 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
Object-oriented Analysis (OOA) Object-oriented Design (OOD) 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 Data Metoda
Interface Pesan-pesan (msg) Data Metoda 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).

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 Warna Tipe mesin Panjang

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. Berenang Penyelam Ikan Mobil bisa bergerak, meyalakan lampu, membunyikan klakson

33 OBJECT DIAGRAM Circle CenterPosition RadiusLength FillColor

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

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
Desi Abdurahman Widodo 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.

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 Variabel-variabel anggota biasanya private
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 Instance by Is Inherited by

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

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

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

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
Umum Khusus

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 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.

58

59 Soal 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 (c) Private (d) Indeterminate.
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
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 Prosedural DIM N(100), M(500) ---------------------- IF ------
c THEN GOTO 5000 c ELSE GOTO 10 GOTO 100

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 Terstruktur while do if then else endIf endWhile

66 (Pemrograman Berorientasi Obyek)
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:
Reuse of code (Kode yang digunakan kembali ) Sphagetti code Building code Structured code

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 Thanks for your sharing, See you……
70


Download ppt "TEKNIK PERANCANGAN PERANGKAT LUNAK BERORIENTASI OBYEK"

Presentasi serupa


Iklan oleh Google