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.

Komentar

Postingan populer dari blog ini

DATUM GEODETIK DAN SISTEM KOORDINAT

STRUKTUR DATA SIG

ANALISIS SIG DAN MODEL