Download - Laporan Pemrogaman Chapter 4
-
7/25/2019 Laporan Pemrogaman Chapter 4
1/18
LAPORAN PEMROGAMAN
BASIS DATA JARINGAN
Penulisan Query Database
Disusun oleh:
Ajeng Yona Falah
Informatika 3A
3.34.12.0.01
PROGAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI SEMARANG
2014/2015
-
7/25/2019 Laporan Pemrogaman Chapter 4
2/18
I. Tujuan Instruksional Khusus
Setelah menyelesaikan praktek mahasiswa diharapkan dapat:
1. Memahami cara penulisan sintaks SQL dengan benar.
2. Melakukan komparasi antara QBE (Query by Example) dan SQL.3. Menghasilkan output baris tabel yang dikelompokkan.
4. Menggunakan operator pivot.
II. Dasar Teori
SQL (Structured Query Language) adalah sebuah bahasa yang digunakan untuk
mengakses data dalam basis data relasional. Bahasa ini secara de facto merupakan
Bahasa standar yang digunakan dalam manajemen basis data relasional. Saat inihampir semua server basis data yang ada mendukung bahasa ini untuk melakukan
manajemen datanya.
SQL Server menggunakan T-SQL sebagai bahasanya, dan memiliki banyak
variasi fungsi dan konstuksi untuk penulisan query. Microsoft SQL Server adalah
sebuah system manajemen basis data relasional (RDBMS) produk Microsoft.
Bahasa kueri utamanya adalah Transact-SQL yang merupakan implementasi dari
SQL standar ANSI/ISO yang digunakan oleh Microsoft dan Sybase. Umumnya
SQL Server digunakan di dunia bisnis yang memiliki basis data berskala kecil
sampai dengan menengah, tetapi kemudian berkembang dengan digunakannya SQL
Server pada basis data besar.
Microsoft SQL Server dan Sybase/ASE dapat berkomunikasi lewat jaringan
dengan menggunakan protokol TDS (Tabular Data Stream). Selain dari itu,
Microsoft SQL Server juga mendukung ODBC (Open Database Connectivity), dan
mempunyai driver JDBC untuk Bahasa pemrograman Java. Fitur yang lain dari
SQL Server ini adalah kemampuannya untuk membuat basis data mirroring dan
clustering.
Memulai dengan query
Query adalah teknik untuk mengekstrak informasi dari database. Kita memerlukan
jendela query di mana untuk mengetik sintaks query dan menjalankannya sehingga
data dapat diambil dari database.
-
7/25/2019 Laporan Pemrogaman Chapter 4
3/18
Common Table Expressions (CTE)
Common Table Expression (CTE) merupakan fitur baru SQL Server yang
dimulai dari SQL Server 2005. Bagi yang pernah menggunakan variabel bertipe
TABLE, mungkin ada kemiripan diantara keduanya. Menurut dokumentasi, CTE
dapat digambarkan sebagai hasil query sementara yang ada pada lingkup eksekusi
operasi SELECT, INSERT, UPDATE, DELETE, atau CREATE VIEW. CTE mirip
dengan tabel turunan yang tidak disimpan sebagai obyek. Tapi tidak seperti tabel
turunan, CTE dapat di referensikan ke diri sendiri dan dapat direferensikan
beberapa kali pada query yang sama.
Menggunakan CTE memiliki beberapa keuntungan yaitu lebih mudah dibaca
dan memudahkan pengaturan pada query yang kompleks. Query dapat dipecah
menjadi beberapa query yang lebih sederhana. CTE dapat digunakan pada
procedure, fungsi, trigger atau view.
GROUP BY Clause
Klausa GROUP BY digunakan untuk mengatur hasli keluaran baris dalam bentuk
kelompok. SELECT dapat mencakup fungsi agregat dan menghasilkan nilai
ringkasan untuk setiap kelompok. Sebagai contoh, carilah jumlah total masing-
masing jenis kartu yang berakhir pada tahun tertentu dari tabel Sales.CreditCard.
Operator PIVOT
Skenario umum dimana PIVOT dapat berguna adalah ketika ingin
menghasilkan laporan tabulasi silang untuk meringkas data. Operator PIVOT dapat
memutar baris untuk kolom. Misalnya, kita ingin query tabel Sales.CreditCard
dalam database AdventureWorks untuk menentukan jumlah kartu kredit dari jenis
tertentu yang akan berakhir pada tahun tertentu.
Jika melihat permintaan untuk GROUP BY disebutkan dalam bagian
sebelumnya dan ditunjukkan sebelumnya pada Figur 4-4, tahun 2008 dan 2009 juga
telah diteruskan ke klausa WHERE, tetapi mereka hanya ditampilkan sebagai
bagian dari catatan dan mendapatkan diulang untuk setiap jenis kartu secara
terpisah, yang telah meningkatkan jumlah baris untuk delapan. PIVOT mencapai
tujuan yang sama dengan memproduksi format ringkas dan mudah memahami
laporan.
-
7/25/2019 Laporan Pemrogaman Chapter 4
4/18
Klausa PARTITION BY
Klausa PARTITION BY dapat digunakan untuk membagi hasil ditetapkan
menjadi partisi yang mana fungsi ROW_NUMBER () diterapkan. Penerapan fungsi
ROW_NUMBER() dengan klausa PARTITION BY mengembalikan nomor urut
untuk setiap baris dalam partisi dari satu set hasil, dimulai dari 1 untuk baris pertama
di setiap partisi.
PATTERN MATCHING
Pattern Matching (Pencocokkan Pola) adalah teknik yang menentukan apakah
karakter string cocok dengan pola tertentu. Sebuah pola dapat dibuat dengan
menggunakan kombinasi karakter biasa dan karakter wildcard. Selama pencocokan
pola, karakter biasa harus sama persis seperti yang ditentukan dalam string karakter.
LIKE dan NOT LIKE (negasi) adalah operator yang digunakan untuk pencocokan
pola. Ingat bahwa pencocokan pola adalah kasus sensitif.
Fungsi Agregat
Fungsi agregat diterapkan pada set baris dan mengembalikan nilai tunggal.
Misalnya, kita dapat menggunakan fungsi agregat untuk menghitung harga satuan
rata-rata pesanan ditempatkan. Dan juga dapat menemukan order dengan harga
termurah atau paling mahal. Fungsi MIN, MAX, SUM, AVG, dan COUNT yang
sering digunakan dalam fungsi agregat.
III. Alat dan Bahan
1. SQL Server 2014
2. Northwind Sample Database
3. AdventureWorks Sample Database
4. Advanced Installer 11.4.1
IV. Langkah Kerja
A. Menjalankan Queri Sederhana
1. Buka SSME, gunakan database AdventureWorks.
2. Klik tombol New Query pada bagian kiri atas jendela SSME. Ketikkan
query berikut ini :
-
7/25/2019 Laporan Pemrogaman Chapter 4
5/18
Select * from Sales.SalesReason
Gambar 4-1.Menulis sebuah query
3.
Klik tombol Execute atau tekan F5 untuk mendapatkan hasil dari query yang
telah ditulis.
B. Membuat Sebuah CTE
1. Klik tombol New Query pada bagian kiri atas jendela SSME. Ketikkan
query berikut ini :
Gambar 4-2.Menggunakan Common Table Expression
2. Klik tombol Execute atau tekan F5 untuk mendapatkan hasil dari query yang
telah ditulis.
C. Menggunakan Perintah GROUP BY
1. Klik tombol New Query pada bagian kiri atas jendela SSME. Ketikkan
query berikut ini :
Gambar 4-3.Menggunakan perintah GROUP BY
2. Klik tombol Execute atau tekan F5 untuk mendapatkan hasil dari query yang
telah ditulis.
D. Menggunakan Operator PIVOT
1. Klik tombol New Query pada bagian kiri atas jendela SSME. Ketikkan
query berikut ini :
-
7/25/2019 Laporan Pemrogaman Chapter 4
6/18
Gambar 4-4.Menggunakan perintah PIVOT
2. Klik tombol Execute atau tekan F5 untuk mendapatkan hasil dari query yang
telah ditulis.
E. Menggunakan Fungsi ROW_NUMBER()
1. Klik tombol New Query pada bagian kiri atas jendela SSME. Ketikkan
query berikut ini :
Gambar 4-5.Menggunakan fungsi ROW_NUMBER()
2. Klik tombol Execute atau tekan F5 untuk mendapatkan hasil dari query yang
telah ditulis.
F. Menggunakan Perintah PARTITION BY
1.
Klik tombol New Query pada bagian kiri atas jendela SSME. Ketikkan
query berikut ini :
Gambar 4-6.Menggunakan fungsi PARTITION_BY
2. Klik tombol Execute atau tekan F5 untuk mendapatkan hasil dari query yang
telah ditulis.
G. Menggunakan Karakter %
1. Klik tombol New Query pada bagian kiri atas jendela SSME. Ketikkan
query berikut ini :
-
7/25/2019 Laporan Pemrogaman Chapter 4
7/18
Gambar 4-7.Menggunakan Karakter %
2. Klik tombol Execute atau tekan F5 untuk mendapatkan hasil dari query yang
telah ditulis.
H. Menggunakan Karakter _(Underscore)
1. Klik tombol New Query pada bagian kiri atas jendela SSME. Ketikkan
query berikut ini :
Gambar 4-8.Menggunakan Karakter Underscore
2.
Klik tombol Execute atau tekan F5 untuk mendapatkan hasil dari query yang
telah ditulis.
I. Menggunakan Karakter [ ] (Kurung Balok)
1.
Klik tombol New Query pada bagian kiri atas jendela SSME. Ketikkan
query berikut ini :
Gambar 4-9.Menggunakan Karakter Kurung Balok
2. Klik tombol Execute atau tekan F5 untuk mendapatkan hasil dari query yang
telah ditulis.
J. Menggunakan Karakter [^] (Square Bracket and caret)
1. Klik tombol New Query pada bagian kiri atas jendela SSME. Ketikkan
query berikut ini :
Gambar 4-10.Menggunakan Karakter Square Bracket and Caret
-
7/25/2019 Laporan Pemrogaman Chapter 4
8/18
2. Klik tombol Execute atau tekan F5 untuk mendapatkan hasil dari query yang
telah ditulis.
K. Menggunakan Fungsi MIN, MAX, SUM, dan AVG
1.
Klik tombol New Query pada bagian kiri atas jendela SSME. Ketikkan
query berikut ini :
Gambar 4-11.Menggunakan Fungsi MIN, MAX, SUM, dan AVG
2.
Klik tombol Execute atau tekan F5 untuk mendapatkan hasil dari query yang
telah ditulis.
L. Menggunakan Fungsi COUNT
1. Klik tombol New Query pada bagian kiri atas jendela SSME. Ketikkan
query berikut ini :
Gambar 4-12.Menggunakan Fungsi COUNT
2.
Klik tombol Execute atau tekan F5 untuk mendapatkan hasil dari query yang
telah ditulis.
M.Menggunakan Fungsi T-SQL Date and Time
1. Klik tombol New Query pada bagian kiri atas jendela SSME. Ketikkan
query berikut ini :
Gambar 4-13.Menggunakan Fungsi T-SQL Date and Time
2. Klik tombol Execute atau tekan F5 untuk mendapatkan hasil dari query yang
telah ditulis.
-
7/25/2019 Laporan Pemrogaman Chapter 4
9/18
N. Menulis sebuah Inner Join
1. Klik tombol New Query pada bagian kiri atas jendela SSME. Ketikkan
query berikut ini :
Gambar 4-14.Menggunakan Perintah Inner Join
2. Klik tombol Execute atau tekan F5 untuk mendapatkan hasil dari query yang
telah ditulis.
O. Menulis Sebuah Inner Join Menggunakan Nama Korelasi
1.
Klik tombol New Query pada bagian kiri atas jendela SSME. Ketikkan
query berikut ini :
Gambar 4-15.Menggunakan Perintah Inner Join dengan Nama Korelasi
2. Klik tombol Execute atau tekan F5 untuk mendapatkan hasil dari query yang
telah ditulis.
P. Menggunakna Inner Join pada Tiga Tabel
1. Klik tombol New Query pada bagian kiri atas jendela SSME. Ketikkan
query berikut ini :
-
7/25/2019 Laporan Pemrogaman Chapter 4
10/18
Gambar 4-16.Menggunakan Perintah Inner Join pada Tiga Tabel
2. Klik tombol Execute atau tekan F5 untuk mendapatkan hasil dari query yang
telah ditulis.
Q. Menambahkan Data Employee
1. Klik tombol New Query pada bagian kiri atas jendela SSME. Ketikkan
query berikut ini :
Gambar 4-17.Menambahkan Data Employee2.
Klik tombol Execute atau tekan F5 untuk mendapatkan hasil dari query yang
telah ditulis.
R. Menggunakan LEFT OUTER JOIN
1. Klik tombol New Query pada bagian kiri atas jendela SSME. Ketikkan
query berikut ini :
Gambar 4-18.Menambahkan Left Outer Join
2.
Klik tombol Execute atau tekan F5 untuk mendapatkan hasil dari query yang
telah ditulis.
-
7/25/2019 Laporan Pemrogaman Chapter 4
11/18
V. Lembar Kerja
Judul Hasil / Keterangan
Menjalankan Queri
Sederhana
penggunaan tanda bintang (*) dengan pernyataan SELECT
akan menampilkan semua kolom dari tabel yang ditetapkan.Membuat Sebuah
CTE
Dengan menjalankan CTE diatas, kita akan melihat
SalesPersonID, TerritoryID, dan NumberOfSales dibuat
dalam wilayah tertentu oleh penjual tertentu.
Menggunakan
Perintah GROUP
BY
COUNT digunakan untuk menghitung jumlah total data yang
terdapat pada suatu table terpilih. Klausa GROUP BY
memberlakukan bahwa hasil ditampilkan dalam bentuk
kelompok untuk ExpYear dan kolom CardType. ORDER BY
klausa memastikan bahwa hasil yang ditampilkan akan
-
7/25/2019 Laporan Pemrogaman Chapter 4
12/18
diselenggarakan secara berurutan berdasarkan CardType dan
ExpYear.
Menggunakan
Operator PIVOT
Alias digunakan untuk memberikan nama pada hasil output
query. Kemudian tentukan pernyataan SELECT untuk tabel
dengan nama kolom yang akan mengambil data, dan juga
menetapkan operator PIVOT dengan pernyataan SELECT.
Menggunakan
Fungsi
ROW_NUMBER()
Penggunaan ROW_NUMBER () pada kolom SalesPersonID
untuk menunjukkan jumlah nomor baris dalam kolom
bernama RowCount. Nama kolom RowCount muncul dalam
tanda kurung siku ([]) di sini karena RowCount adalah kata
kunci dalam SQL Server sehingga tidak dapat digunakan
secara langsung, jika mencoba untuk melakukannya, maka
akan mendapatkan error.
-
7/25/2019 Laporan Pemrogaman Chapter 4
13/18
Menggunakan
Perintah
PARTITION BY
The ROW_NUMBER () fungsi diimplementasikan dengan
OVER dan PARTITION BY membantu untuk membagi
hasil set ke partisi untuk wilayah masing-masing
sebagaimana ditentukan dalam klausa WHERE yang
ditampilkan di sini: WHERE TerritoryID di (1, 2)
Menggunakan
Karakter %
untuk menggabungkan tiga kolom Title, FirstName, dan
LastName menjadi satu kolom berjudul "Person Name"
menggunakan operator +. Menentukan klausa WHERE
dengan pola menggunakan operator LIKE untuk daftar
semua orang yang namanya pertama dimulai dengan huruf
-
7/25/2019 Laporan Pemrogaman Chapter 4
14/18
"A" dan terdiri dari sejumlah surat, juga menetapkan syarat
bahwa nilai null dari kolom Title tidak harus tercantum
Menggunakan
Karakter
_(Underscore)
Dalam menggabungkan tiga kolom Title, FirstName, dan
LastName menjadi satu kolom berjudul "Person Name"
menggunakan operator +. Menentukan klausa WHERE
dengan pola menggunakan operator LIKE untuk daftar
semua orang yang nama pertamanya terdiri dari total enam
karakter. Sesuai klausa WHERE, FirstName harus dimulai
dengan "B" dan diakhiri dengan "a" dan memiliki empat
huruf di antara, dan juga menentukan kondisi bahwa nilai
nilai null tidak harus tercantum dari kolom Judul
Menggunakan
Karakter [ ]
(Kurung Balok)
Menampilkan daftar nama , yang nama pertamanya terdiri
dari tiga karakter. First name huruf A dan I, dan tidak
menampilkan nilai null dalam output.
-
7/25/2019 Laporan Pemrogaman Chapter 4
15/18
Menggunakan
Karakter [^]
(Square Bracket
and caret)
Menampilkan daftar nama, di mana nama pertamanya terdiri
dari lima karakter. Nama pertama dimulai dengan dua huruf
selain huruf I.
Menggunakan
Fungsi MIN,
MAX, SUM, dan
AVG
fungsi MIN dan MAX untuk mencari nilai minimum dan
maksimum, fungsi SUM untuk menghitung total nilai, dan
fungsi AVG untuk menghitung nilai rata-rata.
Menggunakan
Fungsi COUNT
Fungsi COUNT memiliki cara yang berbeda tergantung pada
parameter dilewatkan ke funtion tersebut. Jika Anda
mencoba COUNT (*), query akan mengembalikan jumlah
-
7/25/2019 Laporan Pemrogaman Chapter 4
16/18
total record yang tersedia dalam tabel seperti yang
ditunjukkan dalam hasil paling atas: tabel Person.Contact
berisi total 19.972 record.
Menggunakan
Fungsi T-SQL
Date and Time
CURRENT_TIMESTAMP, dan GETDATE T-SQL
Keduanya menampilkan tanggal saat ini dan waktu dengan
lengkap. T-SQL DATEPART dan T-SQL YEAR, keduanya
mengambil argumen DateTime dan kembali ke tahun integer.
Argumen pertama fungsi DATEPART menentukan apa
bagian dari DATETIME untuk mengekstrak.
Menulis sebuah
Inner Join
Inner join akan menampilkan data dari dua kolom yang
mempunyai kecocokan.
Menulis Sebuah
Inner Join
Menggunakan
Nama Korelasi
Sama seperti inner join, hanya saja dalam query untuk
menunjukkan table digunakan nama korelasi dari table.
-
7/25/2019 Laporan Pemrogaman Chapter 4
17/18
Menggunakna
Inner Join pada
Tiga Tabel
Menampilkan data dari tiga table yang mempunyai
kecocokan
Menambahkan
Data Employee
Perintah insert digunakan untuk menambahkan data pada
suatu table.
Menggunakan
LEFT OUTER
JOIN
Outer Join menampilkan data dari table employees dan
membatasi data dari table orders.
-
7/25/2019 Laporan Pemrogaman Chapter 4
18/18
VI. Kesimpulan
Penulisan query digunakan untuk mengekstrak informasi dari database. CTE
dapat digambarkan sebagai hasil query sementara yang ada pada lingkup eksekusi
operasi SELECT, INSERT, UPDATE, DELETE, atau CREATE VIEW.Dalam memanipulasi database kita dapat menggunakan perintah atau fungsi
misalnya GROUP BY, PIVOT, ROW_NUMBER(), PARTITION BY, dan JOIN
Pattren Matching adalah teknik yang dipakai untuk mencocokkan karakter
dengan pola tertentu. Printah yang digunakan contohnya LIKE, karakter
%(percent), karakter [] (kurung balok), dll.