modul rpl

156
Jurusan Teknik Informatika Jurusan Teknik Informatika FTKI - Universitas Nasional FTKI - Universitas Nasional PERANCANGAN STRUKTUR PERANCANGAN STRUKTUR PERANGKAT LUNAK PERANGKAT LUNAK

Upload: slametz-pembuka

Post on 03-Jul-2015

3.425 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: Modul RPL

Jurusan Teknik InformatikaJurusan Teknik InformatikaFTKI - Universitas NasionalFTKI - Universitas Nasional

PERANCANGAN STRUKTUR PERANCANGAN STRUKTUR PERANGKAT LUNAKPERANGKAT LUNAK

Page 2: Modul RPL

Perancangan Perangkat Lunak Perancangan Perangkat Lunak Berorientasi pada FungsiBerorientasi pada Fungsi

Memahami bentuk dan tools dasar analisis dan Memahami bentuk dan tools dasar analisis dan perancangan perangkat lunak berbasis Fungsi:perancangan perangkat lunak berbasis Fungsi:– Teknik Konvensional (DFD, ERD, HIPO, dll.)– Warnier Diagrams, DSSD, Jackson, SADT,

Formal, Automasi / CASE.. Memahami berbagai teknik pemodulan Memahami berbagai teknik pemodulan

(modularity), abstraksi, keterkaitan ((modularity), abstraksi, keterkaitan (couplingcoupling) ) dan keterpaduan (dan keterpaduan (cohesioncohesion) modul-modul) modul-modul

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

Page 3: Modul RPL

Empat Kelompok MetodologiEmpat Kelompok Metodologi1.1. Functional Decomposition MethodologiesFunctional Decomposition Methodologies

Metodologi ini menekankan pada pemecahan dari Metodologi ini menekankan pada pemecahan dari sistem ke dalam subsistem-subsistem yang lebih sistem ke dalam subsistem-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:

- HIPO (Hierarchy Input-Process-Output)- HIPO (Hierarchy Input-Process-Output)

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

- Information hiding.- Information hiding.

2.2. Data-Oriented MethodologiesData-Oriented MethodologiesMetodologi ini menekankan pada karakteristik Metodologi ini menekankan pada karakteristik dari data yang akan diproses.dari data yang akan diproses.

Page 4: Modul RPL

a.a. Data-flow Oriented MethodologiesData-flow Oriented Methodologies

Metodologi ini secara umum didasarkan pada Metodologi ini secara umum didasarkan pada pemecahan dari sistem kedalam modul-modul pemecahan dari sistem kedalam modul-modul didasarkan jenis elemen data dan hubungan antara didasarkan jenis elemen data dan hubungan antara fungsi modul-modul.fungsi 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 Design- Composite Design

- SSAD (Structured Systems Analysis and Design)- SSAD (Structured Systems Analysis and Design)

b.b. Data Structure Oriented MethodologiesData Structure Oriented Methodologies

Metodologi 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 elemen-elemen sistem dijelaskan dalam struktur elemen-elemen sistem dijelaskan dalam struktur sistemnya.sistemnya.

Page 5: Modul RPL

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)

2.2. Object-Oriented MethodologiesObject-Oriented MethodologiesYang termasuk dalam metodologi ini adalah:Yang termasuk dalam metodologi ini adalah:- OMT (Object Modelling Technique), - OMT (Object Modelling Technique), - OOA/D (Object-Oriented Analysis/Design ), - OOA/D (Object-Oriented Analysis/Design ), - UML (Unified Modelling Language).- UML (Unified Modelling Language).

3.3. Prescriptive MethodologiesPrescriptive MethodologiesYang termasuk dalam metodologi ini adalah:Yang termasuk dalam metodologi ini adalah:- PLEXSYS- PLEXSYS- PRIDE- PRIDE- SDM/70 (System Development Methodology/70)- SDM/70 (System Development Methodology/70)- SRES (Software Requirment Engineering - SRES (Software Requirment Engineering System)System)

Page 6: Modul RPL

Software ProcessSoftware Process

Requirementsdefinition

Systemdesign

Implementationand testing

Integrationand testing

Operation andmaintenance

Page 7: Modul RPL

PERANCANGAN PERANGKAT LUNAKPERANCANGAN PERANGKAT LUNAK

Tiga tahap dasar dalam strategi pengembangan:1. Analisis : memahami permasalahan (What) –

Conceptual Model, System Requirements.2. Desain/Perancangan : mengorganisasikan atau

menstrukturkan permasalahan (How). System Design, Detailed Design.

3. Implementasi : membuat solusi pemecahan masalah dapat dilaksanakan. Coding - Testing

Page 8: Modul RPL
Page 9: Modul RPL

PERANCANGAN PERANGKAT LUNAKPERANCANGAN PERANGKAT LUNAK

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

Perancangan memerlukan Perancangan memerlukan pengetahuan (knowledge)pengetahuan (knowledge)..

Perancangan membutuhkan Perancangan membutuhkan pengalaman/keterampilan (skill)pengalaman/keterampilan (skill)..

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

MERUPAKAN BRAINWAREMERUPAKAN BRAINWARE

Page 10: Modul RPL

OTAK MANUSIAOTAK MANUSIA

Penalaran, bahasa, Penalaran, bahasa, aritmatika dan logikaaritmatika dan logika Kreativitas, seni, Kreativitas, seni,

imajinasiimajinasi

Page 11: Modul RPL

Apa tujuan dari PerancanganApa tujuan dari Perancangan

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 modul-modul dan kemudian program menjadi modul-modul dan kemudian menjelaskan spesifikasi dari setiap modul (data, menjelaskan spesifikasi dari setiap modul (data, proses, interface).proses, interface).

Page 12: Modul RPL

Penggunaan Model-modelPenggunaan Model-model

Dapat dibangun oleh satuorang dan membutuhkan:• Pemodelan Minimal• Proses sederhana• Peralatan sederhana

Dibangun oleh sejumlah TimKontraktor dan membutuhkan:• Model rekayasa• Proses yang terkoordinasi• Mesin-mesin indutri

Umumnya dibangun oleh suatu tim danMembutuhkan:• Pemodelan• Proses yang baik• Alat-alat canggih

Page 13: Modul RPL

Apa pentingnya perancangan Apa pentingnya perancangan perangkat lunak ?perangkat lunak ?

Pentingnya perancangan perangkat lunak dapat Pentingnya perancangan perangkat lunak dapat dinyatakan dengan kata tunggal – dinyatakan dengan kata tunggal – kualitaskualitas..

Perancangan adalah tempat dimana kualitas dibangun Perancangan adalah tempat dimana kualitas dibangun dalam pengembangan perangkat lunak.dalam pengembangan perangkat lunak.

Perancangan memberi kita gambaran perangkat lunak Perancangan memberi kita gambaran perangkat lunak yang kualitasnya dapat dinilai.yang kualitasnya dapat dinilai.

