Contoh Soal Database (SQL Query)


Dibuang sayang, kebetulan sempat buat beberapa soal latihan untuk bidang Microsoft SQL Server, daripada beridam di dalam laptop saya share saja disini.

Tata cara pengerjaan soal:
      1.    Berdo’alah terlebih dahulu sebelum mengerjakan soal.
      2.    Perhatikan baik-baik instruksi yang ada pada soal.
      3.    Jika ada soal/instruksi yang kurang dipahamai silahkan ditanyakan kepada pengawas.

Soal:
      1.    Buat sebuah query baru, lalu simpan dengan nama: UTS-NAMA-KELAS
      2.    Buat sebuah database dengan nama: UTS-NAMA-DB
      3.    Buat 3 tabel dibawah ini sesuai dengan ketentuannya:
NAMA TABLE: TBUKU_NAMA_ANDA
NAMA FIELD
TIPE DATA
FIELD SIZE
ID_BUKU
CHAR
5
ISBN
VARCHAR
20
JUDUL_BUKU
VARCHAR
30
ID_PENERBIT
CHAR
5
ID_PENGARANG
CHAR
5
HARGA_BUKU
 FLOAT
-
STOK
INTEGER
-
          ##################################################
NAMA TABLE: TPENERBIT_NAMA_ANDA
NAMA FIELD
TIPE DATA
FIELD SIZE
ID_PENERBIT
CHAR
5
NAMA_PENERBIT
VARCHAR
30
ALAMAT
VARCHAR
30
TELPON
VARCHAR
15
           ###################################################
NAMA TABLE: TPENGARANG_NAMA_ANDA
NAMA FIELD
TIPE DATA
FIELD SIZE
ID_PENGARANG
CHAR
5
NAMA_PENGARANG
VARCHAR
30
JEKEL
VARCHAR
9

      4.    Isi tabel dengan data berikut ini:
ID_
BUKU
ISBN
JUDUL_BUKU
ID_
PENERBIT
ID_
PENGARANG
HARGA_
BUKU
STOK
BK001
978-979-29-1234-1
PENGANTAR  BASIS  DATA
PNB01
PNG03
75.000
3
BK002
978-979-29-4444-1
MAHIR  MENGGAMBAR  ANIME
PNB01
PNG01
45.500
2
BK003
978-979-29-4567-1
DATA  WAREHOUSE
PNB01
PNG02
60.000
1
BK004
978-979-29-1212-1
SHORTCOURSE:  EXCEL  2016
PNB02
PNG02
35.000
5
BK005
978-979-29-3232-1
LASKAR  PEMIMPI
PNB02
PNG03
80.000
4
BK006
978-979-29-1010-1
PERANCANGAN  BASIS DATA
PNB02
PNG04
99.000
5
BK007
978-979-29-1111-1
ALGORITMA  PEMROGRAMAN
PNB03
PNG04
125.000
5
BK008
978-979-29-9898-1
CATATAN  SI  UJANG
PNB04
PNG03
85.000
2


ID_PENERBIT
NAMA_PENERBIT
ALAMAT
TELPON
PNB01
LENTERA ILMU
JAKARTA
(021)212987
PNB02
PUSTAKA INDONESIA
BANDUNG
(022)127576
PNB03
ANDRA PUBLISHER
YOGYAKARTA
(0274)123123
PNB04
WAHANA
JAKARTA
(021)222333
##########################################################################
ID_PENGARANG
NAMA_PENGARANG
JEKEL
PNG01
ABDUL KADIR
LAKI-LAKI
PNG02
SRI WAHYUNI
PEREMPUAN
PNG03
FATHANSYAH
LAKI-LAKI
PNG04
TRI RISMA SETIA
PEREMPUAN

######################################################
      5.    Lakukan penambahan field pada tabel BUKU, dengan kriteria sebagai berikut: nama field JENIS_BUKU, tipe data VARCHAR, field size 20.
      6.    Setelah mengerjakan soal no 5 maka update field JENIS_BUKU pada tiap record yang ada pada tabel BUKU. Isi dengan: LASKAR  PEMIMPI = FIKSI, MAHIR  MENGGAMBAR  ANIME = HOW TO, SISANYA = INFORMATIKA.
      7.    Berdasarkan tabel BUKU, tampilkan data OMSET PENDAPATAN (didapat dari perkalian HARGA_BUKU dengan STOK) dengan field seperti tampilan berikut ini:
JUDUL BUKU
HARGA BUKU
STOK
OMSET PENDAPATAN
XXXXXXXXX
XXXX
XXXX
XXXXXXXXXXXX

8.   
Berdasarkan tabel BUKU, tampilkan data yang JUDUL_BUKU nya mengandung kata DATA dan penerbitnya LENTERA ILMU.
     9.    Tampilkan field dari gabungan 3 tabel menjadi seperti ini:
JUDUL BUKU
ISBN
NAMA PENGARANG
NAMA PENERBIT
HARGA BUKU
STOK
XXXXXXXXX
XXXX
XXXXXXXXXXXXXX
XXXXXXXXXXXX
XXXXXXXXX
XXXX
     10.  Dengan menggunakan field pada soal no 9, tampilkan daftar buku yang memiliki rentang harga 70.000 sampai 100.000, urutkan data berdasarkan JUDUL BUKU secara ascending.
  11.  Dengan menggunakan field soal no 9, tampilkan data buku yang diterbitkan oleh LENTERA ILMU dan harganya kurang dari 100.000, urutkan data berdasarkan JUDUL BUKU secara descending.
   12.  Berdasarkan tabel BUKU dan PENERBIT, tampilkan rata-rata harga buku, harga buku tertinggi, dan total harga (per-NAMA PENERBIT) menjadi seperti ini:
