File

advertisement
PERANCANGAN SISTEM
PERANCANGAN SISTEM
• Proses untuk mendefinisikan suatu model atau
rancangan sistem dengan menggunakan teknik dan
prinsip tertentu sedemikian sehingga model atau
rancangan tersebut dapat diwujudkan menjadi sistem.
• Proses mendefinisikan arsitektur sistem, komponen,
modul, antarmuka, pendekatan pengujian, serta data
untuk memenuhi kebutuhan yang sudah ditentukan
sebelumnya.
• Proses bertahap dimana semua kebutuhan yang ada
diterjemahkan menjadi suatu cetak biru yang akan
digunakan untuk mengkonstruksi sistem. [Pressman,
2001]
2
Strategi Perancangan
• Top Down
• Bottom Up
• Organizational
Struktur proses perancangan dipengaruhi oleh faktorfaktor non teknis yang timbul dari faktor organisasi
pemakai peangkat lunak
• Cetak Biru
Menggunakan strategi perancangan yang standar untuk
beberapa masalah yang memiliki kesamaan paradigma
3
3 Karakteristik Evaluasi Perancangan
• Perancangan harus mengimplementasikan keseluruhan kebutuhan eksplisit dan
mengakomodasi semua kebutuhan implisit
yang diinginkan
• Perancangan harus menjadi panduan
yang dapat dibaca, dipahami bagi
programmer dan penguji sistem
• Perancangan harus memberikan suatu
gambaran lengkap mengenai sistem
4
Perancangan Sistem
• Proses Perancangan
Serangkaian langkah iteratif yang memungkinkan
desainer menggambarkan semua aspek sistem yang
dibangun
• Model Perancangan
Ekivalen rencana arsitek untuk sebuah rumah. (yang
dibuat untuk perangkat sistem memberikan berbagai
pandangan yang berbeda tentang program komputer
5
OBJEK PERANCANGAN
• Data
Struktur tabel basis data / file data
 Struktur data internal

• Arsitektur perangkat lunak
Structure chart
 Struktur menu program

• Antarmuka pemakai
• Spesifikasi program (algoritma)
6
TRANSFORMASI MODEL ANALISIS - PERANCANGAN
Model Analisis
• Diagram Konteks
• DFD level 1, 2, …
• Kamus Data
Model Perancangan
2
• Rancangan Data
3
• Arsitektur PL
(Structure Chart)
• Antarmuka Pemakai
• Spesifikasi Proses
1
• E-R Diagram
4
• Spesifikasi Program
(Algoritma)
7
PERANCANGAN BASIS DATA
• Transformasi Diagram E-R (conceptual
data model, CDM) menjadi model relasi
(skema relasi, tabel relasi).
• Penentuan atribut relasi sesuai dengan
kamus data yang telah dibuat.
• Normalisasi.
• Pendefinisian struktur tabel.
• Pembuatan relasi antar tabel (physical
data model, PDM)
8
CONTOH STRUKTUR TABEL BASIS DATA
Tabel Penjualan
• Fungsi
• Jenis
• Primary Key
• Foreign Key
• Struktur Tabel
No. Nama Field
:
:
:
:
:
Menyimpan data transaksi penjualan
Tabel Transaksi
No_Faktur+Kode_Brg
Kode_Brg
Jenis
Lebar Keterangan
1
No_Faktur
String
10
Nomor Faktur
2
Kode_Brg
String
8
Kode Barang
3
Hrg_Jual
Long Integer
8
Harga jual barang saat transaksi
4
Kuantitas
Integer
5
Banyaknya (kuantitas) barang
9
CONTOH RELASI ANTAR TABEL
BARANG
KODE_BRG
KODE_SUP
NAMA_BRG
SATUAN
JENIS
HRG_BELI
HRG_JUAL
JML_STOK
SUPPLIER
A8
A6
A25
A4
A1
I
I
I
KODE_SUP = KODE_SUP
KODE_SUP
NAMA_SUP
ALAMAT
KOTA
TELEPON
A6
A25
A30
A15
A12
KODE_BRG = KODE_BRG
BAYAR
JUAL
KODE_BRG
NO_FAKTUR
HRG_JUAL
KUANTITAS
A8
A10
I
NO_FAKTUR = NO_FAKTUR
I
NO_FAKTUR
TANGGAL
JML_BAYAR
A10
D
I
10
ARSITEKTUR PERANGKAT LUNAK
• Gambaran bagaimana elemen/komponen
fungsional perangkat lunak disusun, diorganisasi
dan distrukturkan sehingga:



Hubungan antar elemen/komponen dapat
dijelaskan.
Interface yang menghubungkan elemen/komponen
dapat didefinisikan.
Wujud dan penempatan elemen/komponen dalam
tempat penyimpanan sekunder secara fisik dapat
ditetapkan.
11
TRANSFORMASI DFD - STRUCTURE CHART
XX
B
E
U
???
A
A
C
U
F
H
YY
B
V
G
H
C
Get A
XX
G
F
D
E
YY
ZZ
Put H
D
ZZ
Keterangan:
menyatakan transaction center
• Menggunakan teknik:


Analisis transformasi
Analisis transaksi
12
Aliran Transformasi
Mentrasformasikan data eksternal ke bentuk internal diidenti
fikasi sebagai aliran masuk, terjadi transisi , data masuk di
lewatkan melalui pusat transformasi dan bergerak keluar
melalui jalur keluar
13
Aliran Transaksi
14
CONTOH ARSITEKTUR PERANGKAT LUNAK
Model Analisis (DFD level atomik)
1
Tambah
Data Barang
Bagian
Penjualan
id_barang
Modul Pemanggil
rec_barang
id_supplier
Barang
rec_supplier
rec_supplier
Supplier
2
Tambah
Data
Supplier
Arsitektur Perangkat Lunak
(Structure Chart)
Kelola Data
Induk
Proses 2.0
Proses 1.0
Tambah Data
Barang
id_barang
Tambah Data
Supplier
rec_barang
id_supplier
rec_supplier
supplier
Modul-modul atomik
(procedure, function)
Baca
Id_Barang
Rekam
Barang
Baca
Id_Supplier
Rekam
Supplier
15
STRUCTURE CHART (1) : PASCAL
modul pemanggil
A
notasi untuk
parameter input
yang dikirimkan
kepada modul
yang dipanggil
x, y
p, q
B
notasi untuk parameter
output yang diberikan pada
modul pemanggil
modul yang dipanggil
Procedure A;
Var p, q : Real;
Procedure B(x, y : Real);
Begin
p := ... { manipulasi nilai p }
q := ... { manipulasi nilai q }
End;
Begin
B(x, y); { call procedure B }
End;
• Modul A memanggil modul
B dengan data x dan y
sebagai parameternya.
• Modul B mengirimkan data
p dan q sebagai return
value ke modul A.
Potongan kode program
dalam bahasa Pascal
16
STRUCTURE CHART (2) : PASCAL
• Modul A akan memanggil
modul B jika kondisi dalam
modul A dipenuhi.
• Modul A akan memanggil
modul C secara berulang.
Potongan kode program
dalam bahasa Pascal
A
B
C
Procedure C;
Begin
...
End;
Procedure B;
Begin
...
End;
Procedure A;
Begin
If True Then B; {call procedure B}
While True Do C; {call procedure C}
End;
17
STRUCTURE CHART (3) : PHP
FormInput.html
<html>
...
<form method=post action=Rekam.php>
...
</html>
FormInput
Rekam.php
<?
// Rekam.php
function getId() {
}
function saveId(id) {
}
id = getId();
saveId(id)
?>
Rekam
id
id
getId
saveId
18
STRUCTURE CHART (4) : DELPHI
main.pas
unit main;
...
var
Form1: TForm1;
implementation
uses Rekam;
procedure TForm1.Click(Sender: TObject);
begin
frmRekam.Show;
end;
Main
end.
rekam.pas
Rekam
unit Rekam;
...
var
frmRekam: TForm1;
implementation
...
end.
19
PERANCANGAN ANTARMUKA PEMAKAI
• Secara fisik antarmuka pemakai yang
dirancang adalah tampilan layar (form,
halaman web).
• Jenisnya dapat berupa:





Menu pilihan
Form isian (entry)
Penyajian informasi (report, query)
Kotak dialog, jika diperlukan
Fasilitas bantuan (Help), jika diperlukan
20
IDENTIFIKASI RANCANGAN ANTARMUKA PEMAKAI
1
Tambah
Data Barang
id_barang
Bagian
Penjualan
rec_barang
Ada interaksi antara
pemakai dengan PL
id_supplier
Barang
rec_supplier
rec_supplier
Supplier
Ada data yang diberikan
oleh pemakai ke PL
2
Tambah
Data
Supplier
Harus ada user interface
untuk Tambah Data Barang!
Tambah Data
Tambah
DataBarang
Barang
XX
Kode Barang:
Nama Barang:
Lihat kamus datanya!!!
id_barang = kode_ brg + nama_brg +
satuan + jenis + hrg_beli + hrg_jual
+ jml_stok + kode_sup
Satuan:
Jenis:
1:Milik 2:Konsinyasi
Harga Beli:
Rp.
Harga Jual:
Rp.
Jumlah Stok:
unit
Kode Supplier:
Rekam
Batal
21
PENULISAN SPESIFIKASI PROGRAM
• Deskripsi prosedural (algoritma) untuk semua
modul-modul program yang menjadi elemenelemen struktural dari arsitektur perangkat
lunak:


Prosedur
Fungsi
• Merupakan penjelasan lebih rinci dan teknis
dari spesifikasi proses.
• Ditulis dengan menggunakan notasi pseudocode, atau notasi yang mirip dengan bahasa
pemrograman yang digunakan.
22
SPESIFIKASI PROSES
Proses 1.1 Tambah Data Barang
Begin
While data barang masih ada Do
Baca identitas barang
Verifikasi
If not valid Then
tulis pesan
Else rekam ke tabel barang
End
1
Tambah
Data Barang
id_barang
Bagian
Penjualan
rec_barang
id_supplier
Barang
rec_supplier
rec_supplier
Supplier
2
Tambah
Data
Supplier
SPESIFIKASI PROGRAM ( DELPHI LIKE )
Procedure btnRekamBarangClick
Kamus
{ Deklarasi variabel; TEdit, TDBLookupCombo, TTable terdefinisi }
eKode, eNama, eSatuan, eJenis, eHrgBeli, eHrgJual, eJmlStok: TEdit
DBLookupCombo1: TDBLookupCombo
TabelBarang, TabelSupplier: TTable
Algoritma
{ Buka tabel barang dan supplier }
TabelBarang.Open
TabelSupplier.Open
{ Baca identitas barang melalui komponen TEdit dan validasi }
{ Rekam ke tabel barang }
TabelBarang.Append
TabelBarang.FieldByName('Kode_Brg').AsString := eKode.Text
TabelBarang.FieldByName('Nama_Brg').AsString := eNama.Text
TabelBarang.FieldByName('Satuan').AsString := eSatuan.Text
TabelBarang.FieldByName('Jenis').AsInteger:=StrToInt(eJenis.Text)
TabelBarang.FieldByName('Hrg_Beli').AsInteger:=StrToInt(eHrgBeli.Text)
TabelBarang.FieldByName('Hrg_Jual').AsInteger:=StrToInt(eHrgJual.Text)
TabelBarang.FieldByName('Jml_Stok').AsInteger:=StrToInt(eJmlStok.Text)
TabelBarang.FieldByName('Kode_Sup').AsString := DBLookupCombo1.Value;
TabelBarang.Post
23
Download