DASAR - DASAR PERANCANGAN PERANGKAT LUNAK

Slides:



Advertisements
Presentasi serupa
Design Perangkat Lunak
Advertisements

Teknik Pemrograman Terstruktur
Bab 6 PERANCANGAN PERANGKAT LUNAK
Pemrograman Berorientasi Objek
DESAIN ARSITEKTUR PERANGKAT LUNAK
TEORI ALGORITMA.
Minggu 6 Prinsip & Konsep Desain
Perancangan Perangkat Lunak lanjutan Kuliah - 7
KONSEP DESAIN SOFTWARE DATABASE
Modular Programming Slamet Kurniawan, S.Kom.
Teks Algorithma Ery Setiyawan Jullev A.
PEMROGRAMAN BASIS DATA
PENGANTAR REKAYASA PERANGKAT LUNAK I
Perancangan (Design).
PERANCANGAN PERANGKAT LUNAK
REKAYASA PERANGKAT LUNAK REQUIREMENTS ANALYSIS FUNDAMENTALS
Prosedur (Procedure).
Prototyping Aplikasi Teknologi Informasi
Metode Desain Dr. Ema Utami, S.Si, M.Kom.
Ir. Waniwatining Astuti, M.T.I Rekayasa Perangkat Lunak
KONSEP PERANCANGAN SISTEM INFORMASI LANJUTAN)
PL/SQL PROGRAMMING PL/SQL adalah prosedur berkelanjutan dari Oracle -SQL yang menawarkan satu bentuk bahasa pemrograman. PL/SQL memungkinkan user atau.
Algoritma Umum untuk Masalah Bisnis
REKAYASA PERANGKAT LUNAK
Fungsi Fungsi (Sub Program) :
PERANCANGAN BASIS DATA
KONSEP PERANCANGAN SISTEM INFORMASI
Perancangan umum Sistem Informasi
Fungsi dan Prosedur.
PENGERTIAN DASAR ALGORITMA & FLOWCHART
REKAYASA PERANGKAT LUNAK
10 documentation.
Materi 1 Perancangan Program
Spesifikasi Perangkat Lunak
Perangkat Lunak 1.
Ir. Waniwatining Astuti, M.T.I Rekayasa Perangkat Lunak
Design Perangkat Lunak
Operating System Structure
Professional documents
PERANCANGAN PERANGKAT LUNAK ( PL )
Operating System Structure
Pertemuan 6 Implementasi Modularitas Dalam Bahasa Pemrograman
Design Basis Data Kelompok 9
Perancangan Sistem Informasi
Operating System Structure
DESAIN SISTEM Muhammad Taqiyyuddin Alawiy, ST., MT TEKNIK ELEKTRO
Pengujian Perangkat Lunak
Metode Perancangan Program
Pertemuan 4 Modularitas
Analisis dan Perancangan Sistem Informasi Erik Kurniadi
Pertemuan 11 ANALISA PERANCANGAN PROGRAM Bagian 1.
Analisis dan Perancangan Sistem Informasi IV
10 Perancangan Arsitektural
REKAYASA PERANGKAT LUNAK
ARSITEKTUR PERANGKAT LUNAK
Analisa dan Perancangan Sistem Informasi Operasional
REKAYASA PERANGKAT LUNAK
MEMBANGUN MODUL PROGRAM YANG EFEKTIF
Keterampilan komputer 1AB
(User Interface Design--UID)
PENGANTAR REKAYASA PERANGKAT LUNAK
Analisis dan Perancangan Sistem Informasi IV
KELOMPOK 6 Modeling Adnin Devit C F
PERTEMUAN II PENGANTAR
Analisis dan Desain Berorientasi Obyek
Rekayasa Perangkat Lunak
DASAR - DASAR PERANCANGAN PERANGKAT LUNAK
Teknik Pemrograman Terstruktur
Universitas Indraprasta PGRI
PENGERTIAN DASAR FLOWCHART
Transcript presentasi:

DASAR - DASAR PERANCANGAN PERANGKAT LUNAK UNIVERSITAS INDRAPRASTA PGRI

