PPL - 209 [Compatibility Mode]

download PPL - 209 [Compatibility Mode]

of 121

Transcript of PPL - 209 [Compatibility Mode]

DASARDASAR-DASAR PERANCANGAN PERANGKAT LUNAK

UNIVERSITAS MUHAMMADIYAH JAKARTA FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA BY : RITA DEWI RISANTY . SKOM.MMSI

DasarDasar-dasar Perancangan Perangkat LunakMemahami bentuk dasar perancangan perangkat lunak: Teknik Konvensional (DFD, ERD, HIPO, dll.) Warnier Diagrams. DSSD. Jackson. SADT. Formal. Automasi / CASE. .

Mengetahui berbagai metode perancangan dan dapat memilih metode yang sesuai.

PERANCANGAN PERANGKAT LUNAKTiga tahap dasar dalam strategi pengembangan:1. 2.

3.

Analisis : memahami permasalahan. Desain/Perancangan : mengorganisasikan atau menstrukturkan permasalahan (Komponen, Prosedur, Fungsi). Implementasi : membuat solusi pemecahan masalah dapat dilaksanakan.

PERANCANGAN PERANGKAT LUNAK MERUPAKAN BRAINWAREPerancangan merupakan aktivitas otak manusia yang belum dapat diganti secara mekanik oleh mesin. Perancangan memerlukan kepintaran (knowledge). (knowledge). Perancangan membutuhkan pengalaman (skill). (skill). Kepintaran tersebut dapat dituntun oleh suatu teknik atau metoda perancangan sehingga menghasilkan suatu kreativitas dan pemikiran inovatif. inovatif.

1. Otomatisasi yaitu pekerjaan yang tadinya dilakukan oleh manusia digantikan oleh teknologi komputer. komputer.

PROBLEM SOLVING

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

SYSTEM INOVATION

3. Inovasi sistem yaitu mengubah fungsi dan struktur sosialsosial-ekonomi yang ada digantikan oleh sistem sosialsosialekonomi yang baru. baru.

Apa tujuan dari Perancangan SistemTujuan dari perancangan adalah untuk menghasilkan suatu model atau gambaran lengkap dari suatu perangkat lunak yang akan dibangun. Perancangan disini adalah mendekomposisi fungsi program menjadi modul-modul dan kemudian modulmenjelaskan spesifikasi dari setiap modul (data, proses, interface).

Penggunaan Model-model ModelDapat dibangun oleh satu orang dan membutuhkan: Pemodelan Minimal Proses sederhana Peralatan sederhana Umumnya dibangun oleh suatu tim dan Membutuhkan: Pemodelan Proses yang baik Alat-alat canggih

Dibangun oleh sejumlah Tim Kontraktor dan membutuhkan: Model rekayasa Proses yang terkoordinasi Mesin-mesin indutri

Tujuan dari PemodelanModeling captures essential parts of the system.Pemodelan adalah untuk menggambarkan bagian-bagian yang penting dari suatu sistemDr. James Rumbaugh

Visual Modeling is modeling using standard graphical notations

Tiga Kelompok Metodologi1.

Functional Decomposition MethodologiesMetodologi ini menakankan pada pemecahan dari sistem ke dalam subsistem-subsistem yang lebih subsistemkecil, sehingga akan mudah untuk dipahami, dirancang dan diterapkan. Yang termasuk dalam kelompok metodologi ini: - HIPO (Hierarchy Input-Process-Output) Input-Process- Iterative Stewise refinement (ISR) - Information hiding.

2.

DataData-Oriented MethodologiesMetodologi ini menekankan pada karakteristik dari data yang akan diproses.

a. Data-flow Oriented Methodologies DataMetodologi ini secara umum didasarkan pada pemecahan dari sistem kedalam modul-modul moduldidasarkan jenis elemen data dan hubungan antara fungsi modul-modul. modulYang termasuk dalam kelompok metodologi ini: - SADT (Structured Analysis and Design Techniques) - Composite Design - SSAD (Structured Systems Analysis and Design) b. Data Structure Oriented Methodologies Metodologi ini menekankan struktur dari input dan output di sistem. Hubungan fungsi antar modul atau elemenelemen-elemen sistem dijelaskan dalam struktur sistemnya.

Yang termasuk dalam metodologi ini adalah: - JSD (Jacksons Systems Development) - W/O (Warnier/Orr)3.

Prescriptive MethodologiesYang termasuk dalam metodologi ini adalah: - ISDOS (Information System Design and OptimiOptimization System). - PLEXSYS - PRIDE - SDM/70 (System Development Methodology/70) - SRES (Software Requirment Engineering System)

