Anda di halaman 1dari 33

1

KATA PENGANTAR

Puji syukur penulis panjatkan kehadirat Allah SWT, karena atas rahmat
dan karunia-Nya lah penulis dapat menyelesaikan modul mata kuliah Bahasa
Query ini. Sholawat dan salam semoga tetap dilimpahkan kepada Nabi
Muhammad SAW. Setelah beberapa tahun mengajar di Universitas
Muhammadiyah Sumatera Utara, banyak pengalaman yang mendorong penulis
untuk menulis sebuah modul yang dapat meningkatkan minat mahasiswa dalam
belajar karena modul memiliki kejelasan bahasa dan dengan metode yang mudah
dipahami. Didalam modul terdapat bahan ajar yang akan disampaikan dosen
kepada mahasiswa Program Studi Sistem Informasi Fakultas Ilmu Komputer dan
Teknologi Informasi Universitas Muhammadiyah Sumatera Utara sebagai mata
kuliah wajib yang akan dipelajari mahasiswa selama satu semester.
Bahasa Query sangat diperlukan bagi mahasiswa Program Studi Sistem
Informasi dikarenakan mata kuliah ini lanjutaan dari sistem basis data dan untuk
mendalami bahasa query pada database.
Penulis menyadari penyusunan modul bahasa query ini masih memiliki
kekurangan dan kelemahan, akhirnya kepada bapak/ibu dosen dan para pembaca
kiranya dapat memberikan masukan dan saran untuk lebih baik kedepannya.

Medan, Agustus 2020


Penulis

(Al-Khowarizmi, M.Kom.)

i
DAFTAR ISI

KATA PENGANTAR ................................................................................. i


DAFTAR ISI ................................................................................................ ii
I. IDENTITAS ........................................................................................ 1
a. Nama Mata kuliah .......................................................................... 1
b. Kode Mata kuliah ........................................................................... 1
c. Jumlah SKS .................................................................................... 1
d. Nama Dosen/ Team Teaching ........................................................ 1
II. PENDAHULUAN ............................................................................... 2
a. Deskripsi Mata Kuliah ................................................................... 2
b. Capaian Pembelajaran Mata Kuliah ............................................... 2
c. Sub Capaian Pembelajaran Mata Kuliah........................................ 2
III. PEMBELAJARAN ............................................................................ 4
a. Kegiatan Pembelajaran ke 1 ........................................................... 4
1. Query ....................................................................................... 4
2. Tujuan Materi Pembelajaran .................................................... 4
3. Materi Pembelajaran ................................................................ 4
4. Tugas/Latihan .......................................................................... 6
b. Kegiatan Pembelajaran ke 2 ........................................................... 6
1. Sub Query ................................................................................ 6
2. Tujuan Materi Pembelajaran .................................................... 6
3. Materi Pembelajaran ................................................................ 6
4. Tugas/Latihan ........................................................................... 10
c. Kegiatan Pembelajaran ke 3 ........................................................... 10
1. Natural Join .............................................................................. 10
2. Tujuan Materi Pembelajaran .................................................... 10
3. Materi Pembelajaran ................................................................ 10
4. Tugas/Latihan .......................................................................... 11
d. Kegiatan Pembelajaran ke 4 ........................................................... 11
1. Cross Join................................................................................. 11
2. Tujuan Materi Pembelajaran .................................................... 11
3. Materi Pembelajaran ................................................................ 11
4. Tugas/Latihan .......................................................................... 12
e. Kegiatan Pembelajaran ke 5 ........................................................... 12
1. Inner Join dan Outer Join ......................................................... 12
2. Tujuan Materi Pembelajaran .................................................... 12
3. Materi Pembelajaran ................................................................ 12
4. Tugas/Latihan .......................................................................... 16
f. Kegiatan Pembelajaran ke 6 ........................................................... 16
1. Operator Union ........................................................................ 16
2. Tujuan Materi Pembelajaran .................................................... 16
3. Materi Pembelajaran ................................................................ 16
4. Tugas/Latihan .......................................................................... 17
g. Kegiatan Pembelajaran ke 7 ........................................................... 17
1. Aplikasi View .......................................................................... 17

ii
2. Tujuan Materi Pembelajaran .................................................... 17
3. Materi Pembelajaran ................................................................ 17
4. Tugas/Latihan .......................................................................... 18
h. Kegiatan Pembelajaran ke 8 ........................................................... 18
1. Prosedur dan Fungsi Tersimpan .............................................. 18
2. Tujuan Materi Pembelajaran .................................................... 18
3. Materi Pembelajaran ................................................................ 18
4. Tugas/Latihan .......................................................................... 20
i. Kegiatan Pembelajaran ke 9 ........................................................... 20
1. Trigger ..................................................................................... 20
2. Tujuan Materi Pembelajaran .................................................... 20
3. Materi Pembelajaran ................................................................ 20
4. Tugas/Latihan .......................................................................... 21
j. Kegiatan Pembelajaran ke 10 ......................................................... 22
1. Manajemen User Administrator............................................... 22
2. Tujuan Materi Pembelajaran .................................................... 22
3. Materi Pembelajaran ................................................................ 22
4. Tugas/Latihan .......................................................................... 27
IV. PENUTUP ........................................................................................ 28
DAFTAR PUSTAKA .................................................................................. 29

iii
I. IDENTITAS MATAKULIAH

A. Nama mata kuliah : Basaha Query


B. Kode mata kuliah : ISI330153
C. Jumlah sks : 2 SKS
D. Nama dosen/team teaching : Al-Khowarizmi, S.Kom. M.Kom

1
II. PENDAHULUAN

A. Deskripsi Mahasiswa

Mata kuliah ini mempelajari tentang bagaimana membuat perancangan


basis data, implementasi basis data dalam dunia nyata serta bagaimana gambaran
secara umum konsep DBMS dan pemrosesannya dengan memperdalam
penguasaan pada bahasa query, sub query, menggunakan beberapa konsep join
seperti natural join, cross join, inner join, outer join, selain itu menerapkan view
pada mysql, memperdalam query dengan menggunakan prosedur dan fungsi
tersimpan, pada pengelolaan database server menerapkan trigger dan mampu
mengkelola manajemen adminitrasi database. Untuk mencapai tujuan dan isi
materi tersebut digunakan metode pembelajaran Tatap muka langsung dan tidak
langsung, problem solving, problem based learning, discovery learning, small
group discussion, dan simulasi, dengan teknik penyampaian materi pembelajaran
menggunakan nilai-nilai Al-Islam dan kemuhammadiyahan. Penilaian (evaluasi)
terdiri dari tiga komponen yaitu TTM 30% (Kehadiran 20%, UTS 40% dan UAS
40%), TT 30% (MR 20%, TR 20%, JR 30%, dan MRch 30%), TM 30% (MR
60%, dan TR 40%), dan Attitude 10%, yang semuanya bersumber dari tiga aspek,
yaitu kognitif, afektif dan psikomotorik.

