14
1. Pengertian Database Sekelompok data yang terintegrasi.Data yang disimpan dapat disebut basis data apabila dilakukan pengaturan/pemilahan/pengelompokkan/pengorganisasian terhadap data tersebut sesuai dengan jenis/fungsinya.DBMS (Data Base Management System) Perangkat lunak yang menangani semua pengaksesan ke data base. Keunggulan DBMS : Suatu DBMS dapatmemperkecilpemborosan data, mengijinkankemudahanmemperbarui file, memaksimalkanintegritas data danindevendence, menyederhanakanpemeliharaan, meningkatkanproduktivitaspemakaidankeamanan data, sertamenstandardisasidefinisi data Kekurangan : DBMS adalahkompleks; perencanaanmatangdansubstansialdiperlukansejumlahkeahlianteknisuntukimplemen tasidanmemeliharasistem Biayaberkaitandenganpengembangandanoperasidari corporate DBMS menjadisubstansialsepertiperangkatlunakdanperangkatkerasdidapat, tenagadukunganteknis, dantenagaoperasional Konsolidasidarikeseluruhansumberdayainformasibisniskedalam DBMS dapatmenciptakansifatmudahrusak yang lebihtinggi. Jikaterjadibencanaalam, kebarakan, ataubahkanperangkatkerasatauperangkatlunakbermasalahdapatmenyebabkanhilangnya file database Struktur Database : 1. Data adalah satu satuan informasi yang akan diolah 2. Fieldadalah atribut yang dimiliki suatu tabel 3. Record adalah isian data yang dimiliki oleh tabel Fungsi Database : 1. Data definition Mengolah pendefinisian data 2. Data manipulation Menangani permintaan client untuk mengakses data 3. Data security and integrity Memeriksa keamanan dan integriti data 4. Data recovery and concurrency Menangani kegagalan pengaksesan database 5. Data dictionary Tempat penyimpanan informasi 6. Performance

database

Embed Size (px)

DESCRIPTION

database

Citation preview

Page 1: database

1. Pengertian Database

Sekelompok data yang terintegrasi.Data yang disimpan dapat disebut basis data apabila dilakukan pengaturan/pemilahan/pengelompokkan/pengorganisasian terhadap data tersebut sesuai dengan jenis/fungsinya.DBMS (Data Base Management System) Perangkat lunak yang menangani semua pengaksesan ke data base.

Keunggulan DBMS :

Suatu DBMS dapatmemperkecilpemborosan data, mengijinkankemudahanmemperbarui file, memaksimalkanintegritas data danindevendence, menyederhanakanpemeliharaan, meningkatkanproduktivitaspemakaidankeamanan data, sertamenstandardisasidefinisi data

Kekurangan :

DBMS adalahkompleks; perencanaanmatangdansubstansialdiperlukansejumlahkeahlianteknisuntukimplementasidanmemeliharasistem

Biayaberkaitandenganpengembangandanoperasidari corporate DBMS menjadisubstansialsepertiperangkatlunakdanperangkatkerasdidapat, tenagadukunganteknis, dantenagaoperasional

Konsolidasidarikeseluruhansumberdayainformasibisniskedalam DBMS dapatmenciptakansifatmudahrusak yang lebihtinggi. Jikaterjadibencanaalam, kebarakan, ataubahkanperangkatkerasatauperangkatlunakbermasalahdapatmenyebabkanhilangnya file database

Struktur Database :

1. Data adalah satu satuan informasi yang akan diolah

2. Fieldadalah atribut yang dimiliki suatu tabel

3. Record adalah isian data yang dimiliki oleh tabel

Fungsi Database :

1. Data definition

Mengolah pendefinisian data

2. Data manipulation

Menangani permintaan client untuk mengakses data

3. Data security and integrity

Memeriksa keamanan dan integriti data

4. Data recovery and concurrency

Menangani kegagalan pengaksesan database

5. Data dictionary

Tempat penyimpanan informasi

6. Performance

Menangani unjuk kerja dari semua fungsi

Operasi Dasar Database

