Anda di halaman 1dari 6

KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN

POLITEKNIK NEGERI LHOKSEUMAWE


JURUSAN TEKNOLOGI INFORMASI DAN KOMPUTER
Jalan Banda Aceh-Medan Km. 280,3 Buketrata, Lhokseumawe, 24301 PO.BOX 90
Telp (0645) 42785. Faksimile 42785, Laman : www.pnl.ac.id

UJIAN AKHIR SEMESTER GANJIL T.A 2020/2021


Mata Kuliah : Database Programming Program Studi : TRKJ
Hari/Tanggal : Jumat/15-01-2021 Semester : 1I(Dua)
Dosen : Ilham Safar, S.ST., M.Kom Sifat Ujian : Closed Book
Kelas : 2B/2C Waktu : 60 Menit

1. Buat perintah sql sehingga terbentuk tabel dibawah ini: : (20)

2. Buat perintah sql berdasarkan tabel Mahasiswa diatas untuk : (20)


a. Menambahkan sebuah kolom : Prodi (varchar 15), sebagai kolom terakhir
b. Menambahkan kolom Nim (int 15) di awal (sebagai kolom pertama)
c. Mensisipkan sebuah kolom dengan nama NoHp (varchar 12) setelah kolom alamat
varchar(25)
d. Mengubah kolom Nim menjadi char(11)
e. Menghapus kolom kdKelas dari table
f. Mengganti nama tabel menjadi Mhs
g. Menjadikan nim sebagai primary key

3. Berdasarkan tabel berikut buat query untuk: (20)

a. Menampilkan jumlah stok barang dan jumlah harga barang pada table barang.
b. Menampilkan jumlah rata –rata harga barang pada table barang
c. Menampilkan jumlah stok barang terkecil pada table barang
d. Menampilkan jumlah stok barang terbesar pada table barang

4. Jelaskan beberapa jenis JOIN, perbedaan dan contoh nya (20)

5. Jelaskan apa yang dimaksud dengan Nested Query, berikan contoh nya. (20)
JAWAB
1. Membuat tabel seperti diatas

Gambar 1 adalah perintah dari awal masuk ke mysql hingga memasukkan value ke dalam tabel

- Berikut adalah hasil tabelnya

2. – menambahkan kolom prodi varchar(15)


- Menambahkan kolom Nim (int 15) di awal (sebagai kolom pertama)

- Mensisipkan sebuah kolom dengan nama NoHp (varchar 12) setelah kolom
alamat varchar(25)

- Mengubah kolom Nim menjadi char(11)

- Menghapus kolom kdKelas dari table

- Mengganti nama tabel menjadi Mhs


3. Berdasarkan tabel berikut buat query untuk:

- Menampilkan jumlah stok barang dan jumlah harga barang pada table barang.

- Menampilkan jumlah rata –rata harga barang pada table barang

- Menampilkan jumlah stok barang terkecil pada table barang

- Menampilkan jumlah stok barang terbesar pada table barang

4. A. INNER JOIN
INNER JOIN digunakan untuk menghasilkan baris data dengan menggabungkan 2  buah table
atau lebih, Menggunakan Pasangan Data Yang Much  Pada Masing-Masing Data.
Dengan INNER JOIN Tabel Akan Digabungkan 2 Arah Sehingga Tidak Ada Data
Yang NULL Disatu Sisi.

B. LEFT JOIN

Left join Adalah Relasi Antar Table, biasanya Digunakan untuk menghasilkan baris data dari tabel kiri
(nama tabel pertama/ Tabel Utama) yang tidak ada pasangan/Tidak Berelasi datanya pada tabel kanan
(nama tabel kedua). 
Atau  Left Join merupakan penggabungan tabel dimana data akan ditampilkan secara keseluruhan pada
tabel pertama (kiri) namun record pada tabel kedua (kanan) yang kosong akan ditampilkan dengan
isi NULL.

