Metode Formal-Pertemuan 2 Metode Formal.pdf

irfaniaziz 0 views 37 slides Sep 09, 2025
Slide 1
Slide 1 of 37
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37

About This Presentation

rpl, software proses, inspections


Slide Content

METODE FORMAL
Oleh :
Novita Ranti Muntiari, S.Kom., M.kom
Universitas Harapan Bangsa
PERTEMUAN 2
MateriMetodeFormal

Materi Pembahasan
•Perspektifsejarah(lanjutan)
•Rekayasa perangkatLunak dan
Tantangan
•Softwareprosesdansiklushidup
•SoftwareInspections
•SoftwareProjectManagement
•MetodeFormal

PerspektifSejarah (Lanjutan)
1940an hinggasekarangrekayasaperangkat
lunaktelahsemakinberkembangsejak
pertamakali diciptakan.
Fokusutamapengembanganuntuk
mengembangkanpraktekdan teknologiuntuk
meningkatkan produktivitas para praktisi
pengembang perangkat lunak dan kualitas
aplikasi yang dapat digunakan oleh pemakai.

PandanganumumRekayasaperangkatlunak
•Untukmengembangkanperangkatlunaksecaramemadai,prosespengembangan
haruslahdidefinisikanterlebihdahulu.
•UsahaRPLdapatdikategorikankedalamtigafaseumumtanpamemperdulikan
areaaplikasi,ukuranproyekataukompleksitasnya.
1.FaseDefinisi:Sistemataurekayasainformasi,analisikebutuhan,dan
perencanaanproyekperangkatlunak.
2.FasePengembangan :Rancanganperangkatlunak,pemunculankode,dan
pengujianperangkatlunak
3.FasePemeliharaan:Koreksi,Adaptasi,perkembangandanpencegahan

PerspektifSejarah (Lanjutan)
•1950-1960 IstilahSoftware engineering digunakan.
•1968IstilahSoftware Engineering mulaidipopulerkan,
Conferenceyang diselenggarakanoleh NATO.
•Perdebatantajammengenaiaspekengineeringdari
pengembanganperangkatlunak.
•1968-1969KomitesainsNATO mensponsori2 konferensi, yang
memberikandampakkuatuntukperkembanganperangkatlunak.

PerspektifSejarah (Lanjutan)
•1960 -1980,Krisis
Banyak masalahyang ditemukanpara praktisipengembangan
perangkatlunak.
•Banyak project yang gagal, melebihianggaran, hinggakasusyang
mengakibatkankerusakanfisikdan kematian
•perakayasaPerangkatLunak(RPL) secaraumumdisepakati
sebagaiterjemahandariistilahSoftware engineering.

PerspektifSejarah (Lanjutan)
•RPL ➔Membuatprogram komputer
PERBEDAAN
•Perangkatlunakadalahseluruhperintahyangdigunakanuntuk
memprosesinformasidapatberupaprogramatauprosedur.
•Programkomputeradalahkumpulanperintahyangdimengerti
olehkomputersedangkanproseduradalahperintahyang
dibutuhkanolehpenggunadalammemprosesinformasi

PerkembanganPerangkatlunak
•Ada4era
1.EraPemula➔MenggunakanKabel
2.EraStabil➔Selainpenelitidanakademijugadigunakandiindustry,
perusahaan,danditerapkandisistembasisdata.
3.EraMikro➔Dibedakandarisoftwareyaituperangkatlunaksistem
danperangkatlunakaplikasi
4.EraModern➔Sangatcanggih,mengenalinput,bentuksuara
maupungambardandistribusiadayanggratisdanbayar.

RekayasaPerangkatlunak
DefinisimenurutIEEE (Institute of Electrical
and Electronic Engineers)
Rekayasaperangkatlunakadalahpenerapan
pendekatanyang sistematis, disiplindan
dapatdiukuruntukpengembangan,
pengoperasian, dan pemeliharaanperangkat
lunakyaitupenerapanrekayasapada
perangkatlunakdan studitentang
pendekatanserupa.

RekayasaPerangkatlunak
•Rekayasaperangkatlunakmeliputi
•Metodologiuntukmerancang,mengembangkan,danmengujiperangkat
lunakuntukmemenuhikebutuhanpelanggan
•Perangkatlunakdirekayasa,Artinyaprodukperangkatlunakdirancang,
dikembangkan,dandiujidengancepat.
•Kualitasdankeamananditanganidenganbenar
•Matematikayangdigunakanuntukmembantudesaindanverifikasi
produkperangkatlunak
•Menerapkanpraktikmanajemenproyekyangbaikdanberkualitas
•Supportdanperangkatlunakditanganidenganbenar

Tanggangjawabseorangsarjanaatauahlirekayasaperangkatlunakyaitu:
•Harusmemberikangambaranyangtepattentangmasalahyangakan
dipecahkan.Artinyaharusdibuktikandaripersyaratanapayangdiperlukan
danapayangtidak.
•Langkahselanjutnyaadalahmembuatdesainyangakanmemecahkan
masalah,danpentinguntukvalidasikebenarandesain.
•Selanjutyaimplementasipengkodeandaridesain
•Verifikasidanvalidasidesaindilakukansecaraketat

