NORMALISASI
Normalisasi adalah suatu proses untuk mengubah suatu tabel yang memiliki masalah tertentu ke dalam dua buah tabel atau lebih, yang tidak lagi memiliki masalah tersebut (Abdul Kadir, 2002: 52). Masalah tersebut biasanya merupakan suatu ketidakkonsistenan (tidak normal) apabila dilakukan penghapusan (delete), pengubahan (update) dan pembacaan (retrieve) pada suatu basis data.
Bentuk normalisasi adalah suatu aturan yang dikenakan pada tabel-tabel dalam basis data dan harus dipenuhi oleh tabel-tabel tersebut pada level-level normalisasi. Ada macam-macam bentuk normalisasi, diantaranya adalah bentuk tidak normal, bentuk normal pertama, bentuk normal kedua dan bentuk normal ketiga.
Aturan-aturan dalam masing-masing bentuk normalisasi tersebut adalah sebagai berikut (Abdul Kadir, 2002: 54) :
- a. Bentuk tidak normal
Bentuk ini merupakan kumpulan data yang akan disimpan, tidak ada keharusan mengikuti suatu format tertentu, dapat saja data tidak lengkap atau terduplikasi dan data dikumpulkan apa adanya.
- b. Bentuk normal pertama
Suatu tabel dikatakan dalam bentuk normal pertama (1NF) bila setiap kolom bernilai tunggal untuk setiap baris. Ini berarti bahwa nama kolom yang berulang cukup diwakili oleh sebuah nama kolom (tidak perlu ada indeks dalam memberi nama kolom).
- c. Bentuk normal kedua
Suatu tabel berada dalam bentuk normal kedua (2NF) jika tabel berada dalam bentuk normal pertama, semua kolom bukan kunci primer tergantung sepenuhnya terhadap kunci primer. Suatu kolom disebut tergantung sepenuhnya terhadap kunci primer jika nilai pada suatu kolom selalu bernilai sama untuk suatu nilai kunci primer yang sama.
- d. Bentuk normal ketiga
Suatu tabel berada dalam bentuk normal ketiga (3NF) jika tabel berada dalam bentuk normal kedua, setiap kolom bukan kunci primer tidak memiliki ketergantungan secara transitif terhadap kunci primer.
Normalisasi : Teknik/pendekatan yang digunakan dalam membangun disain lojik database relasional melalui organisasi himpunan data dengan tingkat ketergantungan fungsional dan keterkaitan yang tinggi sedemikian sehingga menghasilkan struktur tabel yang normal.
Tujuan :
- Minimalisasi redundansi (pengulangan data)
- Memudahkan identifikasi entitas
- Mencegah terjadinya anomali
Beberapa bentuk normal (normal forms, NF) :
- 1NF, 2NF, 3NF, BCNF
based on keys and functional dependencies
- 4NF, 5NF
based on keys and multi-valued dependencies)
First Normal Form (1NF)
- Suatu relasi disebut memenuhi bentuk normal pertama (1NF)
jika dan hanya jika setiap atribut dari relasi tersebut hanya memiliki
nilai tunggal dan tidak ada pengulangan grup atribut dalam baris.
- Bentuk 1NF tidak boleh mengandung grup atribut yang berulang.
- Tujuan membentuk 1NF :
::. semantik tabel menjadi lebih eksplisit (say anything once).
::. semua operator aljabar relasional dapat diaplikasikan pada tabel.
contoh 1
normalkan
contoh 2
normalkan
Suatu relasi disebut memenuhi bentuk normal kedua (2NF)jika
1. memenuhi 1NF
2. setiap atribut yang bukan kunci utama tergantung secara fungsional terhadap semua atribut kunci dan bukan hanya sebagian atribut kunci (fully functionally dependent).
-Untuk normalisasi ke bentuk 2NF, maka tabel 1NF didekomposisi
-menjadi beberapa tabel yang masing-masing memenuhi 2NF.
-Bila terdapat ketergantungan parsial maka : eliminate.
Tujuan membentuk 2NF :
1. semantik tabel 2NF menjadi lebih eksplisit (fully FD)
2. mengurangi update anomali yang masih mungkin terjadi pada 1NF
Contoh :
Diketahui tabel R=(A,B,C,D,E) ; A,B kunci utama (primary key)
dengan FD : A,B & C,D,E maka tabel R memenuhi 2NF sebab :
A,B & C,D,E berarti :
A,B &C,
A,B & D dan
A,B & E
Jadi semua atribut bukan kunci utama tergantung penuh pada (A,B).
Bagaimana bila R = (A,B,C,D,E) tetapi dengan FD :
(A,B) & (C,D) dan B & E. Apakah memenuhhi 2NF ?
Jelas bahwa R bukan 2NF karena ada atribut E yang bergantung
hanya pada atribut B saja dan bukan terhadap (A,B).
Dari FD : (A,B) à (C,D) juga mencerminkan bahwa hanya C dan D saja yang bergantung secara fungsional terhadap (A,B), tidak untuk E.
Jadi bukan 2NF.
Untuk mengubah menjadi 2NF, lakukan dekomposisi menjadi :
R1 = (A,B,C,D) dan R2 = (B,E). Tampak R1 dan R2 memenuhi 2NF.
TIPE DATA PADA DATABASE
Untuk memulai pemograman ataupun pembutan database sangat penting mengetahui tipe data. Ini adalah syarat mutlak agar data / variable yang kita simpan valid dan efisien.setiap bahasa pemograman atau database mepunyai tipe data sendiri-sendiri tapi pada prinsipnya sama.
pada prinsipnya ada 4 jenis data yaitu:
a.Tipe Numerik
b.String
c.Date dan Time
e.Default Value
Tipe data selalu di gunakan untuk menentukan jenis data dari suatu field dalam sebuah tabel.Terdapat sepuluh jenis data dalam database yang di sediakan Ms Acces, yaitu
Auto Number
Menapilkan angka secara otomatis di mulai dari angka 1,dan di lanjutkan dengan angka 2,3,4 dan seterusnya
Currenci
Menampung data digit,tanda minus,tanda titik, dan desimal 15 digit di sebelah kiri tanda titik desimal dan 4 digit sebelah kanan titik desimal
Date / Time
Menampung data tanggal,waktu,dan tahun di mulai dari seratus sampai dengan 9999.
Hyperlink
Menampung data teks berwarnya,bergaris bawah,dan grafik.
Attachment
yaitu, tipe data yang digunakan untuk menyimpan alamat attachment file yang berformat apa saja, (bebas, bisa file suara,gambar, dll )
Memo
Menampung data teks (Huruf,Bilangan,Tanda Baca,Dan Simbol Grafik) Sebanyak 65535 karakter. Tipe ini tidak dapat di indeks.
Number
Menapung digit,tanda mines,dan titik desimal.Tipe ini memiliki lima ukuran bilangan dan jumlah digit.
OLE object
Menampung foto/grafik, rekaman suara dan video spreadsheet.
Teks
Menampung data teks,(Huruf,Angka,Dan Simbol Grafik) sebanyak 255 karakter.Standar karakter terpasang sebesar 50 karakter.
Yes/No
Menampung salah satu dari dua yang ada Yes/No,True/False,dan On/Off.
Selain 10 data type di atas, ada 2 fasilitas tambahn khusus untuk field di dalam mickrosoft access, yakni:
1. Calculated, yaitu fasilitas yang berguna untuk menghitung operasi matematika antara field yang 1 dengan field yang lainnya.
misalnya kita bisa menjumlahkan field A dengan field B , dll
2.Lookup Wizard, yaitu fasilitas combo box (list) yang di buat secara wizard sehingga kita dapat memilih (Lookup) suatu data dari daftar pada tabel lainnya.
Perintah-Perintah Dalam SQL
PENGERTIAN SQL
SQL (Structured Query Lguage) merupakan subbahasapemograman yang khusus dipergunakan untuk memanipulasi basis data. SQL adalah salah satu DBMS (Databasemanajemen system) yang saat ini banyak digunakan untuk operasi basis data danembedded (ditempelkan) dihampir semua bahasa pemogramanyang mendukung basis data rasional.
Saat ini organisasi standar America (ANSI) menetapkan standarSQL yaitu : ANSI-92 standar masing-masing vendor database memiliki diaglegnya sendiri sebagian besar spesifikasinya mengacu padastandar ANSI tersebut dengan berbagai ekstensitambahan SQL. SERVER menggunakan bahasa transact-SQ dalam produknya, sedangkan Oracle menggunakan PL/SQL.
Ada 3 Jenis Perintah SQL yaitu DLL, DML, DCL :
1. DDL atau data definition laguage
DDL merupakan bagian dari SQL yang digunakan untuk mendefinisikan data dan proyek database. perintah digunakan untuk mendefinisikan suatu proyek yaitu, membuat, mengubah menghapus dan memberikan izin.
Beberapa perintah pada SQL yang termasuk DDL :
Crate Table untuk membuat tabel
Crate Index untuk membuat index
Crate View untuk mengubah atau menyisipkan kedalam tabel
Drop table untuk menghapus table
Drop index untuk menghapus index
Drop view untuk menghapus view
Grant untuk memberi izin akses kepada user
2. DML (Data Mnipulation Laguage)
DML Merupakan bagian dari SQL yang digunakan untuk memanipulasi data.perintah-perintah ini bertugas untuk melakukan query dan perusahaan yang dilakukan dalam suatu tabel.
beberapa perintah SQL yang termasuk DML, seperti :
Select digunakan untuk nmemilih data dari suatu tabel atau view
Insert digunakan untuk menyisipkan baris dari suatu tabel
Delete digunakan untuk menghapus barisan dari suatu tabel
Update digunakan untuk mengubah isi dari kolom (field) pada suatu tabel
Commit digunakan untuk menuliskan perubahan didalam disk
Rollback digunakan untuk membatalkan perubahan yang dilakukan setelah perintah commit
3. DCL atau Data Control Laguage
DCL merupakan perintah SQL yang berhubungan dengan pengaturan hak akses user MySQL, baik terhadap server, database, tabel maupun field. perintah SQL yang termasuk SQL antara lain :
Grant perintah ini digunakan untuk memberikan hak/ izin akses oleh administrator pemilik utama server pada user prngguna biasa). hak akses tersebut berupa hak membuat (CRATE) mengambil (SELECT), menghapus (DELETE) , mengubah (UPDATE) da hak khusus berkenan dengan sistem databasenya.
SINTAKS : GRANT, privileges ON tbnameTO user
CONTOH : grant select, update, insert, delete on perpustakaan.
Revoke perintah ini memiliki kegunaan terbaik dengan GRAND, yaitu untuk menghilangkanatau mencabut hak akses yang telah diberikankepada user kepada administrator.
SINTAKS : REVOKE privileges ON tbnameTO user
CONTOH : grant select, update, insert, delete on perpustakaan.
TUGAS 1 (Pengertian Database, Aplikasi berbasis File, Sistem Menajemen Database)
1. PENGERTIAN DATABASE
Data merupakan suatu objek kejadian atau fakta yang terdokumentasikan dengan memiliki kodifikasi terstruktur untuk suatu atau beberapa entitas.
Sedangkan Base adalah sebuah program yang bekerja pada lingkungan basis data pada office base, dengan fasilitas-fasilitas yang disediakan anda dapat dengan cepat dan mudah bekerja pada lingkungan basis data selain itu anda juga dapat menggunakan base untuk membuat file tabel mendefinisikan fieled, mengisi rekord serta untuk membuat file basis data dan menyimpan file basis data.
Jadi Database adalah kumpulan informasi yang disimpan didalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari data tersebut.
2. APLIKASI BERBASIS FILE
Aplikasi berbasis file merupakan sumber daya yang berharga, karena dapat digunakan untuk menghasilkan informasi. pada kenyataanya basis file tidak di akses secara langsung, akan tetapi dilakukan dengan menggunakan aplikasi, dengan ata lain aplikasi basis data merupakan pintu masuk kedalam sumber daya basis file.
Beberapa komponen sistem aplikasi berbasis file:
a. Perangkat keras, yaitu diperlukan untuk menjalankan SMBD. pada umumnya aplikasi basis file tidak memerlukan perangkat keras khusus. aplikasi basis file umumnya berbagi perangkat keras.
b. Program yaitu, untuk mendukung berbagai aplikasi bais file yang diperlukan perangkat lunak berupa program komputer. aplikasi memerluka SMBD dan sistem operasi, selain itu banyak aplikasi memerlukan satu atau lebih program aplikasi.
c. Data yaitu, untuk aplikasi basis data itu sendiri. basis data berisi : data sumber, meta data, kamus data, dan overhead data.
d. Prosedur yaitu, pemakai dan staf operasi memerlukan prosedur yang menjelaskan bagaimana sistem dijalankan.
e. Orang, yang terakaot basis file di kelompokan sebagai beikut: clientele adalah orang untuk siapa sistem dikembangkan, Pemakai ialah sistem untuk memenuhi kebutuhan bisnis, Personal aplikasi mereka yag menjalankan komputer dan peralatan-peralatan yang berhubungan terdiri dari: perasi komputer, personalia, data kontrol, dan operator data entry.
3. SISTEM MENAJEMEN DATABASE
Sistem Menajemen Database atau Database Menajement System(DBMS)adalah suatu sistem software yang memungkinkan seorang use mendefinisikan, membuat dan memelihara serta menyediakan akses terkontrol terhadap data. secara logika dan memeliki beberapa arti yang saling berpautan.
DBMS yang utuh biasanya terdiri dari:
a.Hardwere merupakan sistem komputer actual yang di gunakan untuk menyimpan database.
b.Softwerw beserta untility, adalah DBMS yang aktual memungkinkan para user untuk berkomunikasi dengan database.
c.Prosedur adalah, sekumpulan prosedur yang mengontrol jalannya sistem, yaitu praktik-praktik yang harus di ikuti user untuk mendapatkan, memasukkan, menjagam dan mengambil data.
d.Data adalah jantung dari DBMNS ada dua jenis data,pertama adalah kumpula informasi yang diperlukan oleg suatu organisasi. jenis data kedua adalah meta data yaitu informasi mengebai database.
e.User ada sebjumlah user yang dapat mengakses atau sesuai data kebutuhan pengguna aplikasi-aplikasi dan interfase yang disediakan oleh DBMS .
Macam-Macam DBMS
1.MySQLMy
SQL merupakan sebuah perangkat lunak system manajemen basis data SQL atau DNMS yang multhitreal multi-user, dengan sekitar 6 juta instalansi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public Licenci (GPL) . tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaanya tidak cocok dengan penggunaan GPL. Tidak seperti Apache yang merupakan softwer yang dikembangkan oleh komunitas umum, dan cipta untuk code sumber dimiliki dan disponsori oleh sebuah perusahaan komersial swedia yaitu, MySQL AB.MySQL AB memegang penuh hak ciptahampir atas semua kode sumbernya kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah : David axmark, allan larsson dan Michael "montly widenius"
Kelebihan MySQL Antara lain :
a. free (bebas didownload)
b. stabil dan tangguh
c. fleksibel dengan berbagai pemograman
d. security yang baik
e. dokumen dari banyak komunitas
f. kemudahan management database
g. mendukung transaksi
h. perkembangan softwer yang cukup cepat
2. ORACLE
Oracle Adalah relational database menagement sistem (RDBMS) untuk mengelola informasi secara terbuka, komprehensif dan terintegrasi. Oracle server menyediakan solusi yang yang efisien dan efektif karena kemampuannya dalam hal sebagai berikut :
Kelebihan Dan Kekurangan Oracle :
fleksibilats adalah kemampuan untuk menyesuaikan diri dengan berbagai kebutuhan dan kondisi khusus yang dapat berubah-ubah. sebagai contoh, organisasi yang besar membutuhkan server yang terdistribusi dan memiliki redundancy sehingga pelayanan bisa diberikan secara cepat dan tidak terganggu jika ada server yang mati. organisasi tersebut juga mempunyai berbagai macam aplikasi yang dibuat dengan beragam macam pemograman dan berjalan diberbagai platfrom yang berbeda. oracle memiliki banyak sekali fitur yang dapat memenuhi tuntutan fleksibilitas dari organisasi bedar tersebut.
3. Firebird
Open source dimotori oleh para developer interbase6.x open source. jika pernah mengunakan produk-produk RDBMS. eperti ms-SQL serveroracle DB2. informix dan lain-lain kita tidak akan kesulitan dalam mengenal Firebird. banyak orang menggunakan produk RDBMS yang sudah populer dab harganya pun sabgat mahal sehingga banyak yan ingin belajar harus mencari versi bajakan dari produk terdebut untuk bisa belajar.
Kemampuan dan kelebihan Firebird:
A. firebird support dengan transaksi layaknya database pada komersial lainnya. sebuah transaksi bisa di commit atau di-rollback dengan mudah bahkan firebird support dengan save point pada suatu transaksi dan kita bisa melakukan rollback kembali kesave point yang kita tentukan tadi ( ini mirip fasilitas pada oracle)
b. firebird menggunakan sitaks standard untuk menciptakan suatu foreign key.
c. firebird support row level locks. secara default firebird mengunakn apa yang disebut dengan multi version conccurency system. yang berarti semua session pada database akan melihat data yang lama sampai data yang sudah dicommit kedalam database.
d.firebird support stored procedure dan tiggers dengan bahasa yang standar sehingga tidak akan membigungkan bagi anda yang ingin belajar.
e.firebird support stored procedure
f. firebird bisa melakukan replikasi, solusi untuk replikasi kebanyakan dibuat oleh pihak ketiga, tetapi sebenarnya teknik replikasi ini seperti konsep tigger yang selalu memonitor adanya operasi insert, update atau delete kedalam database.
4. Microsoft SQL Server 2000
microsoft sql adalah perangkat lunak relational database manajemen sistem yang di dedesainmanipulasi database berukuran besar dengan berbagai fasilitas. microsoft sql server 2000 merupakan proses andalan microsoft untuk database server. kemampuannnya dalam manajemen data dan kemudahan dalam mengoperasikannya membuat RDBMS ini menjadi pilihan para database admistrator.
DBMS merupakan suatu sistem perangkat lunak memungkinkan user (pengguna) untuk membuat, memelihara, mengontrol, dan mengakses database secara praktis dan efisien. Dengan DBMS user akan lebih muda mengotrol dan memanipulasi data yang ada. sedangkan RDBMS atau relationship database management system merupakan salah satu jenis DBMS yang mendukung adanya relationship atau hubungan antar table. RDBMS adalah perangkat lunak untuk membuat dab mengelola database, atau sering juga disebut sebagai database egine.istilah RDBMS database server-software dan database egine mengacu kehal yang sama.
5. Visual foxpro 6.0
Model data yang digunakan visual foxpro 6.0 yaitu model rasional. model rasional merupakan model yang paling sederhana sehingga mudah di pahami oleh pengguna, serta merupakan paling populer saat ini. model ini menggunakan sekumpulan tabel derdimensi dua (yang disebut realsi atau table), dengan masing-masing relasi tersususun tupek atau baris atau atribut. Relasi dirancang sedemikian rupa sehingga dapat menghilangkan kemubajiran data dan menggunakan kunci tamu untuk berhubungan dengan relasi lain.