Jumat, 23 Oktober 2020

Basis Data Relasional

Model Relasional 

Basis Data Relasional menggunakan tabel dua dimensi  yang terdiri atas baris dan kolom untuk memberi gambaran sebuah berkas data. Basis data terdiri dari kumpulan dari satu atau lebih relasi, masing-masing relasi merupakan tabel yang terdiri dari baris dan kolom.

Keuntungan Basis Data Relasional 

1. Bentuknya sederhana 

2. Mudah untuk melakukan berbagai operasi data 

Istilah dalam Basis Data Relasional 

Relasi

kontruksi utama merepresentasikan data dalam model relasional adalah relasi. Relasi pertama kali didefinisikan menggunakan teori himpunan. Cara mudah untuk mendefinisikan sebuah relasi adalah sebagai sebuah tabel dimana data-datanya disimpan dalam baris tabel. Relasi terdiri dari skema relasi dan contoh relasi.

sebuah relasi harus representasi logik yaitu :

1. tidak terdapat duplikasi baris

2. urutan baris tidak diperhatikan 

3. setiap kolom dalam satu relasi mempunyai sebuah nama yang unik

Atribut : merupakan kolom pada sebuah relasi.

Tupel  : baris pada sebuah relasi 

Domain : kumpulan nilai yang valid untuk satu atau lebih atribut

Derajat : jumlah atribut dalam sebuah relasi

Cardinality : jumlah tupel dalam sebuah relasi


Relational Keys

  • Super Key

Adalah sebuah atau sekumpulan atribut yang secara unik mengidentifikasi sebuah tupel dalam tabel relasi.

  • Candidate Key

Adalah super key yang himpunan bagian yang sebenarnya tidak ada yang menjadi super key juga.

  • Primary Key

Adalah candidate key yang dipilih sebagai pengidentifikasi unik untuk sebuah tabel relasi.

  • Alternate Key

Adalah candidate key yang tidak dipilih sebagai primary key. 

  • Foreign Key 

Adalah atribut dengan domain yang sama menjadi kunci utama pada sebuah relasi tetapi pada relasi lain atribut tersebut hanya sebagai atribut biasa

 

Relational Integrity Rule

1. Null

Nilai suatu atribut yang tidak diketahui dan tidak cocok untuk baris (tuple) tersebut. 

2. Entity Integrity

Tidak ada satu komponen primary key yang bernilai null  

3. Referential Integrity

Suatu domain dapat dipakai sebagai kunci primer bila merupakan atribut  domain yang bersangkutan


Bahasa Pada Basis Data Relasional

Bahasa Formal

bahasa query yang diterjemahkan dengan menggunakan simbol-simbol matematis  

- Aljabar relasional 

Adalah sekumpulan operasi dimana masukkannya adalah satu atau dua relasi dan keluarannya adalah sebuah relasi baru sebagai hasil dari operasi tersebut. Perintah dasar dari operasi aljabar rasional adalah

- select : operasi yang digunakan untuk memilih tupel-tupel yang memenuhi suatu predikat  menggunakan operator perbandingan 

- project : operasi yang digunakan untuk memilih kolom dalam suatu tabel

- union : menghasilkan suatu tabel baru sehingga tidak ada duplikasi data

- intersection : operasi binary yang digunakan untuk membentuk sebuah relasi baru dengan   tupel yang berasal dari kedua tabel yang dihubungkan 

- set difference : operasi untuk mendapatkan tabel baru dari sebuah relasi dimana elemen barisnya terdapat di r tetapi tidak di ada di s. r dan s harus memiliki jumlah atribut yang sama 

- rename : operasi untuk menyalin tabel lama ke tabel yang baru 

selain itu ada beberapa tambahan operasi seperti 

- cartesian product : proses yang menghasilkan tabel hasil perkalian dua tabel

- natural join : berfungsi untuk menggabungkan operasi selection dan cartesian product menjadi hanya 1 operasi saja.

