Anda di halaman 1dari 51

PEMODELAN ANALISIS

Muhammad Riza Hilmi, ST.


http://learn.rizahilmi.com
saya@rizahilmi.com

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

Model Proses Perangkat Lunak

Suatu representasi proses perangkat lunak yang


disederhanakan, dipresentasikan dari perspektif
khusus
Contoh perspektif proses:

Perspektif Alur-Kerja (Workflow) barisan


kegiatan

Perspektif Alur Data (Data flow) alur informasi

Perspektif Peran/Aksi siapa melakukan apa.

MacamModelProses

Model Air terjun (Water fall)

Model Prototype

Menggunakan suatu model sistem matematika yang


ditransformasikan ke implementasi.

Pengembangan Berbasis Re-Use

Spesifikasi dan pengembangan saling bergantian

Pengembangan Sistem Formal

mendemonstrasikan perangkat lunak akan bekerja dalam


lingkungannya sebelum tahapan konstruksi aktual dilakukan

Pengembangan Yang Berevolusi

Memisahkan dan membedakan antara spesifikasi dan pengembangan

Sistem dibangun dari komponen yang sudah ada

Model Iterasi

bersifat dinamis dalam artian setiap tahapan proses pengembangan


system dapat diulang jika terdapat kekurangan atau kesalahan

(1)WaterfallModel

AktifitasWaterfallModel

Requirements analysis and definition :

System and software design :

Mengumpulkankebutuhansecaralengkapkemudian
kemudiandianalisisdandidefinisikankebutuhanyang
harusdipenuhiolehprogramyangakandibangun.
Desaindikerjakansetelahkebutuhanselesaidikumpulkan
secaralengkap.

Implementation and unit testing :

Desainprogramditerjemahkankedalamkode-kode
denganmenggunakanbahasapemrogramanyangsudah
ditentukan.Programyangdibangunlangsungdiuji.

AktifitasWaterfallModelCont.

Integration and system testing :

Penyatuanunit-unitprogramkemudiandiujisecara
keseluruhan(systemtesting)

Operation and maintenance :

Mengoperasikanprogramdilingkungannyadan
melakukanpemeliharaan,sepertipenyesuaianatau
perubahankarenaadaptasidengansituasi
sebenarnya

MasalahPadaWaterfall

Partisi project ke stages yang berbeda


tidak fleksibel

Hal ini mengakibatkan sulitnya untuk


merespon perubahan kebutuhan
pengguna

Oleh sebab itu model ini hanya cocok


digunakan apabila kebutuhan
pengguna sudah dimengerti dengan
baik

(2) Prototyping Model

Sebagian besar customer hanya memberikan


beberapa kebutuhan umum software tanpa
detil input, proses atau detil output.

Aktifitas Prototyping Model

Requirements : developer dan klien bertemu dan


menentukan tujuan umum, kebutuhan yang
diketahui dan gambaran bagianbagian yang akan
dibutuhkan berikutnya
Design : perancangan dilakukan cepat dan
rancangan mewakili semua aspek software yang
diketahui, dan rancangan ini menjadi dasar
pembuatan prototype.
Evaluasi prototype : klien mengevaluasi prototype
yang dibuat dan digunakan untuk memperjelas
kebutuhan software.

(3) Pengembangan Yang Berevolusi


(Evolutionary Development)

Pengembangan yang berdasarkan penyidikan

Tujuannyauntukmengaktifkanpenggunadan
memperolahmodelfinalberasaldariinitial
spesifikasiawal.

Seharusnyadiawalidengankebutuhanyang
sudahdimengerti

Throw-away prototyping

Tujuannyaadalahuntukmemahamikebutuhan
sistem.

Biasanyadiawalidenganpemahamankebutuhan
yangminim.

Alur Evolutionary Development

Evolutionary Development

Cont.

Permasalahan dalam model pengembangan yang


berevolusi:

