dasardasar-dasar perancangan dasar perancangan perangkat lunak

121
DASAR DASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK PERANGKAT LUNAK UNIVERSITAS MUHAMMADIYAH JAKARTA UNIVERSITAS MUHAMMADIYAH JAKARTA UNIVERSITAS MUHAMMADIYAH JAKARTA UNIVERSITAS MUHAMMADIYAH JAKARTA FAKULTAS TEKNIK FAKULTAS TEKNIK FAKULTAS TEKNIK FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA BY : RITA DEWI RISANTY . SKOM.MMSI BY : RITA DEWI RISANTY . SKOM.MMSI BY : RITA DEWI RISANTY . SKOM.MMSI BY : RITA DEWI RISANTY . SKOM.MMSI

Upload: others

Post on 16-Oct-2021

16 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

DASARDASAR--DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAKPERANGKAT LUNAK

UNIVERSITAS MUHAMMADIYAH JAKARTA UNIVERSITAS MUHAMMADIYAH JAKARTA UNIVERSITAS MUHAMMADIYAH JAKARTA UNIVERSITAS MUHAMMADIYAH JAKARTA UNIVERSITAS MUHAMMADIYAH JAKARTA UNIVERSITAS MUHAMMADIYAH JAKARTA UNIVERSITAS MUHAMMADIYAH JAKARTA UNIVERSITAS MUHAMMADIYAH JAKARTA

FAKULTAS TEKNIKFAKULTAS TEKNIKFAKULTAS TEKNIKFAKULTAS TEKNIK

JURUSAN TEKNIK INFORMATIKAJURUSAN TEKNIK INFORMATIKAJURUSAN TEKNIK INFORMATIKAJURUSAN TEKNIK INFORMATIKA

BY : RITA DEWI RISANTY . SKOM.MMSIBY : RITA DEWI RISANTY . SKOM.MMSIBY : RITA DEWI RISANTY . SKOM.MMSIBY : RITA DEWI RISANTY . SKOM.MMSI

Page 2: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

DasarDasar--dasar Perancangan dasar Perancangan Perangkat LunakPerangkat Lunak

�� Memahami bentuk dasar perancangan perangkat Memahami bentuk dasar perancangan perangkat lunak:lunak:– Teknik Konvensional (DFD, ERD, HIPO, dll.)– Warnier Diagrams.– DSSD.– DSSD.– Jackson.– SADT.– Formal.– Automasi / CASE..

�� Mengetahui berbagai metode perancangan dan dapat Mengetahui berbagai metode perancangan dan dapat memilih metode yang sesuai.memilih metode yang sesuai.

Page 3: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

PERANCANGAN PERANGKAT LUNAKPERANCANGAN PERANGKAT LUNAK

Tiga tahap dasar dalam strategi pengembangan:

1. Analisis : memahami permasalahan.

2. Desain/Perancangan : mengorganisasikan atau menstrukturkan permasalahan (Komponen, Prosedur, Fungsi).Fungsi).

3. Implementasi : membuat solusi pemecahan masalah dapat dilaksanakan.

Page 4: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

PERANCANGAN PERANGKAT LUNAKPERANCANGAN PERANGKAT LUNAK

�� Perancangan merupakan aktivitas otak manusia yang Perancangan merupakan aktivitas otak manusia yang belum dapat diganti secara mekanik oleh mesin.belum dapat diganti secara mekanik oleh mesin.

�� Perancangan memerlukan Perancangan memerlukan kepintaran (knowledge)kepintaran (knowledge)..

�� Perancangan membutuhkan Perancangan membutuhkan pengalaman (skill)pengalaman (skill)..

MERUPAKAN BRAINWAREMERUPAKAN BRAINWARE

�� Kepintaran tersebut dapat dituntun oleh suatu teknik Kepintaran tersebut dapat dituntun oleh suatu teknik atau metoda perancangan sehingga menghasilkan atau metoda perancangan sehingga menghasilkan suatu suatu kreativitaskreativitas dan dan pemikiran inovatifpemikiran inovatif..

Page 5: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

1.1. OtomatisasiOtomatisasi yaitu pekerjaan yang tadinya dilakukan yaitu pekerjaan yang tadinya dilakukan oleh manusia digantikan oleh teknologi komputeroleh manusia digantikan oleh teknologi komputer..oleh manusia digantikan oleh teknologi komputeroleh manusia digantikan oleh teknologi komputer..

Page 6: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

PROBLEM SOLVING PROBLEM SOLVING

2. Pemecahan masalahPemecahan masalah yaitu teknologi membuat yaitu teknologi membuat pekerjaan yang tidak pernah dilakukan sebelumnya pekerjaan yang tidak pernah dilakukan sebelumnya oleh manusia ternyata bisa dilakukanoleh manusia ternyata bisa dilakukan..

Page 7: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

SYSTEM INOVATION SYSTEM INOVATION

3. Inovasi sistemInovasi sistem yaitu mengubah fungsi dan struktur yaitu mengubah fungsi dan struktur sosialsosial--ekonomi yang ada digantikan oleh sistem sosialekonomi yang ada digantikan oleh sistem sosial--ekonomi yang baruekonomi yang baru..

Page 8: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Apa tujuan dari Perancangan SistemApa tujuan dari Perancangan Sistem

�� Tujuan dari perancangan adalah untuk menghasilkan Tujuan dari perancangan adalah untuk menghasilkan suatu suatu model model atau atau gambaran lengkapgambaran lengkap dari suatu dari suatu perangkat lunak yang akan dibangun.perangkat lunak yang akan dibangun.

�� Perancangan disini adalah mendekomposisi fungsi Perancangan disini adalah mendekomposisi fungsi program menjadi modulprogram menjadi modul--modul dan kemudian modul dan kemudian menjelaskan spesifikasi dari setiap modul (data, menjelaskan spesifikasi dari setiap modul (data, proses, interface).proses, interface).proses, interface).proses, interface).

Page 9: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Penggunaan ModelPenggunaan Model--modelmodel

Dapat dibangun oleh satu

orang dan membutuhkan:

• Pemodelan Minimal

• Proses sederhana

• Peralatan sederhana

Dibangun oleh sejumlah Tim

Kontraktor dan membutuhkan:

• Model rekayasa

• Proses yang terkoordinasi

• Mesin-mesin indutriUmumnya dibangun oleh suatu tim dan

Membutuhkan:Membutuhkan:

• Pemodelan

• Proses yang baik

• Alat-alat canggih

Page 10: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Tujuan dari PemodelanTujuan dari Pemodelan

“Modeling captures essential parts of the system.”

Pemodelan adalah untuk menggambarkanbagian-bagian yang penting dari suatu sistem

Dr. James RumbaughDr. James Rumbaugh

Visual Modeling is modelingusing standard graphical notations

Page 11: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Tiga Kelompok MetodologiTiga Kelompok Metodologi

1.1. Functional Decomposition MethodologiesFunctional Decomposition Methodologies

Metodologi ini menakankan pada pemecahan dari Metodologi ini menakankan pada pemecahan dari sistem ke dalam subsistemsistem ke dalam subsistem--subsistem yang lebih subsistem yang lebih kecil, sehingga akan mudah untuk dipahami, kecil, sehingga akan mudah untuk dipahami, dirancang dan diterapkan.dirancang dan diterapkan.

Yang termasuk dalam kelompok metodologi ini:Yang termasuk dalam kelompok metodologi ini:Yang termasuk dalam kelompok metodologi ini:Yang termasuk dalam kelompok metodologi ini:

-- HIPO (Hierarchy InputHIPO (Hierarchy Input--ProcessProcess--Output)Output)

-- Iterative Stewise refinement (ISR) Iterative Stewise refinement (ISR)

-- Information hiding.Information hiding.

2.2. DataData--Oriented MethodologiesOriented Methodologies

Metodologi ini menekankan pada karakteristik dari Metodologi ini menekankan pada karakteristik dari data yang akan diproses.data yang akan diproses.

Page 12: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

a.a. DataData--flow Oriented Methodologiesflow Oriented MethodologiesMetodologi ini secara umum didasarkan pada Metodologi ini secara umum didasarkan pada pemecahan dari sistem kedalam modulpemecahan dari sistem kedalam modul--modul modul didasarkan jenis elemen data dan hubungan antara didasarkan jenis elemen data dan hubungan antara fungsi modulfungsi modul--modul.modul.Yang termasuk dalam kelompok metodologi ini:Yang termasuk dalam kelompok metodologi ini:-- SADT (Structured Analysis and Design Techniques)SADT (Structured Analysis and Design Techniques)-- Composite DesignComposite Design-- Composite DesignComposite Design-- SSAD (Structured Systems Analysis and Design)SSAD (Structured Systems Analysis and Design)

b.b. Data Structure Oriented MethodologiesData Structure Oriented MethodologiesMetodologi ini menekankan struktur dari input dan Metodologi ini menekankan struktur dari input dan output di sistem. Hubungan fungsi antar modul atau output di sistem. Hubungan fungsi antar modul atau elemenelemen--elemen sistem dijelaskan dalam struktur elemen sistem dijelaskan dalam struktur sistemnya.sistemnya.

Page 13: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Yang termasuk dalam metodologi ini adalah:Yang termasuk dalam metodologi ini adalah:

-- JSD (Jackson’s Systems Development)JSD (Jackson’s Systems Development)

-- W/O (Warnier/Orr)W/O (Warnier/Orr)

3.3. Prescriptive MethodologiesPrescriptive Methodologies

Yang termasuk dalam metodologi ini adalah:Yang termasuk dalam metodologi ini adalah:

-- ISDOS (Information System Design and OptimiISDOS (Information System Design and Optimi---- ISDOS (Information System Design and OptimiISDOS (Information System Design and Optimi--zation System).zation System).

-- PLEXSYSPLEXSYS

-- PRIDEPRIDE

-- SDM/70 (System Development Methodology/70)SDM/70 (System Development Methodology/70)

-- SRES (Software Requirment Engineering System)SRES (Software Requirment Engineering System)

Page 14: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

PERANCANGAN PERANGKAT LUNAKPERANCANGAN PERANGKAT LUNAK

Perancangan Perangkat Lunak adalah suatu perioda Perancangan Perangkat Lunak adalah suatu perioda didalam didalam siklus hidupsiklus hidup rekayasa perangkat lunak, mulai rekayasa perangkat lunak, mulai dari analisis, dokumentasi, dan pemeriksaan kembali dari analisis, dokumentasi, dan pemeriksaan kembali rancangan rancangan arsitekturarsitektur, , komponenkomponen--komponenkomponen, , interfaceinterfacedan dan datadata perangkat lunak, untuk memenuhi kebutuhan perangkat lunak, untuk memenuhi kebutuhan tententu.tententu.

((Menurut AMenurut ANSI/IEEE Std 729NSI/IEEE Std 729--19831983))

dan dan datadata perangkat lunak, untuk memenuhi kebutuhan perangkat lunak, untuk memenuhi kebutuhan tententu.tententu.

Definisi UmumDefinisi Umum

Perancangan perangkat lunak adalah suatu proses Perancangan perangkat lunak adalah suatu proses untuk untuk mengubah kebutuhanmengubah kebutuhan--kebutuhankebutuhan ((requirementsrequirements) ) fungsionalfungsional menjadi suatu menjadi suatu strukturstruktur dan dan prosedurprosedursebelum dilakukan pengkodean atau pemrogramansebelum dilakukan pengkodean atau pemrograman..

Page 15: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

KebutuhanKebutuhan--

PerancanganSistem

PerancanganTerinci

Kode/Pem-rograman

Struktur Prosedur

PERANCANGAN PERANGKAT LUNAKPERANCANGAN PERANGKAT LUNAK

KebutuhanKebutuhan--kebutuhan kebutuhan FungsionalFungsional

Struktur Perangkat

Lunak

Prosedur Perangkat

Lunak

•• Perancangan Sistem : membagi sistem atas Perancangan Sistem : membagi sistem atas komponenkomponen--komponen (modulkomponen (modul--modul).modul).

•• Perancangan Terinci: menjelaskan prosedur dan Perancangan Terinci: menjelaskan prosedur dan fungsi dari setiap modul.fungsi dari setiap modul.

Page 16: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

PERANCANGAN SISTEMPERANCANGAN SISTEM

Perancangan Sistem dibagi dua bagian:Perancangan Sistem dibagi dua bagian:

1.1. Perancangan Sistem Secara UmumPerancangan Sistem Secara Umum

atau disebut juga general systems design, atau disebut juga general systems design, conceptual design, logical design, macro design.conceptual design, logical design, macro design.

TujuannyaTujuannya adalah untuk memberikan gambaran adalah untuk memberikan gambaran secara umum tentang sistem yang akan dibangun.secara umum tentang sistem yang akan dibangun.secara umum tentang sistem yang akan dibangun.secara umum tentang sistem yang akan dibangun.

2.2. Perancangan Sistem TerinciPerancangan Sistem Terinci

atau disebut juga physical systems design, internal atau disebut juga physical systems design, internal design.design.

DimaksudkanDimaksudkan untuk pemrogram komputer dan ahli untuk pemrogram komputer dan ahli teknik lainnya yang akan mengimplementasi sistem.teknik lainnya yang akan mengimplementasi sistem.

Page 17: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

DEFINISI PERANCANGAN SISTEMDEFINISI PERANCANGAN SISTEM

� Menurut Robert J Verzello & John Reuter :

Tahap setelah analisis dari siklus pengembangan sistem (pendefinisian dari kebutuhan-kebutuhan fungsional) yaitu persiapan untuk implementasi rancang bangun dan penggambaran dari suatu sistem yang akan dibentuk.sistem yang akan dibentuk.

� Menurut John Burch & Gary Grudnitski :

Disain sistem dapat didefinisikan sebagai penggambaran, perencanaan dan pembuatan sketsa dan pengaturan elemen yang terpisah-pisah menjadi suatu kesatuan yang utuh dan berfungsi.

Page 18: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

� Menurut George M. Scott :

Desain sistem menentukan bagaimana suatu sistem akan menyelesaikan apa yang mesti diselesaikan; tahap ini menyangkut konfigurasi dari komponen-komponen perangkat lunak dan perangkat keras suatu sistem sehingga setelah instalasi dari sistem akan benar-benar memuaskan perangkat keras suatu sistem sehingga setelah instalasi dari sistem akan benar-benar memuaskan rancang bangun yang telah ditetapkan pada akhir tahap analisis sistem.

Page 19: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Bagan Struktur Hierarkis OrganisasiBagan Struktur Hierarkis Organisasi

Page 20: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

PenjelasanPenjelasan

�� Struktur organisasi di gambarkan dalam suatu arsitektur Struktur organisasi di gambarkan dalam suatu arsitektur (bangunan) berupa kotak(bangunan) berupa kotak--kotak untuk menggambarkan kotak untuk menggambarkan satuansatuan dan garisdan garis--garis untuk mengambarkan garis untuk mengambarkan hubungan hubungan hirarkihirarki antara kotakantara kotak--kotak.kotak.

�� PanahPanah--panah menunjukkan panah menunjukkan aliranaliran dari kendali terhirarki dari kendali terhirarki antara kotakantara kotak--kotak.kotak.antara kotakantara kotak--kotak.kotak.

�� Setiap satuan mempunyai fungsi dan tugasSetiap satuan mempunyai fungsi dan tugas--tugas (tusi) tugas (tusi) yang diuraikan dalam bentuk wewenang dan tanggung yang diuraikan dalam bentuk wewenang dan tanggung jawab dalam suatu hubungan lini (garis).jawab dalam suatu hubungan lini (garis).

�� Fungsi dijabarkan dalam bentuk perincian kegiatan Fungsi dijabarkan dalam bentuk perincian kegiatan secara sederhana yang disebut dengan tugassecara sederhana yang disebut dengan tugas--tugas tugas pekerjaan.pekerjaan.

Page 21: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

�� Wewenang Wewenang menunjukkan hak untuk melakukan menunjukkan hak untuk melakukan sesuatu atau memerintahkan orang lain untuk sesuatu atau memerintahkan orang lain untuk melakukan atau tidak melakukan sesuatu.melakukan atau tidak melakukan sesuatu.

�� Tanggung jawabTanggung jawab merupakan kewajiban pemegang merupakan kewajiban pemegang jabatan.jabatan.

�� Deskripsi pekerjaanDeskripsi pekerjaan menyebutkan atasan dan menyebutkan atasan dan �� Deskripsi pekerjaanDeskripsi pekerjaan menyebutkan atasan dan menyebutkan atasan dan bawahan langsung pemegang jabatan serta kondisi bawahan langsung pemegang jabatan serta kondisi kerja diuraikan secara ringkaskerja diuraikan secara ringkas

Page 22: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Struktur Perangkat LunakStruktur Perangkat Lunak

�� Pendekatan terstruktur menggambarkan perangkat Pendekatan terstruktur menggambarkan perangkat lunak dalam bentuk sistem yang strukturnya lunak dalam bentuk sistem yang strukturnya didefinisikan dengan jelas.didefinisikan dengan jelas.

�� Metodologi ini mengenalkan penggunaan alatMetodologi ini mengenalkan penggunaan alat--alat alat (tools) dan teknik(tools) dan teknik--teknik untuk mengembangkan teknik untuk mengembangkan sistem yang terstruktur.sistem yang terstruktur.sistem yang terstruktur.sistem yang terstruktur.

Page 23: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Struktur Perangkat LunakStruktur Perangkat Lunak

�� Strutur Perangkat LunakStrutur Perangkat Lunak adalah suatu penggamadalah suatu penggam--baran baran hirarkishirarkis yang yang menunjukkan hubunganmenunjukkan hubunganantara elemenantara elemen--elemen (modulelemen (modul--modul) dari modul) dari pemecahan suatu perangkat lunak terhadap pemecahan suatu perangkat lunak terhadap suatu masalah yang secara implisit telah suatu masalah yang secara implisit telah ditentukan dalam analisis kebutuhan.ditentukan dalam analisis kebutuhan.ditentukan dalam analisis kebutuhan.ditentukan dalam analisis kebutuhan.

�� Struktur perangkat lunak memperlihatkan suatu Struktur perangkat lunak memperlihatkan suatu arsitekturarsitektur program dan implikasinya pada program dan implikasinya pada kendali kendali terhirarkiterhirarki..

Page 24: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Structure ChartStructure Chart

�� Perangkat utama yang digunakan para Perangkat utama yang digunakan para perangcangan tersetruktur adalah perangcangan tersetruktur adalah Structure ChartStructure Chart..

�� Structure ChartStructure Chart memberi gambaran bagaimana memberi gambaran bagaimana sistem diorganisasikan menjadi sistem diorganisasikan menjadi modulmodul--modulmodul yang yang terkelola, terkelola, hirarkihirarki dari tiapdari tiap--tiap modul tersebut, dan tiap modul tersebut, dan interfaceinterface komunikasi antara modul.komunikasi antara modul.interfaceinterface komunikasi antara modul.komunikasi antara modul.

�� Structure ChartStructure Chart tidak memperlihatkan prosedur tidak memperlihatkan prosedur internal yang dilakukan suatu modul atau data internal yang dilakukan suatu modul atau data internal yang digunakan oleh suatu modul.internal yang digunakan oleh suatu modul.

�� Structure ChartStructure Chart terdiri dari: (1) Modulterdiri dari: (1) Modul--modul modul individual; (2) Data dari dan ke modul; (3) Kontrol individual; (2) Data dari dan ke modul; (3) Kontrol sebagai interface antara modulsebagai interface antara modul--modul.modul.

Page 25: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Berbagai Aktivitas BisnisBerbagai Aktivitas Bisnis

Page 26: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

SimbolSimbol--simbol Structure Chartssimbol Structure Charts

� Panah lingkaran berlubang untuk menggambarkan data yang dipertukarkan antara dua modul

� Panah lingkaran solid untuk menggambrakan pesan-pesan (flag) yang dilewatkan antara dua modul.

Get

CustomerCustomerDetails

FindCustomer

Name

Customer

AccountNumber

Customer

Name

Account

Number is

OK

Flag dari pemaggil ke yang dipanggil

Flag dari yang dipanggil ke pemanggil

Data dari pemaggil ke yang dipanggil

Data dari yang dipanggil ke pemaggil

Page 27: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

�� Intan : hanya satu modul dibawahnya (subordinate) Intan : hanya satu modul dibawahnya (subordinate) yang dipanggil.yang dipanggil.

�� Kura garis: modulKura garis: modul--modul subordinat akan dipanggil modul subordinat akan dipanggil secara berulangulang sampai kondisi akhir terpenuhi.secara berulangulang sampai kondisi akhir terpenuhi.

Page 28: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Contoh Structure Chart Contoh Structure Chart

SUMMARIZE

PAYMENTS FOR

ALL

CUSTOMERS

PUT

CUSTOMER PUT FINAL

TOTAL

GET TOTAL

PAYMENT FOR

ONE

Total for One

Customer

Total for One

Customer

Total for All

Customers

EOTP

CUSTOMER

TOTALTOTAL

GET VALID

CUSTOMER

RECORD

EDIT FIELD

ONE

CUSTOMER

READ

PRINT

Valid Customer Record

Customer Record

Field

Field Valid

EOVCR

Customer

Total Line

Final Total

Line

Page 29: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK
Page 30: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

ANALISIS STRUKTURANALISIS STRUKTUR

1.1. Data Flow Diagrams.Data Flow Diagrams.

((Information DescriptionInformation Description))

Struktur Analisis adalah suatu arus informasi dan teknik Struktur Analisis adalah suatu arus informasi dan teknik pemodelan isi (content). Informasi diubah kedalam pemodelan isi (content). Informasi diubah kedalam bentuk alirannya pada sistem berbasis komputer. bentuk alirannya pada sistem berbasis komputer.

1.1. Data Flow Diagrams.Data Flow Diagrams.

2.2. Data Structure Representation.Data Structure Representation.

3.3. Data Dictionary.Data Dictionary.

4.4. System Interface Description.System Interface Description.

5.5. Internal InterfacesInternal Interfaces

Page 31: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Diagram Aliran DataDiagram Aliran Data

Diagram Aliran DataDiagram Aliran Data adalah suatu teknik grafik yang adalah suatu teknik grafik yang menggambarkan almenggambarkan alurur informasi dan transformasi informasi dan transformasi menggunakan dekomposisi fungsi terhirarki dari suatu menggunakan dekomposisi fungsi terhirarki dari suatu proses dalam suatu sistem.proses dalam suatu sistem.

(Data Flow Diagrams)(Data Flow Diagrams)

�� Apa sebagai masukan.Apa sebagai masukan.

�� Apa sebagai keluaran.Apa sebagai keluaran.

�� Bagaimana terjadi Bagaimana terjadi proses proses perubahan perubahan didalamnyadidalamnya

Page 32: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

SimbolSimbol--simbol Diagram Aliran Datasimbol Diagram Aliran Data

�� File eksternalFile eksternal

�� SatuanSatuan

LabelLabel�� Aliran dataAliran data

�� ProsesProses

�� Penyimpan dataPenyimpan data

LabelLabel

Page 33: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

AturanAturan--aturan Diagram Aliran Dataaturan Diagram Aliran Data

�� Aliran informasi dari sistem manual, otomatis, Aliran informasi dari sistem manual, otomatis, hibrid, dapat digambarkan dengan jelashibrid, dapat digambarkan dengan jelas..

�� Setiap gagasan membutuhkan penyempurnaan Setiap gagasan membutuhkan penyempurnaan untuk memberikan pengertian yang lengkapuntuk memberikan pengertian yang lengkap..

�� Aliran data diberi tekanan lebih dari pada aliran Aliran data diberi tekanan lebih dari pada aliran kendali.kendali.kendali.kendali.

�� Satuan eksternal dan manusia tidak dimodelkan Satuan eksternal dan manusia tidak dimodelkan dalam Diagram Aliran Data.dalam Diagram Aliran Data.

�� Setiap panah diberi label.Setiap panah diberi label.

�� Panah yang membawa data, tidak punya relasi.Panah yang membawa data, tidak punya relasi.

Page 34: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Contoh DFDContoh DFD

Page 35: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

PertanyaanPertanyaan

Buat struktur dan data flow diagram dari model Buat struktur dan data flow diagram dari model siklus transaksi aktivitas bisnis ?siklus transaksi aktivitas bisnis ?

Siklus pengolahan transaksi adalah Siklus pengolahan transaksi adalah mengelompokkan transaksi berdasarkan kesamaan mengelompokkan transaksi berdasarkan kesamaan unsur dan /atau sasaranunsur dan /atau sasaranunsur dan /atau sasaranunsur dan /atau sasaran

Page 36: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Model Siklus Transaksi BisnisModel Siklus Transaksi Bisnis

Kejadian-kejadian

Ekonomik

Siklus Pendapat-

Siklus Pengelu-

Siklus Produksi

Transaksi-transaksi

Siklus KeuanganPendapat-

anPengelu-

aranProduksi Keuangan

Siklus Pelaporan Keuangan

Laporan Keuangan

Page 37: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Empat Siklus Aktivitas Bisnis yang Umum

1.1. Siklus PendapatanSiklus Pendapatan. Kejadian. Kejadian--kejadian yang berkaitan kejadian yang berkaitan dengan penjualan barang dan jasa dan penagihan dengan penjualan barang dan jasa dan penagihan hasilhasil--hasilnya.hasilnya.

2.2. Siklus PengeluaranSiklus Pengeluaran. Kejadian. Kejadian--kejadian yang berkaitan kejadian yang berkaitan dengan perolehan barang dan jasa dan pelunasan dengan perolehan barang dan jasa dan pelunasan kewajiban / hutang.kewajiban / hutang.

Siklus ProduksiSiklus Produksi. Kejadian. Kejadian--kejadian yang berkaitan kejadian yang berkaitan 3.3. Siklus ProduksiSiklus Produksi. Kejadian. Kejadian--kejadian yang berkaitan kejadian yang berkaitan dengan manajemen dan pengendalian sumber daya dengan manajemen dan pengendalian sumber daya (investasi dan fasilitas).(investasi dan fasilitas).

4.4. Siklus KeuanganSiklus Keuangan. Kejadian. Kejadian--kejadian yang berkaitan kejadian yang berkaitan dengan perolehan dan manajemen danadengan perolehan dan manajemen dana--dana modal, dana modal, termasuk kas.termasuk kas.

Page 38: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Siklus Pelaporan KeuanganSiklus Pelaporan Keuangan

�� Siklus Pelaporan Keuangan bukan merupakan Siklus Pelaporan Keuangan bukan merupakan siklus operasi.siklus operasi.

�� Siklus ini memperoleh data akutansi dari operasi Siklus ini memperoleh data akutansi dari operasi siklus lain, dan mengolah data tersebut untuk siklus lain, dan mengolah data tersebut untuk menghasilkan laporan keuangan.menghasilkan laporan keuangan.

�� Penyajian laporan keuangan yang sesuai dengan Penyajian laporan keuangan yang sesuai dengan standar akutansi keuangan yang berlaku umum, standar akutansi keuangan yang berlaku umum, membutuhkan banyak penilaian dan ayat jurnal membutuhkan banyak penilaian dan ayat jurnal penyesuaian yang tidak secara langsung dihasilkan penyesuaian yang tidak secara langsung dihasilkan dari transaksidari transaksi--transaksi.transaksi.

Page 39: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Konteks DFDKonteks DFD

Page 40: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Diagram Level 0Diagram Level 0

Page 41: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

PertanyaanPertanyaan

�� Buat model struktur data dari suatu bahan Buat model struktur data dari suatu bahan pustaka berupa buku perpustakaan dan pustaka berupa buku perpustakaan dan gambarkan juga dengan diagram W/O ?gambarkan juga dengan diagram W/O ?

�� Dan tentukan kamus datanya (data dictionner).Dan tentukan kamus datanya (data dictionner).

Page 42: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Model Struktur Model Struktur Diagram BukuDiagram Buku

book

header

bibliographic

trn

status

input

right

notes ?

type

publisher

Language +

personalauthor

corporatename*

titlebibliographic

subject

availability

category +

descriptor +

keyword*

abstract*

title

conference*

format

size

isbn

notes ?

Page 43: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Diagram W/O Buku Perpustakaan

header

bibliographic

trn

status

input

right

notes ?

type

publisher

Language +

personalauthor

corporatename*

title

(1)

book

bibliographic

subject

availability

category +

descriptor +

keyword*

abstract*

title

conference*

format

size

isbn

notes ?

(1)

(1)

(1)

Page 44: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Kamus DataKamus Data

Page 45: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Prosedur Perangkat LunakProsedur Perangkat Lunak

�� Prosedur Perangkat LunakProsedur Perangkat Lunak lebih menajamkan lebih menajamkan pada pada rincian tahapanrincian tahapan--tahapantahapan pengolahan dari pengolahan dari setiap modul secara individual.setiap modul secara individual.

�� Prosedur harus memberikan spesifikasi yang Prosedur harus memberikan spesifikasi yang tepat dari suatu pengolahan, meliputi tepat dari suatu pengolahan, meliputi urutanurutan--urutan kejadianurutan kejadian, titik, titik--titik keputusan yang pasti, titik keputusan yang pasti, urutan kejadianurutan kejadian, titik, titik--titik keputusan yang pasti, titik keputusan yang pasti, operasioperasi--operasi berulang, dan organisasi data operasi berulang, dan organisasi data dan struktur setiap kejadian.dan struktur setiap kejadian.

Page 46: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Prosedur Perangkat LunakProsedur Perangkat Lunak

Page 47: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Peta Aliran Peta Aliran (Flowchart)(Flowchart)

Peta AliranPeta Aliran memperlihatkan alur peta gerakan data memperlihatkan alur peta gerakan data masukkan, proses pengolahan, dan keluaran.masukkan, proses pengolahan, dan keluaran.

Umpan data Umpan data

input/outputinput/output

Input manualInput manual

Keputusan Keputusan

logikalogika

DatabaseDatabaseInput manualInput manual

ProsesProses

Operasi manualOperasi manual

DatabaseDatabase

OnOn--line storageline storage

DokumenDokumen

DisplayDisplay Kendali aliranKendali aliran

Page 48: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

PROGRAM FLOWCHART:PROGRAM FLOWCHART:PROGRAM FLOWCHART:PROGRAM FLOWCHART:PROGRAM FLOWCHART:PROGRAM FLOWCHART:PROGRAM FLOWCHART:PROGRAM FLOWCHART:PROCESS A

PROCESS B

SEQUENCESEQUENCE

R

PROCESS E

S

TRUE

ITERATIONITERATION

PROCESS CPROCESS D

TRUE

SELECTIONSELECTION

Page 49: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

KONSTRUKSI FLOWCHARTsKONSTRUKSI FLOWCHARTs

BerurutBerurutBersyaratBersyaratBersyaratBersyarat

SeleksiSeleksi BerulangBerulang

Page 50: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

LOAD & VALIDATE

PAYROLL SYSTEM

TIME CARDS

HUMAN

RESOURCES DATA PAYROLL MASTER

SYSTEM FLOWCHART:SYSTEM FLOWCHART:

COMPARE & UPDATE

VALID TRANS-

ACTIONS

PAYROLL SYSTEM

PAYROLL MASTER

UPDATED PAYROLL MASTER

DIRECT

DEPOSITS

GENERAL

LEDGER

PAYROLL REPORTS &

CHECKS

Page 51: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

�� Preliminary designPreliminary design berhubungan dengan struktur berhubungan dengan struktur perangkat lunak yaitu ukuran, kompleksitas dan perangkat lunak yaitu ukuran, kompleksitas dan

PROSES PERANCANGAN PERANGKAT LUNAKPROSES PERANCANGAN PERANGKAT LUNAK

Proses Perancangan Perangkat Lunak menurut aspek Proses Perancangan Perangkat Lunak menurut aspek manajemen proyek dibagi dua tingkat:manajemen proyek dibagi dua tingkat:

1. Perancangan Sistem 1. Perancangan Sistem ((System/Preliminary DesignSystem/Preliminary Design))

2. Perancangan Terperinci 2. Perancangan Terperinci ((Detailed DesignDetailed Design))..

�� Preliminary designPreliminary design berhubungan dengan struktur berhubungan dengan struktur perangkat lunak yaitu ukuran, kompleksitas dan perangkat lunak yaitu ukuran, kompleksitas dan arsitektur suatu perangkat lunak (arsitektur suatu perangkat lunak (organisasi organisasi fungsional, hirarki dan hubungan antara modulfungsional, hirarki dan hubungan antara modul--modulmodul).).

�� Detailed designDetailed design terpusat pada prosedur untuk terpusat pada prosedur untuk menggambarkan fungsi kerja perangkat lunak menggambarkan fungsi kerja perangkat lunak berupa rincian struktur data dan algoritma program berupa rincian struktur data dan algoritma program ((Membuat prosedur setiap modulMembuat prosedur setiap modul).).

Page 52: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Aspek Manajemen dan Aspek TeknisAspek Manajemen dan Aspek Teknis

Hubungan antara aspekHubungan antara aspek--aspek manajemen dengan aspek manajemen dengan aspekaspek--aspek teknis dari perancanganaspek teknis dari perancangan

AspekAspek--aspek aspek ManajemenManajemen

Preliminary Design

Detail DesignDetail Design

Data Design

Architectural Design

Procedural Design

Interface Design

AspekAspek--aspek aspek TeknisTeknis

Page 53: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

�� Perancangan DataPerancangan Data (Data Design)(Data Design)Mengubah model domain informasi yang dibuat Mengubah model domain informasi yang dibuat pada saat analisis menjadi strukturpada saat analisis menjadi struktur--struktur data.struktur data.

�� Perancangan ArsitekturalPerancangan Arsitektural (Architectural Design)(Architectural Design)Mendefiniskan hubungan antara komponenMendefiniskan hubungan antara komponen--komponen struktural utama dari program.komponen struktural utama dari program.

Perancangan perangkat lunak menurut aspek teknis:Perancangan perangkat lunak menurut aspek teknis:

komponen struktural utama dari program.komponen struktural utama dari program.

�� Perancangan ProseduralPerancangan Prosedural (Procedural Design)(Procedural Design)Mengubah komponenMengubah komponen--komponen struktural menjadi komponen struktural menjadi suatu gambaran prosedural dari perangkat lunak.suatu gambaran prosedural dari perangkat lunak.

�� Perancangan AntarmukaPerancangan Antarmuka (Interface Design)(Interface Design)Memberikan layout dan mekanisme interaksi antara Memberikan layout dan mekanisme interaksi antara manusiamanusia--mesin.mesin.

Page 54: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Definisi Kebutuhan

Perangkat Lunak

����Preliminary

•• Definisi struktur Definisi struktur modular modular dan dan struktur struktur data.data.

•• Membuat antarmukaMembuat antarmuka--antarmuka antarmuka modul.modul.

•• Mengidentifikasikan hambatanMengidentifikasikan hambatan--

Periksa kembali

Preliminary

Design

Description

Revisi

Diterima

•• Mengidentifikasikan hambatanMengidentifikasikan hambatan--hambatanhambatan

Page 55: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Membuat spesifikasi aspekMembuat spesifikasi aspek--aspek aspek

prosedural prosedural dan struktur data dan struktur data untuk untuk

setiap modulsetiap modul

Periksa kembali

����Detailed

Design

DescriptionRevisi

Diterima

PengkodeanPengkodean

Pengkodean

dapat diterima

����PemrogramanRevisi

Diterima

Page 56: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

PengujianPengujian

•• UnitUnit

•• IntegrasiIntegrasi

•• ValidasiValidasi

����Perencanaan

dan Prosedur

Pengujian

Perangkat Lunak siap untuk diPerangkat Lunak siap untuk di--releasereleasePerangkat Lunak siap untuk diPerangkat Lunak siap untuk di--releaserelease

1.1. Preliminary Design dilihat kembali untuk kelengkapan dan Preliminary Design dilihat kembali untuk kelengkapan dan

penelusuran kebutuhan perangkat lunak.penelusuran kebutuhan perangkat lunak.

2.2. Perangkat bantu perancangan (Perangkat bantu perancangan (design tooldesign tool) digunakan untuk ) digunakan untuk

memberikan deskripsi memberikan deskripsi detailed designdetailed design elemen perangkat elemen perangkat

lunak.lunak.

3.3. Langkah berikutnya adalah pengkodean yaitu pembangLangkah berikutnya adalah pengkodean yaitu pembang--

kitan suatu program dengan bahasa pemrogram tertentu.kitan suatu program dengan bahasa pemrogram tertentu.

Page 57: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

TAHAPTAHAP HASIL PRODUKSIHASIL PRODUKSI

PERENCANAAN - Penggambaran Masalah.

- Rencana Pengembangan PL.

- Rencana Pengukuran Kinerja.

ANALISIS - Diagram Aliran Data.

PROSES PENGEMBANGANPROSES PENGEMBANGAN

ANALISIS - Diagram Aliran Data.

- Spesifikasi Elemen Fungsi-fungsi.

- Model Entity-Relationship.

- Kamus Data Analisis.

- Rencana Pengujian Terintegrasi.

- Laporan Kesalahan Analisis.

Page 58: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

TAHAPTAHAP HASIL PRODUKSIHASIL PRODUKSI

DISAIN - Chart Struktur.

- Spesifikasi Modul.

- Tabel Normalisasi dan Jejak Navigasi.

- Kamus Data Rancangan.

- Matriks Cross Reference.- Matriks Cross Reference.

- Rencana Pengujian Terintegrasi

- Laporan Kesalahan Disain

Page 59: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

PERANCANGAN SISTEMPERANCANGAN SISTEM

Sistem Sistem didefinisikan sebagai suatu koleksi dari elemendidefinisikan sebagai suatu koleksi dari elemen--elemen yang saling berhubungan dan terkoordinasi elemen yang saling berhubungan dan terkoordinasi dalam suatu kendali yang memungkinkan dari suatu dalam suatu kendali yang memungkinkan dari suatu masukan tercapainya suatu tujuan atau keluaranmasukan tercapainya suatu tujuan atau keluaran..

Page 60: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

MODULMODUL--MODULMODUL

�� Perangkat Lunak yang akan dibangun umumnya Perangkat Lunak yang akan dibangun umumnya besarbesar, , komplekskompleks, , jangka waktu yang panjangjangka waktu yang panjang dan dan melibatkan melibatkan banyak pihakbanyak pihak..

�� Sistem terdiri dari elemenSistem terdiri dari elemen--elemen, dan elemen, dan elemenelemen--elemen utamaelemen utama dalam perangkat lunak disebut dalam perangkat lunak disebut modulmodul..

�� Berapa jumlah, besar dan kompleksitas suatu modul Berapa jumlah, besar dan kompleksitas suatu modul �� Berapa jumlah, besar dan kompleksitas suatu modul Berapa jumlah, besar dan kompleksitas suatu modul yang harus dibuat dari suatu perangkat lunak.yang harus dibuat dari suatu perangkat lunak.

�� ModulModul--modul tersebut akan saling berinteraksi, dan modul tersebut akan saling berinteraksi, dan bagaimana meminimalkan interaksi antara modul (bagaimana meminimalkan interaksi antara modul (low low couplingcoupling).).

Page 61: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK
Page 62: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

�� Modul adalah bagian dari suatu program yang dapat Modul adalah bagian dari suatu program yang dapat dipisah secara logika yaitu dapat berupa suatu paket, dipisah secara logika yaitu dapat berupa suatu paket, proses, prosedur, subrutin, fungsi atau makroproses, prosedur, subrutin, fungsi atau makro..

�� Modularity Modularity memungkinkan program dapat dikelola memungkinkan program dapat dikelola secara lebih mudah dan lebih cerdas.secara lebih mudah dan lebih cerdas.

�� Misal Misal C(x)C(x) adalah suatu fungsi yang menentukan adalah suatu fungsi yang menentukan

MODULARITYMODULARITY

�� Misal Misal C(x)C(x) adalah suatu fungsi yang menentukan adalah suatu fungsi yang menentukan kompleksitas suatu masalah kompleksitas suatu masalah xx dan dan E(x)E(x) adalah fungsi adalah fungsi yang menentukan usaha atau waktu yang dibutuhkan yang menentukan usaha atau waktu yang dibutuhkan untuk menyelesaikan masalah untuk menyelesaikan masalah xx..

�� Untuk suatu masalah Untuk suatu masalah pp11 dan dan pp22 , jika , jika C(pC(p11) > C(p) > C(p22))

Maka biasanya Maka biasanya E(pE(p11) > E(p) > E(p22))

�� Artinya diperlukan lebih banyak waktu untuk Artinya diperlukan lebih banyak waktu untuk menyelesaikan masalah yang lebih kompleksmenyelesaikan masalah yang lebih kompleks

Page 63: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Sifat menarik lainnya dari pemecahan masalah oleh Sifat menarik lainnya dari pemecahan masalah oleh manusia adalah:manusia adalah:

C(pC(p11 + p+ p22) > C(p) > C(p11) + C(p) + C(p22))

Artinya Artinya kompleksitaskompleksitas suatu masalah yang merupakan suatu masalah yang merupakan gabungan dari gabungan dari pp11 dan dan pp22 adalah lebih besar dari pada adalah lebih besar dari pada kompleksitas memecahkan masalah secara terpisah atau kompleksitas memecahkan masalah secara terpisah atau sendirisendiri--sendiri.sendiri.sendirisendiri--sendiri.sendiri.

Sifat menarik lainnya dari pemecahan masalah oleh Sifat menarik lainnya dari pemecahan masalah oleh manusia adalah:manusia adalah:

E(pE(p11 + p+ p22) > E(p) > E(p11) + E(p) + E(p22))

KESIMPULANKESIMPULAN adalah lebih mudah menyelesaikan suatu adalah lebih mudah menyelesaikan suatu masalah kompleks jika masalah tersebut dapat masalah kompleks jika masalah tersebut dapat dipecahdipecahmenjadi bagianmenjadi bagian--bagian yang terkelolabagian yang terkelola

Page 64: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Keuntungan melakukan pemodulan:Keuntungan melakukan pemodulan:

1.1. Modul dapat lebih mudah untuk dipahami dan Modul dapat lebih mudah untuk dipahami dan dijelaskan, sehingga pendokumentasiannya lebih cepat.dijelaskan, sehingga pendokumentasiannya lebih cepat.

2.2. Lebih mudah untuk diprogram karena setiap kelompok Lebih mudah untuk diprogram karena setiap kelompok bebas dapat bekerja pada modulbebas dapat bekerja pada modul--modul secara terpisah modul secara terpisah dengan sedikit melakukan komunikasi.dengan sedikit melakukan komunikasi.dengan sedikit melakukan komunikasi.dengan sedikit melakukan komunikasi.

3.3. Lebih mudah untuk di test, karena masingLebih mudah untuk di test, karena masing--masing masing dapat diuji secara terpisah kemudian diintegrasikan dan dapat diuji secara terpisah kemudian diintegrasikan dan diuji lagi secara bersama.diuji lagi secara bersama.

4.4. Jika suatu modul tidak tergantung pada yang lain, Jika suatu modul tidak tergantung pada yang lain, maka akan lebih mudah pemeliharaannya. Perubahan maka akan lebih mudah pemeliharaannya. Perubahan dapat dilakukan tanpa mengganggu moduldapat dilakukan tanpa mengganggu modul--modul lain.modul lain.

Page 65: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Suatu Rancangan Sistem harus:Suatu Rancangan Sistem harus:

�� menunjukan suatu menunjukan suatu organisasi terhirarkiorganisasi terhirarki yang dapat yang dapat mengendalikan komponenmengendalikan komponen--komponen perangkat lunak.komponen perangkat lunak.

�� modularmodular artinya perangkat lunak harus dapat dibagi artinya perangkat lunak harus dapat dibagi secara logika kedalam komponensecara logika kedalam komponen--komponen yang komponen yang membentuk fungsimembentuk fungsi--fungsi atau subfungsi atau sub--sub fungsi tertentu. sub fungsi tertentu.

�� memberikan memberikan penggambaranpenggambaran yang jelas dan terpisah yang jelas dan terpisah �� memberikan memberikan penggambaranpenggambaran yang jelas dan terpisah yang jelas dan terpisah dari dari data dan prosedurdata dan prosedur..

�� Menuju kepada Menuju kepada modulmodul ((subroutinesubroutine atau atau procedureprocedure). ). mempunyai sifatmempunyai sifat--sifat fungsional yang sifat fungsional yang independentindependent..

�� Membentuk Membentuk antarmukaantarmuka--antarmukaantarmuka yang mengurangi yang mengurangi kerumitan hubungan antara modulkerumitan hubungan antara modul--modul dan dengan modul dan dengan lingkungan luar.lingkungan luar.

Page 66: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Perinsip Dasar Perancangan SistemPerinsip Dasar Perancangan Sistem

�� KriteriaKriteria apa yang dapat digunakan untuk membagi apa yang dapat digunakan untuk membagi perangkat lunak menjadi komponenperangkat lunak menjadi komponen--komponen komponen individual atau modulindividual atau modul--modul ?modul ?

�� Bagaimana Bagaimana fungsi dan rincian struktur datafungsi dan rincian struktur datadipisahkan dari gambaran konsepsual perangkat dipisahkan dari gambaran konsepsual perangkat lunak ?lunak ?lunak ?lunak ?

�� Apakah ada Apakah ada keseragaman kriteriakeseragaman kriteria yang yang mendefinisikan mendefinisikan kualitas teknikkualitas teknik dari rancangan dari rancangan perangkat lunak ?perangkat lunak ?

Page 67: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

M

�� Usaha (biaya) untuk mengembangkan modul perangkat Usaha (biaya) untuk mengembangkan modul perangkat lunak secara individual akan berkurang dengan lunak secara individual akan berkurang dengan bertambahnya jumlah total dari modul tersebut.bertambahnya jumlah total dari modul tersebut.

Page 68: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

M

�� Jumlah modulJumlah modul yang membesar berarti ukuran modul yang membesar berarti ukuran modul secara individu mengecil.secara individu mengecil.

�� Sebaliknya, kenaikan jumlah modul menyebabkan Sebaliknya, kenaikan jumlah modul menyebabkan usahausaha(biaya) yang berhubungan dengan antarmuka (biaya) yang berhubungan dengan antarmuka (interfacing) antara modul(interfacing) antara modul--modul meningkat.modul meningkat.

�� Dengan Dengan optimasioptimasi akan diperoleh suatu jumlah modul M akan diperoleh suatu jumlah modul M yang memberikan biaya pengembangan paling kecilyang memberikan biaya pengembangan paling kecil

Page 69: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

ABSTRAKSIABSTRAKSI

�� Abstraksi adalah suatu perangkat yang sangat penting Abstraksi adalah suatu perangkat yang sangat penting dalam pengembangan perangkat lunakdalam pengembangan perangkat lunak..

�� Abstraksi memungkinkan perancang untuk Abstraksi memungkinkan perancang untuk memusatkan suatu masalah pada tingkat abstrak lebih memusatkan suatu masalah pada tingkat abstrak lebih umum tanpa harus tahu rincianumum tanpa harus tahu rincian--rincian dari komponen rincian dari komponen yang diimplementasikan pada tingkat lebih rendah yang diimplementasikan pada tingkat lebih rendah yang diimplementasikan pada tingkat lebih rendah yang diimplementasikan pada tingkat lebih rendah yang tidak relevanyang tidak relevan..

�� Artinya penggunaan abstraksi memungkinkan Artinya penggunaan abstraksi memungkinkan perancang bekerja dengan konsepperancang bekerja dengan konsep--konsep dan istilahkonsep dan istilah--istilah yang telah dikenal tanpa harus mengubah suatu istilah yang telah dikenal tanpa harus mengubah suatu lingkungan masalah menjadi suatu struktur yang tidak lingkungan masalah menjadi suatu struktur yang tidak dikenal.dikenal.

Page 70: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Perancangan harus menggambarkan masalah Perancangan harus menggambarkan masalah abstraksi pada tingkat terendah:abstraksi pada tingkat terendah:

�� Abstraksi fungsionalAbstraksi fungsional

�� Abstraksi data.Abstraksi data.

�� Abstraksi kontrolAbstraksi kontrol

Page 71: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Dua kategori abstraksi dalam perancangan Dua kategori abstraksi dalam perancangan

1.1. Abstraksi FungsionalAbstraksi Fungsional

Dalam abstraksi fungsional suatu modul dicirikan dari Dalam abstraksi fungsional suatu modul dicirikan dari fungsi yang dibentuknya. Abstraksi ini berhubungan fungsi yang dibentuknya. Abstraksi ini berhubungan dengan metodologi perancangan strukturaldengan metodologi perancangan struktural

Misalnya suatu modul untuk menghitung nilai sinus Misalnya suatu modul untuk menghitung nilai sinus dapat diberi abstrak yang digambarkan sebagai fungsi dapat diberi abstrak yang digambarkan sebagai fungsi sinussinus..

Page 72: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

2.2. Abstraksi DataAbstraksi Data

Dalam abstraksi data, data diperlakukan seperti suatu Dalam abstraksi data, data diperlakukan seperti suatu obyek dengan beberapa operasi yang ditentukan obyek dengan beberapa operasi yang ditentukan sebelumnya untuk datasebelumnya untuk data--data tersebut. Bentuk abstraksi data tersebut. Bentuk abstraksi ini merupakan dasar metodologi perancangan ini merupakan dasar metodologi perancangan berorientasi obyek.berorientasi obyek.

Page 73: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

�� Suatu Suatu modulmodul yang yang mengendalikanmengendalikan modul modul yang modul modul yang lain disebut lain disebut superodinatesuperodinate terhadap modul tersebutterhadap modul tersebut..

�� Sedangkan suatu Sedangkan suatu modulmodul yang yang dikendalikandikendalikan modul lain modul lain disebut disebut subordinatesubordinate terhadap modul tersebutterhadap modul tersebut

Page 74: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

�� Modul berurutanModul berurutan ((sequential modulesequential module) yaitu diacu dan ) yaitu diacu dan dieksekusi tanpa adanya interupsi oleh perangkat dieksekusi tanpa adanya interupsi oleh perangkat lunak aplikasi. lunak aplikasi. Misalnya subprogram konvensional, Misalnya subprogram konvensional, subroutinesubroutine, , functionsfunctions atau atau proceduresprocedures..

�� Module bertambahModule bertambah ((incremental moduleincremental module) yaitu dapat ) yaitu dapat diinterupsi sebelum menyelesaikan seluruh tugasnya diinterupsi sebelum menyelesaikan seluruh tugasnya

Menurut struktur perangkat lunak, suatu modul Menurut struktur perangkat lunak, suatu modul

dapat dikategorikan sebagai:dapat dikategorikan sebagai:

diinterupsi sebelum menyelesaikan seluruh tugasnya diinterupsi sebelum menyelesaikan seluruh tugasnya oleh perangkat lunak aplikasi dan sesudah itu oleh perangkat lunak aplikasi dan sesudah itu melanjutkan kembali dari titik yang terinterupsimelanjutkan kembali dari titik yang terinterupsi

Sering disebut dengan Sering disebut dengan coroutinescoroutines..

�� Modul paralelModul paralel yang melaksanakan secara simultan yang melaksanakan secara simultan dengan modul lain dalam lingkungan multiprosesor dengan modul lain dalam lingkungan multiprosesor yang bekerja secara paralel.yang bekerja secara paralel.

ModulModul--modul paralel disebut modul paralel disebut conroutinesconroutines

Page 75: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

MODUL MANDIRIMODUL MANDIRI

Modul Mandiri dapat tercapai jika mengembangkan modul Modul Mandiri dapat tercapai jika mengembangkan modul dengan suatu fungsi tunggal dan tidak terlampau banyak dengan suatu fungsi tunggal dan tidak terlampau banyak berinteraksi dengan modulberinteraksi dengan modul--modul yang lain.modul yang lain.

Dua kategori untuk mengukur kualitas kemandirian yaituDua kategori untuk mengukur kualitas kemandirian yaitu::

((MODULEMODULE INDEPENDENCEINDEPENDENCE ))

Dua kategori untuk mengukur kualitas kemandirian yaituDua kategori untuk mengukur kualitas kemandirian yaitu::

�� Keterkaitan harus rendahKeterkaitan harus rendah ((Low CouplingLow Coupling))..adalah ukuran saling ketergantungan relatif antara adalah ukuran saling ketergantungan relatif antara modulmodul--modul atau interaksi diantara modul kecil.modul atau interaksi diantara modul kecil.

�� KeterpaduanKeterpaduan harus tinggiharus tinggi ((High CohesionHigh Cohesion))..adalah ukuran kekuatan fungsional relatif dari suatu adalah ukuran kekuatan fungsional relatif dari suatu modul dimana interaksi internalnya sangat besar.modul dimana interaksi internalnya sangat besar.

Page 76: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Coupling & CohesionCoupling & Cohesion

couplingantaramodule

cohesion didalammodule

Page 77: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Bagaimana terjadinya interaksi antara modulBagaimana terjadinya interaksi antara modul--

modul ?modul ?

1.1. Mengaktifkan kodeMengaktifkan kode modul yang lain.modul yang lain.2.2. Melompat atau bercabangMelompat atau bercabang ke suatu tempat lain.ke suatu tempat lain.3.3. Mengakses dataMengakses data bersama modul yang lain.bersama modul yang lain.4.4. DataData yang bisa dipergunakan yang bisa dipergunakan bersamabersama

Jawab:Jawab:

4.4. DataData yang bisa dipergunakan yang bisa dipergunakan bersamabersama5.5. Prosedur panggilanProsedur panggilan dengan suatu dengan suatu sakelarsakelar sebagai sebagai

parameter.parameter.6.6. Prosedur panggilanProsedur panggilan dengan dengan data murnidata murni sebagai sebagai

parameter.parameter.7.7. Melewatkan Melewatkan arus dataarus data serial dari satu modul ke modul serial dari satu modul ke modul

lain.lain.

Page 78: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

COUPLINGCOUPLING

�� Coupling (keterkaitan)Coupling (keterkaitan) adalah ukuran bagaimana adalah ukuran bagaimana modulmodul--modul saling berhubungan dan saling modul saling berhubungan dan saling bergantungan.bergantungan.

�� Modul yang tidak tergantung dari modul yang lain Modul yang tidak tergantung dari modul yang lain mempunyai derajat coupling rendah.mempunyai derajat coupling rendah.

Page 79: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Jenis Coupling dan DerajadnyaJenis Coupling dan Derajadnya

Jenis CouplingJenis Coupling JenjangJenjang DerajadDerajad KualitasKualitas

Data couplingData coupling

Stamp couplingStamp coupling

11

22

RendahRendah TerbaikTerbaik

Control couplingControl coupling

External couplingExternal coupling

Common couplingCommon coupling

Content couplingContent coupling

33

44

55

66 TinggiTinggi TerjelekTerjelek

Page 80: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

1.1. No direct couplingNo direct coupling

Modul 1 dan modul 2 adalah subordinate terhadap Modul 1 dan modul 2 adalah subordinate terhadap modulmodul--modul yang berbeda. Sehingga masingmodul yang berbeda. Sehingga masing--masing tidak berhubungan dan tidak ada masing tidak berhubungan dan tidak ada penggandengan langsung yang terjadi antara penggandengan langsung yang terjadi antara keduanya.keduanya.

Page 81: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

2.2. Data couplingData couplingDua buah modul dari sistem mempunyai data Dua buah modul dari sistem mempunyai data coupling jika komunikasi dari modulcoupling jika komunikasi dari modul--modul ini modul ini dilakukan lewat suatu data. Data dapat berupa dilakukan lewat suatu data. Data dapat berupa sebuah item data tunggal atau elemen dari suatu larik sebuah item data tunggal atau elemen dari suatu larik (array).(array).

Page 82: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

3.3. Stamp couplingStamp coupling

DuaDua buah modul dikatakan stamp coupling jika kedua buah modul dikatakan stamp coupling jika kedua modul ini berkomunikasi lewat suatu kelompok item modul ini berkomunikasi lewat suatu kelompok item data. Kelompok item data dapat berupa suatu record data. Kelompok item data dapat berupa suatu record yang terdiri dari beberapa field atau larik yang terdiri yang terdiri dari beberapa field atau larik yang terdiri dari beberapa elemen.dari beberapa elemen.

Page 83: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Module 1

Module 2

4.4. Control couplingControl coupling

Control coupling ditandai dengan adanya jalur kendali Control coupling ditandai dengan adanya jalur kendali antara modul. Modul satu mengendalikan aliran data antara modul. Modul satu mengendalikan aliran data di modul yang lain, kendali dilakukan melalui flag di modul yang lain, kendali dilakukan melalui flag yang mengontrol logika intern modul yang lain.yang mengontrol logika intern modul yang lain.

Page 84: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

5.5. External couplingExternal coupling

Tingkat coupling yang terjadi bila modulTingkat coupling yang terjadi bila modul--modul modul terikat pada lingkungan luar (external) dari terikat pada lingkungan luar (external) dari perangkat lunak.perangkat lunak.

Page 85: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

6.6. Common couplingCommon coupling

ModulModul--modul dikatakan common coupling jika modul dikatakan common coupling jika mdoulmdoul--modul tersebut menggunakan data yang modul tersebut menggunakan data yang disimpan di area memori yang sama.disimpan di area memori yang sama.

Page 86: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

7.7. Content couplingContent coupling

Content coupling terjadi jika suatu modul mengguContent coupling terjadi jika suatu modul menggu--nakan data atau mengendalikan informasi dari modul nakan data atau mengendalikan informasi dari modul yang lain tanpa berhubungan lewat suatu parameter.yang lain tanpa berhubungan lewat suatu parameter.

Content coupling dapat juga terjadi jika percabangan Content coupling dapat juga terjadi jika percabangan dilakukan ke tengahdilakukan ke tengah--tengah suatu modul yang laintengah suatu modul yang lain

Page 87: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Isi Isi informasiinformasi

Jenis Jenis komunikasikomunikasi

Jenis Jenis hubunganhubungan

Low couplingLow coupling(terbaik)(terbaik)

Sederhana,Sederhana,jelasjelas

DataData Koneksi normalKoneksi normaldengan dengan

parameterparameterData couplingData coupling

Stamp couplingStamp coupling

High coupling High coupling (terjelek)(terjelek)

Rumit,Rumit,Tidak jelasTidak jelas KontrolKontrol

Pathalogical, Pathalogical, tidak dengantidak denganparameterparameter

Stamp couplingStamp coupling

Control couplingControl coupling

Common couplingCommon coupling

Content couplingContent coupling

Page 88: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

KEPADUAN (COHESION)KEPADUAN (COHESION)

Cohesion adalah ukuran keterpaduan dimana hubungan Cohesion adalah ukuran keterpaduan dimana hubungan antara elemenantara elemen--elemen dalam suatu modul jelas dan elemen dalam suatu modul jelas dan terstruktur, sehingga modul dapat dipandang sebagai terstruktur, sehingga modul dapat dipandang sebagai suatu unit dengan fungsi tunggal (suatu unit dengan fungsi tunggal (functionally cohesivefunctionally cohesive).).

Ada beberapa tingkat dari keterpaduan :Ada beberapa tingkat dari keterpaduan :

(1) Coincidental, (2) Logical, (3) Temporal, (4) Procedural, (1) Coincidental, (2) Logical, (3) Temporal, (4) Procedural, (5) Communicational, (6) Sequential, (7) Functional.(5) Communicational, (6) Sequential, (7) Functional.

Page 89: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

1.1. Coincidental cohesionCoincidental cohesion jika modul terdiri dari beberapa jika modul terdiri dari beberapa fungsi tetapi tidak terdapat hubungan yang berarti fungsi tetapi tidak terdapat hubungan yang berarti antara elemenantara elemen--elemen dari modul tersebut. Suatu elemen dari modul tersebut. Suatu kejadian dimana secara kebetulan saja bahwa elemenkejadian dimana secara kebetulan saja bahwa elemen--elemen berada dalam tempat yang samaelemen berada dalam tempat yang sama. . Coincidental Coincidental adalah tingkat terendah dari kepaduan.adalah tingkat terendah dari kepaduan.

Page 90: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

2.2. Suatu modul memiliki Suatu modul memiliki logical cohesionlogical cohesion jika terdiri dari jika terdiri dari beberapa fungsi yang mempunyai tugas serupa atau beberapa fungsi yang mempunyai tugas serupa atau melakukan melakukan fungsifungsi--fungsifungsi yang yang masuk dalam kelas masuk dalam kelas logika yang samalogika yang sama..

Page 91: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

3.3. Temporal cohesionTemporal cohesion jika modul terdiri dari beberapa fungsi jika modul terdiri dari beberapa fungsi dan suatu fungsi atau elemendan suatu fungsi atau elemen--elemen dalam modul elemen dalam modul membentuk fungsimembentuk fungsi--fungsi yang berhubungan dengan fungsi yang berhubungan dengan waktu atau dieksekusi pada satu titik waktu tertentu.waktu atau dieksekusi pada satu titik waktu tertentu.

Page 92: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

4.4. Procedural cohesionProcedural cohesion yaitu modul terdiri dari beberapa yaitu modul terdiri dari beberapa fungsi, walaupun elemenfungsi, walaupun elemen--elemen dalam modul kurang elemen dalam modul kurang berhubungan tetapi pemrosesannya harus berhubungan tetapi pemrosesannya harus dilaksanakan dalam suatu urutan tertentu.dilaksanakan dalam suatu urutan tertentu.

Page 93: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

5.5. Communicational cohesionCommunicational cohesion yaitu jika modul terdiri dari yaitu jika modul terdiri dari beberapa fungsi dan elemenbeberapa fungsi dan elemen--elemen dalam modul elemen dalam modul beroperasi dengan menggunakan arus data yang sama.beroperasi dengan menggunakan arus data yang sama.

Page 94: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

6.6. Sequential cohesionSequential cohesion jika keluaran dari suatu elemen jika keluaran dari suatu elemen merupakan masukan untuk elemen yang lain secara merupakan masukan untuk elemen yang lain secara berurutan. Modul terdiri dari beberapa fungsi dimana berurutan. Modul terdiri dari beberapa fungsi dimana elemen dalam modul bertindak sebagai suatu himpunan elemen dalam modul bertindak sebagai suatu himpunan urutan aksiurutan aksi--aksi atau fungsiaksi atau fungsi--fungsi sangat berikatan.fungsi sangat berikatan.

Page 95: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Compute

square root

Sort

the array

7.7. Functional cohesionFunctional cohesion yaitu bila seluruh elemen dari yaitu bila seluruh elemen dari modul terkait hanya melakukan suatu fungsi tunggal modul terkait hanya melakukan suatu fungsi tunggal yang terdefinisi dengan baik, tanpa tergantung pada yang terdefinisi dengan baik, tanpa tergantung pada implementasi modulimplementasi modul--modul yang lain.modul yang lain.

Modul yang berisi beberapa fungsi bukan functional Modul yang berisi beberapa fungsi bukan functional cohesion.cohesion.

Page 96: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

UMUMNYA YANG BAIK ADALAHUMUMNYA YANG BAIK ADALAH

�� Low couplingLow coupling

�� High cohesion.High cohesion.

Bagaimana meminimalkan interaksi antara modul (Bagaimana meminimalkan interaksi antara modul (low low couplingcoupling) dengan meningkatkan interkasi internal di ) dengan meningkatkan interkasi internal di dalam modul itu sendiri sehingga dapat melakukan dalam modul itu sendiri sehingga dapat melakukan sutu fungsi tunggal yang terpadu (sutu fungsi tunggal yang terpadu (high cohesionhigh cohesion).).

Page 97: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

SoalSoal

procedure file (file_ptr, file_name, op_name);procedure file (file_ptr, file_name, op_name);

beginbegin

case op_name ofcase op_name of

“open”: membentuk aktivitas membuka file.“open”: membentuk aktivitas membuka file.

Misal suatu modul untuk mendukung file ditulis Misal suatu modul untuk mendukung file ditulis dalam bahasa Pascal seperti dibawah ini:dalam bahasa Pascal seperti dibawah ini:

“open”: membentuk aktivitas membuka file.“open”: membentuk aktivitas membuka file.

“close”: membentuk aktivitas menutup file.“close”: membentuk aktivitas menutup file.

“print”: mencetak file.“print”: mencetak file.

end caseend case

endend

Cohesion jenis apa yang terjadi pada modul ini ? Cohesion jenis apa yang terjadi pada modul ini ? Bagaimana kita mengubah modul untuk menBagaimana kita mengubah modul untuk menambahambahcohesion.cohesion.

Page 98: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

�� Procedural cohesionProcedural cohesion

�� Agar menjadi functional cohesion modul harus Agar menjadi functional cohesion modul harus dibagi menjadi tiga modul:dibagi menjadi tiga modul:

1)1) procedure procedure open_open_file (file_ptr, file_name);file (file_ptr, file_name);