Dalam sebuah basis data dapat ditempatkan satu atau lebih file/tabel. Pada tiap file/tabel inilah data disimpan/ditempatkan. Setiap basis data umumnya mewakili sebuah semesta data yang spesifik. Misalnya basis data kepegawaian, basis data akademik, dan sebagainya. Dalam basis data akademik misalnya, kita dapat menempatkan file mahasiswa, file nilai, file kehadiran, file jawdal, file mata_kuliah, file dosen, dan seterusnya.Operasi-operasi dasar yang dapat dilakukan dalam basis data dapat meliputi:

Page 2: database

Create Database, pembuatan basis data yang baru. Drop Database, penghapusan basis data. Create Table, pembuatan file/tabel baru ke suatu basis data. Drop Table, penghapusan file/tabel baru ke suatu basis data. Insert, penambahan/pengisian data baru ke sebuah file/tabel di sebuah basis data. Retrieve/search, pengambilan/pencarian dari sebuah file/tabel di sebuah basis data. Update, pengubahan data dari sebuah file/tabel di sebuah basis data. Delete, penghapusan data dari sebuah file/tabel di sebuah basis data.

Operasi-operasi yang berhubungan dengan pembuatan objek (basis data dan tabel) yang hanya dilakukan sekali dan berlaku seterusnya merupakan operasi awal. Sedangkan operasi-operasi yang berkaitan dengan isi tabel (data) yang akan berlangsung berulang-ulang merupakan operasi rutin.

Selain bertujuan untuk memperoleh kembali data (yang dicari) dengan mudah dan cepat, pemanfaatan basis data juga memiliki tujuan-tujuan lain seperti berikut ini:

Kecepatan dan kemudahan (Speed)

Memungkinkan kita untuk dapat menyimpan atau menampilkan data tersebut dengan cepat dan mudah.

Efisiensi Ruang Penyimpanan (Space)

Efisiensi/optimalisasi dalam penggunaan ruang penyimpanan dapat dilakukan, dengan melakukan penekanan jumlah redundansi data dengan menerapkan sejumlah pengkodean atau membuat relasi-relasi (dalam bentuk file) antar kelompok data yang saling berhubungan.

Keakuratan (Accuracy)

Pengkodean atau pembentukan relasi antar data bersama dengan penerapan aturan/batasan (constraint) tipe data, domain data, keunikan data, dan sebagainya, yang secara ketat dapat diterapkan dalam sebuah basis data, berguna untuk menekan ketidakakuratan pemasukan/penyimpanan data.

Ketersediaan (Availability)

Karena kepentingan sebuah pemakaian data, sebuah basis data dapat memiliki data yang disebar di banyak lokasi geografis. Dengan pemanfaatan teknologi jaringan komputer, data yang berada disuatu lokasi/cabang, dapat juga diakses (menjadi tersedia/available) bagi lokasi/cabang lain.

Kelengkapan (Completeness)

Lengkap tidaknya suatu data yang kita kelola dalam sebuah basis data bersifat relatif (baik terhadap kebutuhan pemakai maupun terhadap waktu). Dalam sebuah basis data, disamping data kita juga harus menyimpan struktur (baik yang mendefinisikan objek-objek dalam basis datamaupun definsi detail dari tiap objek, seperti struktur file/tabel atau indeks). Untuk mengakomodasi kebutuhan kelengkapan data yang semakin berkembang, tidak hanya dapat menambahkan record-record data, tetapi juga dapat melakukan perubahan struktur dalam basis data, baik dalam bentuk penambahan objek baru (tabel) atau dengan penambahan field-field pada suatu tabel.

Keamanan (Security)

Menentukan siapa-siapa (pemakai) yang boleh menggunakan basis data beserta objek-objek didalamnya dan menentukan jenis-jenis operasi apa saja yang boleh oleh pemakai tersebut..

Kebersamaan Pemakai (Sharibility)

Pemakai basis data seringkali tidak terbatas pada satu pemakai saja, atau di satu lokasi saja atau oleh satu sistem/aplikasi saja. Basis data dapa digunakan oleh banyak pemakai, misalnya oleh sejumlah departemen dalam perusahaan atau oleh banyak sistem seperti sistem penggajian, sistem akuntansi, sistem inventori, dan sebagainya).  Untuk memenuhi tujuan harus dikelola oleh sistem (aplikasi) yang mendukung lingkungan multiuser

Page 3: database