Perancangan adalah satu-satunya cara dimana kita Perancangan adalah satu-satunya cara dimana kita dapat secara akurat menerjemahkan kebutuhan dapat secara akurat menerjemahkan kebutuhan pelanggan ke dalam produk/sistem perangkat lunak.pelanggan ke dalam produk/sistem perangkat lunak.

Tanpa rancangan, kita berisiko membangun sistem yang Tanpa rancangan, kita berisiko membangun sistem yang tidak stabil, sulit diuji dan kualitasnya tidak dapat dinilai.tidak stabil, sulit diuji dan kualitasnya tidak dapat dinilai.

Page 14: Modul RPL

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, rekayasa perangkat lunak, mulai dari analisis, dokumentasi, dan pemeriksaan mulai dari analisis, dokumentasi, dan pemeriksaan kembali rancangan kembali rancangan data, arsitekturdata, arsitektur, , interfaceinterface dan dan prosedurprosedur perangkat lunak, untuk memenuhi perangkat lunak, untuk memenuhi kebutuhan tententu.kebutuhan tententu.

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

Definisi UmumDefinisi UmumPerancangan perangkat lunak adalah suatu Perancangan perangkat lunak adalah suatu proses untuk proses untuk mengubah kebutuhan-kebutuhanmengubah kebutuhan-kebutuhan ((requirementsrequirements) ) fungsionalfungsional menjadi suatu menjadi suatu strukturstruktur dan dan prosedurprosedur sebelum dilakukan sebelum dilakukan pengkodean atau pemrogramanpengkodean atau pemrograman..

Page 15: Modul RPL

Aspek Manajemen dan Aspek TeknisAspek Manajemen dan Aspek Teknis

Hubungan antara aspek-aspek manajemen Hubungan antara aspek-aspek manajemen dengan aspek-aspek teknis dari perancangandengan aspek-aspek teknis dari perancangan

Aspek-aspek Aspek-aspek ManajemenManajemen

System Architecture Design (Structure)

Detail Design (Procedure)

Data Design

Architectural Design

Procedural Design

Interface Design

Aspek-aspek Aspek-aspek TeknisTeknis

Page 16: Modul RPL

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

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

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

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

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

Page 17: Modul RPL

Hubungan Data Dictionary pada Hubungan Data Dictionary pada Perancangan DataPerancangan Data

Data Dictionary adalah sekumpulan metadata yang berisi definisi-definisi dan representasi-representasi dari elemen-elemen data.

Metadata adalah data mengenai data.

Data adalah fakta, huruf dan angka yang tidak sedang digunakan pada proses keputusan, dan biasanya berbentuk catatan historis atau arsip.

METADATA

• MARC 21 (2709) • ALD

• GILS • FGDC

• CDWA • Dublin Core (15)

• VRA • RDF

• CIMI • EAD

Page 18: Modul RPL

Item dari metadata adalah suatu hubungan yang terjadi diantara dua entitas dalam bentuk teks.

Pada konteks DBMS, Data Dictionary adalah sejumlah read-only of tables and views, berisi informasi tentang:– Precise definition of data elements – Usernames, roles and privileges – Schema objects – Integrity constraints – Stored procedures and triggers – General database structure – Audit information – Space allocations

Page 19: Modul RPL

Basic Dictionary ObjectsBasic Dictionary Objects Tables – koleksi dari rekord-rekord data dalam fields. Data elements – berisi definisi semantik (gambaran singkat)

kalimat dalam suatu field. Domains – menggambarkan atribut-atribut teknis fields

dalam tabel (e.g. field type, length, value range).

Table field

Table

Data element

Domain

uses

uses

Page 20: Modul RPL

File Data StructuresFile Data Structures

3 Smith Jane A

1 Wood Bob C

2 Kent Chuck B

4 Boone Dan B

ID Last First Grade

record

fieldA file: “STUDENT”

Page 21: Modul RPL

Contoh DataContoh Data

Course Section Semester Name Rank

MIS 3353 100 Su 01 Kemp InstrMIS 3353 200 Su 01 Schwarzkopf Assoc P

MIS 3373 200 Su 01 Kemp Instr

MIS 4663 900 Fa 01 Schwarzkopf Assoc P

MIS 4663 901 Fa 01 Van Horn Prof

Page 22: Modul RPL

Contoh MetadataContoh Metadata

Data Item ValueName Type Length Min Max DescriptionCourse Char 7 Three digit depart-

ment reference and 4digit course number

Section Integer 3 001 900 Section numberSemester Char 10 Semester and yearName Char 30 Instructor nameRank Char 10 Instructor rank

Data

Program 1

Program 2

Program 3

Meta- Data

DATABASE

Page 23: Modul RPL

Data DictionaryData Dictionary

Page 24: Modul RPL

Apa itu Entity Relationships Diagram ? Apa itu Entity Relationships Diagram ?

Entitas adalah komponen-komponen yang ada dalam sistem yang dijadikan model.

Relationship adalah hubungan antara entitas-entitas- One to Many (1:M) – mis: Ibu ke Anak- One to One (1:1) – mis: Tgl. kelahiran ke Tgl. Kematian- Many to Many (M:M) – mis: Produk ke Purchase Order.

Supplier Itemssupplies

Entitas EntitasRelationship

Page 25: Modul RPL

Data ModelingData Modeling Data modeling is a formalism Entity-Relationship Model (ER) Entity

Relationship model: – a visual model – attempts to capture the structure of data

Premises – The real world consists of entities– Entities in one enterprise are

related – Database model =

relevant entities + relationships among them

– Entities and relationships have attributes

Page 26: Modul RPL

Database DesignDatabase Design

Conceptual design

Logical design

Physical design

Entity-Relationship Model

Logical Schema

Page 27: Modul RPL

Relationship setsRelationship sets

Relationship set: a relation among entity sets: – e.g. (Smith,IST210) takes

Relationship sets – have degree

– may have attributes

– e.g. final mark attribute for takes relationship

Page 28: Modul RPL

Graphical Elements of the ER DiagramGraphical Elements of the ER Diagram

Its components are: – rectangles representing entity sets. – ellipses representing attributes. – diamonds representing relationship sets.

Entity

• Customers• Accounts

Attribute

• id• name

Relationship

• Customer Account

Page 29: Modul RPL

Basic SymbolsBasic Symbols

Page 30: Modul RPL

Cardinality SymbologyCardinality Symbology

Page 31: Modul RPL

Entitas adalah komponen-komponen yang ada dalam sistem yang dijadikan model.

Relationship adalah hubungan antara entitas-entitas- One to Many (1:M) – mis: Ibu ke Anak- One to One (1:1) – mis: Tgl. kelahiran ke Tgl. Kematian- Many to Many (M:M) – mis: Produk ke Purchase Order.