PENGANTAR Perancangan Perangkat Lunak merupakan proses penerjemahan dari kebutuhan menjadi perangkat lunak Hasil dari perancangan adalah : Rancangan data yang memetakan model domain informasi pada saat analisis menjadi struktur data yang dibutuhkan untuk implementasi perangkat lunak. Rancangan arsitektural yang mendefinisikan hubungan dari komponen-komponen struktural utama dari program. Rancangan prosedural yang memetakan komponen- komponen struktural ke deskripsi prosedur perangkat lunak

PENGANTAR Test Design Dengan perancangan Tanpa perancangan Maintenance Implementation Test Maintenance Tanpa perancangan Maintenance Test Implementation Design Dengan perancangan

PERANCANGAN PERANGKAT LUNAK PRINSIP-PRINSIP DASAR PERANCANGAN PERANGKAT LUNAK ABSTRACTION ( Wasserman ) Pada rancangan secara modular, beberapa tingkatan abstraksi dapat diperoleh, sehingga perancang dapat mengkonsen- trasikan pada setiap tingkatan abstraksi yang lebih terinci. Pada level paling tinggi, solusi dinyatakan secara global dengan bahasa pada lingkungan masalah. Dan pada abstraksi paling bawah, solusi dinyatakan dalam bahasa yang dapat langsung diimplementasikan

ABSTRACTION PROGRAM ABSTRACTION DATA ABSTACTION Abstraksi tingkat pertama : TYPE drawing IS STRUCTURE CAD Software Task DEFINED User interface Task Number IS INTEGER 2-D Drawing Creation Task Icon IS ……… ICON_STRUCTURE end. Notes IS STRING Abstraksi tingkat kedua : LENGTH (225) PROCEDURE User interface Versi IS STRING ……… LENGTH ( 10 ) …… …………… end end

PERANCANGAN PERANGKAT LUNAK PRINSIP-PRINSIP DASAR PERANCANGAN PERANGKAT LUNAK MODULARITY & SOFTWARE ARCHITECTURE Perangkat lunak dibagi atas beberapa modul. Sebuah modul dapat dibagi lagi atas beberapa sub- modul Modul memiliki nama yang unik. Sebuah modul dapat memanggil modul lainya.

Struktur Evolusi PERANCANGAN PERANGKAT LUNAK PRINSIP-PRINSIP DASAR S1 Sotware “solution” “Problem” to be solved via software Struktur Evolusi

PRINSIP-PRINSIP DASAR PERANCANGAN PERANGKAT LUNAK “Problem” Struktur Berbeda Structure 1 Structure 2 Structure 3

PRINSIP-PRINSIP DASAR PERANCANGAN PERANGKAT LUNAK Depth Width Fan-out Fan-in M b c a k d e l m g f h o n p q i j r Struktur Terminologi

PERANCANGAN PERANGKAT LUNAK PRINSIP-PRINSIP DASAR PERANCANGAN PERANGKAT LUNAK HIRARKI KONTROL ( STRUKTUR PROGRAM ) Menunjukkan organisasi dari modul-modul program dan menunjukan hirarki kontrolnya. Tidak merepresentasikan aspek prosedural dari perangkat lunak seperti urutan proses, keputusan, atau perulangan. Kedalaman dan lebar menunjukkan jumlah tingkatan kontrol dan seluruh cakupan kontrol Fan-out menunjukkan jumlah modul yang secara langsung dikontrol oleh modul lain Fan-in menunjukkan jumlah modul yang mengontrol modul yang bersangkutan Modul yang mengontrol modul yang lain disebut superordinate Modul yang dikontrol modul yang lain disebut subordinate

FAN-OUT Fan-out dari sebuah modul adalah banyaknya subordinate langsung dari modul tersebut Perluasan kontrol dari sebuah modul sebaiknya tidak melebihi 7 + 2 ( kecuali pada pusat-pusat transaksi ) Hindarkan Fan-out yang bersifat main-line (satu boss, dengan modul-modul lain sebagai subordinate ) Sebuah modul dengan Fan-out yang banyak biasanya sukar dipelihara. Untuk memecahkan fan-out yang banyak gunakan modul-modul antara