B. Capaian Pembelajaran Mata Kuliah


Mahasiswa mampu merancang dan membuat database berdasarkan konsep
query yang diimplementasikan pada pusat data untuk membentuk pengambilan
data dengan cepat dan daya tampung besar yang berbasis pada sistem cerdas
berdasarkan nilai-nilai Al-Islam dan kemuhammadiyahan.

C. Sub Capaian Pembelajaran Mata Kuliah


1. Mahasiswa mampu merancang dan memodelkan basis data dalam
Query.
2. Mahasiswa mampu menggunakan bahasa query dan menjelaskan
konsep Sub query.
3. Mahasiswa mampu menggunakan bahasa query dan menjelaskan
konsep Natural Join.
4. Mahasiswa mampu menggunakan bahasa query dan menjelaskan
konsep Cross Join.
5. Mahasiswa mampu menggunakan bahasa query dan menjelaskan
konsep Inner Join dan Outer Join
6. Mahasiswa mampu menggunakan bahasa query dan menjelaskan
konsep Operator Union
7. Mahasiswa mampu menggunakan bahasa query dan menjelaskan
konsep Aplikasi View

2
8. Mahasiswa mampu menggunakan bahasa query dan menjelaskan
konsep Prosedur dan Fungsi Tersimpan
9. Mahasiswa mampu menggunakan bahasa query dan menjelaskan
konsep Trigger
10. Mahasiswa mampu melakukan mengaturan user pada manajemen basis
data
11. Mahasiswa mampu merancang sebuah penelitian dan menunagkannya
kedalam bentuk sebual laporan secara mandiri, terukur, dan bebas
plagiasi dengan benar dan bertanggung jawab berdasarkan nilai-nilai
Al-Islam dan kemuhammadiyahan.

3
III. PEMBELAJARAN

A. Kegiatan Pembelajaran-1
1. Query
2. Tujuan Materi Pembelajaran
Adapun tujuan pembelajaran dari mata kuliah ini ialah sebagai berikut:
a) Agar mahasiswa mengetahui tentang query
b) Agar mahasiswa mampu memahami dan merancang database dengan
bahasa query
3. Materi Pembelajaran
a. Pengenalan Bahasa Query
Teknologi informasi secara garis besar adalah suatu studi perancangan,
implementasi, pengembangan, dukungan atau manajemen sistem informasi
berbasis komputer terutama pada perangkat keras dan perangkat lunak atau secara
sederhana, salah satu fasilitas yang terdiri dari perangkat keras dan perangkat
lunak dalam mendukung dan meningkatkan kualitas informasi untuk setiap
lapisan masyarakat secara cepat dan berkualitas.
Database Manajemen Sistem (DBMS) adalah kumpulan dari program-
program yang membolehkan user untuk menciptakan dan memelihara sebuah
database. DBMS sudah menjadi peralatan standar untuk melindungi pengguna
komputer dari bagian-bagian kecil dalam pengelolaan secondary storage (hard
disk). DBMS didesain untuk meningkatkan produktivitas dari aplikasi para
programmer dan untuk memberikan kemudahan pengaksesan data oleh komputer.
Pengaksesan data di dalam DBMS dapat dilakukan dengan berbagai
macam cara. Dan tentunya dalam melakukan pengaksesan data ada hal-hal yang
perlu diperhatikan seperti ketepatgunaan implementasi dari data itu sendiri serta
waktu prosesnya. Ada banyak plan (rencana) yang dapat diikuti oleh database
manajemen sistem dalam memproses dan menghasilkan jawaban sebuah query.
Semua plan pada akhirnya akan menghasilkan jawaban (output) yang sama tetapi
pasti mempunyai harga yang berbeda-beda, seperti misalnya total waktu yang
diperlukan untuk menjalankan sebuah query.
Optimisasi query mencoba memberikan suatu pemecahan untuk
menangani masalah tersebut dengan cara menggabungkan sejumlah besar teknik-
teknik dan strategi, yang meliputi transformasi-transformasi logika dari query-
query untuk mengoptimisasi jalan akses dan penyimpanan data pada sistem file.
Setelah ditransformasikan, sebuah query harus dipetakan ke dalam sebuah urut-
urutan operasi untuk menghasilkan data-data yang diminta.
Sebuah query yang diekspresikan dalam sebuah bahasa query tingkat
tinggi seperti SQL mula-mula harus dibaca, diuraikan dan disahkan (scanning,
parsing, validating)1. Query tersebut kemudian dibentuk menjadi sebuah struktur
data yang biasa disebut dengan query tree. Dan kemudian DBMS (Database
Manajemen Sistem) harus merencanakan sebuah strategi eksekusi untuk

4
mendapatkan kembali hasil dari query dari file-file database. Tahapan-tahapan
proses dari sebuah query di dalam sebuah sistem database ditunjukkan pada
masing-masing tahapan :
Scanner melakukan identifikasi (pengenalan) token-token seperti SQL keywords,
attribute, dan relation name. Proses ini disebut dengan scanning.
Query Parser mengecek kevalidan query dan kemudian menterjemahkannya ke
dalam sebuah bentuk internal yaitu ekspresi relasi aljabar atau parse tree. Proses
ini disebut dengan parsing.
Query Optimizer memeriksa semua ekspresi-ekspresi aljabar yang sama untuk
query yang diberikan dan memilih salah satu dari ekspresi tersebut yang terbaik
yang memiliki perkiraan termurah. Dengan kata lain, tugas dari query optimizer
adalah menghasilkan sebuah rencana eksekusi. Proses ini disebut dengan
optimisasi query.
Code Generator atau Interpreter mentransformasikan rencana akses yang
dihasilkan oleh optimizer ke dalam kode-kode. Setelah itu, kode-kode tersebut
dikirimkan ke dalam query processor untuk dijalankan.
Query Processor melakukan eksekusi query untuk mendapatkan hasil query yang
diinginkan.

b. Pengenalan tentang query