Supplier Itemssupplies

Entitas EntitasRelationship

Page 32: Modul RPL

RelationshipRelationship

Connect two or more entity sets Represented by diamonds Think of the “value” of a relationship set as a table One row for each list of entities, one from each set,

that are connected by the relationship

STUDENT COURSETake

Page 33: Modul RPL

Finding RelationshipsFinding Relationships

Often represented by a Verb allows answers to questions not available

through individual entity types

DEPENDENTHasEMPLOYEE

Weak Entity

Page 34: Modul RPL

Entity, Attribute, RelationshipEntity, Attribute, Relationship

CLIENT PASSPORT

ITINERARY

Name Address

Date city

Numb

Exp

• A client must have a passport• Each client has only one passport• A client may have one or more itinerates• An itinerary belongs to one client

Page 35: Modul RPL

Basic relationshipsBasic relationships

HUSBAND WIFE

TEAM PARTICIPANT

SKILLEMPLOYEEMany-to-Many

One-to-Many

One-to-One• A husband has one wife• A wife has one husband

• A team has many participants• Many participants belong to one team

• An employee has many skills• Many employees have the same skill

Page 36: Modul RPL

ExerciseExercise

Business rules: A university where a student may take many courses employs lecturers. Each lecturer teaches one or more courses but no course is taught by more than one lecturer. Each student has to complete two or three assignments for each course.

Requirement: Draw an entity relationship (ER) diagram for the situation described.

Page 37: Modul RPL

SolutionSolution

Teach

Has Take

Page 38: Modul RPL

ReviewReview

Use ER Diagrams to help understand– The essential information– Visual guide to the organization– Plan for how to proceed– Improve database design

Page 39: Modul RPL

Apa itu Data Flow Diagram? Apa itu Data Flow Diagram? Data Flow Diagram (Data Flow Diagram (DFDDFD) ) adalah suatu teknik grafik adalah suatu teknik grafik yang menggambarkan alyang menggambarkan alurur informasi dan transformasi informasi dan transformasi menggunakan dekomposisi fungsi terhirarki dari suatu menggunakan dekomposisi fungsi terhirarki dari suatu proses dalam suatu sistemproses dalam suatu sistem

Levelisasi DFDLevelisasi DFD Diagram KonteksDiagram Konteks (Level 0)(Level 0)

Merupakan data flow diagram level Merupakan data flow diagram level tertinggi dan langkah awal pada sebuah tertinggi dan langkah awal pada sebuah sistem, yang menggambarkan sistem sistem, yang menggambarkan sistem dengan lingkungan luar sistem yang dengan lingkungan luar sistem yang berhubungan secara langsung.berhubungan secara langsung.

Diagram Level 1Diagram Level 1Penguraian dari proses sistem yang ada Penguraian dari proses sistem yang ada pada diagram konteks, menggambarkan pada diagram konteks, menggambarkan hubungan proses utama yang ada didalam hubungan proses utama yang ada didalam sistem. sistem.

Page 40: Modul RPL

Tujuan Data Flow Diagrams ?Tujuan Data Flow Diagrams ?

Untuk memperlihatkan:Untuk memperlihatkan: Empat komponen sistem komputer: input, Empat komponen sistem komputer: input,

output, processing, storage.output, processing, storage. Bagaimana informasi masuk dan Bagaimana informasi masuk dan

meninggalkan sistem.meninggalkan sistem. Apa saja yang mengubah informasi.Apa saja yang mengubah informasi. Dimana informasi di simpan.Dimana informasi di simpan.

Mengapa DFD penting:Mengapa DFD penting: Mendefinisikan batas-batas Mendefinisikan batas-batas (boundary).(boundary). Memeriksa kelengkapan dari suatu Memeriksa kelengkapan dari suatu

analisis.analisis. Sebagai dasar dari spesifikasi program.Sebagai dasar dari spesifikasi program.

Page 41: Modul RPL

Data Flow Diagram Data Flow Diagram

Didasarkan 4 (empat) komponen sistem Didasarkan 4 (empat) komponen sistem komputer: komputer:

1.1. Input (data sources) atau EntityInput (data sources) atau Entity

2.2. Output (data destinations)Output (data destinations)

3.3. Processing (tranformation processes)Processing (tranformation processes)

4.4. Storage (data stores)Storage (data stores)

TransformTransformProcessProcess

InputInput(Source)(Source)

OutputOutput(Destination)(Destination)

Data storeData store

Data Data FlowFlow

Data Data FlowFlow

Data Data FlowFlow

Page 42: Modul RPL

Simple Data Flow DiagramSimple Data Flow Diagram

Page 43: Modul RPL

Common Process Errors on DFDsCommon Process Errors on DFDs

Page 44: Modul RPL

SOALSOAL

Buatlah Data Flow Diagram siklus transaksi dari empat siklus aktivitas bisnis yang umum.

Page 45: Modul RPL

Empat Siklus Aktivitas Bisnis yang UmumEmpat Siklus Aktivitas Bisnis yang Umum1. Siklus Pendapatan. Kejadian-kejadian yang berkaitan

dengan penjualan barang dan jasa dan penagihan hasil-hasilnya (pesanan pelanggan, penagihan, piutang dagang dan pelaporan penjualan).

2. Siklus Pengeluaran. Kejadian-kejadian yang berkaitan dengan perolehan barang dan jasa dan pelunasan kewajiban / hutang (pemilihan pemasok, pembelian, hutang dagang dan penggajian).

3. Siklus Produksi. Kejadian-kejadian yang berkaitan dengan manajemen dan pengendalian sumber daya, investasi dan fasilitas (akutansi biaya produksi, pengendalian persediaan dan akutansi kekayaan).

4. Siklus Keuangan. Kejadian-kejadian yang berkaitan dengan perolehan dan manajemen dana-dana modal, termasuk kas (kas, hutang, dan pensiun karyawan).

Page 46: Modul RPL

Kejadian-kejadian Ekonomik

Siklus Pendapatan

Siklus Pengeluaran

Siklus Produksi

Transaksi-transaksi

Siklus Keuangan

Siklus Pelaporan Keuangan

Laporan Keuangan

Page 47: Modul RPL

Apa itu State Transition Diagram ? Apa itu State Transition Diagram ? State Transition Diagram merepresentasikan perilaku suatu State Transition Diagram merepresentasikan perilaku suatu

sistem dengan menggambarkan keadaan-keadaannya (states) sistem dengan menggambarkan keadaan-keadaannya (states) dan kejadian-kejadian yang dapat membuat sistem berubah dan kejadian-kejadian yang dapat membuat sistem berubah keadaan.keadaan.

Menunjukkan tindakan-tindakan apa yang harus dilakukan Menunjukkan tindakan-tindakan apa yang harus dilakukan sebagai akibat dari kejadian tertentu.sebagai akibat dari kejadian tertentu.