FAN-IN Fan-in dari modul adalah banyaknya modul lain yang ( boss ) menggunakan/memanggil modul tersebut. Jika mungkin Fan-in harus dilakukan sebanyak-banyaknya. Fan-in yang banyak menghindari pengulangan pembuatan modul yang sama atau serupa Fan-in yang banyak mempermudah pemeliharaan karena menempatkan suatu fungsi yang sama dalam satu modul

PROSEDUR PERANGKAT LUNAK PRINSIP-PRINSIP DASAR PERANCANGAN PERANGKAT LUNAK STRUKTUR DATA Refresentasi lojikal dari hubungan antara elemen- elemen data. PROSEDUR PERANGKAT LUNAK Struktur program hanya mendefinisikan hirarki kontrol tanpa memperhatikan urutan proses. Prosedur perangkat lunak berfokus pada rincian proses dari setiap modul. INFORMATION HIDING ( by Pamas ) Prinsip dasar dalam pembentukan modul dimana hanya data yang benar-benar perlu, yang dikenalkan dan dapat diakses oleh sebuah modul.

PERANCANGAN PERANGKAT LUNAK PRINSIP-PRINSIP DASAR PERANCANGAN PERANGKAT LUNAK Struktur Data Klasik A scalar item . . . A sequentiql Vector A linkled list An n-dimentional Space A Hierarchical tree . . .

PERANCANGAN YANG MODULAR Keuntungan : menurunkan kompleksitas mempermudah pengubahan implementasi yang lebih mudah karena bagian- bagian yang berbeda dapat dibuat dengan paralel Evaluasi dari hubungan antar modul dapat dinilai dengan melihat kohesi dan koplingnya ( Steven, Myers, dan Constantine )

PERANCANGAN YANG MODULAR Module A Prosedur dalam suatu modul

PERANCANGAN YANG MODULAR Prosedur berlapis

KOPLING Kopling adalah tingkat saling ketergantungan antara dua modul. Kita menghendaki modul dengan kopling rendah yaitu modul-modul yang sedapat mungkin tidak saling bergantungan. Kopling yang rendah adalah tanda dari pembagian sistem yang baik, dimana sesuatu yang tidak berhubungan dipisahkan. Jika sedikit atau tidak ada interaksi dua modul disebut loosely coupled (kopling rendah) dan jika sebaliknya disebut tighty coupled (kopling tinggi) Makin tinggi kopling yang ada makin sulit sebuah program untuk dimengerti. Jika dua modul memiliki kopling yang rendah, maka sebuah modul dapat diubah tanpa perlu mengubah modul yang lain.

KOPLING Mengapa kopling yang rendah diperlukan ? Untuk menghilangkan ripple effect (perubahan pada sebuah modul dapat berpengaruh pada modul lain). Sehingga dapat memelihara atau mengubah suatu modul dengan resiko yang minimal untuk mengubah modul lainnya. Jika mungkin kita ingin dapat bekerja dengan modul A tanpa perlu mengetahui tentang apapun dalam modul B.

KOPLING Faktor-faktor yang berpengaruh pada kopling antara dua modul adalah : Jumlah item data yang disalurkan diantara dua modul (makin banyak data yg disalurkan makin tinggi kopling yang terjadi). Jumlah data kontrol yang disalurkan diantara dua modul (makin banyak data kontrol yang disalurkan makin tinggi kopling yang terjadi) Jumlah elemen data global yang digunakan bersama- sama oleh beberapa modul (makin banyak data global yang digunakan, makin tinggi kopling yang terjadi)

Kopling tinggi Kohesi rendah Apa yang terjadi diantara modul-modul (kopling) dipengaruhi oleh apa yang terjadi dalam modul-modul tersebut secara individual (kohesi) Y X Lalu lintas jalan Kopling tinggi Kohesi rendah

Kopling rendah Kohesi tinggi Melekatkan hal-hal yang berkaitan didalam modul yang sama, akan mengurangi lalu-lintas diantara modul-modul X Y Lalu lintas jalan Kopling rendah Kohesi tinggi