Sebuah query adalah sebuah ekspresi bahasa yang menggambarkan data
yang akan didapatkan kembali dari sebuah database. Dalam hubungannya dengan
optimisasi query, seringkali diasumsikan bahwa query-query tersebut dinyatakan
dalam sebuah dasar-dasar isi dan sekumpulan cara orientasi, yang memberikan
optimizer pilihan-pilihan diantara alternatif prosedur-prosedur evaluasi.
Query dapat digunakan pada beberapa keadaan. Kebanyakan aplikasi
nyatanya adalah permintaan-permintaan secara langsung dari user yang
memerlukan informasi tentang bentuk maupun isi dari database. Apabila
permintaan user terbatas pada sekumpulan query-query standar, maka query-query
tersebut dapat dioptimisasi secara manual oleh pemrograman prosedur-prosedur
pencarian gabungan dan membatasi input dari user pada sebuah ukuran menu.
Tetapi bagaimanapun juga, sebuah sistem optimisasi query otomatis menjadi
penting apabila query-query khusus ditanyakan dengan menggunakan bahasa
query yang digunakan secara umum seperti SQL.
Aplikasi yang kedua dari query terjadi pada transaksi-transaksi yang mengubah
data yang disimpan berdasarkan nilainya saat itu. Pada akhirnya, query seperti
ekspresi-ekspresi dapat digunakan secara internal dalam sebuah DBMS, sebagai
contoh adalah untuk mengecek kebenaran akses dan menyamakan kebenaran
akses-akses yang terjadi.
Membicarakan tentang query, sangat erat hubungannya dengan cara
penulisan query tersebut ke dalam sebuah bentuk bahasa yang mudah dimengerti.

5
Pada umumnya, bahasa query yang digunakan untuk mengekspresikan sebuah
pernyataan dari query adalah SQL (Structure Query Language).
SQL adalah sebuah bahasa database yang luas yang memiliki statement-
statement (pernyataan) untuk definisi data, query dan update data (memperbaharui
data). SQL mempunyai satu statement dasar untuk mendapatkan kembali
informasi dari sebuah database. Statement dasar dari SQL adalah SELECT.
Bentuk dasar dari statement SELECT biasa disebut dengan blok select from where
yang terbentuk dari tiga macam klausa yaitu SELECT, FROM dan WHERE yang
mempunyai bentuk sebagai berikut :

SELECT <daftar Attribute>


FROM <daftar Tabel>
WHERE <kondisi>

Dimana <daftar attribute> adalah sebuah daftar dari nama-nama attribute


yang nilai-nilainya didapatkan oleh query. Sedangkan <daftar tabel> adalah
sebuah daftar dari nama-nama relasi yang diperlukan oleh proses sebuah query.
<kondisi> adalah sebuah kondisi ekspresi boolean yang mengidentifikasikan
tuple-tuple yang akan dikembalikan oleh query.
Selanjutnya, statement Select-From-Where akan selalu digunakan dalam
pembahasan mengenai proses dan teknik optimisasi query nanti dengan tujuan
untuk lebih memudahkan pemahaman tentang proses dan teknik optimisasi query
karena statement tersebut merupakan statement dasar yang mudah dimengerti dan
umum digunakan.

4. Evaluasi
1. Bagaimana menampilan seluruh dari sebuah tabel didatabase!
2. Buatlah 2 tabel yang memiliki hubungan relasional!
3. Buatlah query dari 2 tabel!

B. Pembelajaran Ke-2
1. Sub Query
2. Tujuan materi pembelajaran
Adapun tujuan pembelajaran dari mata kuliah ini ialah sebagai berikut:
a) Agar mahasiswa mengetahui Sub Query
b) Agar mahasiswa dapat merancang perintah select didalam select.
3. Materi pembelajaran
a. SELECT INTO STATEMENT
SELECT INTO adalah sebuah perintah yang ada pada MySQL yang
digunakan untuk memindahkan data dari satu tabel ke tabel yang lain atau dari
satu database ke database yang lain. SELECT INTO sebenarnya juga dapat

6
memilah field yang mana sajakah yang ingin kita pindahkan dengan cara
menyebutkan nama fieldnya. Struktur SQL yang digunakan adalah select * into
tabelBaru from tabelLama; dan bila hanya digunakan untuk memindah kolom-
kolom tertentu saja maka Syntax yang digunakan adalah select namaKolom1,
namaKolom2, namaKolom3 into tabelBaru from tabelLama; Berikut adalah
beberapa contoh penggunaan SELECT INTO:

• Membuat backup sebuah tabel


SELECT * INTO backup_transaksi FROM transaksi;
• Membuat backup sebuah tabel ke dalam database yang baru
SELECT * INTO backup_trsndskdi IN ‘backup_database.mdb’
FROM transaksi;
• Membuat backup beberapa kolom sebuah tabel
SELECT ID,NamaPelanggan INTO backup_transaksi FROM
transaksi;

b. SUB QUERY
Sub Query adalah query nested atau sebuah query yang ada di dalam
query. Sub query merupakan pernyataan SELECT yang merupakan bagian dari
pernyataan INSERT, SELECT.. Query dasar dalam sub query :
SELECT namakolom FROM namatabel WHERE namakolom operator
(subquery);
Beberapa kegunaan dari Sub Query adalah :
1. Subquery digunakan untuk menyelesaikan persoalan dimana terdapat suatu
nilai yang tidak diketahui (unknown values).
2. Meng-copy data dari satu tabel ke tabel lain
3. Menerima data dari inline view
4. Mengambil data dari tabel lain untuk kemudian di update ke tabel yang dituju
5. Menghapus baris dari satu tabel berdasarkan baris dari tabel lain

Perintah ini hanya bisa menerima satu buah hasil dari sub query, jika hasil
dari sub query ada lebih adari satu maka akan terjadi error. Ada beberapa bahasan
terkait penggunaah Sub Query ini antara lain :

1. Sub query dengan IN


Jika operator ‘=’ hanya digunakan untuk hasil yang tepat satu, maka jika ingin
menampilkan yang memiliki hasil lebih dari satu maka menggunakan perintah IN.
Dan struktur Query yang digunakan dalam hal ini adalah

SELECT namakolom FROM namatabel WHERE kondisi


opeatorperbandingan IN (subquery);

7
2. Sub query dengan ALL
Command ALL diikuti dengan operator perbandingan digunakan memiliki arti
menampilkan nilai jika perbandingan bernilai benar untuk semua data. Operator
perbandingan tersebut berupa ( <, >, =, != ). Berikut adalah query dasar dari sub
query all

SELECT namakolom FROM namatabel WHERE kondisi


opeatorperbandingan ALL (subquery);

3. Sub query dengan ANY


Command ANY diikuti dengan operator perbandingan memiliki arti menampilkan
nilai yang sesuai dengan apapun yang dihasilkan oleh sub query. ANY berbeda
dengan IN, jika IN itu semua data, sedangkan ANY hanya beberapa data. Contoh
query dasar dari sub query ANY

SELECT namakolom FROM namatabel WHERE kondisi


opeatorperbandingan ANY (subquery);

4. Sub query dengan EXISTS


