perancangan basis data

Data Flow Diagram (DFD) adalah representasi grafik dari sebuah sistem. DFD menggambarkan komponen-komponen sebuah sistem, aliran-aliran data di mana komponen-komponen tersebut, dan asal, tujuan, dan penyimpanan dari data tersebut. Kita dapat menggunakan DFD untuk dua hal utama, yaitu untuk membuat dokumentasi dari sistem informasi yang ada, atau untuk menyusun dokumentasi untuk sistem informasi yang baru. Terdapat empat simbol dalam penggambaran DFD:

 

Context Diagram

Jenis pertama Context Diagram, adalah data flow diagram tingkat atas (DFD Top Level), yaitu diagram yang paling tidak detail, dari sebuah sistem informasi yang menggambarkan aliran-aliran data ke dalam dan ke luar sistem dan ke dalam dan ke luar entitas-entitas eksternal. (CD menggambarkan sistem dalam satu lingkaran dan hubungan dengan entitas luar. Lingkaran tersebut menggambarkan keseluruhan proses dalam sistem). Beberapa hal yang harus diperhatikan dalam menggambar Context Diagram:

  • Terminologi sistem
  • Menggunakan satu simbol proses,
  • Nama/keterangan di simbol proses tersebut sesuai dengan fungsi sistem tersebut,
  • Antara Entitas Eksternal/Terminator tidak diperbolehkan komunikasi langsung
  • Jika terdapat termintor yang mempunyai banyak masukan dan keluaran, diperbolehkan untuk digambarkan lebih dari satu sehingga mencegah penggambaran yang terlalu rumit, dengan memberikan tanda asterik ( * ) atau garis silang ( #  ).
  • Jika Terminator mewakili individu (personil) sebaiknya diwakili oleh peran yang dipermainkan personil tersebut.
  • Aliran data ke proses dan keluar sebagai output keterangan aliran data berbeda.

 

Diagram Level n / Data Flow Diagram Levelled

Dalam diagram n DFD dapat digunakan untuk menggambarkan diagram fisik maupun diagram diagram logis. Dimana Diagram Level n merupakan hasil pengembangan dari Context Diagram ke dalam komponen yang lebih detail tersebut disebut dengan top-down partitioning. Jika kita melakukan pengembangan dengan benar, kita akan mendapatkan DFD-DFD yang seimbang. Sebagai contoh, gambar 1.1, gambar 1.2, gambar 1.3, gambar 1.4 dan gambar 1.5.

Beberapa hal yang harus diperhatikan dalam membuat DFD ialah:

Pemberian Nomor pada diagram level n dengan ketentuan sebagai berikut:

  • Setiap penurunan ke level yang      lebih rendah harus mampu merepresentasikan proses tersebut dalam      sepesifikasi proses yang jelas. Sehingga       seandainya belum cukup jelas       maka seharusnya diturunkan ke level yang lebih rendah.
  • Setiap penurunan harus dilakukan      hanya jika perlu.
  • Tidak semua bagian dari sistem      harus diturunkan dengan jumlah level       yang sama karena yang kompleks bisa saja diturunkan, dan yang      sederhana mungkin tidak perlu diturunkan. Selain itu, karena tidak semua      proses dalam level yang sama punya derajat kompleksitas yang sama juga.
  • Konfirmasikan DFD yang telah dibuat      pada pemakai dengan cara top-down.
  • Aliran data yang masuk dan keluar      pada suatu proses di level n harus berhubungan dengan aliran data yang      masuk dan keluar pada level n+1. Dimana level n+1 tersebut mendefinisikan      sub-proses pada level n tersebut.
  • Penyimpanan yang muncul pada level      n harus didefinisikan kembali pada level n+1, sedangkan penyimpanan yang      muncul pada level n tidak harus muncul pada level n-1 karena penyimpanan      tersebut bersifat lokal.
  • Ketika mulai menurunkan DFD dari      level tertinggi, cobalah untuk mengidentifikasi external events dimana      sistem harus memberikan respon. External events dalam hal ini berarti      suatu kejadian yang berkaitan dengan pengolahan data di luar sistem, dan      menyebabkan sistem kita memberikan respon.

Jangan menghubungkan langsung antara satu penyimpanan dengan penyimpanan lainnya (harus melalui proses). Jangan menghubungkan langsung dengan tempat penyimpanan data dengan entitas eksternal / terminator (harus melalui proses), atau sebaliknya. Jangan membuat suatu proses menerima input tetapi tidak pernah mengeluarkan output yang disebut dengan istilah “black hole”. Jangan membuat suatu tempat penyimpanan menerima input tetapi tidak pernah digunakan untuk proses. Jangan membuat suatu hasil proses yang lengkap dengan data yang terbatas yang disebut dengan istilah “magic process”. Jika terdapat terminator yang mempunyai banyak masukan dan keluaran, diperbolehkan untuk digambarkan lebih dari satu sehingga mencegah penggambaran yang terlalu rumit, dengan memberikan tanda asterik ( * ) atau garis silang ( #  ), begitu dengan bentuk penyimpanan. Aliran data ke proses dan keluar sebagai output keterangan aliran data berbeda.

 

Advertisements

perancangan basis data

Model data dapat dikelompokkan berdasarkan konsep pembuatan deskripsi struktur basis data, yaitu:

  1. Model      data konsepsual (high level) menyajikan konsep tentang bagaiman      user memandang atau memperlakukan data. Dalam model ini dikenalkan tiga      konsep penyajian data yaitu:
  • Entity (entitas) merupakan penyajian obyek, kejadian atau konsep dunia nyata yang keberadaannya secara eksplisit didefinisikan dan disimpan dalam basis data, contohnya Mahasiswa, Matakuliah, Dosen, Nilai dan lain sebagainya.
  • Atribute (atribut) adalah keterangan-keterangan yang menjelaskan karakteristik dari suatu entitas seperti NIM, Nama, Fakultas, Jurusan untuk entitas Mahasiswa.
  • Relationship (hubungan) merupakan hubungan atau interaksi antara satu entitas dengan yang lainnya, misalnya entitas pelanggan berhubungan dengan entitas barang yang dibelinya.
  1. Model      data fiskal (low level) merupakan konsep bagaimana deskripsi detail      data disimpan ke dalam komputer dengan menyajikan informasi tentang format      rekaman, urutan rekaman, dan jalur pengaksesan data yang dapat membuat      pemcarian rekaman data lebih efisien.
  2. Model      data implementasi (representational) merupakan konsep deskripsi      data disimpan dalam komputer dengan menyembunyikan sebagian detail      deskripsi data sehingga para user mendapat gambaran global bagaimana data      disimpan dalam komputer. Model ini merupakan konsep model data yang      digunakan oleh model hirarki, jaringan dan relasional.

perancangan basis data

Arsitektur ini dikenal dengan nama arsitektur tiga skema (three-schema architecture) dimana fungsi ini untuk memisahkan antara basis data fisik dengan program aplikasi user. Skema-skema tersebut adalah sebagai berikut:

  1. Level internal merupakan skema internal yang memuat deskripsi struktur penyimpanan basis data dan menggunakan model data fisikal serta mendefinisikan secara detail penyimpanan data dalam basis data, serta jalur pengaksesan data.
  2. Level konsepsual adalah skema yang memuat deskripsi struktur basis data secara keseluruhan untuk semua pemakai. Skema ini hanya memuat deskripsi tentang entitas, atribut, hubungan dan batasan, tanpa memuat deskripsi data secara detail.
  3. Level eksternal merupakan skema eksternal (user view) yang mendefinisikan pandangan data terhadap sekelompok user (local view) dengan menyembunyikan data lain yang tidak diperlukan oleh kelompok user tersebut.

 

Keuntungan dari arsitektur ini antara lain:

  1. Perubahan skema konsepsual, yaitu adanya perubahan dalam skema konsepsual contohnya penambahan suatu item data tidak akan berpengaruh pada program aplikasi. Tetapi jika skema eksternal tidak sesuai lagi dengan skema konsepsual yang baru maka program aplikasi harus disesuaikan juga.
  2. Perubahan skema internal. Pemisahan antara skema eksternal dan skema internal berfungsi untuk menjaga bila terjadi perubahan skema internal, misalnya ada penambahan “pointer” pada rekaman tidak memerlukan perubahan pada aplikasi.
  3. Perubahan skema eksternal. Adanya penambahan skema eksternal atau pembuatan skema eksternal baru tidak akan berpengaruh pada aplikasi yang ada selama aplikasi tersebut tidak mengakses data berdasarkan skema yang baru

 

Komponen DBMS

Komponen-komponen DBMS (Howe,1991) terdiri dari:

  • Interface, yang didalamnya terdapat bahasa manipulasi data (data manipulation language)
  • Bahasa definisi data (data definition language) untuk skema eksternal, skema konsepsual dan skema internal.
  • Sistem kontrol basis data (Database Control System) yang mengakses basis data karena adanya perintah dari bahasa manipulasi data.

Contoh bahasa menggunakan komponen-komponen tersebut adalah SQL (Structured Query Language). SQL merupakan bahasa standar yang digunakan oleh kebanykan aplikasi-aplikasi DBMS.

perancangan basis data

Klasifikasi berdasarkan model data. Klasifikasi ini terdiri dari model data hirarki, model data jaringan, model data relasional.

 

Model data hirarki

Dalam model ini, data disusun menurut struktur pohon yang merupakan bentuk lain dari abstraksi data untuk basis data akademi. Pada puncak hirarki diesbut dengan akar (root). Tiap entitas tingkat atas (parent) mempunyai satu atau lebih sub-entitas (children) sehingga setiap entitas hanya boleh mempunyai satu induk, tetapi dapat mempunyai banyak anak. Pada mode data hirarki, hubungan antar entitas dinyatakan dalam satu-banyak (one to many) atau satu-satu (one to one). Contoh: Dalam satu Universitas terdapat banyak Fakultas dan setiap Fakultas terdapat banyak Dosen atau banyak Mahasiswa, dan seterusnya. Tanda panah menunjukkan derajat keterhubungan “banyak”. Untuk menampilkan semua mata kuliah pada Fakultas tertentu harus dilakukan dalam dua tahap. Yang pertama adalah menampilkan rekaman semua Dosen yang mengajar di Fakultas tersebut, kemudian baru mata kuliah yang dipegang oleh para Dosen. Dalam hal ini penampilan data terlihat kurang efisien, sebab menggunakan entitas perantara (dosen) yang harus ditampilkan juga. Dikarenakan kunci data yang digunakan untuk menghubungkan antar entitas diberi kode dalam struktur data, maka untuk jumlah entitas perantara yang sedikit masih dapat dikatakan efisien.

 

Model data Jaringan

Dalam model ini lebih sedikit terdapat data rangkap, namun lebih banyak terdapat hubungan antar entitas, sehingga akan menambah informasi hubungan yang harus disimpan dalam database. hal ini akan menambah volume dan kerumitan dalam penyimpanan berkas data.

 

Model data Relasional

Dengan menggunakan model ini, pencarian field dari suatu tabel atau banyak tabel dapat dilakukan dengan cepat. Pencarian atribut yang berhubungan pada tabel yang berbeda dapat dilakukan dengan menghubungkan terlebih dahulu tabel-tabel tersebut dengan menggunakan atribut yang sama (joint operation). Keuntungan yang didapat dengan menggunakan model ini adalah sebagai berikut [Waliyanto2000]:

  • Model ini lebih luwes karena nilai data dalam tabel tidak ada pembatasan dalam berbagai proses pencarian data.
  • Model ini mempunyai latar belakang teori matematika.
  • Pengorganisasian model relasional sangat sederhana, sehingga mudah dipahami.
  • Basis data yang sama biasanya dapat disajikan dengan lebih sedikit terjadi data rangkap
  • (redudancy data).

Sedangkan beberapa kelemahan model ini adalah [Waliyanto2000]:

  • Lebih sulit dalam implementasinya terutama untuk data dengan jumlah yang besar dan tingkat kompleksitasnya tinggi.
  • Proses pencarian informasi lebih lambat, karena beberapa tabel tidak dihubungkan secara fisik. Dalam manipulasi data yang menggunakan beberapa tabel akan memerlukan waktu yang lama, karena tabel-tabel harus dihubungkan terlebih dahulu.

perancangan basis data

Kardinalitas Relasi adalah jumlah maksimum entitas yang dapat berelasi (berhubungan) dengan entitas pada himpunan entitas yang lain.

Satu ke satu (1-1)

Suatu entitas di dalam himpunan A dihubungkan dengan paling banyak satu entitas di dalam himpunan entitas B dan entitas di dalam himpunan entitas B dihubungkan dengan paling banyak satu entitas di dalam himpunan entitas A. Kardinalitas Relasi satu ke satu (1-1) dapat dilihat pada gambar berikut ini.

basisdata3

Satu ke banyak (1-N)     

Suatu entitas di dalam himpunan entitas A dihubungkan dengan lebih dari satu entitas di dalam himpunan entitas B, dan entitas di dalam himpunan entitas B hanya dapat dihubungkan dengan paling banyak satu entitas dalam himpunan entitas A. Kardinalitas Relasi satu ke banyak (1-N)dapat dilihat pada gambar.

basisdata4

Banyak ke satu (N-1)

Suatu entitas di dalam himpunan entitas A dihubungkan dengan paling banyak satu entitas di dalam himpunan entitas B dan entitas di dalam himpunan entitas B dapat dihubungkan dengan lebih dari satu entitas dalam himpunan entitas A. Kardinalitas Relasi banyak ke satu (N-1)dapat dilihat pada gambar.

basisdata5

Banyak ke banyak (M-N)

Suatu entitas di dalam himpunan entitas A dapat dihubungkan dengan lebih dari satu entitas di dalam himpunan entitas B, dan entitas di dalam himpunan entitas B dapat dihubungkan dengan lebih dari satu entitas dalam himpunan entitas A. Kardinalitas Relasi Banyak ke banyak (N-N) dapat dilihat pada gambar.

basisdata6

perancangan basis data

Model data Entity-Relationship (ER) terdiri dari sekumpulan objek-objek yang disebut dengan entitas dan hubungan yang terjadi diantara objek-objek tersebut. Entitas merupakan suatu objek dasar atau individu yang mewakili sesuatu yang nyata eksistensinya dan dapat dibedakan dari objek-objek yang lain. Suatu entitas mempunyai sekumpulan sifat dan nilai dari beberapa sifat tersebut adalah unik yang dapat mengidentifikasi entitas tersebut.

Sekumpulan entitas yang mempunyai tipe yang sama (sejenis) dan berada dalam lingkup yang sama membentuk suatu himpunan entitas. Suatu entitas memiliki atribut. Atribut merupakan sifat-sifat atau properti yang dimiliki oleh entitas. Atribut inilah yang membedakan antara entitas satu dengan entitas yang lain. Sedangkan relasi menunjukkan adanya hubungan diantara sejumlah entitas yang berasal dari sejumlah himpunan entitas yang berbeda.

Entity-Relationship Diagram (ERD) terdiri atas elemen–elemen yaitu Entitas, Atribut, Relasi dan Kunci (Key). Berikut ini merupakan penjelasan dari elemen–elemen tersebut :

Entitas

Entitas adalah suatu objek dasar atau individu yang mewakili sesuatu yang nyata dan dapat dibedakan dengan yang lainnya. Himpunan entitas adalah sekumpulan entitas dengan berbagai atribut yang sama.

Atribut

Atribut merupakan sifat atau karakteristik yang melekat dalam sebuah entitas.

Relasi

Relasi adalah hubungan di antara sejumlah entitas yang berasal dari sejumlah himpunan entitas yang berbeda. Relation atau hubungan dapat memiliki atribut. Sebuah kelas hubungan dapat melibatkan banyak kelas entitas.

Kunci (Key)

Kunci merupakan suatu atribut yang unik yang dapat digunakan untuk membedakan suatu entitas dengan lain dalam suatu himpunan entitas.

Kardinalitas Relasi

Kardinalitas Relasi adalah jumlah maksimum entitas yang dapat berelasi (berhubungan) dengan entitas pada himpunan entitas yang lain.

perancangan basis data

Observasi Pada Estimasi

Kompleksitas merupakan pengukuran relatif yang dipengaruhi oleh kebiasaan dengan usaha yang sudah dilakukan pada masa sebelumnya. Ukuran proyek (project size) merupakan faktor penting lain yang dapat mempengaruhi akurasi estimasi. Bila ukuran bertambah maka ketergantungan di antara berbagai elemen perangkat lunak akan meningkat dengan cepat. Tingkat ketidakpastian struktural (structural uncertainty) juga berpengaruh dalam resiko estimasi. Bila ruang lingkup proyek tidak dipahami dengan baik atau syarat proyek merupakan subyek terjadinya perubahan, maka resiko dan ketidakpastian menjadi sangat tinggi. Perencana perangkat lunak harus melengkapi fungsi, kinerja dan definisi interface (yang diisikan ke dalam spesifikasi sistem).

 

Tujuan Perencanaan Proyek

Untuk menyediakan sebuah kerangka kerja yang memungkinkan manajer membuat estimasiyang dapat dipertanggungjawabkan mengenai sumber daya, biaya dan jadwal. Estimasi dibuat dengan sebuah kerangka waktu yang terbatas pada awal sebuah proyek perangkat lunak dan seharusnya diperbaharui secara teratur selagi proyek sedang berjalan.

 

Ruang Lingkup Perangkat Lunak

Aktivitas pertama dalam perencanaan perangkat lunak adalah penentuan ruang lingkup perangkat lunak. Fungsi dan kinerja yang dialokasikan untuk perangkat lunak selama rekayasa sistem seharusnya ditaksir untuk membentuk sebuah ruang lingkup proyek yang jelas dan dapat dimengerti pada tingkat manajemen dan teknis. Ruang lingkup perangkat lunak menggambarkan fungsi, kinerja, batasan, interface dan reliabilitas. Fungsi-fungsi yang digambarkan dalam statemen ruang lingkup dievaluasi dan dalam banyak kasus juga disaring untuk memberikan awalan yang lebih detail pada saat estimasi dimulai. Teknik yang banyak dipakai secara umum untuk menjembatani jurang komunikasi antara pelanggan dan pengembang serta untuk memulai proses komunikasi adalah dengan melakukan pertemuan atau wawancara pendahuluan. Gause & Weinberg mengusulkan bahwa analisis harus memulainya dengan mengajukan pertanyaan-pertanyaan bebas konteks, yaitu serangkaian pertanyaan yang akan membawa kepada pemahaman yang mendasar terhadap masalah, orang yang menginginkan suatu solusi, sifat solusi yang diharapkan, dan efektivitas pertemuan itu sendiri.

 

Sumber Daya

Tugas kedua perencanaan perangkat lunak adalah mengestimasi sumber daya yang dibutuhkan untuk menyelesaikan usaha pengembangan perangkat lunak tersebut. Perencana Sumber daya manusia memulai dengan mengevaluasi ruang lingkup serta memilih kecakapan yang dibutuhkan untuk menyelesaikan pengembangan. Beunatan mengusulkan empat kategori sumber daya perangkat lunak yang harus dipertimbangkan pada saat perencanaan berlangsung, yaitu :

  • Komponen Off-the-self. Komponen-komponen PL yang ada dapat diperoleh dari proyek sebelumnya yang siap digunakan pada proyek sekarang dan telah divalidasi seluruhnya.
  • Komponen Full-Experience. Komponen-konponen PL yang sudah ada yang dikembangkan pada proyek yang lalu yang serupa dengan PL yang akan dibangun pada proyek saat ini. Setiap anggota tim memiliki pengalaman penuh sehingga modifikasi yang dibutuhkan bagi komponen ini secara relatif resikonya akan lebih rendah.
  • Komponen partial-experience. Komponen-konponen PL yang sudah ada yang dikembangkan pada proyek yang lalu yang serupa dengan PL yang akan dibangun pada proyek saat ini, tetapi akan membutuhkan modifikasi substansial. Anggota tim PL ini memiliki pengalaman yang terbatas sehingga modifikasi yang dibutuhkan bagi komponen partial-experience memiliki tingkat resiko sedang.
  • Komponen baru. Komponen PL yang harus dibangun oleh tim Pl khususnya adalah untuk kebutuhan proyek sekarang.