TugasBesar - B - Kelompok02 - 19104048 - Narantyo Maulana A.N
TugasBesar - B - Kelompok02 - 19104048 - Narantyo Maulana A.N
Kelompok 2
S1SE03B
PROGRAM STUDI
SOFTWARE ENGINEERING
INSTITUT TEKNOLOGI TELKOM PURWOKERTO
2021
DAFTAR ISI
DAFTAR ISI................................................................................................................................. ii
BAB 3 PEMBAHASAN............................................................................................................
Puji syukur diucapkan kehadirat Allah SWT atas segala rahmatNya sehingga penulis dapat
menyelesaikan makalah mata kuliah “Basis Data” ini dengan tersusun secara baik dan sampai selesai.
Tidak lupa kami mengucapkan terimakasih yang sebesar-besarnya kepada Ibu/Bapak selaku dosen
pembimbing mata kuliah Pengantar Basis Data dan terhadap pihak yang telah berkontribusi dengan baik
pikiran maupun materinya.
Penulis sangat berharap semoga makalah ini dapat menambah pengetahuan dan pengalaman bagi
pembaca. Bahkan kami berharap lebih jauh lagi agar makalah ini bisa pembaca praktekkan dalam
kehidupan sehari-hari.
Bagi kami sebagai penyusun merasa bahwa masih banyak kekurangan dalam penyusunan
makalah ini karena keterbatasan pengetahuan dan pengalaman Kami. Untuk itu kami sangat
mengharapkan kritik dan saran yang membangun dari pembaca demi kesempurnaan makalah ini.
Purwokerto, 17-01-2021
Penulis
BAB I
PENDAHULUAN
Semakin berkembangnya teknologi informasi pada saat ini sangat membantu setiap pekerjaan
manusia.Seperti dalam hal pengumpulan data, setiap orang dalam suatu institusi atau perusahaan pasti
tidak bisa lepas dari menggunakan DBMS (Database Management System). Dari yang sederhana seperti
menggunakan Microsoft Access sampai dengan menggunakan DBMS yang cukup kompleks seperti
Oracle.DBMS ini bertujuan untuk mempermudah dalam hal penyimpanan data maupun dalam hal
manipulasi data, yang nantinya data tersebut dapat digunakan kembali apabila diperlukan.
Selain teknologi pengumpulan data yang terus berkembang, teknologi penyimpanan data pun
terus mengalami peningkatan. Dahulu biasanya suatu media penyimpanan seperti Harddisk mempunyai
kapasitas dalam ukuran Giga, tetapi sekarang banyak ditemui kapasitas Harddisk yang sampai pada
ukuran Tera.
BAB II
LANDASAN TEORI
Basis data (bahasa Inggris: database), atau sering pula dieja basis data, adalah kumpulan informasi
yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu
program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan
untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (database
management system, DBMS). Sistem basis data dipelajari dalam ilmu 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. Sistem Basis Data adalah suatu sistem penyusunan dan
pengelolaan record-record dengan menggunakan komputer, dengan tujuan untuk menyimpan atau
merekam serta memelihara data operasional lengkap sebuah organisasi/perusahaan sehingga mampu
menyediakan informasi yang diperlukan pemakai untuk kepentingan proses pengambilan keputusan.
DDL (Data Definition Languange) merupakan sekumpulan set perintah yang bertujuan untuk
mendefinisikan atribut – atribut database, tabel, atribut kolom (field), maupun batasan – batasan terhadap
suatu atribut dan relasi/hubungan antar tabel. Yang termasuk dalam kelompok perintah DDL adalah :
CREATE, ALTER, dan DROP.
2.2.1 CREATE
Create merupakan perintah DDL yang digunakan untuk membuat database maupun tabel. Nama
database maupun tabel tidak boleh mengandung spasi (space). Nama database tidak boleh sama antar
database.
Contoh : CREATE DATABASE db_rentalmobil;
Membuat Database yang bernama db_rentalmobil
2.2.2 ALTER
Alter merupakan perintah DDL yang digunakan untuk mengubah nama/struktur tabel.
Contoh : ALTER TABLE ‘transaksi’ ADD ‘lama_sewa’ int (20);
Membuat field baru bernama ‘lama_sewa’
2.2.3 DROP
Drop merupakan perintah DDL yang digunakan untuk menghapus database,tabel ataupun field.
Contoh : DROP DATABASE test;
Menghapus Database bernama test
Data Manipulation Language (DML) Kelompok perintah (query) yang berfungsi untuk
memanipulasi data dalam database. Data dalam basis data dapat dimanipulasi dengan cara, pemasukkan
data (insert), penghapusan data (delete), pengubahan data (update), dan pengambilan data (select).
2.3.1 Insert
Perintah INSERT bertujuan untuk menambahkan record data pada suatu tabel. Terdapat beberapa cara
untuk menambahkan record, yaitu:
• Cara 1
INSERT INTO namatabel (field1, field2, field-n) VALUES (nilai1, nilai2, nilai-n);
Ket : Jika data bertipe string, date, atau time (contoh : Dr. Black, basis data, 1984-03-18) maka pemberian
nilainya diapit menggunakan tanda petik tunggal (‘Didi’) atau petik ganda (“Basis Data”). Jika data
bertipe numerik (29, 4) maka pemberian nilainya tidak diapit tanda petik tunggal maupun ganda.
2.3.2 Delete
Perintah DELETE digunakan untuk menghapus satu baris, baris dengan kondisi tertentu maupun seluruh
baris. Syntax yang digunakan:
Pernyataan kondisi dalam tanda [ ] bersifat pilihan/opsional untuk menghapus suatu baris dengan kondisi
tertentu yang dipersyaratkan. Keyword 'where' berfungsi sebagai selector/pemilih.
Perintah UPDATE digunakan untuk mengubah isi data pada satu atau beberapa kolom pada suatu tabel.
Syntax yang digunakan:
Perintah dalam tanda [ ] bersifat pilihan/opsional untuk mengubah suatu baris dengan kondisi tertentu
yang dipersyaratkan.
Contoh : UPDATE paket_cucian SET reguler=8000 WHERE sks=8000; Mengubah record reguler
menjadi 8000 yang memiliki sks sebesar 8000
2.3.4 Select
Perintah SELECT digunakan untuk menampilkan isi dari suatu tabel yang dapat dihubungkan dengan
beberapa tabel lainnya.
2.3.5 Operator
Beberapa operator perbandingan/relasi yang dapat digunakan pada klausa WHERE adalah
Operator logika yang dapat digunakan pada klausa WHERE yaitu AND, OR, NOT, BETWEEN-
AND, IN dan LIKE.
2.4 Normalisasi
Normalisasi merupakan teknik analisis data yang mengorganisasikan atribut-atribut data dengan
cara mengelompokkan sehingga terbentuk entitas yang non-redundant, stabil, dan fleksible. Normalisasi
dilakukan sebagai uji coba pada suatu relasi secara berkelanjutan untuk menentukan apakah relasi itu
sudah baik, yaitu dapat dilakukan proses insert, update, delete, dan modifikasi pada satu atau beberapa
atribut tanpa mempengaruhi integritas data dalam relasi tersebut.
2.4.1 Tujuan Normalisasi Database
Jika sebuah database belum dinormalisasi, kemungkinan terburuk yang akan merugikan sistem adalah:
1. INSERT Anomali
Situasi dimana tidak memungkinkan untuk memasukkan beberapa jenis data secara langsung di
database.
2. UPDATE Anomali
Situasi dimana nilai yang diubah mengakibatkan ketidakkonsistenan database, artinya data yang
diubah tidak sesuai dengan yang diinginkan.
3. DELETE Anomali
Penghapusan data tidak sesuai yang diharapkan, artinya data yang seharusnya tidak terhapus
malah terhapus.
Normalisasi adalah salah satu pendekatan logical design dari suatu database relational, dan
tampaknya sedikit memiliki kemiripan dengan model ER. Disain database relational dengan pendekatan
normalisasi dan disain ER yang teliti akan menghasilkan database relational yang hampir identik, pada
kenyataannya dua pendekatan (normalisasi dan disain ER) tersebut saling memperkuat. Normalisasi
database terdiri dari banyak bentuk, dalam ilmu basis data ada setidaknya 9 bentuk normalisasi yang ada
yaitu 1NF, 2NF, 3NF, EKNF, BCNF, 4NF, 5NF, DKNF, dan 6NF. Namun dalam prakteknya dalam
dunia industri bentuk normalisasi ini yang paling sering digunakan ada sekitar 5 bentuk.
Sebuah tabel bisa dikategorikan sebagai tabel 1NF jika di setiap baris record hanya memiliki 1
value. Hasil transformasi dari Unnormalized Form ke 1NF bisa di lihat dibawah ini :
Sebuah tabel bisa dikategorikan sebagai tabel 2NF jika tabel sudah dalam keadaan 1NF
dan setiap kolom didalam tabel itu functional dependency kepada semua key (Full Dependency),
bukan hanya kepada salah satu key (Partial Dependency). Berarti kita harus menentukan terlebih
dahulu key yang ada di dalam tabel. Dari tabel diatas kita bisa menentukan bahwa ada dua
candidat key yang tersedia dalam tabel diatas, yaitu :
Sebuah tabel bisa dikategorikan sebagai tabel 3NF jika tabel sudah dalam 2NF dan setiap
kolom yang bukan key harus functional dependency dengan primary key nya. Kita bisa melihat
didalam Tabel Nilai dan Tabel Matkul sudah memenuhi persyaratan 3NF. Tetapi didalam Tabel
Mahasiswa terdapat kolom yang bergantung bukan kepada key nya (Transitive Dependency) yaitu
Nama_Dosen dan Status_Dosen.
Ini menunjukan bahwa Tabel Mahasiswa belum memenuhi persyaratan menjadi 3NF.
Nama_Dosen dan Status_Dosen itu functional dependency kepada ID_Dosen yang kita ketahui
bahwa ID_Dosen itu bukanlah sebuah primary key. Maka untuk membuat Tabel Nilai kedalam
bentuk 3NF, kita harus menempatkan kolom yang functional dependency bukan kepada key nya
(Transitive Dependency) kedalam tabel yang baru. Berikut tabel yang sudah menjadi 3NF :