Rekayasa PerangkatLunak Software Engineering1 Rekayasa PerangkatLunak (Software...

20
1 Rekayasa Perangkat Lunak Rekayasa Perangkat Lunak (Software Engineering) Graha Prakarsa, ST. MT. Sekolah Tinggi Teknologi Bandung 1 Mengetahui apa yang dimaksud dengan teknik AnalisisTerstruktur. Memahami dan mampu menggunakan alat bantu pemodelan AnalisisTerstruktur. Memahami bagaimana melaksanakan Analisis Terstruktur. 2

Transcript of Rekayasa PerangkatLunak Software Engineering1 Rekayasa PerangkatLunak (Software...

Page 1: Rekayasa PerangkatLunak Software Engineering1 Rekayasa PerangkatLunak (Software Engineering)GrahaPrakarsa, ST. MT. SekolahTinggiTeknologiBandung 1 Mengetahui apa yang dimaksud dengan

1

Rekayasa Perangkat LunakRekayasa Perangkat Lunak(Software Engineering)

Graha Prakarsa, ST. MT.SekolahTinggiTeknologi Bandung

1

Mengetahui apa yang dimaksud dengan teknikAnalisis Terstruktur.

Memahami dan mampu menggunakan alat bantupemodelanAnalisis Terstruktur.

Memahami bagaimana melaksanakan AnalisisTerstruktur.

2

Page 2: Rekayasa PerangkatLunak Software Engineering1 Rekayasa PerangkatLunak (Software Engineering)GrahaPrakarsa, ST. MT. SekolahTinggiTeknologiBandung 1 Mengetahui apa yang dimaksud dengan

2

Analisis Terstruktur (Structured Analysis) merupakan salahsatu teknik analisis yang mengunakan pendekatanberorientasi fungsi.

Semua fungsi perangkat lunak direpresentasikan sebagaisebuah proses transformasi informasi, dan disusun secarahirarkis sesuai tingkat abstraksinya (sistem maupunperangkat lunak).

DeMarco (1979) mendefinisikan Analisis Terstruktur sebagaiteknik untuk mendeskripsikan spesifikasi sistem baru melaluiData Flow Diagrams, Data Dictionary, Structured English, danData Structure Diagrams.

3

PerangkatAnalisis Terstruktur Menurut DeMarco (1979) adalah:

1. Diagram Aliran Data atauData Flow Diagram (DFD)

2. Kamus Data atauData Dictionary

3. Structured English

4. Tabel Keputusan atauDecision Table

5. Pohon Keputusan atauDecision Tree

Kelima perangkat tersebut olehYourdon (1989) dilengkapi Kelima perangkat tersebut olehYourdon (1989) dilengkapidengan:

6. Diagram Entitas‐Relasi atau Entity‐Relationship Diagram (ERD)

7. Diagram Transisi Keadaan atau State Transition Diagram (STD)

4

Page 3: Rekayasa PerangkatLunak Software Engineering1 Rekayasa PerangkatLunak (Software Engineering)GrahaPrakarsa, ST. MT. SekolahTinggiTeknologiBandung 1 Mengetahui apa yang dimaksud dengan

3

Diagram yang digunakan untuk menggambarkan aliran datadalam sistem, meliputi sumber dan tujuan data, proses yangmengolah data tersebut, serta tempat penyimpanandatanya.

Diagram yang merepresentasikan bagaimana informasikeluar masuk dari ke sistem, proses apa yang mengubahinformasi tersebut dan dimana informasi disimpan.Representasi jaringan dari sistem yang menggambarkan Representasi jaringan dari sistem yang menggambarkansistem berdasarkan komponen‐komponennya dengansemua antarmuka diantara komponen‐komponen tersebut.

Perangkat pemodelan yang dapat menggambarkan sistemsebagai sebuah jaringan proses‐proses fungsional yang satudengan lainnya dihubungkan oleh “pipa saluran” data.

5

1. Aliran Data (Data Flow)

2. Proses

3. Penyimpanan Data (Data Store)

4. Sumber/Tujuan Data

6

Page 4: Rekayasa PerangkatLunak Software Engineering1 Rekayasa PerangkatLunak (Software Engineering)GrahaPrakarsa, ST. MT. SekolahTinggiTeknologiBandung 1 Mengetahui apa yang dimaksud dengan

4

7

Notasi SSADM

Aliran data

Proses

8

Entitas eksternal

Data Store

Page 5: Rekayasa PerangkatLunak Software Engineering1 Rekayasa PerangkatLunak (Software Engineering)GrahaPrakarsa, ST. MT. SekolahTinggiTeknologiBandung 1 Mengetahui apa yang dimaksud dengan

5

ProsesA. Proses tidak boleh mempunyai keluaran saja. Jika hanya mempunyai

keluaran saja, maka proses tersebut adalah sumber data.B. Proses tidak boleh mempunyai masukan saja. Jika hanya mempunyai

masukan saja, maka proses tersebut adalah tujuan data.C. Nama proses harus menggunakan kata kerja (misalnya Cetak Laporan),

atau kata kerja yang dibendakan (misalnya Pencetakan Laporan).

Tempat PenyimpananDataD. Data tidak dapat digambarkan mengalir langsung dari satu tempat

i k t t i l i h l l i l bihpenyimpanan ke tempat penyimpanan lainnya, harus melalui proses lebihdahulu.

E. Data tidak dapat digambarkan mengalir langsung dari sumber data ketempat penyimpanan data, harus melalui proses lebih dahulu.

F. Data tidak dapat digambarkan mengalir langsung dari tempatpenyimpanan data ke tujuan data, harus melalui proses lebih dahulu.

G. Nama tempat penyimpanan data harus menggunakan kata benda.9

Sumber/Tujuan DataH. Data tidak dapat digambarkan mengalir langsung dari sumber data ke tujuan data, harus

melalui proses lebih dahulu. Jika pun ada, hal tersebut tidak perlu digambarkan dalamDFD.

I. Nama sumber/tujuan data harus menggunakan kata benda./ j gg

Aliran DataJ. Aliran data hanya boleh mempunyai satu arah aliran dari ke simbol‐simbol. Jika ada data

mengalir dari ke proses atau tempat penyimpanan yang sama untuk menunjukkanproses pembacaan (retrieve) dan update, maka penggambarannya tidak bolehmenggunakan anak panah ganda.

K. Aliran data yang sama yang menuju beberapa proses, tempat penyimpanan, atausumber/tujuan data berbeda boleh digambarkan bercabang.

L. Aliran data yang sama dari beberapa proses, tempat penyimpanan, atau sumber/tujuany g p p , p p y p , jdata yang menuju satu proses tertentu boleh digambarkan bercabang.

M. Aliran data tidak boleh mengalir ke dirinya sendiri (sirkuler).N. Aliran data yang menuju tempat penyimpanan berarti proses update (rekam, perbaiki,

atau hapus).O. Aliran data dari tempat penyimpanan data berarti proses baca atau retrieve.P. Nama untuk aliran data harus menggunakan kata benda. Beberapa nama aliran data

dapat digunakan untuk satu anak panah asalkan kesemua nama data tersebutmerupakan satu kesatuan paket. 10

Page 6: Rekayasa PerangkatLunak Software Engineering1 Rekayasa PerangkatLunak (Software Engineering)GrahaPrakarsa, ST. MT. SekolahTinggiTeknologiBandung 1 Mengetahui apa yang dimaksud dengan

6

11

12

Page 7: Rekayasa PerangkatLunak Software Engineering1 Rekayasa PerangkatLunak (Software Engineering)GrahaPrakarsa, ST. MT. SekolahTinggiTeknologiBandung 1 Mengetahui apa yang dimaksud dengan

7

1. Diagram Dekomposisi/Hirarki

2. Diagram Konteks (Level 0)

3. Diagram Level 1

4. Diagram Level 2

5. Diagram Level ke‐n…. (sampai proses paling rinci).

13

Alat bantu yang digunakan untuk menggambarkan dekomposisidari sistem (disebut juga bagan hirarki).dari sistem (disebut juga bagan hirarki).

14

Page 8: Rekayasa PerangkatLunak Software Engineering1 Rekayasa PerangkatLunak (Software Engineering)GrahaPrakarsa, ST. MT. SekolahTinggiTeknologiBandung 1 Mengetahui apa yang dimaksud dengan

8

DFD KonteksDFD Level 1

DFD Level 2

DFD Level 3

Kamus data atau data dictionary adalah kumpulan data yangmenjelaskan elemen atau atribut data apa saja yangmembentuk aliran data atau tempat penyimpanan data yangada dalam DFD. Ditulis hirarkis secara top down denganmenggunakan notasi atau simbol tertentu sebagai berikut:

= sama dengan atau terdiri dari atau tersusun dari+ dan[] pilih salah satu (dari yang ditulis didalam tanda []){} iterasi atau pengulangan() pilihan (option)* komentar pemisah

16

Page 9: Rekayasa PerangkatLunak Software Engineering1 Rekayasa PerangkatLunak (Software Engineering)GrahaPrakarsa, ST. MT. SekolahTinggiTeknologiBandung 1 Mengetahui apa yang dimaksud dengan

9

Sebagai contoh, penulisan kamus data untuk data Identitas Barang:

Identitas Barang= Kode_Brg + Nama_Brg + Satuan + Hrg_Jual + Jml_StokKode_Brg = 4{character}6Nama_Brg = 8{character}20Satuan = 3{character}3Hrg_Jual = 3{numeric}10Jml_Stok = 1{numeric}6character = [A‐Za‐z0‐9‐ ]numeric = [0‐9]

Artinya:Artinya: Identitas Barang tersusun dari atribut Kode_Brg dan Nama_Brg dan

Satuan dan Hrg_Beli dan Hrg_Jual dan Banyak. Kode_Brg tersusun dari minimal 4 karakter danmaksimal 6 karakter. Character terdari dari huruf besar A sampai Z, atau huruf kecil a sampai z, 

atau angka 0 sampai 9, atau karakter –, atau karakter spasi. Numeric terdiri dari angka 0 sampai 9.

17

Structured English, atau sering disebut ProgramDesign Language (PDL) atau pseudo code adalahDesign Language (PDL) atau pseudo code, adalahnotasi penulisan spesifikasi proses yangmenggunakan kata‐kata dari bahasa Inggris dengancara penulisan tertentu.

Spesifikasi proses atau process specification adalahdeskripsi yang menjelaskan “isi” dari setiap prosesdeskripsi yang menjelaskan isi dari setiap prosesatomik atau proses primitif, yaitu proses tingkatpaling rendah dari DFD yang tidak dirinci lagi.

18

Page 10: Rekayasa PerangkatLunak Software Engineering1 Rekayasa PerangkatLunak (Software Engineering)GrahaPrakarsa, ST. MT. SekolahTinggiTeknologiBandung 1 Mengetahui apa yang dimaksud dengan

10

Proses 3.0 Buat Laporan Penjualan

B iBegin

Open tabel BARANG dan tabel JUAL

Read data periode tanggal transaksi

While not EOF(tabel JUAL) do

If tanggal pada tabel JUAL sesuai periode tanggal transaksi then

Cari (search) identitas barang ke tabel BARANG( ) g

Cetak informasi laporan penjualan

Close tabel BARANG dan tabel JUAL

End

19

Tabel keputusan atau decision table adalah tabel yang memuatalternatif tindakan‐tindakan apa saja yang dapat diambila te at t da a t da a apa saja ya g dapat d a bberdasarkan kondisi atau variabel tertentu sebagaimasukannya.

contoh, misal akan ditentukan status kelulusan untuk pesertamatakuliah tertentu berdasarkan nilai teori dan praktikumnya:

AturanKondisi 1 2 3 4Nil i i 60 Y Y T T

• Jika nilai teori dan nilai praktikum > 60

20

Nilai teori > 60 Y Y T TNilai praktikum > 60 Y T Y T

TindakanLulus Y T T THer T Y Y TGagal T T T Y

(aturan 1), maka lulus (tindakan 1).• Jika salah satu nilai teori atau nilaipraktikum > 60 (aturan 2 dan 3), makaher (tindakan 2).

• Jika nilai teori dan nilai praktikum < 60(aturan 4), maka gagal (tindakan 4).

Page 11: Rekayasa PerangkatLunak Software Engineering1 Rekayasa PerangkatLunak (Software Engineering)GrahaPrakarsa, ST. MT. SekolahTinggiTeknologiBandung 1 Mengetahui apa yang dimaksud dengan

11

Pohon keputusan atau decision tree adalah representasigrafis dari tabel keputusan. Sebagai contoh (untuk masalahg p g (penentuan status kelulusan):

Teori > 60

Praktikum > 60

Praktikum < 60

Lulus

Her

Tindakan

21

StatusKelulusan

Teori < 60

Praktikum > 60

Praktikum < 60

Her

Gagal

ERD adalah diagram yang Simbol Arti

menggambarkanketerhubungan antar datasecara konseptual.

Penggambaran keterhubunganantar data ini didasarkan padaanggapan bahwa dunia nyataterdiri dari kumpulan objek

Entitas

Relasi

Atribut

terdiri dari kumpulan objekyang disebut entitas (entity),dan hubungan yang terjadidiantaranya yang disebut relasi(relationship).

22

GarisPenghubung

Page 12: Rekayasa PerangkatLunak Software Engineering1 Rekayasa PerangkatLunak (Software Engineering)GrahaPrakarsa, ST. MT. SekolahTinggiTeknologiBandung 1 Mengetahui apa yang dimaksud dengan

12

Entitas adalah segala sesuatu yang dapat digambarkanoleh data. Entitas juga dapat diartikan sebagai individu yangmewakili sesuatu yang nyata (eksistensinya) dan dapatdibedakan dari sesuatu yang lain (Fathansyah, 1999).

Attribut merupakan pendeskripsian karakteristik darientitas. Atribut digambarkan dalam bentuk lingkaran atauelips. Atribut yang menjadi kunci entitas atau key diberi garisbawahbawah.

Relasi atau Hubungan menunjukkan adanya hubungandiantara sejumlah entitas yang berasal dari himpunanentitas yang berbeda.

23

Sebuah perusahaan mempunyai beberapa bagian.Masing‐masing bagian mempunyai pengawas dansetidaknya satu pegawai. Pegawai ditugaskan palingtidak di satu bagian (dapat pula dibeberapa bagian).Paling tidak satu pegawai mendapat tugas di satuproyek. Tetapi seorang pegawai dapat libur dan tidakdapat tugas di proyek.p g p y

Dari kasus di atas didapat:

Entitasnya : pengawas, bagian, pegawai, proyek

24

Page 13: Rekayasa PerangkatLunak Software Engineering1 Rekayasa PerangkatLunak (Software Engineering)GrahaPrakarsa, ST. MT. SekolahTinggiTeknologiBandung 1 Mengetahui apa yang dimaksud dengan

13

Entitasnya : pengawas, bagian, pegawai, proyek

25

Dari gambaran permasalahan dapat diketahui bahwa:

masing‐masing bagian hanya punya satu pengawas

seorang pengawas bertugas di satu bagian

masing‐masing bagian ada minimal satu pegawai

masing‐masing pegawai bekerja paling tidak di satubagian

masing‐masing proyek dikerjakan paling tidak oleh satu pegawai

26

Page 14: Rekayasa PerangkatLunak Software Engineering1 Rekayasa PerangkatLunak (Software Engineering)GrahaPrakarsa, ST. MT. SekolahTinggiTeknologiBandung 1 Mengetahui apa yang dimaksud dengan

14

27

Menentukan kunci utama

Setiap relasi bisa menjadi tabel bisa tidak, biasanyahubunganmany to many

28

Page 15: Rekayasa PerangkatLunak Software Engineering1 Rekayasa PerangkatLunak (Software Engineering)GrahaPrakarsa, ST. MT. SekolahTinggiTeknologiBandung 1 Mengetahui apa yang dimaksud dengan

15

Menggambar ERD berdasarkan kunci

29

STD adalah diagram yang digunakan untuk menggambarkankeadaan‐keadaan yang menjadi perilaku sistem berikutkeadaan keadaan yang menjadi perilaku sistem berikutperubahan atau transisinya.

New Ready Running Exit

admitantrikanproses

dispatcheksekusiproses

releasebebaskan

proses

time-outantrikan kembali

proses

30

event waitsimpan proses diantrian Blocked

New Ready Running Exit

Blocked

event occursantrikan kembali

proses

Page 16: Rekayasa PerangkatLunak Software Engineering1 Rekayasa PerangkatLunak (Software Engineering)GrahaPrakarsa, ST. MT. SekolahTinggiTeknologiBandung 1 Mengetahui apa yang dimaksud dengan

16

Perancangan perangkat lunakg p g

31

Buat DFD dan ERD berdasarkan kasusmasing‐masing kelompok.

Tugas dikumpulkan paling lambat hariMinggu tanggal 27 Desember 2015 jam 24.00ke “[email protected]”.

Print out dikumpulkan tanggal 28 Desember2015.

32

Page 17: Rekayasa PerangkatLunak Software Engineering1 Rekayasa PerangkatLunak (Software Engineering)GrahaPrakarsa, ST. MT. SekolahTinggiTeknologiBandung 1 Mengetahui apa yang dimaksud dengan

17

Kelompok 1:  Bioskop

Kelompok 2:  Restoran

Kelompok 3:  Hotel

33

Contoh pembuatan DFD dan ERDp

34

Page 18: Rekayasa PerangkatLunak Software Engineering1 Rekayasa PerangkatLunak (Software Engineering)GrahaPrakarsa, ST. MT. SekolahTinggiTeknologiBandung 1 Mengetahui apa yang dimaksud dengan

18

SiSiSistemSistemRental Rental DVDDVD

MencariMencariDVDDVD

MengelolaMengelolaDVDDVD

MengelolaMengelolaPeminjamaPeminjama

nn

MengelolaMengelolaAnggotaAnggota

MemasukkMemasukkanan DVD DVD barubaru

MengubahMengubahstokstok DVDDVD

MenghapuMenghapuss DVDDVD

MemasukkMemasukkanan

peminjamapeminjamann

MengubahMengubahpeminjamapeminjama

nn

MenghapuMenghapuss

peminjamapeminjamann

MemasukkMemasukkanan anggotaanggota

MengubahMengubahanggotaanggota

MenghapuMenghapuss anggotaanggota

35

36

Page 19: Rekayasa PerangkatLunak Software Engineering1 Rekayasa PerangkatLunak (Software Engineering)GrahaPrakarsa, ST. MT. SekolahTinggiTeknologiBandung 1 Mengetahui apa yang dimaksud dengan

19

37

38

Page 20: Rekayasa PerangkatLunak Software Engineering1 Rekayasa PerangkatLunak (Software Engineering)GrahaPrakarsa, ST. MT. SekolahTinggiTeknologiBandung 1 Mengetahui apa yang dimaksud dengan

20

Silahkan dibuat sendiri

39

40