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 Deskripsi Sumber Tujuan Bentuk T.Anggota Tabel yang berisi data anggota 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 Deskripsi Bentuk Data Struktur Data Data_anggota Data anggota yang harus diberikan jika ingin menjadi anggota perpustakaan Form 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 if kondisi then if kondisi-1 then Tindakan Tindakan-1 Tindakan-1 endif else else if kondisi-2 then Tindakan-2 Tindakan-2 endif else Tindakan-3 endif Contoh 1: If Endif Contoh 2: If pelanggan tinggal di Bandung Then Buka prospek_pemasaran *membuka penyimpanan pemasaran* Tulis pelanggan ke prospek_pemasaran 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 ke tarif_anak Case umur_pelanggan > 12 dan umur_pelanggan < 20 Set tarif_pemesanan ke tarif_remaja Case umur_pelanggan > 19 dan umur_pelanggan < 65 Set tarif_pemesanan ke tarif_dewasa Otherwise Set tarif_pemesanan ke tarif_senior Endcase 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 EndDo Contoh: Do while EndDo kondisi_1 tindakan_1 (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 Deskripsi Input Output Input Data Source Output Data Source Logika Proses Tambah Data Barang Menambahkan data barang baru ke database data barang data_barang informasi_data_barang_berhasil_disimpan data_barang data_barang 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 Output Logika Proses data_siswa Kode_anggota, nama, alamat, tlp, jenis_kelamin, 1. Terima input data siswa 2. Cek data_siswa 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 Deskripsi Sumber Tujuan Bentuk Struktur data Dt_siswa_update Data anggota untuk proses edit anggota form Dt_siswa_update = nama + alamat + (telp) + jenis_kelamin Nama = Alamat =
Nomor 2.6.4 Nama Deskripsi Ubah Siswa Proses untuk mengubah data siswa Input data_siswa_update Output Kode_anggota, nama, alamat, tlp, jenis_kelamin Logika Proses 1. Menerima kode_anggota 2. Menampilkan data sesuai kode_anggota 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