Anda di halaman 1dari 17

MATERI TIK Kelas XI

DATABASE ( Basis Data )

Data
 Angka,fakta atau simbol yang belum diolah / belum memiliki arti
Informasi
 Data yang telah diolah sehingga memiliki arti

Pengertian Database
• Sekumpulan data terhubung ( interrelated data )
• Yang disimpan secara bersama-sama pada suatu media
• Tanpa mengatap satu sama lain atau tidak perlu suatu kerangkapan data
( memiliki control redundancy )
• Disimpan dengan cara tertentu sehingga mudah digunakan / ditampilkan
kembali
• Disimpan sedemikian sehingga proses penambahan, pengambilan &
modifikasi dapat dilakukan dgn mudah
• Disimpan tanpa mengalami ketergantungan dgn suatu program tertentu

Keunggulan Database dibandingkan dgn file processing / file berkas


• Data oriented bukan program oriented
• Dapat digunakan oleh banyak pemakai
• Volume & Struktur dapat berkembang dengan mudah
• Dapat memenuhi kebutuhan sistem baru secara mudah
• Dapat digunakan dengan cara berbeda
• Data Redundancy minimal

Relasi Database

Komponen pembentuk suatu Relasi Database


1. Entitas / Entity
 Obyek-obyek dasar yang terkait dengan didalam sistem
 Dapat berupa orang / benda atau hal tertentu
Contoh : siswa, buku, mata pelajaran dll

2. Atribut / Attribute
 Penjelas suatu entitas
 Keterangan-keterangan yg terkait pada entitas atau
 Property dari entitas
Contoh : NIS, Nama, Judul buku dll

3. Record
 Baris / sekumpulan data yg mengisi baris dlm atribut
Contoh : ( 0102, Andi, Jl. Kaliurang 102 )
4. Key ( Kunci )
 satu atau gabungan atribut yg bersifat unik yg digunakan utk meng
identifikasi suatu record dalam relasi

Jenis – jenis Key


a. Simple Key
 satu atribut yang bersifat unik yang dijadikan sbg key dlm
relasi
b. Composite Key
 Gabungan atribut yg berfungsi sbg key
Macam-macam Key
a. Candidate key
 satu atau gabungan atribut yg bersifat unik yg dijadikan
sebagai kandidat kunci ( calon kunci )
b. Primary Key
 Bagian dari CK yang dijadikan sebagai kunci utama suatu
entity dalam suatu relasi
c. Foreign Key
 Atribut yang dijadikan sebagai primary key dalam entitas lain
dlm suatu relasi, dengan kata lain atribut ini mengacu pada
atribut dalam entitas lain yg dijadikan sbg primary key
d. Alternate Key
 Kunci alternative
 Bagian dari CK yang tidak dijadikan sebagai PK dalam
entitas tersebut.
Tabel
 Mewakili suatu entitas dalam suatu database
 Terdiri dari field-field yang mewakili atribut-atribut

Tipe Data / Data type


1. Numeric
• Number
• Integer -------- bilangan bulat ----
• Long Integer ----- bil bulat ---
• Real -------- bil real ----
• Float ------- bil real ----
• Byte
2. Alphanumeric / Text
• Text ------- 0 s/d 255 charakter -----
• Long Text / Memo ----- >255 charakter ----
• Char ----- fixed length text ------
• Varchar -------- variable length text --------
3. Gabungan
• Date
• Time
• Currency
• Boolean ------- logika -------

Contoh Database Sistem Nilai Mata Pelajaran

Tabel Siswa
NIS Nama Alamat Tgl lhr
01010 Andi Wibowo Jl. Kaliurang 16 03 Maret 1990
01011 Rahman Hakim Jl. Monjali 200 02 Januari 1990

Tabel Mata Pelajaran


Kode Mt pelajaran Mata Pelajaran Kode Guru
AA TIK ARD
BB Fisika SWD

Tabel Guru
Kode Guru Nama Guru Alamat
ARD Ahmad Ardian SN, S.Kom Jln. Nyai A. Dahlan
SWD Sahrul Wibowo Jl. AM Sangaji 56

