Anda di halaman 1dari 48

DATABASE

Oleh Muh. Anas Faishol,S.Kom,M.T


Pengertian
• Database atau basis data adalah kumpulan data yang dikelola
sedemikian rupa berdasarkan ketentuan tertentu yang saling
berhubungan sehingga mudah dalam pengelolaannya
DBMS
• Database Management System atau DBMS adalah software yang
digunakan untuk mengelola, menyimpan, dan mengambil database.
• Software ini menyediakan antarmuka yang memungkinkan user
membaca, membuat, menghapus, dan memperbarui data.
• DBMS mengoptimalkan pengelolaan data menggunakan teknik skema
database yang disebut normalisasi. Hasilnya, tabel data besar akan
dipecah menjadi bagian-bagian yang lebih kecil untuk meminimalkan
redundansi dan dependensi.
Komponen DBMS:
• Storage engine. Storage engine atau mesin penyimpanan adalah elemen inti DBMS yang berinteraksi dengan
sistem file di tingkat sistem operasi.
• Query language. Contohnya termasuk Structured Query Language (SQL) dan MongoDB Query Language
(MQL), keduanya digunakan untuk berinteraksi dengan database.
• Query processor. Komponen ini menafsirkan query user sehingga database bisa memahami command yang
diinput.
• Optimization engine. Memberikan insight tentang performa dan kueri database.
• Metadata catalog. Komponen ini bertindak sebagai repositori objek database. Setiap objek yang dibuat akan
disimpan di sini. Katalog ini digunakan untuk memverifikasi kueri user dan memberikan detail struktur
database.
• Log manager. Komponen ini melacak aktivitas pengguna, login, backup, dan tindakan lain yang dilakukan
dengan DBMS.
• Reporting and monitoring tool. Utilitas ini menghasilkan laporan dan memantau penggunaan resource
DBMS.
• Data utilities. Tool tambahan yang melakukan tugas backup dan recovery, validasi data, perbaikan database,
dan pengecekan integritas data di shared server atau private server Anda.
Jenis DBMS

• Relational Database Management System (RDBMS)


• Document Database Management System (DoDBMS)
• Columnar Database Management System (CDBMS)
Relational Database Management System (RDBMS)

RDBMS memiliki antarmuka yang user-friendly dan menggunakan data


terstruktur dalam bentuk tabel dengan relasi yang telah ditentukan
sebelumnya.
Fitur-fitur yang membedakan RDBMS dengan DBMS adalah:
• Struktur. Data disusun dalam format tabel.
• Pengguna. RDBMS mendukung banyak user yang mengoperasikannya secara
bersamaan.
• Program. Mengontrol relasi antartabel data yang tergabung.
• Data. RDBMS bisa menangani data dalam jumlah besar.
• Database terdistribusi: Mendukung database terdistribusi, sedangkan DBMS tidak
mendukungnya.
• Redundansi data: RDBMS memiliki kunci dan indeks untuk mencegah redundansi
data.
Document Database Management System
(DoDBMS)
• DoDBMS mengelola data dalam file yang mirip dengan JSON, yang
hampir tidak memiliki struktur relasional.
• Sistem ini biasanya menggunakan MongoDB Query Language untuk
operasi database, termasuk membaca dan menulis.
Columnar Database Management System
(CDBMS)
• CDBMS mengelola database dalam format kolom untuk mencapai
performa tinggi.
• Sistem ini menyediakan pemrosesan analitik yang cepat karena
membaca data secara efisien. Itulah sebabnya bisnis dengan data
yang memerlukan kapasitas disk besar biasanya menggunakan
CDBMS.
5 DBMS paling populer
• MySQL. Database relasional yang menyimpan data dalam bentuk
tabel.
• PostgreSQL. Database relasional yang memungkinkan Anda
menyesuaikan jenis dan fungsi data.
• MongoDB. Sistem database dokumen yang mengubah data JSON
menjadi format file biner.
• Cassandra Database. Sistem database terdistribusi yang mereplikasi
data di beberapa perangkat.
• Oracle Database. Database relasional yang membagi struktur fisik
dan logis dalam arsitektur sistemnya.
Pengertian SQL
• Structured Query Language atau SQL adalah
perintah pemrograman yang digunakan untuk
mengakses dan mengelola data pada sistem
database.
• Umumnya, SQL digunakan dalam pengolahan data yang berbasis
relasional, baik itu mengakses, mengubah, menghapus, dan
memanipulasi data tersebut.
• Istilah yang sering digunakan adalah CRUD
Sejarah Perkembangan SQL
• SQL pertama kali dibahas oleh seorang peneliti bernama Jhonny
Oracle pada artikel yang diterbitkan bulan Juni tahun 1970.
• Istilah yang digunakan adalah SEQUEL (Structured English Query
Language)
• Setelah melalui proses standarisasi mulai dari tahun tersebut sampai
tahun 1986, SQL mengalami perbaikan pertama pada tahun 1989.
• pada tahun 1986, ANSI (American National Standard Institute)
menentukan standar untuk SQL yang diharapkan untuk meningkatkan
keberagamaan aplikasi RDBMS (Relational Database Management
System)
Fungsi SQL
• Membuat database — perintah yang digunakan untuk membuat database
adalah create database nama_database;
• Mengaktifkan data base — untuk mengaktifkan database, berikut adalah perintah
yang digunakan use nama_database;
• Menampilkan database — perintah yang digunakan untuk menampilkan database adalah
show databases;
• Menghapus database — untuk menghapus database, perintah yang digunakan adalah drop database
nama_database;
• Membuat tabel — untuk membuat tabel, perintah yang digunakan adalah create table nama_tabel;
• Menghapus tabel — perintah yang digunakan untuk menghapus tabel adalah drop table nama_tabel;
• Melihat struktur tabel — perintah yang digunakan untuk melihat struktur tabel adalah describe
nama_tabel; atau desc nama_tabel;
• Menghapus data — perintah query yang digunakan untuk menghapus data adalah delete from nama_tabel;
Persiapan
• Install XAMPP / LARAGON / MAMP
• Laragon
https://sobatcoding.com/articles/cara-install-dan-menggunakan-
laragon
• XAMP
https://codepolitan.com/blog/mengenal-xampp-dan-cara-install-xampp-di-
windows
• MAMP
https://itkampus.com/mamp-alternatif-xampp-untuk-pengguna-macos/