Perintah EXISTS disini berguna untuk mengartur penampilan hasil query, Query
Utama akan dijalankan jika Sub Query bernilai TRUE (ada hasilnya) jika hasilnya
kosong maka Query utama tidak akan dijalankan. Lawan dari statement EXISTS
adalah NOT EXISTS. Query yang digunakan adalah

SELECT namakolom FROM namatabel WHERE EXIST / NOT


EXIST (subquery);

5. Insert Into Statement


Untuk meng-copy data dari suatu tabel ke tabel lain kita bisa menggunakan
perintah INSERT INTO. Tetapi sebelu kita menggunakan perintah INTO INTO
ini kita harus membuat tabel baru yang jumlah field dan urutannya sama dengan
tabel field sebelumnya, nama dari field tidak harus sama. Query untuk perintah
INSERT INTO adalah sebagai berikut:

INSERT INTO namatabel2 SELECT namakolom FROM


namatabel1;

Dapat juga bisa memberikan kondisi sesuai dengan kondisi yang kita inginkan
dengan penambahan perintah WHERE.

8
c. INDEX
Indexes adalah suatu bagian yang special dari system database yang
digunakan untuk peningkatan kemampuan menyeluruh dari proses
yang ada.MySQL mengijinkan antara 16 sampai 64 indexes untuk setiap table,
akan tetapi ini tergantung storage engine yang digunakan. Setiap index dapat
diletakan di field (kolom) mana saja, mulai dari field 1 sampai field 15. Walaupun
penggunaan beberapa field (multicolumn) index tidak terlihat nyata, akan tetapi
penggunaan ini akan memberikan kemudahan untuk kemampuan pencarian pada
sebuah atau banyak field (column).
Pada lain hal, ada sebuah hal yang menjadikan kelemahan dari
penggunaan index. Dimana dengan index kita dapat meningkatkan kecepatan
dalam membaca data dari database, tetapi akan membuat lambat proses perubahan
data dalam database, karena perubahan akan berpengaruh pada data yang di index.
Anda akan mendapat hasil yang normal ketika hanya menampilkan data dari
database jika dibandingkan anda melakukan proses tambah (insert) data atau ubah
(update) data yang sudah ada.

Pengguna index, baik digunakan pada field (column) :


1. Ketika sering menggunakan WHERE pada bagian query.
2. Ketika sering menggunakan ORDER BY pada bagian query.
3. Ketika memiliki banyak perbedaan nilai.
4. Ketika sering menggunakan JOIN pada bagian query.

MySQL memiliki beberapa tipe dari Index yang berbeda, yaitu :


1. INDEX
2. UNIQUE
3. PRIMARY KEY.
4. FULLTEXT index

Contoh Penggunaan Macam Index


1. Indentifikasi suatu field menggunakan PRIMARY KEY
2. Indentifikasi suatu field harus UNIQUE

UNIQUE tidak dapat digunakan dalam jumlah banyak. Sebagian besar digunakan
seperti nilai tanggal, angka, nama, kota, kode pos yang berulang, terutama sekali
pada table dengan ribuan baris (record). Tetapi semua tergantung pada aplikasi
yang anda buat, apakah anda hanya menggunakan sekali-kali pada field yang
benar-benar harus unik, seperti alamat email, username dari sistem aplikasi
registrasi (sistem login). Anda tidak dapat mendefinisikan sekaligus PRIMARY
KEY dan UNIQUE dalam sebuah field, karena PRIMARY KEY sudah didesain
harus mengikut aturan unik.

9
3. Identifikasi suatu field akan mendapatkan keuntungan dari sebuah INDEX
Pada rekomendasi ada adalah ketika index akan membantu dan berfikir tentang
apa informasi akan disajikan. Jika anda memerlukan untuk melihat daftar dari
invoices berdasarkan tanggal atau total jumlah order, maka INDEX akan membuat
logical indexes. Jika sebuah table registrasi/login akan menggunakan kombinasi
pada username dan password untuk verifikasi suatu proses login, maka akan
dibuat index. Anda juga membuat index pada field foreign key anda.
Berikut adalah struktur SQL untuk membuat indeks pada suatu kolom

CREATE INDEX namaindex ON namatabel (nama kolom);

Sedangkan Unique index mirip dengan penggunaan indeks tetapi lebih digunakan
untuk mencegah duplikasi data yang terdapat dalam tabel. Jadi dengan adanya
unique index berarti pembaca tidak dapat meng-insert data yang sama dalam
sebuah tabel. Berikut struktur SQL nya :

CREATE UNIQUE INDEX namaindex ON namatabel (nama


kolom);

Untuk menghapus index berikut strukturnya :


DROP INDEX namaindex;

4. Evaluasi
1. Jelaskan secara singkat tentang sub query!
2. Buatlah contoh pengunaan sub query!

C. Pembelajaran Ke-3
1. Natural Join
2. Tujuan materi pembelajaran
Adapun tujuan pembelajaran dari mata kuliah ini ialah sebagai berikut:
a) Agar mahasiswa mengetahui tentang Natural Join
b) Agar mahasiswa mengetahui cara membuat query dengan natural join
3. Materi pembelajaran
Pada MySQL dikenal beberapa macam join yang dapat dikelompokkan
menjadi dua, yaitu inner join dan outer join. Inner join dapat dibagi kembali
menjadi natural join dan cross join. Sedangkan outer join dapat dibedakan
menjadi left outer join, right outer join, dan full outer join.
Natural join adalah penggabungan data dari dua table yang didasarkan
pada pada kolom dengan nama yang sama pada kedua table tersebut.
Penggabungan ini mencerminkan hubungan antara foreign key dan primary key
dalam dua table. Natural join merupakan join yang digunakan untuk menemukan
persimpangan atau perpotongan antara dua buah tabel yang di-join-kan. Join ini

10
akan mengembalikan atau menampilkan data-data yang saling berpasangan di
anatara kedua buah tabel. Syntax untuk natural join adalah sebagai berikut:

SELECT nama_kolom FROM tabel_1 NATURAL JOIN tabel_2;

4. Evaluasi
1. Buatlah 2 tabel dalam database dengan menggabungkan data
menggunakan natural Join!

D. Pembelajaran Ke-4
1. Cross Join
2. Tujuan materi pembelajaran
Adapun tujuan pembelajaran dari mata kuliah ini ialah sebagai berikut:
a) Agar mahasiswa mengetahui tentang Cross Join
b) Agar mahasiswa mengetahui perbedaan penggunaan natural join dan
cross join.
c) Agar mahasiswa mengetahui cara membuat query dengan cross join.
3. Materi pembelajaran
Cross join merupakan inner join dengan seluruh kondisi join (tidak hanya
data yang berpasangan) dianggap bernilai true. Sesuai dengan namanya, join ini
akan me- ngembalikan semua kemungkinan pasangan atau persilangan data pada
tabel yang satu dengan data pada tabel yang lainnya. Syntax untuk cross join
adalah sebagai berikut:

SELECT nama_kolom FROM tabel_1 CROSS JOIN tabel_2;

Bentuk sederhana dari penggabungan dua buah table akan membentuk perkalian
kartesian (Cartesian product) atau yang biasa dikenal dengan sebutan CROSS
JOIN atau FULL JOIN. Hal ini diperoleh jika klausa WHERE tidak disebutkan.
Sebagai contoh terdapat dua table sebagai berikut :

11
Maka jika dikenakan CROSS JOIN maka menjadi :

Hal ini sama dengan perintah SQL sebagai berikut :


SELECT * FROM r, s;

4. Evaluasi
1. Buatlah 2 tabel dalam database dengan menggabungkan data menggunakan
cross Join!
2. Jelaskan perbedaan natural join dan cross join!

E. Pembelajaran Ke-5
1. Inner Join dan Outer Join
2. Tujuan materi pembelajaran
Adapun tujuan pembelajaran dari mata kuliah ini ialah sebagai berikut:
a) Agar mahasiswa mengetahui tentang inner join dan outer join.
b) Agar mahasiswa dapat membuar sintak query dengan inner join dan
outer join.
c) Agar mahasiswa mampu memahami perbedaan inner join dan outer
join.
3. Materi pembelajaran
Berikut ini adalah empat tipe join di SQL (bersama tiga variannya). Sebagai
pelengkap dari penjelasan yang ada, kami telah menyediakan contoh kode SQL.

12
Inner Join
Inner join mungkin tipe join yang paling banyak dipakai. Inner join
mengembalikan baris-baris dari dua tabel atau lebih yang memenuhi syarat.

SELECT columns
FROM TableA
INNER JOIN TableB
ON A.columnName = B.columnName;

Left [Outer] Join


Left outer join (sering disingkat left join) akan mengembalikan seluruh baris dari
tabel disebelah kiri yang dikenai kondisi ON dan hanya baris dari tabel
disebelah kanan yang memenuhi kondisi join.

SELECT columns
FROM TableA
LEFT OUTER JOIN TableB
ON A.columnName = B.columnName

13
Left [Outer] Join without Intersection
Join ini merupakan variasi dari left outer join. Pada join ini kita hanya akan
mengambil data dari tabel sebelah kiri yang dikenai kondisi ON yang juga
memenuhi kondisi join tanpa data dari tabel sebelah kanan yang memenuhi
kondisi join.

SELECT columns
FROM TableA
LEFT OUTER JOIN TableB
ON A.columnName = B.columnName
WHERE B.columnName IS NULL

Right [Outer] Join


Right outer join (sering disingkat right join) akan mengembalikan semua baris
dari tabel sebelah kanan yang dikenai kondisi ON dengan data dari tabel sebelah
kiri yang memenuhi kondisi join. Teknik ini merupakan kebalikan dari left outer
join.

SELECT columns
FROM TableA
RIGHT OUTER JOIN TableB
ON A.columnName = B.columnName

14
Right [Outer] Join without Intersection
Teknik ini merupakan variasi dari right outer join. Pada join ini kita hanya akan
mengambil data dari tabel sebelah kanan yang dikenai kondisi ON yang juga
memenuhi kondisi join tanpa data dari tabel sebelah kanan yang memenuhi
kondisi join.

SELECT columns
FROM TableA
RIGHT OUTER JOIN TableB
ON A.columnName = B.columnName
WHERE A.columnName IS NULL

Full [Outer] Join


Full outer join (sering disingkat full join) akan mengembalikan seluruh baris dari
kedua tabel yang dikenai ON termasuk data-data yang bernilai NULL.

SELECT columns
FROM TableA
FULL JOIN TableB
ON A.columnName = B.columnName

15
Full [Outer] Join without Intersection
Variasi lain dari full outer join yang akan mengembalikan seluruh data dari kedua
tabel yang dikenai ON tanpa data yang memiliki nilai NULL.

SELECT columns
FROM TableA
FULL JOIN TableB
ON A.columnName = B.columnName
WHERE A.columnName IS NULL
OR B.columnName IS NULL

4. Evaluasi
1. Buat dan jelaskan dari masing-masing penggunaan inner dan outer join!

F. Pembelajaran Ke-6
1. Operator Union
2. Tujuan materi pembelajaran
Adapun tujuan pembelajaran dari mata kuliah ini ialah sebagai berikut:
a) Agar mahasiswa mengetahui tentang Operator Union
b) Agar mahasiswa mampu membuat sintak query dengan operator union
3. Materi pembelajaran
Perintah UNION dalam MySQL di gunakan untuk menggabungkan atau
mengkombinasikan isi dari dua tabel menjadi satu. Sama seperti artinya
INTERSECT ini di gunakan untuk mencari irisan pada dua atau lebih tabel.
Kemudian perintah yang terakhir yaitu EXCEPT, EXCEPT ini di vgunakan untuk
memunculkan isi tabel yang berada di luar irisan tabel. Berikut query dasar yang
bisa di gunakan untuk menggunakan perintah tersebut.

UNION
SELECT * FROM namatabel1 UNION SELECT * FROM namatabel2
;

16
INTERSECT
SELECT * FROM namatabel1 WHERE syarat1 IN (SELECT *
FROM namatabel2) ;

EXCEPT
SELECT * FROM namatabel1 WHERE syarat1 NOT IN (SELECT *
FROM namatabel2) ;

Maka operator union dapat dirumuskan:

SELECT nama_kolom
FROM tabel_kiri LEFT OUTER JOIN tabel_kanan
ON tabel_kiri.nama_kolom = tabel_kanan.nama_kolom
UNION
SELECT nama_kolom
FROM tabel_kiri RIGHT OUTER JOIN tabel_kanan
ON tabel_kiri.nama_kolom = tabel_kanan.nama_kolom;

4. Evaluasi
1. Buatlah 2 buat tabel dalam database dengan menggunakan operator
union.

G. Pembelajaran Ke-7
1. Aplikasi View
2. Tujuan materi pembelajaran
Adapun tujuan pembelajaran dari mata kuliah ini ialah sebagai berikut:
a) Agar mahasiswa mengetahui tentang Aplikasi View
b) Agar mahasiswa dapat membuat query view dalam mysql
c) Kegunaan view pada data besar
3. Materi pembelajaran
Pengertian View dan Impelementasinya
View adalah objek di dalam database yang berisi kumpulan kolom yang
dihasilkan dari Perintah select. Dengan kata lain yang lebih sederhana, view
adalah object yang menyimpan hasil query, baik dari satu tabel atau lebih,
didalam database view juga sering dinamakan sebagai “tabel virtual” , karena
view sebenarnya tidak memiliki data. Data yang ditampilkan oleh sebuah view
diambil dari tabel-tabel aktual yang disertakan dalam SELECT.