- theta join : berfungsi untuk mengkombinasikan tupel dari 2 tabel relasi dimana kondisi dari kombinasi tersebut tidak hanya nilai dari 2 atribut bernama sama, tetapi kondisi yang diinginkan juga bisa menggunakan operator relasional (≤, <, =, >, ≥) 

- division : operasi yang berfungsi untuk query yang memasukkan frase "untuk semua/seluruh".

- Kalkulus relasional  

Dalam kalkulus relasional tidak ada penjabaran bagaimana mengevaluasi querinya, hanya menspesifikkan apa yang harus ditampilakan bukan bagaimana menampilkan. Memungkinkan user menggambarkan apa yang mereka inginkan, tidak pada pada bagaimana cara melakukan komputasi terhadap apa yang mereka inginkan tersebut. (tidak bersifat operasional, tapi bersifat deklaratif). 

1. Kalkulus relasional berdasarkan tupel

Dalam kalkulus relasional tupel digunakan variabel dari tupelnya .variabel dari suatu tupel adalah daerah yang terdefinisi sebagai nama dari suatu relasi. 

2. Kalkulus relasional berdasarkan domain

Simbol yang muncul pada formula terdiri dari : konstan (elemen-elemen domain D), variabel (elemen-elemen dari himpunan berhingga V yang dihubungkan dengan domain D), nama relasi (tabel) dan atribut (berdasarkan skema basis data), operator perbandingan (=, ≠, >, >=, <, <=), penghubung logika (Λ ( dan / konjugsi), (V atau/disjungsi), ⌐ (not/negasi), ada/beberapa(  ), dan semua (  )).

Bahasa Komersial

bahasa query yang dirancang sendiri oleh programmer menjadi suatu program aplikasi agar pemakai lebih mudah mengunakannya.

Optimasi Query 

Optimasi query merupakan proses untuk menganalisa query dan menentukan sumber-sumber apa saja yang digunakan oleh query tersebut dan apakah pengguna tersebut di kurangi tanpa merubah output. Ada 3 aspek yang mempengaruhi optimasi query, yaitu:

1. Search Space

2. Cost Model 

3. Search Strategy

Tujuan optimasi query adalah meminimumkan waktu proses, I/O, penggunaan memory dan meminimumkan total waktu pada proses query. Ada 2 cara pendekatan optimasi query, yaitu :

1. Heuristik atau Rule-Based

Optimasi untuk jenis ini mentransformasikan query yang akan meningkatkan kinerja eksekusi yaitu :

Mereduksi jumlah baris dengan melakukan operasi selction 

Mereduksi jumlah atribut dengan melakukan operasi projection 

Mengkonversi query dengan banyak join menjadi query dengan banyak subquery 

Melakukan operasi selection dan join yang paling kecil keluarnya sebelum operasi lain 

2. Cost-Based

Optimasi untuk jenis ini dipergunakan dari beberapa alternatif untuk dipilih menadi salah satu cost yang terendah. Selain itu teknik ini juga mengoptimalkan urutan join terbalik pda relasi-relasi R1 sampai Rn. Pada teknik ini juga dipergunakan untuk mendapatkan pohon left-deep join agar menghasilkan relasi pada node sebelah kanan.

 

Tugas membuat skema basis data relasional :

https://drive.google.com/file/d/1tYTvW--Z4-HAlBTcILvHXtt_9APKg0gm/view?usp=sharing








source : 

http://endysasa.blogspot.com/2012/06/kalkulus-relasional.html


Senin, 19 Oktober 2020

ERD (Entity Relationship Diagram)

ERD 

ERD atau Entity Relationship Diagram adalah suatu bentuk diagram yang menjelaskan hubungan antar objek-objek data yang mempunyai hubungan antar relasi. ERD digunakan untuk menyusun struktur data dan hubungan antar data, dan untuk menggambarkannya digunakan notasi, simbol, bagan, dan lain sebagainya.

