SI-502 DESAIN DAN ARSITEKTUR SISTEM INFORMASI

Post on 02-Oct-2021

7 views 0 download

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