Sabtu, 09 Juni 2018

BAHASA QUERY FORMAL


Dalam bahasa Query Formal, ada dua dasar pembentukan bahasa Query, yaitu:
     1.     Aljabar Relasional
     2.     Kalkulus Relasional
Dalam pembahasan ini hanya akan membahas tentang Aljabar Relasional karna lebih banyak dijadikan dasar Bahasa Query yang umum digunakan.

ALJABAR RELASIONAL
Adalah  kumpulan operasi relasi dimana setiap operasi menggunanakn satu atau lebih relasi untuk menghasilkan satu relasi yang baru, dan termasuk kategori prosedural dan juga menyediakan seperangkat operator untuk memanipulasi data.
Bahasa Query yang didasarkan pada operasi-operasi dalam Aljabar Relasional merupakan bahasa query yang Prosedural.

Terdapat enam operasi dasar dalam aljabar relasional :
          1.     Operasi Selection
adalah operasi untuk menyeleksi tupel-tupel yang memenuhi suatu predikat, dapat digunakan operator perbandingan (<,>,<=,>=,=,!=) pada predikat. Beberapa predikat dapat  dikombinasikan menjadi predikat majemuk dengan operator penghubung and (V) atau or (V).
2.     Operasi projection
adalah operasi untuk memperoleh kolom-kolom tertentu. Operasi project merupakan operasi unary yang mengirim relasi argumen dengan kolom-kolom tertentu. Dikarenakan relasi adalah himpunan, maka baris-baris duplikasi dihilangkan.
3.     Operasi Cartesian-product(x)
adalah operasi untuk menghasilkan tabel hasil perkalian kartesian.
4.     Operasi Union
adalah operasi untuk menghasilkan gabungan tabel dengan syarat kedua tabel memiliki atribut yang sama, yaitu domain atribut ke-i masing-masing tabel harus sama.
5.     Operasi Set Difference
adalah operasi untuk mendapatkan tabel pada suatu relasi, tapi tidak ada pada relasi yang lain.R-S = {x|x ER dan X !E S}.
6.     Operasi Rename
adalah operasi untuk menyalin tabel lama ke dalam tabel yang baru.
Operasi-operasi turunan dari operasi dasar tersebut adalah:
1.     Operasi Set-Intersection
adalah termasuk kedalam operator tambahan, karena operator ini dapat diverifikasi dari operator dasar.
2.     Operasi Theta join
adalah operasi untuk menggabungkan operasi selection dan cartesian product dengan suatu kriteria\syarat.
3.     Operasi Natural Join
adalah operasi untuk menggabungkan operasi selection dan cartesian product dengan suatu kriteria pada kolom yang sama.
4.     Operasi Outer  join
adalah operasi untuk menggabungkan operasi selection dan cartesian product dengan suatu kriteria pada kolom yang sama.
5.     Operasi Devision
adalah operasi yang banyak digunakan dalam query yang mencakup frase “setiap” atau “untuk semua”, operasi ini juga merupakan pembagian atas tupel-tupel dari dua relasi.




Sumber

Minggu, 29 April 2018

LANGKAH-LANGKAH MEMBUAT NORMALISASI



Bentuk Tidak Normal (Unnormalized Form)

Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikukti format tertentu, dapat saja data tidak lengkap atau terduplikasi. Data dikumpulkan apa adanya sesuai dengan saat menginput.

Bentuk Normal Ke Satu (First Normal Form/1-NF)
Pada tahap ini dilakukan penghilangan beberapa group elemen yang berulang agar menjadi satu harga tunggal yang berinteraksi di antara setiap baris pada suatu tabel, dan setiap atribut harus mempunyai nilai data yang atomic (bersifat atomic value). Atom adalah zat terkecil yang masih memiliki sifat induknya, bila terpecah lagi maka ia tidak memiliki sifat induknya.
Syarat normal ke satu (1-NF) antara lain:
1.     setiap data dibentuk dalam flat file, data dibentuk dalam satu record demi satu record nilai dari field berupa “atomic value”.
2.     tidak ada set atribute yang berulang atau bernilai ganda.
3.     telah ditentukannya primary key untuk tabel / relasi tersebut.
4.     tiap atribut hanya memiliki satu pengertian.

