Anda di halaman 1dari 39

SISTEM BASIS DATA

NAIYA SALSABILA
222406042
KOM B’22

PROGRAM STUDI D-3 TEKNIK INFORMATIKA


FAKULTAS VOKASI
UNIVERSITAS SUMATERA UTARA
2023
KATA PENGANTAR

Puji dan syukur penulis panjatkan kepada Allah SWT, dengan limpah karunia-
Nya penulis dapat menyelesaikan penyusunan makalah ini dengan judul Sistem Basis
Data.
Terima kasih penulis sampaikan kepada setiap pihak yang sudah mendukung
selama belangsungnya pembuatan makalah ini. Terkhusus lagi penulis sampaikan
terima kasih kepada Bapak Dr. Syahriol Sitorus S.Si., M.IT selaku dosen pengajar dan
asisten laboratorium Egi Ribeka Br. Singarimbun yang telah membimbing. Penulis
sekaligus juga berharap semoga makalah ini bisa bermanfaat bagi setiap pembaca.
Disertai keseluruhan rasa rendah hati, kritik dan saran yang membangun amat
penulis nantikan, agar nantinya penulis dapat meningkatkan dan merevisi Kembali
pembuatan makalah di tugas lainnya dan diwaktu berikutnya.

Medan, Juni 2023

Penulis

i
DAFTAR ISI

ii
BAB 1
PENDAHULUAN

1.1 Latar Belakang


Semakin berkembangnya teknologi informasi pada saat ini sangat membantu
setiap pekerjaanmanusia.Seperti dalam hal pengumpulan data, setiap orang dalam
suatu institusi atau perusahaan pasti tidak bisa lepas dari menggunakan DBMS
(Database Management System) atau Sistem Basis Data. Dari yang sederhana seperti
menggunakan Microsoft Access sampai dengan menggunakan DBMS yang cukup
kompleks seperti MySql .DBMS ini bertujuan untuk mempermudah dalam hal
penyimpanan data maupun dalamhal manipulasi data, yang nantinya data tersebut
dapat digunakan kembali apabila diperlukan.
Basis data adalah kumpulan informasi yang disimpan didalam komputersecara
sistematik sehingga dapat diperiksa menggunakan suatu program komputeruntuk
memperoleh informasi dari database tersebut. Perangkat lunak yangdigunakan untuk
mengolah dan mengambil kueri (query) basis data disebut sistemmanajemen basis
data.
Kebutuhan Sistem informasi ini dirancang untuk mencakup, penyimpanan data
secara otomatis, dan kebutuhan pengguna seperti menampilkan data yang dibutuhkan
dalam perancangan database penulis menggunakan XAMPP sarana server localhost,
MySQL sebagai tempat penyimpan data, dan phpMyAdmin. MySQL dipilih karena
penyimpan data yang saat ini popular digunakan. Proses merancang website bertujuan
memberikan isi informasi serta merancang dan membuat database. Bertujuan untuk
membantu proses pengelolaan database, dengan adanya database pada website
membantu proses pengelolaan data dalam edit data, input data, hapus data, dan
pencarian data.
2

1.2 Rumusan Masalah


1. Apa itu Sistem Basis Data ?
2. Apa saja komponen pada system basis data ?
3. Software apa yang digunakan dalam system basis data ?
4. Bagaimana pengelolaan data dalam tabel ?
5. Apa itu Bahasa pemrograman SQL ?

1.3 Tujuan
1. Agar Mahasiswa atau Pembaca dapat mengetahui apa itu basis data dan bagaimana
mengelola data lebih baik lagi, menyimpan data, serta mempermudah pencarian
data.
2. Untuk memenuhi tugas akhir praktikum system basis data sebagai syarat untuk
mengikuti UAS praktikum system basis data.

2
BAB 2
PENGENALAN SISTEM BASIS DATA

2.1 Pengenalan Sistem Basis Data


Basis data atau database, berasal dari kata basis dan data. Basis dapat diartikan
sebagai markas atau gudang, tempat bersarang atau berkumpul. Data merupakan
representasi fakta dunia nyata yang mewakili suatu objek seperti manusia (pegawai,
siswa, pembeli, pelanggan), barang, hewan peristiwa, konsep, keadaan, dan
sebagainya yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi, atau
kombinasinya. Ada juga yang dinamakan Big Data, yaitu data yang ukurannya sangat
besar, sifatnya kompleks, dan jumlahnya terus bertambah setiap waktu dengan sangat
cepat, sehingga sudah tidak mungkin untuk disimpan, dan diproses menggunakan alat
komputasi tradisional.
Sehingga dapat disimpulkan bahwa basis data (databese) adalah kumpulan
informasi yang disimpan didalam 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 tersebut disebut sistem manajemen basis data (Database
Management System).
DBMS adalah perangkat lunak yang memungkinkan pemakai untuk
mendefinisikan, mengelola, dan mengontrol akses ke basis data. DBMS yang
mengelola basis data relational disebut dengan Relational DBMS (RDBMS) Contoh
perangkat lunak yang termasuk DBMS: dBase, FoxBase, Rbase, Microsoft-Access,
Borland Paradox / Borland Interbase, MS-SQL Server, Oracle, Informix, Sybase,
MySQL, dll.

2.2 Istilah – istilah Dalam Sistem Basis Data


a. Enterprise yaitu suatu bentuk organisasi
Contoh Enterprise: Sekolah, Rumah Sakit
Sekolah : Database Nilai
Rumah sakit : AdministrasiPasien
4

b. Entitas yaitu suatu obyek yang dapat dibedakan dengan objek lainnya
Contoh :
Database Nilai - entitas: Mahasiswa, Matapelajaran
Database AdministrasiPasien - entitas: Pasien, Dokter, Obat
c. Atribute/field yaitu setiap entitas mempunyai atribut atau suatu sebutan untuk
mewakili suatu entitas.
Contoh :
Entity siswa - field = Nim, nama_siswa,alamat,dll
Entity nasabah - field=Kd_nasabah,nama_nasabah,dll
d. Data value yaitu data aktual atau informasi yang disimpan pada tiap data elemen
atau atribute. Contoh : Atribut nama_karyawan - sutrisno, budiman, dll
e. Record/tuple yaitu kumpulan elemen-elemen yang saling berkaitan
menginformasikan tentang suatu entity secara lengkap.
f. File yaitu kumpulan record-record sejenis yang mempunyai panjang elemen sama,
atribute yang sama namun berbeda-beda data valuenya.
g. Kunci elemen data yaitu tanda pengenal yang secara unik mengindentifikasikan
entitas dari suatu kumpulan entitas.

2.3 Komponen Sistem Basis Data


Basis data terbentuk karna adanya komponen – komponen yang memenuhi dan
melengkapi sehingga menjadi suatu system basis data, diantaranya yaitu,
a. Perangkat Keras (hardware)
Sistem basis data dapat dilihat bahwa basis data pada intinya adalah disimpan pada
media penyimpanan elektronik (hardisk), sedangkan database adalah terdiri dari
beberapa file / table yang saling berelasi (berhubungan). Basis data tersebut
dikelola oleh DBMS (database management system) dan database tersebut dapat
dimanfaatkan oleh beberapa user (pemakai) yang dapat melakukan manipulasi
pada database.
Perangkat keras yang biasanya terdapat dalam sistem basis data adalah sebagai
berikut:
1. Komputer (satu untuk stand alone atau llebih dari satu untuk komputer
jaringan)
5

2. Memori sekunder yang on-line (hardisk).