Keadaan adalah mode perilaku yang dapat diamati.Keadaan adalah mode perilaku yang dapat diamati.

Idle

Switch button to on

Switch button to off

Making coffee

2-state Coffee 2-state Coffee Maker:Maker:

Page 48: Modul RPL

The software design processThe software design process

Requirementsspecification

Requirementsspecification

Architecturaldesign

Abstractspecification

Interfacedesign

Componentdesign

Data structuredesign

Algorithmdesign

Systemarchitecture

Softwarespecification

Interfacespecification

Componentspecification

Data structurespecification

Algorithmspecification

Page 49: Modul RPL

DOKUMENTASI PERANCANGANDOKUMENTASI PERANCANGAN

I.I. Ruang LingkupRuang LingkupA. Sasaran SistemA. Sasaran SistemB. Persyaratan Utama Perangkat LunakB. Persyaratan Utama Perangkat LunakC. Batasan-batasan dan Pembahasan C. Batasan-batasan dan Pembahasan RancanganRancangan

II.II. Rancangan DataRancangan DataA. Objek Data dan Struktur DataA. Objek Data dan Struktur DataB. Struktur File dan BasisdataB. Struktur File dan Basisdata1. Struktur File Eksternal1. Struktur File Eksternal2. Data Global2. Data Global3. File dan Acuan Lintas Data3. File dan Acuan Lintas Data

III.III. Rancangan ArsitekturalRancangan ArsitekturalA. Kajian Data dan Aliran KendaliA. Kajian Data dan Aliran KendaliB. Struktur ProgramB. Struktur Program

Page 50: Modul RPL

IV.IV. Rancangan InterfaceRancangan InterfaceA. Spesifikasi Interface Manusia-MesinA. Spesifikasi Interface Manusia-MesinB. Aturan Rancangan Interface Manusia-MesinB. Aturan Rancangan Interface Manusia-MesinC. Rancangan Interface EksternalC. Rancangan Interface Eksternal1. Interface untuk Data Eksternal1. Interface untuk Data Eksternal2. Interface untuk Sistem/Peralatan Eksternal2. Interface untuk Sistem/Peralatan Eksternal

V.V. Rancangan ProseduralRancangan ProseduralUntuk masing-masing Modul:Untuk masing-masing Modul:A. Naratif PemrosesanA. Naratif PemrosesanB. Penggambaran InterfaceB. Penggambaran InterfaceC. Penggambaran Bahasa RancanganC. Penggambaran Bahasa RancanganD. Modul-modul yang DigunakanD. Modul-modul yang DigunakanE. Struktur Data InternalE. Struktur Data InternalF. Keterangan/Larangan/PembatasanF. Keterangan/Larangan/Pembatasan

VI.VI. Persyaratan Lintas-AcuanPersyaratan Lintas-Acuan

Page 51: Modul RPL

VII.VII. Ketentuan PengujianKetentuan Pengujian1. Paduan Pengujian1. Paduan Pengujian2. Strategi Integrasi2. Strategi Integrasi3. Pertimbangan Khusus3. Pertimbangan Khusus

VIII.VIII. Catatan KhususCatatan Khusus

IX.IX. LampiranLampiran

Page 52: Modul RPL

PertanyaanPertanyaan

Gambarkan bagan struktur organisasi (Organizational Gambarkan bagan struktur organisasi (Organizational Structure Chart) di tempat kerja saudara dan jelaskan ciri-Structure Chart) di tempat kerja saudara dan jelaskan ciri-cirinya ?cirinya ?

Page 53: Modul RPL

Organizational Structure ChartOrganizational Structure Chart

Page 54: Modul RPL

PenjelasanPenjelasan

Struktur organisasi di gambarkan dalam suatu Struktur organisasi di gambarkan dalam suatu arsitektur (bangunan) berupa kotak-kotak untuk arsitektur (bangunan) berupa kotak-kotak untuk menggambarkan menggambarkan satuansatuan dan garis-garis untuk dan garis-garis untuk mengambarkan mengambarkan hubungan hirarkihubungan hirarki antara kotak- antara kotak-kotak.kotak.

Panah-panah menunjukkan Panah-panah menunjukkan aliranaliran dari kendali dari kendali terhirarki antara kotak-kotak.terhirarki antara kotak-kotak.

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

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

Page 55: Modul RPL

Struktur Perangkat LunakStruktur Perangkat Lunak

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

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

Page 56: Modul RPL

Proses Dekomposisi SistemProses Dekomposisi Sistem

Page 57: Modul RPL

Decomposition DiagramsDecomposition Diagrams

Decomposition diagram – suatu perangkat yang digunakan untuk menggambarkan dekomposisi dari suatu sistem.Disebut juga hierarchy chart.

Page 58: Modul RPL

Structure ChartStructure Chart Perangkat utama yang digunakan pada perangcangan Perangkat utama yang digunakan pada perangcangan

tersetruktur adalah tersetruktur adalah Structure ChartStructure Chart..

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

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

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

Page 59: Modul RPL

Simbol-simbol Structure ChartsSimbol-simbol Structure Charts

Module

Data flow (data structure or data element)

Control flag

Control flow

Decisions, embedded with module

"Lexical inclusion" module

Page 60: Modul RPL

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

CustomerDetails

FindCustomer

Name

CustomerAccountNumber

CustomerName

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 61: Modul RPL

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

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

Page 62: Modul RPL

CONTOH SOALCONTOH SOAL

Buat data flow graph dari ATM (automatic teller machine).

Get Get Account Account NumberNumber

Get Get Rupiah Rupiah AmountAmount

RetrievRetrieveAccoueAccou

nt nt RecordRecord

Debit Debit AccountAccount

Update Update AccountAccount

Record Record TransactioTransactio

nn

MAINMAIN

Acct #Rp A

cct #

Rec

Rec R

pnew Acct

trans

Page 63: Modul RPL

Contoh Structure Chart Contoh Structure Chart

SUMMARIZE PAYMENTS

FOR ALL CUSTOMERS

PUT CUSTOMER

TOTAL

PUT FINAL TOTAL

GET VALID CUSTOMER

RECORD

EDIT FIELD

GET TOTAL PAYMENT FOR

ONE CUSTOMER

READ

PRINT

Total for OneCustomer

Total for OneCustomer

Total for AllCustomers

Valid Customer Record

Customer Record

Field

Field Valid

EOTP

EOVCR

Customer Total Line

Final Total Line

Page 64: Modul RPL

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 65: Modul RPL

Model Struktur Model Struktur Diagram BukuDiagram Buku

book

header

bibliographic

subject

availability

trn

status

input

right

notes ?

category +

descriptor +

keyword*

abstract*

type

publisher

Language +

personalauthor

corporatename*

title

conference*

format

size

isbn

notes ?

Page 66: Modul RPL