• Hubungkan dengan aplikasi DBMS (Dbeaver, heidi, navicat)


Tipe Data
• Dalam pendefinisian data yang akan disimpan didatabase, kita perlu
menentukan tipe data yang akan digunakan.

• Fungsi : Ketepatan pemilihan tipe data yang sesuai dengan data dan
kebutuhan akan membuat kecepatan performasi database menjadi
lebih baik.
Jenis Tipe Data
• Numeric (Number),
• String,
• Date dan
• Tipe Data Blob
Tipe Data Number
TIPE DATA KETERANGAN UKURAN
Integer atau Int [(m)] Bilangan bulat ( Positif / Negatif ) 4 byte
Signed value : -2147683648 to 2147683647
Unsigned value : 0 to 4294967295
Decimal atau Dec (M,D) Bilangan pecahan ( Positif / Negatif ) Bilangan desimal dengan nilai tergantung besaran M byte
M dan D
Tinyint [(m)] Bilangan bulat ( Positif / Negatif ) 1 byte
Signed value : -128 to 127
Unsigned value : 0 to 255
Smallint [(m)] Bilangan bulat ( Positif / Negatif ) 2 byte
Signed value : -32768 to 32767
Unsigned value : 0 to 65535
Mediumint [(m)] Bilangan bulat ( Positif / Negatif ) 3 byte
Signed value : -8388608 to 838860
Bigint [(m)] Unsigned value : 0 to 18446744073709551615 8 byte
bulat ( Positif / Negatif )
Signed value : - 922337203685477808 to 9223372036854775807

Float (m,d) Bilangan pecahan presisi tunggal 4 byte


Double [(m,d)] Bilangan pecahan presisi ganda 8 byte
Tipe Data String
TIPE DATA KETERANGAN
Char atau character A Fixed-length character string : menyatakan deretan karakter (string)
yang lebarnya tetap yaitu maksimum adalah 255 karakte
Varchar A variable-length character string : Data string dengan lebar data yang
bervariasi (M), Maksimum lebar adalah 255 karakter
Text Berisi text yang panjang, terdapat 4 macam:
• TINYTEXT dengan maksimum 255 karakter (~256 bytes)
• TEXT dengan maksimum 65535 karakter ( ~64 kb)
• MEDIUMTEXT dengan maksimum 16777215 karakter (~16MB) •
LONGTEXT dengan maksimum 4294967295 karakter (~4GB)
Enum Tipe data string yang bisa kita tentukan pilihan-pilihannya
Tipe Data Date dan Time
TIPE DATA KETERANGAN UKURAN
Date Digunakan untuk tanggal dengan 3 byte
format "YYYY-MM- DD" Range nilai
: "1000-01-01" s.d "9999-12-31"
Time Digunakan untuk waktu dengan 3 byte
format "hh:mm:ss" Range nilai : -
838:59:59" s.d "838:59:59"
Datetime Digunakan untuk tanggal dan 8 byte
waktu dengan format "YYYY-MM-
DD hh:mm:ss" Range nilai :"1000-
01-01 00:00:00" s.d "9999-12-31
23:59:59"
Time stamp Time Digunakan untuk penulisan 4 byte
tanggal dan waktu dengan format
"YYYY-MM-DD hh:mm:ss"
Year Digunakan untuk penulisan tahun 1 byte
Tipe Data Boolean
• Tipe data kebenaran atau benar salah yaitu data hanya terdiri dari dua
jenis benar dan salah. Benar direpresentasikan dengan data TRUE,
sedangkan data salah direpresentasikan dengan data FALSE.
Tipe Data Lainnya
• ipe data lainnya dalam MySQL sebenarnya ada banyak misalnya BLOB,
SPATIAL, JSON, SET dan lain-lain.
• Namun tipe data lainnya yang sering digunakan adalah BLOB. BLOB
merupakan tipe data yang dapat digunakan untuk menyimpan data
biner yang mampu menampung gambar, video, musik, dan lain-lain.
Tipe Data Blob