2. ER dan ERDTigajenisumumstruktur/kelompok databaseadalah: 1. Hirarkis: padastruktur database hirarkis, ruasataurekoddiaturdalamkelompok yang berhubunganmenyerupai ranting

pohon2. Jaringan: database jaringanhampirsamadenganhirarkis, tetapimasing-

masinganakrekoddapatmemilikiinduklebihdarisaturekod3. Relasional: Jenispengorganisasian yang paling fleksibel, database relasionalmenghubungkan data di dalam file

berbedamelaluipenggunaansuaturuaskunci, atauelemen data umum

Entiti relational diagram adalah pemodelandari basis data relasional yang didasarkanataspersepsi di dalamdunianyata1. Entitas : Objekutama yang akandisimpan2. Atribut : Deskripsidariobjek yang bersangkutan3. Relasi : Hubunganantaraduaentitas yang ada

Kardinalitas Entitas :Jumlahmaksimumentitas, dimanaentitastersebutdapatberelasidenganentitaspadahimpunanentitas yang lain. 1. Satu - satu ( One to one )

Suatuentitas di dalamhimpunanentitas A dihubungkandengan paling banyaksatuentitas di dalamhimpunanentitas B, danentitas di dalamhimpunanentitas B dihubungkandengan paling banyaksatuentitasdalamhimpunanentitas A.

2. Satu – banyak ( One to many )Suatuentitas di dalamhimpunanentitas A dihubungkandenganlebihdarisatuentitas di

dalamhimpunanentitas B, danentitas di dalamhimpunanentitas B hanyadapatdihubungkandengan paling banyaksatuentitasdalamhimpunanentitas A. 

3. Banyak – satu ( Many to one )Suatuentitas di dalamhimpunanentitasAdihubungkandengan paling banyaksatuentitas di

dalamhimpunanentitas B, danentitas di dalamhimpunanentitas B dapatdihubungkandenganlebihdarisatuentitasdalamhimpunanentitas A.

4. Banyak – banyak ( Many to many )Suatuentitas di dalamhimpunanentitasAdapatdihubungkandenganlebihdarisatuentitas di

dalamhimpunanentitas B, danentitas di dalamhimpunanentitas B dapatdihubungkandenganlebihdarisatuentitasdalamhimpunanentitas A.

3. NormalisasiMemberikanpanduan yang sangatmembantubagipengembanguntukmencegahpenciptaanstrukturtabel yang

kurangataumengurangiketidak-efisienan.Tujuan :

4. Untukmenghilangkankerangkapan data5. Untukmengurangikompleksitas6. Untukmempermudahpemodifikasian data

Proses Normalisasi : Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat.Apabila tabel yang diuji belum memenuhi persyaratan tertentu,maka tabel tersebut perlu dipecah menjadi beberapa tabel yanglebih sederhana sampai memenuhi bentuk yang optimal.

Kriteria tabel efisien

1. Jikaadadekomposisi(penguraian) tabel, makadekomposisinyaharusdijaminaman(Lossless-Join Decomposition). Artinya, setelahtabeltsbdiuraikan/didekomposisimenjaditabel-tabelbarubisamenghasilkantabelsemuladengansamapersis.

2. Terpeliharanyaketergantunganfungsionalpadasaatperubahan data (Dependency Preservation).3. Tidakmelanggar Boyce-Code Normal Form (BCNF) (-akandijelaskankemudian-)

Bentuk-bentuk Normalisasi :

Page 4: database

1. Bentuk Normal Pertama (1NF)

Setiap data disajikan dalam bentuk flat file (tabular/tabel) Seluruh atribut kunci terdefinisikan Tidak ada pengulangan group pada tabel Semua atribut bergantung pada kunci primer (PK) Bentuk normal 1NF terpenuhi jika sebuah table tidak memiliki atribut bernilai banyak (multivalued attribute),

atribut composite atau kombinasiny adalam domain data yang sama. Setiap atribut dalam table tersebut harus bernilai atomic (tidak dapat dibagi-bagi lagi)

Tabel mahasiswa di tsb tidak memenuhi syarat 1NF

Tabel mahasiswa Tabel hobi