3. Memori sekunder yang offline (tape) untuk keperluan backup data
4. Media/ perangkat komunikasi (untuk sistem jaringan)
b. Sistem Operasi (operating system)
Sistem Operasi Merupakan program yang mengaktifkan/ memungsikan sistem
komputer, mengendalikan seluruh sistem daya dalam komputer dan melakukan
operasi-operasi dasar dalam computer (operasi input/output), pengelolaan file, dan
lain sebagainya. Program pengelola basis data (DBMS) akanaktif (running) jika
sistem operasi yang dikehendakinya telah aktif.
c. Basis Data (database)
Sebuah sistem basis data dapat memiliki beberapa basis data. Setiap basis data
dapat memiliki sejumlah objek basis data (sepertifile/table, store procedure,
indeks, danlainya). Disamping berisi / menyimpan data, setiap basis data juga
mengandung / menyimpan definisi struktur (baik untuk basis data maupun objek-
objeknya secara detail).
d. Sistem Pengelolaan Basis Data (DBMS)
Sistem (aplikasi/perangkat lunak) pengelola basis data (DBMS) Pengelolaan basis
data secara fisik tidak ditangani langsung oleh user (pemakai), tetapi ditangani oleh
sebuah perangkat lunak (sistem) yang khusus / spesifik. Perangkat inilah disebut
DBMS, yang akan menentukan bagaimana data diorganisasi, disimpan, diubah,
dan diambil kembali. Perangkat tersebut juga menerapkan mekanisme
pengamanan data (security), pemakaian data secara bersama (sharing data),
pemaksaan keakuratan / konsistensi data, dan sebagainya.
e. Pemakai (user)
Ada beberap ajenis / tipe pemakai pada sistem basis data, berdasarkan cara mereka
berinteraksi pada basis data, diantaranya adalah:
1. Programmer
Programmer adalah pemakai yang berinteraksi dengan basis data Aplikasi
melalui DML (data manipulation language), yang disertakan dalam program
yang ditulis dalam bahasa pemrograman induk (sepertipascal, cobol, clipper,
foxpro, dan lainnya).
6

2. User Mahir (Casual Users)


User Mahir (Casual Users) adalah pemakai yang berinteraksi dengan sistem
tanpa menulis modul program. Mereka menyatakan query (untuk akses data),
dengan bahasa query yang telah disediakan oleh suatu DBMS.
3. User Umum
User Umum adalah pemakai yang berinteraksi dengan sistem basis data
melalui pemanggilan satu program aplikasi permanen, yang telah ditulis /
disediakan sebelumnya.
4. User Khusus
User Khusus adalah pemakai yang menulis aplikasi basis data non
konvensional untuk keperluan khusus.
f. Aplikasi (perangkat lunak) lain (bersifat optional)
Aplikasi AI, Sistem Pakar, Pengolahan Citra, danlainnyal, yang bisa saja
mengakses basis data dengan / tanpa DBMS. Aplikasi (perangkat lunak) lain
Aplikasi lain ini bersifat optional, ada tidaknya tergantung pada kebutuhan kita.
DBMS yang kita gunakan lebih berperan dalam pengorganisasian data dalam basis
data, sementara bagi pemakai basis data (khususnya yang menjadi end user) dapat
disediakan program khusus untuk melakukan pengisian, pengubahan dan
pengambilan data.

Gambar 2.1 Komponen SBD

2.4 Software pada Sistem Basis Data


Perangkat lunak basis data yang banyak digunakan dalam pemrograman dan
merupakan perangkat basis data aras tinggi (high level):
a. Microsoft SQL Server
b. Oracle
7

c. XBase
d. Firebird
e. MySQL
f. PostgreSQL
g. Microsoft Access
h. Paradox
i. Dll

2.5 Kelebihan dan Kekurangan Sistem Basis Data


2.5.1 Kelebihan
Banyak manfaat yang dapat kita peroleh dengan menggunakan basis data.
Manfaat/kelebihan basis data diantaranya adalah :
1. Kecepatan dan kemudahan (speed)
Basis data memiliki kemampuan dalam mengelompokan, mengurutkan bahkan
perhitungan dengan metematika. Dengan perancangan yang benar, maka penyajian
informasi akan dapat dilakukan dengan cepat dan mudah.
2. Kebersamaan pemakai
Sebuah basis data dapat digunakan oleh banyak user dan banyak aplikasi. Untuk
data-data yang diperlukan oleh banyak orang/bagian. Tidak perlu dilakukan
pencatatan dimasing-masing bagian, tetapi cukup dengan satu basis data untuk
dipakai bersama.
3. Pemusatan control data
Karena cukup dengan satu basis data unutk banyak keperluan, pengontrolan
terhadap data juga cukup dilakuan di satu tempat saja.
4. Efesiensi ruang penyimpanan (space)
Dengan pemakain bersama, kita tidak perlu menyediakan tempat penyimpanan
diberbagai tempat, tetapi cukup satu saja sehingga ini akan menghemat ruang
penyimpanan data yang dimilikioleh sebuah organisasi.
5. Keakuratan (Accuracy)
Penerapan secara ketat aturan tipe data, domain data, keunikan data, hubungan
antara data, dan lain-lain, dapat menekan keakuratan dalam
pemasukan/penyimpanan data.
8

6. Ketersediaan (availability)
Dengan basis data kita dapat mem-backup data, memilah-milah data mana yang
masih diperlukan dan data mana yang perlu kita simpan ke tempat lain. Hal ini
mengingat pertumbuhan transaksi suatu organisasi dari waktu ke waktu
membutuhkan media penyimpanan yang semakin besar.
7. Keamanan (Security)
Kebanyakan DBMS dilengkapi dengan fasilitas manajemen pengguna diberikan
hak akses yang berbeda-beda sesuai dengan pengguna dan posisinya. Basis data
bisa diberikan passwordnya untuk membatasi orang yang mengaksesnya.
8. Kebebasan data (Data Independence)
Jika sebuah program telah selesai dibuat, dan ternyata ada perubahan isi/struktur
data. Maka dengan basis data, perubahan ini hanya perlu dilakukan pada level
DBMS tanpa harus membongkar kembali program aplikasinya,
9. User view
Basis data penyediaan pandangan yang berbeda-beda untuk tiap-tiap pengguna.
Tidak semua data boleh diakses oleh semua pengguna.

2.5.2 Kekurangan
Selain kelebihan, terdapat juga beberapa kekurangan dari sistem basis data seperti
berikut
1. Sistem basis data membutuhkan sumber daya yang tinggi, terlebih untuk
melakukan perawatan secara berkala.
2. Sistem basis data mencakup banyak file, sehingga jika dilakukan back up akan
menghabiskan waktu.
3. Kesalahan dalam mengakses bisa menyebabkan berbagai masalah, terutama oleh
sembarang pengguna.
4. Sistem basis data sangat kompleks, tidak sembarang orang bisa menanganinya.
Terutama dengan berbagai macam resiko, sehingga hanya orang ahli yang hanya
bisa menanganinya.
BAB 3
PENGELOLAAN TABEL

3.1 Pengenalan Jenjang Basis Data


Jenjang data adalah kumpulan data yang saling berhubungan antara data satu
dengan data lainnya. Data-data tersebut tersimpan di dalam sebuah perangkat
keras atau hardware komputer dan kemudian digunakan oleh perangkat lunak untuk
memanipulasinya. Kumpulan data yang saling berhubungan tersebut kemudian akan
memberikan kemudahan terhadap aktivitas untuk mendapatkan informasi.
Contohnya adalah basis data akademis yang di dalamnya mengandung tabel.
Tabel tersebut saling berhubungan dengan data para mahasiswa, mata kuliah, data
jurusan, dan lain sebagainya. Tabel tersebut di dalamnya terdapat baris dan juga kolom
yang nantinya berperan dalam menghimpun beberapa record. Misalnya, ada data
pribadi yang berasal dari seluruh pegawai di mana data tersebut disimpan di dalam
tabel. Data tersebut nanti bisa ditampilkan, dihapus, maupun dilakukan modifikasi
oleh pengguna yang memiliki otoritas atau kewenangan. Cara mengubahnya adalah
dengan menggunakan SQl atau Structured Query Language 3.