PERANCANGAN PERANGKAT LUNAK(Menurut ANSI/IEEE Std 729-1983) ANSI/IEEE 729-1983)Perancangan Perangkat Lunak adalah suatu perioda didalam siklus hidup rekayasa perangkat lunak, mulai dari analisis, dokumentasi, dan pemeriksaan kembali rancangan arsitektur, komponen-komponen, interface arsitektur, komponen-komponen, dan data perangkat lunak, untuk memenuhi kebutuhan tententu.

Definisi UmumPerancangan perangkat lunak adalah suatu proses untuk mengubah kebutuhan-kebutuhan (requirements) kebutuhanfungsional menjadi suatu struktur dan prosedur sebelum dilakukan pengkodean atau pemrograman. pemrograman.

PERANCANGAN PERANGKAT LUNAKPerancangan Sistem Perancangan Terinci Kode/Pemrograman

KebutuhanKebutuhankebutuhan Fungsional

Struktur Perangkat Lunak

Prosedur Perangkat Lunak

Perancangan Sistem : membagi sistem atas komponenkomponen-komponen (modul-modul). (modul Perancangan Terinci: menjelaskan prosedur dan fungsi dari setiap modul.

PERANCANGAN SISTEMPerancangan Sistem dibagi dua bagian:1.

2.

Perancangan Sistem Secara Umum atau disebut juga general systems design, conceptual design, logical design, macro design. Tujuannya adalah untuk memberikan gambaran secara umum tentang sistem yang akan dibangun. Perancangan Sistem Terinci atau disebut juga physical systems design, internal design. Dimaksudkan untuk pemrogram komputer dan ahli teknik lainnya yang akan mengimplementasi sistem.

DEFINISI PERANCANGAN SISTEMMenurut 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. 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 rancang bangun yang telah ditetapkan pada akhir tahap analisis sistem.

Bagan Struktur Hierarkis Organisasi

PenjelasanStruktur organisasi di gambarkan dalam suatu arsitektur (bangunan) berupa kotak-kotak untuk menggambarkan kotaksatuan dan garis-garis untuk mengambarkan hubungan garishirarki antara kotak-kotak. kotakPanahPanah-panah menunjukkan aliran dari kendali terhirarki antara kotak-kotak. kotakSetiap satuan mempunyai fungsi dan tugas-tugas (tusi) tugasyang diuraikan dalam bentuk wewenang dan tanggung jawab dalam suatu hubungan lini (garis). Fungsi dijabarkan dalam bentuk perincian kegiatan secara sederhana yang disebut dengan tugas-tugas tugaspekerjaan.

Wewenang menunjukkan hak untuk melakukan sesuatu atau memerintahkan orang lain untuk melakukan atau tidak melakukan sesuatu. Tanggung jawab merupakan kewajiban pemegang jabatan. Deskripsi pekerjaan menyebutkan atasan dan bawahan langsung pemegang jabatan serta kondisi kerja diuraikan secara ringkas

Struktur Perangkat LunakPendekatan terstruktur menggambarkan perangkat lunak dalam bentuk sistem yang strukturnya didefinisikan dengan jelas. Metodologi ini mengenalkan penggunaan alat-alat alat(tools) dan teknik-teknik untuk mengembangkan tekniksistem yang terstruktur.

Struktur Perangkat LunakStrutur Perangkat Lunak adalah suatu penggampenggambaran hirarkis yang menunjukkan hubungan antara elemen-elemen (modul-modul) dari elemen(modulpemecahan suatu perangkat lunak terhadap suatu masalah yang secara implisit telah ditentukan dalam analisis kebutuhan. Struktur perangkat lunak memperlihatkan suatu arsitektur program dan implikasinya pada kendali terhirarki. terhirarki.

Structure ChartPerangkat utama yang digunakan para perangcangan tersetruktur adalah Structure Chart. Chart. Structure Chart memberi gambaran bagaimana sistem diorganisasikan menjadi modul-modul yang modultiapterkelola, hirarki dari tiap-tiap modul tersebut, dan interface komunikasi antara modul. Structure Chart tidak memperlihatkan prosedur internal yang dilakukan suatu modul atau data internal yang digunakan oleh suatu modul. Structure Chart terdiri dari: (1) Modul-modul Modulindividual; (2) Data dari dan ke modul; (3) Kontrol sebagai interface antara modul-modul. modul-

Berbagai Aktivitas Bisnis

SimbolSimbol-simbol Structure ChartsPanah lingkaran berlubang untuk menggambarkan data yang dipertukarkan antara dua modul Panah lingkaran solid untuk menggambrakan pesanpesan (flag) yang dilewatkan antara dua modul.Get Customer Details Customer Account Number Customer Name Account Number is OK Flag dari pemaggil ke yang dipanggil Data dari pemaggil ke yang dipanggil Flag dari yang dipanggil ke pemanggil Data dari yang dipanggil ke pemaggil

Find Customer Name

Intan : hanya satu modul dibawahnya (subordinate) yang dipanggil. Kura garis: modul-modul subordinat akan dipanggil modulsecara berulangulang sampai kondisi akhir terpenuhi.

Contoh Structure ChartSUMMARIZE PAYMENTS FOR ALL CUSTOMERSTotal for One Customer

Total for One Customer EOTP

Total for All Customers

GET TOTAL PAYMENT FOR ONE CUSTOMERValid Customer Record EOVCR

PUT CUSTOMER TOTAL

PUT FINAL TOTAL

GET VALID CUSTOMER RECORDCustomer Record Field

Customer Total Line

Final Total Line

Field Valid

PRINT

READ

EDIT FIELD

ANALISIS STRUKTUR(Information Description) Description)Struktur Analisis adalah suatu arus informasi dan teknik pemodelan isi (content). Informasi diubah kedalam bentuk alirannya pada sistem berbasis komputer.1. 2. 3. 4. 5.

Data Flow Diagrams. Data Structure Representation. Data Dictionary. System Interface Description. Internal Interfaces

Diagram Aliran Data(Data Flow Diagrams)Diagram Aliran Data adalah suatu teknik grafik yang menggambarkan alur informasi dan transformasi alur menggunakan dekomposisi fungsi terhirarki dari suatu proses dalam suatu sistem.

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

SimbolSimbol-simbol Diagram Aliran DataFile eksternal

Satuan

Aliran data

Label

Proses

Penyimpan data

AturanAturan-aturan Diagram Aliran DataAliran informasi dari sistem manual, otomatis, hibrid, dapat digambarkan dengan jelas. jelas. Setiap gagasan membutuhkan penyempurnaan untuk memberikan pengertian yang lengkap. lengkap. Aliran data diberi tekanan lebih dari pada aliran kendali. Satuan eksternal dan manusia tidak dimodelkan dalam Diagram Aliran Data. Setiap panah diberi label. Panah yang membawa data, tidak punya relasi.

Contoh DFD

PertanyaanBuat struktur dan data flow diagram dari model siklus transaksi aktivitas bisnis ? Siklus pengolahan transaksi adalah mengelompokkan transaksi berdasarkan kesamaan unsur dan /atau sasaran

Model Siklus Transaksi BisnisKejadiankejadian EkonomikTransaksi-transaksi

Siklus Pendapatan

Siklus Pengeluaran

Siklus Produksi

Siklus Keuangan

Siklus Pelaporan Keuangan

Laporan Keuangan

Empat Siklus Aktivitas Bisnis yang Umum1. Siklus Pendapatan. Kejadian-kejadian yang berkaitan Pendapatan. Kejadiandengan penjualan barang dan jasa dan penagihan hasilhasil-hasilnya. 2. Siklus Pengeluaran. Kejadian-kejadian yang berkaitan Pengeluaran. Kejadiandengan perolehan barang dan jasa dan pelunasan kewajiban / hutang. 3. Siklus Produksi. Kejadian-kejadian yang berkaitan Produksi. Kejadiandengan manajemen dan pengendalian sumber daya (investasi dan fasilitas). 4. Siklus Keuangan. Kejadian-kejadian yang berkaitan Keuangan. Kejadiandengan perolehan dan manajemen dana-dana modal, danatermasuk kas.

Siklus Pelaporan KeuanganSiklus Pelaporan Keuangan bukan merupakan siklus operasi. Siklus ini memperoleh data akutansi dari operasi siklus lain, dan mengolah data tersebut untuk menghasilkan laporan keuangan. Penyajian laporan keuangan yang sesuai dengan standar akutansi keuangan yang berlaku umum, membutuhkan banyak penilaian dan ayat jurnal penyesuaian yang tidak secara langsung dihasilkan dari transaksi-transaksi. transaksi-

Konteks DFD

Diagram Level 0

PertanyaanBuat model struktur data dari suatu bahan pustaka berupa buku perpustakaan dan gambarkan juga dengan diagram W/O ? Dan tentukan kamus datanya (data dictionner).

Model Struktur Diagram Buku header

trn status input right notes ?

type publisher Language + personalauthor corporatename* title

book bibliographic category + descriptor + subject keyword* abstract* availability

conference* format size isbn notes ?

Diagram W/O Buku Perpustakaan

trn status input right notes ?

type publisher Language + personalauthor corporatename* title

header (1)

book

bibliographic (1)

category + descriptor +

conference* format size isbn notes ?

subject (1)

keyword* abstract*

availability (1)

Kamus Data

Prosedur Perangkat LunakProsedur Perangkat Lunak lebih menajamkan pada rincian tahapan-tahapan pengolahan dari tahapansetiap modul secara individual. Prosedur harus memberikan spesifikasi yang tepat dari suatu pengolahan, meliputi urutanurutanurutan kejadian, titik-titik keputusan yang pasti, kejadian, titikoperasioperasi-operasi berulang, dan organisasi data dan struktur setiap kejadian.

Prosedur Perangkat Lunak

Peta Aliran (Flowchart)Peta Aliran memperlihatkan alur peta gerakan data masukkan, proses pengolahan, dan keluaran.

Umpan data input/output Input manual Proses Operasi manual Display

Keputusan logika Database On-line storage OnDokumen Kendali aliran

PROGRAM FLOWCHART:PROCESS A

SEQUENCEPROCESS B

R TRUE PROCESS E

PROCESS D

PROCESS C S

TRUE

SELECTION

ITERATION

KONSTRUKSI FLOWCHARTs

Berurut

Bersyarat

Seleksi

Berulang

SYSTEM FLOWCHART:HUMAN RESOURCES DATA TIME CARDS PAYROLL MASTER

LOAD & VALIDATE

PAYROLL SYSTEMVALID TRANSACTIONS PAYROLL MASTER

COMPARE &

UPDATE

PAYROLL REPORTS & CHECKS

DIRECT DEPOSITS

GENERAL LEDGER

UPDATED PAYROLL MASTER

PROSES PERANCANGAN PERANGKAT LUNAK Proses Perancangan Perangkat Lunak menurut aspek manajemen proyek dibagi dua tingkat: 1. Perancangan Sistem (System/Preliminary Design) 2. Perancangan Terperinci (Detailed Design). Preliminary design berhubungan dengan struktur perangkat lunak yaitu ukuran, kompleksitas dan arsitektur suatu perangkat lunak (organisasi (organisasi fungsional, hirarki dan hubungan antara modulmodulmodul). modul). Detailed design terpusat pada prosedur untuk menggambarkan fungsi kerja perangkat lunak berupa rincian struktur data dan algoritma program (Membuat prosedur setiap modul). modul).