Kekurangan visibilitas proses

Model sistem biasanya tidak terstruktur

Membutuhkan kemampuan khusus (mis.: bahasa


pemrograman untuk rapid prototyping).

Pemakaian model pengembangan yang berevolusi

Untuk sistem interaktif yang kecil atau menengah

Untuk salah satu bagian dari sistem yang besar


(mis. User Interface)

Untuk sistem yang digunakan tidak terlalu lama


(short lifetime).

(4) Pendekatan Pengembangan


Sistem Formal

Berbasiskan pada transformasi spesifikasi secara


matematik melalui representasi yang berbeda
untuk suatu program yang dapat dieksekusi,
Trasformasi menyatakan spesifikasi program
Menggunakan pendekatan Cleanroom untuk
pengembangan Perangkat Lunak.

Penggunaan Metode Formal

Metode ini mempunyai keterbatasan dalam


pemakaiannya.
Keunggulannya adalah mengurangi jumlah
kesalahan pada sistem sehingga penggunaan
utamanya adalah pada sistem yang kritis.
Hal itu menjadi efektif dari segi biaya.

Pengembangan Metode Formal

Cont.

Permasalahan dalam model pengembangan metode


formal:

Memerlukan keahlian khusus dan pelatihan untuk


mengaplikasikannya

Sulit menentukan beberapa aspek dari suatu


sistem seperti user interface

Pemakaian model pengembangan metode formal

Memerlukan tingkat kerahasian dan keamanan


yang tinggi sebelum digunakan

(5) Pengembangan Menggunakan Konsep


Re-use (Penggunaan Ulang)

Berdasarkan pada sistem yang telah tergabung


dari sejumlah komponen yang ada atau sistem
COTS (Commercial-off-the-shelf)
Langkah-langkah Proses :

Analisis komponen

Kebutuhan perubahan

System design dengan penggunaan ulang

Pengembangan dan Development dan


penggabungan

Pendekatan ini menjadi penting tetapi tetap saja


mempunyai keterbatasan dalam penggunaannya

AlurKonsepRe-Use

(6)ModelIterasi

Merupakan model pengembangan system yang bersifat


dinamis dalam artian setiap tahapan proses pengembangan
system dapat diulang jika terdapat kekurangan atau
kesalahan.
Setiap tahapan pengembangan system dapat dikerjakan
berupa ringkasan dan tidak lengkap, namun pada akhir
pengembangan akan didapatkan system yang lengkap pada
pengembangan system.
Model Iterasi dapat digunakan pada setiap model proses
generic
Terdapat dua pendekatan:

Pengembangan Incremental

Pengembangan Model Spiral

PengembanganIncremental

Pengembangan sistem berdasarkan model sistem


yang dipecah sehingga model pengembangannya
secara increament/bertahap
Kebutuhan pengguna diprioritaskan dan prioritas
tertinggi dimasukkan dalam awal increment
Setelah pengembangan suatu increment dimulai,
kebutuhan dibekukan dulu hingga increment
berikutnya dimulai

AlurIncremental

PengembanganModelSpiral

Proses direpresentasikan sebagai model spiral


(bukan berupa barisan aktifitas yang dapat
ditrack mundur)
Setiap loop dalam model spiral menyatakan
fase proses
Tidak terdapat fase tertentu seperti spesifikasi
atau perancangan, tetapi loop dalam spiral
ditentukan pada apa yang dibutuhkan

AlurModelSpiral

AktifitasSpiralModel

Customer Communication :
membangun komunikasi yangbaik dengan customer.
Planning :

mendefinisikan resources, batas waktu, informasi


informasi lain seputar proyek.
Risk Analysis :

identifikasi resiko managemen dan teknis


Engineering :

pembangunan contohcontoh aplikasi, misalnya prototype


Construction AndRelease :

pembangunan, test, install dan support.


Customer Evaluation :

mendapatkan feedback dari pengguna beradasarkan