ERD berfungsi sebagai bentuk pemodelan basis data yang kemudian dapat dikembangkan dalam berbagai project sistem informasi, contohnya rekayasa software. Dalam membentuk suatu rekayasa software, kita memerlukan sebuah konsep. Konsep yang akan dipakai dalam project ini berbentuk ERD atau juga disebut ERM (entity relationship model). Jadi, kita dapat memanfaatkan ERD sebagai kerangka atau konsep dasar dalam suatu sistem informasi.


Link ERD latihan 1-6 :

Minggu, 04 Oktober 2020

ANALISIS DAN PERANCANGAN BASIS DATA

Perancangan Basis Data

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

Database Development Lifecycle

Dalam merancang sebuah database, ada beberapa tahapan yang harus dilakukan. Tahapan-tahapan tersebut disebut dengan Database Sytsem Development Life Cycle. Siklus hidup dari sebuah database mulai dari dirancang sampai pengoprasianya. Berikut penjelasan tahapan-tahapannya:

Database Development Lifecycle - 1

  • Database Planning

Menentukan tujuan dari adanya database yang ingin dibuat, gambaran secara luas seperti bagaimana nantinya pengumpulan data, design dan format data. Pada tahap pertama ini harus ditentukan Mission Statement (Visi atau tujuan database itu dibuat) dan Mission Objectives (Misi atau apa saja yang bisa dilakukan oleh database tersebut).

  • System Definition

Sebuah database pasti memiliki user view. Pada tahapan ini user view akan diidentifikasi dan ditentukan perannya.

  • Requirement Collection and Analysis

Tahap ini akan mengumpulkan dan mengalisis data yang akan dibutuhkan oleh database. Tentunya juga kebutuhan apa saja yang dibutuhkan untuk membangun database yang diharapkan. Ada tiga pendekatan yang bisa dilakukan, yaitu : view approach, view integration approach, dan kombinasi dari keduanya.

Database Development Lifecycle - 2

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

DBMS adalah Database Management System, yang di maksud dalam tahap ini adalah pemilihan software yang akan digunakan untuk implementasi database yang akan digunakan. Ada banyak pilihan DBMS, seperti Oracle, My Sql Server, Ms. Access, dan masih banyak lagi.

Database Development Lifecycle - 3

  •  Application Design

Tentunya sebuah database tidak bisa berjalan sendiri. Biasanya pasti ada aplikasi sebagai perantara antara user dan database. Ada 2 aktivitas penting dalam tahap ini, yaitu: Transaction Design dan User Interface Design.

  • Prototyping (optional)

Prototyping adalah tahap dimana sebuah model yang dibuat untuk menggambarkan database yang ingin kita buat. Adanya tahap ini bertujuan untuk memberikan gambaran secara jelas sehingga sebelum dijalankan, rancangan ini bisa dievaluasi untuk dilihat kelengkapannya. Pada tahapan ini biasanya akan ditemukan hal-hal yang ingin diperbaiki maupun dikembangkan lebih lagi.

  • Implementation

Tahapan ini adalah tahapan yang sangat penting, karena setelah dirancang, database tersebut akan direalisasikan. Database akan dikonstruksi sesuai dengan desain yang ada (Menggunakan DDL, DML, dan 3GL/ 4GL).

  • Data Conversion and Loading

Dalam merancang sebuah database, pasti ada data lama yang dibutuhkan untuk disimpan di database baru ini. Jadi pada tahap ini akan memasukkan data ke database yang sudah disiapkan. Untuk data lama dengan format yang berbeda, akan ada proses konversi data agar bisa menyesuaikan format baru.

  • Testing

Testing dilakukan untuk melihat bagaimana kondisi database setelah digunakan. Akan dilakukan penilaian dengan kriteria: Learnability, Performance, Robustness, Recoverability, Adaptability.

  • Operational Maintenance