beginbegin

“open”: membentuk aktivitas membuka file.“open”: membentuk aktivitas membuka file.

endend

2)2) procedure procedure close_close_file (file_ptr, file_name);file (file_ptr, file_name);2)2) procedure procedure close_close_file (file_ptr, file_name);file (file_ptr, file_name);

beginbegin

“close”: membentuk aktivitas menutup file.“close”: membentuk aktivitas menutup file.

endend

3)3) procedure procedure print_print_file (file_ptr, file_name);file (file_ptr, file_name);

beginbegin

“print”: mencetak file“print”: mencetak file

endend

Page 99: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Buat struktur dan flowchart dari program Buat struktur dan flowchart dari program dibawah inidibawah iniprogram abc (input, output)program abc (input, output)

var x , y : integer;var x , y : integer;procedure hitung1;procedure hitung1;

x := x + y;x := x + y;y := y + 5;y := y + 5;

end;end;procedure hitung2;procedure hitung2;

x := x + 5;x := x + 5;x := x + 5;x := x + 5;y := y + x;y := y + x;hitung1;hitung1;

end;end;beginbegin

x := 0; y := 0;x := 0; y := 0;hitung1;hitung1;hitung2;hitung2;

end;end;

Page 100: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

JawabJawab

abcabc

x, y