Aspek Manajemen dan Aspek TeknisHubungan antara aspek-aspek manajemen dengan aspekaspekaspek-aspek teknis dari perancangan AspekAspek-aspek Manajemen

Preliminary Design Detail Design Data Design

AspekAspek-aspek Teknis

Architectural Design Procedural Design Interface Design

Perancangan perangkat lunak menurut aspek teknis:Perancangan Data (Data Design) Mengubah model domain informasi yang dibuat pada saat analisis menjadi struktur-struktur data. strukturPerancangan Arsitektural (Architectural Design) Mendefiniskan hubungan antara komponenkomponenkomponen struktural utama dari program. Perancangan Prosedural (Procedural Design) Mengubah komponen-komponen struktural menjadi komponensuatu gambaran prosedural dari perangkat lunak. Perancangan Antarmuka (Interface Design) Memberikan layout dan mekanisme interaksi antara manusiamanusia-mesin.

Definisi Kebutuhan Perangkat Lunak Definisi struktur modular dan struktur data. Membuat antarmuka-antarmuka antarmukamodul. Mengidentifikasikan hambatanhambatanhambatan

Preliminary Design Description

Revisi

Periksa kembali Diterima

Membuat spesifikasi aspek-aspek aspekprosedural dan struktur data untuk setiap modul Revisi Detailed Design Description

