0% menganggap dokumen ini bermanfaat (0 suara)
104 tayangan9 halaman

Laporan Sistem Basis Data SQL

Laporan praktikum sistem basis data membahas penggunaan query pada PostgreSQL untuk mengambil dan memanipulasi data dari basis data perpustakaan. Mahasiswa belajar menulis berbagai query SQL untuk menampilkan, menghitung, dan menganalisis data dari beberapa tabel yang terkait.

Diunggah oleh

Michael Tanoto
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
104 tayangan9 halaman

Laporan Sistem Basis Data SQL

Laporan praktikum sistem basis data membahas penggunaan query pada PostgreSQL untuk mengambil dan memanipulasi data dari basis data perpustakaan. Mahasiswa belajar menulis berbagai query SQL untuk menampilkan, menghitung, dan menganalisis data dari beberapa tabel yang terkait.

Diunggah oleh

Michael Tanoto
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 9

LAPORAN PRAKTIKUM

SISTEM BASIS DATA

NAMA: MICHAEL TANOTO


NIM: 15/385010/TK/43672

DEPARTEMEN TEKNIK GEODESI


FAKULTAS TEKNIK
UNIVERSITAS GADJAH MADA
YOGYAKARTA
I. MATERI
Query pada SQL

II. TUJUAN
Mahasiswa dapat mengenal dan mengetahui cara kerja Query pada PostgreSQL

III. TEMPAT DAN TANGGAL PELAKSANAAN


Tanggal : Jumat, 4 - 25 November 2016
Tempat : Lab. Komputer Teknik Geodesi UGM

IV. LANDASAN TEORI


SQL ( Structured Query Language) adalah suatu bahasa yang digunakan untuk
mengakses data di dalam sebuah database relasional. SQL sering juga disebut dengan
istilah query, dan bahasa SQL secara praktiknya digunakan sebagai bahasa standar
untuk manajemen database relasional. Hingga saat ini hampir seluruh server database
atau software database mengenal dan mengerti bahasa SQL.
Query adalah kemampuan untuk menampilkan suatu data dari database
Dimana mengambil dari tabel-tabel yang ada di database, jadi query bukanlah sebuah
tabel atau tidak sama dengan tabel. Query ini dapat disebut juga bahasa SQL (Structured
Query Language) yang ditampilkan dalam bentuk visual, yang dapat digunakan untuk
melihat, memodifikasi dan menganalisa data dengan berbagai alur yang berbeda.
Adanya beberapa manfaat dari Query
1. Menampilkan data-data tertentu pada suatu table, contohnya kita hanya ingin
melihat data pada table barang yang kode barangnya B001
2. Menampilkan data dari dua table atau lebih dengan syarat antar table itu ada field
yang berhubungan. Contohnya kita ingin melihat Nomor Faktur F0001 itu siapa
pemiliknya. Di sini kita mengambil data dari table Header Penjualan dan Table
Karyawan, Sebagai penghubungnya adalah field NIK.
3. Dapat melakukan operasi perhitungan.
Query dibedakan menjadi 2, yaitu :
1. Untuk membuat/mendefinisikan obyek-obyek database seperti membuat tabel,
relasi dan sebagainya. Biasanya disebut dengan Data Definition Language (DDL).
2. Untuk memanipulasi data, yang biasanya dikenal dengan Data Manipulation
Language (DML).

V. LANGKAH KERJA
1. Membuka PostgreSQL
2. Masuk ke database universitas
3. Klik untuk memasukkan query dalam bentuk sql.
4. Mengetik query sesuai dengan yang diminta.
5. Menjalankan query tersebut dengan klik
6. Hasil nya akan muncul pada tabel Data output di Output pane.

7. Menyimpan query tersebut dengan menekan ctrl + s pada keyboard.


8. Mengulangi langkah 4 7 dengan query selanjutnya.

VI. HASIL DAN PEMBAHASAN


1. Hasil
a. select anggota.id_anggota, nama, alamat
from anggota, peminjaman
where anggota.id_anggota=peminjaman.id_anggota
and id_buku='2002'

