Modeling
Menciptakanmodeladalahuntukmendapatkan
pemahamanyanglebihbaikdarientitasaktual
yangakandibangun.
Ketikaentitasadalahhalyangfisik(gedung,
pesawat,mesin),kitadapatmembangun
sebuahmodelyangidentikdalambentukmirip
tetapidalamskalayanglebihkecil.
Macam-MacamModel
1. Functional Model :
Softwaremengubahinformasi,dandalamrangka
mencapaiini,harusmelakukansetidaknyatigafungsi
generik:masukan,pengolahan,danoutput.
Ketikamodelfungsionaldariaplikasiyangdibuat,
softwareengineerberfokuspadafungsimasalahtertentu.
FungsionalModeldimulaidenganmodeltingkatkonteks
tunggal(yaitu,namaperangkatlunakyangakan
dibangun).
Melaluiserangkaianiterasi,lebihdetaildanlebih
fungsionalyangdisediakan,sampaideliniasimenyeluruh
darisemuafungsisistemdiwakili.
Macam-MacamModel
2. Behavioral models :
Kebanyakanperangkatlunakmeresponterhadap
peristiwadariluarperangkatlunaktersebut.
Karakteristikinimerupakanstimulus/responyang
membentukdasardariperilakumodel.
Sebagaicontoh,perangkatlunakakantetapdalam
keadaanmenunggusampai:
(1)jaminternalmenunjukkanbahwa
beberapaintervalwaktutelahberlalu,
(2)suatuperistiwaeksternal(misalnya,gerakan
mouse)menyebabkaninterupsi,
(3)suatusinyalsistemeksternalperangkat
lunakuntukbertindakdalambeberapacara.
PeranPentingModeling
Modelyangdiciptakanselamaanalisismemilikiperanpenting:
Modelmembantuanalisdalammemahamiinformasi,fungsi,
danperilakusistem,sehinggamembuattugasanalisis
persyaratanlebihmudahdanlebihsistematis.
Modelmenjadititikfokusuntukmeninjaudan,olehkarena
itu,merupakankunciuntukpenentuankelengkapan,
konsistensiakurasi,danspesifikasi.
Modelmenjadidasaruntukdesain,menyediakandesainer
denganrepresentasipentingdariperangkatlunakyang
dapat"dipetakan"dalamimplementasi.
ModelProses
PerangkatLunak
MacamModelProses
Model Prototype
Model Iterasi
(1)WaterfallModel
AktifitasWaterfallModel
Mengumpulkankebutuhansecaralengkapkemudian
kemudiandianalisisdandidefinisikankebutuhanyang
harusdipenuhiolehprogramyangakandibangun.
Desaindikerjakansetelahkebutuhanselesaidikumpulkan
secaralengkap.
Desainprogramditerjemahkankedalamkode-kode
denganmenggunakanbahasapemrogramanyangsudah
ditentukan.Programyangdibangunlangsungdiuji.
AktifitasWaterfallModelCont.
Penyatuanunit-unitprogramkemudiandiujisecara
keseluruhan(systemtesting)
Mengoperasikanprogramdilingkungannyadan
melakukanpemeliharaan,sepertipenyesuaianatau
perubahankarenaadaptasidengansituasi
sebenarnya
MasalahPadaWaterfall
Tujuannyauntukmengaktifkanpenggunadan
memperolahmodelfinalberasaldariinitial
spesifikasiawal.
Seharusnyadiawalidengankebutuhanyang
sudahdimengerti
Throw-away prototyping
Tujuannyaadalahuntukmemahamikebutuhan
sistem.
Biasanyadiawalidenganpemahamankebutuhan
yangminim.
Evolutionary Development
Cont.
Cont.
Analisis komponen
Kebutuhan perubahan
AlurKonsepRe-Use
(6)ModelIterasi
Pengembangan Incremental
PengembanganIncremental
AlurIncremental
PengembanganModelSpiral
AlurModelSpiral
AktifitasSpiralModel
Customer Communication :
membangun komunikasi yangbaik dengan customer.
Planning :
SpiralModelCont.
Analisis
Pemodelan
AnalisisPemodelan
DefinisiIstilah
Data Dictionary
Penyimpananyangberisideskripsidarisemuaobyekdatayang
dikonsumsiataudiproduksiolehperangkatlunak.
EntityRelationshipDiagram(ERD)Menggambarkanhubungan
antaraobyekdata.
Memberikanindikasimengenaibagaimandataditransformasipada
saatdatabergerakmelaluisistem
Menggambarkanfungsi-fungsi(dansubfungsi)yang
mentransformasikanalirandata.
Menunjukkanbagaimanasistembertingkahlakusebagaiakibatdari
kejadianeksternal.
DefinisiIstilahCont.
Informasitambahanmengenaiaspekkontroldariperangkat
lunak.
SebuahdeskripsisetiapfungsidisajikandalamDFDyang
terkandungdalamspesifikasiproses
AtributdarisetiapobjekdatayangdicatatdalamERDdapat
digambarkandenganmenggunakandeskripsidataobjek
SasaranUtamaPemodelan
Model analisis harus dapat mencapai tiga sasaran
utama yakni untuk :
Modeling Data
ERD
(EntityRelationshipDiagram)
Data Objects
Representasidarihampirsemuainformasiyangharusdipahami
olehperangkatlunak.
Attributes
Atributmenentukanpropertidariobjekdatadanmengambil
salahsatudaritigakarakteristikyangberbeda.
Namasebuahinstancedariobjekdata
Menggambarkaninstance
Cont.
Membuatreferensikeinstanceyanglainpadatabelyang
lain.
Relationships
Obyekdatadisambungkansatudenganlainnyadengan
berbagaimacamcara.
Cont.
Cont.
Cardinality
Modeldataharusmampumewakilisejumlahobjekkejadiandalam
hubungantertentu,istilahinidinamakancardinality.
Biasanyadinyatakansebagaihanya'one'or'many'
Contoh:suamihanyadapatmemilikisatuistri(dalamkebanyakan
budaya),sedangkanorangtuadapatmemilikibanyakanak.Maka
jenishubunganantara3objek:
Onetoone:Objek'A'dapatberhubungandengansatudan
hanyasatukejadiandariobjek'B,'danObjek'B'dapat
berhubungandenganhanyasatukejadiandari'A.
Onetomany:Objek'A'dapatberhubungandengansatu
ataubanyakkejadianobjek'B,'tapiterjadinya'B'dapat
berhubungandenganhanyasatukejadiandari'A.
Manytomany:Objek'A'dapatberhubungandengansatuatau
lebihkejadiandari'B,'sedangkanterjadinya'B'dapat
berhubungandengansatuataulebihkejadiandari'A.'
Misalnya,seorangpamandapatmemilikibanyakkeponakan,
sementarakeponakandapatmemilikibanyakpaman.
Modality
Modality:0jikatidakadakebutuhaneksplisituntukhubungan
terjadiatauhubunganadalahopsionaldan1jikaterjadinya
hubunganadalahwajib.
Seorangpelangganmenunjukkanbahwaadamasalah.Jika
masalahinididiagnosissebagairelatifsederhana,sebuah
tindakanperbaikantunggalterjadi.Namun,jikamasalahnya
rumit,tindakanperbaikanbeberapaalatmungkindiperlukan.
Latihan
AdasebuahkomunitasolahragadiSTIKOM,buatkanERD
dantabelnya?
Pertamaadalahmenentukanfakta-faktanya:
KomunitashanyadapatdiikutiolehmahasiswaSTIKOM.
Terdapatdatamahasiswa.
Terdapatbeberapacabangolahragadalamkomunitas
olahragatersebut.
Setiapmahasiswadapatmengikutilebihdarisatucabang
olahraga.
Setiapcabangolahragamempunyaipelatihyang
berkewajibanmembinamahasiswa-mahasiswayang
mengikuticabangolahragayangdiampunya.
LatihanCont.
Kedua,adalahkitaperlumembuatentitasdanatribut
masing-masingentitas.
EntitasMahasiswa.Atribut:NIM,Nama,danNo.
Telepon.
EntitasOlahraga.Atribut:KodeCabangOlahraga,Nama
Olahraga,danKuotasetiapacabangolahraga.
EntitasPelatih.Atribut:IDPelatih,danNamaPelatih.
LatihanCont.
KetigaadalahmenentukanRelationshipdanCardinalitas
MahasiswamengikutiOlahraga.Jadirelationshipnyaadalah
mengikuti.Untukkardinalitasnyaadalahmanytomany(M:N)
karenasetiapmahasiswadapatmengikutilebihdarisatucabang
olahraga,dansetiapcabangolahragaterdapatbanyak
mahasiswayangmengikutinya.
OlahragadiampuolehPelatih.Jadirelationshipnyaadalah
diampu.Untukkardinalitasnyaadalahonetoone(1:1),karena
setiappelatihhanyadapatmengampusatucabangolahraga,dan
setiapcabangolahragahanyadiampuolehsatupelatih.
MahasiswadilatiholehPelatih.Jadirelationshipnyaadalahdilatih.
Untukkardinalitasnyaadalahmanytomany(M:N),karenasetiap
mahasiswadapatdilatiholehbanyakpelatihkarenamahasiswa
tersebutbisasajamengambilbanyakcabangolahraga,dan
seorangpelatihdapatmelatihbanyakmahasiswa.
LatihanCont.
Keempat,gambarERDnya:
LatihanCont.
Kelima,buatrelasiantartabel
LatihanCont.
Penjelasan:
Padatabelpelatihterdapatkolomkodeolahraga,kolom
tersebutterciptakarenaadanyakardinalitasonetoone
(1:1)antaratabelolahragadanpelatih,sehinggaPrimary
key(PK)daritabelolahragaakanmenjadiForeignkey
(FK)ditabelpelatih.
Tabelmahasiswaolahragamerupakantabelbaruyang
terciptakarenaadanyakardinalitasmanytomany(M:N)
antaratabelmahasiswadengantabelolahraga,sehingga
PKmasing-masingtabelakanmenjadi2FKpadatabel
baruyangterbentukitu(tabelmahasiswaolahraga),
keduaFKituakanmenjadiPKdaritabeltersebut.
Padatabelmahasiswapelatihkonsepnyasamajuga
sepertitabelmahasiswaolahragadikarenakan
kardinalitasnyamanytomany(M:N).
LatihanCont.
Keenam,buattabelnya.
TabelMahasiswa
TabelOlahraga
TabelMHS-Olahraga
TabelPelatih
TabelMHS-Pelatih
DFD
(DataFlowDiagram)
-minggudepan-