DASAR
DASAR--DASAR PERANCANGAN
DASAR PERANCANGAN
PERANGKAT LUNAK
PERANGKAT 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 TEKNIK FAKULTAS TEKNIKFAKULTAS 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.MMSIBY : RITA DEWI RISANTY . SKOM.MMSI BY : RITA DEWI RISANTY . SKOM.MMSI
Dasar
Dasar--dasar Perancangan
dasar Perancangan
Perangkat Lunak
Perangkat 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.
PERANCANGAN PERANGKAT LUNAK
PERANCANGAN 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
PERANCANGAN PERANGKAT LUNAK
PERANCANGAN 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 BRAINWARE
MERUPAKAN 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
1.
1. OtomatisasiOtomatisasi yaitu pekerjaan yang tadinya dilakukan yaitu pekerjaan yang tadinya dilakukan oleh manusia digantikan oleh teknologi komputer
oleh manusia digantikan oleh teknologi komputer.. oleh manusia digantikan oleh teknologi komputer oleh manusia digantikan oleh teknologi komputer..
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 dilakukan
SYSTEM INOVATION
SYSTEM INOVATION
3. Inovasi sistemInovasi sistem yaitu mengubah fungsi dan struktur yaitu mengubah fungsi dan struktur sosial
sosial--ekonomi yang ada digantikan oleh sistem sosialekonomi yang ada digantikan oleh sistem sosial--ekonomi yang baru
Apa tujuan dari Perancangan Sistem
Apa 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 modul
program 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).
Penggunaan Model
Penggunaan Model--model
model
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 indutri
Umumnya dibangun oleh suatu tim dan Membutuhkan:
Membutuhkan: • Pemodelan
• Proses yang baik • Alat-alat canggih
Tujuan dari Pemodelan
Tujuan dari Pemodelan
“Modeling captures essential
parts of the system.”
Pemodelan adalah untuk menggambarkan bagian-bagian yang penting dari suatu sistemDr. James Rumbaugh Dr. James Rumbaugh
Visual Modeling is modeling
using standard graphical
Tiga Kelompok Metodologi
Tiga Kelompok Metodologi
1.1.
Functional Decomposition Methodologies
Functional Decomposition Methodologies
Metodologi ini menakankan pada pemecahan dari Metodologi ini menakankan pada pemecahan dari sistem ke dalam subsistem
sistem 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.
Data
Data--Oriented Methodologies
Oriented Methodologies
Metodologi ini menekankan pada karakteristik dari Metodologi ini menekankan pada karakteristik dari data yang akan diproses.
a.
a. DataData--flow Oriented Methodologiesflow Oriented Methodologies
Metodologi ini secara umum didasarkan pada Metodologi ini secara umum didasarkan pada pemecahan dari sistem kedalam modul
pemecahan dari sistem kedalam modul--modul modul
didasarkan jenis elemen data dan hubungan antara didasarkan jenis elemen data dan hubungan antara fungsi modul
fungsi 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 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--elemen sistem dijelaskan dalam struktur elemen sistem dijelaskan dalam struktur sistemnya.
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 Methodologies
Prescriptive 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)
PERANCANGAN PERANGKAT LUNAK
PERANCANGAN 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, , interfaceinterface
dan
dan datadata perangkat lunak, untuk memenuhi kebutuhan perangkat lunak, untuk memenuhi kebutuhan tententu.
tententu.
((Menurut A
Menurut ANSI/IEEE Std 729
NSI/IEEE Std 729--1983
1983))
dan
dan datadata perangkat lunak, untuk memenuhi kebutuhan perangkat lunak, untuk memenuhi kebutuhan tententu.
tententu.
Definisi Umum
Definisi Umum
Perancangan perangkat lunak adalah suatu proses Perancangan perangkat lunak adalah suatu proses untuk
untuk mengubah kebutuhanmengubah kebutuhan--kebutuhankebutuhan ((
requirements
requirements
) )fungsional
fungsional menjadi suatu menjadi suatu strukturstruktur dan dan prosedurprosedur
sebelum dilakukan pengkodean atau pemrograman sebelum dilakukan pengkodean atau pemrograman..
Kebutuhan Kebutuhan--Perancangan Sistem Perancangan Terinci Kode/Pem-rograman Struktur Prosedur
PERANCANGAN PERANGKAT LUNAK
PERANCANGAN PERANGKAT LUNAK
Kebutuhan Kebutuhan--kebutuhan kebutuhan Fungsional Fungsional Struktur Perangkat Lunak Prosedur Perangkat Lunak
•• Perancangan Sistem : membagi sistem atas Perancangan Sistem : membagi sistem atas komponen
komponen--komponen (modulkomponen (modul--modul).modul).
•• Perancangan Terinci: menjelaskan prosedur dan Perancangan Terinci: menjelaskan prosedur dan fungsi dari setiap modul.
PERANCANGAN SISTEM
PERANCANGAN 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.
Tujuannya
Tujuannya 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.
Dimaksudkan
Dimaksudkan untuk pemrogram komputer dan ahli untuk pemrogram komputer dan ahli teknik lainnya yang akan mengimplementasi sistem. teknik lainnya yang akan mengimplementasi sistem.
DEFINISI PERANCANGAN SISTEM
DEFINISI 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.
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.
Bagan Struktur Hierarkis Organisasi
Bagan Struktur Hierarkis Organisasi
Penjelasan
Penjelasan
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 satuan
satuan dan garisdan garis--garis untuk mengambarkan garis untuk mengambarkan hubungan hubungan hirarki
hirarki antara kotakantara kotak--kotak.kotak.
PanahPanah--panah menunjukkan panah menunjukkan aliranaliran dari kendali terhirarki dari kendali terhirarki
antara kotak
antara kotak--kotak.kotak. antara kotak
antara 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 tugas
secara sederhana yang disebut dengan tugas--tugas tugas pekerjaan.
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 ringkas
Struktur Perangkat Lunak
Struktur 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.
Struktur Perangkat Lunak
Struktur Perangkat Lunak
Strutur Perangkat LunakStrutur Perangkat Lunak adalah suatu penggamadalah suatu
penggam--baran
baran hirarkishirarkis yang yang menunjukkan hubunganmenunjukkan hubungan
antara elemen
antara 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 arsitektur
arsitektur program dan implikasinya pada program dan implikasinya pada kendali kendali terhirarki
Structure Chart
Structure 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 interface
interface komunikasi antara modul.komunikasi antara modul. interface
interface 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 modul
Berbagai Aktivitas Bisnis
Berbagai Aktivitas Bisnis
Simbol
Simbol--simbol Structure Charts
simbol Structure Charts
Panah lingkaran berlubang untuk menggambarkandata yang dipertukarkan antara dua modul
Panah lingkaran solid untuk menggambrakan
pesan-pesan (flag) yang dilewatkan antara dua modul.
Get Customer Customer Details Find Customer Name Customer Account Number Customer Name Account Number is OK
Flag dari pemaggil ke yang dipanggil
Flag dari yang dipanggil ke pemanggil Data dari pemaggil ke yang dipanggil
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.
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 TOTAL TOTAL 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
ANALISIS STRUKTUR
ANALISIS STRUKTUR
1.
1. Data Flow Diagrams.Data Flow Diagrams.
((Information Description
Information 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.
Diagram Aliran Data
Diagram Aliran Data
Diagram Aliran DataDiagram Aliran Data adalah suatu teknik grafik yang adalah suatu teknik grafik yang menggambarkan al
menggambarkan 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
didalamnya didalamnya
Simbol
Simbol--simbol Diagram Aliran Data
simbol Diagram Aliran Data
File eksternal
File eksternal
Satuan
Satuan
Label Label
Aliran data
Aliran data
Proses
Proses
Penyimpan data
Penyimpan data
Label Label
Aturan
Aturan--aturan Diagram Aliran Data
aturan Diagram Aliran Data
Aliran informasi dari sistem manual, otomatis, Aliran informasi dari sistem manual, otomatis,
hibrid, dapat digambarkan dengan jelas hibrid, dapat digambarkan dengan jelas..
Setiap gagasan membutuhkan penyempurnaan Setiap gagasan membutuhkan penyempurnaan
untuk memberikan pengertian yang lengkap untuk 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.
Contoh DFD
Contoh DFD
Pertanyaan
Pertanyaan
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 sasaran
unsur dan /atau sasaran unsur dan /atau sasaran unsur dan /atau sasaran
Model Siklus Transaksi Bisnis
Model Siklus Transaksi Bisnis
Kejadian-kejadian Ekonomik Siklus Pendapat-Siklus Pengelu-Siklus Produksi Transaksi-transaksi Siklus Keuangan Pendapat-an Pengelu-aran Produksi Keuangan Siklus Pelaporan Keuangan Laporan Keuangan
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 hasil
hasil--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 Produksi
Siklus 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 dana
dengan perolehan dan manajemen dana--dana modal, dana modal, termasuk kas.
Siklus Pelaporan Keuangan
Siklus 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 transaksi
Konteks DFD
Konteks DFD
Diagram Level 0
Diagram Level 0
Pertanyaan
Pertanyaan
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 ?
Model Struktur Model Struktur Diagram Buku Diagram Buku book header bibliographic trn status input right notes ? type publisher Language + personalauthor corporatename* title bibliographic subject availability category + descriptor + keyword* abstract* title conference* format size isbn notes ?
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)
Kamus Data
Kamus Data
Prosedur Perangkat Lunak
Prosedur 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 urutan urutan--urutan kejadian
urutan kejadian, titik, titik--titik keputusan yang pasti, titik keputusan yang pasti,
urutan kejadian
urutan kejadian, titik, titik--titik keputusan yang pasti, titik keputusan yang pasti, operasi
operasi--operasi berulang, dan organisasi data operasi berulang, dan organisasi data dan struktur setiap kejadian.
Prosedur Perangkat Lunak
Prosedur Perangkat Lunak
Peta Aliran
Peta Aliran
(Flowchart)
(Flowchart)
Peta Aliran
Peta 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/output
input/output
Input manual
Input manual
Keputusan
Keputusan
logika
logika
Database
Database
Input manual
Input manual
Proses
Proses
Operasi manual
Operasi manual
Database
Database
On
On--line storage
line storage
Dokumen
Dokumen
Display
PROGRAM FLOWCHART:
PROGRAM FLOWCHART:
PROGRAM FLOWCHART:
PROGRAM FLOWCHART:
PROGRAM FLOWCHART:
PROGRAM FLOWCHART:
PROGRAM FLOWCHART:
PROGRAM FLOWCHART:
PROCESS A PROCESS B SEQUENCE SEQUENCE R PROCESS E S TRUE ITERATION ITERATION PROCESS C PROCESS D TRUE SELECTION SELECTIONKONSTRUKSI FLOWCHARTs
KONSTRUKSI FLOWCHARTs
Berurut
Berurut
Bersyarat
Bersyarat
Bersyarat
Bersyarat
Seleksi
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
Preliminary designPreliminary design berhubungan dengan struktur berhubungan dengan struktur
perangkat lunak yaitu ukuran, kompleksitas dan perangkat lunak yaitu ukuran, kompleksitas dan
PROSES PERANCANGAN PERANGKAT LUNAK PROSES 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 Design
System/Preliminary Design
))2. Perancangan Terperinci
2. Perancangan Terperinci ((
Detailed Design
Detailed 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 modul fungsional, hirarki dan hubungan antara modul--modul
modul).).
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).).
Aspek Manajemen dan Aspek Teknis
Aspek Manajemen dan Aspek Teknis
Hubungan antara aspek
Hubungan antara aspek--aspek manajemen dengan aspek manajemen dengan aspek
aspek--aspek teknis dari perancanganaspek teknis dari perancangan
Aspek Aspek--aspek aspek Manajemen Manajemen Preliminary Design Detail Design Detail Design Data Design Architectural Design Procedural Design Interface Design Aspek Aspek--aspek aspek Teknis Teknis
Perancangan DataPerancangan Data
(Data Design)
(Data Design)
Mengubah model domain informasi yang dibuat Mengubah model domain informasi yang dibuat pada saat analisis menjadi struktur
pada saat analisis menjadi struktur--struktur data.struktur data.
Perancangan ArsitekturalPerancangan Arsitektural
(Architectural Design)
(Architectural Design)
Mendefiniskan hubungan antara komponen Mendefiniskan 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 komponen
Mengubah 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 manusia
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--hambatan
Membuat spesifikasi aspek
Membuat spesifikasi aspek--aspek aspek prosedural
prosedural dan struktur data dan struktur data untuk untuk setiap modul setiap modul Periksa kembali
Detailed Design Description Revisi Diterima Pengkodean Pengkodean Pengkodean dapat diterima Pemrograman Revisi DiterimaPengujian Pengujian •• UnitUnit •• IntegrasiIntegrasi •• ValidasiValidasi
Perencanaan dan Prosedur PengujianPerangkat Lunak siap untuk di
Perangkat Lunak siap untuk di--releaserelease Perangkat Lunak siap untuk di
Perangkat 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.
TAHAP
TAHAP HASIL PRODUKSIHASIL PRODUKSI
PERENCANAAN - Penggambaran Masalah.
- Rencana Pengembangan PL. - Rencana Pengukuran Kinerja.
ANALISIS - Diagram Aliran Data.
PROSES PENGEMBANGAN
PROSES PENGEMBANGAN
ANALISIS - Diagram Aliran Data.
- Spesifikasi Elemen Fungsi-fungsi. - Model Entity-Relationship.
- Kamus Data Analisis.
- Rencana Pengujian Terintegrasi. - Laporan Kesalahan Analisis.
TAHAP
TAHAP 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
PERANCANGAN SISTEM
PERANCANGAN 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 keluaran
MODUL
MODUL--MODUL
MODUL
Perangkat Lunak yang akan dibangun umumnya Perangkat Lunak yang akan dibangun umumnya besarbesar, ,
kompleks
kompleks, , jangka waktu yang panjangjangka waktu yang panjang dan dan melibatkan melibatkan banyak pihak
banyak pihak..
Sistem terdiri dari elemenSistem terdiri dari elemen--elemen, dan elemen, dan elemen
elemen--elemen utama
elemen 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 coupling
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 makro
proses, prosedur, subrutin, fungsi atau makro..
Modularity
Modularity
memungkinkan program dapat dikelola memungkinkan program dapat dikelolasecara 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
MODULARITY
MODULARITY
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 pp
1
1 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 kompleks menyelesaikan masalah yang lebih kompleks
Sifat menarik lainnya dari pemecahan masalah oleh Sifat menarik lainnya dari pemecahan masalah oleh manusia adalah:
manusia adalah:
C(p
C(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 sendiri
sendiri--sendiri.sendiri. sendiri
sendiri--sendiri.sendiri.
Sifat menarik lainnya dari pemecahan masalah oleh Sifat menarik lainnya dari pemecahan masalah oleh manusia adalah:
manusia adalah:
E(p
E(p11 + p+ p22) > E(p) > E(p11) + E(p) + E(p22)) KESIMPULAN
KESIMPULAN adalah lebih mudah menyelesaikan suatu adalah lebih mudah menyelesaikan suatu masalah kompleks jika masalah tersebut dapat
masalah kompleks jika masalah tersebut dapat dipecahdipecah menjadi bagian
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 modul
bebas 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 modul
Suatu Rancangan Sistem harus:
Suatu Rancangan Sistem harus:
menunjukan suatu menunjukan suatu organisasi terhirarkiorganisasi terhirarki yang dapat yang dapat
mengendalikan komponen
mengendalikan komponen--komponen perangkat lunak.komponen perangkat lunak.
modularmodular artinya perangkat lunak harus dapat dibagi artinya perangkat lunak harus dapat dibagi
secara logika kedalam komponen
secara logika kedalam komponen--komponen yang komponen yang membentuk fungsi
membentuk 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 ((
subroutine
subroutine
atau atauprocedure
procedure
). ).mempunyai sifat
mempunyai sifat--sifat fungsional yang sifat fungsional yang
independent
independent
..
Membentuk Membentuk antarmukaantarmuka--antarmukaantarmuka yang mengurangi yang mengurangi
kerumitan hubungan antara modul
kerumitan hubungan antara modul--modul dan dengan modul dan dengan lingkungan luar.
Perinsip Dasar Perancangan Sistem
Perinsip Dasar Perancangan Sistem
KriteriaKriteria apa yang dapat digunakan untuk membagi apa yang dapat digunakan untuk membagi
perangkat lunak menjadi komponen
perangkat lunak menjadi komponen--komponen komponen individual atau modul
individual atau modul--modul ?modul ?
Bagaimana Bagaimana fungsi dan rincian struktur datafungsi dan rincian struktur data
dipisahkan 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 ?
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.
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 kecil yang memberikan biaya pengembangan paling kecil
ABSTRAKSI
ABSTRAKSI
Abstraksi adalah suatu perangkat yang sangat penting Abstraksi adalah suatu perangkat yang sangat penting
dalam pengembangan perangkat lunak dalam 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 rincian
umum 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 relevan
yang tidak relevan..
Artinya penggunaan abstraksi memungkinkan Artinya penggunaan abstraksi memungkinkan
perancang bekerja dengan konsep
perancang 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.
Perancangan harus menggambarkan masalah Perancangan harus menggambarkan masalah abstraksi pada tingkat terendah:
abstraksi pada tingkat terendah:
Abstraksi fungsionalAbstraksi fungsional
Abstraksi data.Abstraksi data.
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 struktural
dengan 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 sinus
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 data
sebelumnya untuk data--data tersebut. Bentuk abstraksi data tersebut. Bentuk abstraksi ini merupakan dasar metodologi perancangan
ini merupakan dasar metodologi perancangan berorientasi obyek.
Suatu Suatu modulmodul yang yang mengendalikanmengendalikan modul modul yang modul modul yang
lain disebut
lain disebut
superodinate
superodinate
terhadap modul tersebutterhadap modul tersebut..
Sedangkan suatu Sedangkan suatu modulmodul yang yang dikendalikandikendalikan modul lain modul lain
disebut
Modul berurutanModul berurutan ((
sequential module
sequential module
) yaitu diacu dan ) yaitu diacu dandieksekusi tanpa adanya interupsi oleh perangkat dieksekusi tanpa adanya interupsi oleh perangkat lunak aplikasi.
lunak aplikasi. Misalnya subprogram konvensional, Misalnya subprogram konvensional,
subroutine
subroutine
,
,
functions
functions
atau atauprocedures
procedures
..
Module bertambahModule bertambah ((
incremental module
incremental module
) yaitu dapat ) yaitu dapatdiinterupsi 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 terinterupsi melanjutkan kembali dari titik yang terinterupsi Sering disebut dengan
Sering disebut dengan
coroutines
coroutines
..
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 MANDIRI
MODUL 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 modul
berinteraksi dengan modul--modul yang lain.modul yang lain.
Dua kategori untuk mengukur kualitas kemandirian yaitu Dua kategori untuk mengukur kualitas kemandirian yaitu::
((MODULE
MODULE INDEPENDENCE
INDEPENDENCE ))
Dua kategori untuk mengukur kualitas kemandirian yaitu Dua kategori untuk mengukur kualitas kemandirian yaitu::
Keterkaitan harus rendahKeterkaitan harus rendah ((
Low Coupling
Low Coupling
))..adalah ukuran saling ketergantungan relatif antara adalah ukuran saling ketergantungan relatif antara modul
modul--modul atau interaksi diantara modul kecil.modul atau interaksi diantara modul kecil.
KeterpaduanKeterpaduan harus tinggiharus tinggi ((
High Cohesion
High Cohesion
))..adalah ukuran kekuatan fungsional relatif dari suatu adalah ukuran kekuatan fungsional relatif dari suatu modul dimana interaksi internalnya sangat besar.
Coupling & Cohesion
Coupling & Cohesion
coupling antara module
cohesion didalam module
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 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 bersamabersama 5.
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.
COUPLING
COUPLING
Coupling (keterkaitan)Coupling (keterkaitan) adalah ukuran bagaimana adalah ukuran bagaimana
modul
modul--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.
Jenis Coupling dan Derajadnya
Jenis Coupling dan Derajadnya
Jenis Coupling
Jenis Coupling JenjangJenjang DerajadDerajad KualitasKualitas
Data coupling Data coupling Stamp coupling Stamp coupling 1 1 2 2 Rendah
Rendah TerbaikTerbaik
Control coupling Control coupling External coupling External coupling Common coupling Common coupling Content coupling Content coupling 3 3 4 4 5 5 6
1.
1. No direct couplingNo direct coupling
Modul 1 dan modul 2 adalah subordinate terhadap Modul 1 dan modul 2 adalah subordinate terhadap modul
modul--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.
2.
2. Data couplingData coupling
Dua buah modul dari sistem mempunyai data Dua buah modul dari sistem mempunyai data coupling jika komunikasi dari modul
coupling 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).
3.
3. Stamp couplingStamp coupling
Dua
Dua 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.
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.
5.
5. External couplingExternal coupling
Tingkat coupling yang terjadi bila modul
Tingkat coupling yang terjadi bila modul--modul modul terikat pada lingkungan luar (external) dari
terikat pada lingkungan luar (external) dari perangkat lunak.
6.
6. Common couplingCommon coupling
Modul
Modul--modul dikatakan common coupling jika modul dikatakan common coupling jika mdoul
mdoul--modul tersebut menggunakan data yang modul tersebut menggunakan data yang disimpan di area memori yang sama.
7.
7. Content couplingContent coupling
Content coupling terjadi jika suatu modul menggu Content 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 tengah
Isi Isi informasi informasi Jenis Jenis komunikasi komunikasi Jenis Jenis hubungan hubungan Low coupling Low coupling (terbaik) (terbaik) Sederhana, Sederhana, jelas jelas Data
Data Koneksi normalKoneksi normal dengan dengan parameter parameter Data coupling Data coupling Stamp coupling Stamp coupling High coupling High coupling (terjelek) (terjelek) Rumit, Rumit, Tidak jelas
Tidak jelas KontrolKontrol
Pathalogical, Pathalogical, tidak dengan tidak dengan parameter parameter Stamp coupling Stamp coupling Control coupling Control coupling Common coupling Common coupling Content coupling Content coupling
KEPADUAN (COHESION)
KEPADUAN (COHESION)
Cohesion adalah ukuran keterpaduan dimana hubungan Cohesion adalah ukuran keterpaduan dimana hubungan antara elemen
antara 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 cohesive
functionally 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.
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
antara elemen--elemen dari modul tersebut. Suatu elemen dari modul tersebut. Suatu
kejadian dimana secara kebetulan saja bahwa elemen kejadian dimana secara kebetulan saja bahwa elemen--elemen berada dalam tempat yang sama
elemen berada dalam tempat yang sama. . Coincidental Coincidental adalah tingkat terendah dari kepaduan.
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 sama
3.
3. Temporal cohesionTemporal cohesion jika modul terdiri dari beberapa fungsi jika modul terdiri dari beberapa fungsi dan suatu fungsi atau elemen
dan suatu fungsi atau elemen--elemen dalam modul elemen dalam modul membentuk fungsi
membentuk 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.
4.
4. Procedural cohesionProcedural cohesion yaitu modul terdiri dari beberapa yaitu modul terdiri dari beberapa fungsi, walaupun elemen
fungsi, 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.
5.
5. Communicational cohesionCommunicational cohesion yaitu jika modul terdiri dari yaitu jika modul terdiri dari beberapa fungsi dan elemen
beberapa fungsi dan elemen--elemen dalam modul elemen dalam modul
beroperasi dengan menggunakan arus data yang sama. beroperasi dengan menggunakan arus data yang sama.
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 aksi
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 modul
implementasi modul--modul yang lain.modul yang lain.
Modul yang berisi beberapa fungsi bukan functional Modul yang berisi beberapa fungsi bukan functional cohesion.
UMUMNYA YANG BAIK ADALAH
UMUMNYA YANG BAIK ADALAH
Low couplingLow coupling
High cohesion.High cohesion.
Bagaimana meminimalkan interaksi antara modul (
Bagaimana meminimalkan interaksi antara modul (
low
low
coupling
coupling
) 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 (Soal
Soal
procedure file (file_ptr, file_name, op_name); procedure file (file_ptr, file_name, op_name); begin
begin
case op_name of case 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 case
end case end
end
Cohesion jenis apa yang terjadi pada modul ini ? Cohesion jenis apa yang terjadi pada modul ini ? Bagaimana kita mengubah modul untuk men
Bagaimana kita mengubah modul untuk menambahambah cohesion.
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); begin
begin
“open”: membentuk aktivitas membuka file. “open”: membentuk aktivitas membuka file. end
end 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); begin
begin
“close”: membentuk aktivitas menutup file. “close”: membentuk aktivitas menutup file. end
end 3)
3) procedure procedure print_print_file (file_ptr, file_name);file (file_ptr, file_name); begin
begin
“print”: mencetak file “print”: mencetak file end
Buat struktur dan flowchart dari program Buat struktur dan flowchart dari program
dibawah ini dibawah ini
program 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; begin begin x := 0; y := 0; x := 0; y := 0; hitung1; hitung1; hitung2; hitung2; end; end;
Jawab
Jawab
abc
abc
x, y Input Inisialisasi x = 0, y = 0 x = x + y y = y + 5Struktur Informasi
Struktur Informasi
Flowchart
Flowchart
hitung1
hitung1
x, yhitung2
hitung2
y = y + 5 x = x + 5 y = y + x x = x + y y = y + 5 Output
b.
b. Jelaskan jenis Jelaskan jenis
coupling
coupling
apa yang terjadi dan apa yang terjadi danmodifikasi program diatas untuk memperbaiki modifikasi program diatas untuk memperbaiki struktur programnya sehingga
struktur programnya sehingga
coupling
coupling
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 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 2
Otomatisasi Sistem Manual Terdefinisi Baik
Otomatisasi Sistem Manual Terdefinisi Baik
Pertanyaan
Pertanyaan
Apa perbedaan antaraApa perbedaan antara arus informasi arus informasi
((information
information
flow
flow))
dengan dengan struktur informasi struktur informasi((information
information
structure
structure))
?. ?.Apakah ada sistem yang tidak memiliki
Apakah ada sistem yang tidak memiliki
information
information
flow
flow
? Apakah ada sistem yang tidak memiliki ? Apakah ada sistem yang tidak memilikiflow
flow
? Apakah ada sistem yang tidak memiliki ? Apakah ada sistem yang tidak memilikiinformation structure
information structure
?.?.DETAILED DESIGN TOOLS
DETAILED DESIGN TOOLS
Graphical tools.Graphical tools. Rincian prosedur digambarkan dalam Rincian prosedur digambarkan dalam bentuk bangunan logika dalam bentuk gambar
bentuk 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 aksi
bentuk tabel yang menggambarkan aksi--aksi, kondisiaksi, kondisi--bentuk tabel yang menggambarkan aksi
bentuk tabel yang menggambarkan aksi--aksi, kondisiaksi, kondisi--kondisi dan alternatif
kondisi dan alternatif--alternatif yang menghualternatif yang menghu--bungan bungan informasi masukan, pengolahan, dan keluaran
informasi 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.