Input

Inisialisasix = 0, y = 0

x = x + y

y = y + 5

Struktur InformasiStruktur Informasi

FlowchartFlowchart

hitung1hitung1 hitung2hitung2x, y

y = y + 5

x = x + 5

y = y + x

x = x + y

y = y + 5

Output

Page 101: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

b.b. Jelaskan jenis Jelaskan jenis couplingcoupling apa yang terjadi dan apa yang terjadi dan modifikasi program diatas untuk memperbaiki modifikasi program diatas untuk memperbaiki struktur programnya sehingga struktur programnya sehingga couplingcouplingmenjadi lebih rendahmenjadi lebih rendah..

c.c. Jenis Content couplingJenis Content coupling

d.d. Modifikasi menjadi data coupling dengan Modifikasi menjadi data coupling dengan d.d. Modifikasi menjadi data coupling dengan Modifikasi menjadi data coupling dengan menghilangkan pemanggilan modul hitung 1 menghilangkan pemanggilan modul hitung 1 pada modul hitung 2pada modul hitung 2

Page 102: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Otomatisasi Sistem Manual Terdefinisi BaikOtomatisasi Sistem Manual Terdefinisi Baik

Page 103: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

PertanyaanPertanyaan

Apa perbedaan antara Apa perbedaan antara arus informasi arus informasi ((information information flowflow)) dengan dengan struktur informasi struktur informasi ((information information structurestructure)) ?. ?.