3.2 Komponen Pada Jenjang Basis Data


Adapun komponen jenjang data yang berasal dari database adalah seperti di
bawah ini:
1. Characters: merupakan bagian yang paling kecil. Bagian ini bisa berupa karakter
numerik atau angka seperti 0 sampai 9, huruf seperti A sampai Z, dan berbagai
karakter khusus seperti ., #, @, *, dan lain sebagainya yang nantinya akan
membentuk sebuah item data atau field
2. Field: merupakan sebuah presentasi dari atribut yang berasal dari record. Field
berfungsi untuk menunjukkan item data atau field seperti nama, alamat, dan lain-
lain. Nanti kumpulan dari field tersebut akan membentuk sebuah record
a. Field Name: wajib diberi nama agar dapat membedakan antara field yang satu
dengan field yang lainnya
10

b. Field Representation: merupakan tipe field misalnya teks, karakter, angka,


tanggal, dan lain sebagainya. Sementara untuk lebar field mencakup ruang
maksimum yang bisa diisi oleh karakter-karakter data
c. Field Value: merupakan isi dari field untuk setiap record
3. Record: merupakan kumpulan field yang nanti akan membentuk record. Record
menggambarkan sebuah unit data yang berasal dari individu tertentu. Nanti
kumpulan dari record akan membentuk sebuah file seperti file personalia. Setiap
record bisa mewakili setiap data karyawan
4. File: merupakan kumpulan record yang berfungsi untuk menggambarkan sebuah
satu kesatuan data yang memiliki jenis sama. Contohnya file untuk mata pelajaran
yang di dalamnya terdapat seluruh mata pelajaran yang ada
5. Database: merupakan kumpulan tabel atau file yang membentuk sebuah database

Gambar 3.1 Komponen Jenjang Basis Data

3.3 Pengelolaan Tabel pada Sistem Basis Data


Dalam konteks MySQL, basis data digunakan untuk menyimpan berbagai jenis
informasi, mulai dari data pelanggan hingga informasi produk. Tabel (Table)
adalah struktur dasar dalam basis data yang mengandung data yang sesuai dengan
skema tertentu. Setiap tabel terdiri dari baris (record) dan kolom (field).
Skema database adalah struktur dan organisasi database, yang mendefinisikan
tabel, bidang, hubungan, batasan, dan tipe datanya. Ini berfungsi sebagai cetak biru
untuk mengatur dan mengakses data, menyediakan peta jalan bagi pengembang,
administrator, dan pengguna saat bekerja dengan database.
11

3.3.1 Komponen Tabel


Sebuah tabel adalah kumpulan baris (record) yang memiliki satu atau lebih
kolom, untuk lebih jelasnya sebagai berikut:
1. Field(columns)
Informasi suatu tabel disimpan dalam beberapa head, yaitu disebut field atau
kolom. Kolom ditampilkan secara vertikal dalam tabel.
2. Nama Kolom
Setiap field / kolom memiliki nama tersendiri, dalam satu tabel tidak boleh berisi
nama kolom yang sama dari dua kolom yang berbeda karena artinya kita
menyimpan data duplikat.
3. Record (row) / tuple
Setiap kolom pada sebuah tabel memiliki sebuah baris, setiap baris berisi
informasi/data
4. Column value
Nilai dari setiap field membentuk satu baris pada kolom
5. Key Field
Setiap tabel harus memiliki field / kolom yang dijadikan sebagai penghubung
(link) dengan satu atau lebih tabel lainnya, disebut field kunci dari sebuah tabel,
biasanya di definisikan dengan tipe data int (integer). Ada beberapa key pada tabel
yaitu,
a. Primary key , adalah kolom yang berisi nilai unik, yang dimana memiliki fungsi
sebagai identitas yang untuk membedakan setiap record yang ada didalam suatu
tabel.
b. Kunci asing (foreign key) adalah sebuah atribut yang terdapat didalam suatu tabel
yang dimana untuk digunakan untuk menciptakan hubungan antara dua tabel.
c. Composite key merupakan sebuah kunci yang didalamnya terdiri dari dua atau
lebih atribut. dimana atribut – atribut tersebut akan secara unik akan melakukan
identifikasi terhadap sebuah kejadian yang namanya entitas.
d. Alternate key adalah sebuah kunci yang dimana banyak yang tidak dipilih. Yang
dimana semisal ada dua kandidat yang akan menjadi sebuah dari kunci utama.
Maka salah satu pasti akan ditunjuk sebagai primary keynya. Sementara kunci
yang tidak dipilih maka akan dijadikan sebagai alternate key.
12

e. Candidate key adalah unik identifier, serta juga candidate key ini non duplikat.
Yang dimana maksudnya tidak ada kunci yang memiliki ciri khas yang sama
dengan candidate key.

3.4 Bahasa Pemrograman SQL


SQL atau Standard Query Language adalah bahasa pemrograman yang
digunakan dalam mengakses, mengubah, dan memanipulasi data yang berbasis
relasional. SQL juga bisa digunakan untuk menghapus sebuah data
pada database. Fungsi lainnya SQL adalah untuk membuat sebuah prosedur baru dan
ini akan tersimpan dalam sebuah database. Selain itu juga bisa mengatur hak akses
dalam tabel, prosedur, maupun hal-hal penting lainnya.
Secara umum tiga bentuk Command dari SQL, yaitu :
a. DDL ( Data Definition Language )
b. DML ( Data Manipulation Language
c. DCL ( Data Control Language )

3.5 Tipe Data Pada Pemrograman SQL


Ada beberapa tipe data yang digunakan pada Bahasa pemrograman sql,
diantaranya yaitu :
1. Tipe Data Karakter ( Character Data Type )
a. CHAR(n): Menyimpan string karakter tetap dengan panjang n.
b. VARCHAR(n): Menyimpan string karakter variabel dengan panjang
maksimum n.
c. ENUM: Menyimpan string yang bisa ditentukan pilihan-pilihannya
2. Tipe Data Angka ( Numeric Data Type )
a. INT: Menyimpan bilangan bulat (integer).
b. FLOAT: Menyimpan angka desimal dengan
titik mengambang.
c. DECIMAL(p, s): Menyimpan angka desimal
dengan presisi p dan skala s.
3. Tipe Data Tanggal dan Waktu ( Date And Time Data Types )
a. DATE: Menyimpan tanggal (tahun, bulan,hari).
13

b. TIME: Menyimpan waktu (jam, menit, detik).


c. DATETIME: Menyimpan kombinasi tanggal dan waktu.
4. Tipe Data Boolean
Boolean Menyimpan nilai True atau False
5. Tipe Data Binary
BLOB (Binary Large Object): Menyimpan data biner besar seperti gambar atau
file.
BAB 4
DDL DAN DML

4.1 Pengenalan DDL ( Data Definition Language )


Bahasa defenisi data (data defeniton language) merupakan perintah perintah
yang digunakan untuk mendefenisikan suatu basis data. Umumnya bahasa defenisi
data hanya dilakukan sekali saja yaitu pada tahap awal perancangan basis data. Hasil
penggunaan DDL adalah berupa sekumpulan table yang disebut sebagai data
dictionary atau kamus data. DDL merupakan kumpulan perintah yang digunakan untuk
untuk mendefinisikan, mengubah, serta menghapus basis data dan objek-objek yang
diperlukan dalam basis data, misalnya tabel, view, user, dan sebagainya.
Secara garis besar Data Definition Language (DDL) digunakan untuk
membangun kerangka database yang akan dibuat. Atau juga merupakan kelompok
perintah yang berfungsi untuk mendefinisikan atribut-atribut database,table, atribut
kolom, batasan-batasan terhadap suatu atribut serta hubungan antar table.

4.2 Mendefiniskan dan Merancang Database dengan DDL


Ada beberapa perintah-perintah yang digunakan untuk menjelaskan objek dari
Database. Contoh beberapa statement yang termasuk DDL adalah,
1. Create
Perintah yang digunakan untuk membuat objek database seperti Table, View,
Index, Synonym, Sequence, Procedure, Trigger,Function, Package, dan User-
Defined Data Types.
a. Query untuk membuat database baru :
CREATE DATABASE databasename;
b. Query untuk membuat table unt:
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
column3 datatype,
… );
15