C. RIGHT JOIN
RIGHT JOIN digunakan untuk menghasilkan baris data dari tabel kanan (nama tabel kedua/ Tabel Utama)
yang tidak ada pasangan datanya/ Tidak Berelasi pada tabel kiri (nama tabel pertama).
Atau Right Join memiliki fungsi yang bertolak belakang dengan left join, dimana right join akan
menampilkan data secara keseluruhan pada tabel kedua (kanan), namun NULL pada tabel pertama (kiri).
5. Subquery atau Inner query atau Nested query adalah query dalam query SQL lain dan tertanam
dalam klausa WHERE. Sebuah subquery digunakan untuk mengembalikan data yang akan
digunakan dalam query utama sebagai syarat untuk lebih membatasi data yang akan diambil.
Subqueries dapat digunakan dengan SELECT, INSERT, UPDATE, dan DELETE statements
bersama dengan operator seperti =, <,>,> =, <=, IN, BETWEEN dll.

Ada beberapa aturan yang subqueries harus mengikuti:

 Subqueries harus tertutup dalam tanda kurung.


 Sebuah subquery hanya dapat memiliki satu kolom pada klausa SELECT, kecuali beberapa kolom
yang di query utama untuk subquery untuk membandingkan kolom yang dipilih.
 ORDER BY tidak dapat digunakan dalam subquery, meskipun permintaan utama dapat
menggunakan ORDER BY.GROUP BY dapat digunakan untuk melakukan fungsi yang sama seperti
ORDER BY dalam subquery.
 Subqueries yang kembali lebih dari satu baris hanya dapat digunakan dengan beberapa value
operator, seperti operator IN.
 Daftar SELECT tidak bisa menyertakan referensi ke nilai-nilai yang mengevaluasi ke BLOB, ARRAY,
CLOB, atau NCLOB.
 Sebuah subquery tidak dapat segera tertutup dalam fungsi set.
 Operator BETWEEN tidak dapat digunakan dengan subquery;Namun, BETWEEN dapat digunakan
dalam subquery.
Sintaks dasar dari sub query adalah sebagai berikut:

SELECT column_name [, column_name ]

FROM   table1 [, table2 ]

WHERE  column_name OPERATOR

      (SELECT column_name [, column_name ]

      FROM table1 [, table2 ]

      [WHERE])

contoh:
Misalnya terdapat data berikut dalam tabel Staff:

ID NAME AGE ADDRESS SALARY (USD)

1 Andy 35 Ciledug 2000.00

2 Budi 25 Jakarta Pusat 1500.00

3 Ami 23 Cipulir 2000.00

4 Mita 25 Bintaro 6500.00

5 Nani 27 Pademangan 8500.00

6 Darren 22 Kelapa gading 4500.00

7 Rina 24 Kuningan 10000.00

Sekarang kita ambil bagian subquery dengan SELECT statement untuk mengambil data Staff
berdasarkan ID dan ID itu terikat oleh salary yang lebih besar dari 4500. Maka query akan menjadi
seperti berikut ini:
SQL> SELECT *      FROM STAFF     WHERE ID IN (SELECT ID                   FROM STAFF
WHERE SALARY > 4500) ;

Dan hasil dari query akan menghasilkan data seperti berikut:

ID NAME AGE ADDRESS SALARY (USD)

4 Mita 25 Bintaro 6500.00

5 Nani 27 Pademangan 8500.00

7 Rina 24 Kuningan 10000.00

Banyak pernyataan Transact-SQL yang mencakup subqueries yang dapat dirumuskan secara alternatif
sebagai bergabung. pertanyaan lainnya dapat diajukan hanya dengan subqueries. Dalam Transact-SQL,
biasanya tidak ada perbedaan kinerja antara pernyataan yang mencakup subquery dan versi
semantically equivalent yang tidak ada. Namun, dalam beberapa kasus di mana keberadaan harus
diperiksa, hasil join membuat kinerja yang lebih baik. Jika tidak, nested query harus diproses untuk
setiap hasil dari outer query untuk memastikan penghapusan duplikat. Dalam kasus tersebut,
pendekatan JOIN akan menghasilkan hasil yang lebih baik.

Anda mungkin juga menyukai