Tabel Nilai
NIS Kode Mt pelajaran Nilai
01010 AA 90
01010 BB 80
01011 AA 80
01011 BB 80

a. Entitas : Siswa, Mata pelajaran, Guru, Nilai


b. Atribut :
pd entitas siswa : NIS, Nama, Alamat, Tgl lhr
pd entitas mata pelajaran : Kode Mt pelajaran, Mata Pelajaran, KodeGuru
pd entitas Guru : Kode Guru, Nama Guru, Alamat
pd entitas Nilai : NIS, Kode mt pelajaran, Nilai
c. Record :
pd entitas siswa : 01010, Andi Wibowo, Jl. Kaliurang 16, 03 Maret 1990
01011, Rahman Hakim, Jl. Monjali 200, 02 Januari1990
Pd entitas mata pelajaran : AA, TIK, ARD
BB, Fisika, SWD
Pd entitas guru : ARD, Ahmad Ardian SN,S.Kom, Jln. Nyai A.Dahlan
SWD, Sahrul Wibowo, Jl. AM Sangaji 56
Pd entitas nilai : 01010, AA, 90
01010, BB, 80
01011, AA, 80
01011, BB, 80
d. Menentukan tipe data suatu atribut
Suatu atribut didefinisikan tipe datanya sesuai dengan kriteria data yg
akan diisi dalam atribut tersebut. Misalkan atribut nilai, jenis tipe data yang tepat
adalah numeric ( number,integer,real dll ) karena nilai nantinya akan diisi dengan
angka yang bisa dihitung. Sedangkan utk NIS ( Nomor Induk Siswa ) lebih tepat
didefinisikan dengan text yg tetap ( fixed length text ) dan bukan didefinisikan
dengan numeric walaupun data yg diisikan berupa nomor karena nomor utk NIS
berupa bilangan yg tidak dapat dihitung (dilakukan proses perhitungan).

Siswa Mata pelajaran


Atribut Tipe data Atribut Tipe data
NIS Char ( 5) Kode Mt pelajaran Char (2)
Nama Varchar (30) Mata pelajaran Varchar (15)
Alamat Varchar (30) Kode Guru Char (3)
Tgl lhr date

Guru Nilai
Atribut Tipe data Atribut Tipe data
Kode Guru Char (3) NIS Char(5)
Nama guru Varchar(30) Kode Mt pelajaran Char(2)
Alamat Varchar(30) Nilai Number(3)

{ tanda kurung ( ) setelah tipe data mendefinisikan panjang karakter dari atribut }

e. Menentukan key ( kunci )


menentukan suatu atribut yg dijadikan sbg kunci membutuhkan penalaran.

Pd entitas Siswa

Candidate Key : NIS, Nama

NIS dan Nama bisa dijadikan sebagai candidate key karena NIS dan
Nama bersifat unik ( berbeda antara satu dgn yg lain ) atau mempunyai
kemungkinan yg kecil utk sama. Berbeda dgn alamat atau tgl lhr. Alamat /
tgl lhr sulit utk menjadi kandidat karena mempunyai kemungkinan sama
lebih besar. Misalkan dalam 1 rumah bisa terdapat 10 orang/murid yg
sekolah di sekolah yg sama. Atau dlm hari tertentu kemungkinan orang yg
lahir pada tgl yg sama bisa saja terjadi.

Primary Key : NIS


Diantara Candidate Key yg bisa dijadikan sebagai kunci utama adalah
NIS, karena NIS bersifat sangat unik (berbeda) dan tidak mempunyai
kemungkinan sama dibandingkan dengan Nama.

Foreign Key : ------ (tidak ada)


Pada entitas siswa tidak terdapat FK ( kunci tamu ) karena tidak ada
atribut yg mengacu pada atribut di entitas lain yg dijadikan sebagai PK.

Alternate Key : Nama


Pada entitas siswa, atribut alternatif yg bisa dijadikan sbg kunci adalah
Nama

Pada Entitas Mata pelajaran

CK : Kode Mt Pelajaran, Mata Pelajaran, Kode Guru