Diagram W/O Buku Perpustakaan

book

header

bibliographic

subject

availability

trn

status

input

right

notes ?

category +

descriptor +

keyword*

abstract*

type

publisher

Language +

personalauthor

corporatename*

title

conference*

format

size

isbn

notes ?

(1)

(1)

(1)

(1)

Page 67: Modul RPL

Prosedur Perangkat LunakProsedur Perangkat Lunak

Prosedur Perangkat LunakProsedur Perangkat Lunak lebih lebih menajamkan pada menajamkan pada rincian tahap-tahaprincian tahap-tahap pemrosesan dari setiap modul secara pemrosesan dari setiap modul secara individual.individual.

Prosedur harus memberikan spesifikasi Prosedur harus memberikan spesifikasi yang lengkap dari suatu pemrosesan, yang lengkap dari suatu pemrosesan, meliputi meliputi urutan-urutan kejadianurutan-urutan kejadian, titik-titik , titik-titik keputusan yang nyata, operasi-operasi keputusan yang nyata, operasi-operasi berulang, dan bahkan organisasi dan berulang, dan bahkan organisasi dan struktur data.struktur data.

Page 68: Modul RPL

Prosedur Perangkat LunakProsedur Perangkat Lunak

Page 69: Modul RPL

FlowchartsFlowcharts

Flowchart adalah teknis analitik digunakan Flowchart adalah teknis analitik digunakan untuk menggambarkan beberapa aspek dari untuk menggambarkan beberapa aspek dari suatu sistem informasi secara logis, jelas, dan suatu sistem informasi secara logis, jelas, dan konsisten.konsisten.

Simbol-simbol Flowchart dapat dibagi atas Simbol-simbol Flowchart dapat dibagi atas empat kategori:empat kategori:

1 Input/output symbolsInput/output symbols2 Processing symbolsProcessing symbols3 Storage symbolsStorage symbols4 Flow and miscellaneous symbolsFlow and miscellaneous symbols

Page 70: Modul RPL

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

ProsesProses

Operasi manualOperasi manual

Keputusan Keputusan logikalogika

DatabaseDatabase

On-line storageOn-line storage

DokumenDokumen

DisplayDisplay Kendali aliranKendali aliran

Page 71: Modul RPL

PROGRAM FLOWCHART:PROGRAM FLOWCHART:PROCESS A

PROCESS B

SEQUENCESEQUENCE

PROCESS E

S

TRUE

ITERATIONITERATION

PROCESS CPROCESS D

R

TRUE

SELECTIONSELECTION

Page 72: Modul RPL

KONSTRUKSI FLOWCHARTsKONSTRUKSI FLOWCHARTs

BerurutBerurutBersyaratBersyarat

SeleksiSeleksi BerulangBerulang

Page 73: Modul RPL

LOAD & VALIDATE

COMPARE & UPDATE

VALID TRANS-

ACTIONS

PAYROLL SYSTEM

TIME CARDS

HUMAN RESOURCES

DATA

PAYROLL MASTER

UPDATED PAYROLL

MASTER

DIRECT DEPOSITS

GENERAL LEDGER

PAYROLL REPORTS &

CHECKS

PAYROLL MASTER

SYSTEM FLOWCHART:SYSTEM FLOWCHART:

Page 74: Modul RPL

PertanyaanPertanyaan

Apa perbedaan antara DFD dengan Apa perbedaan antara DFD dengan Flowchart ?Flowchart ?

Page 75: Modul RPL

Perbedaan DFD & FlowchartsPerbedaan DFD & Flowcharts

Proses pada DFD dapat beroperasi secara parallel (pada waktu yang bersamaan)

Proses pada flowcharts dieksekusi satu demi satu.

DFD memperlihatkan aliran data melalui suatu sistemFlowcharts memperlihatkan aliran kontrol (sequence & transfer of control)

Proses pada DFD dapat memiliki perbedaan waktu yang sangat berbeda (harian, mingguan, sesuai permintaan)

Proses pada flowcharts adalah bagian dari suatu program tunggal dengan waktu yang konsisten.

Page 76: Modul RPL

Perbedaan antara DFD dengan FlowchartPerbedaan antara DFD dengan Flowchart DFD menekankan pada aliran data, DFD menekankan pada aliran data,

sedangkan sedangkan FlowchartFlowchart menekankan pada menekankan pada aliran dokumen atau aliran dokumen atau recordrecord yang berisi data. yang berisi data.

DFD umumnya menggambarkan aliran logika DFD umumnya menggambarkan aliran logika ((logical flowlogical flow) dari data, sedangkan ) dari data, sedangkan FlowchartFlowchart menggambarkan aliran fisik dari data.menggambarkan aliran fisik dari data.

Page 77: Modul RPL

PertanyaanPertanyaan

Jelaskan tahapan-tahapan yang harus dilalui Jelaskan tahapan-tahapan yang harus dilalui dalam pengembangan suatu perangkat lunak dalam pengembangan suatu perangkat lunak ? ?

Dan jelaskan pula produk-produk yang Dan jelaskan pula produk-produk yang dihasilkan dari tiap tahapan tersebut ?dihasilkan dari tiap tahapan tersebut ?

Page 78: Modul RPL

TAHAPTAHAP HASIL PRODUKSIHASIL PRODUKSIPERENCANAAN - Penggambaran Masalah.

- Rencana Pengembangan PL.- Rencana Pengukuran Kinerja.

ANALISIS - Diagram Aliran Data.- Spesifikasi Elemen Fungsi-fungsi.

- Model Entity-Relationship.- Kamus Data Analisis.- Rencana Pengujian Terintegrasi.- Laporan Kesalahan Analisis.

PROSES PENGEMBANGANPROSES PENGEMBANGAN

Page 79: Modul RPL

TAHAPTAHAP HASIL PRODUKSIHASIL PRODUKSIDISAIN - Chart Struktur.

- Spesifikasi Modul.- Tabel Normalisasi dan Jejak Navigasi.

- Kamus Data Rancangan.- Matriks Cross Reference.- Rencana Pengujian Terintegrasi- Laporan Kesalahan Disain

Page 80: Modul RPL

MODUL-MODULMODUL-MODUL

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

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

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

Modul-modul tersebut akan saling berinteraksi, Modul-modul tersebut akan saling berinteraksi, dan bagaimana meminimalkan interaksi antara dan bagaimana meminimalkan interaksi antara modul (modul (low couplinglow coupling).).

Page 81: Modul RPL
Page 82: Modul RPL

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 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

MODULARITYMODULARITY

Page 83: Modul RPL

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

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

Artinya Artinya kompleksitaskompleksitas suatu masalah yang suatu masalah yang merupakan gabungan dari merupakan gabungan dari pp11 dan dan pp22 adalah lebih adalah lebih

