Jumat, 23 Oktober 2020

BASIS DATA RELASIONAL

Apa itu Basis Data Relasional?


Basis data relasional menggambarkan relasi atau hubungan data antar satu dengan yang lain menggunakan bentuk tabel dua dimensi yang terdiri atas baris dan kolom. Model relasional mudah dipahami karena kesederhanaan bentuk dan mudah diekspresikan dalam bentuk query.
Model ini pertama kali dikemukakan oleh Edgar F. Codd pada tahun 1970 pada makalah seminarnya yang berjudul A Relational Model of Data for Large Shared Data Banks.

Istilah dalam Model Basis Data Relasional

  1. Relasi, yaitu sebuah tabel yang terdiri atas beberapa kolom dan baris.
  2. Atribut, yaitu kolom pada sebuah relasi.
  3. Tupel, yaitu baris pada sebuah relasi.
  4. Domain, yaitu kumpulan nilai yang valid untuk satu atau lebih atribut.
  5. Derajat (degree), yaitu jumlah atribut dalam sebuah relasi (jumlah field).
  6. Kardinalitas, yaitu jumlah tupel dalam sebuah relasi (jumlah record).

Istilah Model Data Relasional





Model relasional untuk perancangan basis data itu :
  • mempunyai piranti komunikasi yang baik antara user dan desainer
  • mendefinisikan salah satu kriteria perancangan basis data yang penting yaitu relasi bentuk normal
  • struktur data yang dipresentasikan oleh relasi dapat segera dikonversi dan diimplementasikan ke RDBMS.


Perbedaan Istilah 







Relasi 
Relasi merupakan konstruksi utama untuk merepresentasikan data dalam model relasional. Cara termudah untuk mendefinisikan sebuah  relasi adalah dengan sebagai sebuah tabel dimana data-datanya disimpan dalam baris tabel.

Relasi terdiri dari skema relasi dan contoh relasi.

Contoh relasi --> Tabel

Skema relasi --> mendeskripsikan kepala kolom/field dari tabel
  • Menentukan nama relasi, nama masing-masing field (kolom/atribut) dan domain dari masing-masing field.
  • Domain diacu memiliki nama domain dan kumpulan nilai yang sesuai.
Contohnya : Mahasiswa (sid : string, name : string, login : string, age : integer, gpa : real)


Struktur Logik

Representasi logik berarti bahwa sebuah relasi harus :
  • tidak terdapat duplikasi baris
  • urutan baris tidak diperhatikan 
  • setiap kolom dalam suatu relasi mempunyai sebuah nama yang unik