Apakah ada sistem yang tidak memiliki Apakah ada sistem yang tidak memiliki information information flowflow ? Apakah ada sistem yang tidak memiliki ? Apakah ada sistem yang tidak memiliki flowflow ? Apakah ada sistem yang tidak memiliki ? Apakah ada sistem yang tidak memiliki information structureinformation structure?.?.

Page 104: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

DETAILED DESIGN TOOLSDETAILED DESIGN TOOLS

�� Graphical tools.Graphical tools. Rincian prosedur digambarkan dalam Rincian prosedur digambarkan dalam bentuk bangunan logika dalam bentuk gambarbentuk bangunan logika dalam bentuk gambar--gambar gambar khusus.khusus.-- Flowchart.Flowchart.-- Diagram Kotak Diagram Kotak (Box Diagram)(Box Diagram)..

�� Tabular tools.Tabular tools. Rincian prosedur direpresentasikan dalam Rincian prosedur direpresentasikan dalam bentuk tabel yang menggambarkan aksibentuk tabel yang menggambarkan aksi--aksi, kondisiaksi, kondisi--bentuk tabel yang menggambarkan aksibentuk tabel yang menggambarkan aksi--aksi, kondisiaksi, kondisi--kondisi dan alternatifkondisi dan alternatif--alternatif yang menghualternatif yang menghu--bungan bungan informasi masukan, pengolahan, dan keluaraninformasi masukan, pengolahan, dan keluaran..-- Tabel Keputusan Tabel Keputusan (Decision Tables)(Decision Tables)..