PK : Kode Mt Pelajaran
FK : Kode Guru
Kode Guru berfungsi sebagai FK ( kunci tamu ) karena mengacu pada
atribut kode guru pada entitas Guru ( sbg PK di entitas guru )

AK : Mata Pelajaran, Kode Guru

Pada Entitas Guru

CK : Kode Guru, Nama Guru


PK : Kode Guru
FK : --
AK : Nama Guru

Pada Entitas Nilai

CK : NIS, Kode Mt Pelajaran


PK : ----

Pada entitas ini ada suatu kemungkinan yg terjadi utk PK, dikarenakan
entitas Nilai merupakan Entitas Proses ( terjadi banyak proses dari
beberapa entitas dalam relasi ) sehingga terdapat atribut bersifat unik
dalam gabungan atribut. Pada Kondisi tertentu, NIS dan Kode Mt
Pelajaran bisa berlaku sebagai PK dalam relasi ini tetapi dlm satu
kesatuan ( NIS,Kode Mt Pelajaran ) atau disebut pula sebagai Composite
Key. Nis dan Kode Mt Pelajaran tidak bisa bersifat unik dgn berdiri sendiri
seperti halnya ketika pada entitas siswa maupun entitas mata pelajaran.

FK : NIS, Kode Mt Pelajaran


AK : NIS, Kode Mt Pelajaran
f. Gambar Relasi database

Siswa
NIS *
Nama
Alamat
Tgl lhr

Guru
Mata pelajaran Kode Guru *
Kode Mt pelajaran* Nama guru
Mata pelajaran Alamat
Kode Guru

Nilai
NIS
Kode Mt pelajaran
Nilai
Tanda * menunjukkan atribut yg berfungsi sbg primary key
Tanda yg dituju arah panah menunjukkan atribut dgn fungsi foreign key

RELATIONAL DATABASE MANAGEMENT SYSTEM ( RDBMS )


Merupakan sistem manajemen database yang berbasis model relasi
Contoh – contoh program yg termasuk RDBMS
1. Microsoft SQL Server
2. Oracle
3. MySQL
4. PostgreSQL
5. Microsoft Access
6. Interbase
7. SQLite
8. Sybase dll
RDBMS
Dengan SQL
( Structure Query Language )

Secara umum SQL terdiri atas 3 bagian bahasa


1. DDL ( Data Definition language )
Merupakan bahasa yang digunakan untuk membangun,merubah ataupun
menghapus suatu database maupun obyek-obyek database
Terdiri atas perintah : CREATE, ALTER dan DROP

2. DML ( Data Manipulation Language )


Merupakan bahasa yang digunakan untuk memanipulasi data didalam
obyek database.
Terdiri atas perintah : INSERT, UPDATE, DELETE dan SELECT

3. DCL ( Data Control Language )


Merupakan bahasa yang digunakan untuk menangani keamanan dalam
database server
Terdiri atas perintah : GRANT dan REVOKE

1. DDL ( Data Definition Language )


a. CREATE
Perintah CREATE digunakan untuk membangun suatu database
maupun obyek database

Membangun database
Syntax : CREATE DATABASE nama_database

Contoh : CREATE DATABASE nilai


Arti => membuat database dengan nama database nilai

Membuat table
Syntax : CREATE TABLE nama_tabel (
Atribut1 tipe_data1(length),
Atribut2 tipe_data2(length),
...............................
)

Contoh :
CREATE TABLE siswa (
Nis char(5),
Nama varchar(30),
Alamat varchar(30)
)
Arti perintah :
Membuat tabel siswa dengan atribut Nis dgn tipe data char dengan
panjang karakter 5, atribut Nama dgn tipe data varchar yg memiliki
panjang karakter 30 dan Atribut Alamat dgn tipe data varchar
panjang karakter 30.

Untuk melihat deskripsi tabel yang telah dibuat , menggunakan


perintah : DESCRIBE nama_tabel
Cth : DESCRIBE siswa

b. ALTER
Perintah ini digunakan untuk melakukan perubahan struktur pada
obyek database

Merubah nama tabel