2. Drop
Perintah yang digunakan untuk menghapus objek database
a. Query menghapus database:
DROP DATABASE databasename;
b. Query menghapus table:
DROP TABLE table_name;
3. Alter
Digunakan untuk melakukan perubahan struktur tabel yangtelah dibuat, baik
menambah Field ( Add ), mengganti nama Field( Change ) ataupun menamakannya
kembali ( Rename ), danmenghapus Field ( Drop ).
a. Query menambah kolom baru:
ALTER TABLE table_name ADD column_namedatatype;
b. Query menghapus kolom:
ALTER TABLE table_name DROP COLUMN column_name;
c. Query mengubah nama kolom:
ALTER TABLE table_name CHANGE COLUMN column_name
new_column_name datatype;
d. Query menambahkan primary key:
ALTER TABLE table_name ADD PRIMARY KEY(column_name);
e. Query menghapus primary key:
ALTER TABLE table_name DROP PRIMARY KEY(column_name
PRIMARY KEY(column_name);
f. Query menambah kolom baru:
ALTER TABLE table_name ADD column_name datatype;
4. Truncate
Perintah yang digunakan untuk menghapus secarapermanen baris (row) dari
sebuah tabel atau dengan kata lainmengosongkan kembali tabel tanpa menghapus
tabel itu sendiri.
5. Rename
Perintah yang digunakan untuk mengganti nama sebuahobjek database.
16

4.3 Pengenalan DML ( Data Manipulation Language )


DML merupakan kumpulan perintah SQL yang digunakan untuk proses
pengolahan isi data di dalam table seperti memasukkan, merubah serta menghapus isi
data dan hal tersebut tidak terkait dengan perubahan dalam struktur dan definisi tipe
data dari objek database yang telah dibuat.
Di dalam Data Manipulation Language terdapat dua bagian yakni prosedural
dan non-prosedural. Procedural coding sering dipergunakan dalam pengaturan usaha
serta merupakan cara yang tergolong tepat dalam mengkodekan permintaan Data
Manipulation Language. Tentunya pada skema ini pengguna akan memberi tahu
database datum mengenai apa yang diinginkan oleh pengguna serta bagaimana cara
untuk memperoleh datum tersebut. Metode ini tentunya akan lebih cenderung dalam
mengambil kode lebih banyak serta sedikit sulit untuk pengguna. Namun kepastian
catatan serta coding database lebih pasti.
Metode untuk permintaan coding selanjutnya yaitu non-prosedural. Walaupun
cara ini bisa dilakukan akan tetapi bukan termasuk ke dalam cara resmi guna bekerja
pada database. Pada metode ini pengguna hanya memberitahukan database mengenai
data tentang apa yang perlu dilakukan, namun tidak mengenai cara untuk
mengambilnya. Perintah tersebut memerlukan lebih sedikit kode jadi akan lebih
mudah bagi pengguna. Tentunya di saat yang sama database mampu
menghasilkan coding yang tidak efisien maupun tidak terduga dari metode non-
prosedural ini.

4.4 Memanipulasi Data dalam Tabel Database dengan DML


Ada beberapa statement ataupun perintah yang termasuk ke dalam DML yaitu
diantaranya,
1. Insert
Perintah ini digunakan untuk menyisipkan atau memasukkan data baru ke dalam
tabel. Penggunaannya setelah database dan tabel selesai dibuat.
a. Query untuk menambah record baru :
INSERT INTO nama_tabel VALUES (nilai_kolom1, nilai_kolom2, ...);
17

b. Contoh untuk menambah lebih dari satu record baru:


INSERT INTO mahasiswa VALUES
(‘nim’,’nama’,’Jurusan’,’asal’)
(‘1101234567’,’trin’,’ teknik telekomunikasi’,’medan’),
(‘1102345678’,’siska’,’teknik industri’,’riau’),
(‘1103456789’,’wilda’,’teknik informatika’,’jawa’),
(‘1104567891’,’dewi’,‘sistem komputer’,’banjar’);
2. Update
Perintah ini digunakan untuk memperbarui data lama menjadi data terkini. Jika
Anda memiliki data yang salah atau kurang up to date dengan kondisi sekarang,
maka dapat diubah isi datanya menggunakan perintah UPDATE.
Query untuk memperbarui data dalam record:
UPDATE nama_tabel SET kolom = nilai WHERE kondisi;
Contoh untuk memperbarui data dalam record:
(Ubah alamat menjadi “Depok” untuk mahasiswa yang memiliki NIM
“10296832”)
UPDATE Mahasiswa SET ALAMAT=”Depok” WHERE NIM=” 10296832”;
3. Delete
Perintah ini digunakan untuk menghapus data dari tabel.Biasanya data yang
dihapus merupakan data yang sudah tidakdiperlukan lagi. Pada saat menghapus
data, perintah yang telahdijalankan tidak dapat digagalkan, sehingga data yang
telah hilang tidakdapat dikembalikan lagi.
Query untuk menghapus data/record dalam table:
DELETE FROM nama_tabel WHERE kondisi;
Contoh untuk menghapus data/record dalam table: (Hapus data Mahasiswa yang
mempunyai NIM “21198002”)
DELETE FROM Mahasiswa WHERE NIM=” 21198002”
4. Select
Perintah ini digunakan untuk mengambil data atau menampilkan data dari satu
tabel atau beberapa tabel. Data yang diambil dapat kita tampilkan dalam layar
prompt MySQL secara langsung maupun ditampilkan pada tampilan aplikasi.
a. Query untuk mengambil beberapa data/kolom dalam table:
18

SELECT kolom1, kolom2, ... FROM nama_tabel WHERE kondisi;


Contoh : SELECT NIM,NAMA,ALAMAT FROM Mahasiswa;
b. Query untuk mengambil seluruh kolom dalam table:
SELECT * FROM nama_tabel;
Contoh : SELECT * FROM Mahasiswa;
5. Commit
Perintah yang digunakan untuk menyimpan perubahan padaworkspace yang
sedang dioperasikan, karena pada awalnya perubahanmasih tersimpan pada
workspace temporary.
6. Rollback
Perintah yang digunakan untuk membatalkan perubahanyang dilakukan setelah
perintah COMMIT terakhir.
BAB 5
PENGELOLAAN DATA TERSTRUKTUR DALAM SQL

5.1 Klausa WHERE


Dalam SQL, klausa WHERE adalah perintah yang digunakan untuk menyaring
data berdasarkan kriteria tertentu. Fungsi WHERE digunakan dalam perintah
SELECT, UPDATE, DELETE, dan beberapa perintah lainnya pada query SQL. Dalam
klause WHERE ini kitab isa menggunakan operator perbandingan didalamnya. Klausa
WHERE hanya bisa dipakai untuk kondisi data yang sudah ada persis nilainya pada
tabel, bukan hasil agresi data.
Syntax:
SELECT nama_field, nama_field
FROM nama_tabel
WHERE nama_field OperatorValue

5.2 Pernyataan DISTINCT


Pernyataan SELECT DISTINCT digunakan untuk mengembalikan hanya nilai
yang berbeda. Di dalam sebuah tabel, kolom sering berisi banyak nilai duplikat, dan
terkadang kita hanya ingin membuat daftar perbedaan nilai yang berbeda. Pernyataan
SELECT DISTINCT digunakan untuk mengembalikan hanya nilai yang berbeda
tersebut.
Syntax
SELECT DISTINCT kolom1, kolom2, ...
FROM nama_tabel;

5.3 Pembaruan ( UPDATE ) dan Penghapusan Data ( DELETE )


Dalam sql, untuk memperbarui data yaitu menggunakan perintah Update
sedangkan untuk penghapusan itu menggunakan perintah delete.
1. Perintah Update digunakan untuk memperbarui record yang sudah eksis di tabel.
Perintah update di mysql ditulis seperti berikut
20

UPDATE table_name SET field_name = 'new_value' WHERE some_field_name


= 'some_value';
some_field_name adalah field tertentu yang menjadi patokan record tersebut.
Bisa kita isi field primary key nya. Atau field lain selain field yang recordnya mau
di update. some_value adalah value yang menjadi kekhususan yang dimuat oleh
record yang salah satu valuenya mau kita ubah.
2. Perintah Delete digunakan untuk menghapus record dengan ketentuan tertentu.
Perintah delete pada mysql adalah sebagai berikut
mysql> DELETE FROM table_name WHERE 'some_field' = 'some_value';

5.4 Operator Logika ( AND, OR, NOT )


Untuk memanggil data dengan kondisi tertentu kita menggunakan tiga fungsi
dalam sql, yaitu fungsi AND, OR, dan NOT
1. Operator AND menampilkan record jika semua kondisi dipisahkan oleh
AND adalah benar. Digunakan untuk mengembalikan baris yang memenuhi semua
kondisi yang diberikan. Syntax nya adalah
SELECT column1, column2, …
FROM table_name
WHERE condition1 AND condition2 AND condition3 …;
2. Operator OR menampilkan record jika ada kondisi yang dipisahkan oleh
OR adalah benar. Digunakan untuk mengembalikan baris yang memenuhi
setidaknya satu dari beberapa kondisi yang diberikan. Syntax nya adalah
SELECT column1, column2, …
FROM table_name
WHERE condition1 OR condition2 OR condition3 …;
3. Operator NOT menampilkan record jika kondisinya tidak benar. Digunakan untuk
mengembalikan baris yang tidak memenuhi kondisi tertentu. Syntax nya adalah
SELECT column1, column2, …
FROM table_name
WHERE NOT condition;
21

5.5 Operator IN, BETWEEN dan LIKE


Untuk melakukan pemanggilan data dengan Nilai Tertentu kita menggunakan
operator IN, BETWEEN, dan LIKE. Proses ini melibatkan ekstraksi data dari tabel
database berdasarkan nilai – nilai yang telah ditetapkan, menggunakan klausa
SELECT dengan kriteria atau kondisi tertentu dengan bantuan operator IN,
BETWEEN, dan LIKE
1. Operator IN memungkinkan kita untuk menentukan beberapa nilai tertentu yang
sesuai dengan kriteria yang ditentukan dalam klausa WHERE. Operator IN adalah
singkatan untuk beberapa kondisi OR. Sintaks IN
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1, value2, ...);
2. Operator BETWEEN memilih nilai dalam rentang tertentu. Nilai dapat berupa
angka, teks, atau tanggal. Operator BETWEEN bersifat inklusif: nilai awal dan
akhir disertakan. Sintaks BETWEEN:
SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;
3. Operator LIKE digunakan dalam klausa WHERE untuk mencari pola tertentu
dalam kolom. Ada dua wildcard yang sering digunakan bersama dengan operator
LIKE, tanda persen (%) mewakili nol, satu, atau beberapa karakter, tanda garis
bawah (_) mewakili satu karakter Tunggal, tanda persen dan garis bawah juga
dapat digunakan dalam kombinasi. Sintaks LIKE:
SELECT column1, column2, ...
FROM table_name
WHERE columnn LIKE pattern;