Periksa kembali Diterima Pengkodean

Revisi

Pengkodean dapat diterima Diterima

Pemrograman

Pengujian Unit Integrasi Validasi

Perencanaan dan Prosedur Pengujian

Perangkat Lunak siap untuk di-release di1.

2.

3.

Preliminary Design dilihat kembali untuk kelengkapan dan penelusuran kebutuhan perangkat lunak. Perangkat bantu perancangan (design tool) digunakan untuk (design tool) memberikan deskripsi detailed design elemen perangkat lunak. Langkah berikutnya adalah pengkodean yaitu pembangpembangkitan suatu program dengan bahasa pemrogram tertentu.

PROSES PENGEMBANGANTAHAPPERENCANAAN

HASIL PRODUKSI- Penggambaran Masalah. - Rencana Pengembangan PL. - Rencana Pengukuran Kinerja.-

ANALISIS

Diagram Aliran Data. Spesifikasi Elemen Fungsi-fungsi. Model Entity-Relationship. Kamus Data Analisis. Rencana Pengujian Terintegrasi. Laporan Kesalahan Analisis.

TAHAPDISAIN-

HASIL PRODUKSIChart Struktur. Spesifikasi Modul. Tabel Normalisasi dan Jejak Navigasi. Kamus Data Rancangan. Matriks Cross Reference. Rencana Pengujian Terintegrasi Laporan Kesalahan Disain