�� Language toolsLanguage tools. Rincian prosedur digambarkan dalam . Rincian prosedur digambarkan dalam suatu pseudocode yang sangat menyerupai suatu suatu pseudocode yang sangat menyerupai suatu bahasa pemrograman.bahasa pemrograman.-- Program Design LanguageProgram Design Language (PDL)(PDL)

Page 105: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

DIAGRAM KOTAKDIAGRAM KOTAK

Diagram kotak disusun untuk mengembangkan suatu Diagram kotak disusun untuk mengembangkan suatu perangkat rancangan grafik yang tidak membolehkan perangkat rancangan grafik yang tidak membolehkan adanya pelanggaran konsutriksi strukturadanya pelanggaran konsutriksi struktur

Diagran NDiagran N--S charts (S charts (NassiNassi--Shneiderman chartsShneiderman charts))

1.1. Domain fungsional didefinisikan dengan baik dan Domain fungsional didefinisikan dengan baik dan 1.1. Domain fungsional didefinisikan dengan baik dan Domain fungsional didefinisikan dengan baik dan terlihat jelas sebagai suatu representasi piktorialterlihat jelas sebagai suatu representasi piktorial..

2.2. Perpindahan kendali yang berubahPerpindahan kendali yang berubah--ubah tidak ubah tidak dimungkinkan.dimungkinkan.