TIPE DATA KETERANGAN JANGKAUAN


BIT Menyimpan data biner. 64 digit biner
TINYBLOB Gambar ukuran kecil 255 byte
BLOB Gambar 4
MEDIUMBLOB Gambar kuran sedang 224-1 byte
LONGBLOB Gambar ukuran besar 22- 1 byte
Jenis Perintah Database SQL

Data Definition Language (DDL)

Data Manipulation Language (DML)

Data Control Language (DCL)


Data Definition Language (DDL)

• DDL adalah sebuah metode query SQL yang digunakan


• untuk memberikan definisi data pada sebuah database.
• Contoh: membuat tabel baru, mengubah dataset, dan menghapus
data.
Perintah Dasar DDL
• Create — perintah yang digunakan untuk membuat sebuah database baru,
baik dalam bentuk tabel baru atau kolom baru.
• Alter — query ini biasanya digunakan untuk mengubah struktur tabel yang
sudah ada, bisa jadi dalam hal nama, menambahkan attribute, dan
menghapus kolom.
• Rename — perintah ini digunakan untuk mengubah nama di sebuah tabel
maupun kolom yang ada pada database.
• Drop — query drop digunakan untuk menghapus elemen database apapun
yang Anda inginkan, mulai dari database, tabel, sampai index.
• Show — perintah show digunakan untuk menampilkan data yang ada pada
database.
Membuat Tabel
• Tabel merupakan objek dalam database yang terdiri dari baris dan kolom yang
nantinya digunakan untuk menyimpan data yang mempunyai relasi dengan data
yang lain.
• Perintah untuk membuat tabel yaitu “CREATE”.
• Dalam mendefinsikan tabel kita harus menentukan:
• nama kolom,
• tipe data dan
• constraint yang dimilikinya
Menampilkan Seluruh Tabel dan Melihat
Informasi Sebuah Tabel
• show tables;
• DESCRIBE table_name;
ALTER TABLE
• Cara Merubah Tipe Data Kolom MySQL

• Cara Merubah Nama Kolom Tabel MySQL

• Cara Merubah Nama Tabel MySQL


• Cara Menambahkan Kolom Baru pada Tabel MySQL

• Cara Menghapus Kolom Tabel MySQL

• Cara Merubah Tipe Data Table (Table Engine) MySQL


Data Manipulation Language (DML)
• Data Manipulation Language adalah query yang digunakan untuk
memanipulasi data yang ada pada sebuah database.
•Insert — perintah insert digunakan untuk memasukkan record atau
data baru dalam tabel database.
•Select — query ini bisa digunakan untuk menampilkan maupun
mengambil data pada sebuah tabel, data yang diambil tidak hanya
terbatas pada satu jenis.
•Update — perintah yang digunakan jika Anda ingin melakukan
pembaruan data di sebuah tabel, berguna jika ada kesalahan input pada
saat membuat tabel.
•Delete — digunakan untuk menghapus record yang ada dalam tabel
database.
Query
• Insert

• Select

• Update

• Delete
Data Control Language (DCL)
• Perintah ini biasanya digunakan untuk mengatur hak yang dimiliki
oleh pengguna dalam hal database, tabel, maupun field.
• Tujuan: admin database bisa dengan mudah menjaga kerahasiaan
sebuah database
Perintah Dasar DCL
• Grant — perintah grant digunakan saat admin memberikan akses
kepada user.
• Revoke — query ini digunakan untuk membatalkan hak izin seorang
user.
• Commit — perintah commit digunakan untuk menetapkan
penyimpanan database.
• Rollback — query rollback digunakan untuk membatalkan
penyimpanan database.
Relasi Antar Tabel dalam Database
• Relasi adalah hubungan antara tabel yang mempresentasikan
hubungan antar objek di dunia nyata. Relasi merupakan hubungan
yang terjadi pada suatu tabel dengan lainnya yang mempresentasikan
hubungan antar objek di dunia nyata dan berfungsi untuk mengatur
mengatur operasi suatu database.
Jenis Relasi

