Minggu 04 Kamus Data dan Process Specification (PSPEC)
Fungsi Kamus Data/Data Dictionary: ▪ Menjelaskan arti aliran data dan penyimpanan
data dalam DFD ▪ Mendeskripsikan komposisi paket data (elemen data) yang bergerak melalui aliran data ▪ Mendeskripsikan nilai dan satuan (struktur data) yang relevan bagi penyimpanan dan aliran ▪ Mendiskripsikan hubungan detail antar penyimpanan.
Hubungan DFD dan Kamus Data: ▪ Semua aliran data dalam DFD pada level yang
tidak dapat dipecah lagi dan semua data store (penyimpanan data) harus didefinisikan dalam kamus data ▪ Semua elemen data dan semua elemen data store harus terlihat dalam aliran data pada DFD
Isi Kamus Data: ▪ Nama data ▪ Deskripsi data ▪ Sumber/Source
▪ Tujuan/Destination ▪ Bentuk dan volume data ▪ Struktur data (berisi elemen-elemen dan struktur
dengan menggunakan simbol-simbol dalam kamus data)
Nama Data
T.Anggota
Deskripsi
Tabel yang berisi data anggota
Sumber Tujuan Bentuk
Tabel
Struktur data
T.Anggota = @kode_anggota + nrp + nama + alamat + tlp + jenis_kelamin @kode_anggota = 7 {0|..|9} Nrp = {0|..|9} Nama = *karakter valid* Alamat = *nama jalan diikuti nomor rumah* Jenis_kelamin = [P|L]
nama_lengkap= gelar_depan + nama_pertama + (nama_tengah) + nama_akhir + 2{gelar_belakang}10 gelar_depan = [Drs. | Dra. | Ir. | dr. | Dr. | Professor] nama_pertama = {legal-character} nama_tengah = {legal-character} nama_akhir = {legal-character} gelar_belakang = [A-Z|a-z|.|,] legal-character = [A-Z|a-z|0-9|’|-| |]
informasi_barang = @kode_barang + nama_barang + unit_jual + harga_satuan + total_harga kode_barang = {[A-Z|0-9]} nama_barang={legal-character} unit_jual=1{0-9}3 harga_satuan=3{0-9} total_harga = 3{0-9} legal-character = [A-Z|a-z|0-9|’|-| |]
tinggi = *unit: meter; range: 100-200*
Jenis_kelamin = *values: [P|L]* order = nama_customer + alamat_kirim + 1{item}10 Artinya bahwa order selalu mempunyai nama customer, alamat dimana order akan dikirim dan mempunyai item pemesanan antara 1 sampai 10
Jumlah Kamus Data harus sesuai dengan jumlah aliran data pada DFD level terakhir Dapat Diuji dengan :
▪ Apakah semua kamus data telah dideklarasikan
dalam DFD? ▪ Apakah semua komponen elemen data sudah didefinisikan sebagai contoh karakter valid? ▪ Apakah semua notasi yang digunakan sudah dikoreksi dengan benar? ▪ Apakah masih ada elemen data yang tidak dijelaskan.
Selanjutnya dari kamus data, dapat disusun pemodelan formulir.
Nama Data
Data_anggota
Deskripsi
Data anggota yang harus diberikan jika ingin menjadi anggota perpustakaan
Bentuk Data
Form
Struktur Data
Data_anggota = @nrp + nama + fakultas + no_telepon
@nrp = 7{0-9} nama = {karakter_legal} fakultas = [kedokteran | psikologi | teknik | IT] no_telepon = 8{0-9}15 karakter_legal = [A-Z | a-z | 0-9 | ’ | - | |]
Digunakan untuk mendeskripsikan proses yang terjadi pada DFD yang levelnya tidak dapat dipecah lagi / level terendah
Hubungan DFD dan PSPEC: ▪ Semua proses dalam DFD yang tidak dapat
dipecah lagi harus didefinisikan dalam PSPEC ▪ Aliran data masuk (input) dan keluar (otput) dalam DFD dan hubungan ke data store harus sesuai dan relevan dalam PSPEC ▪ Setiap elemen data dalam PSPEC harus: ▪ Nama dari aliran data atau data store ▪ Atau komponen dalam kamus data untuk suatu aliran data atau data store yang berhubungan dalam DFD
Syarat dari PSPEC : ▪ Dapat diverifikasi oleh pemakai dan penganalisa sistem, sehingga user dan
penganalis mengetahui isi dari proses ▪ Mampu berkomunikasi secara efektif dari pemakai yang bervariasi. Umumnya para analis membuat PSPEC dengan bahasa Inggris ▪ PSPEC dibuat ada yang sampai pada algoritma, tetapi yang penting adalah memudahkan dalam pengimplementasian. ▪ Untuk membuat hasil PSPEC yang bagus perlu didukung konstruksikonstruksi, seperti : (Konstruksi dapat berupa Structured english (SE) atau Pseudocode) ▪ ▪ ▪ ▪ ▪ ▪ ▪
If-Then-Else Do Case…Case…EndCase For Do While Condition…EndDo Repeat_Until Condition Model Pre/Post Conditions Kalimat-kalimat linier (Aksi-aksi saja)
If-Then-Else : Digunakan untuk mendeskripsikan pilihan secara biner (pada satu saat hanya ada dua pilihan),bentuknya: if kondisi then Tindakan endif
Contoh 1:
| if kondisi then | Tindakan-1 | else | Tindakan-2 | endif
| | | | | | |
if kondisi-1 then Tindakan-1 else if kondisi-2 then Tindakan-2 else Tindakan-3 endif
If
pelanggan tinggal di Bandung Then Buka prospek_pemasaran *membuka penyimpanan pemasaran* Tulis pelanggan ke prospek_pemasaran Endif
Contoh 2: If
umur_pelanggan > 65 Then Set tarif_pemesanan ke pelanggan_senior Else Set tarif pemesanan ke tarif_normal Endif
Do Case…Case…EndCase : Digunakan untuk mendeskripsikan pilihan pada satu saat secara jamak (multivalued decision), bentuknya: Do case Case variabel=nilai(1) tindakan-(1) ... Case variabel=nilai(n) tindakan-(n) Otherwhise kalimat(n+1) Endcase
Contoh: Do case Case umur_pelanggan < 13 Set tarif_pemesanan Case umur_pelanggan > 12 Set tarif_pemesanan Case umur_pelanggan > 19 Set tarif_pemesanan Otherwise Set tarif_pemesanan Endcase
ke tarif_anak dan umur_pelanggan < 20 ke tarif_remaja dan umur_pelanggan < 65 ke tarif_dewasa
ke tarif_senior
Catatan: otherwise digunakan untuk spesifikasi alternative yang tidak memenuhi semua kemungkinan yang sudah disediakan sebelumnya atau sudah tidak perlu didefinisikan lagi karena konsekuensi bagi pilihan(otherwise) tersebut sama.
For : Digunakan untuk mendefinisikan pengulangan instruksi sampai kondisi tertentu terpenuhi, bentuknya: For each_item Tindakan
Contoh: Read jumlah_barang For masing-masing barang Read data nilai penjualan(unit dan harga) Compute nilai_barang yaitu unit dikalikan harga Display dalam satu baris hasilnya Compute jumlah Display jumlah
Do While Condition…EndDo : Digunakan untuk mendefinisikan pengulangan instruksi selama memenuhi kondisi tertentu, bentuknya: Do while
kondisi_1 tindakan_1
EndDo
Contoh: Do while EndDo
(masih ada item_pemesanan) Nilai_transaksi = harga_item x jumlah_item
Repeat_Until Condition : Digunakan untuk mendefinisikan pengulangan instruksi selama memenuhi kondisi tertentu, bentuknya: Repeat Until
tindakan_1 kondisi_1
Contoh: Repeat
Until
Read record dari file akhir dari file
Isi PSPEC: ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪
Nomor Proses * Nama Proses * Deskripsi Proses * Masukan/Input Keluaran/Output Masukan/Input Data Source Keluaran/Output Data Source Logika Proses *
Nomor
1.1.
Nama
Tambah Data Barang
Deskripsi
Menambahkan data barang baru ke database data barang
Input
data_barang
Output
informasi_data_barang_berhasil_disimpan
Input Data Source
data_barang
Output Data Source
data_barang
Logika Proses
If data_barang is valid Then Tambah data_barang ke datasource data barang Tampilkan pesan “informasi_data_barang_berhasil_disimpan” Else Tampilkan pesan “data_barang_invalid” Endif
Nomor
2.6.3
Nama
Tambah Siswa
Deskripsi
Proses untuk menambah data siswa
Input
data_siswa
Output
Kode_anggota, nama, alamat, tlp, jenis_kelamin, 1. Terima input data siswa 2. Cek data_siswa
Logika Proses
3. IF data_siswa valid THEN data_siswa ditambahkan ke tabel T.Anggota ELSE muncul pesan error 4. Menampilkan list data_siswa keseluruhan
Nama Data
Dt_siswa_update
Deskripsi
Data anggota untuk proses edit anggota
Sumber Tujuan Bentuk
form
Struktur data
Dt_siswa_update = nama + alamat + (telp) + jenis_kelamin Nama = Alamat =
Nomor
2.6.4
Nama
Ubah Siswa
Deskripsi
Proses untuk mengubah data siswa
Input
data_siswa_update
Output
Kode_anggota, nama, alamat, tlp, jenis_kelamin
1. Menerima kode_anggota 2. Menampilkan data sesuai kode_anggota Logika Proses
3. Menerima data_siswa_update
4 Cek data_siswa_update 5. IF data_ siswa_update valid THEN update ke tabel anggota ELSE muncul pesan error