b. select anggota.*
from anggota, peminjaman, copy_buku, isbn
where anggota.id_anggota=peminjaman.id_anggota
and peminjaman.id_buku=copy_buku.id_buku
and copy_buku.no_isbn=isbn.no_isbn
and judul='statistika'

c. select judul
from isbn, copy_buku, peminjaman, anggota
where isbn.no_isbn=copy_buku.no_isbn
and peminjaman.id_buku=copy_buku.id_buku
and anggota.id_anggota=peminjaman.id_anggota
and (nama='adi' and pemimjaman.id_anggota='1001')

d. select judul, rak.no_rak


from copy_buku, rak, isbn
where isbn.no_rak=rak.no_rak
and isbn.no_isbn=copy_buku.no_isbn
and judul='statistika';

e. select copy_buku.id_buku, judul, tanggal_pinjam


from copy_buku, isbn, peminjaman
where copy_buku.id_buku=peminjaman.id_buku
and copy_buku.no_isbn=isbn.no_isbn
and tanggal_pinjam='2016-10-04';

f. select no_rak, count(copy_buku.id_buku) as jumlah


from isbn, copy_buku
where isbn.no_isbn=copy_buku.no_isbn
and no_rak='2'
group by no_rak;

g. select nama, anggota.id_anggota


from anggota, peminjaman
where anggota.id_anggota=peminjaman.id_anggota
and (tanggal_pinjam='2016-04-10' and tanggal_kembali is not null);

h. select no_register, anggota.id_anggota, anggota.nama,


tanggal_harus_kembali, tanggal_kembali,
(tanggal_kembali - tanggal_harus_kembali) as keterlambatan
from peminjaman, anggota
where peminjaman.id_anggota=anggota.id_anggota
and (tanggal_kembali - tanggal_harus_kembali) > 0;

i. select anggota.id_anggota, nama


from peminjaman, anggota
where peminjaman.id_anggota=anggota.id_anggota
and tanggal_pinjam='2016-10-07'
and (tanggal_kembali - tanggal_harus_kembali) < 0;

j. select count(*) as jumlah_buku


from peminjaman
where tanggal_pinjam='2016-10-06' and tanggal_kembali is null;

k. select count(*) as jumlah_buku, isbn.no_isbn


from isbn, peminjaman, copy_buku
where isbn.no_isbn=copy_buku.no_isbn
and copy_buku.id_buku=peminjaman.id_buku
and (tanggal_pinjam='2016-10-06' and tanggal_kembali is null)
group by 2;

l. select judul, nama_penulis, isbn.no_isbn, count(*) as jumlah_kopi_buku


from copy_buku, penulis, penulis_buku, isbn
where copy_buku.no_isbn=penulis_buku.no_isbn
and penulis_buku.id_penulis=penulis.id_penulis
and isbn.no_isbn=copy_buku.no_isbn
group by 1, 2, 3;

m. select anggota.id_anggota, nama,


(tanggal_kembali - tanggal_harus_kembali) as keterlambatan,
(tanggal_kembali - tanggal_harus_kembali)*1000 as denda
from anggota, peminjaman
where anggota.id_anggota=peminjaman.id_anggota
and anggota.id_anggota='1002';

n. select count(*) as jumlah_buku


from peminjaman, isbn, copy_buku
where copy_buku.no_isbn=isbn.no_isbn
and peminjaman.id_buku=copy_buku.id_buku
and (tanggal_pinjam > '2016-10-1'
and tanggal_pinjam < '2016-10-30' and tanggal_kembali is not null
and judul='ilmu ukur tanah');
o. select count (*)
from peminjaman, isbn, copy_buku
where copy_buku.no_isbn=isbn.no_isbn
and peminjaman.id_buku=copy_buku.id_buku
and (tanggal_pinjam > '2016-10-01'
and tanggal_pinjam < '2016-10-30')
and judul='kalkulus i'
and tanggal_kembali is not null;

p. select jenis_anggota, count (*)


from jenis_anggota, peminjaman, anggota
where jenis_anggota.id_jenis_anggota=anggota.id_jenis_anggota
and peminjaman.id_anggota=anggota.id_anggota
and (tanggal_pinjam > '2016-10-01'
and tanggal_pinjam < '2016-10-30')
group by 1;

q. select distinct nama, tanggal_pinjam