Syntax : ALTER TABLE nama_tabel_lama
RENAME nama_tabel_baru

Contoh : ALTER TABLE siswa


RENAME siswa_semua
Arti perintah => merubah nama tabel siswa menjadi tabel
siswa_semua

Merubah nama atribut/field pada tabel


Syntax : ALTER TABLE nama_table
CHANGE atribut_lama atribut_baru tipe_data(length)

Contoh : ALTER TABLE siswa


Change nis nomor_induk char(5)
Arti perintah => merubah atribut nis pada tabel siswa dengan
nomor_induk dengan tipe data char(5)

Merubah tipe data pada atribut


Syntax : ALTER TABLE nama_tabel
MODIFY atribut tipe_data_baru

Contoh : ALTER TABLE siswa


MODIFY alamat text(30)
Penambahan atribut/field pada suatu tabel
Syntax : ALTER TABLE nama_tabel
ADD atribut_baru tipe_data

Contoh : ALTER TABLE siswa


ADD tgl_lahir date

Pengurangan / penghapusan atribut / field


Syntax : ALTER TABLE nama_tabel
DROP COLUMN atribut

Contoh : ALTER TABLE siswa


DROP COLUMN alamat

c. DROP
Perintah ini digunakan untuk menghapus database maupun obyek
database.

Menghapus Tabel
Syntax : DROP TABLE nama_tabel

Menghapus Database
Syntax : DROP DATABASE nama_database

2. DML ( DATA MANIPULATION LANGUAGE )


a. INSERT
Perintah ini digunakan untuk menginputkan data / record kedalam
obyek database

Syntax : INSERT INTO nama_tabel VALUES (


Isi_field1, isi_field2,.........
)
Contoh : INSERT INTO siswa VALUES (
“01234”,”Ardiansyah”,”Jl. Kaliurang 35”
)

Tanda “... “ digunakan oleh data yang berjenis text

b. UPDATE
Perintah ini digunakan untuk melakukan perubahan data pada
obyek database
Syntax : UPDATE nama_tabel
SET
Atribut = data

Contoh : UPDATE siswa


SET
Alamat = “ Jl. Gejayan 20 “
Arti : Merubah semua alamat menjadi Jl. Gejayan 20 pada tabel
siswa

c. DELETE
Perintah ini digunakan untuk menghapus data dalam obyek
database
Syntax : DELETE FROM nama_table
Contoh : DELETE FROM siswa
Arti : Menghapus semua data pada tabel siswa
d. SELECT
Perintah ini digunakan untuk menampilkan data pada obyek
database yang dipilih
Syntax : SELECT * FROM nama_tabel
Tanda * berarti semua atribut yg dipilih utk ditampilkan

Syntax : SELECT atribut1, atribut2, .....


FROM nama_tabel

Contoh : SELECT nis, nama


FROM siswa
Arti => menampilkan data nis dan nama dari tabel siswa

PERINTAH KLAUSA DALAM DML


A. KLAUSA WHERE
Perintah WHERE digunakan untuk memberikan kekangan nilai dengan
menentukan kondisi atau kriteria dalam manipulasi data.
Klausa ini digunakan setelah syntax DML

Syntax : syntax DML


WHERE
kondisi

contoh : UPDATE siswa


SET alamat = “Jl. Gejayan 20 “
WHERE
Nis = “01000”
Arti perintah = merubah alamat pada table siswa yang memiliki Nis 01000
menjadi Jl. Gejayan 20, dengan kata lain hanya yang memiliki Nis 01000
yang diubah alamatnya menjadi Jl. Gejayan 20. Jika tanpa perintah where
maka semua alamat pada table siswa menjadi Jl. Gejayan 20.
Contoh : DELETE FROM siswa
WHERE
Nis = “01000”
Arti perintah = menghapus data pada table siswa yang memiliki Nis 01000
Dengan kata lain data yg dihapus hanya data siswa yg memiliki Nis 01000

Contoh : SELECT * FROM siswa


WHERE
Nama = “ Ardiansyah “

Arti perintah = menampilkan data pada record / data milik Ardiansyah