Merupakan proses terakhir dimana penggunaan database dimonitor. Memastikan database berjalan dengan baik dan memperhatikan hal-hal yang perlu update.

Fase Perancangan Basis Data  

  • Tahap 1, Pengumpulan data dan analisa

Merupakan suatu tahap dimana kita melakukan proses indentifikasi dan analisa kebutuhan-kebutuhan data dan ini disebut pengumpulan data dan analisa. Untuk menentukan kebutuhan-kebutuhan suatu sistem database, kita harus mengenal terlebih dahulu bagian-bagian lain dari sistem informasi yang akan berinteraksi dengan sistem database, termasuk para user yang ada dan para useryang baru beserta aplikasi-aplikasinya. Kebutuhan-kebutuhan dari para user dan aplikasi-aplikasi inilah yang kemudian dikumpulkan dan dianalisa.

Berikut ini adalah aktifitas-aktifitas pengumpulan data dan analisa:

  • Menentukan kelompok pemakai dan bidang-bidang aplikasinya
  • Peninjauan dokumentasi yang ada
  • Analisa lingkungan operasi dan pemrosesan data
  • Daftar pertanyaan dan wawancara

  • Tahap 2, Perancangan database secara konseptual

Pada tahap ini akan dihasilkan conceptual schema untuk database yang tergantung pada sebuah DBMS yang spesifik. Sering menggunakan sebuah high-level data modelseperti ER/EER modelselama tahap ini. Dalam conceptual schema, kita harus merinci aplikasi-aplikasi databaseyang diketahui dan transaksi-transaksi yang mungkin.Tahap perancangan databasesecara konseptual mempunyai 2 aktifitas pararel:

  • Perancangan skema konseptual

Menguji kebutuhan-kebutuhan data dari suatu database yang merupakan hasil dari tahap 1 dan menghasilkan sebuah conceptual database schema pada DBMS-independent model data tingkat tinggi seperti EER (Enhanced Entity Relationship) model.Untuk menghasilkan skema tersebut dapat dihasilkan dengan penggabungan bermacam-macam kebutuhan user dan secara langsung membuat skema database atau dengan merancang skema-skema yang terpisah dari kebutuhan tiap-tiap user dan kemudian menggabungkan skema-skema tersebut. Model data yang digunakan pada perancangan skema konseptual adalah DBMS-independent dan langkah selanjutnya adalah memilih DBMS untuk melakukan rancangan tersebut.

  • Perancangan transaksi

Menguji aplikasi-aplikasi databasedimana kebutuhan-kebutuhannya telah dianalisa pada fase 1, dan menghasilkan perincian transaksi-transaksi ini.Kegunaan tahap ini yang diproses secara paralel bersama tahapp perancangan skema konseptual adalah untuk merancang karakteristik dari transaksi-transaksi database yang telah diketahui pada suatu DBMS-independent. Transaksi-transaksi ini akan digunakan untuk memproses dan memanipulasi database suatu saat dimana database tersebut dilaksanakan.

  • Tahap 3, Pemilihan DBMS

Pemilihan databaseditentukan oleh beberapa faktor diantaranya faktor teknik, ekonomi, dan politik organisasi.Contoh faktor teknik:

Keberadaan DBMS dalam menjalankan tugasnya seperti jenis-jenis DBMS (relational, network, hierarchical, dan lain-lain), struktur penyimpanan, dan jalur akses yang mendukung DBMS, pemakai, dan lain-lain.Faktor-faktor ekonomi dan organisasi yang mempengaruhi satu sama lain dalam pemilihan DBMS :

  • Struktur data

Jika data yang disimpan dalam database mengikuti struktur hirarki, maka suatu jenis hirarki dari DBMS harus dipikirkan.

  • 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.

  • Tersedianya layanan penjual