from anggota, peminjaman
where anggota.id_anggota=peminjaman.id_anggota
and tanggal_kembali is not null;

r. select isbn.no_isbn, count(*)


from copy_buku, isbn
where copy_buku.no_isbn=isbn.no_isbn
and copy_buku.no_isbn=1115
and copy_buku.id_buku <>
(select count(*)
from peminjaman)
group by 1;
s. select copy_buku.id_buku, anggota.id_anggota, nama, alamat,
(tanggal_kembali - tanggal_harus_kembali) as keterlambatan
from copy_buku, anggota, peminjaman
where copy_buku.id_buku=peminjaman.id_buku
and anggota.id_anggota=peminjaman.id_anggota
and (tanggal_kembali - tanggal_harus_kembali) > 0;

t. select isbn.judul, jumlah


from isbn, copy_buku,
(select copy_buku.id_buku, count(*) as jumlah
from isbn, peminjaman, copy_buku
where copy_buku.no_isbn=isbn.no_isbn
and peminjaman.id_buku=copy_buku.id_buku
and tanggal_pinjam < '2016-10-30'
and tanggal_kembali <'2016-10-30'
group by 1) as queryT
where copy_buku.no_isbn = isbn.no_isbn
and copy_buku.id_buku = queryT.id_buku
and jumlah =
(select max(jumlah)
from (select copy_buku.id_buku, count(*) as jumlah
from isbn, peminjaman, copy_buku
where copy_buku.no_isbn=isbn.no_isbn
and peminjaman.id_buku=copy_buku.id_buku
and tanggal_pinjam < '2016-10-30'
and tanggal_kembali <'2016-10-30'
group by 1) as queryT);

u. select count(*) as banyak_peminjam ,


(tanggal_kembali - tanggal_pinjam) as frekuensi
from peminjaman, anggota
where anggota.id_anggota=peminjaman.id_anggota
and tanggal_pinjam > '2016-10-01'
and tanggal_pinjam < '2016-10-30'
group by (tanggal_kembali - tanggal_pinjam);
v. select count(*) as banyak_orang, banyak_peminjaman from
(select count(*) as banyak_peminjaman
from anggota, peminjaman
where anggota.id_anggota = peminjaman.id_anggota
and tanggal_pinjam BETWEEN '2016-10-01' AND '2016-10-30'
GROUP BY anggota.id_anggota
) as queryV
group by banyak_peminjaman;

1. select tanggal_pinjam, count(*) as jumlah_peminjaman_hari


from peminjaman
group by tanggal_pinjam
order by tanggal_pinjam asc;

2. select tanggal_pinjam, count(*) as jumlah_peminjaman


from peminjaman
where tanggal_pinjam = '2016-10-05'
group by tanggal_pinjam;

3. select judul, count(*) as jumlah_copy


from isbn, copy_buku
where isbn.no_isbn=copy_buku.no_isbn
group by judul;
4. select judul, count(*) as jumlah_copy
from isbn, copy_buku
where isbn.no_isbn=copy_buku.no_isbn
and judul='bahasa inggris'
group by 1;

5. select copy_buku.id_buku, judul, tanggal_pinjam, tanggal_harus_kembali


from peminjaman, isbn, copy_buku
where peminjaman.id_buku=copy_buku.id_buku
and isbn.no_isbn=copy_buku.no_isbn
and tanggal_kembali is null;

2. Pembahasan
Pada pembuatan query, diperlukan pemahaman sql dan penalaran logika yang
baik terhadap setiap perintah sehingga data dapat dimodifikasi dan disesuaikan
dengan keperluan. Pada sql ini harus menentukan relasi antar tabel sehingga tabel-
tabel terkesan tergabung.

VII. KESIMPULAN
Berdasarkan hasil dan pembahasan diatas, dapat disimpulkan bahwa untuk
menentukan fungsi yang terdapat di query memerlukan Query ini memiliki fungsi
terutama untuk meminimalisir tabel dan memiliki fungsi yang banyak.

VIII. DAFTAR PUSTAKA


http://www.mandalamaya.com/pengertian-sql-dan-jenis-jenis-perintah-sql/

Anda mungkin juga menyukai