besar dari pada kompleksitas memecahkan besar dari pada kompleksitas memecahkan masalah secara terpisah atau sendiri-sendiri.masalah secara terpisah atau sendiri-sendiri.

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

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

E(pE(p22)) KESIMPULANKESIMPULAN adalah lebih mudah menyelesaikan adalah lebih mudah menyelesaikan suatu masalah kompleks jika masalah tersebut suatu masalah kompleks jika masalah tersebut dapat dapat dipecahdipecah menjadi bagian-bagian yang menjadi bagian-bagian yang terkelolaterkelola

Page 84: Modul RPL

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 dijelaskan, sehingga pendokumentasiannya lebih cepat.cepat.

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

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

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

Page 85: Modul RPL

Suatu Rancangan Sistem harus:Suatu Rancangan Sistem harus:

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

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

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 sifat-sifat fungsional yang mempunyai sifat-sifat fungsional yang independentindependent..

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

Page 86: Modul RPL

Perinsip Dasar Perancangan SistemPerinsip Dasar Perancangan Sistem

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

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

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

Page 87: Modul RPL

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

M

Page 88: Modul RPL

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

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

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

M

Page 89: Modul RPL

What is the "right" number of modules for a What is the "right" number of modules for a specific software design ?specific software design ?

optimal numberoptimal number of modulesof modules number of modulesnumber of modules

modulemoduleintegrationintegration

costcost

module development costmodule development cost

Page 90: Modul RPL

Perancangan dihadirkan pada tingkat Perancangan dihadirkan pada tingkat abstraksiabstraksi

SystemsSystemsDesignDesign

RequirementRequirementss

AnalysisAnalysis

BillCustomer

UpdateMarketing

Inventory

AuthorizeCredit

OrderEntry

ScheduleDelivery

Customer

Order

ScheduledDelivery

Product

Salesperson

SoftwareSoftwareImplementationImplementation

SpecSpec

TablesTables

VC++ CodeVC++ Code

ArchitectureArchitecture

VB CodeVB Code

ERDERDCustomer

O rder

Schedu ledDelivery

Product

Salesperson

FormsForms

Abstractions about world

Knowledgeabout world

Operations on system

Abstractions about

system

Abstraksi memungkinkan konsentrasi masalah pada tingkat umum tanpa harus memikirkan rincian tingkat rendah yang tidak relevan.

Page 91: Modul RPL

ABSTRAKSIABSTRAKSI

Abstraksi adalah suatu perangkat yang sangat Abstraksi adalah suatu perangkat yang sangat penting dalam pengembangan perangkat lunakpenting dalam pengembangan perangkat lunak..

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

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

Page 92: Modul RPL

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 93: Modul RPL

Dua kategori abstraksi dalam perancangan Dua kategori abstraksi dalam perancangan

1.1. Abstraksi FungsionalAbstraksi Fungsional Dalam abstraksi fungsional suatu modul dicirikan Dalam abstraksi fungsional suatu modul dicirikan dari fungsi yang dibentuknya. Abstraksi ini dari fungsi yang dibentuknya. Abstraksi ini berhubungan dengan metodologi perancangan berhubungan dengan metodologi perancangan strukturalstruktural Misalnya suatu modul untuk menghitung nilai Misalnya suatu modul untuk menghitung nilai sinus dapat diberi abstrak yang digambarkan sinus dapat diberi abstrak yang digambarkan sebagai fungsi sinussebagai fungsi sinus..

Page 94: Modul RPL

2.2. Abstraksi DataAbstraksi Data

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

Page 95: Modul RPL

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

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

Page 96: Modul RPL

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 Misalnya subprogram konvensional, 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 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.

Modul-modul paralel disebut Modul-modul paralel disebut conroutinesconroutines

Menurut struktur perangkat lunak, suatu modul Menurut struktur perangkat lunak, suatu modul dapat dikategorikan sebagai:dapat dikategorikan sebagai:

Page 97: Modul RPL

KUALITAS PERANCANGANKUALITAS PERANCANGAN

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 modul-modul yang lain.berinteraksi dengan modul-modul yang lain.

Dua kategori untuk mengukur kualitas kemandirian Dua kategori untuk mengukur kualitas kemandirian yaituyaitu::

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

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

((MODULEMODULE INDEPENDENCEINDEPENDENCE ))

Page 98: Modul RPL

Coupling & CohesionCoupling & Cohesion

cohesion didalammodule

couplingantaramodule

Page 99: Modul RPL

Bagaimana terjadinya interaksi antara modul-Bagaimana 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 ke suatu tempat

lain.lain.3.3. Mengakses dataMengakses data bersama modul yang lain. bersama modul yang lain.4.4. DataData yang bisa dipergunakan yang bisa dipergunakan bersamabersama5.5. Prosedur panggilanProsedur panggilan dengan suatu dengan suatu sakelarsakelar

sebagai parameter.sebagai 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 serial dari satu modul ke

modul lain.modul lain.

Jawab:Jawab:

Page 100: Modul RPL

COUPLINGCOUPLING Coupling (keterkaitan)Coupling (keterkaitan) adalah ukuran adalah ukuran

bagaimana modul-modul saling berhubungan bagaimana modul-modul saling berhubungan dan saling bergantungan.dan saling bergantungan.

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

Page 101: Modul RPL

Object-Oriented DesignObject-Oriented Design

Page 102: Modul RPL

Jenis Coupling dan DerajadnyaJenis Coupling dan Derajadnya

Jenis CouplingJenis Coupling JenjanJenjangg

DerajadDerajad KualitasKualitas

Data couplingData coupling

Stamp couplingStamp coupling

Control couplingControl coupling

External couplingExternal coupling

Common Common couplingcoupling

Content couplingContent coupling

11

22

33

44

55

66

RendahRendah

TinggiTinggi

TerbaikTerbaik

TerjelekTerjelek

Page 103: Modul RPL

1.1. No direct couplingNo direct couplingModul 1 dan modul 2 adalah subordinate Modul 1 dan modul 2 adalah subordinate terhadap modul-modul yang berbeda. terhadap modul-modul yang berbeda. Sehingga masing-masing tidak berhubungan Sehingga masing-masing tidak berhubungan dan tidak ada penggandengan langsung yang dan tidak ada penggandengan langsung yang terjadi antara keduanya.terjadi antara keduanya.

Page 104: Modul RPL

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

Page 105: Modul RPL

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

Page 106: Modul RPL

4.4. Control couplingControl coupling

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

Module 1

Module 2

Page 107: Modul RPL

5.5. External couplingExternal coupling

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

Page 108: Modul RPL

6.6. Common couplingCommon coupling

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

Page 109: Modul RPL