Kegunaan View
Tujuan dari pembuatan VIEW adalah untuk kenyamanan (mempermudah
penulisan query), untuk keamanan (menyembunyikan beberapa kolom yang
bersifat rahasia), atau dalam beberapa kasus bisa digunakan untuk mempercepat

17
proses menampilkan data (terutama jika kita akan menjalankan query tersebut
secara berulang). Terdapat 3 statement View, yaitu CREATE, ALTER & DROP

1. Create view
Fungsi statement CREATE DATABASE adalah untuk menciptakan database baru.
Perintah ini fungsinya sama dengan statement CREATE SCHEMA. Jalankan
MySQL console , ketikkan perintah SHOW DATABASES untuk melihat daftar
database apa saja yang ada dalam MySQL.
Syntaknya adalah: CREATE VIEW nama_view AS SELECT * FROM
nama_tabel;. Misalkan kita memiliki tabel users yang mempunyai kolom
first_nm dan last_nm.

2. Alter view
ALTER VIEW digunakan ketika kita ingin mengubah view yang lama dengan
query baru. Syntaxnya adalah ALTER VIEW nama_view as <query
baru>;.

3. Drop view
DROP VIEW digunakan jika kita ingin menghapus view dari suatu database.
Syntaxnya adalah DROP VIEW nama_view;.

4. Evaluasi
1. Jelaskan kapan saat yang tepat view digunakan dalam database?
2. Buatlah sebuah tabel data mahasiswa, kemudian tampilkan dengan
menggunakan View.

H. Pembelajaran Ke-8
1. Prosedur dan fungsi tersimpan
2. Tujuan materi pembelajaran
Adapun tujuan pembelajaran dari mata kuliah ini ialah sebagai berikut:
a) Agar mahasiswa mengetahui tentang Prosedur dan Fungsi
tersimpan.
b) Agar mahasiswa mengetahui perbedaan penggunaaan prosedur dan
fungsi tersimpan.
c) Agar mahasiswa mampu membuat query menggunakan prosedur
dan fungsi tersimpan
3. Materi pembelajaran
Perbedaan antara prosedur dan fungsi adalah bahwa mereka dipanggil
secara berbeda dan untuk tujuan yang berbeda. Prosedur tidak mengembalikan
nilai. Sebaliknya, itu dipanggil dengan pernyataan PANGGILAN untuk
melakukan operasi seperti mengubah tabel atau memproses catatan yang diambil.
Fungsi dipanggil dalam ekspresi dan mengembalikan nilai tunggal langsung ke

18
pemanggil untuk digunakan dalam ekspresi. Fungsi tidak bisa dijalankan dengan
pernyataan PANGGILAN, prosedur juga tidak bisa menjalankan dalam ekspresi.
Sintaks untuk pembuatan rutin agak berbeda untuk prosedur dan fungsi:
Parameter prosedur dapat didefinisikan sebagai hanya input, output saja, atau
keduanya. Ini berarti bahwa suatu prosedur dapat meneruskan nilai kembali ke
pemanggil dengan menggunakan parameter output. Nilai-nilai ini dapat diakses
dalam pernyataan yang mengikuti pernyataan CALL. Fungsi hanya memiliki
parameter input. Akibatnya, meskipun kedua prosedur dan fungsi dapat memiliki
parameter, deklarasi parameter prosedur berbeda dari untuk fungsi.
Nilai fungsi kembali, jadi harus ada klausa RETURNS dalam definisi
fungsi untuk menunjukkan tipe data dari nilai kembali. Juga, harus ada setidaknya
satu pernyataan RETURN dalam tubuh fungsi untuk mengembalikan nilai ke
pemanggil. RETURNS dan RETURN tidak muncul dalam definisi prosedur.
Untuk menjalankan prosedur tersimpan, gunakan CALL statement. Untuk
memohon fungsi yang disimpan, lihat di dalam ekspresi. Fungsi mengembalikan
nilai selama evaluasi ekspresi.
Prosedur dipanggil menggunakan pernyataan PANGGILAN, dan hanya
bisa mengembalikan nilai menggunakan variabel output. Fungsi dapat dipanggil
dari dalam pernyataan seperti fungsi lainnya (yaitu, dengan memanggil nama
fungsi), dan dapat mengembalikan nilai skalar. Menentukan parameter sebagai IN,
OUT, atau INOUT hanya valid untuk PROSEDUR. Untuk FUNGSI, parameter
selalu dianggap sebagai parameter IN. Jika tidak ada kata kunci yang diberikan
sebelum nama parameter, itu adalah parameter IN secara default .Parameter
untuk fungsi yang disimpan tidak diawali dengan IN, OUT, atau
INOUT. Semua parameter fungsi diperlakukan sebagai parameter IN.

Untuk menentukan prosedur atau fungsi yang tersimpan, gunakan masing-


masing
CREATE PROCEDURE atau CREATE FUNCTION:
CREATE PROCEDURE proc_name ([parameters])
[characteristics]
routine_body

CREATE FUNCTION func_name ([parameters])


RETURNS data_type // diffrent
[characteristics]
routine_body

Ekstensi MySQL untuk prosedur tersimpan (bukan fungsi) adalah


prosedur dapat menghasilkan set hasil, atau bahkan beberapa set hasil, yang
pemanggil memproses dengan cara yang sama dengan hasil dari pernyataan

19
SELECT. Namun, konten dari set hasil tersebut tidak dapat digunakan secara
langsung dalam ekspresi.
Rutin yang disimpan (merujuk pada prosedur tersimpan dan fungsi
tersimpan) dikaitkan dengan database tertentu, seperti tabel atau tampilan. Saat
Anda menjatuhkan basis data, semua rutinitas yang tersimpan di dalam basis data
juga dihapus. Prosedur dan fungsi tersimpan tidak berbagi ruang nama yang
sama.Dimungkinkan untuk memiliki prosedur dan fungsi dengan nama yang sama
dalam database.
Dalam prosedur tersimpan, SQL dinamis dapat digunakan tetapi tidak
dalam fungsi atau pemicu. Pernyataan SQL disiapkan (SIAPKAN, LAKUKAN,
DEALOKASI SIAPKAN) dapat digunakan dalam prosedur yang tersimpan, tetapi
tidak fungsi atau pemicu yang tersimpan. Dengan demikian, fungsi dan pemicu
yang disimpan tidak dapat menggunakan SQL Dinamis (tempat Anda membuat
pernyataan sebagai string dan kemudian menjalankannya).

