Wednesday, September 21, 2011

Analisis Terstruktur


Rabu, 21 September 2011 Jam 07:00-09.30 saya kuliah RPL Lanjut, di pertemuan kedua kali ini dosen saya bu Ayu Pertiwi bercerita “Analisis Terstruktur”. Dan diposting kali ini saya akan overview analisis terstruktur saat kuliah tadi .

Apa sih tujuan analisis ?????
Tujuannya adalah memodelkan PROBLEM agar lebih mudah dipahami dan siap di-design solusinya.
Dengan metode terstruktur pada tahap analisis kita memodelkan PROBLEM dari tiga sudut pandang:
1.      pemodelan fungsional; kita memodelkan fungsional P/L dalam terminologi proses dan aliran data antar proses; kita membuat DFD (data flow diagram)
2.      pemodelan data; kita memodelkan kebutuhan data yang yang harus dikelola P/L dalam terminologi entitas data dan relasi antar-entitas; kita membuat ERD (entity-relationship diagram)
3.      pemodelan kelakuan (behaviour); kita memodelkan aspek dinamis P/L dalam terminologi state, event, dan action; kita amembuat STD (state transition diagram)

Kenapa harus dari tiga sudut pandang ????
Ya, untuk mendapatkan gambaran yang lengkap tentang suatu hal, akan lebih baik kalau kita memotretnya dari berbagai sudut pandang. Tapi jangan lupa, kita harus memastikan bahwa model yang kita buat dari berbagai sudut pandang tersebut harus dikelola dengan baik sehingga konsisten.
Ingat cerita tentang tiga orang buta yang ingin memahami gajah saat kuliah RPL semester lalu ????? Satu orang meraba belalai gajah sehingga dia mendapat gambaran bahwa gajah itu panjang. Satu orang lagi meraba kupingnya, sehingga dia mendapat gambaran bahwa gajah itu lebar dan pipih. Satu orang lagi meraba badannya, sehingga dia memperolah gambaran bahwa gajah itu besar dan berkulit kasar. Jika informasi-informasi tersebut tidak dikelola dan dikoordinasikan, gambaran akhir tentang gajah akan jadi salah kan ??
Jadi, pastikan ketiga model di atas juga saling melengkapi dan konsisten. Misalnya, proses pada DFD harus didukung dengan adanya action di STD. Data store di DFD harus didukung dengan adanya entitas/relasi di ERD. Dst…

Selanjutnya saya akan bercerita lebih dalam tentang DFD, ERD, dan STD.

1. DFD (Data Flow Diagram)
Apa sih yang dimodelkan pada DFD ?????
  Proses dan aliran data antar proses
  Proses pada DFD level 1 berkaitan dengan kebutuhan fungsionalitas P/L
Ada empat elemen yang membentuk suatu Data Flow Diagram, yaitu :
a. Aliran Data (Data Flow)
• Pipa saluran dimana paket informasi yang diketahui komposisinya mengalir.
• Penghubung antar proses yang merepresentasikan informasi yang dibutuhkan proses sebagai masukan atau informasi yang dihasilkan proses sebagai keluaran.
• Aliran paket informasi dari satu bagian sistem ke bagian sistem lainnya.
• Umumnya mengalir antar proses, tetapi dapat juga mengalir keluar masuk dari ke file (data store) atau dari ke sumber tujuan data.
• Data yang dinyatakan dengan aliran data boleh datang dari beberapa dokumen, jadi tidak perlu dirinci menjadi dokumen-dokumen tersebut.
• Diberi nama sesuai dengan substansi isi dari paket informasi (bukan nama dokumen) yang mengalir.
• Jumlah aliran data yang masuk dan keluar proses harus sama
b. Proses
• Transformasi aliran data yang datang menjadi aliran data yang keluar.
• Transformasi bagaimana satu atau beberapa masukan diubah menjadi keluaran.
• Menjelaskan proses-proses transformasi data apa saja yang ada dalam sistem atau yang harus dikerjakan oleh sistem. Komponen-komponen fisik tidak dapat diidentifikasikan sebagai proses.
• Diberi nama dan nomor yang akan dipergunakan untuk keperluan identifikasi. Nama yang diberikan harus dapat menjelaskan apa yang dilakukan oleh proses. Nama proses biasanya ditulis dalam kata kerja.
• Contohnya : perhitungan, sistem informasi computer.
c. Penyimpanan Data (Data Store)
• Tempat penyimpanan data atau tempat data yang dirujuk oleh proses.
• Kumpulan paket data yang harus diingat oleh sistem dalam periode waktu tertentu.
• Pada akhir pembangunan sistem, data store biasanya diimplementasi sebagai file atau basis data.
d. Entitas Eksternal/Terminator/ Source atau Sink
• Menggambarkan entitas yang berinteraksi dengan sistem yang berada diluar ruang lingkup sistem (bukan yang menjalankan sistem tersebut) atau entitas yang berfungsi sebagai producer/consumer dari sistem (sumber atau tujuan data).
• Dapat berupa orang, unit organisasi, komputer eksternal, organisasi eksternal atau sistem lain. Operator yang memasukkan data dalam sistem termasuk entitas internal, karena ia bukan consumer/producer sistem (kecuali untuk ruang lingkup perangkat lunak tertentu).
• Antara terminator tidak boleh berkomunikasi langsung
• Jumlah entitas/terminator yang terkait pada satu level akan muncul dalam jumlah yang sama untuk level lainnya
Selanjutnya notasi DFD, sbb :