•One-To-One (1-1)
•One-To-Many (1-N)
•Many-To-Many (N-M)
One-To-One (1-1)
• Mempunyai pengertian “Setiap baris data pada tabel pertama
dihubungkan hanya ke satu baris data pada tabel ke dua”.
• Contohnya : relasi antara tabel mahasiswa dan tabel orang tua. Satu
baris mahasiswa hanya berhubungan dengan satu baris orang tua
begitu juga sebaliknya.
One-To-Many (1-N)
• Mempunyai pengertian “Setiap baris data dari tabel pertama dapat
dihubungkan ke satu baris atau lebih data pada tabel ke dua”.
• Contohnya : relasi perwalian antara tabel dosen dan tabel mahasiswa.
Satu baris dosen atau satu dosen bisa berhubungan dengan satu baris
atau lebih mahasiswa.
Many-To-Many (N-M)
• Mempunyai pengertian “Satu baris atau lebih data pada tabel
pertama bisa dihubugkan ke satu atau lebih baris data pada tabel ke
dua”. Artinya ada banyak baris di tabel satu dan tabel dua yang saling
berhubungan satu sama lain.
• Contohnya : relasi antar tabel mahasiswa dan tabel mata kuliah. Satu
baris mahasiswa bisa berhubungan dengan banyak baris mata kuliah
begitu juga sebaliknya.
Constraint
• Constraint adalah aturan atau batasan yang ditentukan dan terapkan
pada sebuah tabel untuk menjaga integritas dan konsistensi data.
• Constraint ini biasanya diterapkan saat melakukan create table atau
bisa juga saat alter tabel. Constraint pada MySQL yaitu primary key,
foreign key, unique, not null dan check.
Primary Key (PK)
• primary key adalah tanda pengenal unik yang membedakan satu
record dari yang lain
• Aturan PK
• Primary key harus berisi nilai unik. Jika primary key terdiri dari beberapa
kolom, kombinasi value pada kolom ini harus unik
• Kolom primary key tidak boleh berisi nilai NULL. Ini berarti bahwa kalian harus
mendeklarasikan kolom primary key dengan atribut NOT NULL. Jika tidak,
MySQL akan memaksa kolom primary key sebagai NOT NULL secara implisit.
• Sebuah tabel hanya memiliki satu primary key
Foreign Key
• foreign key adalah pengenal unik atau kombinasi pengenal unik yang
menghubungkan dua tabel atau lebih dalam database.
• Saat memutuskan tabel mana dalam database relasional yang harus
memiliki foreign key, kalian harus terlebih dahulu mengidentifikasi
tabel mana yang merupakan subjek dan objek dalam hubungannya.
Fungsi WHERE clause
• Klausa WHERE digunakan untuk mengekstrak catatan yang memenuhi
kriteria yang ditentukan
Operator
Operators description
= sama
<> Hal ini tidak sama.CATATAN: Dalam beberapa versi dari SQL, operator dapat ditulis
sebagai =!
> lebih besar dari
< Kurang dari
>= Lebih besar dari atau sama
<= Kurang dari atau sama
BETWEEN Dalam jarak tertentu
LIKE Mencari pola
IN Menentukan nilai yang mungkin untuk sejumlah kolom
Fungsi Agregat
• AVG () - Mengembalikan rata-rata
• COUNT () - Mengembalikan jumlah baris
• FIRST () - Mengembalikan nilai dari record pertama
• LAST () - Mengembalikan nilai catatan terakhir
• MAX () - Mengembalikan nilai maksimum
• MIN () - Mengembalikan nilai minimum
• SUM () - Mengembalikan total
Implementasi SQL
• DB name: retail
Implementasi SQL
• DB name: sekolah
TUGAS Pertemuan 12
FSWD (Database 1):
• Buat langkah-langkah menghubungkan database ke aplikasi DBMS
• Buat sebuah database dengan nama arkatama_store dengan struktur
table sebagaimana gambar 1
• Isi masing-masing table dengan data sebanyak 10 row
• Simpan query dan screenshot struktur tabel yang sudah dibuat
• Kumpulkan semua tugas di atas dalam bentuk PDF dan submit ke
aplikasi Sinauo
Gambar 1. ERD arkatama_store
Terima Kasih

Anda mungkin juga menyukai