860 likes | 1.46k Views
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 .
E N D
AnalisisBerientasiObjek • Tahapanuntukmenganalisisspesifikasiataukebutuhanakansistem yang akandibangundengankonsepberorientasiobjek,apakahbenarkebutuhan yang adadapatdiimplementasikanmenjadisistemberorientasiobjek. • Analisisinisebaiknyadilakukanolehorang-orang yang benar-benarmemahamiimplementasisistem yang berbasisatauberorientasiobjek ,karenatanpapemahamaninimakasistem yang dihasilkanbisajaditidakrealistisjikadiimplementasikan.
OOA (Object Oriented Analysis) biasanyamenggunkankartu CRC untukmembangunkelas-kelas yang akandigunakanataumenggunakan UML padabagian diagram Use Case,diagramkelasdan diagram objek. • Sebelumperkembangan UML adabeberapabahasapemodelan yang berkembanguntukmemodelkansistemberorientasiobjek.
BahasaPemodelantersebut : 1. CRC (Component,Responsibility,Collaborator). 2. MetodeBooch. 3. OMT (Object Modelling Technique). 4. OOSE (Object Oriented Software Engineering). 5. MetodeCoadYourdan.
CRC • Merupakanbagiandari Object-Oriented Programming,System,Languages And Application(OOPSLA). • Dibuatuntukbakal yang akanmenjadikelas yang akandianalisis. • BerikutContohsebuahkartu CRC
NamaKelas (Class Name) Merupakannama yang diberikanpadasebuahkelas. • KelasOrangTua (Superclases) Merupakankelasorangtua (dalamhubunganpewarisan) ataukelas super darikelas yang dibuatCRCnya. • KelasAnak (Subclases) Merupakankelasanak (dalamhubunganpewarisan) atau sub kelasdarikelas yang dibuatCRCnya.
TanggungJawab (Responsibilities). Merupakanisiatributdanoperasi yang harusadadalamkelas yang bibuatCRCnya. • Kolaborator/Kelas yang terkait (Colaborator). Merupakankelas yang terkait (untukbekerjasama) dengankelas yang sedangdibuatCRCnyatetapibukankelasorangtuaatauanak. Terkaitdalamhubunganmemakaidandipakaididalamkelas.
CRC dibuatperkelas ,keterkaitanantarkelasdapatdilihatpadakelaskolomsuper,subkelas, dankolaborator/kelasterkait. • Dalamsebuahanalisispembuatankelas , dapatterdiridaribanyakkartu CRC.
MetodeBooch • Dikembangkanoleh Grady Boochterdiridari diagram kelas,objek,transisi status, interaksi, moduldanproses. • Contoh diagram kelasdarimetodeBooch.
NamaKelas Atribut Operasi NamaKelas Atribut Operasi Mempunyai Pewarisan Dinstansisasi Digunakan NamaKelas Atribut Operasi NamaKelas Atribut Operasi NamaKelas Atribut Operasi
OMT • Dikembangkanoleh James Rumbaughsebagaimetodeuntukmengembangkansistemberorientasiobjekdanuntukmendukungpemogramanberorientasiobjek. • Berikutadalahsebuahcontoh.
MetodeCoadYourdan • Menyediakansebuah diagram kelas, pembuatannyadenganlangkah-langkahberkut : 1. Mendefenisikankelasdanobjek 2. Mengidentifikasistrukturkelasdanobjek. 3. Mendefenisikansubjeknamakelas. 4. Mendefenisikanatribut. 5. Mendefenisikanoperasi/layanan (service).
OOSE • DikembangkanolehIvar Jacobson adalahmetodedisainberorientasiobjek yang melibatkan use case. • Berikutinicontoh diagram use case padametodologi OOSE.
Use case Actor uses uses uses uses actor Use case Use case Use case
Metode yang paling banyakdigunakanadalahmenggunakan UML . • Metode-metode yang sudahdibahasterdahulumenjadidasardalampengembanganmetode UML.
DisainBerorientasiObjek • Adalahtahapanperantarauntukmemetakanspesifikasiataukebutuhansistem yang akandibangundengankonsepberorientasiobjekkedisainpemodelan agar lebihmudahdiimplementasikandenganpemogramanberorientasiobjek. • Pemodelanberprientasiobjekbiasanyadituangkandalamdokumentasiperangkatlunakdenganmenggunakanperangkatpemodelanberorientasiobjek UML.
Kendaladanpermasalahanpembangunansistemberorientasiobjekbiasanyadapatdikenalidalamtahapanalisis.Kendaladanpermasalahanpembangunansistemberorientasiobjekbiasanyadapatdikenalidalamtahapanalisis. • OOA & OOD dalamproses yang berulang- ulangsering kali memilikibatasan yang samar ,sehinggakeduatahapaninidisebut OOAD (Object Oriented Analysis & Design).
CASE Tools • Alat bantu untukpengembanganperangkatlunak agar hasilnyalebihbaikdanwaktupengerjaannyalebihsingkat. • Perangkatlunak yang termasuk CASE tools dapatmerupakanperangkatlunakdalamtahapanalisis,disain,dokumentasimaupunimplementasikedalamkode program danpengujian program.
Pengelompokan CASE Tools 1. Pendukungalurhidupperangkatlunak. 2. DimensiIntegritas. 3. DimensiKonstruksi. 4. Dimensi CASE berbasiskeilmuan.
PengertianPemogramanBerorientasiObjek • Metodologiberorientasiobjekadalahsuatustrategipembangunanperangkatlunak yang mengorganisasikanperangkatlunaksebagaikumulanobjek yang berisi data danoperasi yang dilakukanterhadapnya. • Metodologiberorientasiobjekmerupakansuatucarabagaimanasistemperangkatlunakdibangunmelaluipendekatanobjeksecarasistematis.
Metodeberorientasiobjekmeliputirangkaianaktivitasanalisisberorientasiobjek ,perancanganberorientasiobjek,pemogramanberorientasiobjekdanpengujianberorientasiobjek. • Metodeberorientasiobjekbanyakdipilihkarenametodologi lama banyakmenimbulkanmasalah.
KeuntunganMetodologiBerorientasiObjek 1. Meningkatkanproduktivitas. 2. Kecepatanpengembangan. 3. Kemudahanpemeliharaan. 4. Adanyakonsistensi. 5. Meningkatkankualitasperangkatlunak.
MeningkatkanProduktivitas karenakelasdanobjek yang ditemukandalammasalahmasihdapatdipakaiulanguntukmasalahlainnya yang melibatkanobjektersebut (reusable). • KecepatanPengembangan karenasistem yang dibangundenganbaikdanbenarpadasaatanalisisdanperancanganakanmenyebabkanberkurangnyakesalahanpadasaatpengodean
Kemudahanpemeliharaan karenadengan model objek,pola-pola yang cenderungtetapdanstabil . • AdanyaKonsistensi karenasifatpewarisandanpenggunaannotasi yang samapadasaatanalisis,perancanganmaupunpengodean. • MeningkatkanKualitasPerangkatLunak karenapendekatanpengembanganlebihdekatdengandunianyatadanadanyakonsistensipadasaatpengembangannya , perangkatlunak yang dihasilkanakanmampumemenuhikebutuhanpemakai .
BahasaPemograman yang mendukungpemogramanberorientasiobjek : 1. BahasaPemograman Smalltalk. 2. BahasaPemograman Eiffel. 3. BahasaPemograman C++ 4. BahasaPemograman Java. 5. BahasaPemograman PHP (web).
KonsepDasarBerorientasiObjek • Pendekatanberorientasiobjekmerupakansuatuteknikataucarapendekatandalammelihatpermasalahandalamsistem. • Pendekatanberorientasiobjekakanmemandangsistem yang akandikembangkansebagaisuatukumpulanobjek yang berkorespondensidenganobjekdunianyata.
Dalamrekayasaperangkatlunakkonseppendekatanberorientasiobjekdapatditerapkanpadatahapanalisis,perancangan, pemogramandanpengujianperangkatlunak. • Adaberbagaiteknik yang dapatdigunakanpadamasing-masingtahaptersebutdenganaturandanalat bantu pemodelantertentu.
Sistemberorientasiobjekmerupakansebuahsistem yang dibangundenganberdasarkanmetodeberorientasiobjekadalahsebuahsistem yang komponennyadibungkus (enkapsulasi) menjadikelompok data danfungsi. • Setiapkomponendalamsistemtersebutdapatmewarisiatributdansifatdarikomponen lain dandapatberinteraksisatusama lain.
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
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.
Objek (Object) abstraksidansesuatu yang mewakilidunianyata. Objekmerupakansuatuentitas yang mampumenyimpaninformasi (status) danmempunyaioperasi (kelakuan) yang dapatditerapkan. • Metode operasiataumetodepadakelashampirsamadenganfungsiatauprosedurpadametodologiterstruktur. Operasimerupakanfungsiatautransformasi yang dapatdilakukanterhadapobjekataudilakukanobjek.
Atribut variabel global yang dimilikikelas. Atributdapatberupanilaiatauelemen – elemen data yang dimilikiolehobjekdalamkelas. Atributdipunyaisecaraindividuolehsuatuobjekmisalnyaberat,jenis. • Abstraksi prinsipuntukmerepresentasikandunianyata yang kompleksmenjadisuatubentuk model yang sederhanadenganmengabaikanaspek-aspek lain yang tidaksesuaidenganmasalah.
Enskapsulasi pembungkusanatribut data danlayanan (operasi-operasi) yang dipunyaiobjekuntukmenyembunyikanimplementasidanobjeksehinggaobjek lain tidakmengetahuicarakerjanya. • Pewarisan mekanisme yang memungkinkansatuobjekmewarisisebagianatauseluruhdanobjek lain sebagaibagiandaridirinya.
Antarmuka biasanyadigunakan agar kelas yang lain tidakmengakseslangsungkesuatukelas. • Reusability pemanfaatankembaliobjek yang sudahdidefenisikanuntuksuatupermasalahanpadapermasalahanlainnya yang melibatkanobjektersebut. • Generalisasi & spesialisasi menunjukanhubunganantarkelasdanobjek yang umumdengankelasdanobjek yang khusus.
KomunikasiAntarObjek dilakukanlewatpesan (message) yang dikirimdarisatuobjekkeobjeklainnya. • Polimorfisme kemampuansuatuobjekuntukdigunakandibanyaktujuan yang berbedadengannama yang samasehinggamenghemat program. • Package sebuahkontainerataukemasan yang dapatdigunakanuntukmengelompokkelas-kelas yang bernamasamadisimpandalam package yang berbeda.
PerbandinganPendekatan OO & Terstruktur • Perbedaan yang paling dasardaripendekatanterstrukturdanpendekatan OO adalahpadametodeberorientasifungsiataualiran data dekomposisipermasalahandilakukanberdasarkanfungsiatauprosessecarahierarkimulaidarikontekssampaiproses yang lebihkecil. • Padametodeberorientasiobjekdekomposisipermasalahandilakukanberdasarkanobjek-objek yang adadalamsistem.
Pendekatanterstrukturmempunyaikelebihandalamkemudahanuntukmemahamisistem. Konsepdekomposispermasalahanmulaidari paling dasar (diagram konteks) sampai paling detail cukupmemudahkandalampemahamanbentuksistemkhususnyabagi user yang mempunyaipemahamantentangsistem yang cukuprendah.
Pendekatanberorientasiobjekmempunyaikelebihandalampeningkatanproduktivitaskarenamempunyai reusability yang cukuptinggidibandingdenganpendekatan lain. • Kelas-kelasdalampemogramanberorientasiobjekdapatdenganmudahdimanfaatkanuntuksistem lain yang dikembangkan.
Sistem akademik DekomposisiberdasarkanobjekatauDekomposisiberdasarkanfungsiatauproses konsep MetodologiberorientasiObjekMetodologiBerorientasiFungsi Konteks Dosen Jadwal Kuliah Mahasiswa Kontrak kuliah Pengambilankuliah Penjadwalan Penilaian
PEMODELAN & UML • Pemodelanadalahgambaranrealita yang simpeldandituangkandalambentukpemetaandenganaturantertentu. • Pemodelandigunakanuntukmerencanakansuatuhal agar kegagalandanresiko yang mungkinterjadidapatdiminimalisir. • Pemodelanpadapembangunanperangkatlunakdigunakanuntukmemvisualisasikanperangkatlunak yang akandibuat.
PerangkatPemodelanadalahsuatu model yang digunakanuntukmenguraikansistemmenjadibagian-bagian yang dapatdiaturdanmengkomunikasikancirikonseptualdanfungsionalkepadapengamat. • Salahsatuperangkatpemodelanadalah UML (Unified Modelling Language). • PeranPerangkatPemodelan : 1. Komunikasi 2. Eksperimentasi 3. Prediksi
Unified Modelling Language • Padaperkembanganteknikpemogramanberorientasiobjekmuncullahsebuahstandarisasibahasapemodelanuntukpembangunanperangkatlunakyaitu UML. • UML munculkarenaadanyakebutuhanpemodelan visual untukmenspesifikasikan, menggambarkan ,membangundarisistemperangkatlunak.
UML merupakanbahasa visual untukpemodelandankomunikasimengenaisebuahsistemdenganmenggunakan diagram danteks-tekspendukung. • UML hanyaberfungsiuntukmelakukanpemodelan. • Secarafisik UML adalahsekumpulanspesifikasi yang dikeluarkan Object Management Group (OMG).
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
Structure Diagram yaitukumpulan diagram yang digunakanuntukmenggambarkansuatustrukturstatisdarisistem yang dimodelkan. • Behavior Diagram yaitukumpulan diagram yang dgunakanuntukmenggambarkankelakuansistemataurangkaianperubahanpadasebuahsistem. • Interaction Diagram yaitukumpulan diagram yang digunakanuntukmenggambarkaninteraksisistemdengansistem lain maupuninteraksiantar sub sistempadasuatusistem.
Class Diagram • Menggambarkanstruktursistemdarisegipendefenisiankelas-kelas yang akandibuatuntukmembangunsistem. • Kelasmemilikiapa yang disebutatributdanmetodeatauoperasi. • Atributmerupakanvariabel –variabel yang dimilikisuatukelas & operasiataumetodeadalahfungsi-fungsi yang dimilikisuatukelas.
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 .