2. Bentuk Normal Kedua (2NF) Bentuk normal 2NF terpenuhidalamsebuahtabeljikatelahmemenuhibentuk 1NF, dansemuaatributselain

primary key, secarautuhmemiliki Functional Dependency pada primary key Sebuahtabeltidakmemenuhi 2NF, jikaadaatribut yang ketergantungannya (Functional Dependency)

hanyabersifatparsialsaja (hanyatergantungpadasebagiandari primary key) Jika terdapat atribut yang tidak memiliki ketergantungan terhadap primary key, maka atribut tersebut harus

dipindah atau dihilangkan Functional dependencynya sbb:

Mhs_nrp mhs_nama mhs_alamat mk_kode mk_nama mk_sks nihuruf

Tidakmemenuhi 2NF, karena {Mhs_nrp, mk_kode} yang dianggapsebagai primary key sedangkan:{Mhs_nrp, mk_kode} à mhs_nama{Mhs_nrp, mk_kode} à mhs_alamat{Mhs_nrp, mk_kode} à mk_nama{Mhs_nrp, mk_kode} à mk_sks{Mhs_nrp, mk_kode} à nihuruf

Mhs_nrp, mk_kode} ànihuruf (fd1)Mhs_nrp à {mhs_nama, mhs_alamat} (fd2)Mk_kode à {mk_nama, mk_sks} (fd3)

fd1 (mhs_nrp, mk_kode, nihuruf) àTabelNilaifd2 (Mhs_nrp, mhs_nama, mhs_alamat) èTabelMahasiswafd3 (mk_kode, mk_nama, mk_sks) èTabelMataKuliah

3. Bentuk normal ketiga (3NF)\ Sudahberadadalambentukkeduadan Tidakmengandungdepedensitransitif

Page 5: database

Bentuk normal 3NF terpenuhijikatelahmemenuhibentuk 2NF, danjikatidakadaatributnon primary key yang memilikiketergantunganterhadapatributnon primary key yang lainnya.

Untuksetiap Functional Dependency dengannotasi X à A, maka:

Nrp Nama Alm_Jalan Alm_Kota Alm_Provinsi Alm_Kodepos

Tabel tsb memenuhi 2F namun tdk 3F

karenamasihterdapatatributnon primary key (yaknialm_kotadanalm_Provinsi) yang memilikiketergantunganterhadapatributnon primary key yang lain (yaknialm_kodepos):

alm_kodeposà {alm_Provinsi, alm_kota} tabel tsb di dekomposisi:

Mahasiswa (Nrp, nama, alm_jalan, alm_kodepos)Kodepos (alm_kodepos, alm_provinsi, alm_kota)

4. Bentuk Normal Boyce-Codd (BCNF) BCNF adalahkasuskhusus 3NF. Bentuk BCNF terpenuhidalamsebuahtabel, jikauntuksetiapfunctional

dependencyterhadapsetiapatributataugabunganatributdalambentuk: X à Y makaX adalahsuper key tabeltersebutharus di-dekomposisiberdasarkanfunctional dependency yang ada, sehingga X menjadisuper key

daritabel-tabelhasildekomposisi Setiaptabeldalam BCNF merupakan 3NF. Akan tetapisetiap 3NF belumtentutermasukBCNF .Perbedaannya,

untuk functional dependency X à A, BCNF tidakmembolehkanAsebagaibagiandari primary key. Sebuahtabel/relasiberadadalambentuk BCNF jika:

a. Setiappenentu (determinan) padatabeladalahsebuahkuncikandidat (candidate key)b. Jikatabelhanyamengandungsatukuncikandidatmakabentuk 3NF samadengan BCNF.

5. Bentuk Normal Tahap Keempat(5NF) Bentuk normal 4NF terpenuhidalamsebuahtabeljikatelahmemenuhibentuk BCNF,

dantabeltersebuttidakbolehmemilikilebihdarisebuahmultivalued atribute Untuksetiapmultivalued dependencies (MVD) jugaharusmerupakanfunctional dependencies

Setiap employee dapatbekerja di lebihdari project dandapatmemilikilebihdarisatu skill. Untukkasussepertiinitabeltersebutharus di-dekomposisimenjadi:(Employee, Project) dan (Employee, Skill)