4. Evaluasi
1. Buat query untuk menampilkan jumlah dari suatu record dengan
menggunakan prosedur.
2. Buat query untuk menampilkan jumlah dari suatu record dengan
menggunakan fungsi.
3. Buatlah prosedur untuk menentukan nilai lulus atau tidak lulus
berdasarkan data yang diinput.

I. Pembelajaran Ke-9
1. Triggel
2. Tujuan materi pembelajaran
Adapun tujuan pembelajaran dari mata kuliah ini ialah sebagai berikut:
a. Agar mahasiswa mengetahui tentang triggel
b. Agar mahasiswa mengetahui kegunaan triggel pada server.
3. Materi pembelajaran
Trigger adalah kumpulan pernyataan SQL yang dimaksudkan untuk dieksekusi
oleh pernyataan INSERT, UPDATE, atau DELETE dengan tujuan untuk menjaga
konsistensi data. Sebagai contoh, ketika kita menghapus suatu baris di suatu
table, trigger mampu diatur agar data yang terkait di table lainnya juga ikut
terhapus.

Fungsi dan kelebihan penggunaan trigger antara lain:


• Memperbaiki integritas data dengan membuat integrity constraint yang
kompleks yang mana tidak mungkin ditangani oleh sintaks pembutan
table.
• Memvalidasi transaksi data.

20
• Memperbaiki keamanan database dengan menyediakan audit yang lebih
kompleks mengenai informasi perubahan database dan user siapa yang
melakukan perubahan.

Trigger diciptakan dengan menggunakan pernyataan CREATE TRIGGER. sintak


penulisannya sebagai berikut :
CREATE {OR REPLACE} TRIGGER nama_trigger
BEFORE|AFTER {INSERT|DELETE|UPDATE} Event ON
nama_tabel FOR EACH ROW
DECLARE

Keterangan
-- berisi deklarasi variabel BEGIN
-- berisi statemen-statemen yang akan dieksekusi END;

Kemungkinan Event yang dapat mengaktivasi sebuah trigger :

EVENT KETERANGAN
INSERT Trigger dijalankan ketika terdapat operasi penambahan
sebuah baris data ke table
bersangkutan
UPDATE Trigger dijalankan ketika terdapat operasi pengubahan
sebuah baris data ke table
bersangkutan
DELETE Trigger dijalankan ketika terdapat operasi penghapusan
sebuah baris data ke table
bersangkutan

Terkait dengan trigger terdapat alias dengan nama OLD dan NEW. Penulisannya
adalah sebagai berikut :
NEW.nama_kolom OLD.nama_kolom
Dalam hal ini :
OLD.nama_kolom
Menyatakan nilai nama_kolom sebelum dihapus atau diubah.
NEW.nama_kolom
Menyatakan nilai nama_kolom setelah diubah atau setelah data baru dimasukkan.

4. Evaluasi
1. Jelaskan apa yang dimaksud dengan triggel?
2. Apakah triggel berpengaruh pada keamanan data diserver? Jelaskan!

21
J. Pembelajaran Ke-10
1. Manajemen User Administrator
2. Tujuan materi pembelajaran
Adapun tujuan pembelajaran dari mata kuliah ini ialah sebagai berikut:
a. Agar mahasiswa mengetahui user manajemen database
b. Agar mahasiswa mampu mengelola user adminitrator database
3. Materi pembelajaran
Anonym User
Anonym user adalah user tanpa identitas dan tanpa password. Pada saat
anda mengakses SQL pertama kali seperti yang telah dijelaskan pada Modul-1
halaman 1, berati anda sudah menggunakan Anonym User. Ketiklah perintah
berikut ini pada prompt mysql untuk melihat user dan password yang ada saat
ini di tabel user.
mysql> use mysql;
Database changed

mysql> select user, host, password from user;


+ + + +
| user | host | password |
+ + + +
| root | localhost | |
| | % | |
| | localhost | |
| root | % | |
+ + + +
4 rows in set (0.02 sec)

Untuk tindakan pengamanan awal, kita harus menghapus semua user tanpa
identitas tersebut dengan perintah DELETE :
mysql> delete from user where user='';
Query OK, 2 rows affected (0.01 sec)

Sekerang coba lihat hasilnya :


mysql> select user, host, password from user;
+ + + +
| user | host | password |
+ + + +
| root | localhost | |
| root | % | |
+ + + +
2 rows in set (0.00 sec)

Memberi Password root


Dapat juga memberi password root (administrator) dengan perintah berikut ini :
mysql> update user set password=password('dedy')
-> where user='root';

Query OK, 0

22
rows affected
(0.00 sec) Rows
matched: 2
Changed: 0
Warnings: 0

Lanjutkan dengan perintah FLUSH untuk merefresh MySQL sebagai berikut :


mysql> flush privileges;
Query OK, 0 rows affected (0.03 sec)

Kemudian periksa hasilnya di tabel user sebagai berikut :


mysql> select user, host, password from user;
+ + + +
| user | host | password |
+ + + +
| root | localhost | 6da7a38c664d4838 |
| root | % | 6da7a38c664d4838 |
+ + + +
2 rows in set (0.00 sec)

Kemudian coba masuk kembali ke MySQL dengan perintah-perintah berikut:


C:\xampp\mysql\bin>mysql
ERROR 1045: Access denied for user:
'ODBC@localhost' (Using password: NO)

C:\xampp\mysql\bin>mysql -u root
ERROR 1045: Access denied for user:
'root@localhost' (Using password: NO)

Pesan kesalahan pada perintah di atas terjadi karena MySQL telah


dipassword. Pengguna tidak bisa masuk tanpa mengisi password terlebih
dahulu. Untuk dapat masuk ke dalam MySQL ketik perintah berikut ini :

C:\xampp\mysql\bin>mysql -u root -p
Enter password: ***

Membuat User Baru


Pada Mysql dapat membuat user baru beserta izin aksesnya
menggunakan perintah GRANT. Sintak:
GRANT jenis_akses(nama_kolom) ON
nama_database

23
TO nama_user IDENTIFIED
BY “nama_password” [WITH
GRANT pilihan akses]

Untuk menghapus izin akses user, tetapi tidak mengahapus seorang user
secara permanen dapat menggunakan perintah REVOKE. Sintak :
REVOKE jenis_akses ON nama_database
FROM nama_user

Bila seorang user telah dihapus izin aksesnya dengan perintah REVOKE,
dia tetap dapat masuk (login) ke dalam MySQL walaupun tidak dapat berbuat
apa-apa. Untuk menghapus user secara permanen, gunakan perintah DELETE.
Untuk membuat beberapa user baru anda harus login sebagai root :