5.6 Operator ORDER BY dan LIMIT


Untuk melakukan pengurutan data pada sql, bisa menggunakan operator
ORDER BYE dan LIMIT
1. Operator ORDER BYE merupakan sebuah klausa yang digunakan untuk
mengurutkan hasil query pada sebuah kolom berdasarkan dengan nilai terbesar
atau terkecilnya. Untuk mengetahui diurutkan secara nilai terbesar atau terkecil,
22

setelah klausa ORDER BY dapat ditambahkan ASCENDING ataupun


DESCENDING. ORDER BY juga dapat digunakan tidak hanya satu kolom tetapi
bisa untuk beberapa kolom. ASCENDING merupakan command untuk
mengurutkan nilai dimulai dari yang terkecil, sedangkan DESCENDING akan
mengurutkan nilai dimulai dari yang terbesar. Secara default, ORDER BY akan
mengurutkan berdasarkan nilai yang terkecil atau disebut ASCENDING. Syntax
SELECT column1, column2,...
FROM table_name
ORDER BY column1, column2,... ASC | DESC;
2. Operator LIMIT adalah sebuah syntax/fungsi yang terdapat di SQL yang berfungsi
untuk membatasi jumlah row/baris yang kita panggil dari sebuah query. Klausa
ini digunakan umumnya untuk memberikan cuplikan mengenai hasil query yang
sudah dibuat oleh seorang analis data. Syntax
SELECT * FROM Customers LIMIT 3;
BAB 6
FUNGSI AGREGAT

6.1 Pengertian Agregat


Dalam sebuah sistem pengelolaan database, fungsi agregat merupakan salah
satu perintah yang paling sering digunakan. Fungsi agregat merupakan fungsi yang
melakukan perhitungan pada sekumpulan data yang menghasilkan sebuah nilai. Hasil
dari fungsi agregat tersebut umumnya digunakan untuk memberikan kesimpulan dari
data yang ada dan kemudian digunakan untuk analisis lanjutan.
Sebagai contoh, misalkan terdapat data harga penjualan makanan dan minuman
suatu bisnis F&B dari tahun ke tahun. Dengan menggunakan fungsi agregat, dapat
diperoleh beberapa hal di antaranya:
a. rata-rata harga penjualan makanan dan minuman dari tahun ke tahun
b. harga tertinggi dan terendah dari tiap makanan dan minuman yang dijual
c. total harga makanan dan minuman setiap tahunnya
d. mengetahui banyaknya jenis makanan dan minuman yang dijual oleh bisnis
tersebut dari tahun ke tahun
Data yang diperoleh tersebut kemudian dapat digunakan untuk analisis
lanjutan. Jadi, fungsi agregat merupakan salah satu fitur yang cukup penting dalam
mengambil sebuah kesimpulan dan analisis terhadap data yang ada.

6.2 Jenis – Jenis Fungsi Agrerat Dasar


Fungsi agregat dalam sql dibagi menjadi beberapa jenis yaitu seperti SUM( ),
AVG( ), COUNT( ), MAX( ), MIN( ), atau lebih jelasnya sebagai berikut

6.2.1 SUM ( )
SUM () digunakan untuk menjumlahkan data yang ada dalam sebuah kolom.
Penulisan klausa SUM pada SQL dituliskan setelah SELECT dan sebelum FROM.
Atau seperti berikut
SELECT SUM(name_field) as total_nama_field FROM table;
24