KOHESI Kohesi adalah ukuran kekuatan asosiasi antar elemen didalam suatu modul. Elemen yang dimaksud adalah : sebuah instruksi, sekumpulan intruksi, atau pemanggilan ke modul lain. Kohesi tinggi jika sebuah modul hanya bertanggung jawab terhadap satu pekerjaan saja.

RANCANGAN DATA Rancangan data yang bagus dapat membuat struktur program lebih baik, modularitas efektif dan menurunkan kompleksitas prosedural Beberapa petunjuk : Semua struktur data dan operasi yang mengolahnya harus didefinisikasi Selalu gunakan kamus data Rancanagan data yang bersifat low-level harus ditunda sampai akhir dari proses perancangan Bentuk keputusan dan struktur data dan operasi- operasi yang mengolahnya Bahasa pemrograman harus mendukung spesifikasi dan realisasi dari tipe data abstrak.

PERANCANGAN ARSITEKTURAL Tujuan dari perancangan arsitektural adalah untuk membangun struktur program yang modular dan membentuk hubungan kontrol antar modul Rancangan arsitektural menggabungkan struktur program dan struktur data serta mendefinisikan interface yang membuat data melalui program. Dan dinyatakan dalam bentuk Bagan Susunan atau diagram Wamier/Orr.

RANCANGAN ARSITEKTURAL

RANCANGAN ARSITEKTURAL Produce Acounts Receivables Report 2. Produce account transaction history 1. Initiate account record 3. Open files and get fisrt account record 2. Initialize accounts receivable accumulators 1. Print acount headings 3. Terminate processing 2. Main Processing 1. Initiate 3. Get next account 3. Print transaction detail line 2. Get first transaction 1. Update transaction accumulators 2. Calculate transaction service charge and new account balances 2. CLOSE FILES 1. Print account summary totals 4. Get next tansaction 1. Print account general information

BAGAN SUSUNAN Bagan susunan merupakan susunan hirarki dari modul-modul Bagan susunan menunjukkan pembagian sistem menjadi modul-modul hirarki dan organisasi modul-modul komunikasi antar modul ( masukan dan keluaran ) nama modul, yang berarti juga fungsi modul. Bagan Susunan tidak menunjukkan : Mekanik didalam modul ( seperti ukuran pemanggilan modul lain, loops dsb Data internal dari modul STIMIK Perbanas Versi 1.0

BAGAN SUSUNAN  Simbol-simbol yang digunakan : : Modul 1 : hubungan (Connection) 2 : pengulangan (loop) 3 : Seleksi / pemilihan 4  : Kopel Kontrol 5  : Kopel Data 6 STIMIK Perbanas Versi 1.0

BAGAN SUSUNAN Perbedaan Kopel Data dan Kopel Kontrol : KOPEL DATA ( DATA COUPLE ) adalah aliran data dari modul yang memanggil ke modul yang dipanggil. KOPEL KONTROL ( CONTROL COUPLE ) adalah elemen yang dikirimkan oleh modul yang dipanggil kepada modul yang memanggil sebagai tanda bahwa proses pemanggilan selesai (biasanya untuk proses pengulangan) Pengirim Penerima Informasi Informasi Perbedaan Kopel Data dan Kopel Kontrol : - Data biasanya berhubungan dengan permasalahan (diproses) - Kontrol adalah alat bantu untuk implementasi tidak diproses STIMIK Perbanas Versi 1.0

Contoh Bagan Susunan Hitung Potongan : Suatu modul dengan nama “Hitung Potongan” A B : Modul A memanggil modul B, setelah proses modul B selesai maka proses kembali ke modul A : Modul A memanggil modul B dan elemen data P dikirimkan dari modul A ke modul B. Kemudian modul B mengirimkan hasil proses ( elemen data Q dan elemen kontrol Flag ) ke modul A .  P Q  Flag STIMIK Perbanas Versi 1.0

Contoh Bagan Susunan : Modul A memanggil modul B atau C sesuai dengan nilai kondisi yang diseleksi di modul terpenuhi A B C : Modul A memanggil modul B dan C secara berulang STIMIK Perbanas Versi 1.0