PERANCANGAN SISTEM

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

MODULMODUL-MODULPerangkat Lunak yang akan dibangun umumnya besar, besar, kompleks, kompleks, jangka waktu yang panjang dan melibatkan banyak pihak. pihak. Sistem terdiri dari elemen-elemen, dan elemenelemenelemenelemen utama dalam perangkat lunak disebut modul. modul. Berapa jumlah, besar dan kompleksitas suatu modul yang harus dibuat dari suatu perangkat lunak. ModulModul-modul tersebut akan saling berinteraksi, dan bagaimana meminimalkan interaksi antara modul (low coupling).

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

Modularity memungkinkan program dapat dikelolasecara lebih mudah dan lebih cerdas. Misal C(x) adalah suatu fungsi yang menentukan kompleksitas suatu masalah x dan E(x) adalah fungsi yang menentukan usaha atau waktu yang dibutuhkan untuk menyelesaikan masalah x. Untuk suatu masalah p1 dan p2 , jika C(p1) > C(p2) Maka biasanya E(p1) > E(p2) Artinya diperlukan lebih banyak waktu untuk menyelesaikan masalah yang lebih kompleks

Sifat menarik lainnya dari pemecahan masalah oleh manusia adalah: C(p1 + p2) > C(p1) + C(p2) Artinya kompleksitas suatu masalah yang merupakan gabungan dari p1 dan p2 adalah lebih besar dari pada kompleksitas memecahkan masalah secara terpisah atau sendirisendiri-sendiri. Sifat menarik lainnya dari pemecahan masalah oleh manusia adalah: E(p1 + p2) > E(p1) + E(p2) KESIMPULAN adalah lebih mudah menyelesaikan suatu masalah kompleks jika masalah tersebut dapat dipecah menjadi bagian-bagian yang terkelola bagian-

Keuntungan melakukan pemodulan:1.

Modul dapat lebih mudah untuk dipahami dan dijelaskan, sehingga pendokumentasiannya lebih cepat. Lebih mudah untuk diprogram karena setiap kelompok bebas dapat bekerja pada modul-modul secara terpisah moduldengan sedikit melakukan komunikasi. Lebih mudah untuk di test, karena masing-masing masingdapat diuji secara terpisah kemudian diintegrasikan dan diuji lagi secara bersama. Jika suatu modul tidak tergantung pada yang lain, maka akan lebih mudah pemeliharaannya. Perubahan dapat dilakukan tanpa mengganggu modul-modul lain. modul-

2.

3.

4.

Suatu Rancangan Sistem harus:menunjukan suatu organisasi terhirarki yang dapat mengendalikan komponen-komponen perangkat lunak. komponenmodular artinya perangkat lunak harus dapat dibagi secara logika kedalam komponen-komponen yang komponenmembentuk fungsi-fungsi atau sub-sub fungsi tertentu. fungsisubmemberikan penggambaran yang jelas dan terpisah dari data dan prosedur. prosedur. Menuju kepada modul (subroutine atau procedure). mempunyai sifat-sifat fungsional yang independent. sifatMembentuk antarmuka-antarmuka yang mengurangi antarmukakerumitan hubungan antara modul-modul dan dengan modullingkungan luar.

Perinsip Dasar Perancangan SistemKriteria apa yang dapat digunakan untuk membagi perangkat lunak menjadi komponen-komponen komponenindividual atau modul-modul ? modulBagaimana fungsi dan rincian struktur data dipisahkan dari gambaran konsepsual perangkat lunak ? Apakah ada keseragaman kriteria yang mendefinisikan kualitas teknik dari rancangan perangkat lunak ?

M

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

M

Jumlah modul yang membesar berarti ukuran modul secara individu mengecil. Sebaliknya, kenaikan jumlah modul menyebabkan usaha (biaya) yang berhubungan dengan antarmuka (interfacing) antara modul-modul meningkat. modulDengan optimasi akan diperoleh suatu jumlah modul M yang memberikan biaya pengembangan paling kecil