Keberadaan fasilitas pelayanan penjual sangat dibutuhkan untuk membantu memecahkan beberapa masalah sistem.

  • Tahap 4, Perancangan database secara logika (data model mapping)

Tahap selanjutnya adalah membuat sebuah skema konseptual dan skema eksternal pada model data dari DBMS yang terpilih. Tahap ini dilakukan oleh pemetaan skema konseptual dan skema eksternal yang dihasilkan pada tahap 2. Pada tahap ini, skema konseptual ditransformasikan dari model data tingkat tinggi yang digunakan pada tahap 2 ke dalam model data dari model data dari DBMS yang dipilih pada tahap 3.Pemetaan tersebut dapat diproses dalam 2 tingkat:

  • Pemetaan system-independent

Pemetaan ke dalam model data DBMS dengan tidak mempertimbangkan karakteristik atau hal-hal yang khusus yang berlaku pada implementasi DBMS dari model data tersebut.

  • Penyesuain 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.Hasil dari tahap ini memakai perintah-perintah DDL (Data Definition Language) dalam bahasa DBMS yang dipilih yang menentukan tingkat skema konseptual dan eksternal dari sistem database. Tetapi 10 dalam beberapa hal, perintah-perintah DDL memasukkan parameter-parameter rancangan fisik sehingga DDL yang lengkap harus menunggu sampai tahap perancangan databasesecara fisik telah lengkap.Tahap ini dapat dimulai setelah pemilihan sebuah implementasi model data sambil menunggu DBMS yang spesifik yang akan dipilih. Contoh: jika memutuskan untuk menggunakan beberapa relational DBMS tetapi belum memutuskan suatu relasi yang utama. Rancangan dari skema eksternal untuk aplikasi-aplikasi yang spesifik seringkali sudah selesai selama proses ini.

  • Tahap 5, Perancangan database secara fisik

Perancangan database secara fisik merupakan proses pemilihan struktur-struktur penyimpanan dan jalur-jalur akses pada file-file databaseuntuk mencapai penampilan yang terbaik pada bermacam-macam aplikasi.Selama fase ini, dirancang spesifikasi-spesifikasi untuk database yang disimpan yang berhubungan dengan struktur-struktur penyimpanan fisik, penempatan record dan jalur akses. Berhubungan dengan internal schema(pada istilah 3 level arsitektur DBMS).Beberapa petunjuk dalam pemilihan perancangan databasesecara fisik :

  • 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.

  • Space utility

Jumlah ruang penyimpanan yang digunakan oleh file-file database dan struktur-struktur jalur akses.

  • Transaction throughput

Rata-rata jumlah transaksi yang dapat diproses per menit oleh sistem database, dan merupakan parameter kritis dari sistem transaksi (misal : digunakan pada pemesanan tempat di pesawat, bank, dll). Hasil dari fase ini adalah penentual awal dari struktur penyimpanan dan jalur akses untuk file-file database.

  • Tahap 6, Implementasi Sistem database

Setelah perancangan secara logika dan secara fisik lengkap, kita dapat melaksanakan sistem database. Perintah-perintah dalam DDL dan SDL(Storage Definition Language) dari DBMS yang dipilih, dihimpun dan digunakan untuk membuat skema database dan file-file database (yang kosong). Sekarang databasetersebut dimuat (disatukan) dengan datanya.Jika data harus dirubah dari sistem komputer sebelumnya, perubahan-perubahan yang rutin mungkin diperlukan untuk format ulang datanya yang kemudian dimasukkan ke database yang baru. Transaksi-transaksi database sekarang harus dilaksanakan oleh para programmmer aplikasi.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.

ERD (Entity Pelationship Diagram) 

ERD (Entity Pelationship Diagram) adalah suatu model informasi untuk menjelaskan suatu hubungan antara data dan basis data yang digambarkan dengan sebah grafik dan juga notasi dengan model data konseptual. 