6. Bentuk Normal Kelima (5NF) Bentuk normal 5NF terpenuhijikatidakdapatmemilikisebuahlossless decomposition menjaditabel-

tabelyglebihkecil. Jika 4 bentuk normal sebelumnyadibentukberdasarkanfunctional dependency, 5NF

dibentukberdasarkankonsepjoin dependence. Yakniapabilasebuahtabeltelah di-dekomposisimenjaditabel-tabellebihkecil, harusbisadigabungkanlagi (join) untukmembentuktabelsemula

4. SQL

Berdasarkanfungsinya, bahasa basis data (SQL/Query) dibagimenjadi 3 komponenutama, yaitu:

1. DDL (Data Definiton Language)DDL merupakan bagian dari system manajemen database. Dipakai untuk mendefinisikan dan mengatur semua atribut dan property dari sebuah database. Bentuk umum pernyataan DDL adalah :a. CREATE nama_objek

Digunakanuntukmembuat table, database, dll.

Page 6: database

Contoh :membuat table mahasiswadengantigabuahkolom, nama,nim, danalamat.b. Alter nama_objek

Perintah Alter digunakan untuk menambah ataupun membuang kolom dan konstrain.c. DROP nama_objek

Digunakanuntukmenghapusataumembuangsegalamacamperintah yang telahdibuat.

Create Tableuntuk Membuat TabelCreate Indexuntuk Membuat IndexCreate ViewuntuknMembuat ViewAlter Tableuntuk Mengubah atau menyisipkan ke dalam tabelDrop Tableuntuk Menghapus TabelDrop Indexuntuk Menghapus IndexDrop Viewuntuk Menghapus ViewGrantuntuk Memberi izin akses kepada user

2. DCL (Data Control Language)DCL dipakaiuntukmengontrolhak-hakpadaobjek-objekdatabase.Perintah yang digunakanadalah

GRANT memberikan kendali pada pengaksesan data REVOKE mencabut kemampuan pengaksesan DENY

3. DML (Data Manipulation Language)Digunakanuntukmenampilkan, menambah, mengubah, danmenghapus data di dalamobjek-objekyangdidefinisikanoleh DDL. Perintah-perintahpadaDML :

Select diigunakan untuk memilih data dari suatu tabel atau viewInsert digunakan untuk Menyisipkan baris dari suatu tabelDelete digunakan untuk Menghapus baris dari suatu tabelUpDate digunakan untuk Mengubah isi dari kolom (field) pada suatu tabelCommit digunakan untuk Menuliskan perubahan ke dalam diskRollback dingunakan untuk Membatalkan perubahan yang dilakukan setelah perintah 

Tipe Data Di SQLTipe data yang didukungoleh SQL Server adabeberapajenis, di antaranya: Numeric, Datetime,

Varchardanbeberapatipe data lain. Berikutpenjelasanmasing-masingtipe data secaraumum yang seringdigunakan:

1.Char

Tipe data ini mendefinisikan nilai string. Tipe data ini bisa menerima hingga 8000 karakter, dan jumlah bytes yang dibutuhkan tergantung jumlah karakter yang dimasukkan yaitu 1 karakter membutuhkan 1 bytes, sehingga jika mendefinisikannya seperti berikut : char(5) maka field tersebut hanya bisa menerima karakter sebanyak 5 buah karakter dengan space yang dibutuhkan untuk menyimpan data pada harddisk sebanyak 5 bytes. Jika panjangnya diabaikan maka nilainya default 1.

2.Datetime

Berisi tanggal dan waktu dengan length sesuai dengan format date time pada server dengan format YYYY-MM-DD hh:mm:ss dan range antar “1000-01-01 00:00:00” sampai “9999-12-31 23:59:59”. Tipe data ini dapat menerima nilai tanggal dan waktu mulai dari 1 Januari 1753 hingga 31 Desember 9999. Tipe data ini menghabiskan 8 bytes untuk menyimpan data pada harddisk dan tingkat ketelitian(akurasi) adalah 3.33 milidetik.

3.Decimal

Tipe data ini mendefinisikan pecahan. Tipe data ini menggunakan 2 parameter untuk menentukan tingkat presisi nilai yang diterima yaitu precision dan scale. Precision adalah jumlah digit yang bisa diterima oleh field, sedangkan scale adalah jumlah angka di belakang koma yang bisa diterima oleh field. Jadi jika kita membuat