B. KLAUSA ORDER BY
Klausa ini digunakan untuk mengurutkan hasil / tampilan berdasarkan
urutan terkecil ataupun terbesar. Klausa ini juga digunakan setelah syntax
DML maupun klausa yang lain
Syntax : syntax DML
ORDER BY atribut
ASC/DSC
ASC untuk menentukan urutan dari yg terkecil, DSC dari yg terbesar

Contoh : SELECT * FROM siswa


ORDER BY nama
ASC
Arti : menampilkan data dari table siswa urut berdasarkan nama dari yang
terkecil

C. KLAUSA LIKE
Klausa ini digunakan untuk tampilan suatu data dengan kriteria
berdasarkan karakter tertentu. Biasanya digunakan untuk pencarian data
Digunakan setelah klausa WHERE
Syntax : syntax DML
WHERE
Kondisi LIKE
%data / data% / %data%
_data / data_ / _data_
Tanda _ berarti hanya 1 karakter saja, tanda % beberapa karakter

Contoh : SELECT * FROM siswa


WHERE
Nama LIKE “Dhani%”
Arti = menampilkan data dari table siswa dengan nama yang diawali
dengan Dhani
D. KLAUSA GROUP BY
Klausa ini digunakan untuk mengelompokkan data berdasarkan atribut
tertentu.
Syntax : syntax DML
GROUP BY atribut

Contoh : SELECT nis, kode_mp, nilai


FROM nilai
GROUP BY nis, nama

INTEGRATED FUNCTION
Fungsi-fungsi integrasi yang ada dalam SQL
1. Fungsi Aritmatik
+ : untuk penjumlahan
- : untuk pengurangan
* : untuk perkalian
/ : untuk pembagian

2. Fungsi Relasional
> : lebih besar
< : lebih kecil
= : sama dengan
>= : lebihbesar sama dengan
<= : lebihkecil sama dengan

3. Fungsi Logic
AND : dan
OR : atau
NOT : bukan

4. BETWEEN
Fungsi ini untuk menentukan jangkauan

Contoh : SELECT*FROM siswa WHERE tgl_lhr BETWEEN “1989-02-01”


AND “1989-03-01”

5. Fungsi Nilai
TIME : menentukan waktu
CURRENT_TIME : menentukan waktu sekarang
CURRENT_DATE : menentukan tanggal sekarang

6. Fungsi Agregat
AVG : rata-rata
MIN : minimal
MAX : maksimal
COUNT : banyaknya cacah data
SUM : jumlah data

contoh : SELECT MAX(nilai1) FROM nilai


Query Antar Table

Gabungan antar tabel


Untuk menggabungkan tabel bisa menggunakan berbagai cara.
1. Penggabungan dengan klausa WHERE
Klausa where bisa digunakan untuk menggabungkan beberapa tabel.
Syarat yang digunakan adalah adanya pendeklarasian nama tabel
didepan atribut yang akan disandingkan dengan tanda . (titik)

Syntax : SELECT nama_tabel1.atribut1,nama_tabel1.atribut2,


Nama_tabel2.atribut1
FROM nama_tabel1, nama_tabel2
WHERE
Kondisi

Contoh : SELECT siswa.nis,siswa.nama,


Mtpljrn.kode_mp,
Nilai.nilai
FROM siswa, mtpljrn, nilai
WHERE
Siswa.nis = nilai.nis AND mtpljrn.kode_mp = nilai.kode_mp

2. CROSS JOIN
Cross join merupakan penggabungan sederhana tanpa adanya kondisi.
Syntax : SELECT atribut1,atribut2 FROM nama_tabel1
CROSS JOIN nama_table2

3. INNER JOIN
Penggabungan sederhana diikuti oleh kondisi tertentu
Syntax : SELECT atribut1,atribut2 FROM nama_tabel1
INNER JOIN nama_table2
ON kondisi

4. STRAIGHT JOIN
Syntax : SELECT table1.atribut FROM tabel1
STRAIGHT JOIN
Tabel2