6.2.2 AVG ( )
Klausa AVG() digunakan untuk menghitung rata-rata dari data pada suatu
kolom. Penulisan klausa AVG pada SQL serupa dengan klausa SUM yaitu
setelah SELECT dan sebelum FROM. Atau seperti berikut
SELECT AVG(nama_field) AS ratarata_nama_field FROM table;

6.2.3 COUNT ( )
Klausa COUNT() umumnya digunakan untuk menghitung jumlah baris pada
sebuah tabel/sebuah kolom. Perlu diperhatikan bahwa sel yang berisi nilai Null tidak
akan terhitung apabila kita menggunakan fungsi COUNT() ini. Tidak hanya itu, klausa
ini juga dapat digunakan untuk menghitung jumlah data yang unik dalam sebuah
kolom hanya dengan menambahkan klausa DISTINCT dalam penulisan
klausa COUNT(). Penulisan klausa COUNT serupa dengan penulisan fungsi agregat
lainnya yaitu setelah SELECT dan sebelum FROM. Atau seperti berikut
SELECT COUNT(*) FROM table;

6.2.4 MAX ( ) dan MIN ( )


MAX() digunakan untuk mencari nilai tertinggi dari data yang ada pada suatu
kolom. Sedangkan MIN() digunakan untuk mencari nilai terendah dari data yang ada
pada suatu kolom. Syntax nya adalah seperti berikut
SELECT MAX(nama_field) AS max_field FROM table;
SELECT MIN(nama_field) AS min_field FROM table;
BAB 7
KETERGANTUNGAN FUNGSIONAL & NORMALISASI

7.1 Ketergantungan Fungsional


Ketergantungan fungsional (FK) bahasa inggris disebut dengan Functional
Dependency (FD) adalah gambaran hubungan ketergantungan antara dua atribut atau
kolom pada sebuah tabel/relasi, biasanya menggambarkan hubungan antara Primary
Key (PK) dan atribut non-kunci (non-key) lainnya. Ketergantungan Fungsional
menggambarkan hubungan attributes dalam sebuah relasi. Suatu attribute dikatakan
functionally dependency pada yang lain jika kita menggunakan harga atribut tersebut
untuk menentukan harga atribut yang lain. Simbol yang digunakan adalah => untuk
mewakili functional dependency. => dibaca secara fungsional menentukan.

1. X => Y, X dan Y adalah atribut dari sebuah tabel. X secara fungsional tergantung Y
Y secara fungsional menentukan X. Berarti secara fungsional X menentukan Y
atau Y tergantung pada X, jika dan hanya jika ada 2 baris data dengan nilai X yang
sama, maka nilai Y juga sama. Contoh

Tabel 7.1 Contoh penggunaan ketergantungan fungsional

Sebagai keterangan mengenai notasi diatas bahwa sebelah kiri notasi


disebut determinant, sedangkan bagian sebelah kanan disebut dependent. Relasi ini
mengandung atribut kode_barang, nama_barang, dan qty. Artinya kode_barang secara
fungsional menentukan nama_barang, telah terlihat bahwa untuk kode_barang yang
sama dan nama_barang juga sama, sehingga kode_barang => nama_barang.

7.2 Jenis – Jenis Ketergantungan Fungsional


Ada tiga macam jenis Ketergantungan fungsional yang sebaiknya dipahami
yaitu ketergantungan fungsional penuh (full functional Depedency), ketergantungan
26

fungsional parsial/sebagian (partially functional dependency), dan ketergantungan


fungsional transitif (transitive dependency).

7.2.1 Ketergantungan Fungsional Penuh ( Full Functional Dependency )


Ketergantungan fungsional penuh (full functional Dependency) adalah jika
diberikan atribut A dan B pada suatu tabel, B dikatakan memiliki ketergantungan
fungsional secara penuh pada A jika B memiliki ketergantungan pada A, dan B tidak
tergantung pada subset A. Contoh

Gambar 7.1 Contoh KF penuh


Dikatakan full dependency kalau hanya A yang menentukan B dalam hal ini
adalah NIM ⇒ idRuang. Jika Nama dan NIM yang menentukan idRuang maka hal ini
tidak dapat dikatakan sebagai full dependency.

7.2.2 Ketergantungan Fungsional Parsial ( Partially Functional Dependency )


Ketergantungan fungsional parsial (partially functional dependency) adalah
diberikan atribut A dan B dalam suatu tabel, B dikatakan memiliki ketergantungan
fungsional secara parsial (sebagian) pada A jika B memiliki ketergantungan pada A,
dan B tergantung pada subset A. Partionally dependency ini memiliki 2 atribut dari A
untuk menentukan B, namun untuk menentukan B tidak harus 2 atribut artinya jika
salah satu atribut A yang menentukan B dapat dihilangkan namun tidak merubah arti
relasi dan masih tetap berelasi ketergantungan. Contoh
27

Gambar 7.2 Contoh KF Parsial


Ketergantungan sebagian {NIM, Nama} ⇒ idRuang dimana jika Nama
dihilangkan maka ketergantungan tetap ada.

7.2.3 Ketergantungan Fungsional Transitif ( Transitive Functional


Dependency )
Ketergantungan fungsional transitif (transitive dependency) adalah diberikan
atribut A, B dan C pada sebuah tabel, C dikatakan memiliki ketergantungan fungsional
secara transitif pada A jika B tergantung pada A, dan C tergantung pada subset B.
Transitive dependency biasanya terjadi pada tabel hasil relasi, atau kondisi dimana
terdapat tiga atribut A,B,C. Kondisinya adalah A ⇒ B dan B ⇒ C. Maka C dikatakan
sebagai transitive dependency terhadap A melalui B. Contoh

Gambar 7.3 Contoh KF Transitif


NIP ⇒ {Nama, Jabatan, Gaji, kdCabang, almCabang}, kdCabang ⇒
almCabang, NIP menentukan semua atribut dan atribut almCabang ditentukan oleh
NIP namun melalui kdCabang.

7.3 Manfaat Ketergantungan Fungsional


Ketergantungan fungsional dalam database memiliki beberapa manfaat penting:
1. Integritas Data, dengan ketergantungan fungsional yang tepat, Anda dapat
memastikan integritas data. Ini artinya setiap informasi yang dimasukkan ke dalam
database akan konsisten dan dapat diandalkan.
28

2. Keterbacaan dan Pemahaman yang Lebih Baik, struktur data yang baik
berdasarkan ketergantungan fungsional membuat database lebih mudah dipahami.
Ini memudahkan pengguna atau pengembang untuk membaca dan bekerja dengan
data.
3. Optimasi Penyimpanan dan Kinerja, dengan menggunakan ketergantungan
fungsional, Anda dapat mengoptimalkan penyimpanan data dengan meminimalkan
redundansi. Hal ini juga dapat meningkatkan kinerja database karena pengambilan
dan manipulasi data menjadi lebih efisien.
4. Kontrol dan Pemeliharaan yang Lebih Baik, database yang didesain berdasarkan
ketergantungan fungsional yang baik lebih mudah untuk dikelola dan dipelihara.
Perubahan atau pemeliharaan dalam struktur database menjadi lebih terorganisir.
5. Ketergantungan fungsional membantu para pengembang untuk merancang
database yang terstruktur dengan baik, meningkatkan efisiensi penyimpanan data,
dan memastikan integritas serta konsistensi informasi.

