• Tidak ada hasil yang ditemukan

Anomali Penghapusan (Delete Anomaly)

Dalam dokumen DATABASE DASAR WITH XAMPP (Halaman 37-54)

Anomali Penghapusan terjadi apabila ada suatu tupel yang tidak terpakai dihapus mengakibatkan adanya data lain yang hilang.

Contoh relasi yang menimbulkan anomali penghapusan. Tabel Kursus

No Siswa Nama Siswa Nama Kursus Biaya

001 Ali Bahasa Inggris 100000

002 Budi Bahasa Jerman 150000

003 Iwan Bahasa Mandarin 120000

004 Arief Bahasa Inggris 100000

005 Putri Bahasa Jepang 175000

Masalahnya?

Masalah :

Seandainya data siswa dengan No Siswa 005 yang bernama Putri dihapus (dikarenakan data tersebut tidak digunakan lagi maka recordnya akan dihapus) maka mengakibatkan data yang menyatakan bahwa biaya kursus bahasa Jepang sebesar 175000 juga akan terhapus.

Redundansi (Redundancy)

 Munculnya data yang berulang kali pada suatu tabel/relasi yang semestinya tidak diperlukan

 Kerangkapan data dapat terjadi :  Kerangkapan data dalam satu file.  Kerangkapan data dalam beberapa file.

NORMALISASI

Apa itu Normalisasi?

 Normalisasi adalah proses pembentukan struktur basis data sehingga sebagian besar

ambiguity bisa dihilangkan.

 Tahap Normalisasi dimulai dari tahap paling ringan (1NF) hingga paling ketat (5NF)

 Biasanya hanya sampai pada tingkat 3NF atau BCNF karena sudah cukup memadai untuk menghasilkan tabel-tabel yang berkualitas baik.

Alasan utama dari normalisasi database minimal sampai dengan bentuk normal ketiga

adalah :

 Insertion anomalies  Deletion anomalies  Update anomalies

Normalisasi Basis Data

 Sebuah tabel dikatakan baik (efisien) atau normal jika memenuhi 3 kriteria sbb:

1. Jika ada dekomposisi (penguraian) tabel, maka dekomposisinya harus dijamin aman (Lossless-Join

Decomposition). Artinya, setelah tabel

tersebut diuraikan / didekomposisi menjadi tabel-tabel baru, tabel-tabel baru tersebut bisa menghasilkan tabel semula dengan sama persis.

2. Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation).

3. Tidak melanggar Boyce-Code Normal Form (BCNF)

 Jika kriteria ketiga (BCNF) tidak dapat terpenuhi, maka paling tidak tabel tersebut

tidak melanggar Bentuk Normal tahap ketiga (3rd Normal Form / 3NF).

Suatu tabel dikatakan berada dalam BCNF jika untuk semua KF dengan notasi x y, mk x harus mrp superkey pada tabel tsb, jika tidak mk tabel harus didekomposisi bdskn KF yg ada shg X mjd superkey.

Bentuk-bentuk Normal

1. Bentuk Normal Tahap Pertama (1st Normal Form / 1NF)

2. Bentuk Normal Tahap Kedua (2nd Normal Form / 2NF)

3. Bentuk Normal Tahap (3rd Normal Form / 3NF)

4. Boyce-Code Normal Form (BCNF)

5. Bentuk Normal Tahap (4th Normal Form / 4NF)

6. Bentuk Normal Tahap (5th Normal Form / 5NF)

Bentuk Normal Tahap Pertama (1st Normal Form / 1NF)

 Bentuk normal 1NF terpenuhi jika sebuah tabel tidak memiliki atribut bernilai banyak (multivalued attribute), atribut composite atau kombinasinya dalam domain data yang sama.

 Setiap atribut dalam tabel tersebut harus bernilai atomic (tidak dapat dibagi-bagi lagi)

Bentuk Normal Tahap Kedua (2nd Normal Form)

 Bentuk normal 2NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk 1NF, dan semua atribut selain primary key, secara utuh memiliki Functional Dependency pada primary key

 Sebuah tabel tidak memenuhi 2NF, jika ada atribut yang ketergantungannya (Functional

Dependency) hanya bersifat parsial saja (hanya tergantung pada sebagian dari primary key)

 Jika terdapat atribut yang tidak memiliki ketergantungan terhadap primary key, maka atribut tersebut harus dipindah atau dihilangkan

Bentuk Normal Tahap Ketiga (3rd Normal Form /3NF)

 Bentuk normal 3NF terpenuhi jika telah memenuhi bentuk 2NF, dan jika tidak ada atribut non primary key yang memiliki ketergantungan terhadap atribut non primary

key yang lainnya.

 Untuk setiap Functional Dependency dengan notasi X  A, maka:

 X harus menjadi superkey pada tabel tsb.

 Atau A merupakan bagian dari primary key pada tabel tsb.

Boyce-Code Normal Form (BCNF)

 Bentuk BCNF terpenuhi dalam sebuah tabel, jika untuk setiap functional dependency terhadap setiap atribut atau gabungan atribut dalam bentuk: X  Y maka X adalah super

key

 tabel tersebut harus di-dekomposisi berdasarkan functional dependency yang ada, sehingga X menjadi super key dari tabel-tabel hasil dekomposisi

 Setiap tabel dalam BCNF merupakan 3NF. Akan tetapi setiap 3NF belum tentu termasuk BCNF . Perbedaannya, untuk functional dependency X  A, BCNF tidak membolehkan A sebagai bagian dari primary key.

Bentuk Normal Tahap Keempat (4th Normal Form /4NF)

 Bentuk normal 4NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk BCNF, dan tabel tersebut tidak boleh memiliki lebih dari sebuah multivalued atribute

 Untuk setiap multivalued dependencies (MVD) juga harus merupakan functional