3.3. Batasan dari data lokal dan/atau global dapat Batasan dari data lokal dan/atau global dapat dengan mudah ditentukandengan mudah ditentukan..

4.4. Pengulangan dapat dengan mudah digambarkan.Pengulangan dapat dengan mudah digambarkan.

Page 106: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

DIAGRAM KOTAKDIAGRAM KOTAK

BerurutBerurut BersyaratBersyarat SeleksiSeleksiBerurutBerurut BersyaratBersyarat

BerulangBerulang

SeleksiSeleksi

Page 107: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

DIAGRAM KOTAKDIAGRAM KOTAK

1.1. Elemen utama dari diagram adalah suatu kotakElemen utama dari diagram adalah suatu kotak..

2.2. Untuk menggambarkan suatu urutan, dua atau lebih Untuk menggambarkan suatu urutan, dua atau lebih

kotak dihubungkan dari atas ke bawah.kotak dihubungkan dari atas ke bawah.

3.3. Untuk menggambarkan Untuk menggambarkan ifif--thenthen--elseelse, suatu kotak , suatu kotak

kondisional diikuti dengan suatu kotak bagian kondisional diikuti dengan suatu kotak bagian thenthen

dan suatu kotak bagian dan suatu kotak bagian elseelse..

4.4. Pengulangan digambarkan dengan suatu pola Pengulangan digambarkan dengan suatu pola

