SlideShare a Scribd company logo
Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 1
BAB I FUNGSI AGREGASI
Fungsi agregasi digunakan untuk menampilkan nilai-nilai atribut yang ada dalam tabel,
sering pula ada kebutuhan untuk menampilkan data-data agregasi. Seperti: Banyaknya record,
total nilai suatu atribut, rata-rata nilai atribut, nilai atribut terbesar atau terkecil. Data agregasi
tersebut dapat diperoleh dengan fungsi-fungsi yang juga kita temukan padanannya dalam bahasa
query formal. Untuk merangkum hasil dari sebuah ekspresi atau sejumlah baris, mengembalikan
sebuah nilai tunggal, syntax agregasi yang umum digunakan, sbb:
Aggregate_function([DISTINCT|ALL] expression)
Beberapa fungsi agregasi yang dipakai dalam basis data adalah :
1. Sum : Untuk mendapatkan nilai total suatu atribut numerik hasil query.
2. Count : Untuk mendapatkan nilai banyaknya record hasil query.
3. Avg : Untuk mendapatkan nilai rata-rata suatu atribut numerik hasil query.
4. Max : Untuk mendapatkan nilai terbesar suatu atribut numerik hasil query.
5. Min : Untuk mendapatkan nilai terkecil suatu atribut numerik hasil query.
Merupakan salah satu fungsi agregasi yang digunakan untuk mendapatkan nilai total suatu
atribut numerik hasil query.
Syntax dasar :
SELECT SUM (column_name) FROM table_name
Contoh :
Merupakan salah satu fungsi agregasi yang digunakan untuk mendapatkan nilai banyaknya
record hasil query.
Syntax dasar :
SELECT COUNT (column_name) FROM table_name
Contoh :
1.1 Fungsi SUM
1.2 Fungsi COUNT
Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 2
Merupakan salah satu fungsi agregasi yang digunakan untuk mendapatkan nilai rata-rata
suatu atribut numerik hasil query.
Syntax dasar :
SELECT AVG (column_name) FROM table_name
Contoh :
Merupakan salah satu fungsi agregasi untuk mendapatkan nilai terbesar suatu atribut
numerik hasil query.
Syntax dasar :
SELECT MAX(column_name) FROM table_name
Contoh :
Merupakan salah satu fungsi agregasi untuk mendapatkan nilai terkecil suatu atribut
numerik hasil query.
Syntax dasar :
SELECT MIN(column_name) FROM table_name
Contoh :
1.3 Fungsi AVG
1.4 Fungsi MAX
1.5 Fungsi MIN
Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 3
LEMBAR KERJA SISWA
MATERI : FUNGSI AGREGASI BASIS DATA
Nama :
Kelas / No. Absen :
Jawablah pertanyaan dibawah ini dengan singkat dan benar !
1. Apakah nama software untuk membuat database pada fungsi agregasi ? sebutkan 2 saja !
2. Buatlah database dengan format : kelas_nama_absen, CONTOH : (rpl3_imelda_1), sesuai identitas masing-
masing siswa, tunjukkan dengan screenshot pada PHPmyadmin
3. Buatlah tabel dengan nama siswa dan isikan dengan 4 field (nis, nama, jurusan, nilai), tunjukkan dengan
screenshot pada PHPmyadmin !
4. Isilah tabel siswa dengan nama siswa dan 4 siswa absen dibawahnya, tunjukkan dengan screenshot pada
PHPmyadmin !
5. Tampilkan isi dari tabel nilai, tunjukkan dengan screenshot pada PHPmyadmin !
6. Tampilkan fungsi SUM pada field nilai pada tabel siswa, tunjukkan dengan screenshot pada PHPmyadmin !
7. Tampilkan fungsi COUNT pada field nilai pada tabel siswa, tunjukkan dengan screenshot di PHPmyadmin !
8. Tampilkan fungsi AVG pada field nilai pada tabel siswa, tunjukkan dengan screenshot pada PHPmyadmin !
9. Tampilkan fungsi MAX pada field nilai pada tabel siswa, tunjukkan dengan screenshot pada PHPmyadmin !
10. Tampilkan fungsi MIN pada field nilai pada tabel siswa, tunjukkan dengan screenshot pada PHPmyadmin !
SELAMAT MENGERJAKAN
LATIHAN SOAL MANDIRI 1
Kerjakan di buku catatan kamu masing-masing
1. Apakah fungsi dari SUM pada agregasi basis data ?
2. Apakah fungsi dari COUNT pada agregasi basis data ?
3. Apakah fungsi dari AVG pada agregasi basis data ?
4. Apakah fungsi dari MAX pada agregasi basis data ?
5. Apakah fungsi dari MIN pada agregasi basis data ?
Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 4
BAB II SQL MULTITABLE
Untuk mengakses suatu data jarang sekali jika hanya mengambil dari satu tabel. Biasanya
saat mengambil kita akan mengakses beberapa tabel secara bersamaan. Salah satu cara
mengambil data dari beberapa tabel sekaligus dapat dilakukan dengan menggunakan join. Apa itu
join? Join adalah cara untuk menghubungkan data yang diambil dari tabel-tabel melalui sebuah
kolom yang menghubungkan mereka. Misal, pembaca mungkin ingin menghubungkan tabel alamat
dengan tabel nomor telepon berdasarkan nama seseorang (contoh: "Berikan saya alamat dan
nomor telepon seseorang yang bernama Imelda Wikan Kristian.").
Mengapa join itu penting? Join memperbolehkan kita untuk mengambil data dari beberapa
tabel melalui satu query. Hanya menggunakan sebuah tabel artinya kita hanya dapat
menyimpan/memperoleh data yang terbatas atau justru menyimpan/memperoleh data yang terlalu
banyak sehingga tabelnya menjadi kurang baik. Join menghubungkan satu tabel dengan tabel
yang lain (inilah yang dimaksud dengan relational dari istilah relational database)
Pada materi berikut ini akan membahas tentang beberapa jenim join tabel, yaitu :
1. Inner Join : untuk mengembalikan baris dari dua tabel atau lebih yang memenuhi syarat
2. Left Join : untuk mengembalikan seluruh baris dari tabel disebelah kiri yang dikenai
: kondisi ON dan hanya baris tabel disebelah kanan yang memenuhi kondisi join
3. Right Join : untuk mengembalikan semua baris dari tabel sebelah kanan yang dikenai
: kondisi ON dengan data tabel sebelah kiri yang memenuhi kondisi join
4. Full Join : mengembalikan seluruh baris dari kedua tabel yang dikenai ON termasuk data
: yang bernilai NULL
Contohnya, relasi tabel user dan tabel order. Tabel user dapat di lakukan JOIN terhadap tabel
order karena pada tabel order ada kolom user_id yang berhubungan dengan kolom id pada table
user.
Silakan lihat gambaran kedua tabel tersebut di bawah ini :
JOIN di SQL digunakan pada saat proses dalam
menggabungkan data dari banyak tabel. Biasanya, hal ini
terjadi ketika data yang kamu perlukan berada di tabel yang
berbeda-beda. Pada contoh tabel user dan tabel order di atas,
kamu tidak mungkin menggabungkan tabel tersebut pada
database karena satu user dapat memiliki banyak order.
Menggabungkan kedua tabel itu di database membuat tabel
tersebut tidak normalized yang merupakan hal yang kurang
baik pada database jenim relasional. Karena tidak bisa
digabungkan datanya pada awal database, maka hanya dapat
menggabungkannya pada saat melakukan query.
Masing-masing JOIN memiliki kegunaannya sendiri-sendiri. Berikut merupakan perbedaan
dan penjelasan untuk masing-masing JOIN yang ada di SQL. Untuk contoh pada masing-masing
jenim JOIN, akan menggunakan data tabel berikut ini.
Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 5
Merupakan salah satu jenim join yang berfungsi untuk mengembalikan baris dari dua tabel
atau lebih yang memenuhi syarat.
Contoh syntax :
SELECT user.name, order.total
FROM order
INNER JOIN user
ON user.id = order.user_id;
Pada perintah SQL di atas, join hanya akan memunculkan data
dari tabel order dan user yang keduanya memiliki user_id pada order
sama dengan id pada tabel user.
Berikut ini adalah hasil dari perintah SQL di atas :
Merupakan salah satu jenim join yang berfungsi untuk mengambil semua data yang ada di
tabel sebelah kiri dari perintah LEFT JOIN, dan akan mencoba menggabungkannya dengan tabel
kanan. Jika tidak ada pasangannya, nilai dari table kiri tetap ada dan nilai yang tidak ada di tabel
kanan akan menjadi NULL.
Contoh syntax :
SELECT user.name, order.total
FROM order
LEFT JOIN user
ON user.id = order.user_id;
Pada perintah SQL di atas, akan memunculkan seluruh data dari
tabel order. Namun, hanya beberapa data yang memenuhi syarat dari
tabel user yang muncul.
Berikut ini adalah hasil dari perintah SQL di atas :
Merupakan salah satu jenim join yang berfungsi untuk mengembalikan semua baris dari
tabel sebelah kanan yang dikenai kondisi ON dengan data tabel sebelah kiri yang memenuhi
kondisi join.
Contoh syntax :
SELECT user.name, order.total
FROM order
RIGHT JOIN user
ON user.id = order.user_id;
Perintah SQL di atas, akan memunculkan seluruh data dari tabel
user. Namun, hanya beberapa data yang memenuhi syarat dari tabel
order yang muncul. Berikut ini adalah hasil dari perintah SQL di atas :
2.1 INNER JOIN
2.2 LEFT JOIN
2.3 RIGHT JOIN
Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 6
Merupakan salah satu jenim join yang berfungsi untuk mengembalikan seluruh baris dari
kedua tabel yang dikenai ON termasuk data yang bernilai NULL.
Contoh syntax :
SELECT user.name, order.total
FROM order
FULL OUTER JOIN user
ON user.id = order.user_id;
Perintah SQL di atas, akan memunculkan seluruh data dari tabel
user. Namun, hanya beberapa data yang memenuhi syarat dari tabel
order yang muncul.
Berikut ini adalah hasil dari perintah SQL di atas :
2.4 FULL JOIN
LATIHAN SOAL MANDIRI 2
Kerjakan di buku catatan kamu masing-masing
1. Apa yang dimaksud dengan fungsi join pada basis data ?
2. Apa yang dimaksud dengan fungsi inner join pada basis data ?
3. Apa yang dimaksud dengan fungsi left join pada basis data ?
4. Apa yang dimaksud dengan fungsi right join pada basis data ?
5. Apa yang dimaksud dengan fungsi full join pada basis data ?
Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 7
LEMBAR KERJA SISWA
MATERI : SQL MULTITABLE
Nama :
Kelas / No. Absen :
Berdasarkan gambar diatas, jawablah pertanyaan dibawah ini :
1. Apakah perintah SQL untuk membuat database smk ?
2. Sebutkan 2 tabel yang dibuat pada database smk !
3. Apakah fungsi perintah select pada query sql diatas ?
4. Apakah fungsi perintah *from pada query sql diatas ?
5. Apakah fungsi perintah siswa pada query sql diatas ?
6. Apakah fungsi perintah inner join pada query sql diatas ?
7. Apakah fungsi perintah jurusan pada query sql diatas ?
8. Apakah fungsi perintah on pada query sql diatas ?
9. Apakah fungsi perintah siswa.id_siswa pada query sql diatas ?
10.Apakah fungsi perintah jurusan.id_jurusan pada query sql diatas ?
SELAMAT MENGERJAKAN
Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 8
BAB III SQL BERTINGKAT
SQL bertingkat dibutuhkan untuk menjalankan perintah dalam beberapa tabel. Dalam
menjalankan perintah ini dibutuhkan sub query yang berisi perintah SQL. Keberadaan subquery
secara nyata mampu menyederhana kan persoalan-persoalan rumit berkaitan query data.
Sebagai contoh, misal terdapat pernyataan sebagai berikut: “Dapatkan data mahamahasiswa
yang alamatnya sama dengan mahamahasiswa dengan nim 104”.
Secara normal, diperlukan dua tahapan untuk menyele saikan kasus di atas. Pertama
adalah mendapatkan alamat dari mahasiswa yang memiliki nim 104. Langkah selanjutnya, baru
kita bisa mengetahui data mahasiswa yang alamatnya sama dengan mahasiswa dengan nim 104.
Adapun dengan memanfaatkan subquery, maka penyelesaian kasus di atas hanya memerlukan
sebuah query (akan dijelaskan nanti). Pada hakekatnya, subquery sangat berguna ketika
sebuah query didasarkan pada nilai-nilai yang tidak diketahui.
Subquery (disebut juga subselect atau nested select /query atau inner-select)
merupakan query SELECT yang ada di dalam perintah SQL lain misalnya SELECT, INSERT,
UPDATE, atau DELETE. Materi SQL bertingkat dapat kita sebut dengan istilah SubQuery.
Sintaks formal subquer y diperlihatkan sebagai berikut:
SELECT A1, A2, ..., An
FROM r1, r2, r3, ..., rm
WHERE P
(SELECT A1, A2, ..., An
FROM r1, r2, r3, ..., rm
WHERE P)
Subquery dapat diklasifikasikan ke dalam tiga jenim : scalar, multiple-row, dan multiple-
column .
a. Scalar Subquery, merupakan Subquery baris
tunggal (scalar ) hanya mengembalikan hasil
satu baris data. Subquery baris tunggal dapat
menggunakan operator baris tunggal =, >, >=,
<, <=, atau <>
b. Multiple-Row Subquery, Subquery baris ganda
(multiple-row) mengembalikan lebih dari satu
baris data. Subquery baris ganda dapat
menggunakan operator komparasi IN, ANY/SOME,
atau ALL
c. Multiple-column, merupakan subquery kolom
ganda ( multiple-column ) mengembalikan lebih
dari satu baris dan satu kolom data. Sub query
ini dapat diimplementasikan di dalam klausa
WHERE, HAVING, atau FROM
3.1 Subquery
Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 9
a. Scalar Subquery
Berikut ini merupakan contoh sub
query baris tunggal, yaitu
mendapatkan data mahasiswa
yang alamatnya sama dengan
mahasiswa yang memiliki nim
104. Langkah pertama dari
operasi yang berjalan adalah
mendapatkan alamat mahasiswa
dengan nim 104, kemudian
hasilnya yaitu Jl. Jombang yang
akan digunakan olah main query.
b. Multiple-Row Subquery
Berikut ini merupakan contoh Multiple-Row Subquery menggunakan operator ALL, yang
memiliki arti membandingkat suatu nilai dengan semua nilai yang dikembalikan oleh
subquery. Misalkan kita ingin mendapatkan data mata kuliah yang memiliki sks lebih kecil
dari semua sks mata kuliah di semester 5.
c. Multiple-column
Berikut ini merupakan contoh sub query kolom ganda, yang menggunakan operator
komparasi IN, ANY/ SOME atau ALL. Pada nilai query ini, nilai dari subquery bentuk kolom
ganda akan dibandingkan dengan main query. Sebagai contoh, kita ingin menampilkan mata
kuliah semester dan sks nya dengan kode PTI333.
3.2 Syntaks dan Penggunaan Subquery
Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 10
Kesalahan umum dalam subquery adalah lebih dari satu baris data dihasilkan untuk single
row subquery.
Subquery ini menghasilkan lebih dari satu baris data dan menggunakan single row operator.
Kita dapat membetulkan kesalahan ini dengan mengubah = menjadi IN.
SELECT nama_mk, semester, kode_mk
FROM matakuliah
WHERE kode_mk= ( SELECT id
FROM dosen
WHERE nama_mk = ‘Praktikum Basis Data’
OR region_id = 2 );
3.3 Kesalahan dalam Subquery
LATIHAN SOAL MANDIRI 3
Kerjakan di buku catatan kamu masing-masing
1. Apakah fungsi dari penggunaan SQL bertingkat ?
2. Apakah yang dimaksud scalar subquery ?
3. Apakah yang dimaksud Multiple-Row Subquery ?
4. Apakah yang dimaksud Multiple Column ?
5. Sebutkan contoh kesalahan umum dalam subquery !
LEMBAR KERJA SISWA
MATERI : SQL BERTINGKAT
Nama :
Kelas / No. Absen :
Berdasarkan gambar diatas, jawablah pertanyaan dibawah ini :
1. Dengan menggunakan tabel mahasiswa, apakah yang dimaksud L ?
2. Dengan menggunakan tabel mahasiswa, apakah yang dimaksud P ?
3. Dengan menggunakan tabel mahasiswa, apakah yang dimaksud Budi ?
4. Dengan menggunakan tabel mahasiswa, apakah yang dimaksud Wati ?
5. Dengan menggunakan tabel mahasiswa, apakah yang dimaksud 102 ?
6. Dengan menggunakan tabel mahasiswa, apakah yang dimaksud 103 ?
7. Apakah yang dimaksud dengan Return ?
8. Apakah yang dimaksud dengan Subquery ?
9. Apakah yang dimaksud dengan Main query ?
10. Termasuk jenis SQL bertingkat apakah gambar diatas ?
SELAMAT MENGERJAKAN
Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 11
BAB IV SQL PADA BASIS DATA CLIENT-SERVER
Client server adalah software atau perangkat lunak yang menghubungkan sistem server dan
sistem client yang berkomunikasi melalui jaringan komputer. Server nantinya akan mengelola
keamanan data client, aplikasi, dan data. Sedangkan Database Client Server adalah teknologi
terkini dari perkembangan aplikasi berbasis data yang sering juga disebut database SQL. Secara
sederhana, Client Server dapat di artikan sebagai aplikasi manajemen database terpusat yang
diatur dan dikendalikan oleh satu komputer yang disebut server. Sedangkan untuk koneksi pada
sistem basis data akan diatur pada server yang akan memberikan pelayanan akses data pada
komputer client.
Sebelum masuk ke Myql, anda perlu masuk pada Command Prompt (CMD) pada Windows
untuk sebagai UI (User Interface) berinteraksi dengan query Mysql. Silahkan tekan
tombol Windows + R. Kemudian ketikkan CMD pada field input diakhiri dengan mengklik atau
menekan tombol Enter.
Kemudian ketik perintah cd c:xamppmysqlbin
Setelah terbuka maka untuk masuk dan mengakses database silahkan ketik mysql -u root.
Query tersebut digunakan untuk masuk database dengan username root dan
password empty/kosong.
Langkah selanjutnya adalah membuat database baru. Perintah atau query untuk membuat
database baru adalah create database db_transaksi;. Di sini saya akan membuat database dengan
nama db_transaksi.
4.1 Sistem Basis Data Client-Server
4.2 Koneksi Basis Data
Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 12
Berikut ini merupakan tampilan setelah database db_transaksi selesai dibuat :
Untuk melakukan input data pada client, dapat menggunakan perintah SQL. Salah satu
contoh yang diberikan adalah bisa untuk mengisi data pada tabel yang ada dalam
db_transaksi. Query berikut untuk membuat tabel dengan nama data_penjualan
Sedangkan untuk mengisi data yang dimasukkan pada tabelnya berikut scriptnya:
4.3 Perintah SQL Melalui CLient
Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 13
Untuk menampilkan hasilnya menggunakan perintah SQL sebagai berikut :
LATIHAN SOAL MANDIRI 4
Kerjakan di buku catatan kamu masing-masing
1. Bagaimana cara masuk ke dalam command prompt pada windows ?
2. Buatlah perintah pada command prompt menuju mysql?
3. Apakah perintah untuk masuk dan mengakses database ?
4. Apakah password yang diisikan sebelum membuat database ?
5. Buatlah perintah sql untuk membuat database transaksi !
Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 14
LEMBAR KERJA SISWA
MATERI : SQL PADA BASIS DATA CLIENT-SERVER
Nama :
Kelas / No. Absen :
Berdasarkan gambar diatas, jawablah pertanyaan dibawah ini :
1. Apakah nama database pada tabel diatas ?
2. Apakah nama tabel pada database soal nomor 1 ?
3. Apakah field pertama pada tabel data penjualan ?
4. Apakah nama tipe data pada field soal nomor 3 ?
5. Jelaskan maksud not null pada field soal nomor 3 !
6. Jelaskan maksud primary pada field soal nomor 3 !
7. Jelaskan maksud auto_increment pada field soal nomor 3 !
8. Sebutkan nama field terakhir pada tabel diatas !
9. Sebutkan tipe data field terakhir pada tabel diatas !
10.Jelaskan maksud yes null pada field soal nomor 8 !
SELAMAT MENGERJAKAN
Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 15
BAB V ARSITEKTUR RDBMS
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.
Arsitektur DBMS (DataBase Management System) ini dikenal dengan nama arsitektur tiga
skema (three-schema architecture) dimana fungsi ini untuk memisahkan antara basis data fisik
dengan program aplikasi user. Skema-skema tersebut adalah sebagai berikut:
a. Level internal merupakan skema internal yang memuat deskripsi struktur penyimpanan basis data dan
menggunakan model data fisikal serta mendefinisikan secara detail penyimpanan data dalam
basis data, serta jalur pengaksesan data.
b. Level konseptual adalah skema yang memuat deskripsi struktur basis data secara keseluruhan untuk
semua pemakai. Skema ini hanya memuat deskripsi tentang entitas, atribut, hubungan dan batasan,
tanpa memuat deskripsi data secara detail.
c. Level eksternal merupakan skema eksternal (user view) yang mendefinisikan pandangan data terhadap
sekelompok user (local view) dengan menyembunyikan data lain yang tidak diperlukan oleh kelompok
user tersebut
Keuntungan dalam menggunakan arsitektur DBMS ini antar lain :
a. Perubahan skema konseptual, yaitu adanya perubahan dalam skema konseptual contohnya
penambahan suatu item data tidak akan berpengaruh pada program aplikasi. Tetapi jika skema eksternal
tidak sesuai lagi dengan skema konsepsual yang baru maka program aplikasi harus disesuaikan juga.
b. Perubahan skema internal. Pemisahan antara skema eksternal dan skema internal berfungsi untuk
menjaga bila terjadi perubahan skema internal, misalnya ada penambahan “pointer” pada rekaman.
c. Perubahan skema eksternal. Adanya penambahan skema eksternal atau pembuatan skema eksternal
baru tidak akan berpengaruh pada aplikasi yang ada selama aplikasi tersebut tidak mengakses data
berdasarkan skema yang baru.
Primary key atau biasa disebut sebagai kunci utama pada suatu tabel merupakan kolom yang
berisi nilai unik, berfungsi sebagai identitas untuk membedakan setiap record yang ada pada tabel.
Contohnya adalah kolom yang biasa digunakan sebagai kunci primer yaitu data berupa angka dan
tidak boleh bernilai null atau kosong.
Pembuatan primary key terdapat beberapa syarat yang harus dipenuhi antara lain:
 Tabel hanya bisa memiliki satu kunci primer.
 Jumlah maksimal kunci primer yaitu 16 kolom dengan panjang kunci 900 byte.
 Kolom kunci utama perlu Anda definisikan “NOT NULL” yang artinya memastikan bahwa
nilai dalam kolom tersebut tidak boleh kosong. Jika Anda tidak memasukkan nilai atau
data dalam kolom tersebut, maka akan terjadi kesalahan pada database.
 Tidak boleh berisi nilai yang sama antara baris satu dengan baris lain.
 Tipe data yang Anda gunakan untuk kunci primer tidak boleh tipe BLOB, melainkan
INT, BIGINT, TINYINT, SMALLINT, dan sejenisnya
5.1 Arsitektur DBMS
5.2 Primary Key
Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 16
Foreign key atau biasa disebut sebagai kunci tamu pada suatu tabel merupakan suatu field
dalam satu tabel yang digunakan untuk menghubungkan dua tabel. Pada dasarnya, foreign key
digunakan untuk menandakan hubungan tabel yang satu dengan yang lainnya. Atau dapat dikenal
dengan istilah parent dan child. Tabel pertama berperan sebagai parent yang terdapat primary
key di dalamnya, tabel kedua disebut sebagai child yang berisi kunci asing (foreign key).
Pembuatan foreign key terdapat beberapa syarat yang harus dipenuhi antara lain:
 Foreign key tidak memiliki fungsi untuk mengidentifikasi record yang terdapat dalam tabel.
Selain itu, foreign key juga dapat menerima nilai yang duplikat.
 Di dalam foreign key tidak terdapat clustered index. Namun, Anda dapat melakukannya
dengan manual.
 Anda tidak dapat menambahkan nilai ke dalam foreign key, jika nilai tersebut tidak tersedia
di kolom primary key. Sebab, syarat nilai dalam foreign key merupakan nilai rujukan dari
kolom primary key.
 Anda dapat menghapus suatu nilai yang berasal dari kolom foreign key tanpa mengganggu
record yang lain, dan juga tanpa harus mengetahui apakah nilai tersebut merupakan nilai
yang dirujuk dari primary key atau tidak.
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.
Berikut ini contoh relasi pada tabel :
1. Relasi One To One
Relasi one to one adalah relasi dimana setiap satu baris data pada tabel satu hanya
berhubungan dengan satu baris data di tabel dua. Artinya masing - masing hanya memiliki
satu hubungan saja. Biasanya relasi seperti ini digunakan pada relasi pengguna dan userlogin.
Dimana satu pengguna hanya memiliki satu akun untuk login.
Pada gambar diatas adalah contoh relasi one to one. Dimana relasi tersebut terdapat pada
tabel pengguna dan tabel login_pengguna. Dimana pengguna hanya memiliki satu akun
login_pengguna. Dan satu akun login hanya untuk satu pengguna saja. Pada relasi tersebut,
terdapat primary key id_pengguna pada tabel pengguna yang berelasi dengan id_pengguna.
5.3 Foreign Key
5.4 Relasi antar tabel
Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 17
Pada tabel login_pengguna, id_pengguna adalah primary key sekaligus foreign key dari tabel
pengguna. Hal itu karena primary key merupakan kolom spesial dimana tiap baris memiliki isi
dari primary key yang berbeda - beda. Sedangkan foreign key merupakan penghubung antara
tabel satu dan tabel dua. Dan foreign key harus sama isinya dengan primary key dari tabel
pengguna. Dengan kata lain, id_pengguna dari tabel login pengguna harus sama isinya
dengan id_pengguna dari tabel pengguna dan id_pengguna pada login_pengguna.
2. Relasi one to many
Relasi one to many adalah relasi yang mana setiap baris dari tabel pertama dapat
dihubungkan dengan satu baris ataupun lebih dari tabel kedua. Artinya satu baris dari tabel
pertama dapat mencangkup banyak data pada tabel kedua. Disini saya contohkan seperti
dosen dan mata kuliah. Kita tahu bahwa dosen bisa memiliki banyak mata kuliah yang dia
ampu. Namun satu mata kuliah hanya bisa diampu oleh satu dosen saja seperti pada tabel
Pada gambar diatas, kita bisa lihat bahwa pada tabel dosen memiliki primary key id_dosen
yang mana primary key tersebut sebagai pembeda antara baris satu dengan baris lain.
Sedangkan pada tabel matkul terdapat satu primary key yaitu id_matkul dan terdapat foreign
key id_dosen dari tabel dosen. Karena foreign key pada tabel matkul bukanlah primary key,
artinya kita bisa menambah data sama dari foreign key tersebut asalkan sama tabel dosen.
Pada kasus one to many ini. Kita perlu untuk memberikan akses pada satu tabel kuat dimata
satu tabel tersebut haruslah terisi terlebih dahulu agar data tabel kedua bisa menyesuaikan
data dari tabel pertama. Contohnya relasi tabel diatas. Jika tidak ada dosen, maka tidak ada
matkul yang diampu. Sedangkan jika matkul tidak ada, maka memakai pengampu yang lain.
3. Relasi Many To Many
Relasi many to many adalah keadaan dimana satu baris dari tabel satu dapat berhubungan
dengan tabel kedua. Dan satu baris dari tabel kedua dapat berhubungan dengan banyak baris
dari tabel pertama. Artinya kedua tabel masing - masing dapat mengakses banyak data dari
tiap tabel yang lain. Dalam hal ini, kita membutuhkan tabel ketiga sebagai perantara tabel
satu dan tabel dua sebagai tempat untuk menyimpan foreign key dari masing - masing tabel.
Disini saya memberikan contoh barang dan penjualan. Tentu saja setiap satu jenis barang
bisa dijual beberapa kali jumlahnya sehingga dalam satu penjualan mencakup banyak barang.
Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 18
Pada gambar diatas, terdapat tiga tabel. Yaitu tabel penjualan, barang, dan detail_penjualan.
Barang dan penjualan adalah dua tabel yang berelasi many to many. Akhirnya menghasilkan
satu tabel yaitu tabel detail_penjualan. Pada tabel detail_penjualan, terdapat foreign key dari
tabel penjualan dan tabel barang namu tidak terdapat primary key karena pada tabel ini tidak
dibutuhkan primary key. Sehingga data yang terdapat pada tabel detail_penjualan ini sangat
bergantung pada tabel barang dan penjualan.
LEMBAR KERJA SISWA
MATERI : ARSITEKTUR RDBMS
Nama :
Kelas / No. Absen :
1. Apakah yang merupakan fungsi DBMS ?
2. Apakah nama lain arsitektur tiga tema DBMS ?
3. Sebutkan 3 level pada DBMS !
4. Apakah yang dimaksud dengan primary key ?
5. Apakah yang dimaksud dengan foreign key ?
6. Sebutkan contoh relasi tabel one – to one !
7. Sebutkan contoh relasi tabel one – to many !
8. Sebutkan contoh relasi tabel many – to many !
Gambar untuk soal nomor 9-10 !
9. Berikanlah contoh primary key pada tabel detail_penjualan !
10.Berikanlah contoh foreign key pada tabel detail_penjualan !
SELAMAT MENGERJAKAN
LATIHAN SOAL MANDIRI 5
Kerjakan di buku catatan kamu masing-masing
1. Apakah kepanjangan dari DBMS ?
2. Apakah yang anda ketahui tentang Arsitektur DBMS ?
3. Apakah yang dimaksud dengan primary key ?
4. Apakah yang dimaksud dengan foreign key ?
5. Sebutkan 2 contoh relasi tabel pada database !
Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 19
BAB VI MEMBUAT BASIS DATA RDBMS
Manajemen Sistem Basis Data (Database Management System/DBMS) merupakan metode
dan aplikasi yang didesain untuk membantu dalam hal pemeliharaan dan utilitas kumpulan
data dalam jumlah besar, baik dalam skala kecil, menengah maupun besar.
RDBMS (Relational Database Management System) adalah program yang melayani sistem
basis data yang entitas utamanya terdiri dari tabel-tabel yang mempunyai relasi dari satu tabel ke
tabel yang lain.
Database atau basis data adalah kumpulan data yang dikelola sedemikian rupa secara
sistematis berdasarkan ketentuan tertentu yang saling berhubungan sehingga mudah dalam
pengelolaan informasi. Di dalam database terdapat table, field, data dan record.
Syntax dasar :
CREATE DATABASE (nama_database) ;
Contoh : CREATE DATABASE PENGGAJIAN
Tabel adalah merupakan kumpulan dari beberapa record dan juga field yang ditampilkan
dalam kolom dan baris. Sebuah table merupakan struktur penyimpanan dasar dari sebuah RDBMS.
Sebuah table memiliki semua data yang diperlukan tentang sesuatu di dunia nyata, seperti contoh
data karyawan, faktur, atau data pelanggan. tabel harus diberi nama secara unik sebagai
identitasnya dan terdiri dari beberapa baris sebagai penyimpanan informasi, dan masing-masing
baris berisi satu record. Sebuah tabel dapat mempunyai sebuah kolom atau lebih. Sebuah kolom
memiliki sebuah nama dan tipe data yang diberlakukan dan merupakan deskripsi atribut pada
record.
Syntax dasar :
CREATE TABLE (namatable (
<kolom 1><tipe data> [not null] ...
<kolom n><tipe data> [not null]
);
Contoh :
Create table detail_gaji (no_slip varchar(10), kd_potongan varchar(3), jumlah int(10))
Dalam pembuatan Relational Database Mangement System (RDBMS) tidak selamanya berjalan
sesuai dengan rencana. Hal ini dilakukan dengan menghapus tabel maupun database yang telah
dibuat. Dan terkadang kita harus menghapus tabel yang pernah dibuat karena sudah tidak
dibutuhkan lagi atau karena salah, untuk keperluan ini kita dapat menggunakan perintah atau sintak
SQL drop table yang secara lengkap. Perintah drop memungkinkan untuk melakukan proses
penghapusan pada tabel dan database. Diharapkan setelah menggunakan perintah ini, maka
database penggajian dan table detail_gaji sudah terhapus dari sistem.
6.1 Membuat Database
6.2 Merancang tabel
6.3 Menghapus tabel dan database
Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 20
Syntax dasar :
DROP TABLE (nama_table)
Contoh :
DROP table detail_gaji;
Sedangkan untuk menghapus database penggajian, dilakukan langkah sebagai berikut :
DROP database (nama_database);
DROP database penggajian ;
LATIHAN SOAL MANDIRI 6
Kerjakan di buku catatan kamu masing-masing
1. Sebutkan perintah SQL untuk membuat database !
2. Bagaimana cara membuat database penggajian ?
3. Sebutkan perintah SQL untuk memilih atau mengaktifkan database !
4. Bagaimana cara memilih atau mengaktifkan database penggajian ?
5. Sebutkan perintah SQL untuk membuat tabel !
Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 21
LEMBAR KERJA SISWA
MATERI : MEMBUAT BASIS DATA RDBMS
Nama :
Kelas / No. Absen :
Berdasarkan gambar diatas, jawablah pertanyaan dibawah ini :
1. Apakah nama RDBMS pada relasi tabel diatas ?
2. Sebutkan bagian pada PHPMyadmin yang berfungsi membuat RDBMS !
3. Apakah field yang digunakan sebagai primary key pada tabel potongan ?
4. Apakah field yang digunakan sebagai primary key pada tabel gaji ?
5. Apakah field yang digunakan sebagai primary key pada tabel user ?
6. Apakah field yang digunakan sebagai primary key pada tabel jabatan ?
7. Apakah field yang digunakan sebagai primary key pada tabel golongan ?
8. Apakah field yang digunakan sebagai primary key pada tabel pegawai ?
9. Jelaskan tipe data varchar(9) pada field nip ?
10. Sebutkan contoh foreign key pada RDBMS diatas !
SELAMAT MENGERJAKAN
Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 22
Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 23
Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 24
Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 25
Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 26
Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 27
Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 28

More Related Content

PPTX
Analisis Kebutuhan Sistem Informasi
PDF
Pengertian field, record, table, file, data dan basis data lengkap pengerti...
PPTX
Pertemuan 1 Sistem Basis Data.pptx
DOCX
Laporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMIN
PDF
3 rekayasa kebutuhan
PDF
7 Materi Kuliah Bahasa SQL
PPTX
Materi struktur hirarki basis data
PDF
Algoritma dan Struktur Data
Analisis Kebutuhan Sistem Informasi
Pengertian field, record, table, file, data dan basis data lengkap pengerti...
Pertemuan 1 Sistem Basis Data.pptx
Laporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMIN
3 rekayasa kebutuhan
7 Materi Kuliah Bahasa SQL
Materi struktur hirarki basis data
Algoritma dan Struktur Data

What's hot (20)

DOCX
Contoh Kasus Sistem Terdistribusi
DOCX
Contoh Review Jurnal Ilmiah (PENGARUH KEPEMIMPINAN, BUDAYA ORGANISASI DAN LIN...
DOCX
Laporan Praktikum Basis Data Modul III-Manipulasi Data
DOCX
Aspek-Aspek Keamanan Jaringan
DOCX
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
DOCX
Analisa Website Traveloka - Makalah IMK
DOCX
Laporan Sistem Basis Data Ms. Acces
PDF
Proses Data Mining
PDF
Data Management (Data Mining Klasifikasi)
PPTX
Presentation Sidang Skripsi Teknik Informatika "Aplikasi Pembelajaran Bahasa ...
PPTX
Struktur dan kondisi pada bahasa pemrograman php
PDF
Perancangan dan Analisa Sistem
PDF
Database with SQL Server
PPT
Perkuliahan 1 organisasi dan arsitektur komputer
PPTX
Interaksi Manusia Dan Komputer 4
PDF
Test plan Document Example
PDF
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
PPTX
T3 – Query Lanjutan [1]
PDF
Visual basic materi pembelajaran dasar
PPTX
Context Free Grammar (CFG) Bagian 2 - Materi 7 - TBO
Contoh Kasus Sistem Terdistribusi
Contoh Review Jurnal Ilmiah (PENGARUH KEPEMIMPINAN, BUDAYA ORGANISASI DAN LIN...
Laporan Praktikum Basis Data Modul III-Manipulasi Data
Aspek-Aspek Keamanan Jaringan
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Analisa Website Traveloka - Makalah IMK
Laporan Sistem Basis Data Ms. Acces
Proses Data Mining
Data Management (Data Mining Klasifikasi)
Presentation Sidang Skripsi Teknik Informatika "Aplikasi Pembelajaran Bahasa ...
Struktur dan kondisi pada bahasa pemrograman php
Perancangan dan Analisa Sistem
Database with SQL Server
Perkuliahan 1 organisasi dan arsitektur komputer
Interaksi Manusia Dan Komputer 4
Test plan Document Example
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
T3 – Query Lanjutan [1]
Visual basic materi pembelajaran dasar
Context Free Grammar (CFG) Bagian 2 - Materi 7 - TBO
Ad

Similar to modul basis data.docx (20)

PDF
Laporan 2 annissaul hidayah 11120018_6
PPTX
Basis Data SQL untuk mengakses multitable.pptx
PDF
Modul7 23 maret 2013
PPTX
QUERY AKSES BEBERAPA TABEL.pptx
DOC
Materi sql server 3 eresha
PPT
Pertemuan 6 - SQL Advanced
PPT
PPT-UEU-Sistem-Basis-Data-Pertemuan-9.ppt
PPT
20100104_5.JoinAntarTabel Basis Data.ppt
DOC
Tupen 4 1235010002
PDF
Modul6 2 maret 2013
PPTX
Materi Lengkap Relational Database Management System (RDBMS)
PDF
LPR Week 2-KEMASTURA Group-2023-Data Analytics
PPT
SQL Pengelompokan dan Pengurutan Data
PDF
Kd3 penggabungan data sql
PDF
Laporan praktikum1
PDF
Kd4 fungsi fungsi agregasi
PDF
Slide 4 pengelompokan_data
PPTX
BAB 2 Belajar Syntax Belajar SyntaxSynta
PPTX
Databases Join dalam basis data pplg.pptx
PPTX
Strategi dan Implementasi Basis Data: Memahami Konsep, Struktur, dan Teknologi
Laporan 2 annissaul hidayah 11120018_6
Basis Data SQL untuk mengakses multitable.pptx
Modul7 23 maret 2013
QUERY AKSES BEBERAPA TABEL.pptx
Materi sql server 3 eresha
Pertemuan 6 - SQL Advanced
PPT-UEU-Sistem-Basis-Data-Pertemuan-9.ppt
20100104_5.JoinAntarTabel Basis Data.ppt
Tupen 4 1235010002
Modul6 2 maret 2013
Materi Lengkap Relational Database Management System (RDBMS)
LPR Week 2-KEMASTURA Group-2023-Data Analytics
SQL Pengelompokan dan Pengurutan Data
Kd3 penggabungan data sql
Laporan praktikum1
Kd4 fungsi fungsi agregasi
Slide 4 pengelompokan_data
BAB 2 Belajar Syntax Belajar SyntaxSynta
Databases Join dalam basis data pplg.pptx
Strategi dan Implementasi Basis Data: Memahami Konsep, Struktur, dan Teknologi
Ad

modul basis data.docx

  • 1. Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 1 BAB I FUNGSI AGREGASI Fungsi agregasi digunakan untuk menampilkan nilai-nilai atribut yang ada dalam tabel, sering pula ada kebutuhan untuk menampilkan data-data agregasi. Seperti: Banyaknya record, total nilai suatu atribut, rata-rata nilai atribut, nilai atribut terbesar atau terkecil. Data agregasi tersebut dapat diperoleh dengan fungsi-fungsi yang juga kita temukan padanannya dalam bahasa query formal. Untuk merangkum hasil dari sebuah ekspresi atau sejumlah baris, mengembalikan sebuah nilai tunggal, syntax agregasi yang umum digunakan, sbb: Aggregate_function([DISTINCT|ALL] expression) Beberapa fungsi agregasi yang dipakai dalam basis data adalah : 1. Sum : Untuk mendapatkan nilai total suatu atribut numerik hasil query. 2. Count : Untuk mendapatkan nilai banyaknya record hasil query. 3. Avg : Untuk mendapatkan nilai rata-rata suatu atribut numerik hasil query. 4. Max : Untuk mendapatkan nilai terbesar suatu atribut numerik hasil query. 5. Min : Untuk mendapatkan nilai terkecil suatu atribut numerik hasil query. Merupakan salah satu fungsi agregasi yang digunakan untuk mendapatkan nilai total suatu atribut numerik hasil query. Syntax dasar : SELECT SUM (column_name) FROM table_name Contoh : Merupakan salah satu fungsi agregasi yang digunakan untuk mendapatkan nilai banyaknya record hasil query. Syntax dasar : SELECT COUNT (column_name) FROM table_name Contoh : 1.1 Fungsi SUM 1.2 Fungsi COUNT
  • 2. Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 2 Merupakan salah satu fungsi agregasi yang digunakan untuk mendapatkan nilai rata-rata suatu atribut numerik hasil query. Syntax dasar : SELECT AVG (column_name) FROM table_name Contoh : Merupakan salah satu fungsi agregasi untuk mendapatkan nilai terbesar suatu atribut numerik hasil query. Syntax dasar : SELECT MAX(column_name) FROM table_name Contoh : Merupakan salah satu fungsi agregasi untuk mendapatkan nilai terkecil suatu atribut numerik hasil query. Syntax dasar : SELECT MIN(column_name) FROM table_name Contoh : 1.3 Fungsi AVG 1.4 Fungsi MAX 1.5 Fungsi MIN
  • 3. Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 3 LEMBAR KERJA SISWA MATERI : FUNGSI AGREGASI BASIS DATA Nama : Kelas / No. Absen : Jawablah pertanyaan dibawah ini dengan singkat dan benar ! 1. Apakah nama software untuk membuat database pada fungsi agregasi ? sebutkan 2 saja ! 2. Buatlah database dengan format : kelas_nama_absen, CONTOH : (rpl3_imelda_1), sesuai identitas masing- masing siswa, tunjukkan dengan screenshot pada PHPmyadmin 3. Buatlah tabel dengan nama siswa dan isikan dengan 4 field (nis, nama, jurusan, nilai), tunjukkan dengan screenshot pada PHPmyadmin ! 4. Isilah tabel siswa dengan nama siswa dan 4 siswa absen dibawahnya, tunjukkan dengan screenshot pada PHPmyadmin ! 5. Tampilkan isi dari tabel nilai, tunjukkan dengan screenshot pada PHPmyadmin ! 6. Tampilkan fungsi SUM pada field nilai pada tabel siswa, tunjukkan dengan screenshot pada PHPmyadmin ! 7. Tampilkan fungsi COUNT pada field nilai pada tabel siswa, tunjukkan dengan screenshot di PHPmyadmin ! 8. Tampilkan fungsi AVG pada field nilai pada tabel siswa, tunjukkan dengan screenshot pada PHPmyadmin ! 9. Tampilkan fungsi MAX pada field nilai pada tabel siswa, tunjukkan dengan screenshot pada PHPmyadmin ! 10. Tampilkan fungsi MIN pada field nilai pada tabel siswa, tunjukkan dengan screenshot pada PHPmyadmin ! SELAMAT MENGERJAKAN LATIHAN SOAL MANDIRI 1 Kerjakan di buku catatan kamu masing-masing 1. Apakah fungsi dari SUM pada agregasi basis data ? 2. Apakah fungsi dari COUNT pada agregasi basis data ? 3. Apakah fungsi dari AVG pada agregasi basis data ? 4. Apakah fungsi dari MAX pada agregasi basis data ? 5. Apakah fungsi dari MIN pada agregasi basis data ?
  • 4. Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 4 BAB II SQL MULTITABLE Untuk mengakses suatu data jarang sekali jika hanya mengambil dari satu tabel. Biasanya saat mengambil kita akan mengakses beberapa tabel secara bersamaan. Salah satu cara mengambil data dari beberapa tabel sekaligus dapat dilakukan dengan menggunakan join. Apa itu join? Join adalah cara untuk menghubungkan data yang diambil dari tabel-tabel melalui sebuah kolom yang menghubungkan mereka. Misal, pembaca mungkin ingin menghubungkan tabel alamat dengan tabel nomor telepon berdasarkan nama seseorang (contoh: "Berikan saya alamat dan nomor telepon seseorang yang bernama Imelda Wikan Kristian."). Mengapa join itu penting? Join memperbolehkan kita untuk mengambil data dari beberapa tabel melalui satu query. Hanya menggunakan sebuah tabel artinya kita hanya dapat menyimpan/memperoleh data yang terbatas atau justru menyimpan/memperoleh data yang terlalu banyak sehingga tabelnya menjadi kurang baik. Join menghubungkan satu tabel dengan tabel yang lain (inilah yang dimaksud dengan relational dari istilah relational database) Pada materi berikut ini akan membahas tentang beberapa jenim join tabel, yaitu : 1. Inner Join : untuk mengembalikan baris dari dua tabel atau lebih yang memenuhi syarat 2. Left Join : untuk mengembalikan seluruh baris dari tabel disebelah kiri yang dikenai : kondisi ON dan hanya baris tabel disebelah kanan yang memenuhi kondisi join 3. Right Join : untuk mengembalikan semua baris dari tabel sebelah kanan yang dikenai : kondisi ON dengan data tabel sebelah kiri yang memenuhi kondisi join 4. Full Join : mengembalikan seluruh baris dari kedua tabel yang dikenai ON termasuk data : yang bernilai NULL Contohnya, relasi tabel user dan tabel order. Tabel user dapat di lakukan JOIN terhadap tabel order karena pada tabel order ada kolom user_id yang berhubungan dengan kolom id pada table user. Silakan lihat gambaran kedua tabel tersebut di bawah ini : JOIN di SQL digunakan pada saat proses dalam menggabungkan data dari banyak tabel. Biasanya, hal ini terjadi ketika data yang kamu perlukan berada di tabel yang berbeda-beda. Pada contoh tabel user dan tabel order di atas, kamu tidak mungkin menggabungkan tabel tersebut pada database karena satu user dapat memiliki banyak order. Menggabungkan kedua tabel itu di database membuat tabel tersebut tidak normalized yang merupakan hal yang kurang baik pada database jenim relasional. Karena tidak bisa digabungkan datanya pada awal database, maka hanya dapat menggabungkannya pada saat melakukan query. Masing-masing JOIN memiliki kegunaannya sendiri-sendiri. Berikut merupakan perbedaan dan penjelasan untuk masing-masing JOIN yang ada di SQL. Untuk contoh pada masing-masing jenim JOIN, akan menggunakan data tabel berikut ini.
  • 5. Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 5 Merupakan salah satu jenim join yang berfungsi untuk mengembalikan baris dari dua tabel atau lebih yang memenuhi syarat. Contoh syntax : SELECT user.name, order.total FROM order INNER JOIN user ON user.id = order.user_id; Pada perintah SQL di atas, join hanya akan memunculkan data dari tabel order dan user yang keduanya memiliki user_id pada order sama dengan id pada tabel user. Berikut ini adalah hasil dari perintah SQL di atas : Merupakan salah satu jenim join yang berfungsi untuk mengambil semua data yang ada di tabel sebelah kiri dari perintah LEFT JOIN, dan akan mencoba menggabungkannya dengan tabel kanan. Jika tidak ada pasangannya, nilai dari table kiri tetap ada dan nilai yang tidak ada di tabel kanan akan menjadi NULL. Contoh syntax : SELECT user.name, order.total FROM order LEFT JOIN user ON user.id = order.user_id; Pada perintah SQL di atas, akan memunculkan seluruh data dari tabel order. Namun, hanya beberapa data yang memenuhi syarat dari tabel user yang muncul. Berikut ini adalah hasil dari perintah SQL di atas : Merupakan salah satu jenim join yang berfungsi untuk mengembalikan semua baris dari tabel sebelah kanan yang dikenai kondisi ON dengan data tabel sebelah kiri yang memenuhi kondisi join. Contoh syntax : SELECT user.name, order.total FROM order RIGHT JOIN user ON user.id = order.user_id; Perintah SQL di atas, akan memunculkan seluruh data dari tabel user. Namun, hanya beberapa data yang memenuhi syarat dari tabel order yang muncul. Berikut ini adalah hasil dari perintah SQL di atas : 2.1 INNER JOIN 2.2 LEFT JOIN 2.3 RIGHT JOIN
  • 6. Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 6 Merupakan salah satu jenim join yang berfungsi untuk mengembalikan seluruh baris dari kedua tabel yang dikenai ON termasuk data yang bernilai NULL. Contoh syntax : SELECT user.name, order.total FROM order FULL OUTER JOIN user ON user.id = order.user_id; Perintah SQL di atas, akan memunculkan seluruh data dari tabel user. Namun, hanya beberapa data yang memenuhi syarat dari tabel order yang muncul. Berikut ini adalah hasil dari perintah SQL di atas : 2.4 FULL JOIN LATIHAN SOAL MANDIRI 2 Kerjakan di buku catatan kamu masing-masing 1. Apa yang dimaksud dengan fungsi join pada basis data ? 2. Apa yang dimaksud dengan fungsi inner join pada basis data ? 3. Apa yang dimaksud dengan fungsi left join pada basis data ? 4. Apa yang dimaksud dengan fungsi right join pada basis data ? 5. Apa yang dimaksud dengan fungsi full join pada basis data ?
  • 7. Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 7 LEMBAR KERJA SISWA MATERI : SQL MULTITABLE Nama : Kelas / No. Absen : Berdasarkan gambar diatas, jawablah pertanyaan dibawah ini : 1. Apakah perintah SQL untuk membuat database smk ? 2. Sebutkan 2 tabel yang dibuat pada database smk ! 3. Apakah fungsi perintah select pada query sql diatas ? 4. Apakah fungsi perintah *from pada query sql diatas ? 5. Apakah fungsi perintah siswa pada query sql diatas ? 6. Apakah fungsi perintah inner join pada query sql diatas ? 7. Apakah fungsi perintah jurusan pada query sql diatas ? 8. Apakah fungsi perintah on pada query sql diatas ? 9. Apakah fungsi perintah siswa.id_siswa pada query sql diatas ? 10.Apakah fungsi perintah jurusan.id_jurusan pada query sql diatas ? SELAMAT MENGERJAKAN
  • 8. Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 8 BAB III SQL BERTINGKAT SQL bertingkat dibutuhkan untuk menjalankan perintah dalam beberapa tabel. Dalam menjalankan perintah ini dibutuhkan sub query yang berisi perintah SQL. Keberadaan subquery secara nyata mampu menyederhana kan persoalan-persoalan rumit berkaitan query data. Sebagai contoh, misal terdapat pernyataan sebagai berikut: “Dapatkan data mahamahasiswa yang alamatnya sama dengan mahamahasiswa dengan nim 104”. Secara normal, diperlukan dua tahapan untuk menyele saikan kasus di atas. Pertama adalah mendapatkan alamat dari mahasiswa yang memiliki nim 104. Langkah selanjutnya, baru kita bisa mengetahui data mahasiswa yang alamatnya sama dengan mahasiswa dengan nim 104. Adapun dengan memanfaatkan subquery, maka penyelesaian kasus di atas hanya memerlukan sebuah query (akan dijelaskan nanti). Pada hakekatnya, subquery sangat berguna ketika sebuah query didasarkan pada nilai-nilai yang tidak diketahui. Subquery (disebut juga subselect atau nested select /query atau inner-select) merupakan query SELECT yang ada di dalam perintah SQL lain misalnya SELECT, INSERT, UPDATE, atau DELETE. Materi SQL bertingkat dapat kita sebut dengan istilah SubQuery. Sintaks formal subquer y diperlihatkan sebagai berikut: SELECT A1, A2, ..., An FROM r1, r2, r3, ..., rm WHERE P (SELECT A1, A2, ..., An FROM r1, r2, r3, ..., rm WHERE P) Subquery dapat diklasifikasikan ke dalam tiga jenim : scalar, multiple-row, dan multiple- column . a. Scalar Subquery, merupakan Subquery baris tunggal (scalar ) hanya mengembalikan hasil satu baris data. Subquery baris tunggal dapat menggunakan operator baris tunggal =, >, >=, <, <=, atau <> b. Multiple-Row Subquery, Subquery baris ganda (multiple-row) mengembalikan lebih dari satu baris data. Subquery baris ganda dapat menggunakan operator komparasi IN, ANY/SOME, atau ALL c. Multiple-column, merupakan subquery kolom ganda ( multiple-column ) mengembalikan lebih dari satu baris dan satu kolom data. Sub query ini dapat diimplementasikan di dalam klausa WHERE, HAVING, atau FROM 3.1 Subquery
  • 9. Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 9 a. Scalar Subquery Berikut ini merupakan contoh sub query baris tunggal, yaitu mendapatkan data mahasiswa yang alamatnya sama dengan mahasiswa yang memiliki nim 104. Langkah pertama dari operasi yang berjalan adalah mendapatkan alamat mahasiswa dengan nim 104, kemudian hasilnya yaitu Jl. Jombang yang akan digunakan olah main query. b. Multiple-Row Subquery Berikut ini merupakan contoh Multiple-Row Subquery menggunakan operator ALL, yang memiliki arti membandingkat suatu nilai dengan semua nilai yang dikembalikan oleh subquery. Misalkan kita ingin mendapatkan data mata kuliah yang memiliki sks lebih kecil dari semua sks mata kuliah di semester 5. c. Multiple-column Berikut ini merupakan contoh sub query kolom ganda, yang menggunakan operator komparasi IN, ANY/ SOME atau ALL. Pada nilai query ini, nilai dari subquery bentuk kolom ganda akan dibandingkan dengan main query. Sebagai contoh, kita ingin menampilkan mata kuliah semester dan sks nya dengan kode PTI333. 3.2 Syntaks dan Penggunaan Subquery
  • 10. Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 10 Kesalahan umum dalam subquery adalah lebih dari satu baris data dihasilkan untuk single row subquery. Subquery ini menghasilkan lebih dari satu baris data dan menggunakan single row operator. Kita dapat membetulkan kesalahan ini dengan mengubah = menjadi IN. SELECT nama_mk, semester, kode_mk FROM matakuliah WHERE kode_mk= ( SELECT id FROM dosen WHERE nama_mk = ‘Praktikum Basis Data’ OR region_id = 2 ); 3.3 Kesalahan dalam Subquery LATIHAN SOAL MANDIRI 3 Kerjakan di buku catatan kamu masing-masing 1. Apakah fungsi dari penggunaan SQL bertingkat ? 2. Apakah yang dimaksud scalar subquery ? 3. Apakah yang dimaksud Multiple-Row Subquery ? 4. Apakah yang dimaksud Multiple Column ? 5. Sebutkan contoh kesalahan umum dalam subquery ! LEMBAR KERJA SISWA MATERI : SQL BERTINGKAT Nama : Kelas / No. Absen : Berdasarkan gambar diatas, jawablah pertanyaan dibawah ini : 1. Dengan menggunakan tabel mahasiswa, apakah yang dimaksud L ? 2. Dengan menggunakan tabel mahasiswa, apakah yang dimaksud P ? 3. Dengan menggunakan tabel mahasiswa, apakah yang dimaksud Budi ? 4. Dengan menggunakan tabel mahasiswa, apakah yang dimaksud Wati ? 5. Dengan menggunakan tabel mahasiswa, apakah yang dimaksud 102 ? 6. Dengan menggunakan tabel mahasiswa, apakah yang dimaksud 103 ? 7. Apakah yang dimaksud dengan Return ? 8. Apakah yang dimaksud dengan Subquery ? 9. Apakah yang dimaksud dengan Main query ? 10. Termasuk jenis SQL bertingkat apakah gambar diatas ? SELAMAT MENGERJAKAN
  • 11. Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 11 BAB IV SQL PADA BASIS DATA CLIENT-SERVER Client server adalah software atau perangkat lunak yang menghubungkan sistem server dan sistem client yang berkomunikasi melalui jaringan komputer. Server nantinya akan mengelola keamanan data client, aplikasi, dan data. Sedangkan Database Client Server adalah teknologi terkini dari perkembangan aplikasi berbasis data yang sering juga disebut database SQL. Secara sederhana, Client Server dapat di artikan sebagai aplikasi manajemen database terpusat yang diatur dan dikendalikan oleh satu komputer yang disebut server. Sedangkan untuk koneksi pada sistem basis data akan diatur pada server yang akan memberikan pelayanan akses data pada komputer client. Sebelum masuk ke Myql, anda perlu masuk pada Command Prompt (CMD) pada Windows untuk sebagai UI (User Interface) berinteraksi dengan query Mysql. Silahkan tekan tombol Windows + R. Kemudian ketikkan CMD pada field input diakhiri dengan mengklik atau menekan tombol Enter. Kemudian ketik perintah cd c:xamppmysqlbin Setelah terbuka maka untuk masuk dan mengakses database silahkan ketik mysql -u root. Query tersebut digunakan untuk masuk database dengan username root dan password empty/kosong. Langkah selanjutnya adalah membuat database baru. Perintah atau query untuk membuat database baru adalah create database db_transaksi;. Di sini saya akan membuat database dengan nama db_transaksi. 4.1 Sistem Basis Data Client-Server 4.2 Koneksi Basis Data
  • 12. Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 12 Berikut ini merupakan tampilan setelah database db_transaksi selesai dibuat : Untuk melakukan input data pada client, dapat menggunakan perintah SQL. Salah satu contoh yang diberikan adalah bisa untuk mengisi data pada tabel yang ada dalam db_transaksi. Query berikut untuk membuat tabel dengan nama data_penjualan Sedangkan untuk mengisi data yang dimasukkan pada tabelnya berikut scriptnya: 4.3 Perintah SQL Melalui CLient
  • 13. Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 13 Untuk menampilkan hasilnya menggunakan perintah SQL sebagai berikut : LATIHAN SOAL MANDIRI 4 Kerjakan di buku catatan kamu masing-masing 1. Bagaimana cara masuk ke dalam command prompt pada windows ? 2. Buatlah perintah pada command prompt menuju mysql? 3. Apakah perintah untuk masuk dan mengakses database ? 4. Apakah password yang diisikan sebelum membuat database ? 5. Buatlah perintah sql untuk membuat database transaksi !
  • 14. Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 14 LEMBAR KERJA SISWA MATERI : SQL PADA BASIS DATA CLIENT-SERVER Nama : Kelas / No. Absen : Berdasarkan gambar diatas, jawablah pertanyaan dibawah ini : 1. Apakah nama database pada tabel diatas ? 2. Apakah nama tabel pada database soal nomor 1 ? 3. Apakah field pertama pada tabel data penjualan ? 4. Apakah nama tipe data pada field soal nomor 3 ? 5. Jelaskan maksud not null pada field soal nomor 3 ! 6. Jelaskan maksud primary pada field soal nomor 3 ! 7. Jelaskan maksud auto_increment pada field soal nomor 3 ! 8. Sebutkan nama field terakhir pada tabel diatas ! 9. Sebutkan tipe data field terakhir pada tabel diatas ! 10.Jelaskan maksud yes null pada field soal nomor 8 ! SELAMAT MENGERJAKAN
  • 15. Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 15 BAB V ARSITEKTUR RDBMS 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. Arsitektur DBMS (DataBase Management System) ini dikenal dengan nama arsitektur tiga skema (three-schema architecture) dimana fungsi ini untuk memisahkan antara basis data fisik dengan program aplikasi user. Skema-skema tersebut adalah sebagai berikut: a. Level internal merupakan skema internal yang memuat deskripsi struktur penyimpanan basis data dan menggunakan model data fisikal serta mendefinisikan secara detail penyimpanan data dalam basis data, serta jalur pengaksesan data. b. Level konseptual adalah skema yang memuat deskripsi struktur basis data secara keseluruhan untuk semua pemakai. Skema ini hanya memuat deskripsi tentang entitas, atribut, hubungan dan batasan, tanpa memuat deskripsi data secara detail. c. Level eksternal merupakan skema eksternal (user view) yang mendefinisikan pandangan data terhadap sekelompok user (local view) dengan menyembunyikan data lain yang tidak diperlukan oleh kelompok user tersebut Keuntungan dalam menggunakan arsitektur DBMS ini antar lain : a. Perubahan skema konseptual, yaitu adanya perubahan dalam skema konseptual contohnya penambahan suatu item data tidak akan berpengaruh pada program aplikasi. Tetapi jika skema eksternal tidak sesuai lagi dengan skema konsepsual yang baru maka program aplikasi harus disesuaikan juga. b. Perubahan skema internal. Pemisahan antara skema eksternal dan skema internal berfungsi untuk menjaga bila terjadi perubahan skema internal, misalnya ada penambahan “pointer” pada rekaman. c. Perubahan skema eksternal. Adanya penambahan skema eksternal atau pembuatan skema eksternal baru tidak akan berpengaruh pada aplikasi yang ada selama aplikasi tersebut tidak mengakses data berdasarkan skema yang baru. Primary key atau biasa disebut sebagai kunci utama pada suatu tabel merupakan kolom yang berisi nilai unik, berfungsi sebagai identitas untuk membedakan setiap record yang ada pada tabel. Contohnya adalah kolom yang biasa digunakan sebagai kunci primer yaitu data berupa angka dan tidak boleh bernilai null atau kosong. Pembuatan primary key terdapat beberapa syarat yang harus dipenuhi antara lain:  Tabel hanya bisa memiliki satu kunci primer.  Jumlah maksimal kunci primer yaitu 16 kolom dengan panjang kunci 900 byte.  Kolom kunci utama perlu Anda definisikan “NOT NULL” yang artinya memastikan bahwa nilai dalam kolom tersebut tidak boleh kosong. Jika Anda tidak memasukkan nilai atau data dalam kolom tersebut, maka akan terjadi kesalahan pada database.  Tidak boleh berisi nilai yang sama antara baris satu dengan baris lain.  Tipe data yang Anda gunakan untuk kunci primer tidak boleh tipe BLOB, melainkan INT, BIGINT, TINYINT, SMALLINT, dan sejenisnya 5.1 Arsitektur DBMS 5.2 Primary Key
  • 16. Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 16 Foreign key atau biasa disebut sebagai kunci tamu pada suatu tabel merupakan suatu field dalam satu tabel yang digunakan untuk menghubungkan dua tabel. Pada dasarnya, foreign key digunakan untuk menandakan hubungan tabel yang satu dengan yang lainnya. Atau dapat dikenal dengan istilah parent dan child. Tabel pertama berperan sebagai parent yang terdapat primary key di dalamnya, tabel kedua disebut sebagai child yang berisi kunci asing (foreign key). Pembuatan foreign key terdapat beberapa syarat yang harus dipenuhi antara lain:  Foreign key tidak memiliki fungsi untuk mengidentifikasi record yang terdapat dalam tabel. Selain itu, foreign key juga dapat menerima nilai yang duplikat.  Di dalam foreign key tidak terdapat clustered index. Namun, Anda dapat melakukannya dengan manual.  Anda tidak dapat menambahkan nilai ke dalam foreign key, jika nilai tersebut tidak tersedia di kolom primary key. Sebab, syarat nilai dalam foreign key merupakan nilai rujukan dari kolom primary key.  Anda dapat menghapus suatu nilai yang berasal dari kolom foreign key tanpa mengganggu record yang lain, dan juga tanpa harus mengetahui apakah nilai tersebut merupakan nilai yang dirujuk dari primary key atau tidak. 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. Berikut ini contoh relasi pada tabel : 1. Relasi One To One Relasi one to one adalah relasi dimana setiap satu baris data pada tabel satu hanya berhubungan dengan satu baris data di tabel dua. Artinya masing - masing hanya memiliki satu hubungan saja. Biasanya relasi seperti ini digunakan pada relasi pengguna dan userlogin. Dimana satu pengguna hanya memiliki satu akun untuk login. Pada gambar diatas adalah contoh relasi one to one. Dimana relasi tersebut terdapat pada tabel pengguna dan tabel login_pengguna. Dimana pengguna hanya memiliki satu akun login_pengguna. Dan satu akun login hanya untuk satu pengguna saja. Pada relasi tersebut, terdapat primary key id_pengguna pada tabel pengguna yang berelasi dengan id_pengguna. 5.3 Foreign Key 5.4 Relasi antar tabel
  • 17. Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 17 Pada tabel login_pengguna, id_pengguna adalah primary key sekaligus foreign key dari tabel pengguna. Hal itu karena primary key merupakan kolom spesial dimana tiap baris memiliki isi dari primary key yang berbeda - beda. Sedangkan foreign key merupakan penghubung antara tabel satu dan tabel dua. Dan foreign key harus sama isinya dengan primary key dari tabel pengguna. Dengan kata lain, id_pengguna dari tabel login pengguna harus sama isinya dengan id_pengguna dari tabel pengguna dan id_pengguna pada login_pengguna. 2. Relasi one to many Relasi one to many adalah relasi yang mana setiap baris dari tabel pertama dapat dihubungkan dengan satu baris ataupun lebih dari tabel kedua. Artinya satu baris dari tabel pertama dapat mencangkup banyak data pada tabel kedua. Disini saya contohkan seperti dosen dan mata kuliah. Kita tahu bahwa dosen bisa memiliki banyak mata kuliah yang dia ampu. Namun satu mata kuliah hanya bisa diampu oleh satu dosen saja seperti pada tabel Pada gambar diatas, kita bisa lihat bahwa pada tabel dosen memiliki primary key id_dosen yang mana primary key tersebut sebagai pembeda antara baris satu dengan baris lain. Sedangkan pada tabel matkul terdapat satu primary key yaitu id_matkul dan terdapat foreign key id_dosen dari tabel dosen. Karena foreign key pada tabel matkul bukanlah primary key, artinya kita bisa menambah data sama dari foreign key tersebut asalkan sama tabel dosen. Pada kasus one to many ini. Kita perlu untuk memberikan akses pada satu tabel kuat dimata satu tabel tersebut haruslah terisi terlebih dahulu agar data tabel kedua bisa menyesuaikan data dari tabel pertama. Contohnya relasi tabel diatas. Jika tidak ada dosen, maka tidak ada matkul yang diampu. Sedangkan jika matkul tidak ada, maka memakai pengampu yang lain. 3. Relasi Many To Many Relasi many to many adalah keadaan dimana satu baris dari tabel satu dapat berhubungan dengan tabel kedua. Dan satu baris dari tabel kedua dapat berhubungan dengan banyak baris dari tabel pertama. Artinya kedua tabel masing - masing dapat mengakses banyak data dari tiap tabel yang lain. Dalam hal ini, kita membutuhkan tabel ketiga sebagai perantara tabel satu dan tabel dua sebagai tempat untuk menyimpan foreign key dari masing - masing tabel. Disini saya memberikan contoh barang dan penjualan. Tentu saja setiap satu jenis barang bisa dijual beberapa kali jumlahnya sehingga dalam satu penjualan mencakup banyak barang.
  • 18. Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 18 Pada gambar diatas, terdapat tiga tabel. Yaitu tabel penjualan, barang, dan detail_penjualan. Barang dan penjualan adalah dua tabel yang berelasi many to many. Akhirnya menghasilkan satu tabel yaitu tabel detail_penjualan. Pada tabel detail_penjualan, terdapat foreign key dari tabel penjualan dan tabel barang namu tidak terdapat primary key karena pada tabel ini tidak dibutuhkan primary key. Sehingga data yang terdapat pada tabel detail_penjualan ini sangat bergantung pada tabel barang dan penjualan. LEMBAR KERJA SISWA MATERI : ARSITEKTUR RDBMS Nama : Kelas / No. Absen : 1. Apakah yang merupakan fungsi DBMS ? 2. Apakah nama lain arsitektur tiga tema DBMS ? 3. Sebutkan 3 level pada DBMS ! 4. Apakah yang dimaksud dengan primary key ? 5. Apakah yang dimaksud dengan foreign key ? 6. Sebutkan contoh relasi tabel one – to one ! 7. Sebutkan contoh relasi tabel one – to many ! 8. Sebutkan contoh relasi tabel many – to many ! Gambar untuk soal nomor 9-10 ! 9. Berikanlah contoh primary key pada tabel detail_penjualan ! 10.Berikanlah contoh foreign key pada tabel detail_penjualan ! SELAMAT MENGERJAKAN LATIHAN SOAL MANDIRI 5 Kerjakan di buku catatan kamu masing-masing 1. Apakah kepanjangan dari DBMS ? 2. Apakah yang anda ketahui tentang Arsitektur DBMS ? 3. Apakah yang dimaksud dengan primary key ? 4. Apakah yang dimaksud dengan foreign key ? 5. Sebutkan 2 contoh relasi tabel pada database !
  • 19. Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 19 BAB VI MEMBUAT BASIS DATA RDBMS Manajemen Sistem Basis Data (Database Management System/DBMS) merupakan metode dan aplikasi yang didesain untuk membantu dalam hal pemeliharaan dan utilitas kumpulan data dalam jumlah besar, baik dalam skala kecil, menengah maupun besar. RDBMS (Relational Database Management System) adalah program yang melayani sistem basis data yang entitas utamanya terdiri dari tabel-tabel yang mempunyai relasi dari satu tabel ke tabel yang lain. Database atau basis data adalah kumpulan data yang dikelola sedemikian rupa secara sistematis berdasarkan ketentuan tertentu yang saling berhubungan sehingga mudah dalam pengelolaan informasi. Di dalam database terdapat table, field, data dan record. Syntax dasar : CREATE DATABASE (nama_database) ; Contoh : CREATE DATABASE PENGGAJIAN Tabel adalah merupakan kumpulan dari beberapa record dan juga field yang ditampilkan dalam kolom dan baris. Sebuah table merupakan struktur penyimpanan dasar dari sebuah RDBMS. Sebuah table memiliki semua data yang diperlukan tentang sesuatu di dunia nyata, seperti contoh data karyawan, faktur, atau data pelanggan. tabel harus diberi nama secara unik sebagai identitasnya dan terdiri dari beberapa baris sebagai penyimpanan informasi, dan masing-masing baris berisi satu record. Sebuah tabel dapat mempunyai sebuah kolom atau lebih. Sebuah kolom memiliki sebuah nama dan tipe data yang diberlakukan dan merupakan deskripsi atribut pada record. Syntax dasar : CREATE TABLE (namatable ( <kolom 1><tipe data> [not null] ... <kolom n><tipe data> [not null] ); Contoh : Create table detail_gaji (no_slip varchar(10), kd_potongan varchar(3), jumlah int(10)) Dalam pembuatan Relational Database Mangement System (RDBMS) tidak selamanya berjalan sesuai dengan rencana. Hal ini dilakukan dengan menghapus tabel maupun database yang telah dibuat. Dan terkadang kita harus menghapus tabel yang pernah dibuat karena sudah tidak dibutuhkan lagi atau karena salah, untuk keperluan ini kita dapat menggunakan perintah atau sintak SQL drop table yang secara lengkap. Perintah drop memungkinkan untuk melakukan proses penghapusan pada tabel dan database. Diharapkan setelah menggunakan perintah ini, maka database penggajian dan table detail_gaji sudah terhapus dari sistem. 6.1 Membuat Database 6.2 Merancang tabel 6.3 Menghapus tabel dan database
  • 20. Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 20 Syntax dasar : DROP TABLE (nama_table) Contoh : DROP table detail_gaji; Sedangkan untuk menghapus database penggajian, dilakukan langkah sebagai berikut : DROP database (nama_database); DROP database penggajian ; LATIHAN SOAL MANDIRI 6 Kerjakan di buku catatan kamu masing-masing 1. Sebutkan perintah SQL untuk membuat database ! 2. Bagaimana cara membuat database penggajian ? 3. Sebutkan perintah SQL untuk memilih atau mengaktifkan database ! 4. Bagaimana cara memilih atau mengaktifkan database penggajian ? 5. Sebutkan perintah SQL untuk membuat tabel !
  • 21. Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 21 LEMBAR KERJA SISWA MATERI : MEMBUAT BASIS DATA RDBMS Nama : Kelas / No. Absen : Berdasarkan gambar diatas, jawablah pertanyaan dibawah ini : 1. Apakah nama RDBMS pada relasi tabel diatas ? 2. Sebutkan bagian pada PHPMyadmin yang berfungsi membuat RDBMS ! 3. Apakah field yang digunakan sebagai primary key pada tabel potongan ? 4. Apakah field yang digunakan sebagai primary key pada tabel gaji ? 5. Apakah field yang digunakan sebagai primary key pada tabel user ? 6. Apakah field yang digunakan sebagai primary key pada tabel jabatan ? 7. Apakah field yang digunakan sebagai primary key pada tabel golongan ? 8. Apakah field yang digunakan sebagai primary key pada tabel pegawai ? 9. Jelaskan tipe data varchar(9) pada field nip ? 10. Sebutkan contoh foreign key pada RDBMS diatas ! SELAMAT MENGERJAKAN
  • 22. Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 22
  • 23. Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 23
  • 24. Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 24
  • 25. Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 25
  • 26. Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 26
  • 27. Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 27
  • 28. Imelda Wikan Kristian BASIS DATA | SMK NEGERI 1 PABELAN 28