1 / 83

ANALISIS & PERANCANGAN BERORIENTASI OBJEK

ANALISIS & PERANCANGAN BERORIENTASI OBJEK. Analisis Berientasi Objek. Tahapan untuk menganalisis spesifikasi atau kebutuhan akan sistem yang akan dibangun dengan konsep berorientasi objek,apakah benar kebutuhan yang ada dapat diimplementasikan menjadi sistem berorientasi objek .

gianna
Télécharger la présentation

ANALISIS & PERANCANGAN BERORIENTASI OBJEK

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ANALISIS & PERANCANGAN BERORIENTASI OBJEK

  2. AnalisisBerientasiObjek • Tahapanuntukmenganalisisspesifikasiataukebutuhanakansistem yang akandibangundengankonsepberorientasiobjek,apakahbenarkebutuhan yang adadapatdiimplementasikanmenjadisistemberorientasiobjek. • Analisisinisebaiknyadilakukanolehorang-orang yang benar-benarmemahamiimplementasisistem yang berbasisatauberorientasiobjek ,karenatanpapemahamaninimakasistem yang dihasilkanbisajaditidakrealistisjikadiimplementasikan.

  3. OOA (Object Oriented Analysis) biasanyamenggunkankartu CRC untukmembangunkelas-kelas yang akandigunakanataumenggunakan UML padabagian diagram Use Case,diagramkelasdan diagram objek. • Sebelumperkembangan UML adabeberapabahasapemodelan yang berkembanguntukmemodelkansistemberorientasiobjek.

  4. BahasaPemodelantersebut : 1. CRC (Component,Responsibility,Collaborator). 2. MetodeBooch. 3. OMT (Object Modelling Technique). 4. OOSE (Object Oriented Software Engineering). 5. MetodeCoadYourdan.

  5. CRC • Merupakanbagiandari Object-Oriented Programming,System,Languages And Application(OOPSLA). • Dibuatuntukbakal yang akanmenjadikelas yang akandianalisis. • BerikutContohsebuahkartu CRC

  6. NamaKelas (Class Name) Merupakannama yang diberikanpadasebuahkelas. • KelasOrangTua (Superclases) Merupakankelasorangtua (dalamhubunganpewarisan) ataukelas super darikelas yang dibuatCRCnya. • KelasAnak (Subclases) Merupakankelasanak (dalamhubunganpewarisan) atau sub kelasdarikelas yang dibuatCRCnya.

  7. TanggungJawab (Responsibilities). Merupakanisiatributdanoperasi yang harusadadalamkelas yang bibuatCRCnya. • Kolaborator/Kelas yang terkait (Colaborator). Merupakankelas yang terkait (untukbekerjasama) dengankelas yang sedangdibuatCRCnyatetapibukankelasorangtuaatauanak. Terkaitdalamhubunganmemakaidandipakaididalamkelas.

  8. CRC dibuatperkelas ,keterkaitanantarkelasdapatdilihatpadakelaskolomsuper,subkelas, dankolaborator/kelasterkait. • Dalamsebuahanalisispembuatankelas , dapatterdiridaribanyakkartu CRC.

  9. MetodeBooch • Dikembangkanoleh Grady Boochterdiridari diagram kelas,objek,transisi status, interaksi, moduldanproses. • Contoh diagram kelasdarimetodeBooch.

  10. NamaKelas Atribut Operasi NamaKelas Atribut Operasi Mempunyai Pewarisan Dinstansisasi Digunakan NamaKelas Atribut Operasi NamaKelas Atribut Operasi NamaKelas Atribut Operasi

  11. OMT • Dikembangkanoleh James Rumbaughsebagaimetodeuntukmengembangkansistemberorientasiobjekdanuntukmendukungpemogramanberorientasiobjek. • Berikutadalahsebuahcontoh.

  12. Kualifikasi

  13. MetodeCoadYourdan • Menyediakansebuah diagram kelas, pembuatannyadenganlangkah-langkahberkut : 1. Mendefenisikankelasdanobjek 2. Mengidentifikasistrukturkelasdanobjek. 3. Mendefenisikansubjeknamakelas. 4. Mendefenisikanatribut. 5. Mendefenisikanoperasi/layanan (service).

  14. OOSE • DikembangkanolehIvar Jacobson adalahmetodedisainberorientasiobjek yang melibatkan use case. • Berikutinicontoh diagram use case padametodologi OOSE.

  15. Use case Actor uses uses uses uses actor Use case Use case Use case

  16. Metode yang paling banyakdigunakanadalahmenggunakan UML . • Metode-metode yang sudahdibahasterdahulumenjadidasardalampengembanganmetode UML.

  17. DisainBerorientasiObjek • Adalahtahapanperantarauntukmemetakanspesifikasiataukebutuhansistem yang akandibangundengankonsepberorientasiobjekkedisainpemodelan agar lebihmudahdiimplementasikandenganpemogramanberorientasiobjek. • Pemodelanberprientasiobjekbiasanyadituangkandalamdokumentasiperangkatlunakdenganmenggunakanperangkatpemodelanberorientasiobjek UML.

  18. Kendaladanpermasalahanpembangunansistemberorientasiobjekbiasanyadapatdikenalidalamtahapanalisis.Kendaladanpermasalahanpembangunansistemberorientasiobjekbiasanyadapatdikenalidalamtahapanalisis. • OOA & OOD dalamproses yang berulang- ulangsering kali memilikibatasan yang samar ,sehinggakeduatahapaninidisebut OOAD (Object Oriented Analysis & Design).

  19. CASE Tools • Alat bantu untukpengembanganperangkatlunak agar hasilnyalebihbaikdanwaktupengerjaannyalebihsingkat. • Perangkatlunak yang termasuk CASE tools dapatmerupakanperangkatlunakdalamtahapanalisis,disain,dokumentasimaupunimplementasikedalamkode program danpengujian program.

  20. Pengelompokan CASE Tools 1. Pendukungalurhidupperangkatlunak. 2. DimensiIntegritas. 3. DimensiKonstruksi. 4. Dimensi CASE berbasiskeilmuan.

  21. PengertianPemogramanBerorientasiObjek • Metodologiberorientasiobjekadalahsuatustrategipembangunanperangkatlunak yang mengorganisasikanperangkatlunaksebagaikumulanobjek yang berisi data danoperasi yang dilakukanterhadapnya. • Metodologiberorientasiobjekmerupakansuatucarabagaimanasistemperangkatlunakdibangunmelaluipendekatanobjeksecarasistematis.

  22. Metodeberorientasiobjekmeliputirangkaianaktivitasanalisisberorientasiobjek ,perancanganberorientasiobjek,pemogramanberorientasiobjekdanpengujianberorientasiobjek. • Metodeberorientasiobjekbanyakdipilihkarenametodologi lama banyakmenimbulkanmasalah.

  23. KeuntunganMetodologiBerorientasiObjek 1. Meningkatkanproduktivitas. 2. Kecepatanpengembangan. 3. Kemudahanpemeliharaan. 4. Adanyakonsistensi. 5. Meningkatkankualitasperangkatlunak.

  24. MeningkatkanProduktivitas karenakelasdanobjek yang ditemukandalammasalahmasihdapatdipakaiulanguntukmasalahlainnya yang melibatkanobjektersebut (reusable). • KecepatanPengembangan  karenasistem yang dibangundenganbaikdanbenarpadasaatanalisisdanperancanganakanmenyebabkanberkurangnyakesalahanpadasaatpengodean

  25. Kemudahanpemeliharaan karenadengan model objek,pola-pola yang cenderungtetapdanstabil . • AdanyaKonsistensi  karenasifatpewarisandanpenggunaannotasi yang samapadasaatanalisis,perancanganmaupunpengodean. • MeningkatkanKualitasPerangkatLunak  karenapendekatanpengembanganlebihdekatdengandunianyatadanadanyakonsistensipadasaatpengembangannya , perangkatlunak yang dihasilkanakanmampumemenuhikebutuhanpemakai .

  26. BahasaPemograman yang mendukungpemogramanberorientasiobjek : 1. BahasaPemograman Smalltalk. 2. BahasaPemograman Eiffel. 3. BahasaPemograman C++ 4. BahasaPemograman Java. 5. BahasaPemograman PHP (web).

  27. KonsepDasarBerorientasiObjek • Pendekatanberorientasiobjekmerupakansuatuteknikataucarapendekatandalammelihatpermasalahandalamsistem. • Pendekatanberorientasiobjekakanmemandangsistem yang akandikembangkansebagaisuatukumpulanobjek yang berkorespondensidenganobjekdunianyata.

  28. Dalamrekayasaperangkatlunakkonseppendekatanberorientasiobjekdapatditerapkanpadatahapanalisis,perancangan, pemogramandanpengujianperangkatlunak. • Adaberbagaiteknik yang dapatdigunakanpadamasing-masingtahaptersebutdenganaturandanalat bantu pemodelantertentu.

  29. Sistemberorientasiobjekmerupakansebuahsistem yang dibangundenganberdasarkanmetodeberorientasiobjekadalahsebuahsistem yang komponennyadibungkus (enkapsulasi) menjadikelompok data danfungsi. • Setiapkomponendalamsistemtersebutdapatmewarisiatributdansifatdarikomponen lain dandapatberinteraksisatusama lain.

  30. KonsepDasarMetodologiBerorientasiObjek 1. Kelas (Class) 9. Reusability 2. Objek (Object) 10. Generalisasi 3. Metode (Method) 11. Komunikasi 4. Atribut (Attribute) 12. Polymorfisme 5. Abstraksi (Abstraction) 13. Package 6. Enskapsulasi (Encapsulation) 7. Pewarisan (Inheritance) 8. Antarmuka

  31. Kelas (Class)  kumpulanobjek-objekdengankarakter yang sama. Sebuahkelasmempunyaisifat(atribut),kelakuan (operasi/metode),hubungan (relationship) danarti. Suatukelasdapatditurunkandarikelas yang lain,dimanaatributdankelassemuladapatdiwariskankekelas yang baru. Kelasadalahsebuahstrukturtertentudalampembuatanperangkatlunak. Kelasmerupakanbentukstrukturpadakode program yang menggunakanmetodologiberorientasiobjek.

  32. Objek (Object)  abstraksidansesuatu yang mewakilidunianyata. Objekmerupakansuatuentitas yang mampumenyimpaninformasi (status) danmempunyaioperasi (kelakuan) yang dapatditerapkan. • Metode  operasiataumetodepadakelashampirsamadenganfungsiatauprosedurpadametodologiterstruktur. Operasimerupakanfungsiatautransformasi yang dapatdilakukanterhadapobjekataudilakukanobjek.

  33. Atribut variabel global yang dimilikikelas. Atributdapatberupanilaiatauelemen – elemen data yang dimilikiolehobjekdalamkelas. Atributdipunyaisecaraindividuolehsuatuobjekmisalnyaberat,jenis. • Abstraksi  prinsipuntukmerepresentasikandunianyata yang kompleksmenjadisuatubentuk model yang sederhanadenganmengabaikanaspek-aspek lain yang tidaksesuaidenganmasalah.

  34. Enskapsulasi pembungkusanatribut data danlayanan (operasi-operasi) yang dipunyaiobjekuntukmenyembunyikanimplementasidanobjeksehinggaobjek lain tidakmengetahuicarakerjanya. • Pewarisan  mekanisme yang memungkinkansatuobjekmewarisisebagianatauseluruhdanobjek lain sebagaibagiandaridirinya.

  35. Antarmuka biasanyadigunakan agar kelas yang lain tidakmengakseslangsungkesuatukelas. • Reusability  pemanfaatankembaliobjek yang sudahdidefenisikanuntuksuatupermasalahanpadapermasalahanlainnya yang melibatkanobjektersebut. • Generalisasi & spesialisasi  menunjukanhubunganantarkelasdanobjek yang umumdengankelasdanobjek yang khusus.

  36. KomunikasiAntarObjek dilakukanlewatpesan (message) yang dikirimdarisatuobjekkeobjeklainnya. • Polimorfisme  kemampuansuatuobjekuntukdigunakandibanyaktujuan yang berbedadengannama yang samasehinggamenghemat program. • Package  sebuahkontainerataukemasan yang dapatdigunakanuntukmengelompokkelas-kelas yang bernamasamadisimpandalam package yang berbeda.

  37. PerbandinganPendekatan OO & Terstruktur • Perbedaan yang paling dasardaripendekatanterstrukturdanpendekatan OO adalahpadametodeberorientasifungsiataualiran data dekomposisipermasalahandilakukanberdasarkanfungsiatauprosessecarahierarkimulaidarikontekssampaiproses yang lebihkecil. • Padametodeberorientasiobjekdekomposisipermasalahandilakukanberdasarkanobjek-objek yang adadalamsistem.

  38. Pendekatanterstrukturmempunyaikelebihandalamkemudahanuntukmemahamisistem. Konsepdekomposispermasalahanmulaidari paling dasar (diagram konteks) sampai paling detail cukupmemudahkandalampemahamanbentuksistemkhususnyabagi user yang mempunyaipemahamantentangsistem yang cukuprendah.

  39. Pendekatanberorientasiobjekmempunyaikelebihandalampeningkatanproduktivitaskarenamempunyai reusability yang cukuptinggidibandingdenganpendekatan lain. • Kelas-kelasdalampemogramanberorientasiobjekdapatdenganmudahdimanfaatkanuntuksistem lain yang dikembangkan.

  40. Sistem akademik DekomposisiberdasarkanobjekatauDekomposisiberdasarkanfungsiatauproses konsep MetodologiberorientasiObjekMetodologiBerorientasiFungsi Konteks Dosen Jadwal Kuliah Mahasiswa Kontrak kuliah Pengambilankuliah Penjadwalan Penilaian

  41. PEMODELAN & UML • Pemodelanadalahgambaranrealita yang simpeldandituangkandalambentukpemetaandenganaturantertentu. • Pemodelandigunakanuntukmerencanakansuatuhal agar kegagalandanresiko yang mungkinterjadidapatdiminimalisir. • Pemodelanpadapembangunanperangkatlunakdigunakanuntukmemvisualisasikanperangkatlunak yang akandibuat.

  42. PerangkatPemodelanadalahsuatu model yang digunakanuntukmenguraikansistemmenjadibagian-bagian yang dapatdiaturdanmengkomunikasikancirikonseptualdanfungsionalkepadapengamat. • Salahsatuperangkatpemodelanadalah UML (Unified Modelling Language). • PeranPerangkatPemodelan : 1. Komunikasi 2. Eksperimentasi 3. Prediksi

  43. Unified Modelling Language • Padaperkembanganteknikpemogramanberorientasiobjekmuncullahsebuahstandarisasibahasapemodelanuntukpembangunanperangkatlunakyaitu UML. • UML munculkarenaadanyakebutuhanpemodelan visual untukmenspesifikasikan, menggambarkan ,membangundarisistemperangkatlunak.

  44. UML merupakanbahasa visual untukpemodelandankomunikasimengenaisebuahsistemdenganmenggunakan diagram danteks-tekspendukung. • UML hanyaberfungsiuntukmelakukanpemodelan. • Secarafisik UML adalahsekumpulanspesifikasi yang dikeluarkan Object Management Group (OMG).

  45. UML2.3 Diagram Structure Diagrams Bahavior Diagram Intraction Diagram Class Diagram Use case diagram Sequence diagram Object Diagram Activity diagram Communication diagram Component Diagram State machine diagram Timing diagram Interaction Overview diagram Composite structure diagram Package Diagram Deployment diagram

  46. Structure Diagram yaitukumpulan diagram yang digunakanuntukmenggambarkansuatustrukturstatisdarisistem yang dimodelkan. • Behavior Diagram yaitukumpulan diagram yang dgunakanuntukmenggambarkankelakuansistemataurangkaianperubahanpadasebuahsistem. • Interaction Diagram yaitukumpulan diagram yang digunakanuntukmenggambarkaninteraksisistemdengansistem lain maupuninteraksiantar sub sistempadasuatusistem.

  47. Class Diagram • Menggambarkanstruktursistemdarisegipendefenisiankelas-kelas yang akandibuatuntukmembangunsistem. • Kelasmemilikiapa yang disebutatributdanmetodeatauoperasi. • Atributmerupakanvariabel –variabel yang dimilikisuatukelas & operasiataumetodeadalahfungsi-fungsi yang dimilikisuatukelas.

  48. Kelas-kelas yang adapadastruktursistemharusdapatmelakukanfungsi-fungsisesuaidengankebutuhansistem. • Susunanstrukturkelas yang baikpada diagram kelassebaiknyamemilikijeniskelasberikut : 1. Kelas Main  kelas yang memilikifungsiawaldieksekusiketikasistemdijalankan. 2. Kelas yang menanganitampilanSistem  kelas yang mendefenisikandanmengaturtampilanpemakai. 3. Kelas yang diambildariPendefenisian Use Case  kelas yang menanganifungsi- fungsi yang harusadadiambildaripendefenisian use case. 4. Kelas yang diambildariPendefenisian Data  Kelas yang digunakanuntukmembungkus data .

More Related