dasardasar-dasar perancangan dasar perancangan perangkat lunak
TRANSCRIPT
DASARDASAR--DASAR PERANCANGAN DASAR PERANCANGAN PERANGKAT LUNAKPERANGKAT LUNAK
UNIVERSITAS MUHAMMADIYAH JAKARTA UNIVERSITAS MUHAMMADIYAH JAKARTA UNIVERSITAS MUHAMMADIYAH JAKARTA UNIVERSITAS MUHAMMADIYAH JAKARTA UNIVERSITAS MUHAMMADIYAH JAKARTA UNIVERSITAS MUHAMMADIYAH JAKARTA UNIVERSITAS MUHAMMADIYAH JAKARTA UNIVERSITAS MUHAMMADIYAH JAKARTA
FAKULTAS TEKNIKFAKULTAS TEKNIKFAKULTAS TEKNIKFAKULTAS TEKNIK
JURUSAN TEKNIK INFORMATIKAJURUSAN TEKNIK INFORMATIKAJURUSAN TEKNIK INFORMATIKAJURUSAN TEKNIK INFORMATIKA
BY : RITA DEWI RISANTY . SKOM.MMSIBY : RITA DEWI RISANTY . SKOM.MMSIBY : RITA DEWI RISANTY . SKOM.MMSIBY : RITA DEWI RISANTY . SKOM.MMSI
DasarDasar--dasar Perancangan dasar Perancangan Perangkat LunakPerangkat Lunak
�� Memahami bentuk dasar perancangan perangkat Memahami bentuk dasar perancangan perangkat lunak:lunak:– Teknik Konvensional (DFD, ERD, HIPO, dll.)– Warnier Diagrams.– DSSD.– DSSD.– Jackson.– SADT.– Formal.– Automasi / CASE..
�� Mengetahui berbagai metode perancangan dan dapat Mengetahui berbagai metode perancangan dan dapat memilih metode yang sesuai.memilih metode yang sesuai.
PERANCANGAN PERANGKAT LUNAKPERANCANGAN PERANGKAT LUNAK
Tiga tahap dasar dalam strategi pengembangan:
1. Analisis : memahami permasalahan.
2. Desain/Perancangan : mengorganisasikan atau menstrukturkan permasalahan (Komponen, Prosedur, Fungsi).Fungsi).
3. Implementasi : membuat solusi pemecahan masalah dapat dilaksanakan.
PERANCANGAN PERANGKAT LUNAKPERANCANGAN PERANGKAT LUNAK
�� Perancangan merupakan aktivitas otak manusia yang Perancangan merupakan aktivitas otak manusia yang belum dapat diganti secara mekanik oleh mesin.belum dapat diganti secara mekanik oleh mesin.
�� Perancangan memerlukan Perancangan memerlukan kepintaran (knowledge)kepintaran (knowledge)..
�� Perancangan membutuhkan Perancangan membutuhkan pengalaman (skill)pengalaman (skill)..
MERUPAKAN BRAINWAREMERUPAKAN BRAINWARE
�� Kepintaran tersebut dapat dituntun oleh suatu teknik Kepintaran tersebut dapat dituntun oleh suatu teknik atau metoda perancangan sehingga menghasilkan atau metoda perancangan sehingga menghasilkan suatu suatu kreativitaskreativitas dan dan pemikiran inovatifpemikiran inovatif..
1.1. OtomatisasiOtomatisasi yaitu pekerjaan yang tadinya dilakukan yaitu pekerjaan yang tadinya dilakukan oleh manusia digantikan oleh teknologi komputeroleh manusia digantikan oleh teknologi komputer..oleh manusia digantikan oleh teknologi komputeroleh manusia digantikan oleh teknologi komputer..
PROBLEM SOLVING PROBLEM SOLVING
2. Pemecahan masalahPemecahan masalah yaitu teknologi membuat yaitu teknologi membuat pekerjaan yang tidak pernah dilakukan sebelumnya pekerjaan yang tidak pernah dilakukan sebelumnya oleh manusia ternyata bisa dilakukanoleh manusia ternyata bisa dilakukan..
SYSTEM INOVATION SYSTEM INOVATION
3. Inovasi sistemInovasi sistem yaitu mengubah fungsi dan struktur yaitu mengubah fungsi dan struktur sosialsosial--ekonomi yang ada digantikan oleh sistem sosialekonomi yang ada digantikan oleh sistem sosial--ekonomi yang baruekonomi yang baru..
Apa tujuan dari Perancangan SistemApa tujuan dari Perancangan Sistem
�� Tujuan dari perancangan adalah untuk menghasilkan Tujuan dari perancangan adalah untuk menghasilkan suatu suatu model model atau atau gambaran lengkapgambaran lengkap dari suatu dari suatu perangkat lunak yang akan dibangun.perangkat lunak yang akan dibangun.
�� Perancangan disini adalah mendekomposisi fungsi Perancangan disini adalah mendekomposisi fungsi program menjadi modulprogram menjadi modul--modul dan kemudian modul dan kemudian menjelaskan spesifikasi dari setiap modul (data, menjelaskan spesifikasi dari setiap modul (data, proses, interface).proses, interface).proses, interface).proses, interface).
Penggunaan ModelPenggunaan Model--modelmodel
Dapat dibangun oleh satu
orang dan membutuhkan:
• Pemodelan Minimal
• Proses sederhana
• Peralatan sederhana
Dibangun oleh sejumlah Tim
Kontraktor dan membutuhkan:
• Model rekayasa
• Proses yang terkoordinasi
• Mesin-mesin indutriUmumnya dibangun oleh suatu tim dan
Membutuhkan:Membutuhkan:
• Pemodelan
• Proses yang baik
• Alat-alat canggih
Tujuan dari PemodelanTujuan dari Pemodelan
“Modeling captures essential parts of the system.”
Pemodelan adalah untuk menggambarkanbagian-bagian yang penting dari suatu sistem
Dr. James RumbaughDr. James Rumbaugh
Visual Modeling is modelingusing standard graphical notations
Tiga Kelompok MetodologiTiga Kelompok Metodologi
1.1. Functional Decomposition MethodologiesFunctional Decomposition Methodologies
Metodologi ini menakankan pada pemecahan dari Metodologi ini menakankan pada pemecahan dari sistem ke dalam subsistemsistem ke dalam subsistem--subsistem yang lebih subsistem yang lebih kecil, sehingga akan mudah untuk dipahami, kecil, sehingga akan mudah untuk dipahami, dirancang dan diterapkan.dirancang dan diterapkan.
Yang termasuk dalam kelompok metodologi ini:Yang termasuk dalam kelompok metodologi ini:Yang termasuk dalam kelompok metodologi ini:Yang termasuk dalam kelompok metodologi ini:
-- HIPO (Hierarchy InputHIPO (Hierarchy Input--ProcessProcess--Output)Output)
-- Iterative Stewise refinement (ISR) Iterative Stewise refinement (ISR)
-- Information hiding.Information hiding.
2.2. DataData--Oriented MethodologiesOriented Methodologies
Metodologi ini menekankan pada karakteristik dari Metodologi ini menekankan pada karakteristik dari data yang akan diproses.data yang akan diproses.
a.a. DataData--flow Oriented Methodologiesflow Oriented MethodologiesMetodologi ini secara umum didasarkan pada Metodologi ini secara umum didasarkan pada pemecahan dari sistem kedalam modulpemecahan dari sistem kedalam modul--modul modul didasarkan jenis elemen data dan hubungan antara didasarkan jenis elemen data dan hubungan antara fungsi modulfungsi modul--modul.modul.Yang termasuk dalam kelompok metodologi ini:Yang termasuk dalam kelompok metodologi ini:-- SADT (Structured Analysis and Design Techniques)SADT (Structured Analysis and Design Techniques)-- Composite DesignComposite Design-- Composite DesignComposite Design-- SSAD (Structured Systems Analysis and Design)SSAD (Structured Systems Analysis and Design)
b.b. Data Structure Oriented MethodologiesData Structure Oriented MethodologiesMetodologi ini menekankan struktur dari input dan Metodologi ini menekankan struktur dari input dan output di sistem. Hubungan fungsi antar modul atau output di sistem. Hubungan fungsi antar modul atau elemenelemen--elemen sistem dijelaskan dalam struktur elemen sistem dijelaskan dalam struktur sistemnya.sistemnya.
Yang termasuk dalam metodologi ini adalah:Yang termasuk dalam metodologi ini adalah:
-- JSD (Jackson’s Systems Development)JSD (Jackson’s Systems Development)
-- W/O (Warnier/Orr)W/O (Warnier/Orr)
3.3. Prescriptive MethodologiesPrescriptive Methodologies
Yang termasuk dalam metodologi ini adalah:Yang termasuk dalam metodologi ini adalah:
-- ISDOS (Information System Design and OptimiISDOS (Information System Design and Optimi---- ISDOS (Information System Design and OptimiISDOS (Information System Design and Optimi--zation System).zation System).
-- PLEXSYSPLEXSYS
-- PRIDEPRIDE
-- SDM/70 (System Development Methodology/70)SDM/70 (System Development Methodology/70)
-- SRES (Software Requirment Engineering System)SRES (Software Requirment Engineering System)
PERANCANGAN PERANGKAT LUNAKPERANCANGAN PERANGKAT LUNAK
Perancangan Perangkat Lunak adalah suatu perioda Perancangan Perangkat Lunak adalah suatu perioda didalam didalam siklus hidupsiklus hidup rekayasa perangkat lunak, mulai rekayasa perangkat lunak, mulai dari analisis, dokumentasi, dan pemeriksaan kembali dari analisis, dokumentasi, dan pemeriksaan kembali rancangan rancangan arsitekturarsitektur, , komponenkomponen--komponenkomponen, , interfaceinterfacedan dan datadata perangkat lunak, untuk memenuhi kebutuhan perangkat lunak, untuk memenuhi kebutuhan tententu.tententu.
((Menurut AMenurut ANSI/IEEE Std 729NSI/IEEE Std 729--19831983))
dan dan datadata perangkat lunak, untuk memenuhi kebutuhan perangkat lunak, untuk memenuhi kebutuhan tententu.tententu.
Definisi UmumDefinisi Umum
Perancangan perangkat lunak adalah suatu proses Perancangan perangkat lunak adalah suatu proses untuk untuk mengubah kebutuhanmengubah kebutuhan--kebutuhankebutuhan ((requirementsrequirements) ) fungsionalfungsional menjadi suatu menjadi suatu strukturstruktur dan dan prosedurprosedursebelum dilakukan pengkodean atau pemrogramansebelum dilakukan pengkodean atau pemrograman..
KebutuhanKebutuhan--
PerancanganSistem
PerancanganTerinci
Kode/Pem-rograman
Struktur Prosedur
PERANCANGAN PERANGKAT LUNAKPERANCANGAN PERANGKAT LUNAK
KebutuhanKebutuhan--kebutuhan kebutuhan FungsionalFungsional
Struktur Perangkat
Lunak
Prosedur Perangkat
Lunak
•• Perancangan Sistem : membagi sistem atas Perancangan Sistem : membagi sistem atas komponenkomponen--komponen (modulkomponen (modul--modul).modul).
•• Perancangan Terinci: menjelaskan prosedur dan Perancangan Terinci: menjelaskan prosedur dan fungsi dari setiap modul.fungsi dari setiap modul.
PERANCANGAN SISTEMPERANCANGAN SISTEM
Perancangan Sistem dibagi dua bagian:Perancangan Sistem dibagi dua bagian:
1.1. Perancangan Sistem Secara UmumPerancangan Sistem Secara Umum
atau disebut juga general systems design, atau disebut juga general systems design, conceptual design, logical design, macro design.conceptual design, logical design, macro design.
TujuannyaTujuannya adalah untuk memberikan gambaran adalah untuk memberikan gambaran secara umum tentang sistem yang akan dibangun.secara umum tentang sistem yang akan dibangun.secara umum tentang sistem yang akan dibangun.secara umum tentang sistem yang akan dibangun.
2.2. Perancangan Sistem TerinciPerancangan Sistem Terinci
atau disebut juga physical systems design, internal atau disebut juga physical systems design, internal design.design.
DimaksudkanDimaksudkan untuk pemrogram komputer dan ahli untuk pemrogram komputer dan ahli teknik lainnya yang akan mengimplementasi sistem.teknik lainnya yang akan mengimplementasi sistem.
DEFINISI PERANCANGAN SISTEMDEFINISI PERANCANGAN SISTEM
� Menurut Robert J Verzello & John Reuter :
Tahap setelah analisis dari siklus pengembangan sistem (pendefinisian dari kebutuhan-kebutuhan fungsional) yaitu persiapan untuk implementasi rancang bangun dan penggambaran dari suatu sistem yang akan dibentuk.sistem yang akan dibentuk.
� Menurut John Burch & Gary Grudnitski :
Disain sistem dapat didefinisikan sebagai penggambaran, perencanaan dan pembuatan sketsa dan pengaturan elemen yang terpisah-pisah menjadi suatu kesatuan yang utuh dan berfungsi.
� 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 OrganisasiBagan Struktur Hierarkis Organisasi
PenjelasanPenjelasan
�� Struktur organisasi di gambarkan dalam suatu arsitektur Struktur organisasi di gambarkan dalam suatu arsitektur (bangunan) berupa kotak(bangunan) berupa kotak--kotak untuk menggambarkan kotak untuk menggambarkan satuansatuan dan garisdan garis--garis untuk mengambarkan garis untuk mengambarkan hubungan hubungan hirarkihirarki antara kotakantara kotak--kotak.kotak.
�� PanahPanah--panah menunjukkan panah menunjukkan aliranaliran dari kendali terhirarki dari kendali terhirarki antara kotakantara kotak--kotak.kotak.antara kotakantara kotak--kotak.kotak.
�� Setiap satuan mempunyai fungsi dan tugasSetiap satuan mempunyai fungsi dan tugas--tugas (tusi) tugas (tusi) yang diuraikan dalam bentuk wewenang dan tanggung yang diuraikan dalam bentuk wewenang dan tanggung jawab dalam suatu hubungan lini (garis).jawab dalam suatu hubungan lini (garis).
�� Fungsi dijabarkan dalam bentuk perincian kegiatan Fungsi dijabarkan dalam bentuk perincian kegiatan secara sederhana yang disebut dengan tugassecara sederhana yang disebut dengan tugas--tugas tugas pekerjaan.pekerjaan.
�� Wewenang Wewenang menunjukkan hak untuk melakukan menunjukkan hak untuk melakukan sesuatu atau memerintahkan orang lain untuk sesuatu atau memerintahkan orang lain untuk melakukan atau tidak melakukan sesuatu.melakukan atau tidak melakukan sesuatu.
�� Tanggung jawabTanggung jawab merupakan kewajiban pemegang merupakan kewajiban pemegang jabatan.jabatan.
�� Deskripsi pekerjaanDeskripsi pekerjaan menyebutkan atasan dan menyebutkan atasan dan �� Deskripsi pekerjaanDeskripsi pekerjaan menyebutkan atasan dan menyebutkan atasan dan bawahan langsung pemegang jabatan serta kondisi bawahan langsung pemegang jabatan serta kondisi kerja diuraikan secara ringkaskerja diuraikan secara ringkas
Struktur Perangkat LunakStruktur Perangkat Lunak
�� Pendekatan terstruktur menggambarkan perangkat Pendekatan terstruktur menggambarkan perangkat lunak dalam bentuk sistem yang strukturnya lunak dalam bentuk sistem yang strukturnya didefinisikan dengan jelas.didefinisikan dengan jelas.
�� Metodologi ini mengenalkan penggunaan alatMetodologi ini mengenalkan penggunaan alat--alat alat (tools) dan teknik(tools) dan teknik--teknik untuk mengembangkan teknik untuk mengembangkan sistem yang terstruktur.sistem yang terstruktur.sistem yang terstruktur.sistem yang terstruktur.
Struktur Perangkat LunakStruktur Perangkat Lunak
�� Strutur Perangkat LunakStrutur Perangkat Lunak adalah suatu penggamadalah suatu penggam--baran baran hirarkishirarkis yang yang menunjukkan hubunganmenunjukkan hubunganantara elemenantara elemen--elemen (modulelemen (modul--modul) dari modul) dari pemecahan suatu perangkat lunak terhadap pemecahan suatu perangkat lunak terhadap suatu masalah yang secara implisit telah suatu masalah yang secara implisit telah ditentukan dalam analisis kebutuhan.ditentukan dalam analisis kebutuhan.ditentukan dalam analisis kebutuhan.ditentukan dalam analisis kebutuhan.
�� Struktur perangkat lunak memperlihatkan suatu Struktur perangkat lunak memperlihatkan suatu arsitekturarsitektur program dan implikasinya pada program dan implikasinya pada kendali kendali terhirarkiterhirarki..
Structure ChartStructure Chart
�� Perangkat utama yang digunakan para Perangkat utama yang digunakan para perangcangan tersetruktur adalah perangcangan tersetruktur adalah Structure ChartStructure Chart..
�� Structure ChartStructure Chart memberi gambaran bagaimana memberi gambaran bagaimana sistem diorganisasikan menjadi sistem diorganisasikan menjadi modulmodul--modulmodul yang yang terkelola, terkelola, hirarkihirarki dari tiapdari tiap--tiap modul tersebut, dan tiap modul tersebut, dan interfaceinterface komunikasi antara modul.komunikasi antara modul.interfaceinterface komunikasi antara modul.komunikasi antara modul.
�� Structure ChartStructure Chart tidak memperlihatkan prosedur tidak memperlihatkan prosedur internal yang dilakukan suatu modul atau data internal yang dilakukan suatu modul atau data internal yang digunakan oleh suatu modul.internal yang digunakan oleh suatu modul.
�� Structure ChartStructure Chart terdiri dari: (1) Modulterdiri dari: (1) Modul--modul modul individual; (2) Data dari dan ke modul; (3) Kontrol individual; (2) Data dari dan ke modul; (3) Kontrol sebagai interface antara modulsebagai interface antara modul--modul.modul.
Berbagai Aktivitas BisnisBerbagai Aktivitas Bisnis
SimbolSimbol--simbol Structure Chartssimbol Structure Charts
� Panah lingkaran berlubang untuk menggambarkan data yang dipertukarkan antara dua modul
� Panah lingkaran solid untuk menggambrakan pesan-pesan (flag) yang dilewatkan antara dua modul.
Get
CustomerCustomerDetails
FindCustomer
Name
Customer
AccountNumber
Customer
Name
Account
Number is
OK
Flag dari pemaggil ke yang dipanggil
Flag dari yang dipanggil ke pemanggil
Data dari pemaggil ke yang dipanggil
Data dari yang dipanggil ke pemaggil
�� 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
TOTALTOTAL
GET VALID
CUSTOMER
RECORD
EDIT FIELD
ONE
CUSTOMER
READ
Valid Customer Record
Customer Record
Field
Field Valid
EOVCR
Customer
Total Line
Final Total
Line
ANALISIS STRUKTURANALISIS STRUKTUR
1.1. Data Flow Diagrams.Data Flow Diagrams.
((Information DescriptionInformation Description))
Struktur Analisis adalah suatu arus informasi dan teknik Struktur Analisis adalah suatu arus informasi dan teknik pemodelan isi (content). Informasi diubah kedalam pemodelan isi (content). Informasi diubah kedalam bentuk alirannya pada sistem berbasis komputer. bentuk alirannya pada sistem berbasis komputer.
1.1. Data Flow Diagrams.Data Flow Diagrams.
2.2. Data Structure Representation.Data Structure Representation.
3.3. Data Dictionary.Data Dictionary.
4.4. System Interface Description.System Interface Description.
5.5. Internal InterfacesInternal Interfaces
Diagram Aliran DataDiagram Aliran Data
Diagram Aliran DataDiagram Aliran Data adalah suatu teknik grafik yang adalah suatu teknik grafik yang menggambarkan almenggambarkan alurur informasi dan transformasi informasi dan transformasi menggunakan dekomposisi fungsi terhirarki dari suatu menggunakan dekomposisi fungsi terhirarki dari suatu proses dalam suatu sistem.proses dalam suatu sistem.
(Data Flow Diagrams)(Data Flow Diagrams)
�� Apa sebagai masukan.Apa sebagai masukan.
�� Apa sebagai keluaran.Apa sebagai keluaran.
�� Bagaimana terjadi Bagaimana terjadi proses proses perubahan perubahan didalamnyadidalamnya
SimbolSimbol--simbol Diagram Aliran Datasimbol Diagram Aliran Data
�� File eksternalFile eksternal
�� SatuanSatuan
LabelLabel�� Aliran dataAliran data
�� ProsesProses
�� Penyimpan dataPenyimpan data
LabelLabel
AturanAturan--aturan Diagram Aliran Dataaturan Diagram Aliran Data
�� Aliran informasi dari sistem manual, otomatis, Aliran informasi dari sistem manual, otomatis, hibrid, dapat digambarkan dengan jelashibrid, dapat digambarkan dengan jelas..
�� Setiap gagasan membutuhkan penyempurnaan Setiap gagasan membutuhkan penyempurnaan untuk memberikan pengertian yang lengkapuntuk memberikan pengertian yang lengkap..
�� Aliran data diberi tekanan lebih dari pada aliran Aliran data diberi tekanan lebih dari pada aliran kendali.kendali.kendali.kendali.
�� Satuan eksternal dan manusia tidak dimodelkan Satuan eksternal dan manusia tidak dimodelkan dalam Diagram Aliran Data.dalam Diagram Aliran Data.
�� Setiap panah diberi label.Setiap panah diberi label.
�� Panah yang membawa data, tidak punya relasi.Panah yang membawa data, tidak punya relasi.
Contoh DFDContoh DFD
PertanyaanPertanyaan
Buat struktur dan data flow diagram dari model Buat struktur dan data flow diagram dari model siklus transaksi aktivitas bisnis ?siklus transaksi aktivitas bisnis ?
Siklus pengolahan transaksi adalah Siklus pengolahan transaksi adalah mengelompokkan transaksi berdasarkan kesamaan mengelompokkan transaksi berdasarkan kesamaan unsur dan /atau sasaranunsur dan /atau sasaranunsur dan /atau sasaranunsur dan /atau sasaran
Model Siklus Transaksi BisnisModel Siklus Transaksi Bisnis
Kejadian-kejadian
Ekonomik
Siklus Pendapat-
Siklus Pengelu-
Siklus Produksi
Transaksi-transaksi
Siklus KeuanganPendapat-
anPengelu-
aranProduksi Keuangan
Siklus Pelaporan Keuangan
Laporan Keuangan
Empat Siklus Aktivitas Bisnis yang Umum
1.1. Siklus PendapatanSiklus Pendapatan. Kejadian. Kejadian--kejadian yang berkaitan kejadian yang berkaitan dengan penjualan barang dan jasa dan penagihan dengan penjualan barang dan jasa dan penagihan hasilhasil--hasilnya.hasilnya.
2.2. Siklus PengeluaranSiklus Pengeluaran. Kejadian. Kejadian--kejadian yang berkaitan kejadian yang berkaitan dengan perolehan barang dan jasa dan pelunasan dengan perolehan barang dan jasa dan pelunasan kewajiban / hutang.kewajiban / hutang.
Siklus ProduksiSiklus Produksi. Kejadian. Kejadian--kejadian yang berkaitan kejadian yang berkaitan 3.3. Siklus ProduksiSiklus Produksi. Kejadian. Kejadian--kejadian yang berkaitan kejadian yang berkaitan dengan manajemen dan pengendalian sumber daya dengan manajemen dan pengendalian sumber daya (investasi dan fasilitas).(investasi dan fasilitas).
4.4. Siklus KeuanganSiklus Keuangan. Kejadian. Kejadian--kejadian yang berkaitan kejadian yang berkaitan dengan perolehan dan manajemen danadengan perolehan dan manajemen dana--dana modal, dana modal, termasuk kas.termasuk kas.
Siklus Pelaporan KeuanganSiklus Pelaporan Keuangan
�� Siklus Pelaporan Keuangan bukan merupakan Siklus Pelaporan Keuangan bukan merupakan siklus operasi.siklus operasi.
�� Siklus ini memperoleh data akutansi dari operasi Siklus ini memperoleh data akutansi dari operasi siklus lain, dan mengolah data tersebut untuk siklus lain, dan mengolah data tersebut untuk menghasilkan laporan keuangan.menghasilkan laporan keuangan.
�� Penyajian laporan keuangan yang sesuai dengan Penyajian laporan keuangan yang sesuai dengan standar akutansi keuangan yang berlaku umum, standar akutansi keuangan yang berlaku umum, membutuhkan banyak penilaian dan ayat jurnal membutuhkan banyak penilaian dan ayat jurnal penyesuaian yang tidak secara langsung dihasilkan penyesuaian yang tidak secara langsung dihasilkan dari transaksidari transaksi--transaksi.transaksi.
Konteks DFDKonteks DFD
Diagram Level 0Diagram Level 0
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).
Model Struktur Model Struktur Diagram BukuDiagram Buku
book
header
bibliographic
trn
status
input
right
notes ?
type
publisher
Language +
personalauthor
corporatename*
titlebibliographic
subject
availability
category +
descriptor +
keyword*
abstract*
title
conference*
format
size
isbn
notes ?
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 DataKamus Data
Prosedur Perangkat LunakProsedur Perangkat Lunak
�� Prosedur Perangkat LunakProsedur Perangkat Lunak lebih menajamkan lebih menajamkan pada pada rincian tahapanrincian tahapan--tahapantahapan pengolahan dari pengolahan dari setiap modul secara individual.setiap modul secara individual.
�� Prosedur harus memberikan spesifikasi yang Prosedur harus memberikan spesifikasi yang tepat dari suatu pengolahan, meliputi tepat dari suatu pengolahan, meliputi urutanurutan--urutan kejadianurutan kejadian, titik, titik--titik keputusan yang pasti, titik keputusan yang pasti, urutan kejadianurutan kejadian, titik, titik--titik keputusan yang pasti, titik keputusan yang pasti, operasioperasi--operasi berulang, dan organisasi data operasi berulang, dan organisasi data dan struktur setiap kejadian.dan struktur setiap kejadian.
Prosedur Perangkat LunakProsedur Perangkat Lunak
Peta Aliran Peta Aliran (Flowchart)(Flowchart)
Peta AliranPeta Aliran memperlihatkan alur peta gerakan data memperlihatkan alur peta gerakan data masukkan, proses pengolahan, dan keluaran.masukkan, proses pengolahan, dan keluaran.
Umpan data Umpan data
input/outputinput/output
Input manualInput manual
Keputusan Keputusan
logikalogika
DatabaseDatabaseInput manualInput manual
ProsesProses
Operasi manualOperasi manual
DatabaseDatabase
OnOn--line storageline storage
DokumenDokumen
DisplayDisplay Kendali aliranKendali aliran
PROGRAM FLOWCHART:PROGRAM FLOWCHART:PROGRAM FLOWCHART:PROGRAM FLOWCHART:PROGRAM FLOWCHART:PROGRAM FLOWCHART:PROGRAM FLOWCHART:PROGRAM FLOWCHART:PROCESS A
PROCESS B
SEQUENCESEQUENCE
R
PROCESS E
S
TRUE
ITERATIONITERATION
PROCESS CPROCESS D
TRUE
SELECTIONSELECTION
KONSTRUKSI FLOWCHARTsKONSTRUKSI FLOWCHARTs
BerurutBerurutBersyaratBersyaratBersyaratBersyarat
SeleksiSeleksi BerulangBerulang
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 LUNAKPROSES PERANCANGAN PERANGKAT LUNAK
Proses Perancangan Perangkat Lunak menurut aspek Proses Perancangan Perangkat Lunak menurut aspek manajemen proyek dibagi dua tingkat:manajemen proyek dibagi dua tingkat:
1. Perancangan Sistem 1. Perancangan Sistem ((System/Preliminary DesignSystem/Preliminary Design))
2. Perancangan Terperinci 2. Perancangan Terperinci ((Detailed DesignDetailed Design))..
�� Preliminary designPreliminary design berhubungan dengan struktur berhubungan dengan struktur perangkat lunak yaitu ukuran, kompleksitas dan perangkat lunak yaitu ukuran, kompleksitas dan arsitektur suatu perangkat lunak (arsitektur suatu perangkat lunak (organisasi organisasi fungsional, hirarki dan hubungan antara modulfungsional, hirarki dan hubungan antara modul--modulmodul).).
�� Detailed designDetailed design terpusat pada prosedur untuk terpusat pada prosedur untuk menggambarkan fungsi kerja perangkat lunak menggambarkan fungsi kerja perangkat lunak berupa rincian struktur data dan algoritma program berupa rincian struktur data dan algoritma program ((Membuat prosedur setiap modulMembuat prosedur setiap modul).).
Aspek Manajemen dan Aspek TeknisAspek Manajemen dan Aspek Teknis
Hubungan antara aspekHubungan antara aspek--aspek manajemen dengan aspek manajemen dengan aspekaspek--aspek teknis dari perancanganaspek teknis dari perancangan
AspekAspek--aspek aspek ManajemenManajemen
Preliminary Design
Detail DesignDetail Design
Data Design
Architectural Design
Procedural Design
Interface Design
AspekAspek--aspek aspek TeknisTeknis
�� Perancangan DataPerancangan Data (Data Design)(Data Design)Mengubah model domain informasi yang dibuat Mengubah model domain informasi yang dibuat pada saat analisis menjadi strukturpada saat analisis menjadi struktur--struktur data.struktur data.
�� Perancangan ArsitekturalPerancangan Arsitektural (Architectural Design)(Architectural Design)Mendefiniskan hubungan antara komponenMendefiniskan hubungan antara komponen--komponen struktural utama dari program.komponen struktural utama dari program.
Perancangan perangkat lunak menurut aspek teknis:Perancangan perangkat lunak menurut aspek teknis:
komponen struktural utama dari program.komponen struktural utama dari program.
�� Perancangan ProseduralPerancangan Prosedural (Procedural Design)(Procedural Design)Mengubah komponenMengubah komponen--komponen struktural menjadi komponen struktural menjadi suatu gambaran prosedural dari perangkat lunak.suatu gambaran prosedural dari perangkat lunak.
�� Perancangan AntarmukaPerancangan Antarmuka (Interface Design)(Interface Design)Memberikan layout dan mekanisme interaksi antara Memberikan layout dan mekanisme interaksi antara manusiamanusia--mesin.mesin.
Definisi Kebutuhan
Perangkat Lunak
����Preliminary
•• Definisi struktur Definisi struktur modular modular dan dan struktur struktur data.data.
•• Membuat antarmukaMembuat antarmuka--antarmuka antarmuka modul.modul.
•• Mengidentifikasikan hambatanMengidentifikasikan hambatan--
Periksa kembali
Preliminary
Design
Description
Revisi
Diterima
•• Mengidentifikasikan hambatanMengidentifikasikan hambatan--hambatanhambatan
Membuat spesifikasi aspekMembuat spesifikasi aspek--aspek aspek
prosedural prosedural dan struktur data dan struktur data untuk untuk
setiap modulsetiap modul
Periksa kembali
����Detailed
Design
DescriptionRevisi
Diterima
PengkodeanPengkodean
Pengkodean
dapat diterima
����PemrogramanRevisi
Diterima
PengujianPengujian
•• UnitUnit
•• IntegrasiIntegrasi
•• ValidasiValidasi
����Perencanaan
dan Prosedur
Pengujian
Perangkat Lunak siap untuk diPerangkat Lunak siap untuk di--releasereleasePerangkat Lunak siap untuk diPerangkat Lunak siap untuk di--releaserelease
1.1. Preliminary Design dilihat kembali untuk kelengkapan dan Preliminary Design dilihat kembali untuk kelengkapan dan
penelusuran kebutuhan perangkat lunak.penelusuran kebutuhan perangkat lunak.
2.2. Perangkat bantu perancangan (Perangkat bantu perancangan (design tooldesign tool) digunakan untuk ) digunakan untuk
memberikan deskripsi memberikan deskripsi detailed designdetailed design elemen perangkat elemen perangkat
lunak.lunak.
3.3. Langkah berikutnya adalah pengkodean yaitu pembangLangkah berikutnya adalah pengkodean yaitu pembang--
kitan suatu program dengan bahasa pemrogram tertentu.kitan suatu program dengan bahasa pemrogram tertentu.
TAHAPTAHAP HASIL PRODUKSIHASIL PRODUKSI
PERENCANAAN - Penggambaran Masalah.
- Rencana Pengembangan PL.
- Rencana Pengukuran Kinerja.
ANALISIS - Diagram Aliran Data.
PROSES PENGEMBANGANPROSES PENGEMBANGAN
ANALISIS - Diagram Aliran Data.
- Spesifikasi Elemen Fungsi-fungsi.
- Model Entity-Relationship.
- Kamus Data Analisis.
- Rencana Pengujian Terintegrasi.
- Laporan Kesalahan Analisis.
TAHAPTAHAP HASIL PRODUKSIHASIL PRODUKSI
DISAIN - Chart Struktur.
- Spesifikasi Modul.
- Tabel Normalisasi dan Jejak Navigasi.
- Kamus Data Rancangan.
- Matriks Cross Reference.- Matriks Cross Reference.
- Rencana Pengujian Terintegrasi
- Laporan Kesalahan Disain
PERANCANGAN SISTEMPERANCANGAN SISTEM
Sistem Sistem didefinisikan sebagai suatu koleksi dari elemendidefinisikan sebagai suatu koleksi dari elemen--elemen yang saling berhubungan dan terkoordinasi elemen yang saling berhubungan dan terkoordinasi dalam suatu kendali yang memungkinkan dari suatu dalam suatu kendali yang memungkinkan dari suatu masukan tercapainya suatu tujuan atau keluaranmasukan tercapainya suatu tujuan atau keluaran..
MODULMODUL--MODULMODUL
�� Perangkat Lunak yang akan dibangun umumnya Perangkat Lunak yang akan dibangun umumnya besarbesar, , komplekskompleks, , jangka waktu yang panjangjangka waktu yang panjang dan dan melibatkan melibatkan banyak pihakbanyak pihak..
�� Sistem terdiri dari elemenSistem terdiri dari elemen--elemen, dan elemen, dan elemenelemen--elemen utamaelemen utama dalam perangkat lunak disebut dalam perangkat lunak disebut modulmodul..
�� Berapa jumlah, besar dan kompleksitas suatu modul Berapa jumlah, besar dan kompleksitas suatu modul �� Berapa jumlah, besar dan kompleksitas suatu modul Berapa jumlah, besar dan kompleksitas suatu modul yang harus dibuat dari suatu perangkat lunak.yang harus dibuat dari suatu perangkat lunak.
�� ModulModul--modul tersebut akan saling berinteraksi, dan modul tersebut akan saling berinteraksi, dan bagaimana meminimalkan interaksi antara modul (bagaimana meminimalkan interaksi antara modul (low low couplingcoupling).).
�� Modul adalah bagian dari suatu program yang dapat Modul adalah bagian dari suatu program yang dapat dipisah secara logika yaitu dapat berupa suatu paket, dipisah secara logika yaitu dapat berupa suatu paket, proses, prosedur, subrutin, fungsi atau makroproses, prosedur, subrutin, fungsi atau makro..
�� Modularity Modularity memungkinkan program dapat dikelola memungkinkan program dapat dikelola secara lebih mudah dan lebih cerdas.secara lebih mudah dan lebih cerdas.
�� Misal Misal C(x)C(x) adalah suatu fungsi yang menentukan adalah suatu fungsi yang menentukan
MODULARITYMODULARITY
�� Misal Misal C(x)C(x) adalah suatu fungsi yang menentukan adalah suatu fungsi yang menentukan kompleksitas suatu masalah kompleksitas suatu masalah xx dan dan E(x)E(x) adalah fungsi adalah fungsi yang menentukan usaha atau waktu yang dibutuhkan yang menentukan usaha atau waktu yang dibutuhkan untuk menyelesaikan masalah untuk menyelesaikan masalah xx..
�� Untuk suatu masalah Untuk suatu masalah pp11 dan dan pp22 , jika , jika C(pC(p11) > C(p) > C(p22))
Maka biasanya Maka biasanya E(pE(p11) > E(p) > E(p22))
�� Artinya diperlukan lebih banyak waktu untuk Artinya diperlukan lebih banyak waktu untuk menyelesaikan masalah yang lebih kompleksmenyelesaikan masalah yang lebih kompleks
Sifat menarik lainnya dari pemecahan masalah oleh Sifat menarik lainnya dari pemecahan masalah oleh manusia adalah:manusia adalah:
C(pC(p11 + p+ p22) > C(p) > C(p11) + C(p) + C(p22))
Artinya Artinya kompleksitaskompleksitas suatu masalah yang merupakan suatu masalah yang merupakan gabungan dari gabungan dari pp11 dan dan pp22 adalah lebih besar dari pada adalah lebih besar dari pada kompleksitas memecahkan masalah secara terpisah atau kompleksitas memecahkan masalah secara terpisah atau sendirisendiri--sendiri.sendiri.sendirisendiri--sendiri.sendiri.
Sifat menarik lainnya dari pemecahan masalah oleh Sifat menarik lainnya dari pemecahan masalah oleh manusia adalah:manusia adalah:
E(pE(p11 + p+ p22) > E(p) > E(p11) + E(p) + E(p22))
KESIMPULANKESIMPULAN adalah lebih mudah menyelesaikan suatu adalah lebih mudah menyelesaikan suatu masalah kompleks jika masalah tersebut dapat masalah kompleks jika masalah tersebut dapat dipecahdipecahmenjadi bagianmenjadi bagian--bagian yang terkelolabagian yang terkelola
Keuntungan melakukan pemodulan:Keuntungan melakukan pemodulan:
1.1. Modul dapat lebih mudah untuk dipahami dan Modul dapat lebih mudah untuk dipahami dan dijelaskan, sehingga pendokumentasiannya lebih cepat.dijelaskan, sehingga pendokumentasiannya lebih cepat.
2.2. Lebih mudah untuk diprogram karena setiap kelompok Lebih mudah untuk diprogram karena setiap kelompok bebas dapat bekerja pada modulbebas dapat bekerja pada modul--modul secara terpisah modul secara terpisah dengan sedikit melakukan komunikasi.dengan sedikit melakukan komunikasi.dengan sedikit melakukan komunikasi.dengan sedikit melakukan komunikasi.
3.3. Lebih mudah untuk di test, karena masingLebih mudah untuk di test, karena masing--masing masing dapat diuji secara terpisah kemudian diintegrasikan dan dapat diuji secara terpisah kemudian diintegrasikan dan diuji lagi secara bersama.diuji lagi secara bersama.
4.4. Jika suatu modul tidak tergantung pada yang lain, Jika suatu modul tidak tergantung pada yang lain, maka akan lebih mudah pemeliharaannya. Perubahan maka akan lebih mudah pemeliharaannya. Perubahan dapat dilakukan tanpa mengganggu moduldapat dilakukan tanpa mengganggu modul--modul lain.modul lain.
Suatu Rancangan Sistem harus:Suatu Rancangan Sistem harus:
�� menunjukan suatu menunjukan suatu organisasi terhirarkiorganisasi terhirarki yang dapat yang dapat mengendalikan komponenmengendalikan komponen--komponen perangkat lunak.komponen perangkat lunak.
�� modularmodular artinya perangkat lunak harus dapat dibagi artinya perangkat lunak harus dapat dibagi secara logika kedalam komponensecara logika kedalam komponen--komponen yang komponen yang membentuk fungsimembentuk fungsi--fungsi atau subfungsi atau sub--sub fungsi tertentu. sub fungsi tertentu.
�� memberikan memberikan penggambaranpenggambaran yang jelas dan terpisah yang jelas dan terpisah �� memberikan memberikan penggambaranpenggambaran yang jelas dan terpisah yang jelas dan terpisah dari dari data dan prosedurdata dan prosedur..
�� Menuju kepada Menuju kepada modulmodul ((subroutinesubroutine atau atau procedureprocedure). ). mempunyai sifatmempunyai sifat--sifat fungsional yang sifat fungsional yang independentindependent..
�� Membentuk Membentuk antarmukaantarmuka--antarmukaantarmuka yang mengurangi yang mengurangi kerumitan hubungan antara modulkerumitan hubungan antara modul--modul dan dengan modul dan dengan lingkungan luar.lingkungan luar.
Perinsip Dasar Perancangan SistemPerinsip Dasar Perancangan Sistem
�� KriteriaKriteria apa yang dapat digunakan untuk membagi apa yang dapat digunakan untuk membagi perangkat lunak menjadi komponenperangkat lunak menjadi komponen--komponen komponen individual atau modulindividual atau modul--modul ?modul ?
�� Bagaimana Bagaimana fungsi dan rincian struktur datafungsi dan rincian struktur datadipisahkan dari gambaran konsepsual perangkat dipisahkan dari gambaran konsepsual perangkat lunak ?lunak ?lunak ?lunak ?
�� Apakah ada Apakah ada keseragaman kriteriakeseragaman kriteria yang yang mendefinisikan mendefinisikan kualitas teknikkualitas teknik dari rancangan dari rancangan perangkat lunak ?perangkat lunak ?
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 kecilyang memberikan biaya pengembangan paling kecil
ABSTRAKSIABSTRAKSI
�� Abstraksi adalah suatu perangkat yang sangat penting Abstraksi adalah suatu perangkat yang sangat penting dalam pengembangan perangkat lunakdalam pengembangan perangkat lunak..
�� Abstraksi memungkinkan perancang untuk Abstraksi memungkinkan perancang untuk memusatkan suatu masalah pada tingkat abstrak lebih memusatkan suatu masalah pada tingkat abstrak lebih umum tanpa harus tahu rincianumum tanpa harus tahu rincian--rincian dari komponen rincian dari komponen yang diimplementasikan pada tingkat lebih rendah yang diimplementasikan pada tingkat lebih rendah yang diimplementasikan pada tingkat lebih rendah yang diimplementasikan pada tingkat lebih rendah yang tidak relevanyang tidak relevan..
�� Artinya penggunaan abstraksi memungkinkan Artinya penggunaan abstraksi memungkinkan perancang bekerja dengan konsepperancang bekerja dengan konsep--konsep dan istilahkonsep dan istilah--istilah yang telah dikenal tanpa harus mengubah suatu istilah yang telah dikenal tanpa harus mengubah suatu lingkungan masalah menjadi suatu struktur yang tidak lingkungan masalah menjadi suatu struktur yang tidak dikenal.dikenal.
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
Dua kategori abstraksi dalam perancangan Dua kategori abstraksi dalam perancangan
1.1. Abstraksi FungsionalAbstraksi Fungsional
Dalam abstraksi fungsional suatu modul dicirikan dari Dalam abstraksi fungsional suatu modul dicirikan dari fungsi yang dibentuknya. Abstraksi ini berhubungan fungsi yang dibentuknya. Abstraksi ini berhubungan dengan metodologi perancangan strukturaldengan metodologi perancangan struktural
Misalnya suatu modul untuk menghitung nilai sinus Misalnya suatu modul untuk menghitung nilai sinus dapat diberi abstrak yang digambarkan sebagai fungsi dapat diberi abstrak yang digambarkan sebagai fungsi sinussinus..
2.2. Abstraksi DataAbstraksi Data
Dalam abstraksi data, data diperlakukan seperti suatu Dalam abstraksi data, data diperlakukan seperti suatu obyek dengan beberapa operasi yang ditentukan obyek dengan beberapa operasi yang ditentukan sebelumnya untuk datasebelumnya untuk data--data tersebut. Bentuk abstraksi data tersebut. Bentuk abstraksi ini merupakan dasar metodologi perancangan ini merupakan dasar metodologi perancangan berorientasi obyek.berorientasi obyek.
�� Suatu Suatu modulmodul yang yang mengendalikanmengendalikan modul modul yang modul modul yang lain disebut lain disebut superodinatesuperodinate terhadap modul tersebutterhadap modul tersebut..
�� Sedangkan suatu Sedangkan suatu modulmodul yang yang dikendalikandikendalikan modul lain modul lain disebut disebut subordinatesubordinate terhadap modul tersebutterhadap modul tersebut
�� Modul berurutanModul berurutan ((sequential modulesequential module) yaitu diacu dan ) yaitu diacu dan dieksekusi tanpa adanya interupsi oleh perangkat dieksekusi tanpa adanya interupsi oleh perangkat lunak aplikasi. lunak aplikasi. Misalnya subprogram konvensional, Misalnya subprogram konvensional, subroutinesubroutine, , functionsfunctions atau atau proceduresprocedures..
�� Module bertambahModule bertambah ((incremental moduleincremental module) yaitu dapat ) yaitu dapat diinterupsi sebelum menyelesaikan seluruh tugasnya diinterupsi sebelum menyelesaikan seluruh tugasnya
Menurut struktur perangkat lunak, suatu modul Menurut struktur perangkat lunak, suatu modul
dapat dikategorikan sebagai:dapat dikategorikan sebagai:
diinterupsi sebelum menyelesaikan seluruh tugasnya diinterupsi sebelum menyelesaikan seluruh tugasnya oleh perangkat lunak aplikasi dan sesudah itu oleh perangkat lunak aplikasi dan sesudah itu melanjutkan kembali dari titik yang terinterupsimelanjutkan kembali dari titik yang terinterupsi
Sering disebut dengan Sering disebut dengan coroutinescoroutines..
�� Modul paralelModul paralel yang melaksanakan secara simultan yang melaksanakan secara simultan dengan modul lain dalam lingkungan multiprosesor dengan modul lain dalam lingkungan multiprosesor yang bekerja secara paralel.yang bekerja secara paralel.
ModulModul--modul paralel disebut modul paralel disebut conroutinesconroutines
MODUL MANDIRIMODUL MANDIRI
Modul Mandiri dapat tercapai jika mengembangkan modul Modul Mandiri dapat tercapai jika mengembangkan modul dengan suatu fungsi tunggal dan tidak terlampau banyak dengan suatu fungsi tunggal dan tidak terlampau banyak berinteraksi dengan modulberinteraksi dengan modul--modul yang lain.modul yang lain.
Dua kategori untuk mengukur kualitas kemandirian yaituDua kategori untuk mengukur kualitas kemandirian yaitu::
((MODULEMODULE INDEPENDENCEINDEPENDENCE ))
Dua kategori untuk mengukur kualitas kemandirian yaituDua kategori untuk mengukur kualitas kemandirian yaitu::
�� Keterkaitan harus rendahKeterkaitan harus rendah ((Low CouplingLow Coupling))..adalah ukuran saling ketergantungan relatif antara adalah ukuran saling ketergantungan relatif antara modulmodul--modul atau interaksi diantara modul kecil.modul atau interaksi diantara modul kecil.
�� KeterpaduanKeterpaduan harus tinggiharus tinggi ((High CohesionHigh Cohesion))..adalah ukuran kekuatan fungsional relatif dari suatu adalah ukuran kekuatan fungsional relatif dari suatu modul dimana interaksi internalnya sangat besar.modul dimana interaksi internalnya sangat besar.
Coupling & CohesionCoupling & Cohesion
couplingantaramodule
cohesion didalammodule
Bagaimana terjadinya interaksi antara modulBagaimana terjadinya interaksi antara modul--
modul ?modul ?
1.1. Mengaktifkan kodeMengaktifkan kode modul yang lain.modul yang lain.2.2. Melompat atau bercabangMelompat atau bercabang ke suatu tempat lain.ke suatu tempat lain.3.3. Mengakses dataMengakses data bersama modul yang lain.bersama modul yang lain.4.4. DataData yang bisa dipergunakan yang bisa dipergunakan bersamabersama
Jawab:Jawab:
4.4. DataData yang bisa dipergunakan yang bisa dipergunakan bersamabersama5.5. Prosedur panggilanProsedur panggilan dengan suatu dengan suatu sakelarsakelar sebagai sebagai
parameter.parameter.6.6. Prosedur panggilanProsedur panggilan dengan dengan data murnidata murni sebagai sebagai
parameter.parameter.7.7. Melewatkan Melewatkan arus dataarus data serial dari satu modul ke modul serial dari satu modul ke modul
lain.lain.
COUPLINGCOUPLING
�� Coupling (keterkaitan)Coupling (keterkaitan) adalah ukuran bagaimana adalah ukuran bagaimana modulmodul--modul saling berhubungan dan saling modul saling berhubungan dan saling bergantungan.bergantungan.
�� Modul yang tidak tergantung dari modul yang lain Modul yang tidak tergantung dari modul yang lain mempunyai derajat coupling rendah.mempunyai derajat coupling rendah.
Jenis Coupling dan DerajadnyaJenis Coupling dan Derajadnya
Jenis CouplingJenis Coupling JenjangJenjang DerajadDerajad KualitasKualitas
Data couplingData coupling
Stamp couplingStamp coupling
11
22
RendahRendah TerbaikTerbaik
Control couplingControl coupling
External couplingExternal coupling
Common couplingCommon coupling
Content couplingContent coupling
33
44
55
66 TinggiTinggi TerjelekTerjelek
1.1. No direct couplingNo direct coupling
Modul 1 dan modul 2 adalah subordinate terhadap Modul 1 dan modul 2 adalah subordinate terhadap modulmodul--modul yang berbeda. Sehingga masingmodul yang berbeda. Sehingga masing--masing tidak berhubungan dan tidak ada masing tidak berhubungan dan tidak ada penggandengan langsung yang terjadi antara penggandengan langsung yang terjadi antara keduanya.keduanya.
2.2. Data couplingData couplingDua buah modul dari sistem mempunyai data Dua buah modul dari sistem mempunyai data coupling jika komunikasi dari modulcoupling jika komunikasi dari modul--modul ini modul ini dilakukan lewat suatu data. Data dapat berupa dilakukan lewat suatu data. Data dapat berupa sebuah item data tunggal atau elemen dari suatu larik sebuah item data tunggal atau elemen dari suatu larik (array).(array).
3.3. Stamp couplingStamp coupling
DuaDua buah modul dikatakan stamp coupling jika kedua buah modul dikatakan stamp coupling jika kedua modul ini berkomunikasi lewat suatu kelompok item modul ini berkomunikasi lewat suatu kelompok item data. Kelompok item data dapat berupa suatu record data. Kelompok item data dapat berupa suatu record yang terdiri dari beberapa field atau larik yang terdiri yang terdiri dari beberapa field atau larik yang terdiri dari beberapa elemen.dari beberapa elemen.
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 modulTingkat coupling yang terjadi bila modul--modul modul terikat pada lingkungan luar (external) dari terikat pada lingkungan luar (external) dari perangkat lunak.perangkat lunak.
6.6. Common couplingCommon coupling
ModulModul--modul dikatakan common coupling jika modul dikatakan common coupling jika mdoulmdoul--modul tersebut menggunakan data yang modul tersebut menggunakan data yang disimpan di area memori yang sama.disimpan di area memori yang sama.
7.7. Content couplingContent coupling
Content coupling terjadi jika suatu modul mengguContent coupling terjadi jika suatu modul menggu--nakan data atau mengendalikan informasi dari modul nakan data atau mengendalikan informasi dari modul yang lain tanpa berhubungan lewat suatu parameter.yang lain tanpa berhubungan lewat suatu parameter.
Content coupling dapat juga terjadi jika percabangan Content coupling dapat juga terjadi jika percabangan dilakukan ke tengahdilakukan ke tengah--tengah suatu modul yang laintengah suatu modul yang lain
Isi Isi informasiinformasi
Jenis Jenis komunikasikomunikasi
Jenis Jenis hubunganhubungan
Low couplingLow coupling(terbaik)(terbaik)
Sederhana,Sederhana,jelasjelas
DataData Koneksi normalKoneksi normaldengan dengan
parameterparameterData couplingData coupling
Stamp couplingStamp coupling
High coupling High coupling (terjelek)(terjelek)
Rumit,Rumit,Tidak jelasTidak jelas KontrolKontrol
Pathalogical, Pathalogical, tidak dengantidak denganparameterparameter
Stamp couplingStamp coupling
Control couplingControl coupling
Common couplingCommon coupling
Content couplingContent coupling
KEPADUAN (COHESION)KEPADUAN (COHESION)
Cohesion adalah ukuran keterpaduan dimana hubungan Cohesion adalah ukuran keterpaduan dimana hubungan antara elemenantara elemen--elemen dalam suatu modul jelas dan elemen dalam suatu modul jelas dan terstruktur, sehingga modul dapat dipandang sebagai terstruktur, sehingga modul dapat dipandang sebagai suatu unit dengan fungsi tunggal (suatu unit dengan fungsi tunggal (functionally cohesivefunctionally cohesive).).
Ada beberapa tingkat dari keterpaduan :Ada beberapa tingkat dari keterpaduan :
(1) Coincidental, (2) Logical, (3) Temporal, (4) Procedural, (1) Coincidental, (2) Logical, (3) Temporal, (4) Procedural, (5) Communicational, (6) Sequential, (7) Functional.(5) Communicational, (6) Sequential, (7) Functional.
1.1. Coincidental cohesionCoincidental cohesion jika modul terdiri dari beberapa jika modul terdiri dari beberapa fungsi tetapi tidak terdapat hubungan yang berarti fungsi tetapi tidak terdapat hubungan yang berarti antara elemenantara elemen--elemen dari modul tersebut. Suatu elemen dari modul tersebut. Suatu kejadian dimana secara kebetulan saja bahwa elemenkejadian dimana secara kebetulan saja bahwa elemen--elemen berada dalam tempat yang samaelemen berada dalam tempat yang sama. . Coincidental Coincidental adalah tingkat terendah dari kepaduan.adalah tingkat terendah dari kepaduan.
2.2. Suatu modul memiliki Suatu modul memiliki logical cohesionlogical cohesion jika terdiri dari jika terdiri dari beberapa fungsi yang mempunyai tugas serupa atau beberapa fungsi yang mempunyai tugas serupa atau melakukan melakukan fungsifungsi--fungsifungsi yang yang masuk dalam kelas masuk dalam kelas logika yang samalogika yang sama..
3.3. Temporal cohesionTemporal cohesion jika modul terdiri dari beberapa fungsi jika modul terdiri dari beberapa fungsi dan suatu fungsi atau elemendan suatu fungsi atau elemen--elemen dalam modul elemen dalam modul membentuk fungsimembentuk fungsi--fungsi yang berhubungan dengan fungsi yang berhubungan dengan waktu atau dieksekusi pada satu titik waktu tertentu.waktu atau dieksekusi pada satu titik waktu tertentu.
4.4. Procedural cohesionProcedural cohesion yaitu modul terdiri dari beberapa yaitu modul terdiri dari beberapa fungsi, walaupun elemenfungsi, walaupun elemen--elemen dalam modul kurang elemen dalam modul kurang berhubungan tetapi pemrosesannya harus berhubungan tetapi pemrosesannya harus dilaksanakan dalam suatu urutan tertentu.dilaksanakan dalam suatu urutan tertentu.
5.5. Communicational cohesionCommunicational cohesion yaitu jika modul terdiri dari yaitu jika modul terdiri dari beberapa fungsi dan elemenbeberapa fungsi dan elemen--elemen dalam modul elemen dalam modul beroperasi dengan menggunakan arus data yang sama.beroperasi dengan menggunakan arus data yang sama.
6.6. Sequential cohesionSequential cohesion jika keluaran dari suatu elemen jika keluaran dari suatu elemen merupakan masukan untuk elemen yang lain secara merupakan masukan untuk elemen yang lain secara berurutan. Modul terdiri dari beberapa fungsi dimana berurutan. Modul terdiri dari beberapa fungsi dimana elemen dalam modul bertindak sebagai suatu himpunan elemen dalam modul bertindak sebagai suatu himpunan urutan aksiurutan aksi--aksi atau fungsiaksi atau fungsi--fungsi sangat berikatan.fungsi sangat berikatan.
Compute
square root
Sort
the array
7.7. Functional cohesionFunctional cohesion yaitu bila seluruh elemen dari yaitu bila seluruh elemen dari modul terkait hanya melakukan suatu fungsi tunggal modul terkait hanya melakukan suatu fungsi tunggal yang terdefinisi dengan baik, tanpa tergantung pada yang terdefinisi dengan baik, tanpa tergantung pada implementasi modulimplementasi modul--modul yang lain.modul yang lain.
Modul yang berisi beberapa fungsi bukan functional Modul yang berisi beberapa fungsi bukan functional cohesion.cohesion.
UMUMNYA YANG BAIK ADALAHUMUMNYA YANG BAIK ADALAH
�� Low couplingLow coupling
�� High cohesion.High cohesion.
Bagaimana meminimalkan interaksi antara modul (Bagaimana meminimalkan interaksi antara modul (low low couplingcoupling) dengan meningkatkan interkasi internal di ) dengan meningkatkan interkasi internal di dalam modul itu sendiri sehingga dapat melakukan dalam modul itu sendiri sehingga dapat melakukan sutu fungsi tunggal yang terpadu (sutu fungsi tunggal yang terpadu (high cohesionhigh cohesion).).
SoalSoal
procedure file (file_ptr, file_name, op_name);procedure file (file_ptr, file_name, op_name);
beginbegin
case op_name ofcase op_name of
“open”: membentuk aktivitas membuka file.“open”: membentuk aktivitas membuka file.
Misal suatu modul untuk mendukung file ditulis Misal suatu modul untuk mendukung file ditulis dalam bahasa Pascal seperti dibawah ini:dalam bahasa Pascal seperti dibawah ini:
“open”: membentuk aktivitas membuka file.“open”: membentuk aktivitas membuka file.
“close”: membentuk aktivitas menutup file.“close”: membentuk aktivitas menutup file.
“print”: mencetak file.“print”: mencetak file.
end caseend case
endend
Cohesion jenis apa yang terjadi pada modul ini ? Cohesion jenis apa yang terjadi pada modul ini ? Bagaimana kita mengubah modul untuk menBagaimana kita mengubah modul untuk menambahambahcohesion.cohesion.
�� Procedural cohesionProcedural cohesion
�� Agar menjadi functional cohesion modul harus Agar menjadi functional cohesion modul harus dibagi menjadi tiga modul:dibagi menjadi tiga modul:
1)1) procedure procedure open_open_file (file_ptr, file_name);file (file_ptr, file_name);
beginbegin
“open”: membentuk aktivitas membuka file.“open”: membentuk aktivitas membuka file.
endend
2)2) procedure procedure close_close_file (file_ptr, file_name);file (file_ptr, file_name);2)2) procedure procedure close_close_file (file_ptr, file_name);file (file_ptr, file_name);
beginbegin
“close”: membentuk aktivitas menutup file.“close”: membentuk aktivitas menutup file.
endend
3)3) procedure procedure print_print_file (file_ptr, file_name);file (file_ptr, file_name);
beginbegin
“print”: mencetak file“print”: mencetak file
endend
Buat struktur dan flowchart dari program Buat struktur dan flowchart dari program dibawah inidibawah iniprogram abc (input, output)program abc (input, output)
var x , y : integer;var x , y : integer;procedure hitung1;procedure hitung1;
x := x + y;x := x + y;y := y + 5;y := y + 5;
end;end;procedure hitung2;procedure hitung2;
x := x + 5;x := x + 5;x := x + 5;x := x + 5;y := y + x;y := y + x;hitung1;hitung1;
end;end;beginbegin
x := 0; y := 0;x := 0; y := 0;hitung1;hitung1;hitung2;hitung2;
end;end;
JawabJawab
abcabc
x, y
Input
Inisialisasix = 0, y = 0
x = x + y
y = y + 5
Struktur InformasiStruktur Informasi
FlowchartFlowchart
hitung1hitung1 hitung2hitung2x, y
y = y + 5
x = x + 5
y = y + x
x = x + y
y = y + 5
Output
b.b. Jelaskan jenis Jelaskan jenis couplingcoupling apa yang terjadi dan apa yang terjadi dan modifikasi program diatas untuk memperbaiki modifikasi program diatas untuk memperbaiki struktur programnya sehingga struktur programnya sehingga couplingcouplingmenjadi lebih rendahmenjadi lebih rendah..
c.c. Jenis Content couplingJenis Content coupling
d.d. Modifikasi menjadi data coupling dengan Modifikasi menjadi data coupling dengan d.d. Modifikasi menjadi data coupling dengan Modifikasi menjadi data coupling dengan menghilangkan pemanggilan modul hitung 1 menghilangkan pemanggilan modul hitung 1 pada modul hitung 2pada modul hitung 2
Otomatisasi Sistem Manual Terdefinisi BaikOtomatisasi Sistem Manual Terdefinisi Baik
PertanyaanPertanyaan
Apa perbedaan antara Apa perbedaan antara arus informasi arus informasi ((information information flowflow)) dengan dengan struktur informasi struktur informasi ((information information structurestructure)) ?. ?.
Apakah ada sistem yang tidak memiliki Apakah ada sistem yang tidak memiliki information information flowflow ? Apakah ada sistem yang tidak memiliki ? Apakah ada sistem yang tidak memiliki flowflow ? Apakah ada sistem yang tidak memiliki ? Apakah ada sistem yang tidak memiliki information structureinformation structure?.?.
DETAILED DESIGN TOOLSDETAILED DESIGN TOOLS
�� Graphical tools.Graphical tools. Rincian prosedur digambarkan dalam Rincian prosedur digambarkan dalam bentuk bangunan logika dalam bentuk gambarbentuk bangunan logika dalam bentuk gambar--gambar gambar khusus.khusus.-- Flowchart.Flowchart.-- Diagram Kotak Diagram Kotak (Box Diagram)(Box Diagram)..
�� Tabular tools.Tabular tools. Rincian prosedur direpresentasikan dalam Rincian prosedur direpresentasikan dalam bentuk tabel yang menggambarkan aksibentuk tabel yang menggambarkan aksi--aksi, kondisiaksi, kondisi--bentuk tabel yang menggambarkan aksibentuk tabel yang menggambarkan aksi--aksi, kondisiaksi, kondisi--kondisi dan alternatifkondisi dan alternatif--alternatif yang menghualternatif yang menghu--bungan bungan informasi masukan, pengolahan, dan keluaraninformasi masukan, pengolahan, dan keluaran..-- Tabel Keputusan Tabel Keputusan (Decision Tables)(Decision Tables)..
�� Language toolsLanguage tools. Rincian prosedur digambarkan dalam . Rincian prosedur digambarkan dalam suatu pseudocode yang sangat menyerupai suatu suatu pseudocode yang sangat menyerupai suatu bahasa pemrograman.bahasa pemrograman.-- Program Design LanguageProgram Design Language (PDL)(PDL)
DIAGRAM KOTAKDIAGRAM KOTAK
Diagram kotak disusun untuk mengembangkan suatu Diagram kotak disusun untuk mengembangkan suatu perangkat rancangan grafik yang tidak membolehkan perangkat rancangan grafik yang tidak membolehkan adanya pelanggaran konsutriksi strukturadanya pelanggaran konsutriksi struktur
Diagran NDiagran N--S charts (S charts (NassiNassi--Shneiderman chartsShneiderman charts))
1.1. Domain fungsional didefinisikan dengan baik dan Domain fungsional didefinisikan dengan baik dan 1.1. Domain fungsional didefinisikan dengan baik dan Domain fungsional didefinisikan dengan baik dan terlihat jelas sebagai suatu representasi piktorialterlihat jelas sebagai suatu representasi piktorial..
2.2. Perpindahan kendali yang berubahPerpindahan kendali yang berubah--ubah tidak ubah tidak dimungkinkan.dimungkinkan.
3.3. Batasan dari data lokal dan/atau global dapat Batasan dari data lokal dan/atau global dapat dengan mudah ditentukandengan mudah ditentukan..
4.4. Pengulangan dapat dengan mudah digambarkan.Pengulangan dapat dengan mudah digambarkan.
DIAGRAM KOTAKDIAGRAM KOTAK
BerurutBerurut BersyaratBersyarat SeleksiSeleksiBerurutBerurut BersyaratBersyarat
BerulangBerulang
SeleksiSeleksi
DIAGRAM KOTAKDIAGRAM KOTAK
1.1. Elemen utama dari diagram adalah suatu kotakElemen utama dari diagram adalah suatu kotak..
2.2. Untuk menggambarkan suatu urutan, dua atau lebih Untuk menggambarkan suatu urutan, dua atau lebih
kotak dihubungkan dari atas ke bawah.kotak dihubungkan dari atas ke bawah.
3.3. Untuk menggambarkan Untuk menggambarkan ifif--thenthen--elseelse, suatu kotak , suatu kotak
kondisional diikuti dengan suatu kotak bagian kondisional diikuti dengan suatu kotak bagian thenthen
dan suatu kotak bagian dan suatu kotak bagian elseelse..
4.4. Pengulangan digambarkan dengan suatu pola Pengulangan digambarkan dengan suatu pola
keliling yang melingkari proses (bagian keliling yang melingkari proses (bagian dodo--whilewhile
atau bagian atau bagian repeatrepeat--untiluntil) yang diulang.) yang diulang.
5.5. Seleksi digambarkan menggunakan bentuk kotak Seleksi digambarkan menggunakan bentuk kotak
pilihan.pilihan.
TABEL KEPUTUSANTABEL KEPUTUSANTabel keputusan (Tabel keputusan (decision tablesdecision tables) adalah suatu ) adalah suatu perangkat yang menerjemahkan aksiperangkat yang menerjemahkan aksi--aksi dan kondisiaksi dan kondisi--kondisi dalam bentuk tabularkondisi dalam bentuk tabular
Garis tebal membagi tabel menjadi empat bagianGaris tebal membagi tabel menjadi empat bagian ::
�� Seperempat bagian kiriSeperempat bagian kiri--atas berisi daftar dari segala atas berisi daftar dari segala kondisikondisi--kondisi.kondisi.
�� Seperempat bagian kiriSeperempat bagian kiri--bawah berisi daftar dari bawah berisi daftar dari seluruh aksiseluruh aksi--aksi yang mungkin berdasarkan aksi yang mungkin berdasarkan kombinasi dari kondisi diatas.kombinasi dari kondisi diatas.kombinasi dari kondisi diatas.kombinasi dari kondisi diatas.
�� Bagian kanan berbentuk matriks menunjukkan Bagian kanan berbentuk matriks menunjukkan kombinasi kondisi dan aksikombinasi kondisi dan aksi--aksi berhubungan yang aksi berhubungan yang akan terjadi untuk suatu kombinasi tertentu.akan terjadi untuk suatu kombinasi tertentu.
�� Setiap kolom matriks dapat dinterpretasikan Setiap kolom matriks dapat dinterpretasikan sebagai suatu aturan pengolahan (sebagai suatu aturan pengolahan (processing ruleprocessing rule).).
Untuk mengembangkan tabel keputusan dilakukan Untuk mengembangkan tabel keputusan dilakukan langkahlangkah--langkah berikut:langkah berikut: ::
�� Daftar seluruh tindakan/aksi yang dapat Daftar seluruh tindakan/aksi yang dapat dihubungkan dengan suatu prosedur tertentu.dihubungkan dengan suatu prosedur tertentu.
�� Daftar seluruh kondisi (atau keputusan yang dibuat) Daftar seluruh kondisi (atau keputusan yang dibuat) selama pelaksanaan prosedurselama pelaksanaan prosedur ..
Satukan sejumlah kondisi tertentu dengan aksiSatukan sejumlah kondisi tertentu dengan aksi--aksi aksi �� Satukan sejumlah kondisi tertentu dengan aksiSatukan sejumlah kondisi tertentu dengan aksi--aksi aksi tertentu yang menghapuskan kombinasitertentu yang menghapuskan kombinasi--kombinasi kombinasi yang tidak mungkin; kemungkinan lain, yang tidak mungkin; kemungkinan lain, kembangkan setiap permutasi kondisikembangkan setiap permutasi kondisi--kondisi yang kondisi yang mungkin.mungkin.
�� Tentukan aturanTentukan aturan--aturan (aturan (rulesrules) dengan ) dengan menunjukkan aksi apa yang dapat terjadi untuk menunjukkan aksi apa yang dapat terjadi untuk sejumlah kondisi.sejumlah kondisi.
TABEL KEPUTUSANTABEL KEPUTUSAN
IPO CHARTSIPO CHARTS
IPO CHARTSIPO CHARTS
�� InputInput--processingprocessing--outputoutput (IPO)(IPO) charts adalah suatu charts adalah suatu perancangan perangkat lunak dan teknik dokumentasi perancangan perangkat lunak dan teknik dokumentasi yang dikembangkan oleh IBM.yang dikembangkan oleh IBM.
�� Ciri yang paling penting dari IPO chart adalah Ciri yang paling penting dari IPO chart adalah kemampuannya untuk menggambarkan hubungan kemampuannya untuk menggambarkan hubungan kemampuannya untuk menggambarkan hubungan kemampuannya untuk menggambarkan hubungan antara data input/output dan prosedur perangkat antara data input/output dan prosedur perangkat lunaklunak
IPO CHARTSIPO CHARTS
IPO CHARTSIPO CHARTS
�� ProsedurProsedur ditentukanditentukan dalamdalam suatusuatu kotakkotak pengolahpengolahpusatpusat dandan hubungannyahubungannya dengandengan input,input, outputoutput dandaninformasiinformasi databasedatabase..
�� HalHal iniini memungkinkanmemungkinkan perancangperancang secarasecara eksplisiteksplisitmenghubungkanmenghubungkan arusarus informasiinformasi dengandengan arusarusproseduralprosedural..
�� PengolahanPengolahan ((processingprocessing)) secarasecara khususkhusus ditentukanditentukandengandengan suatusuatu daftardaftar langkahlangkah--langkah,langkah, tetapitetapi dapatdapatdiwakilkandiwakilkan jugajuga dengandengan suatusuatu flowchart,flowchart, boxbox diagramdiagramatauatau bahasabahasa perancanganperancangan..
PROGRAM DESIGN LANGUAGE PROGRAM DESIGN LANGUAGE
�� Program design language (PDL) disebut juga Program design language (PDL) disebut juga pseudocodepseudocode adalah suatu bahasa perancangan adalah suatu bahasa perancangan yang umum dipakai dengan menggunakan yang umum dipakai dengan menggunakan perbendahaperbendaha--raan kata dan sintaks bahasa Inggris raan kata dan sintaks bahasa Inggris (bahasa Inggris terstruktur).(bahasa Inggris terstruktur).
�� PDL terlihat sama dengan PL/1, PASCAL atau PDL terlihat sama dengan PL/1, PASCAL atau �� PDL terlihat sama dengan PL/1, PASCAL atau PDL terlihat sama dengan PL/1, PASCAL atau ALGOL. Perbedaan antara PDL dengan bahasa ALGOL. Perbedaan antara PDL dengan bahasa pemrograman tingkat tinggi diatas adalah pemrograman tingkat tinggi diatas adalah penggunaan teks narasi yang tertanaman secara penggunaan teks narasi yang tertanaman secara langsung didalam pernyataanlangsung didalam pernyataan--pernyataan PDLpernyataan PDL..
Suatu bahasa perancangan harus memiliki sifat sebagai Suatu bahasa perancangan harus memiliki sifat sebagai berikut :berikut :
�� Fixed syntax dari KEYWORDS yang diberikan untuk Fixed syntax dari KEYWORDS yang diberikan untuk seluruh struktur konstruksi, deklarasi data dan seluruh struktur konstruksi, deklarasi data dan karakteristik modularitaskarakteristik modularitas..
�� Free syntax dari suatu bahasa alamiah yang Free syntax dari suatu bahasa alamiah yang memberimemberi--kan cirikan ciri--ciri pengolahan.ciri pengolahan.
�� Fasilitas deklarasi data, termasuk struktur data Fasilitas deklarasi data, termasuk struktur data sederhana (skalar dan array) dan struktur data sederhana (skalar dan array) dan struktur data kompleks (linked atau hirarchical).kompleks (linked atau hirarchical).
�� Definisi Subprogram dan teknik pemanggilan yang Definisi Subprogram dan teknik pemanggilan yang mendukung berbagai model deskripsi interface.mendukung berbagai model deskripsi interface.
PROGRAM DESIGN LANGUAGE PROGRAM DESIGN LANGUAGE
Bahasa perancangan tidak tergantung pada bahasa Bahasa perancangan tidak tergantung pada bahasa pemrograman, dimana bentuk dasar PDL meliputi:pemrograman, dimana bentuk dasar PDL meliputi:
�� Deklarasi DataDeklarasi Data
�� Teknik penstrukturan blok.Teknik penstrukturan blok.
�� Konstruksi KondisiKonstruksi Kondisi�� Konstruksi KondisiKonstruksi Kondisi
�� Konstruksi Pengulangan (Repetition)Konstruksi Pengulangan (Repetition)
�� Definisi SubprogramDefinisi Subprogram
�� Penggambaran InterfacePenggambaran Interface
�� Konstruksi I/OKonstruksi I/O
PROGRAM DESIGN LANGUAGE PROGRAM DESIGN LANGUAGE
Contoh:Contoh: PDL untuk kendali pintu Lift (IEEE CSP).PDL untuk kendali pintu Lift (IEEE CSP).
ComputerComputer--Aided Software Engineering Aided Software Engineering (CASE)(CASE)
�� Perangkat CASE membantu mengkaji dan merancang Perangkat CASE membantu mengkaji dan merancang perangkat lunak, secara otomatis membangkitkan perangkat lunak, secara otomatis membangkitkan kodekode--kode komputer sesuai dengan model yang telah kode komputer sesuai dengan model yang telah dibuat.dibuat.
�� CASE mewujudkan empat tahap pengembangan CASE mewujudkan empat tahap pengembangan perangkat lunak: perangkat lunak: perangkat lunak: perangkat lunak: 1.1. Analisis (gambaran apa yang akan dibangun, fase Analisis (gambaran apa yang akan dibangun, fase
pemodelan).pemodelan).
2.2. Disain (gambaran bagaimana membangunnya).Disain (gambaran bagaimana membangunnya).
3.3. Implementasi (program untuk dijalankan, fase Implementasi (program untuk dijalankan, fase
pengkodean).pengkodean).
4.4. Test dan integrasi (meyakinkan semua berjalan baik).Test dan integrasi (meyakinkan semua berjalan baik).