RekayasaPerangkatlunak
Parailmuanberpendapatbahwailmuwankomputerharus
menerimadasaryangkuatdalampemodelanmatematikadan
desain.
Harusjugamemilikikompetensiprofessionalsebagaiseorang
ahlidalammembangunprodukberkualitastinggidanaman
untukdigunakandipublik

RekayasaPerangkatlunak
Banyakperusahaanperangkatlunakmemberikanpelatihanke
stafnyaagardapatmemberikanprodukdanlayananberkualitas
tinggi
FaktanyaKaryawanyangberkualifikasisecaraprofesional
memberikanprodukdanlayananyangjauhlebihberkualitasdi
bandingperusahaanyangtidakmemberikanpelatihankestaff
makaakanmemperolehhasilyangburuksepertikehilangan
reputasidanpangsapasar

Tantangandalamrekayasa
perangkatlunak
Menghadirkanperangkatlunak
berkualitastinggitepatwaktu
dan sesuaikepadapelanggan.

PembengkakanBiayaProyek
ManajemenProyek
MemberikanEstimasi
Laporandan upayanyang
akandi lakukan

RekayasaPerangkatlunak
ManajemenResikoadalahbagianpentingdarimanajemenproyek.
Tujuan: Mengidentifikasiresikopotensialsejakdinidan selamaproyek
berlangsungagar dapatdikeloladengantepat.
Denganitukualitasperangkatlunakperludirencanakandenganbaik
agar proyekmenghasilkanprodukyang berkualitas

Perkembanganperangkatlunakmelibatkanbanyakproses
•Prosesmenentukankebutuhan
•Prosesuntukestimasi
•Perencanaanproyek
•Prosesuntukdesain
•Implementasi
•Pengujian
Prosesdigunakanharussesuaidengantujuanya
Software proses dan siklushidup

Asetprosesperangkatlunakdalamsuatuorganisasiumumnya:
•Kebijakanpengembanganperangkatlunakuntukorganisasi
•Petaprosesyangmenggambarkanalirankegiatan
•Prosedurdanpedomanyangmenjelaskanprosessecara
lebihrinci
•Daftarperiksauntukmembantukinerjaproses
•Templateuntukkinerjaaktivitastertentu(misalnyadesain,
pengujian)
•MateriPelatihan.
Software proses dan siklushidup

Prosesyangdigunakanuntukmengembangkanperangkat
lunakberkualitastinggiumumnyameliputi:
•ProsesmanajemenProyek
•Prosespersyaratan
•Prosesdesain
•Prosespengkodean
•Prosespeer-review
•Prosespengujian
•Prosesseleksidanmanajemenpemasok
•Prosesmanajemenkonfigurasi
•Prosesaudit
•Prosespengukuran
•Prosesperbaikan
•Dandukunganpelanggandanprosespemeliharaan
Software proses dan siklushidup

Software proses dan siklushidup
Proses pengembanganperangkatlunakmemilikisiklushidup
terkaityang terdiridariberbagaifase.
Siklushidupdalamproses pengembanganperangkatlunak
sebagaiberikut:

SiklushidupAirTerjun(Waterfalllifecycles)
suatuprosesperangkatlunakyangberurutan,
dipandangsebagaiterusmengalirkebawah(sepertiair
terjun)melewatifase-faseperencanaan,pemodelan,
implementasidanpengujian.
Digunakanuntukproyek-proyekyangpersyaratanya
dapatdiindentifikasipadaawalsiklushidupproyek
atautelahdiketahuisebelumnya

SiklushidupSpiral(Wapirallifecycles)
•Modelspiraladalahprototipeyangdapat
digunakanKembalidengananalisbisnisdan
pelangganyangmeninjauiterasiterkinidan
memberikan umpan balikkepada tim
pengembangan.Umpanbalikdianalisisdan
digunakanuntukmerencanakanliterasiberikutnya.
•Pendekataniniseringdigunakandalam
pengembangan aplikasiBersama,dimana
kegunaandantampilansertanuansaaplikasi
menjadiperhatianutama.Inipentingdalam
pengembangan berbasiswebdandalam
pengembanganantarmukapenggunagrafis(GUI).

ProsesTerpaduRasional(RationalUnifiedProcess)
•RationalUnifiedProcess(RUP)merupakansuatu
metoderekayasaperangkatlunakyang
dikembangkandenganmengumpulkanberbagai
praktikterbaikyangterdapatdalamindustri
pengembanganperangkatlunak.
•RUPjugamenggunakankonsepobjectoriented,
dengan aktifitasyang berfokuspada
pengembangan modeldenganmenggunakan
UnifiedModelLanguage(UML).

