KONSEP DESAIN SOFTWARE DATABASE
Analisis
dan Desain Model
Setelah kebutuhan dikumpulkan, analisis terhadap
kebutuhan dilakukan dengan menggunakan beberapa alat (tools) seperti DFD (Data
Flow Diagram), ERD (Entity Relationship Diagram) dan STD (State Transition
Diagram). Data Dictionary menjadi bekal dasar untuk menganalisis kebutuhan.
Data Dictionary berisi gambaran dari semua objek data yang diperlukan dan
dihasilkan oleh software nantinya. Diagram-diagram tadi mempunyai karakteristik
masing- masing.
1) DFD
memberi gambaran bagaimana data berubah sejalan dengan alirannya dalam sistem
dan menggambarkan fungsi-fungsi yang mengubah data- data tadi.
2) ERD
menggambarkan relasi antara objek data.
3) STD
menggambarkan bagaimana kerja sistem melalui kondisi (state) dan kejadian yang
menyebabkan kondisi berubah. STD juga menggambarkan aksi yang dilakukan karena
kejadian tertentu.
Hasil yang diperoleh dari analisis kebutuhan adalah
model analisis yang kemudian menjadi bekal untuk melakukan desain. Setiap
bagian dari analisis model pada gambar 4 menjadi bekal pada proses desain pada
piramida model desain pada gambar 4.
Model
Desain
• Data design mengubah
informasi menjadi struktur data untuk mengimplementasikan software. Data design
dibuat berdasarkan data dictionary dan ERD.
• Architectural design mendefinisikan
relasi antara elemen-elemen struktural utama, pola desain yang digunakan untuk
mencapai kebutuhan yang ditentukan untuk sistem dan batasan-batasan yang
mempengaruhi bagaimana desain arsitektural ini diterapkan. Desain ini
berdasarkan spesifikasi sistem, model analisis (bagian DFD) dan interaksi
antara subsistem.
• Interface design menjelaskan
bagaimana software berkomunikasi dalam dirinya, dengan sistem yang bertukar
informasi dengannya, dan dengan manusia yang menggunakannya. DFD diperlukan
untuk desain ini.
• Component-level design menghasilkan
deskripsi prosedur software.
Konsep
Desain
1) Abstraction
Abstraction adalah gambaran dari fungsi suatu program. Gambaran ini bisa bertingkat-tingkat. Tingkat yang paling atas adalah gambaran suatu fungsi program dengan menggunakan bahasa alami. Pada tingkat terendah, menghasilkan abstraksi yang bersifat prosedural/langkah perlangkah dengan menggunakan istilah yang teknis dan bisa diimplementasikan menjadi fungsi program.
Pada saat beralih dari tingkat ke tingkat, kita menggunakan procedural dan data abstraction. Procedural abstraction adalah urutan instrasi yang mempunyai tujuan khusus, dan data abstraction adalah koleksi data yang digunakan pada fungsi tersebut.
Contoh :
Program : Iklan part-time job
Fungsi : Pendaftaran calon part-timer
Abstraction 1 (highest level) :
Calon part-timer dalam melakukan upload
syarat-syarat yang diperlukan untuk melamar: surat lamaran, CV, foto,
transkrip, data diri.
Abstraction 2 (lower level) :
Procedural abstraction
:
×
Tampilkan
pilihan part-time job
×
Input
data
×
Verifikasi
format
×
Kirim
data
Data abstraction :
×
nama
is STRING
×
nim
is STRING
×
foto
is IMAGE FILE
×
surat_lamaran
is PDF FILE
2) Refinement
- penjelasan detil dari abstraction
Refinement
membantu designer untuk memperlihatkan detil dari lowest level dari
abstraction. Abstraction dan refinement merupakan konsep yang saling
melengkapi. Contoh dari refinement tentang fungsi sebuah pintu ada pada gambar
5.
3) Modularity
– membagi software menjadi modul
Software dibagi-bagi menjadi beberapa component yang disebut modul-modul. Modul-modul ini nantinya disatukan/diintegrasikan untuk memenuhi kebutuhan sistem. Semakin rumit sebuah
modul, maka waktu yang digunakan untuk menyelesaikan modul
tersebut makin banyak. Untuk
itu, modul yang rumit dipecah lagi menjadi beberapa modul untuk memudahkan
penyelesaian masalah. Namun semakin banyak modul, maka waktu/biaya untuk
integrasikan modul-modul tersebut juga makin
tinggi.
4) Software
architecture – struktur software secara keseluruhan
Struktur
hirarki/berjenjang dari modul-modul program. Untuk menggambarkan struktur
modul-modul tersebut beberapa model yang ada adalah :
-
framework model :
identifikasi pola yang berulang-ulang
- dynamic model :
identifikasi bagaimana konfigurasi sistem berubah karena kejadian-kejadian tertentu
-
process model: fokus
pada proses teknis yang harus dikerjakan sistem
-
functional model :
menggambarkan hirarki sistem berdasarkan fungsinya
5) Software
procedure
Fokus pada detil proses
pada tiap modul. Prosedur menjelaskan proses, urutan
kejadian, proses perulangan, penentuan keputusan/arah. Ini bisa digambarkan dengan menggunakan Flow Chart
yang bertingkat.
6) Information
hiding
Ide
dari information hiding (menyembunyikan informasi) adalah modul dirancang
sedemikian rupa sehinga inforamsi (prosedur dan data) yang di dalamnya tidak
dapat di akses oleh modul lain yang tidak memerlukannya.
Modul
yang efektif adalah modul yang berdiri sendiri dan berkomunikasi dengan modul
lain yang memang diperlukan.
Sistem
Basis Data
Merupakan sistem yg terdiri dari basis data dan
sekumpulan program (DBMS) yang memungkinkan user mengakses dan memanipulasi
data tersebut.
1)
Abstraksi
data
- Sistem basis data
biasanya menyembunyikan detil tentang bagaimana data disimpan dan diperlihara.
Oleh karena itu, seringkali data yang terlihat oleh pemakai sebenarnya berbeda
dengan yang tersimpan secara fisik
-
Abstraksi data
merupakan level dalam bagaimana melihat data dalam sebuah sistem basis data
Penjelasan :
§
Conceptual
view merupakan pandangan yang berkaitan
dengan permasalahan data-data apa saja yang diperlukan untuk disimpan dalam
basis data dan penjelasan mengenai hubungan antar data yang satu dengan
lainnya. Conceptual view dapat disetarakan dengan schema, dilakukan database
administrator
§
Physical
view merupakan bentuk implementasi dari
conceptual view, yaitu pandangan tentang bagaimana data disimpan dalam media
penyimpan data
§
User
view dapat disejajarkan dengan sub-schema
2)
Bahasa
basis data
DBMS
merupakan perantara bagi pemakai dengan basis data dalam Disk. Cara
berkomunkasi/berinteraksi antara pemakai dengan basis data diatur dalam suatu
bahasa khusus yang ditetapkan oleh perusahaan pembuat DBMS. Bahasa ini disebut
sebagai bahasa basis data yang meliputi sejumlah perintah (statement) yang
diformulasikan dan dapat diberikan user dan dikenali/diproses DBMS untuk
melakukan suatu aksi/pekerjaan tertentu.
Bahasa database
dapat dibedakan menjadi 2, yaitu :
1. Data
Definition Language (DDL)
§ Dengan
bahasa ini kita dapat membuat tabel baru, membuat indeks, mengubah tabel,
menentukan struktur tabel, dll.
§ Hasil
dari kompilasi perintah DDL adalah kumpulan tabel yang disimpan dalam file
khusus yang disebut Kamus Data (data dictionary). Kamus data merupakan suatu
metadata (superdata), yaitu data yang mendiskripsikan data sesungguhnya.
§ Contoh
: Create, Modify report, Modify structure
2. Data
Manipulation Language (DML)
§ Berguna
untuk melakukan manipulasi dan pengambilan data pada suatu basis data, yang
berupa insert, update, delete, dll.
§ Manipulasi
data pada dabase dapat berupa :
1).
Penyisipan/penambahan data pada file/tabel dalam suatu basis data
2). Penghapusan
data pada file/tabel dalam suatu basis data
3). Pengubahan
data pada file/tabel dalam suatu basis data
4). Penelusuran
data pada file/tabel dalam suatu basis data
§ Terdapat
2 jenis DML, yaitu Prosedural, yang mensyaratkan pemakai menentukan, data apa
yang diinginkan serta bagaimana cara mendapatkannya. Nonprosedural, yang
membuat pemakai dapat menentukan data apa yang diinginkan tanpa menyebutkan
bagaimana cara mendapatkannya.
§ Contoh
paket bahasa prosedural DML : dBase, FoxBase sedangkan untuk nonprosedural DML
: SQL (Structure Query Language), QBE (Query By Example).
Daftar
Pustaka
Proboyekti, Umi.
_. Konsep Desain Software. Rekayasa
Perangkat Lunak Teknik Informatika UKDW, Yogyakarta.
Setiyadi, Didik. 2010. Bahasa Basis Data (Database Language). https://mumtazgalery.files.wordpress.com/2011/01/bab-3-bahasa-basis-data.pdf.
Diakses Sabtu, 3 Maret 2018.
http://lib.mdp.ac.id/ebook/Karya%20Umum/Diktat_Sistem_Basis_Data.pdf.
Diakses Sabtu, 3 Maret 2018.
Komentar
Posting Komentar