NAMA PENERBIT
RATAAN HARGA BUKU
HARGA TERTINGGI
TOTAL HARGA
XXXXX XXXXXXX
XXXXXXXXXXXXXXXX
XXXXXXXXXXXXXX
XXXXXXXXXXX
     13.  Berdasarkan poin no 12, tampilkan data yang memiliki RATAAN HARGA BUKU dibawah 70.000.
     14.  Lakukan perubahan data pada tabel PENERBIT, ganti nama penerbit WAHANA menjadi WAHANA INFORMATIKA.
     15.  Tambah satu record data pada tabel PENGARANG:
PNG05
RESTIAN ADI
LAKI-LAKI


Lalu hapus kembali data tersebut.

6 Comments

  1. This comment has been removed by a blog administrator.

    ReplyDelete
  2. bisa di jelaskan cara pengerjaannya?

    ReplyDelete
  3. use belajar5

    create table tpenerbit
    (id_penerbit char(5) primary key not null,
    nama_penerbit varchar(30),
    alamat varchar (30),
    telpon varchar (15))

    insert into tpenerbit values
    ('PNB01','LENTERA ILMU','JAKARTA','(021)212987'),
    ('PNB02','PUSTAKA INDONESIA','BANDUNG','(022)127576'),
    ('PNB03','ANDRA PUBLISHER','YOGYAKARTA','(0274)123123'),
    ('PNB04','WAHANA','JAKARTA','(021)222333')

    insert into tpengarang values
    ('PNG01','ABDUL KADIR','LAKI-LAKI'),
    ('PNG02','SRI WAHYUNI','PEREMPUAN'),
    ('PNG03','FATHANSYAH','LAKI-LAKI'),
    ('PNG04','TRI RISMA SETIA','PEREMPUAN')

    create table tpengarang
    (id_pengarang char(5) primary key not null,
    nama_pengarang varchar(30),
    jekel varchar(9))

    create table tbuku
    (id_buku char (5) primary key not null,
    isbn varchar (20),
    judul_buku varchar (30),
    id_tpenerbit char (5),
    id_tpengarang char (5),
    harga_buku float,
    stock int,
    foreign key (id_tpenerbit) references tpenerbit(id_penerbit),
    foreign key (id_tpengarang) references tpengarang(id_pengarang))

    insert into tbuku values
    ('BK001','978-979-29-1234-1','PENGANTAR BASIS DATA','PNB01','PNG03','75.000','3'),
    ('BK002','978-979-29-4444-1','MAHIR MENGGAMBAR ANIME','PNB01','PNG01','45.500','2'),
    ('BK003','978-979-29-4567-1','DATA WAREHOUSE','PNB01','PNG02','60.000','1'),
    ('BK004','978-979-29-1212-1','SHORTCOURSE: EXCEL 2016','PNB02','PNG02','35.000','5'),
    ('BK005','978-979-29-3232-1','LASKAR PEMIMPI','PNB02','PNG03','80.000','4'),
    ('BK006','978-979-29-1010-1','PERANCANGAN BASIS DATA','PNB02','PNG04','99.000','5'),
    ('BK007','978-979-29-1111-1','ALGORITMA PEMROGRAMAN','PNB03','PNG04','125.000','5'),
    ('BK008','978-979-29-9898-1','CATATAN SI UJANG','PNB04','PNG03','85.000','3')

    alter table tbuku add column
    (jenis_buku varchar (20))

    select * from tbuku

    6//
    update tbuku
    set jenis_buku='FIKSI' where judul_buku like '%LASKAR PEMIMPI%' and
    set jenis_buku='HOW TO' where judul_buku like '%MAHIR MENGGAMBAR ANIME%'

    7//
    select (judul_buku) as 'Judul Buku',(harga_buku) as 'Harga Buku',(stock) as 'Stock',
    (harga_buku * stock) as 'Omset Pendapatan'
    from tbuku

    8//
    select * from tbuku tb
    inner join tpenerbit tp
    on tb.id_tpenerbit=tp.id_penerbit
    where judul_buku like '%Data%' AND nama_penerbit='Lentera Ilmu'

    9//
    select judul_buku,isbn,nama_pengarang,nama_penerbit,harga_buku,stock
    from tbuku tb
    inner join tpenerbit tp
    on tb.id_tpenerbit=tp.id_penerbit
    inner join tpengarang tpp
    on tb.id_tpengarang=tpp.id_pengarang

    10//
    select judul_buku,isbn,nama_pengarang,nama_penerbit,harga_buku,stock
    from tbuku tb
    inner join tpenerbit tp
    on tb.id_tpenerbit=tp.id_penerbit
    inner join tpengarang tpp
    on tb.id_tpengarang=tpp.id_pengarang
    where harga_buku between '70' and '100'
    order by (judul_buku) asc

    11//
    select judul_buku,isbn,nama_pengarang,nama_penerbit,harga_buku,stock
    from tbuku tb
    inner join tpenerbit tp
    on tb.id_tpenerbit=tp.id_penerbit
    inner join tpengarang tpp
    on tb.id_tpengarang=tpp.id_pengarang
    where harga_buku <'100'
    order by (judul_buku) desc

    12//
    select nama_penerbit, avg(harga_buku) as 'Rataan Harga Buku', max(harga_buku) as 'Harga Tertinggi',
    sum(harga_buku) as 'Total Harga'
    from tbuku tb
    inner join tpenerbit tp
    on tb.id_tpenerbit=tp.id_penerbit
    group by (nama_penerbit)

    ReplyDelete

Post a Comment

Previous Post Next Post