Page 7: database

parameter precision sebanyak 5 dan scale sebanyak 2 maka field kita bisa menerima nilai seperti ini : 123,45. Tipe data ini menghabiskan 5-17 bytes untuk menyimpan data pada harddisk.

4.Int

Tipe data Int atau Integer mendefinisikan bilangan pecahan yaitu –231(-2,147,483,648) sampai 231-1(2,147,483,647) atau 0 sampai 232-1 . Tipe data ini menghabiskan 4 bytes untuk menyimpan data pada harddisk.

5.Varchar

Tipe data ini mirip dengan tipe data char, namun tipe data ini berguna apabila tidak mengetahui secara pasti jumlah karakter yang akan dimasukkan oleh user. Tipe data ini juga bisa menerima nilai hingga 8000 karakter. Jadi jika diabaikan maka nilainya default 1.

5.Implemetasi RDBMS dengan menggunakan Access

a) Nama Database

Dalam hal ini saya akan membangun Relasional antar tabel yang saling terintegrasi pada database yang diberi

nama database “HOTEL”.adapun tabel-tabel yang akan di isi dan direlasikan adalah tabel Karyawan,tabel

Pengunjung,tabel Kamar,Tabel Fasilitas dan tabel Pemesanan.

b) Field Name dan Data Type masing-masing Tabel

1.Tabel Karyawan 2.Tabel Pengunjung

3.Tabel Fasilitas 4.Tabel Kamar

Page 8: database

5.Tabel Pemesanan

c) Pengisian data pada Query masing-masing Tabel

Setelah Field name dan Data type nya ditentukan maka langkah selanjutnya adalah mengisi data pada field-field

tadi dengan Mengklik Menu Fiew->Datasheet View kemudian akan muncul tampilan tabel berdasarkan field yang

ditentukan dan lakukan pengisian sesuai dengan field-field tersebut.Adapun tampilan masing-masing tabel yaitu:

Tabel Karyawan

Tabel Pengunjung

Tabel Fasilitas

Tabel Kamar

Page 9: database

Tabel Pemesanan

d)Relationship antar tabel

Untuk menentukan hubungan Relasi dari masing-masing tabel dapat dilakukan dengan langkah-langkah sebagai

berikut:

1. Click tab Database Tools pada jendela

2. Click Relationship pada ribbon Show/Hide

3. Kemudian akan muncul tab Relationship pada object tab dan kotak dialog Show Table, kemudian pilih tab Tables.

4.Click masing-masing tabel lalu click buttonAdd ,kemudianhubungkan KD_PENGUNJUNG,KD_KAMAR,KD_KARYAWAN

dari masing-masing tabel ke Tabel PEMESANAN.

Dan juga KD_FASILITAS dari tabel fasilitas ke KD_FASILITAS di tabel KAMAR.

5. Kemudian akan muncul kotak dialog Edit Relationship. Click checkbox Enforce Referential Integrity, lalu click button

Create.

6. Setelah Click button create, muncul relasi tabel seperti gambar dibawah ini.

Page 10: database

e)Membuat Form

Form adalah komponen utama yang terintegrasi secara khusus dan berfungsi sebagai :

1. Menginputkan data

2. Mengedit dan menampilkan data

3. Mengontrol application flow

4. Mencetak informasi

Langkah – langkah untuk membuat form :

1. Click tab Create pada jendela

2. Click More Form pada ribbon Forms, kemudian pilih Form Wizard. Sehingga akan muncul kotak dialog Form Wizard.

3. Memilih tabel yang atribut-atributnya akan digunakan.dalam contoh ini digunakan tabel pemesanan.

4. Click >atau >> untuk memilih atribut-atribut yang akan ditampilkan dalam form.

5. Memilih bentuk layout form kemudian click next.

6. Memilih style form kemudian click next.

7. Kemudian simpan form dengan nama Laporan Pemesanan, lalu click finish. Lalu akan muncul

tampilan Form View sbb :

Page 11: database

8. Untuk mengatur tampilan form dapat dilakukan pada tampilan Design View. Click tab Home, kemudian pada ribbons

Views click Design View.