5. LEFT JOIN
Akan menampilkan nilai kosong ( NULL ) ditabel sebelah kanan jika tidak
ada hubungan
Syntax : SELECT nama_table.atribut FROM nama_table1
LEFT JOIN nama_tabel2
ON kondisi

6. RIGHT JOIN
Akan menampilkan nilai kosong ( NULL ) ditabel sebelah kiri jika tidak ada
hubungan.
Syntax : SELECT nama_table.atribut FROM nama_table1
RIGHT JOIN nama_tabel2
ON kondisi

Perintah SELECT di dalam SELECT


Perintah ini terjadi jika syntax SELECT yang dipakai merupakan gabungan dari
atribut yang dipilih dan atribut yang memerlukan proses yang tidak sederhana/
memerlukan multiquery ataupun penghitungan yang bukan dalam 1 record
(multirecord).

Contoh : tabel satu


NIS Nama Nilai
100 Ardi Syarif 70
101 Syaifulloh 80
102 Andi 80
Menampilkan data nis,nama,nilai dan nilai rata-rata dari tabel satu

SELECT NIS, Nama, Nilai, ( SELECT AVG(Nilai) FROM satu )


FROM satu

Bagaimana jika ingin menampilkan data dgn perhitungan tetapi dlm 1 record?
Perintah SELECT di dlm SELECT tidak diperlukan

Contoh : tabel dua


NIS Nama Nilai1 Nilai2
100 Ardi Syarif 100 80
101 Syaifulloh 70 40
Menampilkan data nis,nama, nilai, nilai2, rata-rata nilai dari tabel
dua

SELECT NIS,Nama, Nilai1, Nilai2, ((Nilai1+Nilai2)/2)


FROM dua
CONSTRAINT
Aturan-aturan yang digunakan atribut untuk mendefinisikan suatu data. Aturan ini
dideklarasikan setelah deklarasi atribut.

1. Default Value
Aturan Default value digunakan untuk mendefinisikan nilai awal dari suatu
data.
Syntax : CREATE TABLE nama_table (
Atribut1 tipe_data1 DEFAULT nilai_awal ,
Atribut2 tipe_data2
)

Contoh : CREATE TABLE nilai (


No char(5),
Nilai int(2) DEFAULT 0
)

2. Not Null
Aturan Not Null digunakan agar data yang akan diinputkan tidak boleh
kosong.
Syntax : CREATE TABLE nama_table (
Atribut1 tipe_data NOT NULL,
Atribut2 tipe_data2
)

Contoh : CREATE TABLE nilai (


No char(5) NOT NULL,
Nilai int(2)
)

3. Auto Increment
Aturan ini digunakan untuk membuat agar data yg bersifat number yang
diinputkan bisa berurutan.
Syntax : CREATE TABLE nama_table (
Atribut1 tipe_data1 AUTO INCREMENT
Atribut2 tipe_data2
)

Contoh : CREATE TABLE peminjam (


No Int(2) AUTO INCREMENT,
Nama varchar(20)
)

4. PRIMARY KEY ( Kunci Utama )


Syntax : CREATE TABLE nama_table
Atribut1 tipe_data PRIMARY KEY,
Atribut2 tipe_data2
)
atau

Syntax : CREATE TABLE nama_table (


Atribut1 tipedata1,
Atribut2 tipedata2,
PRIMARY KEY(atribut)
)

Bagaimana jika table sudah dibuat terlebih dahulu? Penambahan aturan bisa
dilakukan dengan perintah ALTER dengan MODIFY

syntax : ALTER TABLE nama_table


MODIFY atribut tipe_data constraint

Contoh : ALTER TABLE peminjam


MODIFY no int(4) AUTO INCREMENT

Pengecualian untuk constraint Primary Key dan constraint Index, penambahan


aturan dilakukan dengan perintah ALTER dengan ADD

Syntax : ALTER TABLE nama_table


ADD PRIMARY KEY(atribut)

ALTER TABLE nama_table


ADD INDEX(atribut)

Contoh : ALTER TABLE nilai


ADD PRIMARY KEY(nis,kode_mp)

I
**** Ahmad Ardian SN, S.Kom ****

Anda mungkin juga menyukai