keliling yang melingkari proses (bagian keliling yang melingkari proses (bagian dodo--whilewhile

atau bagian atau bagian repeatrepeat--untiluntil) yang diulang.) yang diulang.

5.5. Seleksi digambarkan menggunakan bentuk kotak Seleksi digambarkan menggunakan bentuk kotak

pilihan.pilihan.

Page 108: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

TABEL KEPUTUSANTABEL KEPUTUSANTabel keputusan (Tabel keputusan (decision tablesdecision tables) adalah suatu ) adalah suatu perangkat yang menerjemahkan aksiperangkat yang menerjemahkan aksi--aksi dan kondisiaksi dan kondisi--kondisi dalam bentuk tabularkondisi dalam bentuk tabular

Page 109: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Garis tebal membagi tabel menjadi empat bagianGaris tebal membagi tabel menjadi empat bagian ::

�� Seperempat bagian kiriSeperempat bagian kiri--atas berisi daftar dari segala atas berisi daftar dari segala kondisikondisi--kondisi.kondisi.

�� Seperempat bagian kiriSeperempat bagian kiri--bawah berisi daftar dari bawah berisi daftar dari seluruh aksiseluruh aksi--aksi yang mungkin berdasarkan aksi yang mungkin berdasarkan kombinasi dari kondisi diatas.kombinasi dari kondisi diatas.kombinasi dari kondisi diatas.kombinasi dari kondisi diatas.

�� Bagian kanan berbentuk matriks menunjukkan Bagian kanan berbentuk matriks menunjukkan kombinasi kondisi dan aksikombinasi kondisi dan aksi--aksi berhubungan yang aksi berhubungan yang akan terjadi untuk suatu kombinasi tertentu.akan terjadi untuk suatu kombinasi tertentu.

�� Setiap kolom matriks dapat dinterpretasikan Setiap kolom matriks dapat dinterpretasikan sebagai suatu aturan pengolahan (sebagai suatu aturan pengolahan (processing ruleprocessing rule).).

Page 110: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Untuk mengembangkan tabel keputusan dilakukan Untuk mengembangkan tabel keputusan dilakukan langkahlangkah--langkah berikut:langkah berikut: ::

�� Daftar seluruh tindakan/aksi yang dapat Daftar seluruh tindakan/aksi yang dapat dihubungkan dengan suatu prosedur tertentu.dihubungkan dengan suatu prosedur tertentu.

�� Daftar seluruh kondisi (atau keputusan yang dibuat) Daftar seluruh kondisi (atau keputusan yang dibuat) selama pelaksanaan prosedurselama pelaksanaan prosedur ..

Satukan sejumlah kondisi tertentu dengan aksiSatukan sejumlah kondisi tertentu dengan aksi--aksi aksi �� Satukan sejumlah kondisi tertentu dengan aksiSatukan sejumlah kondisi tertentu dengan aksi--aksi aksi tertentu yang menghapuskan kombinasitertentu yang menghapuskan kombinasi--kombinasi kombinasi yang tidak mungkin; kemungkinan lain, yang tidak mungkin; kemungkinan lain, kembangkan setiap permutasi kondisikembangkan setiap permutasi kondisi--kondisi yang kondisi yang mungkin.mungkin.

�� Tentukan aturanTentukan aturan--aturan (aturan (rulesrules) dengan ) dengan menunjukkan aksi apa yang dapat terjadi untuk menunjukkan aksi apa yang dapat terjadi untuk sejumlah kondisi.sejumlah kondisi.

Page 111: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

TABEL KEPUTUSANTABEL KEPUTUSAN

Page 112: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

IPO CHARTSIPO CHARTS

Page 113: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

IPO CHARTSIPO CHARTS

�� InputInput--processingprocessing--outputoutput (IPO)(IPO) charts adalah suatu charts adalah suatu perancangan perangkat lunak dan teknik dokumentasi perancangan perangkat lunak dan teknik dokumentasi yang dikembangkan oleh IBM.yang dikembangkan oleh IBM.

�� Ciri yang paling penting dari IPO chart adalah Ciri yang paling penting dari IPO chart adalah kemampuannya untuk menggambarkan hubungan kemampuannya untuk menggambarkan hubungan kemampuannya untuk menggambarkan hubungan kemampuannya untuk menggambarkan hubungan antara data input/output dan prosedur perangkat antara data input/output dan prosedur perangkat lunaklunak

Page 114: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

IPO CHARTSIPO CHARTS

Page 115: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

IPO CHARTSIPO CHARTS

�� ProsedurProsedur ditentukanditentukan dalamdalam suatusuatu kotakkotak pengolahpengolahpusatpusat dandan hubungannyahubungannya dengandengan input,input, outputoutput dandaninformasiinformasi databasedatabase..

�� HalHal iniini memungkinkanmemungkinkan perancangperancang secarasecara eksplisiteksplisitmenghubungkanmenghubungkan arusarus informasiinformasi dengandengan arusarusproseduralprosedural..

�� PengolahanPengolahan ((processingprocessing)) secarasecara khususkhusus ditentukanditentukandengandengan suatusuatu daftardaftar langkahlangkah--langkah,langkah, tetapitetapi dapatdapatdiwakilkandiwakilkan jugajuga dengandengan suatusuatu flowchart,flowchart, boxbox diagramdiagramatauatau bahasabahasa perancanganperancangan..

Page 116: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

PROGRAM DESIGN LANGUAGE PROGRAM DESIGN LANGUAGE

�� Program design language (PDL) disebut juga Program design language (PDL) disebut juga pseudocodepseudocode adalah suatu bahasa perancangan adalah suatu bahasa perancangan yang umum dipakai dengan menggunakan yang umum dipakai dengan menggunakan perbendahaperbendaha--raan kata dan sintaks bahasa Inggris raan kata dan sintaks bahasa Inggris (bahasa Inggris terstruktur).(bahasa Inggris terstruktur).

�� PDL terlihat sama dengan PL/1, PASCAL atau PDL terlihat sama dengan PL/1, PASCAL atau �� PDL terlihat sama dengan PL/1, PASCAL atau PDL terlihat sama dengan PL/1, PASCAL atau ALGOL. Perbedaan antara PDL dengan bahasa ALGOL. Perbedaan antara PDL dengan bahasa pemrograman tingkat tinggi diatas adalah pemrograman tingkat tinggi diatas adalah penggunaan teks narasi yang tertanaman secara penggunaan teks narasi yang tertanaman secara langsung didalam pernyataanlangsung didalam pernyataan--pernyataan PDLpernyataan PDL..

Page 117: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

Suatu bahasa perancangan harus memiliki sifat sebagai Suatu bahasa perancangan harus memiliki sifat sebagai berikut :berikut :

�� Fixed syntax dari KEYWORDS yang diberikan untuk Fixed syntax dari KEYWORDS yang diberikan untuk seluruh struktur konstruksi, deklarasi data dan seluruh struktur konstruksi, deklarasi data dan karakteristik modularitaskarakteristik modularitas..

�� Free syntax dari suatu bahasa alamiah yang Free syntax dari suatu bahasa alamiah yang memberimemberi--kan cirikan ciri--ciri pengolahan.ciri pengolahan.

�� Fasilitas deklarasi data, termasuk struktur data Fasilitas deklarasi data, termasuk struktur data sederhana (skalar dan array) dan struktur data sederhana (skalar dan array) dan struktur data kompleks (linked atau hirarchical).kompleks (linked atau hirarchical).

�� Definisi Subprogram dan teknik pemanggilan yang Definisi Subprogram dan teknik pemanggilan yang mendukung berbagai model deskripsi interface.mendukung berbagai model deskripsi interface.

Page 118: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

PROGRAM DESIGN LANGUAGE PROGRAM DESIGN LANGUAGE

Bahasa perancangan tidak tergantung pada bahasa Bahasa perancangan tidak tergantung pada bahasa pemrograman, dimana bentuk dasar PDL meliputi:pemrograman, dimana bentuk dasar PDL meliputi:

�� Deklarasi DataDeklarasi Data

�� Teknik penstrukturan blok.Teknik penstrukturan blok.

�� Konstruksi KondisiKonstruksi Kondisi�� Konstruksi KondisiKonstruksi Kondisi

�� Konstruksi Pengulangan (Repetition)Konstruksi Pengulangan (Repetition)

�� Definisi SubprogramDefinisi Subprogram

�� Penggambaran InterfacePenggambaran Interface

�� Konstruksi I/OKonstruksi I/O

Page 119: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

PROGRAM DESIGN LANGUAGE PROGRAM DESIGN LANGUAGE

Contoh:Contoh: PDL untuk kendali pintu Lift (IEEE CSP).PDL untuk kendali pintu Lift (IEEE CSP).

Page 120: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK

ComputerComputer--Aided Software Engineering Aided Software Engineering (CASE)(CASE)

�� Perangkat CASE membantu mengkaji dan merancang Perangkat CASE membantu mengkaji dan merancang perangkat lunak, secara otomatis membangkitkan perangkat lunak, secara otomatis membangkitkan kodekode--kode komputer sesuai dengan model yang telah kode komputer sesuai dengan model yang telah dibuat.dibuat.

�� CASE mewujudkan empat tahap pengembangan CASE mewujudkan empat tahap pengembangan perangkat lunak: perangkat lunak: perangkat lunak: perangkat lunak: 1.1. Analisis (gambaran apa yang akan dibangun, fase Analisis (gambaran apa yang akan dibangun, fase

pemodelan).pemodelan).

2.2. Disain (gambaran bagaimana membangunnya).Disain (gambaran bagaimana membangunnya).

3.3. Implementasi (program untuk dijalankan, fase Implementasi (program untuk dijalankan, fase

pengkodean).pengkodean).

4.4. Test dan integrasi (meyakinkan semua berjalan baik).Test dan integrasi (meyakinkan semua berjalan baik).

Page 121: DASARDASAR-DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAK