270 likes | 525 Views
Perancangan PL berorientasi objeck. Ahmat Adil. Perancangan Perangkat Lunak. Perancangan Terstruktur Perancangan Berorientasi Objek. Perancangan Terstruktur. Orientasi pada Proses dan Data Alat yang digunakan : DFD, ERD, Bagan Terstruktur Karakteristik Rancangan :
E N D
Perancangan PL berorientasiobjeck AhmatAdil
Perancangan Perangkat Lunak • PerancanganTerstruktur • PerancanganBerorientasiObjek
PerancanganTerstruktur • OrientasipadaProsesdan Data • Alat yang digunakan : DFD, ERD, BaganTerstruktur • KarakteristikRancangan: • ModuldisusunsecaraHirarkis • MenggunakanAlurKendali(top to bottom / bottom to top) • Repetisidalamsatumodul • Konsepkendalistandart(urut,seleksi,repetisi)
PerancanganBerorientasiObjek • OrientasipadaObyek • Alat yang digunakan : cth : UML (Use case diagram, activity diagram, sequence diagram, dll. • Tahapan: • MendeskripsikanObyek, Kelas, AtributdanDaftaroperasi • MemodelkanrelasiantaraObyekdanKelas • MemodelkanPewarisan
KonsepdalamMetodeBeorientasiObjek • Objek Objekadalahsuatukombinasiantara data danaspeklojik yang merepresentasikansuatuentitasdunianyata. Contoh : mobiltoyotakijangadalahsuatuobjek, maka yang menjadi data adalahwarna, pembuat, harga, konsumsibahanbakar, mekanismepengereman, dll. Sedangkan yang menjadiaspeklojiknyaadalahmenampilkanjaraktempuh, berhenti, bejalan, belok, dll.
Kelas Padasistemberorientasiobjek, kelasdidefinisikansebagaihimpunanobjek yang memilikistrukturumumdanperilakuumum yang sama [BAH99]. Sedangkanobjekdapatdikatakansebagaiinstansiasisuatukelas. Sebagaicontohmobiladalahsuatukelas, makamobil Toyota kijang, mobil Proton, dlladalahobjek.
Kelas Diagram • Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). • Class memilikitiga area pokok: 1. Nama (dan stereotype) 2. Atribut 3. Metoda/operasi
AturanPembuatan Class Diagram • Untuknamakelas yang hanya 1 sukukata, diawalidenganhurufbesar. Contoh : Mahasiswa, Dosen, Karyawan, Petugas, Denda, Transaksi. • Untuknamakelas yang lebihdari 1 sukukata, setiaphurufpertamasukukatadiawalidenganhurufbesar, danjanganmenggunakantandaspasi, underscode ( _ ), dash (-), pipeline ( | ) atautandabaca yang lain Contoh : KoleksiLuar, KoleksiLokal, KaryawanDanDosen
Atribut Atributmerepresentasikankarakteristikataukeadaanobjek. Padacontohkasusdiatas, sebuahmobildapatmemilikiatributwarna, harga, danpembuat. Padatataranimplementasi, warnadapatdirepresentasikansebagaisuatu string (domain nilainyamisalnya : merah, biru, kuning, dll). • Atributmenggambarkan data yang dapatmemberikaninformasimengenaikelasatauobjekdimanaatributtersebutberada.
Metode • Metodeadalahsuatufungsiatauprosedur yang didefinisikanuntukdapatmengakseskeadaan internal suatuobjekdarisuatukelas. • Metode (method) disebutjuga service atau operator adalahprosedurataufungsiseperti yang terdapatdalambahasa Pascal padaumumnya, tetapicarakerjanyaagakberlainan. Metodeadalahsubprogram yang tergabungdalamobjekbersama-samadenganatribut.
RelasiPada Class Diagram • Padarelasiterdapatsuatupenanda yang disebut multiplicity. Multiplicity iniakanmengindikasikanberapabanyakobyekdarisuatukelasterelasikeobyek lain. Notasi UML untuk multiplicity iniadalahsebagaiberikut:
Relasi hubunganantarasatukelasdengankelaslainnyayang disebutrelasi. Relasidigunakanolehsuatukelasuntukberkomunikasidengankelaslainnya. Untukkelas diagram terdapatbeberaparelasiyaitu 1. Association atauAsosiasi Asosiasiadalahhubungan yang terjadiantarakelas yang ada. Asosiasimemungkinkansuatukelasuntukmenggunakanatau mengetahuiatributatauoperasi yang dimilikiolehkelas lain. Asosiasijugamenggambarkaninteraksi yang mungkinterjadi antarasatukelasdengankelas yang lain.
Asosiasiadabeberapajenis, antaralain Directional Association atauAsosiasi 1 arah, Asosiasiinimenggambarbahwapesanatauurutankejadianterjadidarihanyasalahsatukelassedangkankelas yang lain pasif. Contohnyapadasaatseorangpetugasperpustakaanmelakukanpencatatanpeminjamanterhadapseoranganggota, makapesandikirimkanolehpetugasdanditerimaolehanggota. Dimanapetugasakanmencatatidentitasanggotapeminjamdananggotapeminjamberlakupasifbukannyamalahgantianmencatatidentitaspetugas.
Asosiasi 2 arah (Bidirectional Association) Asosiasiiniterjadiketikasalahsatukelasmengirimkanpesankepadakelas yang lain kemudiankelas yang lain mengirimkanpesankepadakelas yang mengirimnyapesan. Contohnyapadasaatseorangcalonanggotamendaftarmenjadianggotaperpustakaanmaka yang terjadiadalahanggotamenyerahkanidentitasuntukdiprosesolehpetugasdanbeberapasaatkemudianpetugasakanmemberikankartukeanggotaanperpusatakaan
2. DepedencyatauDependensi Relasijenisinimenunjukkanbahwasebuahkelasmengacukepadakelaslainnya. Olehsebabituperubahanpadakelas yang diacuakansangatberpengaruhpadakelas yang mengacu. Contohnyaapabilaseoranganggotahendakmeminjambukumakaadasebuahkelas yang bertanggungjawabmelakukanpencatatanpeminjam. Kelasiniakanmengetahuianggota yang meminjamdanmembuatdaftarbukuapasaja yang dipinjamolehanggotatersebut.
3. Aggregation atauAgregasi Relasiaggregasiadalahsuatubentukrelasi yang jauhlebihkuatdaripadaasosiasi. Aggregasidapatdiartikanbahwasuatukelasmerupakanbagiandarikelas yang lain namunbersifattidakwajib. Contohnyasebuahbukumemilikipengarang, daftarpustaka, namunbisasajasuatubukutidakmemilikidaftarpustaka. Dari contohkasusdapatdiartikanbahwadaftarpustakamerupakanbagiandaribukunamunbukutetapdisebutsebagaibukumeskipuntidakmemilikidaftarpustaka.
4. Composition atauKomposisi Relasiinimerupakanrelasi yang paling kuatdibandingkandenganasosiasidanaggregasi. Padakomposisidiartikanbahwasuatukelasmerupakanbagian yang wajibdarikelas yang lain. Contohkasusyaitupadasebuahbuku, sudahpastiterdapathalamanisisekurangkurangnyasatu
5. Realization atauRealisasi Realisasi, bisadisebutjugaimplementasimerupakansuaturelasi yang menunjukkanpenerapanterhadapsuatu interface kepadasebuahClass. Relasirealisasibiasanyadigunakanuntukmewajibkansuatukelasmemilikisuatu Method yang sudahdidefinisikanbentukkerangkanyadalamsuatu interface. Contohnyapadakelaspetugasdananggota, keduakelasinitentunyamemiliki Method yang wajibdimilikinamunmelakukankegiatanyang berbedaseperti add dan update
ContohRelasiRealization antara IManusiadenganAnggota dan Petugas
6. Generalization atauGeneralisasi Adalahrelasipewarisanantaradua Class. Relasijenisinimemungkinkansuatukelasmewarisi attribute danoperasi yang dimilikioleh base Class3. Attribute danoperasi yang bisadiwarisiolehsuatukelasadalah yang memiliki access modifier public, protected dan default. ContohnyaAnggotadanPetugasadalahduabuahkelasyang mewarisisifat yang dimilikiolehkelasmanusia. Disinikelasmanusiaberupakelas abstract yang berartikelasinibarubisadigunakanketikasudahdiwariskankepadasuatukelasataubiladigunakanlangsung, Method – Method wajib yang terdapatdidalamnyaharusdifungsionalitaskanterlebihdahulu