7.7. Content couplingContent coupling Content coupling terjadi jika suatu modul menggu-nakan Content coupling terjadi jika suatu modul menggu-nakan data atau mengendalikan informasi dari modul yang lain data atau mengendalikan informasi dari modul yang lain tanpa berhubungan lewat suatu parameter.tanpa berhubungan lewat suatu parameter.Content coupling dapat juga terjadi jika percabangan Content coupling dapat juga terjadi jika percabangan dilakukan ke tengah-tengah suatu modul yang laindilakukan ke tengah-tengah suatu modul yang lain

Page 110: Modul RPL

Isi Isi informasiinformasi

Jenis Jenis komunikakomunika

sisi

Jenis Jenis hubunganhubungan

Low Low couplingcoupling(terbaik)(terbaik)

High High coupling coupling (terjelek)(terjelek)

Sederhana,Sederhana,jelasjelas

Rumit,Rumit,Tidak jelasTidak jelas

DataData

KontrolKontrol

Koneksi Koneksi normalnormaldengan dengan

parameterparameter

Pathalogical, Pathalogical, tidak dengantidak dengan

parameterparameter

Data couplingData coupling

Stamp couplingStamp coupling

Control couplingControl coupling

Common couplingCommon coupling

Content couplingContent coupling

Page 111: Modul RPL

Exercise: Classify the CouplingsExercise: Classify the Couplings

Number In Out

1 Aircraft type

Status flag

2 List of parts -

3 Function code

-

4 List of parts

-

5Part

number

Part manu-facture

r

6Part

number

Part name

p

q

sr

t u

2

1

3 4

5 6

p, t, u access the same database in update mode

Page 112: Modul RPL

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

Ada beberapa tingkat dari keterpaduan :Ada beberapa tingkat dari keterpaduan : (1) Coincidental, (2) Logical, (3) Temporal, (4) (1) Coincidental, (2) Logical, (3) Temporal, (4) Procedural, (5) Communicational, (6) Sequential, (7) Procedural, (5) Communicational, (6) Sequential, (7) Functional.Functional.

Page 113: Modul RPL

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 elemen-elemen dari modul tersebut. Suatu antara elemen-elemen dari modul tersebut. Suatu kejadian dimana secara kebetulan saja bahwa elemen-kejadian 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 114: Modul RPL

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

Page 115: Modul RPL

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

Page 116: Modul RPL

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

Page 117: Modul RPL

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

Page 118: Modul RPL

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 elemen berurutan. Modul terdiri dari beberapa fungsi dimana elemen dalam modul bertindak sebagai suatu himpunan urutan aksi-dalam modul bertindak sebagai suatu himpunan urutan aksi-aksi atau fungsi-fungsi sangat berikatan.aksi atau fungsi-fungsi sangat berikatan.

Page 119: Modul RPL

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 modul-modul yang lain.implementasi modul-modul yang lain.Modul yang berisi beberapa fungsi bukan functional Modul yang berisi beberapa fungsi bukan functional cohesion.cohesion.

Compute square root

Sortthe array

Page 120: Modul RPL

UMUMNYA YANG BAIK ADALAHUMUMNYA YANG BAIK ADALAH

Low couplingLow coupling High cohesion.High cohesion.

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

Page 121: Modul RPL

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. “ “close”: membentuk aktivitas menutup file.close”: membentuk aktivitas menutup file. “ “print”: mencetak file.print”: mencetak file.end caseend case

endend

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:

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 menambahambah cohesion.cohesion.

Page 122: Modul RPL

Procedural cohesionProcedural cohesion Agar menjadi functional cohesion modul Agar menjadi functional cohesion modul

harus dibagi menjadi tiga modul:harus 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);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 fileprint”: mencetak fileendend

Page 123: Modul RPL

Buat struktur dan flowchart dari program dibawah Buat struktur dan flowchart dari program dibawah iniiniprogram 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;y := y + x;y := y + x;hitung1;hitung1;end;end;beginbeginx := 0; y := 0;x := 0; y := 0;hitung1;hitung1;hitung2;hitung2;end;end;

Page 124: Modul RPL

JawabJawab

abcabc

hitung1hitung1 hitung2hitung2x, y

Input

Inisialisasix = 0, y = 0

x = x + y y = y + 5

x = x + 5 y = y + x

x = x + y y = y + 5

Output

Struktur InformasiStruktur Informasi

FlowchartFlowchart

Page 125: Modul RPL

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

c.c. Jenis Content couplingJenis Content coupling

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

Page 126: Modul RPL

Otomatisasi Sistem Manual Terdefinisi BaikOtomatisasi Sistem Manual Terdefinisi Baik

Page 127: Modul RPL

DETAILED DESIGN TOOLSDETAILED DESIGN TOOLS Graphical tools.Graphical tools. Rincian prosedur digambarkan Rincian prosedur digambarkan

dalam bentuk bangunan logika dalam bentuk dalam bentuk bangunan logika dalam bentuk gambar-gambar khusus.gambar-gambar khusus.- Flowchart.- Flowchart.- Diagram Kotak - Diagram Kotak (Box Diagram)(Box Diagram)..

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

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

Page 128: Modul RPL

PertanyaanPertanyaan

Apa perbedaan antara Apa perbedaan antara arus informasi arus informasi ((information flowinformation flow)) dengan dengan struktur informasi struktur informasi ((information structureinformation structure)) ?. ?.

Apakah ada sistem yang tidak memiliki Apakah ada sistem yang tidak memiliki information flowinformation flow ? Apakah ada sistem yang ? Apakah ada sistem yang tidak memiliki tidak memiliki information structureinformation structure?.?.

Page 129: Modul RPL

ANALISIS STRUKTURANALISIS STRUKTUR

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

((Information DescriptionInformation Description))

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

Page 130: Modul RPL

Data Flow DiagramData Flow Diagram

Data Flow DiagramData Flow Diagram adalah suatu teknik grafik adalah suatu teknik grafik yang menggambarkan alyang menggambarkan alurur informasi dan informasi dan transformasi menggunakan dekomposisi fungsi transformasi menggunakan dekomposisi fungsi terhirarki dari suatu proses dalam suatu sistem.terhirarki dari suatu proses dalam suatu sistem.

(Diagram Aliran Data)(Diagram Aliran Data)

Apa sebagai masukan.Apa sebagai masukan. Apa sebagai keluaran.Apa sebagai keluaran. Bagaimana terjadi Bagaimana terjadi proses proses

perubahan didalamnyaperubahan didalamnya

Page 131: Modul RPL

Simbol-simbol Diagram Aliran DataSimbol-simbol Diagram Aliran Data

File eksternalFile eksternal

SatuanSatuan

Aliran dataAliran data

ProsesProses

Penyimpan dataPenyimpan data

LabelLabel

Page 132: Modul RPL

Aturan-aturan Diagram Aliran DataAturan-aturan Diagram Aliran Data

Aliran informasi dari sistem manual, Aliran informasi dari sistem manual, otomatis, hibrid, dapat digambarkan dengan otomatis, hibrid, dapat digambarkan dengan jelasjelas..