dependencies

Bentuk Normal Tahap Keempat (5th Normal Form /5NF)

 Bentuk normal 5NF terpenuhi jika tidak dapat memiliki sebuah lossless decomposition menjadi tabel-tabel yg lebih kecil.

 Jika 4 bentuk normal sebelumnya dibentuk berdasarkan functional dependency, 5NF dibentuk berdasarkan konsep join dependence.

KEAMANAN

Keamanan Pada Perancangan Basisdata

 Ketika kita meletakkan basisdata pada web, dia menjadi mudah diserang oleh hacker dan penjahat lainnya dari luar organisasi yang akan merusak atau mencuri data. Bayangkan bahwa gaji semua orang, data personalia, atau data rahasia perusahaan lainnya ditampilkan kepada umum melalui website. Bahkan dari dalam perusahaan sendiri dapat terjadi seorang pegawai merusak sistem ketika mereka dipecat.

 Kemungkinan terjadinya gangguan dari orang-orang baik dalam maupun luar organisasi harus dilawan. Masalah yang lebih besar dapat terjadi ketika orang-orang dalam perusahaan harus menanggulangi kemungkinan kesalahan yang tak disengaja. Menghapus atau menimpa suatu file data, menghapus tabel atau mengupdate kolom

secara tidak benar dengan tidak sengaja, dapat menimbulkan masalah seperti yang ditimbulkan oleh hacker. Oleh karena itu keamanan harus direncanakan dengan baik dan diintegrasikan dalam basisdata.

 Basisdata seharusnya tidak hanya menyediakan data pada pengguna tapi juga menyediakan proteksi pada data tersebut.

Lalu siapa yang berhak mengakses suatu data?

 Ada beberapa kategori pengguna untuk setiap sistem informasi, mulai dari pengguna akhir sampai administrator sistem informasi. Pengguna yang mempunyai akses untuk sistem informasi adalah sebagai berikut:

• Pengguna akhir • Pelanggan • Manajemen

• Administrator jaringan • Administrator sistem

• Administrator basisdata • Pemilik skema

Tingkat akses?

 Pengguna basisdata diberi identitas pengguna dengan password dan kemampuan untuk berhubungan dengan

basisdata.

 Basisdata modern membutuhkan keputusan tentang perancangan yang berhubungan dengan identitas pengguna dan password. Keamanan digunakan untuk mengontrol akses. Pengguna mempunyai akses ke baik data maupun sumberdaya, keduanya dapat dikontrol pada tingkatan basisdata.

 Apabila pengguna diberi identitas pengguna, mereka dapat mengakses basisdata secara langsung kedalam jaringan melalui aplikasi client-server. Mereka juga dapat log in

melalui aplikasi middle tier untuk mengakses basisdata. Sebagai contoh, pengguna dapat log in ke server aplikasi web yang mempunyai banyak pengguna web yang log in ke server tersebut. Server aplikasi web kemudian berkomunikasi dengan basisdata dengan cara log in dengan menggunakan identitas pengguna yang mempunyai akses minimum yang dibutuhkan untuk menyelesaikan pekerjaan yang sedang dikerjakan oleh aplikasi web.

PRAKTIKUM

Baik, karena disini kita akan langsung praktik, saya singgung sedikkit lagi masalah software yang sering digunakan dalam membuat suatu database kantoran, yaitu MS.Access, adalah software buatan Microsoft yang ada dalam paketan „MS.Office‟, ya kita secara otomatis mendapatkan software ini ketika kita menginstal MS.Office, karena aplikasi ini buatan Microsoft yang jelasnya aplikasi ini berbayar, jadi jika kalian bisa mendapatkan aplikasi ini secara gratis di situs-situs web yang menyediakan key nya, harusnya kalian sadar jika tindakan itu adalah illegal dan jika kalian adalah pembaca tulisan saya ini itu berarti kalian adalah orang yang berpendidikan yang secara otomatis harusnya kalian tahu jika tindakan illegal dapat dikenakan hukuman, jadi segeralah bertomat… eh salah bertobat…..

Aplikasi selanjutnya ada banyak sih… tapi saya mau langsung aja menuju aplikasi yang tidak

berbayar, aplikasi yang saya kenal semenjak saya duduk di bangku smk dan sampai saat tulisan ini saya buatpun saya masih setia dengan si doi… MySQL, yang akan saya bahas dalam tulisan ini adalah mysql yang terdapat di paketan Xampp, yap ketika kalian mengistall Xampp maka kalian akan mendapatan Apache sebagai server dan MySQL sebagai database. Xampp adalah sebuah paket kumpulan software yang terdiri dari apache, mysql, phpmyadmin, php, Perl, Freetype2,dll. Xampp berfungsi untuk memudahkan instalasi lingkungan php, di mana biasa nya lingkungan pengembangan web memerlukan php, apache, mysql dan phpmyadmin serta software-software yang terkait dengan pengembangan web. Dengan menggunakan xampp, kita tidak perlu menginstall aplikasi-aplikasi tsb satu persatu.

MySQL adalah salah satu jenis database server yang sangat terkenal. MySQL menggunakan

bahasa SQL untuk mengakses database nya. Lisensi Mysql adalah FOSS License Exception dan ada juga yang versi komersial nya. Tag Mysql adalah “The World's most popular open source database”. MySQL tersedia untuk beberapa platform, di antara nya adalah untuk versi windows dan versi linux.

Sebelum masuk dalam praktikum, dalam database ada banyak tipe-tipe data, ya ada banyak dan kalian harus tahu tentang itu.

Dalam dokumen DATABASE DASAR WITH XAMPP (Halaman 37-54)

Dokumen terkait