Bentuk Normal Kedua (Second Normal Form/2-NF)
Bentuk normal kedua didasari atas konsep full functional dependency (ketergantungan fungsional sepenuhnya) yang dapat didefinisikan sebagai berikut. Jika A adalah atribut-atribut dari suatu relasi, B dikatakan full functional dependency (memiliki ketergantungan fungsional terhadap A, tetapi tidak secara tepat memiliki ketergantungan fungsional dari subset (himpunan bagian) dari A.
Syarat normal kedua (2-NF) sebagai berikut.
1.     Bentuk data telah memenuhi kriteria bentuk normal kesatu.
2.     Atribute bukan kunci (non-key) haruslah memiliki ketergantungan fungsional sepenuhnya (fully functional dependency) pada kunci utama / primary key.

BENTUK NORMAL KE TIGA (THIRD NORMAL FORM / 3 NF)
Walaupun relasi 2-NF memiliki redudansi yang lebih sedikit dari pada relasi 1-NF, namun relasi tersebut masih mungkin mengalami kendala bila terjadi anomaly peremajaan (update) terhadap relasi tersebut.
Syarat normal ketiga (Third Normal Form / 3 NF) sebagai berikut.
1.     Bentuk data telah memenuhi kriteria bentuk normal kedua.
2.     Atribute bukan kunci (non-key) harus tidak memiliki ketergantungan transitif, dengan kata lain suatu atribut bukan kunci (non_key) tidak boleh memiliki ketergantungan fungsional (functional dependency) terhadap atribut bukan kunci lainnya, seluruh atribut bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional terhadap priamry key di relasi itu saja.
3.     Selruh atribut bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional terhadap primary key di relasi itu saja.

Bentuk Normal Keempat (4NF)

Syarat:

  • Bentuk normal 4NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk BCNF, dan tabel tersebut tidak boleh memiliki lebih dari sebuah multivalued attribute.
  • Untuk setiap  multivalued attribute (MVD) juga harus merupakan Functional Dependency

Bentuk Normal Tahap Kelima (5NF)


  • Bentuk normal 5NF terpenuhi jika memiliki sebuah loseloss decomposition menjadi tabel-tabel yang lebih kecil.
  • Jika 4 bentuk normal sebelumnya dibentuk berdasarkan Functional Dependency, 5NF dibentuk berdasarkan konsep Join Dependence. Yakni apabila sebuah tabel telah di dekomposisi menjadi tabel-tabel lebih kecil, harus bisa digabungkan lagi untuk membentuk tabel semula.



Senin, 16 April 2018

NORMALISASI


Normalisasi merupakan cara pendekatan lain dalam membangun desain logik basis data dengan menerapkan sejumlah aturan dan kriteria standar untuk menghasilkan struktur tabel yang normal.
Dalam merancang basis data dapat dilakukan dengan:
1.     Menerapkan Normalisasi terhadap struktur tabel yang telah diketahui, atau
2.     Langsung membuat model Entity-Relationship. Normalisasi merupakan cara pendekatan lain dalam membangun desain logik basis data dengan menerapkan sejumlah aturan dan kriteria standar untuk menghasilkan struktur tabel yang normal.
KEUNTUNGAN DARI NORMALISASI
1.     Meminimalkan ukuran penyimpanan yang diperlukan untuk menyimpan data.
2.     Meminimalkan resiko inkonsistensi data pada basis data.
3.     Meminimalkan kemungkinan anomali pembaruan.
4.     Memaksimalkan stabilitas struktur data.


ANOMALY

Anomaly pada dasarnya adalah ketidak-konsistenan (inkonsistensi). Misalkan ada pergantian nama dari Bank Perkasa menjadi Bank Perkasa Utama sebanyak 4 record. Jika pergantian nama hanya dilakukan pada salah satu record saja, maka terjadi ketidak-konsistenan yaitu satu nomor bank berrelasi dengan 2 nama bank yang berbeda.
Dekomposisi tabel dapat mengurangi redudansi yang ada dan menghilangkan anomaly. Perancangan melalui proses normalisasi mempunyai keuntungan-keuntungan sebagai berikut :
1.     Meminimalkan ukuran penyimpanan yang diperlukan untuk penyimpanan data.
2.     Meminimalkan resiko inkonsistensi data pada basis data.
3.     Meminimalkan kemungkinan anomaly pembaruan.
4.     Memaksimalkan stabilitas struktur data.
PROBLEM PADA RELATION YANG SUDAH  DI NORMALISASI
1.     Performance problem
Masalah terhadap performa database
2.     Referential Integrity Problem
Masalah yang timbul terhadap referensi antar data-data diantara dua tabel atau lebih
BEBERAPA KONSEP YANG HARUS DIKETAHUI:
1.     Field/ Atribut Kunci
2.     Kebergantungan Fungsi
ATRIBUT KEY
ada beberapa key field atau atribut key dalam database:
1.     Kunci Calon (Candidat key)
Kunci calon adalah salah satu rangkaian yang mempunyai nilai unik untuk membedakan atau mengidentifikasi nilai-nilai kombinasi yang unik diantara semua kejadian yang spesifik dari entetitas.
2.     Kunci Utama (Primary Key)
Kunci utama adalah atribut merupakan kunci calon yang telah dipilih untuk mengidentifikasi setiap record secara unik. Kunci utama harus merupakan atribut yang benar-benar unik dan tidak boleh ada nilai NULL. Kunci utama adalah suatu nilai dalam basis data yang digunakan untuk mengidentifikasi suatu baris dalam table.
3.     Kunci Alternatif (Alternate Key)
Kunci Alternatif adalah kunci alternatif yang tidak terpilih. Misal : dalam suatu entitas terdapat dua atribut yang bisa dijadikan sebagai kunci. Sementara yang boleh dijadikan kunci hanya satu, maka anda harus memilih salah satu. Atribut yang dipilih, disebut kunci utama.
4.     Kunci Tamu (Foreign Key)
Jika sebuah kunci utama terhubungan ke tebel lain, maka keberadaan kunci utama pada tersbut di sebut sebagai kunci tamu. Kunci tamu adalah Sebuah kumpulan atribut dalam satu relasi yang digunakan untuk me“refer” (menunjuk) ke suatu baris (tuple) pada relasi yang lain (harus berkorespondensi dengan kunci utama pada relasi yang kedua), seperti: ‘logical pointer’.
5.     Kunci Komposit (Composite key)
Dalam desain basisdata, kunci komposit adalah kunci yang terdiri dari 2 atau lebih atribut yang secara unik mengidentifikasi suatu kejadian entitas. Setiap atribut yang membentuk kunci senyawa adalah kunci sederhana dalam haknya sendiri.
6.     Kunci Sekunder (Secondary Key)
Kunci sekunder adalah sebuah atribut atau kombinasi yang digunakan hanya untuk tujuan pengambilan data.
KEBERGANTUNGAN KUNCI
1.     Ketergantungan Fungsional (Fungsional Dependent) Keterkaitan antar hubungan antara 2 atribute pada sebuah relasi. Dituliskan dengan cara : A -> B, yang berarti : Atribute B fungsionality Dependent terhadap atribute A atau Isi (value) atribute A menentukan isi atribute B Definisi dari functional dependent : Diketahui sebuah relasi R, atribute Y dari R adalah FD pada atribute X dari R ditulis R.X -> R.Y jika dan hanya jika tiap harga X dalam R bersesuaian dengan tepat satu harga Y dalam R.
2.     Fully Functionaly Dependent (FFD)
Suatu rinci data dikatakan fully functional dependent pada suatu kombinasi rinci data jika functional dependent pada kombinasi rinci data dan tidak functional dependent pada bagian lain dari kombinasi rinci data. Definisi dari FDD: Atribute Y pada relasi R adalah FFD pada atribute X pada relasi R jika Y FD pada X tida FD pada himpunan bagian dari X Contoh: PersonID,Project,Project_budget time_spent_byperson_ onProject (bukan FFD) PersonID, Project time_spent_byperson_onProject (FDD).
3.     Ketergantungan Partial
          Sebagian dari kunci dapat digunakan sebagai kunci utama.
4.     Ketergantungan Transitif
Menjadi atribute biasa pada suatu relasi tetapi menjadi kunci pada relasi lain.
5.     Determinan
Suatu atribute (field) atau gabungan atribute dimana beberapa atribute lain bergantung sepenuhnya pada atribute tersebut.
BENTUK NORMAL
Aturan-aturan normalisasi dinyatakan dengan istilah bentuk normal. Bentuk normal adalah suatu aturan yang dikenakan pada relasi-relasi dalam basis data
dan harus dipenuhi oleh relasi-relasi tersebut pada evel-level normalisasi.
Beberapa level yang biasa digunakan pada normalisasi
adalah:
·        Bentuk normal pertama (1NF)
·        Bentuk normal kedua (2NF)
·        Bentuk normal ketiga (3NF)
·        Bentuk normal Boyce-Codd (BCNF)
·        Bentuk normal keepat (4NF)
·        Bentuk Normal kelima (5NF)



Sumber

Selasa, 10 April 2018

MYSQL ANALISA KASUS PERPUSTAKAAN SMART


ANALISA KASUS PERPUSTAKAAN SMART
Perpustakaan Smart adalah perpustakaan umum yang anggotanya pelajar, mahasiswa dan masyarakat yang didirikan oleh Walikota Jakarta Barat. Keberadaan perpustakaan berlokasi di Walikota yang aplikasi pelayanan masih bersifat tradisional.
Prosesnya :
1.     Setiap calon anggota yang akan menjadi anggota harus mengisi formulir dengan biaya administrasi Rp.10.000,-
2.     Anggota dapat meminjam buku maksimal 3 buku
3.     Untuk masa peminjaman selama 1 minggu (7 hari)
4.     Keterlambatan pengembalian dikenakan denda sesuai dengan kondisi denda, diantaranya:
a.     Denda keterlambatan pengembalian dikenakan biaya administrasi Rp.500 perharinya (bukti surat denda terlampir)
b.     Denda Buku perpustakaan rusak maka dikenakan biaya
c.      revisi buku perpustakaan(biaya ini dikenakan setelah buku diperbaiki).(bukti surat denda terlampir)
d.     Denda Buku Hilang, maka dikenakan biaya penggantian seharga buku tersebut.(bukti surat denda terlampir)
e.      Perpustakaan smart dapat menerima sumbangan dari donatur statusnya (anggota atau masyrakat luas)


CARA MENGERJAKANNYA MYSQL MENGGUNAKAN COMMAND PROMPT


Sebelum mengerjakan di command prompt terlebih dahulu buka aplikasi XAMPP, lalu klik start pada MSQL (baris ke dua) kemudian buka Command Promptnya.