Setiap gagasan membutuhkan Setiap gagasan membutuhkan penyempurnaan untuk memberikan penyempurnaan untuk memberikan pengertian yang lengkappengertian yang lengkap..

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

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

Setiap panah diberi label.Setiap panah diberi label.

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

Page 133: Modul RPL

Contoh DFDContoh DFD

Page 134: Modul RPL

Konteks DFDKonteks DFD

Page 135: Modul RPL

Hierarchy of DFDsHierarchy of DFDs

Context Diagram (Level 0 DFD)Context Diagram (Level 0 DFD)– Terminology not consistentTerminology not consistent

High-level DFD (Level 1) presents the High-level DFD (Level 1) presents the overview of the systemoverview of the system– shows major processes / functions / sub-shows major processes / functions / sub-

systems in the system, and has the systems in the system, and has the same number of external entities as in same number of external entities as in the Context Diagramthe Context Diagram

Lower-level DFD expands each higher Lower-level DFD expands each higher level process into more detailed level process into more detailed processesprocesses

Page 136: Modul RPL

Level 0 DFD (Context Diagram)Level 0 DFD (Context Diagram)

Level 0 DFD– Shows system boundaries– External entities that interact with

the system– Major information flows between

entities and system

Defines the scope and boundary of the system

Page 137: Modul RPL

Diagram Level 0Diagram Level 0

Page 138: Modul RPL

DIAGRAM KOTAKDIAGRAM KOTAK

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

Diagran N-S charts (Diagran N-S charts (Nassi-Shneiderman Nassi-Shneiderman chartscharts)) 1.1. Domain fungsional didefinisikan dengan baik Domain fungsional didefinisikan dengan baik

dan terlihat jelas sebagai suatu representasi dan terlihat jelas sebagai suatu representasi piktorialpiktorial..

2.2. Perpindahan kendali yang berubah-ubah Perpindahan kendali yang berubah-ubah tidak dimungkinkan.tidak 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 Pengulangan dapat dengan mudah digambarkan.digambarkan.

Page 139: Modul RPL

DIAGRAM KOTAKDIAGRAM KOTAK

BerurutBerurut BersyaratBersyarat

BerulangBerulang

SeleksiSeleksi

Page 140: Modul RPL

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 if-then-elseif-then-else, 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 do-whiledo-while atau bagian atau bagian repeat-untilrepeat-until) yang diulang.) yang diulang.

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

Page 141: Modul RPL

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

Page 142: Modul RPL

Garis tebal membagi tabel menjadi empat Garis tebal membagi tabel menjadi empat bagianbagian : :

Seperempat bagian kiri-atas berisi daftar dari Seperempat bagian kiri-atas berisi daftar dari segala kondisi-kondisi.segala kondisi-kondisi.

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

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

Setiap kolom matriks dapat dinterpretasikan Setiap kolom matriks dapat dinterpretasikan sebagai suatu aturan pengolahan (sebagai suatu aturan pengolahan (processing processing rulerule).).

Page 143: Modul RPL

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

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

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

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

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

Page 144: Modul RPL

TABEL KEPUTUSANTABEL KEPUTUSAN

Page 145: Modul RPL

IPO CHARTSIPO CHARTS

Page 146: Modul RPL

IPO CHARTSIPO CHARTS

Input-processing-outputInput-processing-output (IPO) (IPO) charts adalah suatu charts adalah suatu perancangan perangkat lunak dan teknik perancangan perangkat lunak dan teknik dokumentasi yang dikembangkan oleh IBM.dokumentasi yang dikembangkan oleh IBM.

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

Page 147: Modul RPL

IPO CHARTSIPO CHARTS

Page 148: Modul RPL

IPO CHARTSIPO CHARTS

Prosedur ditentukan dalam suatu kotak pengolah Prosedur ditentukan dalam suatu kotak pengolah pusat dan hubungannya dengan input, output dan pusat dan hubungannya dengan input, output dan informasi database.informasi database.

Hal ini memungkinkan perancang secara eksplisit Hal ini memungkinkan perancang secara eksplisit menghubungkan arus informasi dengan arus menghubungkan arus informasi dengan arus prosedural.prosedural.

Pengolahan (Pengolahan (processingprocessing) secara khusus ditentukan ) secara khusus ditentukan dengan suatu daftar langkah-langkah, tetapi dapat dengan suatu daftar langkah-langkah, tetapi dapat diwakilkan juga dengan suatu flowchart, box diagram diwakilkan juga dengan suatu flowchart, box diagram atau bahasa perancanganatau bahasa perancangan..

Page 149: Modul RPL

PROGRAM DESIGN LANGUAGE PROGRAM DESIGN LANGUAGE

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

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 penggunaan teks narasi yang tertanaman secara langsung didalam pernyataan-secara langsung didalam pernyataan-pernyataan PDLpernyataan PDL..

Page 150: Modul RPL

Suatu bahasa perancangan harus memiliki sifat Suatu bahasa perancangan harus memiliki sifat sebagai berikut :sebagai berikut : Fixed syntax dari KEYWORDS yang diberikan Fixed syntax dari KEYWORDS yang diberikan

untuk seluruh struktur konstruksi, deklarasi untuk seluruh struktur konstruksi, deklarasi data dan karakteristik modularitasdata dan karakteristik modularitas..

Free syntax dari suatu bahasa alamiah yang Free syntax dari suatu bahasa alamiah yang memberi-kan ciri-ciri pengolahan.memberi-kan ciri-ciri pengolahan.

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

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

Page 151: Modul RPL

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 Pengulangan (Repetition)Konstruksi Pengulangan (Repetition) • Definisi SubprogramDefinisi Subprogram• Penggambaran InterfacePenggambaran Interface• Konstruksi I/OKonstruksi I/O

Page 152: Modul RPL

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

Page 153: Modul RPL

Apa itu CASE ? Apa itu CASE ? (Computer-Aided Software Engineering)(Computer-Aided Software Engineering)

Upper-CASE– Perangkat untuk mendukung proses kegiatan awal

dari analisis kebutuhan dan perancangan.

Lower-CASE– Perangkat untuk mendukung kegiatan akhir seperti

pemrograman, debugging and pengujian.

Sistem pererangkat lunak yang dibuat untuk memberikan dukungan otomatis pada proses kegiatan perangkat lunak seperti: analisis kebutuhan, pemodelan sistem, debugging dan pengujian.

Page 154: Modul RPL

Siklus Hidup Pengembangan Sistem Siklus Hidup Pengembangan Sistem Tradisional dengan Sistem CASETradisional dengan Sistem CASE

Page 155: Modul RPL

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

CASE mewujudkan empat tahap pengembangan CASE mewujudkan empat tahap pengembangan 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 Test dan integrasi (meyakinkan semua berjalan baik).baik).

Page 156: Modul RPL