Loonam dan Brady yaitu seorang para ahli bahasa mengatakan bahwa ERD (Entity Pelationship Diagram) merupaka sebuah teknik yang dipakai untuk menjelaskan data yang dibutuhkan dalam sebuah organisasi. Permodelannya bisa seperti sistem analisis yaitu tahapan analisa persyaratan dalam proyek pengembangan sistem.

Komponen ERD (Entity Pelationship Diagram)

  • Entitas

Entitas dalam ERD merupakan sebuah objek atau simbol yang berfungsi sebagai identitas pada kesatuan yang mempunyai nama dan label. Entitas digambarkan dengan simbol/objek sebuah persegi panjang. di dalam ilmu data entitas dibedakan menjadi 2 yaitu entitas lemah dan entitas kuat yaitu:

  1. Entitas Kuat :entitas kuat adalah entitas yang keberadaanya tidak bergantung pada himpunan entitas lainnya.
  2. Entitas Lemah: entitas lemah adalah entitas yang keberadaannya bergantung pada himpunan entitas lain, misalnya: entitas pembelian bergantung pada entitas produk dan entitas pembeli.  

  • Relasi (hubungan antar entitas)

Relasi dalam ERD merupakan sebuah objek atau simbol yang menghubungkan antara satu entitas atau lebih yang tidak memiliki fisik namun ia hanya sebagai konseptual, relasi juga berfungsi untuk mengetahui jenis hubungan antara 2 data. Relasi digambarkan dengan simbol/bentuk belah ketupat.

Derajat relasi atau kardinalitas rasio, yaitu jumlah maksimum relasi antara entitas dengan entitas lainnya.

  • One to One (1:1), yaitu setiap satu anggota entitas hanya boleh ber-relasi dengan satu anggaota entitas lain dan sebaliknya.
  • One to many (1:M / Many), yaitu setiap satu anggota entitas boleh ber-relasi dengan anggota entitas lain lebih dari satu.
  • Many to Many (M:M), yaitu setiap satu anggota entitas ber-relasi dengan banyak himpunan anggota entitas lain.

  • Atribut 

Atribut dalam ERD merupakan sebuah objek atau simbol sebagai karakteristik dari entitas atau relasi yang menampilkan penjelasan informasi detail tentang keduanya. Atribut ini juga digambarkan dengan simbol/bentuk elips, dan memiliki beberapa fungsi yaitu:

  • Atribut Key ( atribut yang memiliki satu atau gabungan dengan atribut lain, dalam tabel unik )
  • Atribut Simple ( atribut yang bernilai atomik, yaitu tidak bisa dipecah-pecah lagi )
  • Atribut Multivalue ( atribut yang memiliki lebih dari satu nilai / miltivalue )
  • Atribut Composite ( atribut dengan bentuk oval yang lebh kecil dari atribut lain sebagai sub-atribut )
  • Atribut Derrivatif ( atribut dengan bentuk oval dengan garis putus-putus, yaitu sebuah hasil dari atribut lain atau dari relasi )

  •  Alur

Alur dalam ERD merupakan sebuah objek/simbol yang berfungsi sebagai simbol penghubung antara atribut dan entitas dan hubungan antara entitas dan relasi. Alur disimbolkan dengan bentuk garis.

Ada beberapa simbol yang dignakan, yang sebelumnya sudah disinggung di atas, berikut simbol-simbol ERD:


Entity


Weak Entity


Relasi Kuat
Relasi Lemah
Atibut
Atribut Key
Atribut Multivalue
 Atribut Derivatif
Atribut Kompusit



Total Participation of E1 in RCardinality Ratio 1:N E1:E2 in R
 



source :

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

https://anaktik.com/entitas/

https://bilabil.com/contoh-erd/

Analisis dan Design PL

Structured System Analisys and Design  (SSAD) atau Analisis dan Desain Sistem Terstruktur adalah salah satu metodologi dalam mengembangkan ...