ABSTRAKSIAbstraksi adalah suatu perangkat yang sangat penting dalam pengembangan perangkat lunak. lunak. Abstraksi memungkinkan perancang untuk memusatkan suatu masalah pada tingkat abstrak lebih umum tanpa harus tahu rincian-rincian dari komponen rincianyang diimplementasikan pada tingkat lebih rendah yang tidak relevan. relevan. Artinya penggunaan abstraksi memungkinkan perancang bekerja dengan konsep-konsep dan istilahkonsepistilahistilah yang telah dikenal tanpa harus mengubah suatu lingkungan masalah menjadi suatu struktur yang tidak dikenal.

Perancangan harus menggambarkan masalah abstraksi pada tingkat terendah: Abstraksi fungsional Abstraksi data. Abstraksi kontrol

Dua kategori abstraksi dalam perancangan

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

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

Suatu modul yang mengendalikan modul modul yang lain disebut superodinate terhadap modul tersebut. tersebut. Sedangkan suatu modul yang dikendalikan modul lain disebut subordinate terhadap modul tersebut

Menurut struktur perangkat lunak, suatu modul dapat dikategorikan sebagai: Modul berurutan (sequential module) yaitu diacu dandieksekusi tanpa adanya interupsi oleh perangkat lunak aplikasi. Misalnya subprogram konvensional, subroutine, subroutine, functions atau procedures. Module bertambah (incremental module) yaitu dapat diinterupsi sebelum menyelesaikan seluruh tugasnya oleh perangkat lunak aplikasi dan sesudah itu melanjutkan kembali dari titik yang terinterupsi Sering disebut dengan coroutines. Modul paralel yang melaksanakan secara simultan dengan modul lain dalam lingkungan multiprosesor yang bekerja secara paralel. ModulModul-modul paralel disebut conroutines

MODUL MANDIRI(MODULE INDEPENDENCE )Modul Mandiri dapat tercapai jika mengembangkan modul dengan suatu fungsi tunggal dan tidak terlampau banyak berinteraksi dengan modul-modul yang lain. modul-

Dua kategori untuk mengukur kualitas kemandirian yaitu: yaitu: Keterkaitan harus rendah (Low Coupling). adalah ukuran saling ketergantungan relatif antara modulmodul-modul atau interaksi diantara modul kecil. Keterpaduan harus tinggi (High Cohesion). adalah ukuran kekuatan fungsional relatif dari suatu modul dimana interaksi internalnya sangat besar.

Coupling & Cohesioncoupling antara module

cohesion didalam module

Bagaimana terjadinya interaksi antara modulmodulmodul ?Jawab: 1. 2. 3. 4. 5. Mengaktifkan kode modul yang lain. Melompat atau bercabang ke suatu tempat lain. Mengakses data bersama modul yang lain. Data yang bisa dipergunakan bersama Prosedur panggilan dengan suatu sakelar sebagai parameter. 6. Prosedur panggilan dengan data murni sebagai parameter. 7. Melewatkan arus data serial dari satu modul ke modul lain.

COUPLINGCoupling (keterkaitan) adalah ukuran bagaimana modulmodul-modul saling berhubungan dan saling bergantungan. Modul yang tidak tergantung dari modul yang lain mempunyai derajat coupling rendah.

Jenis Coupling dan Derajadnya

Jenis CouplingData coupling Stamp coupling Control coupling External coupling Common coupling Content coupling

Jenjang1 2 3 4 5 6

DerajadRendah

KualitasTerbaik

Tinggi

Terjelek

1. No direct coupling Modul 1 dan modul 2 adalah subordinate terhadap modulmodul-modul yang berbeda. Sehingga masingmasingmasing tidak berhubungan dan tidak ada penggandengan langsung yang terjadi antara keduanya.

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

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

Module 1

Module 2

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

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

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

7. Content coupling Content coupling terjadi jika suatu modul menggumenggunakan data atau mengendalikan informasi dari modul yang lain tanpa berhubungan lewat suatu parameter. Content coupling dapat juga terjadi jika percabangan dilakukan ke tengah-tengah suatu modul yang lain tengah-

Isi Jenis informasi komunikasiLow coupling (terbaik)Data coupling Stamp coupling Control coupling Common coupling Content coupling

Jenis hubunganKoneksi normal dengan parameter

Sederhana, jelas

Data

High coupling (terjelek)

Rumit, Tidak jelas

Kontrol

Pathalogical, tidak dengan parameter

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

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

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