7.4 Normalisasi
Normalisasi Database adalah, satu teknik yang berdasarkan logika desain di
dalam sebuah basis data itu sendiri. Yang mana, basis data tersebut akan
mengelompokkan berbagai atribut dari berbagai entitas di dalam suatu relasi yang ada.
Sehingga nantinya, akan terbentuk suatu struktur relasi yang baik tanpa adanya
pengulangan data. Hal ini juga bisa menghilangkan sebagian besar data yang tidak
jelas atau ambiguity data.
Secara singkat, Normalisasi Database merupakan suatu proses pengelompokan
berbagai atribut data yang ada serta membentuknya menjadi suatu entitas yang
fleksibel, sederhana, mudah beradaptasi, serta nonredundan. Kalau sudah dibentuk
menjadi seperti itu, sudah pasti basis data yang terbuat akan memiliki kualitas yang
sangat baik. Lebih mudahnya lagi, normalisasi basis data adalah sebuah proses
menormalkan berbagai data dari berbagai hal yang tidak sesuai dengan apa yang
diinginkan atau harapkan.

7.5 Jenis – Jenis Anomali


Tujuan utama Normalisasi Database adalah, untuk mengurangi bahkan
menghilangkan redudansi data atau pengulangan data. Berikutnya, adalah untuk
29

memastikan data yang ada, berada di tabel yang tepat. Ketika ada suatu basis data yang
belum dilakukan normalisasi, terdapat beberapa kemungkinan yang bisa berakhir
merugikan dari keseluruhan sistem itu sendiri.
1. Insert Anomali
Adalah sebuah kemungkinan di mana terciptanya kondisi dari basis data yang tidak
bisa dimasukkan beberapa jenis data secara langsung oleh sang pengembang.
2. Delete Anomali
Kondisi di mana terjadinya penghapusan suatu data yang tidak sesuai harapan,
dengan kata lain, bisa saja data yang tidak ingin kalian hapus menjadi ikut
terhapus.
3. Update Anomali
Suatu kemungkinan terjadinya kondisi perubahan data yang tidak sesuai dengan
apa yang kalian inginkan. Misalnya ketika kalian ingin mengubah dari suatu data,
malah menimbulkan efek basis data yang tidak konsisten dan perubahan yang tidak
sesuai dengan apa yang kalian perintahkan.

7.6 Tahapan Normalisasi


Untuk melakukan normalisasi database kita harus mengidentifikasi data seperti
apa yang akan disimpan, dan berikut adalah tahapannya
1. Bentuk Tidak Normal (unnormalize)
Bentuk tidak normal (unnormalized) merupakan kumpulan data yang direkam
tidak ada keharusan dengan mengikuti suatu format tertentu. Pada bentuk tidak
normal terdapat repeating group (Pengulangan Group), sehingga pada kondisi ini
data menjadi permasalahan dalam melakukan manipulasi data (insert, update, dan
delete) atau biasa disebut anomali.
2. 1NF / First Normal Form
1NF mensyaratkan beberapa kondisi dalam sebuah database, berikut adalah fungsi
dari bentuk normal pertama ini.
a. Menghilangkan duplikasi kolom dari tabel yang sama.
b. Buat tabel terpisah untuk masing-masing kelompok data terkait dan
mengidentifikasi setiap baris dengan kolom yang unik (primary key).
30

Pada intinya bentuk normalisasi 1NF ini mengelompokkan beberapa tipe data
atau kelompok data yang sejenis agar dapat dipisahkan sehingga anomali data
dapat di atasi.
3. 2NF
Syarat untuk menerapkan normalisasi bentuk kedua ini adalah data telah dibentuk
dalam 1NF, berikut adalah beberapa fungsi normalisasi 2NF.
a. Menghapus beberapa subset data yang ada pada tabel dan menempatkan
mereka pada tabel terpisah.
b. Menciptakan hubungan antara tabel baru dan tabel lama dengan menciptakan
foreign key.
c. Tidak ada atribut dalam tabel yang secara fungsional bergantung pada
candidate key tabel tersebut.
4. 3NF
Pada 3NF tidak diperkenankan adanya partial “transitive dependency“ dalam
sebuah tabel. Transitive dependency biasanya terjadi pada tabel hasil relasi, atau
kondisi dimana terdapat tiga atribut A, B, C. Kondisinya adalah A ⇒ B dan B ⇒
C. Maka C dikatakan sebagai transitive dependency terhadap A melalui B. Intinya
pada 3NF ini, jika terdapat suatu atribut yang tidak bergantung pada primary key
tapi bergantung pada field yang lain maka atribut-atribut tersebut perlu dipisah ke
tabel baru.
5. BCNF Boyce–Codd normal form
Adalah tahapan normalisasi basis data yang masih memiliki hubungan erat dengan
bentuk dalam tahapan 3NF sebelumnya Karena dalam tahapan Normalisasi
Database satu ini, semua anomali atau gangguan yang sebelumnya tidak bisa
diatasi dalam tahaf 3NF, akan diatasi dalam tahap yang satu ini. Tahapan ini juga
tidak wajib digunakan dalam semua tabel data yang ada. Untuk tabel untuk
memenuhi Bentuk Normal Boyce-Codd, harus memenuhi dua kondisi berikut
yaitu tabel harus dalam bentuk normal ketiga. dan, untuk ketergantungan apa pun
A → B, A harus menjadi super key.
6. 5NF
Tahapan yang dilakukan demi mengatasi suatu kondisi di mana terjadinya joint
dependent yang mengakibatkan pemecahan relasi menjadi dua bagian.
BAB 8
DATA CLEANING

8.1 Pengenalan Data Cleaning


Data Cleaning adalah proses mempersiapkan data untuk analisis dengan
menghapus atau memodifikasi data yang tidak benar, tidak lengkap, tidak relevan,
diduplikasi, atau diformat dengan tidak benar. Data ini biasanya tidak diperlukan atau
membantu dalam menganalisis data karena dapat menghambat proses atau
memberikan hasil yang tidak akurat. Ada beberapa metode untuk membersihkan data
tergantung cara penyimpanannya beserta jawaban yang dicari.
Data Cleaning bukan hanya tentang menghapus informasi untuk memberi
ruang bagi data baru, melainkan menemukan cara untuk memaksimalkan akurasi
kumpulan data tanpa harus menghapus informasi. Pertama, data cleaning mencakup
lebih banyak tindakan daripada menghapus data, seperti memperbaiki kesalahan ejaan
dan sintaksis, menstandardisasi kumpulan data, dan mengoreksi kesalahan seperti
bidang kosong, kode yang hilang, dan mengidentifikasi titik data duplikat. Data
Cleaning dianggap sebagai elemen dasar dari dasar- dasar ilmu data , karena
memainkan peran penting dalam proses analitis dan mengungkap jawaban yang andal.
Ada beberapa ciri-ciri database yang berkualitas seperti :
a. Akurat, artinya sesuai dengan nilai yang sebenarnya
b. Valid, artinya menggambarkan data sesuai dengan kenyataan
c. Seragam. memiliki satuan atau format yang sama
d. Konsisten, artinya sama di berbagai kumpulan data dalam jumlah besar (big data)
perusahaan komplit, artinya informasi dalam datanya tersebut lengkap
Pembersihan data atau data cleansing dilakukan karena mungkin ada saja data
yang kotor. Berikut penyebabnya
1. Kesalahan Input Manusia
2. Sistem Otomatis yang Bermasalah
3. Keterbatasan Teknologi dan Perangkat Lunak
4. Pergeseran Kebutuhan Bisnis
5. Penggabungan Data dari Sumber yang Berbeda
32

6. Kesalahan dalam Proses Transfer Data


7. Perubahan dalam Aturan atau Standar
8. Penyusutan Nilai Data Seiring Waktu
9. Ketidaksesuaian dengan Aturan Integritas Referensial
10. Serangan atau Pelanggaran Keamanan

8.2 Teknik – Teknik Data Cleaning


