Disusun Oleh :
Anggi Pratiwi (21110319)
Siti Nurhayati (21110805)
Lulu Fitriani (21110791)
Naufal ghani Al Rapi (21110279)
Syukur alhamdulillah kami ucapkan ke hadirat Allah SWT, yang telah melimpahkan
rahmat serta karunia-Nya sehingga kami dapat menuntaskan makalah Sistem Basis Data yang
berjudul “Basis Data Perancangan Dan Implementasi Basis Data yang Menggunakan Web Dan
Visual Studio”.
Makalah ini dibuat dalam rangka memenuhi tugas yang diberikan dosen untuk memahami
perihal perencanaan dengan harapan mendapatkan manfaat serta melakukan apa yang telah
menjadi tugas mahasiswa.
Kami menyadari bahwa makalah ini tentu masih banyak kekurangannya. Oleh karena itu
kami mengharapkan saran, kritik, serta masukan – masukan dari para pembaca demi
kesempurnaan makalah ini. Harapan kami semoga makalah ini bisa bermanfaat dan berguna bagi
para pembaca umumnya serta ilmu pengetahuan khususnya.
DAFTAR ISI
i
KATA PENGANTAR................................................................................................................................................i
DAFTAR ISI.............................................................................................................................................................ii
BAB I..........................................................................................................................................................................1
PENDAHULUAN......................................................................................................................................................1
1.1 Latar Belakang..................................................................................................................................................1
1.2 Tujuan...............................................................................................................................................................1
BAB II........................................................................................................................................................................2
PEMBAHASAN........................................................................................................................................................2
2.1 Konsep Dasar Basis Data (Database)................................................................................................................2
2.2 Basis Data Relational & Perancangan Basis Data............................................................................................3
Basis Data relational...................................................................................................................................................3
Relational Keys...........................................................................................................................................................4
Integrity Constraints....................................................................................................................................................4
2.3 Penjelasan Jenis Model Data Pada Sistem Basis Data......................................................................................5
2.4 Entity Relationship Diagram (ERD).................................................................................................................7
2.5 Teknik Normalisasi...........................................................................................................................................8
2.6 Teknik Normalisasi Lanjutan............................................................................................................................8
2.7.Bahasa Query Formal......................................................................................................................................10
2.8 Structured Query Language (SQL).................................................................................................................14
2.9 Bahasa Query Terapan....................................................................................................................................15
2.10 Basis Data Terdistribusi................................................................................................................................16
BAB III.....................................................................................................................................................................18
PENUTUP................................................................................................................................................................18
3.1 Kesimpulan.....................................................................................................................................................18
3.2 Saran................................................................................................................................................................18
DAFTAR PUSTAKA..............................................................................................................................................19
ii
BAB I
PENDAHULUAN
1.1 Latar Belakang
Basis data adalah kumpulan informasi yang disimpan didalam komputer secara sistematik sehingga dapat
diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari database tersebut. Perangkat
lunak yang digunakan untuk mengolah dan mengambil kueri (query) basis data disebut sistem manajemen basis
data.
Pemrosesan basis data sebagai perangkat andalan sangat diperlukan oleh berbagai institusi dan perusahaan.
Dalam pengembangan sistem informasi diperlukan basis data sebagai media penyimpanan data. Kehadiran basis
data dapat meningkatkan Daya saing perusahaan tersebut. Basis data dapat mempercepat upaya pelayanan kepada
pelanggan, menghasilkan informasi dengan cepat dan tepat sehingga membantu pengambilan keputusan untuk
segera memutuskan suatu masalah berdasarkan informasi yang ada.
1.2. Tujuan
Memahami masalah-masalah operasional yang ada dalam pendekatan file datar terhadap manajemen data,
yang melahirkan konsep basis data. Memahami relasi di antara elemen-elemen yang membentuk lingkungan basis
data. Memahami relasi di anomali-anomali yang disebabkan oleh basis yang tidak dinormalisasi dan kebutuhan
akan normalisasi basis data. Mengetahui tahap-tahap dalam desain basis data, termasuk identifikasi konseptual,
pemodelan data, kontruksi basis data fisik, dan penyiapan pandangan pengguna. Mengetahui fitur-fitur
operasional dari basis data terdistribusi dan mengenal isu-isu yang perlu diperhatikan dalam memutuskan
konfigurasi basis data tertentu.
1
BAB II
PEMBAHASAN
Adalah himpunan kelompok data/kumpulan data yang saling berhubungan secara logis dan deskripsinya,
yang disimpan secara bersama sedemikian rupa dan dirancang untuk memenuhi kebutuhna informasi organisasi.
Contoh Penggunaan Basis Data pada aplikasi: aplikasi pengolahan nomor telepon, aplikasi pembayaran gaji
perusahaan, dll.
Tujuan basis Data :
- Prinsip utamanya adalah pengaturan data/arsip.
- Tujuannya utamanya adalah kemudahan dan kecepatan dalam pengambilan data/arsip.
Merupakan sistem yang terdiri atas kumpulan tabel data yang saling berhubungan dan sekumpulan
program (DBMS) yang memungkinkan beberapa pemakai program lain untuk mengakses dan manipulasi tabel-
tabel tersebut.
Mempunyai komponen-komponen sebagai berikut:
- DATA
Komponen terpenting dari lingkungan DBMS (dari sudut pandang pengguna akhir). Basis data berisi data
operasional dan metadata, "data tentang data".
- SOFTWARE
Perangkat lunak yang diguakan dalam suatu system bais data. Pengolahan basis data secara fisik tidak dapat
dilakukan pemkai secara langsung tetapi ditangani oleh sebuah perangkat lunak khusu yang disebut (DBSM).
- HARDWARE
Perangkat keras dalam suatu system basis data, dimana mempunya komponen utama berupa CPU, Storage Unit,
dll.
- PROCEDURES
Merujuk pada intruksi dan aturan yang mengatur desain dan penggunaan basis data.
- PEOPLE
Komponen terakhir adalah orang-orang yang terlibat dengan sistem (manusia).
Terdiri dari:
- Data Admiistrator adalah seseorang yang bertugas untuk merancang logical dan concepyual dari database,
contohnya mengelola sumber data dan merancang pembuatan database.
- Database Administrator adalah seseorang yang bertugas untuk melakukan implementassi terhadap dtabase dan
melakukan realisasi database fisik. Tugasnya juga mencakup kontrol keamanan dan integritas database.
- Database Designer adalah sesorang yang bertugas untuk mendisain database. Tugas database desaigner dibagi
menjadi dua, yaitu:
1. Merancang Desain Conceptual/logical Database, yaitu mengidentifikasi entitas, artibut, dan hubungan diantara
keduanya serta memberika batasan.
2. Merancang desain database secara fisik, yaitu memutuskan bagaimana logical database design terealisasi
secara fisik, dengan memetakan logical database design menjadi tabel-tabel yang teringreritas.
- Application Programer adalah seseorang yang bertugas untuk membuat program aplikasi untuk mengakses
database.
- End-User merupakan sebuah piranti lunak dengan kemampuan C++ Visual Basic, Delphi,Java serta bahasa
pemograman lainnya yang digunakan sesuai kebutuhan.
2
Cara berinteraksi antara pemakai dengan basis data diatur dalam suatau bahasa yang ditetapkan oleh
DBMS. Dua bentuk bahasa yaitu, DDL (Data Definition Language) dan DML (Data Manipulation Language).
Keuntungan DBMS
-konsistensi data
-lebih banyak informasi dari jmlah data yang sama
-sharing data
-peningkatan integrasi data
-peningkatan keamanan atau standar layanan
Kekurangan DBMS
-komplesitas
-ukuran
-biaya DBMS
-biaya perangkat keras tambahan dan konversi teknologi
-peforma
-dampak kegagalam yang besar
Adalah basis data yang mempersentasikan data dalam bentuk tabel-tabel, dimana tabel tersebut
dihubungkan oleh nilai-nilai yang sama pada kolom terkait.
komponen penyusun basis data:
- Tabel
Tabel memiliki nama dan terdiri atas baris dan kolom bisa disebut juga relational atau file. Tabel pada suatu basis
data tidak boleh memiliki nama yang sama.
- Kolom/Artibut
Nama lain kolom adalah Field atau Artibut. Kolom yang terdapat dalam suatu tabel tidak boleh memiliki nama
yang sama. Urutan nama boleh sembarang dan tidak mememngaruhi makna dari tabel.
- Domain
Adalah sekumpulan nilai-nilai yang dapat disimpan pada satu atau lebih kolom. Sebuah domain bisa dimiliki
beberapa kolom, tetapi kolom hanya memiliki satu domain. karena domain membatasi dan mengatur nilai yang
dapat disimpan maka disebut domain constraint.
- Baris
Disebut juga dengan record atau tuple. Baris berisikan data dari sebuah objek, pada sebuah tabel harus unik, dapat
diletakan dalam urutan bebas dan tidak mempengaruhi makna dari tabel itu.
- Relational Keys
Adalah identifikasi satu atau sekelompok kolom yang nilainya dapat membedakan secara unik.
- Superkey
adalah suatu kelompok kolom yang nilainya secara unik membedakan tuple-tuple pada suatu tabel.
3
- Candidate Key
adalah superkey dimana tidak ada satupun himpunan bagian dari superkey tersebut menjadi superkey lagi dan
tidak semua superkey menjadi candidate key. Candidate key terdiri dari dua kolom atau lebih disebut sebagai
composite key.
- Primary Key
adalah (satu) candidate key yang dipilih (diantara candidate ke lain) untuk membedakan tuple-tuple secara unik
dalam tabel. Jika dalam suatu tabel hanya terdapat satu candidate key, maka key tersebut menjadi primary key.
Jika terdapat lebih dari satu candidate key maka salah satu bisa dijadikan primary key.
- Altenate Key
- Foreign Key
adalah satu atau kelompok kolom yang nilainya sama atau terkait dengan candidate key pada tabel lain atau sama.
adalah informasi dasar yang mendeskripsikan tabel yang terdiri atas nama tabel dan sekumpulan pasangan
domain.
Contoh: Skema Tabel Anggota
Tabel anggota (kode anggota, nama)
adalah sekumpulan skema tabel dengan masing-masing tabel memiliki nama yang berbeda
Contoh: Skema Basis Data Perpustakaan
Tabel anggota (kode anggota, nama)
Tabel buku (kode buku, judul, stok buku)
Tabel prminjaman (kode pinjam, tgl pinjam, kode buku)
Integrity Constraints
adalah domain yang dapat membatasi dan mengatur nilai. Terdapat empat contraints/batasan lain yang
menjaga intergritas data yang disimpan pada basis data.
- Null
adalah nilai pada suatu kolom masih belum diketahui. Ini berarti nilai tersebut tidak dapat diterapkan pada kolom.
Namun null tidak sama dengan nilai numerik nol atau string "-", nol dan spasi adalah nilai, tetapi null menunjukan
tidak adanya nilai.
- Entity Integrity
adalah batasan atau aturan yang menyatakan bahwa kolom-kolom primary key tidak boleh menyimpan null.
- Referential Integrity
adalah batasan yang menyatakan jika suatu tabel memiliki kolom foreign key maka nilai pada foreighn key
tersebut harus sesuai dengan nilai kolom candidate key dan jika tidak demikian maka foreign key dapat dituliskan
null.
4
- General Constraints
adalah batasan/aturan tambahan yang ditetapkan oleh pemakai atau administrator basis data sesuai aturan yang
ada pada suatau organisasi.
Perancangan Basis Data
proses pembangunan basis data terdiri dari dua tahapan utama:
adalah tahapan pemetaan model dari dunia nyata menggunakan notasi perancangan basis data tertentu serta
pembuatan deskripsi implementasi basis data.
Tahapan analisis dan perancangan dibagi menjadi tiga, yaitu:
- Perancangan basis data secara konsep
merupakan pembuatan data model dan tidak bergantung pada seluruh aspek fisik basis data.
- Perancangan basis data secara logis
merupakan proses pembuatan data model berdasarkan data model tertentu, tetapi tidak bergantung pada DBSM
dan implementasi fisik data.
- Perancangan basis data secara fisik
merupakan proses pembuatan deskripsi implementasi basis data pada media penyimpanan skunder.
- Tahapan Implementasi
Tahapan ini menimplementasikan rancangan basis data yang telah dibuat. Implementasi menggunakan aplikasi
klien yang disediakan oleh DBSM terpilih.
Model Data dapat dikatakan sebagai kumpulan perangkat yang merupakan suatu cara konseptual untuk
menggambarkan dan menjelaskan data, hubungan data, sematik data dan batasan data yang tersimpan dalam basis
data dan bagaimana hubungan antar data untuk digunakan para pemakai secara logik yang terintergrasi di dalam
suatu organisasi. Berdasarkan jenisnya, model data dibagi menjadi tiga jenis, antara lain yaitu :
Jenis model data berbasis obyek merupakan himpunan data dan prosedur atau relasi yang menjelaskan hubungan
logik antar data dalam suatu basis data berdasarkan pada obyek data. Pada jenis model ini terdiri dari beberapa
bagian yaitu, Entity Relationship Model, Semantic Model dan Binary model.
Entyty relationship model atau model data keterhubungan antar entitas yaitu menjelaskan hubungan antar data
dalam sistem basis data berdasarkan suatu presepsi bahwa real world dari obyek-obyek dasar yang mempunyai
hubungan relasi antara obyek-obyek tersebut. Model entity relationship ini pertama diperkenalkan oleh Peter
Chen pada tahun 1976.
Entity Relationship model berisi ketentuan atau aturan khusus yang harus dipenuhi oleh isi database. Aturan
terpenting aalah Mapping Cardinslities, yang menentukan jumlah entity yang dpat dikaitkan dengan entity lainnya
melalui relationship-set.
Elemen-elemen yang digunakan dalam Entity Relationship menggunakan simbol simbol flow dibawah ini:
5
• Semantic Model
Pada dasarnya semantic Model memiliki arti yang hampir sama denga entity relationship model. Hanya perbedaan
yang tampak pada relasi objek dasar yang tidak dinyatakan dengan simbol melainkan meggunakan kata-kata
(semantic). Contohnya pada gambar diatas. Tanda panah menunjukkan adanya relasi antar entity, sedangkan garis
lurus menunjukkan atribut/unsur dari entity.
• Binary Model
Binary model adalah model data yang memperluas definisi dari entity, bukan hanya atribute-atributenya, tetapi
juga tindakan-tindakan.
Relasi memiliki tiga tipe biner, yaitu:
1. One-to-one (1:1). Hubungan terjadi bila setiap instansi entitas hanya memiliki satu hubungan dengan instansi
entitas lain.
2. One-to-many (1:M). Relasi ini terjadi bila setiap instansi dapat memiliki lebih dari satu hubungan terhadap
instansi entitas lain tetapi tidak kebalikannya.
3. Many-to-many (M:N). Hubungan saling memiliki lebih dari satu dari setiap instansi entitas terhadap instansi
entitas lainnya.
Pada jenis model data berbasis record yaitu himpunan data dan prosedur atau relasi yang menjelaskan hubungan
logik antar data dalam suatu basis data model yang didasarkan pada record. Pada jenis model data ini terdapat
beberapa bagian yaitu, Hierarchycal model, Network model, Relational model.
• Hirarki Model
Hirarki model biasa juga disebut tree structure (Struktur Pohon), hubungan bertingkat. Dalam model ini elemen-
elemen penyusunnya disebut node. Dapat berupa rincian data, agregat data, dan record.
Istilah-istilah yang biasa digunakan dalam Model Hirarki
⇒ Root: node yang memiliki kedudukan paling tinggi dalam hirarki
⇒Parent : node yang memiliki kedudukan lebih tinggi
⇒ Child : node yang memiliki kedudukan lebih rendah
⇒ Leaves: node yang tidak mempunyai child.
• Network Model
Mirip dengan hirarki model, dimana data dan hubungan antar data direpresentasikan dengan record dan links.
Perbedaannya terletak pada susunan record dan linknya yaitu network model menyusun record-record dalam
bentuk graph. Sebuah child dapat mempunyai lebih dari satu parent.
• Relational Model
Representasi dalam bentuk tabel yang terdapat sejumlah Bratis yang menunjuk record dan kolom yang menunjuk
atribut.
Model ini banyak digunakan dalam pemodelan dan perancangan Basis Data. Konsep dan terminologi yang
digunakan mirip dengan kondisi real yang dihadapi oleh pemkai sehingga mudah dipahami.
6
Pada jenis model data berbasis fisik digunakan untuk menguraikan data di tingkat internal atau menjelaskan
kepada pemakai bagaimana data-data dalam basis data disimpan dalam media penyimpanan secara fisik. Model
ini jararang digunakan karena kerumitan dan kompleksitasnya yang justru menyulitkan pemakai. Pada model ini
terdapat beberapa bagian antara lain: Unifying model dan frame memory.
ERD atau entity relationship diagram adalah istilah dari bahasa Inggris yang artinya diagram hubungan
entitas. ERD pun sering disebut dengan model ER atau ER Diagram.
Sederhananya, entity relationship diagram adalah salah satu jenis diagram yang sifatnya lebih struktural dan bisa
digunakan untuk dimanfaatkan dalam suatu desain pada suatu database ataupun pada sebuah business plan.
Selain itu, terdapat banyak sekali komponen yang menjadikan entity relationship diagram, seperti konektor dan
juga simbol yang berbeda-beda. Nantinya, komponen ini akan melakukan visualisasi pada dua informasi yang
dianggap penting.
Informasi pertama adalah entitas utama yang terdapat di dalam ruang lingkup suatu sistem. Sedangkan untuk
informasi kedua adalah hubungan yang terdapat di berbagai entitas itu sendiri.
Berdasarkan penjelasan ini, mungkin sebagian dari Anda sudah bisa memahami sistem entity relationship diagram
ini, karena di dalamnya hanya mencerminkan hubungan antar setiap entitas saja.
Saat kita membahas tentang entitas di dalam entity relationship diagram, maka umumnya entitas yang dimaksud
adalah suatu objek yang berhubungan dengan bisnis. Nah, objek ini bisa berwujud ataupun berbentuk benda
seperti produk barang ataupun bentuk tidak berwujud lainnya seperti entry log, dan lain-lain.
Lalu, entity relationship diagram adalah tentang bagaimana cara entitas tersebut bisa saling berhubungan antara
yang satu dengan yang lainnya di dalam suatu sistem.
1. Entitas
Entitas adalah sekumpulan objek yang nantinya akan diidentifikasi. Ketika sedang membuat ERD, umumnya
suatu entitas akan digambarkan dalam suatu simbol persegi panjang. Disisi lain, entitas yang lemah akan
digambarkan dengan simbol persegi panjang yang kecil di dalam persegi panjang yang lebar.
Masing-masing entitas sudah tentu mempunyai perbedaan. Bila ternyata ada kesamaan, maka entitas tersebut
tidak perlu dicantumkan.
2. Atribut
Setiap entitas selalu mempunyai elemen ataupun atribut agar bisa menjelaskannya dengan baik. Umumnya, atribut
akan digambarkan sebagai simbol. Di dalam entity relationship diagram, terdapat beberapa jenis atribut, seperti
atribut simple, atribut kunci, atribut multinilai, atribut gabungan, dan juga atribut derivatif.
3. Relasi
Relasi ataupun hubungan adalah suatu tingkat ketertarikan pada beberapa entitas dari gabungan lainnya.
umumnya, relasi ini akan dicerminkan dalam simbol berbentuk belah ketupat. Di dalam entity relationship
diagram, relasi ini akan dibagi menjadi beberapa jenis, seperti One to One, One to Many, dan juga Many to Many.
7
Membantu menganalisis suatu database dengan cara yang lebih cepat dan juga lebih murah. Mampu menjalankan
relasi antar setiap data yang mempunyai keterkaitan dengan berdasarkan objek yang dihubungkan dengan suatu
relasi khusus.
Membantu menjalankan dokumentasi data yang terdapat dalam suatu database dengan cara melakukan analisis
dan identifikasi pada setiap objek ataupun entitas serta relasinya.
Melakukan suatu pengujian model yang sebelumnya sudah dibuat.
Teknik normalisasi adalah suatu usaha untuk membuat sebuah database yang normal atau baik agar desain
tabel-tabel berada dalam bentuk yang benar dan normal dan dapat di definisikan dengan mudah menggunakan
fungsi.
Aturan-aturan bentuk normalisasi de tentukan dalam bentuk normal. Bentuk normal adalah sebuah aturan yang
diberikan pada tabel-tabel dan relasi-relasi yang ada, dan harus di tempati atau dipenuhi oleh tabel-tabel dan
relasi-relasi tersebut dalam tingkatan dan level yang sudah di tentukan.
Normalisasi dimulai dari bentuk data yang tidak normal atau yang biasa disebut dengan unnormalized dan
diselesaikan melalui tahap-tahap seperti yang di atas, dan telah sesuai prosedur dan urutan kerjanya. Pada tahap
awal di normalisasikan dengan 1NF, apabila tidak selesai maka akan di lanjutkan oleh 2NF dan apabila 2NF juga
tidak dapat menyelesaikan normalisasi maka akan di lanjutkan oleh 3NF dan begitu seterusnya sampai semua data
dan tabel-tabel serta relasinya dapat normal dan baik.
Normalisasi database terdiri dari berbagai bentuk dan fungsi, dalam database setidaknya ada 9 cara
menormalisasikan data seperti 1NF, 2NF, 3NF, 3NF, EKNF, BCNF, 4NF, 5NF, DKNF, dan 6NF. Namun,
biasanya yang digunakan dalam menormalisasi database hanya 4 cara yaitu :
Sebelum menerapkan cara normalisasi 2NF ini terlebih dahulu kita harus menerapkan normalisasi dalam bentuk
1NF. Fungsi dari normalisasi 2NF ini adalah menghapus beberapa subset data yang terdapat pada sebuah tabel
dan menempatkan nya dalam tabel yang berbeda beda, menciptakan hubungan antara tabel yang baru dengan
yang lama dan menciptakan foreign key.
Normalisasi ini bertujuan untuk menghilangkan semua data atau file yang tidak ada hubungan nya dengan
primary key. Menghapus kolom-kolom yang tidak berhubungan dengan primary key dan memenuhi syarat-syarat
dari normalisasi 2NF.
Memiliki hubungan yang erat dengan 3NF biasa disebut juga dengan 3.5NF dan berfungsi untuk menangani
anomali dan overlooping yang tidak dapat di tangani oleh 3NF.
8
Bentuk ini merupakan kumpulan data yang akan di rekam, tidak ada keharusan mengikuti suatu format
tertentu. Dapat saja data tidak lengkap atau terduplikasi. Data dikumpulkan apa adanya sesuai dengan saat
menginput.
Contohdata:
no_siswa Nama PA kelas1 kelas2 kelas3
22890100 Rafi Rachmat 1234 1543 1543
22890101 Thoriq Adi 1234 1775
Ket:PA=PenasehatAkademik
Siswa yg punya nomor siswa, nama, dan PA mengikuti 3 mata pelajaran/kelas. Disini ada perulangan kelas 3
kali ini bukan bentuk 1 NF
Suatu relasi 1NF jika dan hanya jika sifat dari setiap relasi atributnya bersifat atomik.
Atom adalah zatterkecil yang masih memiliki sifatinduknya, bila dipecah lagi maka ia tidak memiliki sifat
induknya.
Ciri-ciri1NF:
Bentuk normal kedua mempunyai syarat yaitu bentuk data telah memenuhi kriteria bentuk normal kesatu.
Atribute bukan kunci harus lah bergantung secara fungsi pada kunci utama/primary key. Sehingga untuk
membentuk normal kedua harus lah sudah ditentukan kunci-kunci field. Kunci field harus lah unik dan dapat
mewakili attribute lain yang menjadi anggotanya.
Misal:
Daricontoh relasi Siswa pada I NF terlihat bahwa kunci utama/primary key adalah nomor siswa. Nama siswa
dan bergantung fungsi pada no_siswa, tetapi kode_kelas bukanlah fungsi dari siswa, maka file siswa dipecah
menjadi 2 relasi
Relasi Siswa
no_siswa Nama Pa
22890100 Rafi Rachmat
22890101 Thoriq Adi
Dan
Relasi ambil_kelas
No_siswa Kode_kelas
22890100 1234
22890100 1543
22890101 1234
22890101 1775
22890101 1543
9
Untuk menjadi bentuk normal ketiga maka relasi harus lah dalam bentuk normal kedua dan semua attribute
bukan primer tidak punya hubungan yang transitif. Dengan kata lain, setiap attribute bukan kunci harus lah
bergantung hanya pada primary key dan pada primary key secara menyeluruh.
Contoh pada bentuk normal kedua di atas termasuk juga bentuk normal ke tiga karena seluruh atribute yang
ada disitu bergantung penuh pada kunci primernya
BCNF mempunyai paksaan yang lebih kuat dari bentuk normal ketiga. Untuk menjadi BCNF, relasi harus
dalam bentuk normal kesatu dan setiap attribute harus bergantung fungsi pada atribute superkey
Pada contoh dibawah ini terdapat relasi seminar dengan ketentuan sbb:
Kunci primeradalahno_siswa+seminar.
Siswa boleh mengambil satu atau dua seminar.
Setiap siswa dibimbing oleh salah satu diantara 2 instruktur seminar tsb.
Setiap instruktur boleh hanya mengambil satu seminar saja.
Bentuk relasi seminar adalah bentuk normal ketiga, tetapi tidak BCNF karena nomor seminar masih
bergantung fungsi pada instruktur, jika setiap instruktur dapat mengajar hanya pada satu seminar. Seminar
bergantung fungsi pada satu attribute bukan superkey seperti yang disyaratkan oleh BCNF.
Makarelasiseminarharuslahdipecah menjadi dua yaitu :
Relasi pengajar
Instruktur Seminar No_siswa Instruktur
Sidoel 2281 22890100 Sidoel
Paktile 2281 22890101 Paktile
Mandra 2291 22890102 Mandra
Basuki 2291 22890101 Basuki
22890109 Basuki
BentukNormalKeEmpat(4NF)
Relasi R adalah bentuk 4NF jika dan hanya jika relasi tersebut juga termasuk BCNF dan semua
ketergantungan multi value adalah juga ketergantungan fungsional
Disebut juga PJNF (Projection Join Normal Form) dari 4NF dilakukan dengan menghilangkan ketergantungan
join yang bukan merupakan kunci kandidat.
Bahasa Query Formal adaalah Language yang digunakan oleh user untuk mendapatkan informasi dari
basis data. Aljabar Relational adalah kumpulan operasi terhadap relasi, dimana setiap operasi menggunakan satu
atau lebih relasi untuk menghasilkan satu relasi yang baru.
1. Aljabar Relasional
10
Adalah kumpulan operasi terhadap relasi, dimana setiap operasi menggunakan satu atau lebih relasi untuk
menghasilkan satu relasi yang baru.
Bahasa Query yang didasarkan pada operasi-operasi dalam Aljabar Relasional merupakan bahasa query yang
Prosedural.
OPERATOR RELATIONAL
ALJABAR RELASIONAL
Tabel dibawah ini adalah contoh untuk mengerjakan perintah – perintah Relation Algebra:
RELASI : MATA KULIAH
RELASI : MAHASISWA
RELASI : REGISTRASI
RELASI : DOSEN
11
Operator Dasar
b. Projection ( π )
Operator projection beroperasi pada sebuah relation, yaitu membentuk relation baru dengan mengcopy atribute-
atribute dan domain-domain dari relation tersebut berdasarkan argumen-argumen pada operator tersebut.
Contoh :
Tampilkan nama beserta gaji dari dosen
πnama_dos,gaji (DOSEN)
c. Cartesian product ( X )
Operator dengan dua relasi untuk menghasilkan table hasil perkalian kartesian.
Contoh :
Tampilkan nid,nama_d (dari relasi Dosen), nama_mk (dari relasi Matakuliah),
thn_akademik,smt,hari,jam_ke,waktu,kelas (dari relasi Mengajar) dimana semester mengajar adalah pada
semester ‘1’. p nid, nama_d, nama_mk, thn_akademik, smt, hari, jam_ke, waktu, kelas ( s smt=1 ÙDosen.nid =
Mengajar.nid Ùmengajar.kdmk = Matakuliah.kdmk (DosenxMatakuliahxMengajar))Operator
d. Union ( ∪ )
Operasi untuk menghasilkan gabungan tabel dengan syarat kedua tabel memiliki atribut yang sama yaitu
domain atribut ke-i masing-masing tabel harus sama RUS={ X I X E R atau X E S}
Contoh :
Penggabungan berdasarkan kolom kota dari table mahasiswa dengan tabel dosen πkota (mahasiswa) ∪ pkota
(Dosen)
e. Set diference ( – )
Operasi untuk mendapatkan tabel dis uatu relasi tapi tidak ada direlasi lainnya.
R – S = { X I X E R dan X E S }
Contoh : Tampilkan nama dari mahasiswa yang tinggal di depok tetapi bukan berjenis kelamin perempuan
Operator Tambahan
1. SET INTERSECTION ( ∩ )
Operasi untuk menghasilkan irisan dua tabel dengan syarat kedua tabel memiliki atribut yang sama, domain
atribut ke-i kedua tabel tersebut sama.
2. THETA JOIN
Operasi yang menggabungkan operasi cartesian product dengan operasi selection dengan suatu kriteria.
3. NATURAL JOIN
Operasi menggabungkan operasi selection dan cartesian product dengan suatu kriteria pada kolom
yang sama
4. DIVISION
Merupakan operasi pembagian atas tuple-tuple dari 2 relation
Contoh:
12
2. Kalkulus Relasional
adalah bahasa query yang non prosedural. Bahasa ini mendeskripsikan informasi yang diinginkan tanpa memberi
prosedurnya secara detil untuk mendapatkan informasi tersebut. Kalkulus relasional tupel merupakan basis untuk
bahasa query QUEL.
{ t | P(t) }
artinya, semua tuple t sedemikian sehingga predikat P adalah benar untuk t. Dengan mengikuti notasi terdahulu,
kita gunakan t[A] untuk menyatakan nilai tuple t pada atribut A, dan t ∈ r untuk menyatakan bahwa tuple t berada
dalam relasi r.
Dalam kalkulus relasional ada 2 notasi yang penting, yang pertama adalah “terdapat beberapa (there exists)” yang
ditulis :
∃ t ∈ r ( Q(t) )
artinya, terdapat beberapa tuple t anggota relasi r sedemikian sehingga bahwa predikat Q(t) adalah benar.
∀ t ∈ r ( Q(t) )
artinya, untuk seluruh tupel t anggota relasi r sedemikian sehingga bahwa predikat Q(t) adalah benar.
Kalkulus relasional domain juga adalah bahasa query yang non prosedural dan karenanya berhubungan dekat
dengan kalkulus relasional tupel. Berbeda dengan kalkulus relasional tupel, bahasa ini menggunakan variabel
domain yang mengambil nilai dari domain atribut, bukan dari nilai seluruh tupel. Kalkulus relasional domain
merupakan basis untuk bahasa query QBE.
13
dimana x1, x2, . . . , xn merepresentasikan variabel-variabel domain. P merepresentasikan sebuah formula yang
terdiri dari atom-atom. Sebuah atom dalam kalkulus relasional domain dapat berupa salah satu dari bentuk berikut
ini :
– < x1, x2, . . . , xn > ∈ r, dimana r adalah relasi dengan n atribut dan x1, x2, . . . , xn adalah variabel domain
atau konstanta domain.
– x ϴ y, dimana x dan y adalah variabel domain dan ϴ adalah operator relasional (≤, <, =, ≠, >, ≥). Kita
membutuhkan atribut x dan y mempunyai domain yang bisa diperbandingkan dengan ϴ.
– x ϴ c, dimana x adalah variabel domain, ϴ adalah operator relasional, dan c adalah sebuah konstanta.
Dalam kalkulus relasional domain, seperti halnya dalam kalkulus relasional tupel, kita juga menggunakan notasi
“terdapat beberapa (there exists)” dilambangkan dengan “∃” dan “untuk seluruh (for all)” dilambangkan dengan
“∀”.
Structured Query Language (SQL) adalah sistem manajemen database relasional (RDBMS) yang
dirancang untuk aplikasi dengan arsitektur client/server. Istilah client, server, dan client/server dapat digunakan
untuk merujuk kepada konsep yang sangat umum atau hal yang spesifik dari perangkat keras atau perangkat
lunak.
Pada umumnya terdapat 3 (tiga) jenis perintah SQL yang bisa digunakan oleh SQL, yaitu: DDL (Data Definition
Language), DML (Data Manipulation Language), dan DCL (Data Control Language). Berikut ini penjelasan dan
daftar masing-masing perintah SQL tersebut:
DDL merupakan perintah SQL yang berhubungan dengan pendefinisian suatu struktur database, dalam hal ini
database dan table. Beberapa perintah dasar yang termasuk DDL ini antara lain :
CREATE : Seperti namanya, perintah create digunakan untuk membuat sesuatu, dalam hal ini adalah database
dan table.
ALTER : Perintah alter digunakan untuk merubah struktur atau mengubah informasi. Perintah alter bisa
digunakan untuk database ataupun table.
RENAME : Perintah rename biasanya digunakan untuk mengubah nama table, apabila sebuah table ingin diganti
namanya.
DROP : Perintah drop digunakan untuk menghapus, maka apabila menggunakan perintah ini harus berhati-hati
karena drop dapat mengakses database, tabel, kolom, index, procedure dan yang lainnya.
DML merupakan perintah SQL yang berhubungan dengan manipulasi atau pengolahan data atau record dalam
table. Perintah SQL yang termasuk dalam DML antara lain:
SELECT : Perintah select digunakan untuk menampilkan data-data yang ada didalam tabel pada suatu database.
INSERT : Perintah insert digunakan untuk menambahkan data pada tabel yang terdapat didalam database.
UPDATE : Update digunakan untuk mengubah data, atau memodifikasi data yang terdapat didalam tabel.
DELETE : Perintah delete digunakan untuk menghapus data atau record didalam table.
DCL merupakan perintah SQL yang berhubungan dengan manipulasi user dan hak akses (priviledges). Perintah
SQL yang termasuk dalam DCL antara lain :
GRANT : Perintah grant digunakan untuk memberikan hak akses atau izin pada user di database untuk dapat
mengakses database tersebut. Selain itu perintah grant juga dapat digunakan untuk menambahkan user atau
pengguna baru di DBMS.
14
REVOKE : Perintah revoke adalah kebalikan dari perintah grant, perintah revoke digunakan untuk menghapus
atau atau mencabut izin hak akses.
SQL merupakan bahasa query terapan yang banyak digunakan oleh berbagai DBMS, diterapkan dalam
berbagai development tools dan program aplikasi untuk berinteraksi dengan basis data.
Subdivisi SQL:
A. CREATE
1. Pembuatan Database
Nama Database adalah yang dapat mewakili suatu kejadian dapat berupa nama organisasi atau perusahaan.
Sintaks : CREATE DATABASE nama_database
Contoh : Buat database dengan nama KAMPUS
CREATE DATABASE KAMPUS
2. Pembuatan Tabel
Sintaks : CREATE TABLE nama_table ( nama_kolom1 tipe_data_kolom1,nama_kolom2,tipe_data_kolom2,….)
Contoh :
Buat struktur tabel dengan nama tabel Mahasiswa dengan data NIM char(8), NAMA char(25), ALAMAT
char(30)
CREATE TABLE Mahasiswa (NIM char(8) not null, NAMA char(25) notnull, ALAMAT char(30) notnull)
3. Pembuatan Index
Sintaks : CREATE [UNIQUE] INDEX nama_index ON nama_table (nama_kolom) ;
Contoh :
Buat index data Mahasiswa berdasarkan NIM dengan nama MHSIDX Dimana NIM tidak boleh sama
CREATE UNIQUE INDEX MHSIDX ON Mahasiswa(NIM)
4. Pembuatan View
Sintaks :
CREATE VIEW nama_view [ (nama_kolom1,….) ]
15
AS SELECT statement [WITH CHECK OPTION] ;
Contoh :
Buat view dengan nama MHSVIEW yang berisi semua data mahasiswa
CREATE VIEW MHSVIEW
AS SELECT * FROM Mahasiswa
B. DROP (MENGHAPUS)
1. Menghapus Database
Sintaks : DROP DATABASE nama_db ;
2. Menghapus Tabel
Sintaks : DROP TABLE nama_table ;
3. Menghapus Index
Sintaks : DROP INDEX nama_index ;
4. Menhapus View
Sintaks : DROP VIEW nama_view ;
Contoh :
DROP DATABASE KAMPUS;
DROP TABLE MHS;
DROP INDEX MHSIDX;
DROP VIEW MHSVIEW;
Basis Data Terdistribusi adalah kumpulan data logic yang saling berhubungan secara fisik terdistribusi
dalam jaringan komputer, yang tidak tergantung dari program aplikasi sekarang maupun masa yang akan datang.
File merupakan kumpulan data yang dirancang untuk suatu aplikasi atau sekumpulan aplikasi yang dekat
hubungannya
Ada dua jenis diantaranya:
1. Terpusat
Transaksi yang mengakses data pada suatu simpul (mesin/server) yang sama dengan simpul dari mana transaksi
tersebut dijalankan.
2. Terdistribusi
Transaksi yang membutuhkan pengaksesan data di simpul yang berbeda dengan simpul dimana transaksi tersebut
dijalankan, atau
transaksi dari sebuah simpul yang membutuhkan pengaksesan data ke sejumlah simpul lainnya.
16
Sifat Database terdistribusi
Ada dua macam sifat database terdistribusi yaitu heterogen dan homogen:
a. Homogen
Homogen berarti database terdistribusi dimana data didistribusikan pada beberapa komputer dengan
menggunakan DBMS (database management system) yang sama. DBMS digunakan dalam database terdistribusi
untuk mengkoordinasikan data pada beberapa node.
b. Heterogen
Heterogen adalah kebalikan dari mana data dalam penyebaran homogen menggunakan DBMS yang berbeda.
Tujuan utama dari database terdistribusi menyediakan akses mudah ke data untuk pengguna di banyak lokasi
terpencil.
Untuk mencapai tujuan ini sistem basis data terdistribusi harus menyediakan apa yang disebut transparansi lokasi,
yang berarti pengguna dalam mengakses data tidak akan terbatas pada tempat, di mana pun dia adalah data
mengakases pengguna dapat.
Tujuan kedua dari database terdistribusi adalah otonomi daerah, kemampuan untuk mengatur database lokal dan
mengoperasikannya sendiri – sendiri terjadi error atau kerusakan koneksi antar komputer.
17
BAB III
PENUTUP
3.1 Kesimpulan
Basis data atau juga disebut database artinya berbasiskan pada data, tetapi secara
konseptual, database diartikan sebuah koleksi atau kumpulan data-data yang saling berhubungan
(relation), disusun menurut aturan tertentu secara logis, sehingga menghasilkan informasi. Untuk
mengelola dan memanggil query basis data agar dapat disajikan dalam berbagai bentuk yang
diinginkan dibutuhkan perangkat lunak yang disebut Sistem Manajemen Basis Data atau juga
disebut Database Management System (DBMS). Penggabungan Database Management System
(DBMS) dengan Basis Data akan membentuk satu kesatuan yang disebut Sistem Basis Data.
Komponen dasar dalam pembuatan basis data dengan adanya data, hardware, software, dan user.
Istilah- istilah dalam basis data juga seyogyanya kita tahu, yaitu: enterprise, entitas, atribut, nilai
data, kunci elemen data, record data. Database menyimpan data dengan baik,akurat,dan relevan.
Database dapat mengurangi duplikasi data/penggandaan data (data redundancy). Database
mengurangi pemborosan tempat simpanan luar.
3.2 Saran
Makalah yang kami susun semoga bisa membantu kita lebih memahami tentang basis data
yang lebih mendalam. Mohon permakluman dari semuanya jika dalam makalah kami ini masih
terdapat banyak kekeliruan baik bahasa maupun pemahaman. Karena tiadalah sesuatu yang
sempurna yang bisa manusia ciptakan.
DAFTAR PUSTAKA
18
3. Basis Data Relational & Perancangan Basis Data
https://adiwijayaadam4.blogspot.com/2020/10/basis-data-relational-perancangan-
basis.html
4. kesimpulan dan saran http://www.makalah.my.id/2018/10/makalah-basis-data-
lengkap.html
5. https://www.pro.co.id/jenis-model-data-pada-basis-data/
6. https://www.dicoding.com/blog/memahami-erd/
7. https://yizi.info/pdf-to-docx.html
8. https://mfikri.com/artikel/aturan-dan-teknik-dalam-melakukan-normalisasi-data.html
9. https://ariqfadh.wordpress.com/2018/05/07/bahasa-query-terapan/
10. https://www.dosenpendidikan.co.id/basisdata-terdistribusi/
19