2. Suatu modul memiliki logical cohesion jika terdiri dari beberapa fungsi yang mempunyai tugas serupa atau melakukan fungsi-fungsi yang masuk dalam kelas fungsilogika yang sama. sama.

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

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

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

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

Compute square root

Sort the array

7.

Functional cohesion yaitu bila seluruh elemen dari modul terkait hanya melakukan suatu fungsi tunggal yang terdefinisi dengan baik, tanpa tergantung pada implementasi modul-modul yang lain. modulModul yang berisi beberapa fungsi bukan functional cohesion.

UMUMNYA YANG BAIK ADALAHLow coupling High cohesion.

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

SoalMisal suatu modul untuk mendukung file ditulis dalam bahasa Pascal seperti dibawah ini: procedure file (file_ptr, file_name, op_name); begin case op_name of open: membentuk aktivitas membuka file. close: membentuk aktivitas menutup file. print: mencetak file. end case end Cohesion jenis apa yang terjadi pada modul ini ? Bagaimana kita mengubah modul untuk menambah menambah cohesion.

Procedural cohesion Agar menjadi functional cohesion modul harus dibagi menjadi tiga modul:1) procedure open_file (file_ptr, file_name); open_file begin open: membentuk aktivitas membuka file. end 2) procedure close_file (file_ptr, file_name); close_file begin close: membentuk aktivitas menutup file. end 3) procedure print_file (file_ptr, file_name); print_file begin print: mencetak file end

Buat struktur dan flowchart dari program dibawah ini program abc (input, output) var x , y : integer; procedure hitung1; x := x + y; y := y + 5; end; procedure hitung2; x := x + 5; y := y + x; hitung1; end; begin x := 0; y := 0; hitung1; hitung2; end;

JawabStruktur Informasi abc

Flowchart

Input Inisialisasi x = 0, y = 0 x=x+y y=y+5

hitung1

x, y

hitung2x=x+5 y=y+x x=x+y y=y+5 Output

b.

c. d.

Jelaskan jenis coupling apa yang terjadi dan modifikasi program diatas untuk memperbaiki struktur programnya sehingga coupling menjadi lebih rendah. rendah. Jenis Content coupling Modifikasi menjadi data coupling dengan menghilangkan pemanggilan modul hitung 1 pada modul hitung 2

Otomatisasi Sistem Manual Terdefinisi Baik

PertanyaanApa perbedaan antara arus informasi (information flow) flow) dengan struktur informasi (information structure) structure) ?. Apakah ada sistem yang tidak memiliki information flow ? Apakah ada sistem yang tidak memiliki information structure?.

DETAILED DESIGN TOOLSGraphical tools. Rincian prosedur digambarkan dalam bentuk bangunan logika dalam bentuk gambar-gambar gambarkhusus. - Flowchart. - Diagram Kotak (Box Diagram). Tabular tools. Rincian prosedur direpresentasikan dalam bentuk tabel yang menggambarkan aksi-aksi, kondisiaksikondisikondisi dan alternatif-alternatif yang menghu-bungan alternatifmenghuinformasi masukan, pengolahan, dan keluaran. keluaran. - Tabel Keputusan (Decision Tables). Language tools. Rincian prosedur digambarkan dalam tools. suatu pseudocode yang sangat menyerupai suatu bahasa pemrograman. - Program Design Language (PDL)

DIAGRAM KOTAKDiagram kotak disusun untuk mengembangkan suatu perangkat rancangan grafik yang tidak membolehkan adanya pelanggaran konsutriksi struktur Diagran N-S charts (Nassi-Shneiderman charts) NNassi1.

2.

3.

4.

Domain fungsional didefinisikan dengan baik dan terlihat jelas sebagai suatu representasi piktorial. piktorial. Perpindahan kendali yang berubah-ubah tidak berubahdimungkinkan. Batasan dari data lokal dan/atau global dapat dengan mudah ditentukan. ditentukan. Pengulangan dapat dengan mudah digambarkan.

DIAGRAM KOTAK

Berurut

Bersyarat

Seleksi

Berulang

DIAGRAM KOTAK1. 2.

3.

4.

5.

Elemen utama dari diagram adalah suatu kotak. kotak. Untuk menggambarkan suatu urutan, dua atau lebih kotak dihubungkan dari atas ke bawah. Untuk menggambarkan if-then-else, suatu kotak if-then-else, kondisional diikuti dengan suatu kotak bagian then dan suatu kotak bagian else. else. Pengulangan digambarkan dengan suatu pola keliling yang melingkari proses (bagian do-while doatau bagian repeat-until) yang diulang. repeat-until) Seleksi digambarkan menggunakan bentuk kotak pilihan.