Sedang Levelisasinya DFD
DFD tingkat 0 atau konteks diagram mewakili seluruh elemen sistem sebagai sebuah proses tunggal dengan data input dan output yang ditunjukkan oleh anak panah masuk dan keluar secara berurutan
DFD tingkat satu merepresentasikan subfungsi dari seluruh sistem yang digambarkan dalam konteks diagram

Contoh Diagram Konteks :

Contoh DFD level 1 :


2. ERD (Entity Relationship Diagram)
Apa sih yang dimodelkan pada ERD ?????
  Data yang harus dikelola perangkat lunak dan relasinya
Apa elemen ERD ????
a. Entity (Entitas)
Representasi semua informasi gabungan yang harus dipahami perangkat lunak. contoh: Karyawan adalah objek data. Gabungan informasi yang dipunyai karyawan adalah nama, nip, golongan, tahun masuk.
Kesalahan umum terkait entitas:
      Entitas hanya akan mempunyai 1 data, mis.: PERUSAHAAN, padahal data perusahaan hanya ada 1
      Entitas terlalu detil, mis.: UMUR, ALAMAT
      Penamaan entitas tidak jelas, mis.: BASISDATA
b. Atribut
Informasi yang dimiliki oleh objek data. Satu atribut atau lebih harus jadi pengidentifikasi atau kunci ketika ingin menemukan sebuah objek data
Kesalahan umum terkait atribut:
   Penamaan kurang pas
   Atribut tidak menggambarkan properti entitas atau relasi
   Tidak teridentifikasi dengan lengkap
c. Relationship
Menggambarkan hubungan suatu objek data ke objek data lainya
Contoh :
۞  Karyawan memiliki kendaraan
۞  Karyawan mempunyai komputer
۞  Karyawan mengambil pinjaman
Kesalahan umum terkait relasi:
   Penamaan kurang pas
   Belum tergambar dengan lengkap
d. Kardinalitas
Kardinalitas mendefenisikan jumlah maksimum dari hubungan objek yang ikut serta dalam sebuah hubungan. contoh : orang tua punya banyak anak, dan anak hanya punya satu nama
Kardinalitas biasanya diexpresikan secara sederhana ‘satu’ atau ‘banyak’. Dengan mempertimbangkan semua kombinasi dari ‘satu’ dan ‘banyak’ dua objek dapat dihubungkan sebagai :
۞ Satu ke satu (1:1) = suatu peristiwa dari objek A dapat berhubungan dengan satu dan hanya kejadian dari objek B, dan sebuah peristiwa dari B hanya dapat berhubungan dari satu kejadian A, misalnya : Satu dosen paling banyak mengepalai satu program studi (walaupun tidak semua dosen menjadi ketua) dan setiap program studi di kepalai oleh paling banyak satu dosen.
۞ Satu ke banyak (1:N) = suatu kejadian A dapat berhubungan dengan satu  atau lebih kejadian dari objek B, tetapi sebuah kejadian B dapat berhubungan dengan satu kejadian A, misalnya : seorang ibu  dapat memiliki banyak anak, tetapi seorang anak hanya dapat memiliki satu orang ibu saja.
۞ Banyak ke banyak (N:N) =sebuah kejadian A dapat berhubungan dengan satu atau lebih kejadian dari B, sementara itu sebuah kejadian dari B dapat berhubungan dengan satu atau lebih kejadian dari A, misalnya : seorang paman dapat memiliki banyak keponakan sementara itu seorang keponakan dapat memiliki banyak paman.
e. Modalitas 
Bernilai satu jika hubungan merupakan perintah 
Bernilai 0 jika hubungan tersebut bersifat opsional
Contoh notasi ERD :


3. STD (State Transition Diagram)
Apa yang dimodelkan pada STD ?????
  Aspek dinamis perangkat lunak

State Transition Diagram, menunjukkan bagaimana sistem bertingkah laku sebagai akibat dari kejadian eksternal. Hal ini merupakan dasar dari pemodelan tingkah laku.
Langkah untuk Pemodelan Tingkah Laku
1.      Buat daftar sejumlah keadaan yang berbeda dari sistem
2.      Analisa bagaimana sistem membuat sebuah transisi ke transisi berikutnya
3.      Gambarkan dalam sebuah State Transition Diagram (STD)

Apa elemen STD ????
¤  Keadaan (state) adalah model tingkah laku yang dapat diobservasi
¤  Event adalah kejadian yang membuat sistem menampilkan suatu bentuk tingkah laku
¤  Action adalah proses yang terjadi sebagai konsekuensi dari adanya transisi
Notasi STD, sbb:

Contoh STD :
Kasus: Mesin Otomatis Penjual Minuman


Penjelasan:
State:
Menunggu koin
Menunggu masukan pilihan minuman
Mengeluarkan minuman
Mengembalikan pembayaran
Event:
Inisialisasi
Koin sah terdeteksi
Pembayaran dianggap cukup
Minuman dikeluarkan
Permintaan pengembalian koin
Minuman habis
Pembayaran dikembalikan
Action:
Menerima koin baru
Menerima permintaan minuman
Mengeluarkan minuman
Mengembalikan pembayaran


Nah sekian, posting kali ini .
Sampai ketemu Minggu depan. Setelah saya kuliah RPL lanjut pertemuan ke 3 .
Salam Mahasiswa ! .

No comments:

Post a Comment