PengembangAgile(AgileDevelopment)
•Metodelogiinimencangkuppengendalian
untukmengelolaperubahanpadapersyaratan,
dankomunikasiyangbaiksertaumpanbalik
rutindiawalmerupanbagianpentingdari
prosestersebut.
•Agilemerupakanpemrogramanberpasangan
dangayakerjakolaboratifdenganfilosofi
bahwaduakepalalebihbaikdarisatu.Ini
memungkinkanberbagaiprespektifdalam
pengambilkeputusandanpemahamanyang
lebihluastentangmasalah

•Pengujianperangkatlunaksangatpentingpadalifecyclesinidanumumnya
menggunakanpengujianotomatisuntukpengujianunit,penerimaan,kinerjadan
integrasi.
•Agilemenggunakanpengembanganberbasispengujiandenganpengujianyang
ditulissebelumkode.
•Pengembanganmenuliskodeuntukmembuatteslulusdenganpengembang
idealnyahanyamengkodekantesyanggagal.
•Pendekataninimemaksapengembanguntukmenuliskodeyangdapatdiuji.

•Inspectionsdalamperangkatlunakadalahbagianlangkahuntukmemeriksakualitas
sebuahproyek.
•Beberapahalinspeksiperangkatlunaksepertimelibatkanmemeriksaperangkatlunak,
dokumentasi,catatanprosesdanlainlain.
•Tujuanadalahagarhasilnyadapatmenjaditinjauanbagimanajerproyekuntukdapat
membuatkeputusanperencanaandanpengalokasikansumberdayauntukproses
pembangunan.Sehinggahasilnyadapatuntukmeningkatkankualitasperangkatlunak,
bukan untuk menilaikinerjaorang di tim pengembangan.

Ada pendekatanterkenalseperti:
MetodologiFagan
PendekatanGilb
PendekatanPrince

Peranyangditentukandalaninspeksisoftwareyaitu:
•Moderator:memimpininspeksi
•Pembaca:Bertanggungjawauntukmembacaataupenyampaiantertentu
•Penulis:penciptapenyampaiantersebutdanmemilikikepentingankhususuntuk
memastikanbahwapenyampaiantersebutbenar.
•Penguji:berkaitandengansudutpandangpengujian

•Prosesinspeksiakanmempertimbangkanapakahdesainsudahbenarsehubungan
denganpersyaratandanapakahkodesumberbenarberkaitandengandesain.
•Inspeksiperangkatlunakmemainkanperanpentingdalammembangunkualitaske
dalamperangkatlunakdandalammengurangibiayakualitasyangburukdalam
organisasi.

•Pengirimanperangkatlunakyangberkualitassecaratepatwaktumembutuhkanproses
manajemendanrekayasayangbaik.
•Estimasidanpenjadwalanproyeksulitdilakukankarenaproyekperangkatlunaksering
kalimerupakanterobosanbarudanberbedadariproyeksebelumnya.
•Manajemenrisikoyangefektifselamaproyeksangatpentinguntukkeberhasilan
proyek

•Risikomunculkarenaketidakpastiandansiklusmanajemenrisikoyangmelibatkan
identifikasirisiko,analisis
•evaluasirisiko,mengidentifikasiresponsterhadaprisiko,memilihdanmerencanakan
responsterhadaprisikodanpemantauanresiko.
•Risikodicatatdankemungkinansetiaprisikoyangtimbulsertadampaknyakemudia
bisaditentukan.

•Caramengembangkanperangkatlunakyangbenaradalahdenganmenurunkan
programdarispesifikasinyamenggunakanmatematika,danmenggunakanbukti
matematikauntukmenunjukankebenarannya.
•Inimenawarkankerangkakerjayangketatuntukmengembangkanprogramyang
mengikutiBatasankualitastertinggi.
EdsgerWybeDijkstra
Charles Antony Richard Hoare

MetodeFormal
•Dalampraktiknyateknikmatematikaterbuktirumituntuk
digunakandanpenggunaanyasecaraluasdalamindustry
tidakmungkindilakukansaatini.
•Karenaadakebutuhanuntukketelitianekstradalam
bidang ini,dan teknikmatematika dapat
mendemostrasikanatautidaknyapropertytertentuyang
diingkanatautidakdiinginkan.

•Sifatnotasimatematikayangtidakambigumenghindarimasalahambiguitasdalam
deksripsibahasatext.
•Istilah“metodeformal”digunakanuntukmenggambarkanbahasaspesifikasiformal
danmetodeuntukdesaindanimplementasisistemkomputer.
•Spesifikasitersebutditulisdengantepatdalambahasamatematika.
•Metodeformaltelahditerapkanpadaberbagaiaplikasitermasukdesainsirkuit,
kecerdasanbuatan,spesifikasistandar,spesifikasidanverifikasiprogram.

Tugas / Quiz
Tugas
------------------
Ada
Quiz
------------------
Ada

[email protected]
Sampaijumpadi pertemuanberikutya
denganmateri
“Software Reliability And Dependability”
Sekiandan Terimakasih...
Tags