C:\xampp\mysql\bin>mysql -u
root -h localhost -p Enter
password: ****
Welcome to the MySQL monitor. Commands end with ;
or \g.
Your MySQL connection id is 5 to server version:
3.23.32-debug

Type 'help;' or '\h' for help. Type '\c' to clear


the buffer

mysql> grant all privileges on *.* to


fadiyah@localhost
-> identified by 'diah'
-> with grant option;
Query OK, 0 rows affected (0.05 sec)

Perintah di atas membuat user baru dengan nama fadiyah dengan akses penuh.
mysql> grant all privileges on *.* to
fadiyah@'%'
-> identified by 'diah'
-> with grant option;
Query OK, 0 rows affected (0.00 sec)

Perintah di atas sama seperti perintah berikut ini :


mysql> grant all privileges on *.* to fadiyah
-> identified by 'diah'
-> with grant option;
Query OK, 0 rows affected (0.00 sec)

24
Sekarang buat user baru dengan nama jono :
mysql> grant usage on *.* to jono@localhost
-> identified by 'jono001';
Query OK, 0 rows affected (0.00 sec)

Si jono bisa masuk ke dalam MySQL dan bisa melihat database yang ada
tetapi tidak bisa menggunakan database-database tersebut. Ketik perintah
berikut untuk melihat hak akses user di atas :
mysql> use mysql;
Database changed

mysql> select user, host, password from user;


+ + + +
| user | host | password |
+ + + +
| root | localhost | 6da7a38c664d4838 |
| fadiyah | % | 6d67143458b40f7b |
| fadiyah | localhost | 6d67143458b40f7b |
| root | % | 6da7a38c664d4838 |
| jono | localhost | 1408a83d497d0d9f |
+ + + +
5 rows in set (0.00 sec)

mysql> select user, select_priv, insert_priv,


update_priv, delete_priv,
-> create_priv, drop_priv from user;
+ + + + + + + +
| user | select_priv | insert_priv | update_priv | delete_priv |
create_priv | drop_priv |
+ + + + + + + +
| root | Y | Y | Y | Y | Y | Y |
| | Y | Y | Y | Y | Y | Y |
fadiyah
| | Y | Y | Y | Y | Y | Y |
fadiyah
| root | Y | Y | Y | Y | Y | Y |
| jono | N | N | N | N | N | N |
+ + + + + + + +
5 rows in set (0.00 sec)

Memberi Izin Akses Tertentu


Untuk memberi izin akses SELECT, INSERT, UPDATE, dan DELETE
kepada jono, yang dapat digunakan di dalam DBJono. Masuk terlebih dahulu ke
MySQL sebagai root kemudian ketik perintah berikut :
C:\xampp\mysql\bin>mysql -u
root -h localhost -p Enter
password: ****
Welcome to the MySQL monitor. Commands end with ;
or \g.

25
Your MySQL connection id is 9 to server version:
3.23.32-debug

Type 'help;' or '\h' for help. Type '\c' to clear


the buffer

mysql> create database DBJono;


Query OK, 1 row affected (0.22 sec)
mysql> grant select, insert, update, delete
-> on dbjono.*
-> to jono@localhost;
Query OK, 0 rows affected (0.02 sec)

mysql> use mysql;


Database changed

mysql> select user, select_priv, update_priv,


insert_priv,
-> delete_priv, create_priv from db where
user='jono';
+ + + + + + +
| user | select_priv | update_priv | insert_priv | delete_priv |
create_priv |
+ + + + + + +
| jono | Y | Y | Y | Y | N |
+ + + + + + +
1 row in set (0.02 sec)

mysql> quit
Bye

Menghapus Izin Akses User


Untuk menghapus izin akses seorang user dapat dilakukan dengan
perintah-perintah berikut :
C:\xampp\mysql\bin>mysql -u root
-h localhost -p Enter password:
****
Welcome to the MySQL monitor. Commands end
with ; or \g.
Your MySQL connection id is 13 to server
version: 3.23.32-debug Type 'help;' or

26
'\h' for help. Type '\c' to clear the
buffer

mysql> revoke insert, select on dbjono.*


-> from jono@localhost;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye

4. Evaluasi
Buatlah user anda dengan password yang anda seeting!

27
IV. PENUTUP

Melalui pembelajaran berbasis modul, diharapkan akan membantu


mahasiswa akan dapat belajar secara mandiri, mengukur kemampuan diri sendiri,
dan menilai dirinya sendiri. Tidak terkecuali dalam bahasa query. Semoga modul
ini dapat digunakan sebagai referensi tambahan dalam proses pembelajaran pada
kegiatan perkuliahan pada mata kuliah bahasa query pada program studi sistem
informasi FIK-TI UMSU. Mahasiswa lebih mendalami materi lain di samping
materi yang ada di modul ini melalui berbagai sumber, jurnal, maupun internet.
Semoga modul ini bermanfaat bagi mahasiswa khususnya yang mengambil
program studi sistem informasi FIK-TI UMSU.
Tak lupa dalam kesempatan ini, penulis mohon saran dan kritik yang
membangun terhadap, demi sempurnanya penyusunan modul ini di masa-masa
yang akan datang. Semoga modul ini memberikan manfaat bagi mahasiswa dan
pembaca budiman lainnya.

28
DAFTAR PUSTAKA

Coronel, C., & Morris, S. (2016). Database systems: design, implementation, &
management. Cengage Learning.
DuBois, P. (2013). MySQL. Addison-Wesley Professional.
Lubis, A. R., Lubis, M., Al-Khowarizmi, A.K. & Listriani, D. (2019, August). Big
Data Forecasting Applied Nearest Neighbor Method. In 2019
International Conference on Sustainable Engineering and Creative
Computing (ICSECC) (pp. 116-120). IEEE.
Ramakrishnan, R., & Gehrke, J. (2000). Database management systems.
McGraw-Hill.
Roy-Hubara, N., & Sturm, A. (2020). Design methods for the new database era: a
systematic literature review. Software and Systems Modeling, 19(2), 297-
312.
Sianipar, R. H. (2016). Pemrograman Database Menggunakan MySQL (Vol. 1).
Penerbit ANDI.
Teorey, T. J., Lightstone, S. S., Nadeau, T., & Jagadish, H. V. (2011). Database
modeling and design: logical design. Elsevier.
Welling, L., & Thomson, L. (2003). PHP and MySQL Web development. Sams
Publishing.
Yanto, R. (2016). Manajemen Basis Data Menggunakan MySQL. Deepublish.

29

Anda mungkin juga menyukai