TABEL KEPUTUSANTabel keputusan (decision tables) adalah suatu perangkat yang menerjemahkan aksi-aksi dan kondisiaksikondisikondisi dalam bentuk tabular

Garis tebal membagi tabel menjadi empat bagian : Seperempat bagian kiri-atas berisi daftar dari segala kirikondisikondisi-kondisi. Seperempat bagian kiri-bawah berisi daftar dari kiriseluruh aksi-aksi yang mungkin berdasarkan aksikombinasi dari kondisi diatas. Bagian kanan berbentuk matriks menunjukkan kombinasi kondisi dan aksi-aksi berhubungan yang aksiakan terjadi untuk suatu kombinasi tertentu. Setiap kolom matriks dapat dinterpretasikan sebagai suatu aturan pengolahan (processing rule).

Untuk mengembangkan tabel keputusan dilakukan langkahlangkah-langkah berikut: : Daftar seluruh tindakan/aksi yang dapat dihubungkan dengan suatu prosedur tertentu. Daftar seluruh kondisi (atau keputusan yang dibuat) selama pelaksanaan prosedur . Satukan sejumlah kondisi tertentu dengan aksi-aksi aksitertentu yang menghapuskan kombinasi-kombinasi kombinasiyang tidak mungkin; kemungkinan lain, kembangkan setiap permutasi kondisi-kondisi yang kondisimungkin. Tentukan aturan-aturan (rules) dengan aturanmenunjukkan aksi apa yang dapat terjadi untuk sejumlah kondisi.

TABEL KEPUTUSAN

IPO CHARTS

IPO CHARTSInput-processingInput-processing-output (IPO) charts adalah suatuperancangan perangkat lunak dan teknik dokumentasi yang dikembangkan oleh IBM. Ciri yang paling penting dari IPO chart adalah kemampuannya untuk menggambarkan hubungan antara data input/output dan prosedur perangkat lunak

IPO CHARTS

IPO CHARTSProsedur ditentukan dalam suatu kotak pengolah pusat dan hubungannya dengan input, output dan informasi database. database. Hal ini memungkinkan perancang secara eksplisit menghubungkan arus informasi dengan arus prosedural. prosedural. Pengolahan (processing) secara khusus ditentukan dengan suatu daftar langkah-langkah, tetapi dapat langkahdiwakilkan juga dengan suatu flowchart, box diagram atau bahasa perancangan. perancangan.

PROGRAM DESIGN LANGUAGEProgram design language (PDL) disebut juga pseudocode adalah suatu bahasa perancangan yang umum dipakai dengan menggunakan perbendahaperbendaha-raan kata dan sintaks bahasa Inggris (bahasa Inggris terstruktur). PDL terlihat sama dengan PL/1, PASCAL atau ALGOL. Perbedaan antara PDL dengan bahasa pemrograman tingkat tinggi diatas adalah penggunaan teks narasi yang tertanaman secara langsung didalam pernyataan-pernyataan PDL. pernyataanPDL.

Suatu bahasa perancangan harus memiliki sifat sebagai berikut : Fixed syntax dari KEYWORDS yang diberikan untuk seluruh struktur konstruksi, deklarasi data dan karakteristik modularitas. modularitas. Free syntax dari suatu bahasa alamiah yang memberimemberi-kan ciri-ciri pengolahan. ciriFasilitas deklarasi data, termasuk struktur data sederhana (skalar dan array) dan struktur data kompleks (linked atau hirarchical). Definisi Subprogram dan teknik pemanggilan yang mendukung berbagai model deskripsi interface.

PROGRAM DESIGN LANGUAGEBahasa perancangan tidak tergantung pada bahasa pemrograman, dimana bentuk dasar PDL meliputi: Deklarasi Data Teknik penstrukturan blok. Konstruksi Kondisi Konstruksi Pengulangan (Repetition) Definisi Subprogram Penggambaran Interface Konstruksi I/O

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

ComputerComputer-Aided Software Engineering (CASE)Perangkat CASE membantu mengkaji dan merancang perangkat lunak, secara otomatis membangkitkan kodekode-kode komputer sesuai dengan model yang telah dibuat. CASE mewujudkan empat tahap pengembangan perangkat lunak:

1. Analisis (gambaran apa yang akan dibangun, fase pemodelan). 2. Disain (gambaran bagaimana membangunnya). 3. Implementasi (program untuk dijalankan, fase pengkodean). 4. Test dan integrasi (meyakinkan semua berjalan baik).