evaluasi Perangka Lunak pada fase engineeringdan fase
instalasi.

SpiralModelCont.

Pada model spiral, resiko sangat dipertimbangkan.


Resiko adalah sesuatu yangmungkin
mengakibatkan kesalahan.
Model spiral merupakan pendekatan yangrealistik
untuk Perangkat Lunak berskala besar.
Pengguna dan pembangun bisa memahami
dengan baik software yangdibangun
karena setiapkemajuan yangdicapai selama
proses dapat diamati dengan baik.

Analisis
Pemodelan

AnalisisPemodelan

Pada tingkat teknik, rekayasa perangkat


lunak dimulai dengan serangkaian tugas
pemodelan yang membawa kepada suatu
spesifikasi lengkap dari persyaratan
representasi dan representasi desain yang
komprehensip bagi perangkat lunak yang
dibangun.

Analisis dan Desain Model

DefinisiIstilah

Data Dictionary

Penyimpananyangberisideskripsidarisemuaobyekdatayang
dikonsumsiataudiproduksiolehperangkatlunak.

EntityRelationshipDiagram(ERD)Menggambarkanhubungan
antaraobyekdata.

Data Flow Diagram (DFD)

Memberikanindikasimengenaibagaimandataditransformasipada
saatdatabergerakmelaluisistem

Menggambarkanfungsi-fungsi(dansubfungsi)yang
mentransformasikanalirandata.

State Transition Diagram

Menunjukkanbagaimanasistembertingkahlakusebagaiakibatdari
kejadianeksternal.

DefinisiIstilahCont.

Control Specification (CSPEC)

PSPEC (Process Spesification)

Informasitambahanmengenaiaspekkontroldariperangkat
lunak.
SebuahdeskripsisetiapfungsidisajikandalamDFDyang
terkandungdalamspesifikasiproses

Data Object Description

AtributdarisetiapobjekdatayangdicatatdalamERDdapat
digambarkandenganmenggunakandeskripsidataobjek

SasaranUtamaPemodelan
Model analisis harus dapat mencapai tiga sasaran
utama yakni untuk :

Menggambarkan apa yang dibutuhkan untuk


pelanggan

Membangun dasar bagi pembuatan desain


perangkat lunak

Membatasi serangkaian persyaratan yang dapat


divalidasi begitu perangkat lunak dibangun.

Modeling Data

ERD (Entity Relationship Diagram)

adalahaplikasi berguna untuk mengatur


data dan hubungannya yang kompleks.

DFD (Data Flow Diagram)

adalah menggambarkan informasi


ditransformasikan pada saat dia mengalir
melalui sebuah sistem berbasis komputer.
Sistem tersebut menerima input dengan
berbagai cara dan menghasilkan suatu
output.

ERD

(EntityRelationshipDiagram)

Entity Relationship Diagram

ERDini awalnyadiusulkan olehPeter Chen


[CHE77] untuk desain sistem database relasional
dantelah dikembangkanoleh orang lain.
Satu setkomponen utamadiidentifikasi untuk
ERD:objek data,atribut, hubungan,dan
berbagai indikatorjenis.
Tujuanutama dariERDadalah untuk mewakili
objekdata danhubungan mereka

Entity Relationship Diagram

Data Objects

Representasidarihampirsemuainformasiyangharusdipahami
olehperangkatlunak.

Attributes

Atributmenentukanpropertidariobjekdatadanmengambil
salahsatudaritigakarakteristikyangberbeda.

Namasebuahinstancedariobjekdata

Menggambarkaninstance

Cont.

Membuatreferensikeinstanceyanglainpadatabelyang
lain.

Relationships

Obyekdatadisambungkansatudenganlainnyadengan
berbagaimacamcara.

Entity Relationship Diagram


EXAMPLE1:

Cont.

Entity Relationship Diagram


EXAMPLE2:

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-

Anda mungkin juga menyukai