Diperbaiki Oleh
•
LEMBAR REVISI
Menerangkan dengan sesungguhnya bahwa modul praktikum ini telah direview dan akan
digunakan untuk pelaksanaan praktikum di Semester ………………….. Tahun Akademik ……………………..
di Laboratorium …………………………….
Malang, …………………………….
Mengetahui, Ka.Lab.
PERATURAN LABORATORIUM
Setiap Mahasiswa Analisis dan Perancangan Sistem yang akan menggunakan Fasilitas Laboratorium,
WAJIB mematuhi Aturan sebagai berikut :
2. Dilarang merokok dan makan minum didalam ruangan, dan membuang sampah pada
tempatnya
5. Jam Kerja Laboratorium dan Ruang Riset adalah 07.30 WIB sampai 16.00WIB
6. Mahasiswa yang akan menggunakan Laboratorium dan atau ruang riset diluar jam kerja, harus
mengajukan ijin kepada Fakultas
Dekan
Malang, 22 Januari 2018
DAFTAR ISI
DAFTAR PENYUSUN 2
LEMBAR REVISI 3
LEMBAR PERNYATAAN 4
DAFTAR ISI 6
DAFTAR GAMBAR 12
DAFTAR TABEL 14
Modul 8 : Operator 59
8.1. Waktu Pelaksanaan Praktikum 59
8.2. Tujuan 59
8.3. Alat Dan Bahan 59
8.4. Dasar Teori 59
8.4.1 Operator 59
8.4.2. Operator Aritmetika 59
8.4.3. Precedence dari Operator 60
8.4.4. Penggunaan Tanda Kurung 60
8.4.5. Operator Compound 61
8.4.6. Operator Pembandingan 61
8.4.7. Operator Logika 62
8.4.8. Syarat Dengan Satu Kondisi 63
8.4.9. Syarat Lebih Dari Satu Kondisi 64
8.4.10. Conditional Operator Bertipe Array (IN, BETWEEN) 64
8.4.11. Predicate 65
8.4.12. Fungsi 66
8.4.13. Fungsi Karakter/String 66
8.4.14. Fungsi Bilangan 67
8.4.15. Fungsi Tanggal 67
8.4.16. Fungsi COALESCE 68
8.5. Latihan 68
Modul 12 : Transaction 83
12.1. Waktu Pelaksanaan Praktikum 83
12.2. Tujuan 83
12.3. Alat Dan Bahan 83
12.4. Dasar Teori 83
12.4.1. Transaction 83
12.4.2. Membuat Transaksi Dengan BEGIN TRANSACTION 83
12.4.3. Membatalkan Transaksi Dengan ROLLBACK TRANSACTION 84
12.4.5. Menjalankan Transaksi Dengan COMMIT TRANSACTION 85
12.4.6. Nested Transaction 86
12.4.7. Penanganan Kesalahan (Error) 87
12.4.8. Penanganan Kesalahan (Error) Dalam Transaksi 88
12.5. Latihan 89
Lampiran 103
Lampiran 1. Struktur Format Laporan 103
Lampiran 2. Contoh Format Laporan 104
DAFTAR GAMBAR
Gambar 1.1Instalasi Sql Server ............................................................................................................ 18
Gambar 1.2 Pilih Free Edition .............................................................................................................. 18
Gambar 1.3 Accept............................................................................................................................... 19
Gambar 1.4 Global Role ....................................................................................................................... 19
Gambar 1.5 Install Rule ........................................................................................................................ 20
Gambar 1.6 Fitur .................................................................................................................................. 20
Gambar 1.7 Seleksi Fitur ...................................................................................................................... 21
Gambar 1.8 Default Instance ............................................................................................................... 21
Gambar 1.9 Konfigurasi........................................................................................................................ 22
Gambar 1.10 Konfigurasi Database Engine .......................................................................................... 22
Gambar 1.11 Current User ................................................................................................................... 23
Gambar 1.12 Reporting ........................................................................................................................ 23
Gambar 1.13 Replay ............................................................................................................................. 24
Gambar 1.14 Replay Client................................................................................................................... 24
Gambar 1.15 Siap Instal ....................................................................................................................... 25
Gambar 1.16 Hasil Instalasi .................................................................................................................. 25
Gambar 2.1 Representasi Entitas (Entity) ............................................................................................. 27
Gambar 2.2 Representasi Hubungan (Relationship) ............................................................................. 29
Gambar 2.3 Contoh representasi relasi biner ....................................................................................... 29
Gambar 2.4 Contoh representasi relasi ternier .................................................................................... 30
Gambar 2.5 Contoh representasi relasi rekursif/uner (unary) ............................................................. 30
Gambar 2.6 Contoh representasi atribut pada relasi ........................................................................... 30
Gambar 2.7 Notasi Entity Relationship Diagram (ERD) ........................................................................ 31
Gambar 3.1 Login dengan akun google ................................................................................................ 32
Gambar 3.2 Membuat E-R Diagram ...................................................................................................... 33
Gambar 3.3 Membuat E-R Diagram ...................................................................................................... 33
Gambar 3.4 Membuat E-R Diagram ...................................................................................................... 33
Gambar 3.5 Membuat Atribut .............................................................................................................. 34
Gambar 3.6 Hasil Entity Employee dan Atributnya. ............................................................................. 34
Gambar 3.6 Tekan Connect................................................................................................................... 34
Gambar 3.6 Relationship Manage_by .................................................................................................. 35
Gambar 3.6 Relationship Manage_by dan works_for .......................................................................... 35
Gambar 3.10 E-R Diagram Company .................................................................................................... 36
Gambar 5.1 Contoh mengambil data keseluruhan isi table ................................................................. 45
Gambar 5.2 Contoh mengambil data dari sebagian kolom dari suatu table ........................................ 46
Gambar 5.3 Contoh mengambil data dengan klausa WHERE............................................................... 46
Gambar 5.4 Contoh mengambil data dengan klausa TOP N=10 .......................................................... 47
Gambar 5.5 (a) Contoh mengambil data tanpa klausa DISTINCT didapatkan 2000 record duplikasi. (b)
Contoh mengambil data dengan klausa DISTINCT didapatkan 20 record unik. ................................... 47
Gambar 5.6 (a) Contoh mengambil data secara terurut dengan ORDER BY. ....................................... 48
Gambar 6.1 Contoh menambahkan baris dengan NULL secara implisit. ............................................. 50
Gambar 6.2 Contoh menambahkan baris dengan NULL secara eksplisit. ............................................ 50
(a) (b) .............................................................................................................................................. 51
Gambar 6.3 Contoh hasil dari query UPDATE (1). (a) sebelum diubah (b) sesudah diubah. ................ 51
(a) (b) .............................................................................................................................................. 51
Gambar 6.4 Contoh hasil dari query UPDATE (1). (a) sebelum diubah (b) sesudah diubah. ................ 51
Gambar 7.1 Contoh record pada relasi student dan department......................................................... 53
Gambar 7.2 Hasil equi-join yang berasal dari relasi student dan department ..................................... 54
Gambar 7.3 Hasil join on ....................................................................................................................... 54
Gambar 7.4 Hasil join 3 tabel ................................................................................................................ 55
Gambar 7.5 Hasil cross join ................................................................................................................... 55
Gambar 7.6 Perbedaan tipe outer join ................................................................................................. 56
Gambar 7.7 Hasil Left Outer Join .......................................................................................................... 56
Gambar 7.8 Hasil right outer join .......................................................................................................... 57
Gambar 7.9 Hasil full outer join ............................................................................................................ 57
Gambar 7.10 Contoh hasil self join ....................................................................................................... 58
DAFTAR TABEL
Bab 0 : Running Modul
0.1 Tujuan
Setelah mengikuti Running Modul mahasiswa diharapkan dapat:
1. Memahami peraturan kegiatan praktikum.
2. Memahami Hak dan Kewajiban praktikan dalam kegiatan praktikum.
3. Memhami komponen penilaian kegiatan praktikum.
9. Setiap praktikan dapat mengikuti praktikum susulan maksimal 1 modul untuk satu
praktikum.
• Praktikan yang dapat mengikuti praktikum susulan hanyalah praktikan yang
memenuhi syarat sesuai ketentuan Institusi, yaitu rawat inap di Rumah Sakit
(menunjukkan bukti rawat inap dan resep obat dari RS), tugas dari Institusi
(menunjukkan surat dinas dari Institusi), atau mendapat musibah
(menunjukkan surat keterangan dari orangtua/ wali mahasiswa).
10. Pelanggaran terhadap peraturan praktikum ini akan ditindak secara tegas secara
berjenjang di lingkup Kelas, Laboratorium, Program Studi, Fakultas, hingga Institusi.
1.2 Tujuan
Setelah mengikuti praktikum ini mahasiswa diharapkan dapat:
1. Mahasiswa mampu melakukan instalasi Mssql Server.
2. Mahasiswa mampu memahami tahapan-tahapan persiapan server.
4. Pada menu Licencence Terms, Centang I accept the license terms lalu Next
Gambar 1.3 Accept
5. Selanjutnya muncul proses Global Role, jika tidak ada masalah, maka lanjut pada bagian Microsoft
Update, bisa dicentang atau tidak, saya pilih tidak dicentang, lalu next
7. Proses selanjutnya adalah pengecheckan Install Rules, jika tidak ada masalah atau hanya warning
langsung aja Next
8. Proses selanjutnya adalah Setup Role, pilih SQL Server Feature Installation, lalu Next
13. Proses selanjutnya adalah Database Engine Configuration , pada Authentication Mode,
Pilih Windows Authentication Mode, lalu klik Add Curent User, maka akan keluar user pc
anda. Lalu klik Next
14. Proses selanjutnya klik Add Curent User, maka akan kluar user pc anda Lalu klik Next
Gambar 1.11 Current User
15. Pada Proses Reporting Services Configuration, pilih Instal and configure, selanjutnya Next
aja.
16. Proses selanjutnya klik Add Curent User, maka akan keluar user pc anda. Lalu klik Next
Gambar 1.13 Replay
17. Proses selanjutnya pada Control Name, ketik aja sesuai nama atau terserah anda, lalu
Next
18. Setelah proses semua pengecheckan tidak ada yang eror, langsung saja klik Install
Gambar 1.15 Siap Instal
1.7 Tugas
1.7.1 Install SQL Server pada laptop masing-masing, dan jelaskan langkah-langkahnya
Modul 2 : Konsep Entity Relational Model,
2.2 Tujuan
Setelah mengikuti praktikum ini mahasiswa diharapkan dapat:
1. Memahami konsep dalam Model Entitas Hubungan (Entity Relationship Model)
• Himpunan entitas
• Relasi antar entitas
Entitas adalah:
• “sesuatu” atau “objek” di dunia nyata yang dapat dibedakan dari objek lain
• kelompok objek independen yang dapat diidentifikasi dan memiliki kesamaan properti.
Entitas dapat berupa objek nyata atau objek konseptual.
Representasi Entitas
Entitas digambarkan dalam bentuk persegi panjang dengan label yang menunjukkan nama entitas,
umumnya berupa kata benda tunggal.
Kendaraan
Jenis Entitas
Setiap entitas memiliki atribut yang mendeskripsikan karakteristik (properti) dari entitas tersebut.
Tipe-Tipe Atribut
• Atribut yang terdiri atas komponen tunggal yang tidak dapat dibagi menjadi komponen yang
lebih kecil;
Contoh: atribut Jenis_Kendaraan, Merk, No_STNK, No_Mesin pada entitas kendaraan
Atribut ini dapat dibagi menjadi Jalan (Jalan Veteran no 8), Kota (Malang), dan KodePos
(65145).
Contoh: atribut nama pada entitas pelanggan. Setiap Pelanggan hanya punya 1 nama
Contoh: atribut NomorTelepon pada entitas Pelanggan. Pelanggan bisa mempunyai nomor telepon
lebih dari 1
3. Atribut Turunan (Derived)
Atribut yang menyatakan suatu nilai yang berkaitan dengan atribut-atribut lain
Atribut yang diperoleh dari pengolahan dari atribut lain yang berhubungan.
Contoh: atribut masa studi yang diperoleh dari TanggalLulus dikurangi TanggalDaftar
Relasi adalah hubungan antar entitas yang dapat diidentifikasi dan bermakna.
Representasi Relasi
Relasi digambarkan dalam bentuk belah ketupat (diamond) dengan label yang menunjukkan nama
relasi, umumnya berupa kata kerja.
Nama
relationship
e
Derajat Relasi
Derajat relasi menunjukkan jumlah entitas yang terhubung dalam suatu relasi.
Secara umum himpunan relasi dalam sistem basis data adalah biner.
Contoh: relasi Mendaftar yang menghubungkan entitas Staf, KantorCabang, dan Klien. Relasi ini
menyatakan seorang staf mendaftar klien di suatu kantor cabang.
Diagram ER merupakan model konseptual untuk menggambarkan struktur logis dari basis data berbasis
grafis.
3.2 Tujuan
Setelah mengikuti praktikum ini mahasiswa diharapkan dapat:
1. Memahami dan mampu membuat Entity Relationship Diagram)
1. Buka web site https://erdplus.com/#/login lalu pilih login dengan akun google yang anda miliki.
3. Klik dua kali pada New diagram yang sudah dibuat sampai masuk tampilan editor seperti pada
gambar berikut.
9. Buat Relationship antar Departmen dan Employee dengan menekan tombol connect.
10. Hubungkan antara Departmen dan Employee dengan klik dan drag dari departement dan
employee, lalu beri nama relationship dengan nama manage_by. Beri cardinality one to one dan
mandatory. Lihat gambar berikut ini.
Gambar 3.8 Relationship Manage_by
3.7 Tugas
3.7.1 Lengkapi E-R Diagram diatas sehingga menjadi seperti pada gambar berikut.
Gambar 3.10 E-R Diagram Company
Modul 4 : Data Definition Language,
4.2 Tujuan
Setelah mengikuti praktikum ini mahasiswa diharapkan dapat:
1. Memahami tipe data yang di dukung oleh DBMS
2. Memahami dan menerapkan sintaks DDL
3. Memahami dan menerapkan constraint
TEXT String dengan panjang tidak BINARY(N) String biner dengan panjang
tetap tetap n
NCHAR String Unicode dengan panjang VARBINARY String biner dengan panjang
tetap (maks. 4000 karakter) tidak tetap n
NVARCHAR String Unicode dengan panjang IMAGE String biner dengan panjang
tidak tetap (maks. 4000 tidak tetap untuk menyimpan
karakter) image
SMALLDATETIME Dari 1 January 1900 s.d. 31 TIMESTAMP Menyimpan angka unik yang
December 9999 dengan diperbarui tiap kali baris
akurasi 1 menit record dibuat/ dimodifikasi
berdasarkan internal clock
DATE Menyimpan tanggal saja dari
1 January 1753 s.d. 31
December 9999
SQL Server juga mendukung beberapa tipe data yang lain misalkan uniqeidentifier berupa
globally unique identifier (GUID) sebagai kode unik yang dibuat secara acak, xml untuk menyimpan data
berupa XML, dan masih ada yang lain
Maka akan membuat basis data bernama mydatabase. Untuk memilih dan menggunakan basis
data mydatabase, gunakan sintaksis sebagai berikut.
use mydatabase
col int
Contoh di atas digunakan untuk membuat tabel mytable dengan satu atribut bernama col dengan tipe
data int (integer 32 bit)
name CHAR(20),
age INTEGER,
mgrno CHAR(6),
location CHAR(30)
Pada tabel Department, field deptno diberi nilai default mulai dari angka 100 dan apabila ada
record baru maka record berikutnya memiliki deptno dengan penambahan (increment) 1. Misalnya apabila
tabel masih kosong, apabila ada record baru (baris pertama), maka deptno secara otomatis bernilai 100.
Apabila ada record baru lagi (baris kedua), maka deptno dari record baru bernilai 101, deptno baris ketiga
bernilai 102, dst.
a. UNIQUE
Fungsinya adalah menjaga suatu field pada suatu tabel tidak boleh berisi nilai yang sama (duplikasi).
Namun NULL diperbolehkan menjadi nilai suatu field yang UNIQUE. Contoh tabel dengan UNIQUE:
FirstName varchar(255),
Address varchar(255),
City varchar(255)
FirstName varchar(255),
Address varchar(255),
City varchar(255),
UNIQUE (P_Id)
FirstName varchar(255),
Address varchar(255),
City varchar(255),
b. PRIMARY KEY
Fungsinya menjaga suatu field tidak boleh berisi sama dan tidak boleh berisi NULL. Fungsi dari primary
key adalah sebagai pembeda antara satu record (entitas) dengan record yang lainnya (sebagai suatu
identifier)
CREATE TABLE Persons (
FirstName varchar(255),
Address varchar(255),
City varchar(255),
c. REFERENTIAL
Fungsinya untuk menjaga hubungan (relationship) antar tabel. Tabel yang dirujuk memiliki primary key,
sedangkan tabel yang merujuk memiliki foreign key, dimana primary key dan foreign key memiliki
domain nilai yang sama.
CREATE TABLE Orders (
Pada contoh di atas, field P_Id tabel Orders akan merujuk ke primary key P_Id pada tabel Persons. Pada
referential integrity ini, nilai field pada foreign key P_id tabel Orders harus ada nilainya di primary key
P_Id tabel Persons.
d. CHECK
CHECK berfungsi membatasi nilai/data apa saja yang bisa dimasukkan pada suatu field. Selain itu juga
berfungsi menjaga supaya data yang dimasukkan pada suatu field sesuai dengan aturan yang dibuat.
CREATE TABLE Employee (
Name VARCHAR(9),
HireDate DATE,
Salary DECIMAL(7,2),
Apabila ingin mengambil data pada sebagian field saja (operasi project) dari tabel Employee, contohnya:
Contoh pembuatan view bernama Employee2010 yang mana datanya berasal dari tabel Employee yang
menampilkan semua pegawai yang dipekerjakan setelah tahun 2010:
CREATE VIEW Employee2010 AS
Cara untuk mengambil data dari view Employee2010 sama seperti pada tabel, misalnya:
SELECT * FROM Employee2010
GO
GO
GO
Pada contoh di atas, apabila basis data mydatabase masih digunakan/terkoneksi maka aktifkan basis data
yang lain, dalam hal ini adalah master. Setelah dijalankan melalui perintah GO (sebagai pembatas suatu
blok baris perintah, GO bisa dikustomisasi) maka jalankan pengubahan nama sebenarnya.
CATATAN:
Hati-hati untuk melakukan penghapusan objek, tabel, basis data, karena apabila suatu objek dihapus maka:
4.6 Tugas
1. Implementasikan model relasional berikut ke DBMS dengan menambahkan NIM di setiap table
yang ada. Contoh table mahasiswa menjadi mahasiswa_nim.
2. Modifikasi table MHS_KOTA_NIM sehingga mempunyai struktur seperti berikut (perlihatkan
hasilnya):
3. Buatlah table MHS_KOTA2_NIM yang memiliki struktur sama seperti table MHS_KOTA_NIM!
4. Drop table MHS_KOTA_NIM!
Modul 5 : Dasar Query Select
5.2 Tujuan
Setelah mengikuti praktikum ini mahasiswa diharapkan dapat:
1. Memahami operasi SELECT
2. Mengambil data dari suatu tabel
3. Mengambil data dengan kriteria tertentu dan/atau secara terurut
WHERE [kondisi]
Gambar 5.2 Contoh mengambil data dari sebagian kolom dari suatu table
SELECT [nama_kolom]
FROM [nama_tabel]
WHERE [kriteria]
Pada sintaksis di atas kriteria bisa dapat berisi kondisi logika (=, != atau <>), relasional (>, >=, <, <=, =, ),
rentang dan himpunan bagian (BETWEEN, IN), atau pola pencarian (LIKE). Apabila ada dua atau lebih
kriteria dapat dikombinasikan dengan operator AND, OR, dan NOT.
Contoh untuk mencari instructor yang berasal dari program studi (department) ‘Statistic’ dan memiliki gaji
(salary) lebih dari 55.000 adalah sebagai berikut.
SELECT *
FROM instructor
FROM student
Atau untuk mengambil data student sebanyak N persen adalah sebagai berikut
SELECT TOP 10 PERCENT *
FROM student
Pada contoh di atas maka akan dihasilkan record sebanyak 10 persen (200 record) dari tabel student yang
berisi total 2000 record.
(a) (b)
Gambar 5.5 (a) Contoh mengambil data tanpa klausa DISTINCT didapatkan 2000 record duplikasi. (b) Contoh
mengambil data dengan klausa DISTINCT didapatkan 20 record unik.
Pada contoh di atas query tanpa DISTINCT akan menghasilkan data 2.000 record dengan adanya duplikasi
(misalnya ‘Civil Eng.’ muncul beberapa kali karena masing-masing tuple adalah student dari ‘Civil Eng.’).
Pada query dengan DISTINCT maka dihasilkan hanya dept_name yang unik saja, sehingga didapatkan hanya
20 record (karena hanya ada 20 dept_name yang unik).
5.5.5 Mengambil Data Terurut dengan ORDER BY
Klausa ORDER BY digunakan untuk mengurutkan data berdasarkan kolom tertentu, bisa satu atau
lebih kolom, dan secara menaik (ascending) atau menurun (descending). Sintaksis ORDER BY adalah sebagai
berikut.
SELECT [nama_kolom]
FROM [nama_tabel]
[WHERE [kriteria]]
Keyword ASC digunakan untuk mengurutkan secara menaik, DESC untuk menurun.
Contoh untuk mengambil data dari tabel student diurutkan berdasarkan kolom name secara menaik dan
dept_name secara menaik adalah sebagai berikut.
SELECT *
FROM student
Gambar 5.6 (a) Contoh mengambil data secara terurut dengan ORDER BY.
5.6 Latihan
1. Ambil nama, nama program studi, total SKS diambil (tot_cred) semua data student yang memiliki total
SKS diambil (tot_cred) lebih dari 120.
2. Ambil semua data student yang memiliki total SKS diambil (tot_cred) lebih dari 80 hingga 100 (tanpa
menggunakan BETWEEN hanya dengan operator relasional).
3. Ambil semua data student yang memiliki total SKS diambil (tot_cred) lebih dari 80 hingga 100
menggunakan BETWEEN.
4. Ambil semua data student yang berasal dari program studi (dept_name) ‘Statistics’ dan total SKS
diambil kurang dari sama dengan 100.
5. Ambil semua data student yang memiliki total SKS diambil (tot_cred) lebih dari 120 dan urutkan secara
menaik berdasarkan kolom program studi (dept_name), secara menaik berdasarkan total SKS secara
menurun, dan secara menaik berdasarkan nama.
Modul 6 : Data Manipulation Language
6.2 Tujuan
Setelah mengikuti praktikum ini mahasiswa diharapkan dapat:
1. Memahami statement Data Manipulation Language (DML)
2. DML Menyisipkan baris kedalam tabel
3. Mengubah baris dalam tabel
4. Menghapus baris dari tabel
Istilah transaksi mengandung pengertian kumpulan statement DML yang membentuk suatu fungsi tertentu.
VALUES (nilai[,nilai2...])
[WHERE kriteria];
(a) (b)
Gambar 6.3 Contoh hasil dari query UPDATE (1). (a) sebelum diubah (b) sesudah diubah.
Jika klausa WHERE dihilangkan, maka perintah UPDATE akan mengubah nilai kolom dari semua data atau
record yang ada pada tabel. Misalnya mengubah semua tot_cred dengan nilai 35 pada tabel student.
UPDATE student SET tot_cred=35;
(a) (b)
Gambar 6.4 Contoh hasil dari query UPDATE (1). (a) sebelum diubah (b) sesudah diubah.
[WHERE kriteria]
WHERE dept_name='Accounting';
6.6 Tugas
1. Buat tabel copy_instructor_nim dengan struktur tabel yang sama dengan tabel instructor .
2. Tambahkan baris data berikut pada tabel copy_instructor_nim
ID name dept_name salary
7.2 Tujuan
Setelah mengikuti praktikum ini mahasiswa diharapkan dapat:
1. Dapat menulis statement SELECT yang mengakses data ke lebih dari satu tabel dengan
menggunakan operator JOIN.
2. Menampilkan data yang tidak memenuhi kondisi JOIN dengan menggunakan operator OUTER
JOIN.
3. Melakukan JOIN terhadap tabel itu sendiri (self join).
1. Inner join
2. Outer join
7.5.1.1 Equi-Join
Bentuk ini digunakan ketika dua tabel digabungkan berdasarkan kesamaan kolom yang telah
ditentukan. Penggunaan equi-join ini sebenarnya sama dengan Cartesian product. Misalnya dari relasi
berikut.
Student Department
WHERE student.dept_name=department.dept_name
Gambar 7.2 Hasil equi-join yang berasal dari relasi student dan department
ON student.dept_name=department.dept_name
WHERE department.dept_name='Accounting';
ON course.course_id=prereq.course_id
ON course.course_id=prereq.course_id
ON course.course_id=prereq.course_id
SELECT *
Contoh query di atas digunakan untuk mencari kuliah dengan course_id 338 yang diambil oleh siswa
dengan ID 10033 (tabel takes dengan alias A) dan diambil ulang pada semester/tahun berikutnya (tabel
takes dengan alias B).
7.6 Tugas
1. Tampilkan semua nama student beserta nama department.
2. Tampilkan semua nama student beserta nama department yang memiliki total SKS (total credit) lebih
dari 100.
3. Tampilkan nama student dan nama instructor yang bekerja pada department yang sama
Modul 8 : Operator
8.1. Waktu Pelaksanaan Praktikum
Durasi kegiatan praktikum = 170 menit, dengan rincian sebagai berikut (misalkan):
1. 10 menit untuk penjelasan singkat tentang modul
2. 100 menit untuk pengayaan
3. 60 menit pembahasan
8.2. Tujuan
Setelah mengikuti praktikum ini mahasiswa diharapkan dapat:
1. Mahasiswa mengetahui operator-operator yang ada pada DBMS SQL Server.
2. Mahasiswa mengetahui kondisi apa yang mengharuskan penggunaan operator tertentu.
3. Mahasiswa memahami contoh-contoh kasus operator.
Query di atas menampilkan instructor yang gaji bersihnya kurang dari 50.000.
Perintah berikut digunakan untuk menampilkan semua course yang berada pada dept_name ‘Comp.
Sci’.
SELECT * FROM course
WHERE dept_name = 'Comp. Sci.'
Berikut ini adalah contoh lainnya untuk menampilkan suatu course dengan credit > 3
SELECT * FROM course
WHERE credits > 3
Contoh berikut adalah contoh untuk menampilkan kuliah yang memiliki course_id lebih dari 125.
SELECT * FROM course
WHERE course_id >= 125
IN TRUE jika operand sama dengan salah satu dari daftar Array (numerik,
ekspresi/tuple string)
Operator LIKE merupakan operator yang digunakan untuk tipe data String, bedanya jika ‘=’ itu
artinya sama persis, akan tetapi LIKE dapat digunakan untuk membandingkan dengan pola tertentu atau
sebagian string saja. Berikut ini adalah pola yang didukung oleh LIKE.
% Any string of zero or WHERE title LIKE '%computer%' finds all book titles with
more characters. the word 'computer' anywhere in the book title.
_ (underscore) Any single WHERE au_fname LIKE '_ean' finds all four-letter first
character. names that end with ean (Dean, Sean, and so on).
[^] Any single WHERE au_lname LIKE 'de[^l]%' all author last names
character not starting with de and where the following letter is not l.
within the specified
range ([^a-f]) or set
([^abcdef]).
Permasalahan lain yang juga dijumpai yaitu pembanding tidak hanya 2 tetapi sekumpulan
data/array. Berikut ini adalah contoh penggunaan IN dalam membandingkan dengan sekumpulan data.
Query di atas bertujuan untuk menampilkan semua nilai dari Colin yang bernilai 'A', 'A-', 'B+',
'C+'. Cara lain bisa dengan menggunakan logika OR akan tetapi hal tersebut akan sangat banyak ekspresi
sebanyak kemungkinan nilai. Penggunaan IN lebih lanjut dapat dijumpai pada materi Subquery.
8.4.11. Predicate
Predicate adalah ekspresi untuk mengevaluasi hasil berupa TRUE, FALSE, atau UKNOWN. Predicate
digunakan dalam kondisi pencarian pada klausa WHERE dan HAVING, kondisi join pada klausa FROM, dan
konstruksi lainnya yang memerlukan nilai Boolean.
CONTAINS Digunakan untuk pencarian full text atau indeks full text String
Eksekusi perintah query berikut, untuk menambahkan data ke dalam tabel course.
Dari hasil penambahan di atas untuk menampilkan data yang memiliki nilai NULL, contohnya:
SELECT * FROM course
WHERE dept_name IS NULL
Sebaliknya apabila mengunakan IS NOT NULL maka akan menampilkan semua data yang tidak berisi
NULL.
8.4.12. Fungsi
Fungsi adalah sintaksis untuk memanggil fungsional tertentu pada SQL. Fungsi digunakan untuk
memudahkan dalam melakukan konversi, manipulasi data, dan fungsi-fungsi lain. Sintaksis penulisan fungsi:
function_name(column|expression, [arg1, arg2, …])
Pemanggilan fungsi dapat dilakukan di dalam klausa SELECT maupun WHERE atau HAVING.
Contoh pemanggilan fungsi UPPER untuk mengubah menjadi huruf kapital adalah sebagai berikut.
SELECT title, UPPER(title) as upper_title
FROM course
DAY ( date ) Returns an integer that represents the day int Deterministic
day part of the specified date.
8.5. Latihan
1. Tampilkan data dari tabel course yang memiliki credits selain 3!
2. Tampilkan data dari tabel course yang memiliki course_id mulai 140 sampai ke atas!
3. Tampilkan data (dari join) student_id, nama, course, grade (dari tabel takes) dengan syarat
grade mengandung huruf “C” (bisa C/C+/C-) !
4. Modifikasi query untuk menampilkan semua nilai Colin semester spring dan tahun 2007 dan
2008!
5. Tampilkan gaji bersih instructor dengan pembulatan!
6. Tampilkan gabungan field name dan dept_name dari student menjadi bentuk “name is a
student of departement” (contoh Colin is student of Civil eng.) dengan salah satu fungsi string!
Modul 9 : Column Ffunction dan Grouping
9.2. Tujuan
Setelah mengikuti praktikum ini mahasiswa diharapkan dapat:
1. Menyebutkan fungsi kolom yang umum dalam MS SQL Server
2. Menggunakan fungsi kolom untuk menampilkan data
FROM table
[WHERE condition(s)]
[GROUP BY column]
FROM student;
Fungsi SUM ini digunakan untuk menghasilkan nilai total jumlah sekelompok dari sebuah kolom.
SELECT SUM(nama_field) FROM nama_tabel;
Contoh untuk mencari jumlah total semua gaji (salary) dari instructor.
SELECT sum(salary) AS sum_salary
FROM Instructor;
FROM Instructor;
Fungsi MAX digunakan untuk menghasilkan nilai tertinggi dari sekelompok data dalam sebuah kolom.
SELECT MAX(nama_field) FROM nama_tabel;
FROM (nama_tabel)
GROUP BY nama_kolom;
Contohnya:
1. Mencari banyak student tiap-tiap department.
SELECT dept_name, count(*) AS student_count
FROM student
GROUP BY dept_name
FROM Instructor
GROUP BY dept_name;
FROM nama_tabel
GROUP BY atribut
HAVING fungsi_agregasi;
FROM student
GROUP BY dept_name
FROM Instructor
GROUP BY dept_name
9.5. Latihan
1. Dapatkan banyaknya student yang memiliki total credit > 100 tiap-tiap department.
2. Dapatkan course_id dan banyak student yang mengambil masing-masing course tersebut pada
tahun 2006.
Modul 10 : Union, Intersection, Difference
10.2. Tujuan
Setelah mengikuti praktikum ini mahasiswa diharapkan dapat:
1. Memahami operasi union
2. Memahami operasi intersection
3. Memahami operasi difference
A B
10.4.1.1 UNION
Union (operatornya adalah UNION) merupakan operasi menggabungkan dua data set yang memiliki
kolom dengan definisi dan urutan yang sama. Apabila ada duplikasi data (data yang sama) maka hanya
dimunculkan sekali.
Contoh operasi union adalah sebagai berikut.
SELECT building, room_number FROM dbo.classroom WHERE building like 'A%'
UNION
Dari sintaksis tersebut akan ditampilkan building dan room_number yang memiliki awalan A dan
awalan 7.
Contoh lain adalah sebagai berikut.
SELECT ID, course_id, semester FROM takes
UNION
A A∩B B
10.4.2.1. INTERSECT
Intersection (operatornya adalah INTERSECT) merupakan operasi irisan himpunan yang
menghasilkan result set berupa data-data yang sama dari beberapa himpunan data yang diiriskan. Contoh
berikut mengambil student beserta course yang diambil hanya tahun 2005 dan diiriskan dengan student
beserta course yang diambil course pada semester “Fall” semua tahun.
SELECT ta.ID, s.name, s.dept_name, ta.course_id, c.title, ta.semester, ta.year,
ta.grade FROM takes ta
join student s on s.ID=ta.ID
join course c on c.course_id=ta.course_id
WHERE ta.year = 2005
INTERSECT
SELECT ta.ID, s.name, s.dept_name, ta.course_id, c.title, ta.semester, ta.year,
ta.grade FROM takes ta
join student s on s.ID=ta.ID
join course c on c.course_id=ta.course_id
WHERE ta.semester = 'Fall'
Dari sintaksis di atas maka menghasilkan student beserta course pada tahun 2005 pada semester
“Fall”.
10.4.3. Operasi Difference
Operasi difference atau selisih dari himpunan A dan B adalah himpunan yang anggotanya semua dari
A tetapi bukan anggota B. Ilustrasi himpunan A yang diselisihkan dengan himpunan B adalah sebagai
berikut.
A\B B
Operasi difference pada SQL Server adalah operasi except (operatornya adalah EXCEPT) merupakan
operasi yang menghasilkan hasil kembalian berupa himpunan yang merupakan data-data dari set pertama
diselisihkan data-data dari himpunan kedua. Contoh berikut mengambil student beserta course yang
diambil hanya tahun 2005 yang bukan dengan student beserta course yang diambil course pada semester
“Fall” semua tahun.
SELECT ta.ID, s.name, s.dept_name, ta.course_id, c.title, ta.semester, ta.year,
ta.grade FROM takes ta
join student s on s.ID=ta.ID
join course c on c.course_id=ta.course_id
WHERE ta.year = 2005
EXCEPT
SELECT ta.ID, s.name, s.dept_name, ta.course_id, c.title, ta.semester, ta.year,
ta.grade FROM takes ta
join student s on s.ID=ta.ID
join course c on c.course_id=ta.course_id
WHERE ta.semester = 'Fall'
Dari sintaksis di atas maka menghasilkan student beserta course pada tahun 2005 namun bukan
yang berada di semester “Fall”.
10.5. Latihan
1. Tampilkan ID, semester, dan course ID yang memiliki ID depan 10, grade-nya A dan tahun ajaran
2002.
2. Tampilkan dept_name yang memiliki salary dari instructor lebih besar dari 54000 dan credit dari
course-nya lebih dari 3.
Modul 11 : Subquery SQL
11.2. Tujuan
Setelah mengikuti praktikum ini mahasiswa diharapkan dapat:
1. Menggambarkan tipe persoalan yang dapat dipecahkan oleh subquery
2. Mendefinisikan subquery
3. Memahami tipe-tipe subquery
4. Menulis subquery baris tunggal dan baris berganda
FROM student s
11.5. Latihan
Buat subquery untuk:
1. Menampilkan instructor yang belum pernah mengajar!
2. Menampilkan course yang pernah diajar setidaknya 2 instructor!
3. Menampilkan student yang paling banyak mendapat nilai A!
Modul 12 : Transaction
12.2. Tujuan
Setelah mengikuti praktikum ini mahasiswa diharapkan dapat:
1. Memahami transaksi (transaction) dalam DBMS
2. Membuat query transaksi (transaction) dalam tugas tertentu
Pada contoh transaksi berikut, instructor baru bernama Bill ditambahkan ke tabel instructor dan
advisor (dosen pembimbing akademik) dari Manber digantikan oleh Bill di tabel advisor. Perubahan ini
dalam satu kesatuan tugas yang tidak terpisahkan.
BEGIN TRANSACTION
INSERT INTO instructor VALUES(99999, 'Bill', 'Comp. Sci.', 120000);
UPDATE advisor SET i_ID = (
SELECT ID FROM instructor
WHERE name = 'Bill')
where s_ID = (
SELECT ID FROM student
WHERE name = 'Manber'
);
Dari hasil query di atas, dapat dilihat instructor baru bernama Bill ditambahkan ke tabel instructor
dan advisor dari student Manber diubah menjadi Bill.
CATATAN
Suatu transaksi akan selalu menunggu commit atau rollback. Commit digunakan untuk menyimpan
perubahan secara permanen di dalam basis data. Rollback digunakan untuk menggagalkan perubahan yang
dilakukan transaksi ke keadaan semula sebelum terjadi BEGIN TRAN.
Dari hasil rollback dapat dilihat bahwa penambahan instructor dan pengubahan advisor akan
digagalkan semuanya. Apabila rollback dijalankan kembali maka akan muncul pesan bahwa rollback tidak
dapat dijalankan karena tidak ada transaction yang sedang berlangsung.
ROLLBACK TRANSACTION
(a) (b)
Pada gambar ditunjukkan bahwa tiap perintah COMMIT akan mengurangi nilai @@TRANCOUNT
dengan satu, sedangkan satu perintah ROLLBACK akan me-rollback seluruh transaksi. Contoh ilustrasi
transaksi nested adalah sebagai berikut.
SELECT 'Before BEGIN TRAN', @@TRANCOUNT
BEGIN TRAN
SELECT 'After BEGIN TRAN', @@TRANCOUNT
DELETE advisor
PRINT 'DELETE ALL advisor'
BEGIN TRAN nested
SELECT 'After BEGIN TRAN nested', @@TRANCOUNT
DELETE instructor
PRINT 'DELETE ALL instructor'
COMMIT TRAN nested;
SELECT 'After COMMIT TRAN nested', @@TRANCOUNT
ROLLBACK TRAN
SELECT 'After COMMIT TRAN nested', @@TRANCOUNT
SELECT * FROM advisor
PRINT 'SELECT ALL advisor'
SELECT * FROM instructor
PRINT 'SELECT ALL instructor'
12.5. Latihan
Buat transaksi dengan ketentuan perintah-perintah berikut.
1. Tambahkan data kuliah baru (course dengan nama “Game Programming”) beserta nilainya (ke tabel
takes) oleh student bernama “Manber” menggunakan subquery dengan ketentuan:
• Tabel takes hanya berisi ID student sehingga pengisian ID Student dari “Manber” harus
dilakukan melalui subquery (tidak dengan cara mengisikan ID secara langsung/hard code).
• Tabel takes hanya berisi ID course sehingga pengisian ID Course dari “Game Programming”
harus dilakukan melalui subquery (tidak dengan cara mengisikan ID secara langsung/hard
code).
2. Apabila data kuliah baru berhasil ditambahkan maka update total credit (tot_cred) pada tabel student
sesuai SKS (credit) dari “Game Programming” melalui. Untuk mengetahui banyak SKS yang
ditambahkan gunakan subquery.
Bungkus transaksi di atas dalam error handling TRY…CATCH.
Modul 13 : Dasar Pemrograman T-SQL
13.2. Tujuan
Setelah mengikuti praktikum ini mahasiswa diharapkan dapat:
1. Memahami dasar pemrograman T-SQL seperti deklarasi variabel, penugasan variabel, seleksi
kondisi, iterasi
2. Membuat stored procedure dan user defined function (UDF)
Misalnya apabila ingin membuat variabel bertipe data VARCHAR(255) maka sintaksisnya:
DECLARE @name VARCHAR(255) = 'Budi';
13.4.3.Penugasan/Pengisian Variabel
Untuk mengisi variabel selain melalui inisialisasi melalui deklarasi, digunakan sintaksis berikut.
SET @namaVariabel = nilai
Apabila nilai suatu variabel diisi melalui hasil query SELECT maka sintaksis yang digunakan adalah
sebagai berikut.
SELECT @nameVariabel = namaKolom FROM tabel
Misalnya apabila ingin mengisi variabel @name dari hasil query SELECT pada instructor:
SELECT @name = name FROM instructor where ID=14365;
Contoh lain misalnya mengubah dari VARCHAR menjadi INT pada klausa SELECT:
SELECT CAST(ID AS INT) as ID_INT, * FROM instructor
b. CASE…WHEN
13.4.7.Iterasi
Sintaksis untuk melakukan iterasi dalam T-SQL menggunakan WHILE adalah sebagai berikut. WHILE
sangat penting untuk digunakan dalam iterasi data yang dikenal dengan CURSOR. Namun, materi ini tidak
akan membahas penggunaan CURSOR itu sendiri.
WHILE Boolean_expression
{ sql_statement | statement_block | BREAK | CONTINUE }
Misalnya untuk mencetak angka 1 sampai 5 menggunakan WHILE adalah sebagai berikut.
DECLARE @intFlag INT
SET @intFlag = 1
WHILE (@intFlag <=5)
BEGIN
PRINT @intFlag
SET @intFlag = @intFlag + 1
END
Dalam iterasi untuk keluar dari iterasi keyword yang digunakan adalah BREAK sedangkan untuk
melewati (skip) iterasi keyword yang digunakan adalah CONTINUE.
a. Parameter Input
Input parameter berfungsi untuk memasukkan nilai argumen ke parameter untuk diproses di dalam
prosedur. Sintaksis untuk stored procedure dengan parameter input adalah sebagai berikut.
CREATE { PROC | PROCEDURE } procedure_name @parameter1 tipe_data, ...
Berikut ini adalah contoh stored procedure untuk menampilkan instructor sebagai advisor serta
student yang dibimbing tergantung dari suatu instructor tertentu (dengan satu parameter yaitu nama
instructor-nya).
CREATE PROCEDURE GetAdvisor2
@name VARCHAR(50)
AS
SELECT * FROM instructor i
JOIN advisor a ON i.ID=a.i_ID
JOIN student s ON s.ID=a.s_ID
WHERE i.name LIKE @name
GO
Untuk memanggil stored procedure dengan parameter maka setelah nama stored procedure
tambahkan spasi kemudian nilai dari parameternya, pisahkan dengan koma untuk parameter kedua, dst.
EXEC GetAdvisor2 '%na%'
b. Parameter Output
Output parameter berfungsi untuk mengeluarkan/mengembalikan suatu nilai dari dalam prosedur
ke parameter supaya nantinya dapat diproses di luar prosedur. Sintaksis untuk stored procedure dengan
parameter output adalah sebagai berikut.
CREATE { PROC | PROCEDURE } procedure_name @parameter1 tipe_data OUT/OUTPUT, ...
Contoh berikut untuk membuat stored procedure untuk menampilkan daftar instructor yang berada
di suatu department (misalnya “Comp. Sci.”) beserta salary tertinggi yang dikembalikan melalui parameter
output.
CREATE PROCEDURE GetInstructorSalary
@dept_name VARCHAR(50),
@max_salary MONEY OUTPUT
AS
SELECT * FROM instructor
WHERE dept_name = @dept_name
CONTOH UDF 1
UDF berikut berfungsi untuk mengembalikan nama hari tergantung dari inisial namanya adalah sebagai
berikut.
CREATE FUNCTION GetDayName
(@initial VARCHAR(1))
RETURNS VARCHAR(50)
AS
BEGIN
DECLARE @name VARCHAR(50)
SET @name =
CASE
WHEN @initial = 'M' THEN 'Monday'
WHEN @initial = 'T' THEN 'Tuesday'
WHEN @initial = 'W' THEN 'Wednesday'
WHEN @initial = 'R' THEN 'Thursday'
WHEN @initial = 'F' THEN 'Friday'
END
RETURN @name
END;
CONTOH UDF 2
UDF berikut berfungsi untuk mengembalikan lama suatu time_slot (jadwal kuliah) dalam satuan
menit.
CREATE FUNCTION GetSlotDuration(
@start_hour INT,
@start_min INT,
@end_hour INT,
@end_min INT
)
RETURNS INT
AS
BEGIN
RETURN @total_min
END
Contoh berikut untuk memanggil UDF GetSlotDuration menggunakan query SELECT dan pada klausa
WHERE, yang mana GetSlotDuration > 50 menit.
SELECT *, dbo.GetSlotDuration(start_hr,start_min,end_hr,end_min) as Duration
FROM time_slot
13.5. Latihan
1. Buat stored procedure yang menampilkan advisor termasuk data instructor dan student dengan
parameter nama student yang dicari (sebagai masukan dalam parameter input).
2. Buat stored procedure yang menampilkan kuliah yang diambil pada tabel takes termasuk data student
dengan parameter nama student yang dicari (sebagai masukan dalam parameter input).
3. Buat fungsi GetNilaiHuruf untuk mengembalikan nilai akhir huruf dari nilai angka dengan ketentuan
sebagai berikut.
No Rentang nilai angka Nilai Huruf
1 85 < nilai < 100 A
2 80 < nilai <= 85 A-
3 75 < nilai <= 80 B+
4 70 < nilai <= 75 B
5 65 < nilai <= 70 B-
6 60< nilai <= 65 C+
7 55 < nilai <= 60 C
8 40 < nilai <= 55 D
9 Nilai < 40 E
4. Gunakan fungsi di atas untuk mencari data kuliah yang diambil (pada tabel takes) beserta data student
dengan yang memiliki nilai A dan A- dengan memanfaatkan fungsi GetNilaiHuruf.
Contoh penggunaannya pada klausa SELECT/WHERE adalah GetNilaiHuruf(score).
Modul 14 : Dasar Pemrograman Database
14.2. Tujuan
Setelah mengikuti praktikum ini mahasiswa diharapkan dapat:
1. Mampu membuat aplikasi dengan bahasa pemrograman java untuk menampilkan dan
memodifikasi data dalam tabel.
2. Mampu menggunakan preparedstatement untuk mengelola data dalam database.
Parameter pada perintah diatas adalah nama class database Driver. Setiap databse memiliki library
dan nama class yang berbeda. Driver yang digunakan dalam library jtds untuk mengakses MsSql Server
adalah "net.sourceforge.jtds.jdbc.Driver".
Perintah untuk membuka koneksi
Connection conn=DriverManager.getConnection(<url>, <userName>, <password>);
atau
jdbc:jtds:sqlserver://127.0.0.1:1401/TestDB
ResultSet rs = st.executeQuery(<sql>);
Parameter sql adalah query select yang akan dieksekusi. Untuk menganbil data dari ResultSet
dilakukan perulangan dari baris pertama sampai terakhir dalam resultset. Perintah untuk mengambil data
masing-masing sel dalam tabel ditunjukkan pada tabel berikut.
st.executeUpdate(<sql>);
st.setInt(1, 4);
st.setInt(3, 110);
st.executeUpdate();
st.setInt(1, 5);
st.setInt(3, 120);
st.executeUpdate();
14.5. Prosedur Praktikum
1. Buatlah database “TestDB”
2. Buatlah tabel “Inventory” sebagai berikut
CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT);
INSERT INTO Inventory VALUES (1, 'banana', 150);
INSERT INTO Inventory VALUES (2, 'orange', 154);
3. Buatlah program Sbd1.java sebagai berikut. Sesuaikan url, userName dan password dengan
konfigurasi database server masing-masing.
1 package id.ac.ub.filkom;
2
3 import java.sql.Connection;
4 import java.sql.DriverManager;
5 import java.sql.PreparedStatement;
6 import java.sql.ResultSet;
7 import java.sql.SQLException;
8 import java.sql.Statement;
9
10 public class Sbd1 {
11 static String url = "jdbc:jtds:sqlserver://localhost:1443/TestDB";
12 static String userName = "SA";
13 static String password = "password1%";
14
15 public static void main(String[] args) {
16 Connection conn = null;
17 Sbd1 sbd1 = new Sbd1();
18 try {
19 conn = sbd1.getConnection(url, userName, password);
20 System.out.println("Before Insert");
21 sbd1.statementQuery(conn);
22 sbd1.statementInsert(conn);
23 System.out.println("After Insert");
24 sbd1.statementQuery(conn);
25 sbd1.preparedStatementInsert(conn);
26 System.out.println("After Insert with preparedstatement");
27 sbd1.statementQuery(conn);
28 sbd1.statementDelete(conn);
29 } catch (Exception e) {
30 e.printStackTrace();
31 } finally {
32 try {
33 conn.close();
34 } catch (Exception e) {
35 e.printStackTrace();
36 }
37 }
38 }
39
40 public Connection getConnection(String url, String userName, String passwd)
41 throws SQLException, ClassNotFoundException {
42 Class.forName("net.sourceforge.jtds.jdbc.Driver");
43 Connection conn = DriverManager.getConnection(url, userName, passwd);
44 return conn;
45 }
46
47 public void statementQuery(Connection conn) throws SQLException {
48 Statement st = conn.createStatement();
49 ResultSet rs = st.executeQuery("select * from Inventory");
50 System.out.println("==========================================");
51 System.out.println("| ID | NAMA | JUMLAH");
52 System.out.println("==========================================");
53 while (rs.next()) {
54 Integer id = rs.getInt(1);
55 String nama = rs.getString(2);
56 Integer jml = rs.getInt(3);
57 System.out.println("| " + id + " | " + nama + " | " +
jml);
58 }
59 }
60
61 public void statementInsert(Connection conn) throws SQLException {
62 //. . . . .
63 }
4. Tambahkan program berikut dalam method statementInsert pada baris 62, kemudian jalankan
program tersebut
Statement st = conn.createStatement();
st.executeUpdate("insert into Inventory(id, name, quantity) values
(3,'grapes',100)");
5. Tambahkan program berikut dalam method preparedStatementInsert pada baris 65, kemudian
jalankan program tersebut
14.6. Latihan
1. Buatlah dua tabel berikut :
◦ Tabel Mahasiswa dengan kolom sebagai berikut:
Nama Kolom Tipe data
NIM Varchar
Nama varchar
Buatlah program untuk menampilkan data berikut dari dua tabel diatas.
Nama : _____________________
Kelas : _____________________
Asisten 1 : _____________________
Asisten 2 : _____________________
1. Implementasi
1 SELECT * FROM xxx
2 WHERE xxx
3 JOIN ON xxx = xxx
4 ORDER BY xxx ASC
Tampilan Keluaran
2. Implementasi
1 SELECT * FROM xxx
2 WHERE xxx
3 JOIN ON xxx = xxx
4 ORDER BY xxx ASC
Tampilan Keluaran
DAFTAR PUSTAKA
• …………………….
• …………………….
• …………………….