490 likes | 828 Views
Perancangan Perangkat Lunak. Disusun oleh : Dr. Lily Wulandari. P endekatan P rogrammer untuk Rekayasa PL. Lewati fase rekayasa kebutuhan dan desain ; Mulai dengan penulisan kode. Mengapa Pendekatan P rogrammer ?. Desain adalah membuang waktu
E N D
PerancanganPerangkatLunak Disusunoleh: Dr. Lily Wulandari
Pendekatan Programmeruntuk Rekayasa PL • Lewati fase rekayasa kebutuhan dan desain; • Mulai dengan penulisan kode
Mengapa Pendekatan Programmer? • Desain adalah membuang waktu • Kami butuh untuk menunjukkan sesuatu ke pelanggan dengan cepat • Kami mengira atau tahu bahwa jadwal sangat ketat
Bagaimanapun, ... • Semakin lama anda menunda pembuatan program, semakin cepat anda akan selesai
Desain PL sebagai sebuah Masalah yang Sulit • Tidak ada rumusan yang pasti • Tidak ada aturan kapan berhenti • Solusi tidak hanya benar atau salah • Setiap masalah yang sulit adalah gejala dari masalah lain
MetodologiPengembangan Sistem • Metodologiadalahkesatuanmetode-metode , prosedur-prosedur, konsep-konseppekerjaan, dan aturan-aturan yang digunakanolehsuatuilmupengetahuan , seni, ataudisiplinlainnya. • Metodeadalahsuatucara / teknikyang sistematikuntukmengerjakansesuatu.
Metode Desain • Functional decomposition • Data Flow Design (SA/SD) • Design based on Data Structures (JSD/JSP) • OO is gOOd, isn’t it
Contoh Metode-Metode Desain • Decision tables • E-R • Flowcharts • JSD • JSP • OOD • SADT • Dan lain-lain
MetodologiPemecahanFungsional • Functional decomposition methodologies ( metodologiPemecahanfungsional ) Menekankanpadapemecahandarisistemkedalamsubsistem-subsistem yang lebihkecil, sehinggalebihmudahdipahami, dirancangdanditerapkan. Yang termasukmetodologiini : - HIPO (Hierarchy Input Process Output ) • Stepwise refinement (SR) atau Iterative Stepwise Refinement ( ISR) • Information hiding
Functional decomposition bottom-up top-down
Desain Alur Data • Yourdon dan Constantine (awal 70an) • Versi saat ini : proses dua-langkah: • Analisis Struktur, menghasilkan desain logika, digambarkan sebagai sekumpulan data flow diagrams • Desain Terstruktur mengubah desain logika ke dalam struktur program, digambarkan sebagai sekumpulan structure charts
DFD Data FLOW DIAGRAM
Pengertian DFD • Suatu grafik yang menjelaskan sebuah sistem dengan menggunakan bentuk-bentuk atau simbol untuk menggambarkan aliran datadari proses-proses yang saling berhubungan.
Pengertian DFD • Data Flow Diagram adalahsuatuteknikgrafik yang menggambarkanalurinformasidantransformasimenggunakandekomposisifungsiterhirarkidarisuatuprosesdalamsuatusistem • Apasebagaimasukan. • Apasebagaikeluaran. • Bagaimanaterjadiprosesperubahandidalamnya
Pengertian DFD • DFD mempunyai level-level mulai dari yang terkecil, yaitu level 0 (context diagram). • Context diagram merupakan gambaran paling umum dari sistem, yang hanya memiliki satu proses saja untuk mewakili seluruh sistem.
Pengertian DFD • Semakin bertambahnya level dalam DFD akan semakin detail digambarkannya proses-proses yang ada pada sistem, tetapi yang boleh bertambah hanya proses dan data flow saja.
Pengertian DFD • Data source jumlahnya harus tetap dengan yang ada pada context diagram. • Khusus untuk data store, pada context diagram masih belum digambarkan, akan tampak pada level 1 dan konsisten jumlahnya sampai pada level berikutnya.
Notasi DFD • entitas • proses • data flows • data stores
Contoh Kasus • Kasus: Sistem Pemesanan Tiket Kereta Api Pada PT. Kereta Api Indonesia (PT. KAI) • Prosedur yang sedang berjalan: Pemesan mengisi formulir pesanan tiket yang telah disiapkan oleh Bagian Pemesanan. Adapun yang diisi di dalam formulir pesanan diantaranya adalah Nama pemesan, alamat, No. Telpon, nama kereta api, kelas, tgl.berangkat dan jumlah pesanan. Setelah formulir diisi dengan benar, formulir diserahkan ke bagian pemesanan. Data pesanan akan dientry ke dalam komputer dan disimpan di dalam file. Pembayaran dilakukan secara tunai. Setelah proses pembayaran selesai, maka pemesan mendapat bukti pembayaran berupa kwitansi dan bukti pembayaran tiket kereta api.
Pemesanan Tiket Contoh Kasus • Prosedur yang diusulkan: Prosedur yang diusulkan tidak jauh berbeda dengan prosedur yang telah berjalan sebelumnya, hanya pada prosedur yang diusulkan akan ditambah satu item yaitu No.ID pemesan berdasarkan urutan formulir data pesanan yang masuk ke Bagian Pemesanan. • Diagram Konteks Data Pemesan dlm FPT Lap. Pemesanan Tiket Pimpinan PT. KAI Pemesan Informasitolak, Kwitansi, Tiket
3 Trans. PemesananTiket & Pemb. Kwitansi 1 Cek data kereta 4 Membuat Laporan 2 Cek & tambahdatapesanan Data Pemesan dlm FPT Data kereta Kereta Pemesan Informasitolak Data Pemesan Data Kereta Data Pemesan Kwitansi, Tiket Pemesanan Data Pemesan Data Kereta Data kereta yang dipesan Transaksi Data Transaksi Data kereta Data Transaksi Data Pemesan Pimpinan PT. KAI Lap. PemesananTiket
Desain berdasarkan pada Struktur data (JSP & JSD) • JSP = Jackson Structured Programming (for programming-in-the-small) • JSD = Jackson Structured Design (for programming-in-the-large)
JSP • Ide dasar: program yang baik Mencerminkan struktur input dan output • Program dapat diturunkan nyaris secara mekanis dari deskripsi input dan output • Input dan output yang digambarkan dalam structure diagramdan / atau dalam structured text/schematic logic (semacam pseudocode) • Tiga bentuk dasar: urutan, iterasi, dan seleksi
KOMPONEN DERET • Deretmempunyaiduaataulebihbagian yang dapatterjadisecarabersamaan. Contohnyapadagambar 1 menunjukkan diagram Jackson dannotasistruktur text untuksebuahkomponenderet A yang terdiridari B yang diikutidengan C, dan D. Dengan perkataan lain, B, C, dan D adalah komponen-komponen dari A.
KOMPONEN DERET Diagram Jackson StrukturTeks A Seq B; C; D; A End A B C D (a) (b) Gambar 1. Penggambaran komponen deret
ITERASI • Komponendarisebuahiterasimempunyaisebuahbagian yang terjadibeberapa kali ataunol kali untuksetiapkejadian. Padagambar 2 tandaasterisdiatas B menandakanbahwakomponen A mempunyaiiterasiyaitu B; artinya,Bdilaksanakannolataubeberapa kali untuksetiapkejadian A secaraberulang-ulang. Notasistrukturdarikomponen A diberikandalamtigabentukberbeda (i)-(iii) sepertipadagambar 2b.
ITERASI Iteration A Struktur Text * B A itr until < kondisi > ~; A end (iii) Aitr ~; A end (i) A itr while < kondisi > ~; A end (ii) Gambar 2. Gambaran Komponen Iterasi
SELEKSI • Suatukomponenseleksimempunyaiduaataulebihbagian, dengansatu, danhanyasatu, sekaliterjadiuntuksetiapkejadiandarikomponenseleksi. • Padagambar 3 diberikansebuahgambarandari diagram dannotasistruktur text darikomponenseleksi A. A mempunyaibagian-bagian B, C, dan D. Lingkarandalamkotak B, C, dan D menunjukkanbahwa A adalahsebuahseleksisedangkan B, C, dan D adalahkomponen-komponennya.
SELEKSI • Adajugakemungkinanuntukmenunjukkankondisidarisuatuseleksidalamsebuahstrukturteksbiasauntukkeadaansepertipadabagian (i) dan (iii) darigambar 3b. Kasuskhususdariseleksiadalah "SeleksiNol". Artinya "tidakmelakukanapa-apa" dandigambarkandengan _ . Padacontohgambar 4 diperlihatkan A hanya mempunyai satu komponen seleksi, yakni B.
Selection A o o o B C D SELEKSI StrukturTeks A sel B; a alt C; A alt D; A end (i) A sel<kondisi 1> B; A alt<kondisi 2> C; A alt<kondisi 3> D; A end (ii) A sel (kondisi 1) B; A sel (kondisi2) C; A sel (else) D; A end (iii) (a) (b) Gambar 3. Penggambaran Komponen Seleksi
SELEKSI A A 0 0 0 B - B Gambar 4. ContohSebuahSeleksiNol
CONTOH ITERASI • Contohiterasidalamsebuah diagram Jackson adalahstruktursebuah textbook dalamsebuahtabel yang berisiukuranbuku, danindeks yang merupakankomponen-komponen yang berurutansedangkanbabadalahbagianiterasidaribentukbuku (gambar 5).
CONTOH ITERASI Buku Tabel UkuranBuku Indeks Bab * Gambar 5. ContohIterasiDalam Diagram Jackson
CONTOH ITERASI • Susunankomponen-komponendalamhirarkidiperlihatkanpadagambar 6. Padagambartersebut, A adalahsuatukomponenderet, sedangkan B, C, dan D adalahbagian-bagiandari A. C adalahkomponenseleksi;Edan F adalahbagian-bagiannya. • E dan F adalahkomponen-komponeniterasi. • F jugamerupakansuatukomponenderet dengan H dan K adalah bagian-bagiannya.
CONTOH ITERASI A B C D o o E F * * * G H K Gambar 6. Struktur Dasar Dalam Diagram Jackson
W/O Warnier or
PENDAHULUAN • Metodologipengembangansisteminipertama kali dikembangkantahun 1970 olehJean DomiqueWarnierdariParis.KemudiandikembangkanlebihlanjutuntukdesainsistemolehKen Orr dari Kansas • Metodologi W/O menggunakanalat yang disebutdengan diagram W/O, yangsecaraselintasmiripdenganbaganberjenjang yang diputar.
STRUKTUR DATA MENGGUNAKAN DIAGRAM W/O • Prinsipkuncidarimetodologi W/O adalahdesaindaristruktur program ygtertulisdilengkapidenganstrukturdatanya. • Diagram W/O dapatmenggambarkanstruktur data ygberbentuk : 1. Struktur Data Urut 2. Struktur Data Repetisi 3. Struktur Data Seleksi
STRUKTUR DATA URUT • Misalnyasuatu record mahasiswasbb : • Maka dapat digambarkan dengan diagram W/O:
STRUKTUR DATA REPETISI • Misalnya file mahasiswaterdiridari n record, • Maka dapat digambarkan dengan diagram W/O:
STRUKTUR DATA SELEKSI • Dapatditunjukkanoleh operator XOR sbb
STRUKTUR PROSES PROGRAM MENGGUNAKAN DIAGRAM W/O 1. STRUKTUR PROSES URUT StrukturProsesUrutadalahmasing - masinginstruksidiprosesurutsatudengan yang lainnya.
STRUKTUR PROSES PROGRAM MENGGUNAKAN DIAGRAM W/O 2. STRUKTUR PROSES REPETISI StrukturProsesRepetisiadalahstrukturprosesygmengulanginstruksi program berulang kali.
STRUKTUR PROSES PROGRAM MENGGUNAKAN DIAGRAM W/O 3. STRUKTUR PROSES SELEKSI StrukturProsesSeleksimerupakanstrukturproses yang menggunakaninstruksipenyeleksiankondisi.
STRUKTUR PROSES PROGRAM MENGGUNAKAN DIAGRAM W/O 4. STRUKTUR PROSES REKURSI StrukturProsesRekursiadalahsuatuprosesdarisuatufungsiatauprosedur yang memanggildirinyasendiri. Digambarkandengankurungkurawal (brace) yang terputus - putus.
STRUKTUR PROSES PROGRAM MENGGUNAKAN DIAGRAM W/O • Keterangan Simbol Diagram W/O tsb SimbolAngkadiantaratandakurungmenunjukkanbanyaknyaproses * UntukUrutmakainstruksibiasanyadikerjakan 1 kali sehinggadituliskan (1). * UntukRepetisimakainstruksibisadikerjakansebanyak N kali makadituliskan (N). * UntukSeleksidisimbolkandengan (0,1) yaitusuatuinstruksiakandiproses 1 kali (1), atautidakdiproses (0). * Untukrekursibisanyadisimbolkandengan (1,N) , N untukrepetisinya