Terdapat beberapa Teknik untuk membersihkan data dalam system basis data
1. Pembersihan Data Kosong atau Hilang
Mengelola nilai yang kosong atau hilang dengan menghapus baris yang tidak
lengkap atau mengisi nilai kosong dengan estimasi atau teknik imputasi.
2. Penanganan Duplikat
Mendeteksi dan menghapus data duplikat agar tidak mempengaruhi analisis.
3. Normalisasi
Standarisasi format data seperti tanggal, angka, atau teks untuk memudahkan
analisis.
4. Pendeteksian Kesalahan atau Outlier
Mengidentifikasi dan menangani kesalahan data atau nilai yang jauh dari pola
umum yang dapat mempengaruhi analisis.
5. Validasi
Memastikan data memenuhi aturan atau kriteria tertentu, seperti rentang nilai yang
valid atau format yang benar.
6. Integrasi Data
Menggabungkan data dari beberapa sumber untuk memastikan konsistensi dan
keselarasan.
7. Transformasi Data
Melakukan transformasi seperti pengubahan unit, normalisasi skala, atau
mengubah representasi data untuk keperluan analisis.
8. Pemilihan Atribut
Memilih atribut yang paling relevan atau mengurangi dimensi data untuk fokus
pada informasi yang penting.
33

9. Pembersihan Teks
Untuk data teks, membersihkan, dan menghapus karakter khusus, stop words, atau
tanda baca yang tidak relevan.
10. Verifikasi Konsistensi
Memeriksa konsistensi dalam data untuk memastikan data konsisten pada level
yang diperlukan.

8.3 Syarat – Syarat Data Cleaning


Tentu saja, sebelum melakukan pembersihan data, terdapat syarat – syarat yang
harus dipenuhi untuk membantu memastikan bahwa proses data cleaning dilakukan
dengan efektif, menjaga integritas data, dan memastikan data siap untuk analisis dan
penggunaan lebih lanjut. Syarat-syarat yang penting dalam proses data cleaning dalam
sistem basis data meliputi:
1. Akses Data yang Baik
Kemampuan untuk mengakses dan memahami struktur data dengan baik agar
proses pembersihan data dapat dilakukan secara efektif.
2. Pemahaman Mendalam terhadap Data
Memahami konteks dan karakteristik data yang akan dibersihkan untuk
mengidentifikasi potensi masalah atau anomali.
3. Alat atau Perangkat Lunak yang Tepat
Penggunaan alat atau perangkat lunak yang sesuai untuk melakukan pembersihan
data dengan efisien, seperti Python, R, SQL, atau perangkat lunak khusus data
cleaning.
4. Pemantauan dan Replikasi
Pemantauan secara teratur untuk memastikan integritas data terjaga setelah proses
pembersihan selesai. Replikasi atau pencatatan langkah-langkah pembersihan juga
penting untuk pemulihan jika diperlukan.
5. Pengujian dan Verifikasi
Melakukan pengujian dan verifikasi data setelah proses pembersihan untuk
memastikan bahwa data telah dibersihkan dengan benar dan masih sesuai dengan
kebutuhan.
34

6. Konsistensi dan Standarisasi


Menerapkan standar konsistensi dalam seluruh proses pembersihan data, termasuk
standar format, penamaan, dan nilai yang konsisten.
7. Kebijakan Keamanan dan Privasi
Memastikan bahwa kebijakan keamanan dan privasi data dipatuhi selama proses
pembersihan data untuk melindungi informasi sensitif.
8. Komitmen terhadap Kualitas Data
Kesadaran bahwa pembersihan data adalah langkah terus-menerus dan adanya
komitmen untuk menjaga kualitas data secara berkelanjutan

8.4 Tahapan Dalam Data Cleaning


Setelah memahami dan memenuhi syarat untuk melakukan data cleaning,
terdapat pula tahap – tahap penting yang harus diperhatikan saat kita melakukan data
cleaning. Setiap tahapan tersebut memegang peranan penting dalam menjaga
kebersihan, keakuratan, dan kegunaan data dalam sistem basis data, memastikan data
siap untuk digunakan dalam analisis dan pengambilan keputusan. Tahapan tersebut
ialah sebagai berikut
1. Pemahaman Data
Memahami struktur data, variabel, dan atribut yang ada dalam basis data, serta
memahami konteks dan tujuan dari pembersihan data.
2. Pendeteksian Kesalahan atau Anomali
Identifikasi nilai-nilai yang kosong, duplikat, outlier, atau kesalahan lainnya dalam
data.
3. Penanganan Data Kosong atau Hilang
Menangani nilai yang hilang dengan menghapus baris yang tidak lengkap atau
mengisi nilai yang kosong dengan teknik imputasi yang sesuai.
4. Penanganan Duplikat
Mendeteksi dan menghapus data duplikat agar tidak mempengaruhi analisis atau
kesimpulan yang diambil dari data.
5. Normalisasi dan Transformasi Data
Standarisasi format data seperti tanggal, angka, atau teks, serta melakukan
transformasi yang diperlukan untuk memudahkan analisis.
35

6. Verifikasi dan Validasi


Memverifikasi hasil pembersihan untuk memastikan bahwa data sudah bersih,
konsisten, dan sesuai dengan aturan atau standar yang ditetapkan.
7. Pengujian dan Evaluasi
Melakukan pengujian untuk memastikan data yang sudah dibersihkan tetap sesuai
dengan ekspektasi dan kebutuhan analisis.
8. Pemantauan dan Dokumentasi
Memonitor proses pembersihan dan mendokumentasikan langkah-langkah yang
dilakukan untuk referensi dan pemulihan jika diperlukan di masa mendatang.
9. Pembaruan dan Perbaikan Berkelanjutan
Memastikan adanya mekanisme pembaruan dan perbaikan data secara berkala
untuk menjaga kualitas data dalam jangka panjang

8.5 Manfaat Data Cleaning


Dengan memahami dan menerapkan praktik data cleaning yang baik, sistem
basis data dapat memberikan manfaat yang signifikan bagi organisasi atau pengguna
dalam mengambil keputusan yang lebih baik dan efisien seperti
1. Keakuratan
Membersihkan data memastikan bahwa data yang digunakan untuk analisis atau
pengambilan keputusan adalah akurat dan tepat. Ini mengurangi risiko kesalahan
dalam penafsiran dan keputusan yang diambil.
2. Kebersihan Data
Dengan membersihkan data dari nilai-nilai yang hilang, duplikat, atau tidak
relevan, integritas keseluruhan basis data terjaga. Hal ini menghindari
inkonsistensi atau kekacauan dalam penggunaan data.
3. Ketepatan Analisis
Data yang bersih dan terstruktur memungkinkan analisis yang lebih tepat dan
akurat, sehingga meningkatkan kualitas hasil analisis dan prediksi.
36

4. Efisiensi Operasional
Data yang sudah dibersihkan membantu meningkatkan efisiensi operasional,
karena meminimalkan waktu yang terbuang untuk menangani masalah yang terkait
dengan data yang tidak bersih atau tidak lengkap.
5. Kepercayaan Pengguna
Dengan data yang bersih dan terpercaya, kepercayaan pengguna terhadap sistem
basis data juga meningkat, yang pada gilirannya meningkatkan adopsi dan
pemanfaatan sistem.
6. Penghematan Biaya
Mencegah keputusan yang salah atau analisis yang keliru karena data yang buruk
dapat menghemat biaya yang mungkin timbul akibat kesalahan atau keputusan
yang tidak akurat.
7. Pembaruan Berkelanjutan
Melalui proses pembersihan yang terus-menerus, sistem basis data menjadi lebih
responsif terhadap perubahan dan dapat mempertahankan kualitas data yang baik
seiring waktu.

Anda mungkin juga menyukai