SI-502 DESAIN DAN ARSITEKTUR SISTEM INFORMASI
Transcript of SI-502 DESAIN DAN ARSITEKTUR SISTEM INFORMASI
SI-502 DESAIN DAN ARSITEKTUR SISTEM INFORMASI
1
1
Identifying problem,
opportunities, &
objectives
2
Determining human
information
requirement
3
Analyzing system
needs
4
Designing the
recommended
system5
Developing &
documenting
software
6
Testing &
maintaining the
system
7
Implementing &
evaluating the
system
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]
3
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
5
Software Design
Software Design: a process through which requirements
are translated into a representation of software.
Data; mentransformasi model domain informasiyang dibuat selama analisis ke dalam struktur data yang akan dibutuhkan untukmengimplementasikan perangkat lunak
Arsitektur; mendefinisikan hubungan antara elemenstruktural utama dari program, organisasi modular dapat diturunkan dari model analisis dan interaksisubsistem dalam model analisis.
Antarmuka pemakai; menjelaskan bagaimanasoftware berkomunikasi dalam dirinya sendiri, interaksi dengan sistem lain, dan dengan manusiayang menggunakannya.
Prosedural; mengubah elemen struktural dariarsitektur program menjadi deskripsi prosedural darikomponen software
6
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)
7
Tabel Penjualan
Fungsi : Menyimpan data transaksi penjualan
Jenis : Tabel Transaksi
Primary Key : No_Faktur+Kode_Brg
Foreign Key : Kode_Brg
Struktur Tabel :
No. Nama Field 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
8
Sebuah perusahaan rental mobil akan menyimpan data-data sebagai berikut:
◦ Setiap mobil memiliki data: nomor polisi, nomor mesin, jenis mobil, merek mobil, dan kapasitas tangki.
◦ Seorang pelanggan dapat menyewa banyak mobil. Data pelanggan terdiri dari : id pelanggan yang unik, nama pelanggan, alamat pelanggan, dan nomor teleponpelanggan (nomor telepon yang disimpan hanya satu nomor telepon).
◦ Supir memiliki data : id supir yang unik, nama, no telepon, alamat (terdiri dari namajalan, nomor rumah, dan kota), dan tanggal lahir. Seorang supir hanyabertanggungjawab pada sebuah mobil karena jumlah mobil yang ada sama denganjumlah supir.
◦ Setiap mobil yang disewa akan disimpan tanggal pelaksanaan penyewaan, tanggalpengembalian, tujuan tempat penyewaan, lama penyewaan dalam jumlah hari. Lama penyewaan dihitung dari tanggal pelaksanaan penyewaaan dan tanggalpengembalian.
◦ Jika mobil membutuhkan perbaikan maka mobil akan diperbaiki oleh montir. Montirmemiliki id montir yang unik, nama, dan keahlian. Seorang montir dapatmemperbaiki banyak mobil.
◦ Tuliskan jika ada asumsi tambahan yang Anda gunakan.
Buatlah ERD dan skema relasi!
9
Tujuannya adalah untuk mengembangkan strukturprogram modular dan merepresentasikanhubungan kontrol antara modul.
Desain arsitektur menggabungkan strukturprogram dan struktur data, sehinggamendefinisikan interface yang akan memungkinkandata yang mengalir di seluruh program.
Desain berorientasi aliran data merupakan metodedesain arsitektur yang memungkinkan transisi yang mudah dari model analisis untuk deskripsi desainstruktur program
10
Transisi dari informasi mengalir ke struktur program biasanya dilakukan sebagai proses lima langkah:
1. Review the fundamental system model
2. Review and refine data flow diagrams for the software
3. Determine whether the DFD has transform or transaction flow characteristics
4. Tambahkan modul kontrol jika dibutuhkan
5. Sempurnakan struktur program menggunakankonsep modularitas efektif
Aliran TransformasiMentrasformasikan data eksternal ke bentuk internal diidentifikasi sebagai aliran masuk, terjadi transisi, data masuk dilewatkan melalui pusat transformasi dan bergerak keluar melalui jalur keluar
Aliran transaksiAliran transaksi ditandai dengan data yang bergerak sepanjang jalur masuk yang mengkonversi informasi dunia luar ke dalam transaksi.
.
12
23
Transform Mapping
24
Transform Mapping
25
Transform Mapping
26
The incoming controller can be removed because it is unnecessary when a single incoming flow path is to be managed.
The substructure generated from the transform flow can be imploded into the module establish alarm conditions (which will now include the processing implied by select phone number). The transform controller will not be needed and the small decrease in cohesion is tolerable.
The modules format display and generate display can be imploded (we assume that display formatting is quite simple) into a new module called produce display.
27
28
29
Transaction Mapping
30
Transaction Mapping
31
Transaction Mapping
32
Transaction Mapping
33
id_supplier
rec_supplier
rec_supplier
rec_barang
id_barang
Bagian
Penjualan
Barang
Supplier
1
Tambah
Data Barang
2
Tambah
Data
Supplier
Baca
Id_Supplier
Rekam
Supplier
Tambah Data
Supplier
id_supplier rec_supplier
Baca
Id_Barang
Rekam
Barang
Tambah Data
Barang
id_barangrec_barang
Kelola Data
Induk
Model Analisis (DFD level atomik)
Proses 2.0Proses 1.0
Modul Pemanggil
Perancangan Arsitektur
(Structure Program)
Modul-modul atomik
(procedure, function)
supplier
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.
34
A
B
modul pemanggil
modul yang dipanggil
p, q notasi untuk parameter
output yang diberikan pada
modul pemanggil
x, y
notasi untuk
parameter input
yang dikirimkan
kepada 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;
Potongan kode program
dalam bahasa Pascal
Modul A akan memanggil modul B jika kondisi dalam modul A dipenuhi.
Modul A akan memanggil modul C secara berulang.
A
B C
35
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;
Potongan kode program
dalam bahasa Pascal
<html>
...
<form method=post action=Rekam.php>
...
</html>
36
<?
// Rekam.php
function getId() {
}
function saveId(id) {
}
id = getId();
saveId(id)
?>
FormInput.html
Rekam.php
FormInput
Rekam
getId saveId
id id
unit main;
...
var
Form1: TForm1;
implementation
uses Rekam;
procedure TForm1.Click(Sender: TObject);
begin
frmRekam.Show;
end;
end.
37
unit Rekam;
...
var
frmRekam: TForm1;
implementation
...
end.
main.pas
rekam.pas
Main
Rekam
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
38
39
Tambah Data Barang X
id_supplier
rec_supplier
rec_supplier
rec_barang
id_barang
Bagian
Penjualan
Barang
Supplier
1
Tambah
Data Barang
2
Tambah
Data
Supplier
1:Milik 2:Konsinyasi
Rp.
Rp.
Tambah Data Barang X
Kode Barang:
Nama Barang:
Satuan:
Jenis:
Harga Beli:
Harga Jual:
Jumlah Stok:
Kode Supplier:
unit
Rekam Batal
Ada interaksi antara
pemakai dengan PL
Harus ada user interface
untuk Tambah Data Barang!
id_barang = kode_ brg + nama_brg +
satuan + jenis + hrg_beli + hrg_jual
+ jml_stok + kode_sup
Ada data yang diberikan
oleh pemakai ke PL
Lihat kamus datanya!!!
40
Procedural Design
Tujuan adalah untuk mengubah komponen
struktural menjadi deskripsi prosedural dari
perangkat lunak.
• Procedural details can be represented in different
ways:
1.Graphical Design Notation
2.Tabular Design Notation
3.Program Design Language (PDL)
41
Graphical Notation
The most widely used notation is the flowchart. Some
notation used in flowcharts are
(I) Boxes to indicate processing steps;
(II) Diamond to indicate logical conditions;
(III)Arrows to indicate flow of control;
(IV)Two boxes connected by a line of control will indicate
a Sequence.
42
Graphical Notation
43
Tabular Notation
• Provides a notation that translates actions and conditions
(described in a processing narrative) into a tabular form.
•The upper left-hand section contains a list of all
conditions.
•The lower left-hand section lists all actions that are
possible based on the conditions.
•The right-hand sections form a matrix that indicates
condition combinations and the corresponding actions
that will occur for a specific combination.
44
Tabular Notation
SPESIFIKASI PROSES SPESIFIKASI PROGRAM ( DELPHI LIKE )
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
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
45
id_supplier
rec_supplier
rec_supplier
rec_barang
id_barang
Bagian
Penjualan
Barang
Supplier
1
Tambah
Data Barang
2
Tambah
Data
Supplier
46
Control Hierarchy
• Control Hierarchy merupakan organisasi hirarki organisasi
dari komponen program (modul) dan sebagai hirarki kontrol.
1. Fan-Out, which is a measure of the number of modules that
are directly controlled by another module;
2. Fan-in, which indicates how many modules directly control
a given module.
3. Depth: Number of levels of control
4. Width: Overall span of control
5. Superordinate: i.e. a module that controls another module;
6. Subordinate: i.e. a module that is controlled by another
module.
47
Control Hierarchy
Konsep ini merupakan pertumbuhan langsung darimodularitas, konsep abstraksi PL, danInformation Hiding.
Independensi diukur melalui Kohesi dan Kopling.▪ Kohesi mengukur derajat relatif integrasi antara
elemen dalam sebuah modulModul yang kohesif seharusnya hanyamelakukan satu hal saja (kohesi tinggi = fungsional <> koinsidental).
▪ Kopling mengukur derajat saling ketergantungan antara modul relatifModul yang baik seharusnya memiliki hubunganyang sederhana (kopling rendah)
49
Cohesion
Sebuah modul dengan kohesi yang tinggi mampu
melakukan tugas tunggal dalam prosedur software,
memerlukan sedikit interaksi dengan prosedur yang
dilakukan di bagian lain dari program.
50
Coupling
Coupling adalah ukuran interkoneksi antar modul
dalam struktur program perangkat lunak.
Dari latihan kasus rental mobil, tentukan metode pengembangan yang digunakan apakah berorientasi proses atau objek? Jelaskan alasan penggunaan metode tersebut!
Buatlah analisis model dengan DFD (context diagram dan dfd sampai level primitif) dari kasus rental tersebut!
51