Relational Key (Kunci Relasi)

  • Super Key, yaitu satu /sekumpulan atribut yang secara unik mengidentifikasi sebuah tupel di dalam relasi (satu atau lebih field yang dapat dipilih untuk membedakan antara satu record dengan record lainnya.
  • Candidate key, yaitu atribut di dalam relasi yang biasanya mempunyai nilai unik (super key dengan jumlah field yang paling sedikit.
  • Primary key, yaitu candidate key  yang dipilih untuk mengidentifikasikan tupel secara unik dalam relasi.
  • Alternate key, yaitu candidate key yang tidak dipilih sebagai primary key.
  • Foreign key, yaitu atribut dengan domain yang sama yang menjadi kunci utama pada sebuah relasi tetapi pada relasi lain atribut tersebut hanya sebagai atribut biasa.

Relational Integrity Rules (Aturan Integritas Relasi)

  • Null, nilai suatu atribut yang tidak diketahui dan tidak cocok untuk baris (tupel) tersebut.
  • Entity Integrity, tidak ada satu komponen primary key yang bernilai null.
  • Referential Integrity, suatu domain dapat dipakai sebagai kunci primer bilai merupakan atribut tunggal pada domain yang bersangkutan.


Bahasa pada Basis Data Relasional

Bahasa yang digunakan adalah bahasa query sebagai pernyataan yang diajukan untuk mengambil informasi terbagi menjadi 2 yaitu:
  1. Bahasa Formal, yaitu bahasa query yang diterjemahkan dengan simbol-simbol matematis dan terbagi menjadi 2 yaitu :
    • Prosedural, yaitu bahasa query dimana user harus memberi spesifikasi data yang dibutuhkan dan bagaimana cara mendapatkannya, misalnya Aljabar Relasional. Aljabar relasional  merupakan kumpulan operasi yang berdasar pada teori himpunan yang digunakan untuk memanipulasi seluruh relasi seperti gabungan(union), irisan(intersection), beda(difference), dan hasil kasil cartesian(cartesian product). Namun khusus untuk relasi basis data berubah menjadi select, project, join, dan division. 
    • Non prosedural, yaitu bahasa query dimana user menjelaskan tupel yang diinginkan dengan menspesifikasikan predikat tupel yang diinginkan, misalnya Kalkulus Relasional (Tupel dan Domain)
  2. Bahasa Komersial, yaitu bahasa query yang dirancang sendiri oleh programmer menjadi suatu program aplikasi agar user lebih mudah menggunakannya. Contohnya QUEL, QBE (keduanya berbasis bahasa kalkulus relasional), lalu SQL yang menjadi bahasa pemrograman dari aplikasi database MySQL, yang berbasis kalkulus relasional dan aljabar relasional
Dibawah ini merupakan contoh skema relasional basis data dari halaman Entity Relationship Diagram.


Sumber :

https://id.wikipedia.org/wiki/Sistem_manajemen_basis_data_relasional#Sejarah_atas_istilah_RDBMS 


Perwitasari, Anggi. (2020). Minggu 6, Basis Data Relasional[Presentasi PowerPoint]. Materi Daring Perkuliahan Perancangan Basis Data Minggu ke-6, Universitas Tanjungpura.


Minggu, 04 Oktober 2020

ANALISIS DAN PERANCANGAN BASIS DATA

Perancangan Basis Data adalah proses untuk menentukan isi dan pengaturan data yang dibutuhkan untuk mendukung berbagai rancangan sistem basis data.

Dalam merancang sebuah database, kita memerlukan tahapan-tahapan yang biasa disebut dengan Database System Development Life Cycle. Bagan di bawah ini merupakan tahapan dari perancangan basis data.

Tahapan-tahapan ini kita bagi menjadi 3 bagian utama yaitu bagian ke-1 merupakan bagian menganalisis setiap data, bagian ke-2 merupakan bagian desain aplikasi, dan bagian ke-3 merupakan bagian uji sistem.

Database Development Lifecycle 1

  • Database planning menentukan tujuan, gambaran luas tentang format pengumpulan dan desain data. Tahap ini bisa dikatakan kita menentukan visi dan misi dari pembuatan database itu.
  • System Definition. Pada tahap ini user view atau tampilan dari pengguna akan diidentifikasi dan ditentukan perannya.
  • Requirement Collection and Analysis. Tahap ini merupakan tahap pengumpulan data dan setiap kebutuhan yang diperlukan dalam membuat database. Ada 3 pendekatan yang biasa digunakan yaitu : view approach, view integration approach, dan kombinasi keduanya.
  • Database Design & Application Design. Tahap ini dilakukan untuk merancang desain dan aplikasi dari sistem database yang mau dibuat. Fase dari tahap ini dilakukan secara logical dan fisik.

Database Development Lifecycle 2

  • Database Design
    • Conseptual Database Design
    • Logical Database Design
    • Physical Database Design
    • DBMS Selection (optional)

Database Development Lifecycle 3

  • Implementation. Tahapan ini adalah tahapan yang penting karena setelah dirancang database akan direalisasikan atau dibuat sesuai dengan desain yang sudah ada menggunakan bahasa database (DDL, DML, dan 3GL/4GL).
  • Data Conversation and Loading. Tahap ini mengubah data lama untuk dapat disimpan ke dalam database baru. Data lama akan dikonversi dan diubah format datanya untuk dapat menyesuaikan database yang baru.
  • Testing. Testing dilakukan untuk melihat bagaimana kondisi database setelah digunakan. Penilaian dilakukan dengan kriteria : Learnaility, Performance, Robustness, Recoverbility, dan  Adaptability.
  • Operational Maintenance. Merupakan proses terakhir dimana database selalu dimonitor dan dipantau kinerjanya dan memperhatikan hal-hal yang perlu ditingkatkan (update).
Secara garis besar, berikut tahapan dari fase perancangan basis data atau database design.
  1. Pengumpulan data dan analisis 
  2. Perancangan Basis Data secara konseptual
  3. Pemilihan DBMS (optional)
  4. Perancangan Basis Data secara logika (model mapping)
  5. Perancangan Basis Data secara fisik
  6. Implementasi Sistem Basis Data

Fase 1 - Pengumpulan Data dan Analisa

Segala kebutuhan yang diperlukan untuk membangun sebuah database dikumpulkan pada fase ini. Informasi dapat diperoleh dengan mengumpulkan informasi dari pemakai atau user dan aplikasi-aplikasi yang akan dibangun dengan tujuannya dan target permbuatan yang ditentukan.
Aktifitas pada fase ini yaitu:
  1. Menentukan kelompok pemakai dan bidang-bidang aplikasinya
  2. Peninjauan dokumentasi yang ada
  3. Analisa lingkungan operasi dan pemrosesan data
  4. Daftar pertanyaan dan wawancara

Fase 2 - Perancangan Basis Data secara Konseptual

Tujuan dari fase ini yaitu menghasilkan skema konseptual untuk basis data yang tergantung pada sebuah DBMS yang spesifik. Model yang digunakan high-level data seperti ERD (Entity Relationship Diagram). Dalam conceptual schema, kita harus memerinci aplikasi-aplikasi basis data yng diketahui dan transaksi-transaksi yang memungkinkan antar data.

Ada 2 aktifitas paralel fase perancangan basis data secara konseptual
  1. Perancangan skema konseptual. Aktifitas ini menguji kebutuhan-kebutuhan data dari suatu database yang merupakan hasil dari fase 1 dan menghaslkan sebuah conceptual database schema pada DBMS-independent model data tingkat tinggi seperti EER (Enhanced Entity Relationship) model. Model data yang digunakan pada perancangan pada perancangan skema konseptual adalah DBMS-independent dan langkah selanjutnya adala memilih DBMS untuk melakukan rancangan tersebut.
  2. Perancangan transaksi. Fase ini menguji aplikasi-aplikasi database dimana kebutuhan-kebutuhannya telah dianalisa pada fase 1 dan menghasilkan rincian transaksi-transaksi ini. Kegunaan tahap ini yang diproses secara paralel bersama tahap perancangan skema konseptual adalah untuk merancang karakteristik dari transaksi-transaksi database yang telah diketahui pada suatu DBMS-independent. Transaksi ini akan digunakan untuk memproses dan memanipulasi database suatu saat dimana database  tersebut dilaksanakan.

Fase 3 - Pemilihan DBMS

Pemilihan DBMS ditentukan oleh beberapa faktor :
  1.  Struktur data. Jika data yang disimpan dalam database mengikuti struktu hirarki, maka suatu  jenis hirarki dari DBMS harus dipikirkan
  2. Personal yang telah terbiasa dengan suatu sistem. Jika staf programmer dalam suatu organisasi sudah terbiasa dengan suatu DBMS, maka hal ini dapat mengurangi biaya latihan dan waktu belajar.
  3. Tersedianya layanan penjual. Keberadaan fasilitas pelayanan penjual sangat dibutuhkan untuk membantu memcahkan beberapa masalah sistem.
  4. Keberadaan DBMS dalam menjalankan tugasnya seperti jenis-jenis DBMS (relational, network, hierarchical, dan lainnya), struktur penyimpanan, dan jalur akses yang mendukung DBMS, user, dan lain-lain.

Fase 4 - Perancangan Basis Data Secara Logika (data model mapping)

Pada fase selanjutnya adalah membuat sebuah skema konseptual dan skema eksternal pada model data dari DBMS yang sudah dipilih. Fase ini dilakukan oleh pemetaan skema konseptual dan skema eksternal yang dihasilkan pada fase 2. Pada fase ini, skema konseptual ditransformasikan dari model data tingkat tinggi yang digunakan pada fase 2 ke dalam model data dari model data DBMS yang dipilih pada fase 3. Pemetaan tersebut dapat diproses dalam 2 tingkat :
  1. Pemetaan system-independent. Pemetaan ke dalam model data DBMS dengan tidak mempertimbangkan karakteristik atau hal-hal khusus yang berlaku pada implementasi DBMS dari model data tersebut.
  2. Penyesuaian skema ke DBMS yang spesifik. Mengatur skema yang dihasilkan pada langkah 1 untuk disesuaikan pada implementasi yang khusus di masa yang akan datang dari suatu model data yang digunakan pada DBMS yang dipilih. Rancangan dari skema eksternal untuk aplikasi-aplikasi yang spesifik seringkali sudah selesai selama proses ini.

Fase 5 - Perancangan Basis Data secara Fisik

Perancangan database secara fisik merupakan proses pemilihan struktu-struktur penyimpanan dan jalur-jalur akses pada file-file database untuk mencapai penampilan yang terbaik pada bermacam-macam aplikasi. Selama fase ini, dirancang spesifikasi-spesifikasi untuk database yang disimpan yang berhubungan dengan struktur penyimpanan fisik, penempatan record dan jalur akses.
Beberapa petunjuk dalam pemilihan perancangan database secara fisik :
  1. Response Time. Waktu yang telah berlalu dari suatu transaksi database yang diajukan untuk menjalankan suatu tanggapan. Pengaruh utama pada response time adalah di bawah pengawasan DBMS yaitu : waktu akses database untuk data item yang ditunjuk oleh suatu transaksi. Response time juga dipengaruhi oleh beberapa faktor yang tidak berada di bawah pengawasan DBMS, seperti penjadwalan sistem operasi atau penundaan komunikasi.
  2. Space Utility. Kapasitas ruang penyimpanan yang digunakan oleh file-file database dan struktur jalur akses.
  3. Transaction Throughput. Rata-rata jumlah transaksi yang dapat diperoleh per menit oleh sistem database, dan merupakan parameter krits dari sistem transaksi (misal : digunakan pada pemesanan tempat di pesawat, bank, dan lain-lain). Hasil dari fase ini adalah penentuan awal dari struktur penyimpanan dan jalur akses untuk file-file database.

Fase 6 - Implementasi Sistem Basis Data

Fase ini merupakan fase merealisasikan setiap rancangan yang telah dibuat baik secara logika maupun fisik. Semua data disatukan dan diperlukan format ulang datanya yang kemudian dimasukkan ke database yang baru. Transaksi antar database dilaksanakan oleh programmer yang bertugas membuat aplikasi menggunakan DBMS yang telah dipilih. Spesifikasi secara konseptual diuji dan dihubungkan dengan kode program dengan perintah-perintah dari embedded DML yang telah ditulis dan diuji. Suatu saat transaksi-transaksi tersebut telah siap dan data telah dimasukkan ke dalam database, maka tahap perancangan dan implementasi telah selesai dan kemudian tahap operasional dari sistem database dimulai.


MODEL HUBUNGAN ANTAR ENTITAS 

Model hubungan antar entitas sering digambarkan dalam sebuah diagram yang kita kenal dengan Entity Relationship Diagram (Diagram Hubungan Entitas). ERD digambarkan dengan simbol bangun datar yang memiliki arti setiap bentuknya.

Entitas

Kumpulan objek yang dapat diidentifikasikan secara unik atau saling berbeda. Simbol dari entitas biasanya digambarkan dengan 'persegi panjang'. Terdapat 2 jenis entitas yaitu:
  1. Entitas kuat : artinya entitas yang dapat berdiri sendiri dan tidak memiliki ketergantungan terhadap entitas lainnya.
  2. Entitas lemah : artinya entitas yang memiliki ketergantungan terhadap entitas lain dalam relasi. Entitas lemah dilambangkan dengan persegi panjang kecil di dalam persegi panjang besar.


Atribut

Atribut berfungsi untuk mendeskripsikan karakter dan menjadi pembeda antar entitas yang disebut dengan "atribut kunci". Atribut disimbolkan dengan elips dan terbagi menjadi beberapa jenis sebagai berikut.
  1. Atribut kunci : atribut yang digunakan untuk menentukan entitas secara unik. Contoh : NIM, NISN, NPWP, dan lainnya.
  2. Atribut simpel : atribut bernilai tunggal yang tidak dapat dipecah lagi (atomic). Contoh : alamat, tahun terbit buku, nama penerbit.
  3. Atribut multinilai (multivalue) : atribut yang memiliki sekelompok nilai untuk setiap entitas instan. Contoh : nama beberapa pengarang dari sebuah buku pelajaran.
  4. Atribut gabungan (composite) : atribut yang terdiri dari beberapa atribut yang lebih kecil dengan arti tertentu. Contoh : nama lengkap yang terbagi menjadi nama depan, tengah, dan belakang.
  5. Atribut derivatif : atribut yang dihasilkan dari atribut lain dan tidak wajib ditulis dalam diagram ER. Atribut ini dilambangkan dengan elips putus-putus. Contoh : usia, kelas, selirih harga.


Garis 

Garis berfungsi untuk menunjukkan arah hubungan antar atribut dari setiap entitas pada ERD.


Relasi

Hubungan antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Gambar relasi disimbolkan dengan bangun datar belah ketupat. Berikut jenis relasi.
  1. One-to-one : atau satu ke satu artinya setiap entitas hanya mempunyai relasi dengan satu entitas lain. Contoh : mahasiswa dengan NIM
  2. One-to-many : atau satu ke banyak artinya hubungan satu entitas dengan beberapa entitas atau sebaliknya. Contoh : dosen dengan mahasiswa atau sebaliknya.
  3. Many-to-many : atau banyak ke banyak artinya setiap entitas memiliki relasi dengan entitas lain begitu juga sebaliknya. Contoh : siswa dan ekstrakurikuler.

Ragam relasi antar entitas



Demikian penjelasan singkat mengenai Analisis dan Perancangan Basis Data. Semoga bermanfaat.


Sumber :

https://sis.binus.ac.id/2018/02/21/database-system-development-life-cycle/

https://muhammadghazali.wordpress.com/tag/6-tahap-perancangan-database/

https://www.dewaweb.com/blog/entity-relationship-diagram/

https://www.masrana.com/2019/10/kegiatan-belajar-4-erd-relasi-antar-entitas.html

Perwitasari, Anggi. (2020). Minggu 3, Analisis dan Perancangan Basis Data [Presentasi PowerPoint]. Materi Daring Perkuliahan Perancangan Basis Data Minggu ke-3, Universitas Tanjungpura.

PERANCANGAN SISTEM-2

 Oke gaes, penjelasan kali ini masih berlanjut dari penjelasan materi sebelumnya tentang perancangan sistem. Langsung aja ya. Cekidot! Peran...