Download - MODUL-DatabaseAccess-Bab3
Modul 3 QUERY
Pendahuluan
Query merupakan tabel virtual yang berati bahwa data yang ada pada suatu query
bisa diperlakukan sebagaimana data yang ada pada sebuah tabel, namun secara fisik tidak
tersimpan dalam satu tabel tertentu. Query adalah sebuah salah satu object dalam Access
yang berfungsi untuk menampilkan data melalui proses pemilihan atau penyaringan data
sehingga hanya data yang memenuhi kriteria yang akan ditampilkan atau dicetak. Data
yang di query dapat di lakukan dari satu tabel atau menggabungkan beberapa tabel yang
memiliki relational.
Kegiatan Belajar 1
Membuat QUERY
Query adalah suatu permintaan terhadap record tertentu dalam sebuah tabel.
Jenis nya antara lain :1. Select Query
2. Parameter Quey
3. Crosstab Query
4. Actian Query
5. SQL Query
1.1 Select Query
Select query merupakan jenis query yang paling umum. Query ini mengambil record
dari satu tabel atau lebih dan menampilkan hasilnya dalam data sheet. Hasil Query dapat
digunakan untuk mengelompokan record, menghitung jumlah, rata-rata dan tipe total yang
lain.
Adapun cara pembuatan select query atau Query adalah sebagai berikut:
1. Pastikan tab Query pada jendela database terpilih
2. Pilih lah desain Query yang akan dibuat
Create query in Design view
Create query by using wizard
24
Gambar III.1
1.1.1 Membuat Query dengan design view
Proses pembuatan query dengan design view adalah :
1. Klik ganda pada Create query in Design view dari gambar III.1
ini berarti kita diminta untuk memilih tabel yang menjadi sumber pembuatan
query, seperti gambar III.2.
Gambar III.2
25
1
2
2
3
2. Klik tombol Add akan keluar tampilan
Gambar III.3
3. Klik tombol Close
4. Pada Field name masukan nama field dari tabel yang akan kita tampilkan,
misalnya NIP
5. Pada Tabel menunjukan sumber nya data
6. Sort menunjukan Sorting data Ascending ,Descending atau tidak di sorting
7. Show menunjukan data akan ditampilkan atau tidak
8. Criteria menunjukan kondisi yang akan di pakai.
Dibawah ini tampilan setelah kita mengisi dengan lengkap
Gambar III.4
26
4 5 6 7 8
9
9. Apabila sudah selesai di isi maka query dapat di eksekusi dengan mengklik
tombol View atau Run, sehingga diperoleh hasil seperti gambar III.5
Gambar III.5
Query Multi Tabel
Pada konsep database berelasi, terkadang informasi yang ada pada satu tabel akan
sulit dimengerti jika tidak dibuka bersama dengan tabel yang menjadi relasi tabel
tersebut.
Gambar III.6
Perhatikan bahwa garis relasi tabel pun terlihat pada jendela tersebut. Kemudian
susunlah sebuah query dengan urutan sebagai berikut :
Field Name Nip Nama Alamat Gol Gaji
Table CV CV CV Gaji Gaji
Sort
Show √ √ √ √ √
27
1.1.2 Membuat Query Menggunakan Wizard
Cara pembuatan query dengan wizard adalah sebagai berikut :
1. Klik ganda pada item Create query by using wizard
2. Pilih Tabel yang di pakai untuk query pilih Field yang akan ditampilkan dari
kolom Available Fields Klik tombol > atau apabila semua Field akan di
tampilkan Klik tombol >> Klik Tombol Next Beri nama Query Klik
Finish
Gambar III.7
28
Gambar III.8
1.2. Membuat Parameter Query
Parameter Query adalah menampilkan sebuah kotak dialog yang meminta anda untuk
mengisi nilai tertentu sebagai dasar kriteria pembuatan Query. Pada jendela Query Design,
tambahkanlah text yang akan dijadikan parameter pada baris criteria misal nya dari Query
Gaji yang sudah kita buat, tambahkan text pada kolom criteria [060002544] pada Field Nip,
Query akan menampilkan record-record yang cocok dengan kriteria yang kita masukan dan
apabila dijalankan akan muncul sebuah kotak dialog seperti gambar III.9 berikut :
Gambar III.9
29
Kegiatan Belajar 2
2.1. Membuat Crosstab Query
Crosstab Query adalah penyusunan query dalam bentuk yang mudah untuk dianalisa.
Adapun Pembuatan Crosstab Query adalah sebagai berikut :
1. Klik tombol New yang ada pada Jendela DataBase
2. Pilih Crosstab Query Wizard
Gambar III.10
Gambar III.11
30
1
1
2
3. Pilihlah Tabel atau Query lain yang akan dijadikan sumber data
Gambar III.12
Gambar III.13
31
Gambar III.14
Gambar III.15
32
2.2. Action query
Action Query merupakan query yang melakukan perubahan pada banyak record
hanya dengan satu operasi. Ada 4 (Empat) tipe dari Action Query :
1. Append Query, digunakan untuk menyisipkan recor-record tertentu.
2. Delete Query, digunakan untuk menghapus record-record tertentu.
3. Update Query, digunakan untuk memperbarui record-record tertentu.
4. Make-Tabel Query, digunakan untuk membuat tabel baru.
1. Append Query
Query dari sebuah tabel yang digunakan untuk menyisipkan record-
record baru kedalam tabel lain.
Untuk melakukan Append Query adalah sebagai berikut :
a. Pada jendela database masuklah kedalam Tables
b. Klik pada menu Edit kemudian klik Copy, atau
Klik kanan pada nama tabel kemudian klik copy
c. Kemudian Klik Menu Edit Paste atau Klik Kanan Paste,
maka akan keluar tampilan seperti berikut
Gambar III.16
d. Pada Table Name masukan Nama Tabel Baru, pada Paste
Options pilihlah sesuai keperluan yang kita ingin kan
Structure Only berarti kita hanya mengcopy strukture dari tabel
asal sedangkan datanya tidak
33
Structure and Data berati kita mengcopy structure dan Data
sekaligus dari tabel asal.
Append Data To Existing Table berati kita mengcopy hanya Data
untuk ditambahkan pada tabel yang sama
Untuk latihan kita Pilih Structure Only Sekarang kita sudah mempunyai
satu tabel yang struktur nya sama, kemudian pada Tombol Queries buat
sebuah query dari tabel Gaji. Buatlah Append Query dengan mengklik
Menu Query klik Append Query seperti gambar dibawah
Gambar III.17
maka akan keluar seperti gambar Gambar III.18
34
Gambar III.18
pada TabelName pilihlah nama tabel yang baru kita buat,klik Ok kemudian
jalankan query tersebut, maka data akan langsung di tambahkan ketabel yang
kita tuju setelah kita klik Yes dari gambar III.19
Gambar III.19
3. Delete Query
Untuk Delete Query caranya sama dengan Append Query hanya yang kita klik
adalah Query Delete maka data akan langsung di delete setelah ada konfirmasi
dari tabel
4. Update Query
Untuk Upate Query berbeda karena kita harus menentukan data yang mana
yang akan diupdate, kita harus menunjuk Field mana yang akan kita Update dan
menambahkan pada kolom criteria sebagai filter.
Gambar III.20
5. Make-Tabel Query
Caranya juga sama dengan diatas yang kita klik Make-Tabel Query kita
hanya perlu menentukan nama dari tabel baru, karena make tabel query pada
prinsipnya hampir sama dengan kita membuat Backup dari sebuah tabel.
35
Kegiatan Belajar 3
3.1 SQL (Struktured Query Language) Query
Dibuat dengan menyusun perintah –perintah SQL.
Perintah SELECT
Perintah SELECT digunakan untuk mengambil sebagian atau seluruh data
yang ada pada tabel. Sintak Umum dari perintah select adalah SELECT
[predicate] {* |table.]field1[AS alias1][…]]}
FROM tabelexpression[,...][IN externaldatabase]
[WHERE…]
[GROUP BY…]
[HAVING…]
[ORDER BY…]
[WITH OWNERACCESS OPTION]
Parameter Keterangan
Prdicate Predikat yang nilai nya dipilih dari salah satu nilai berikut:
ALL, DISTINCT, DISTINCTROW, atau TOP. Nilai
Default ALL
* Seleruh Field dari tabel yang dipilih
Table Nama dari tabel yang reord-recordnya akan diambil
Field1,… Nama-nama field berisi data yang akan dipanggil dan
diurutkan sesuai urutan penyebutan
Alias1,… Nama yang akan digunakan sebagai alias name
Tableexpression Nama dari satu tabel atau lebih yang datanya akan diambil
Externaldataase Nama dari database jika tabel bukan berasal dari database
aktif
Contoh penggunaannya adalah sebagai berikut
SELECT * From PEGAWAI
Artinya seluruh record yang ada pada tabel PEGAWAI akan di ambil
SELECT nama,alamat,gol FROM PEGAWAI where gaji> 500000 group by
gol Desc
36
Artinya hanya record nama, alamat dan gol PEGAWAI yang memiliki gaji
lebih besar 500000 yang akan diambil dan dikelompokan berdasarkan Gol
secara Descending
Perintah SELECT INTO
Digunakan untuk membuat make-table Query, sintaks nya adalah sebagai
berikut:
SELECT field1[,field2[,…]] INTO newtable
[Inexternaldatabase]
FROM source
Contoh penggunaannya
SELECT nama,alamat INTO kargoNew FROM PEGAWAI where
PEGAWAI.Gol =”IVA”
Artinya mengambil record nama dan alamat PEGAWAI yang mempunyai
golongan IVA dimasukan ke tabel baru bernama KargoNew
Perintah INSERT INTO
Perintah INSERT INTO digunakan untuk membuat Append Query.
INSERT INTO target[(field1[,field2[,…]])]
VALUES (value1[,valu2[,…])
Contoh Penggunaannya adalah sebagai berikut ;
Insert INTO Pegawai (nama,alamat)
Value (“bambang”,”kenari jaya”)
Artinya field nama,alamat pada tabel Pegawai akan diisi dengan nilai
Bambang, kenari jaya.
Perintah DELETE
Perintah DELETE digunakan untuk menghapus satu atau beberapa record dari
sebuah tabel.
DELETE [table.*]
FROM table
Where criteria
Contoh penggunaannya
DELETE FROM PEGAWAI Where Nama =’Bambang”
37
Artinya record pada field Nama dari tabel Pegawai yang bernilai Bambang
akan di hapus.
Perintah UPDATE
Perintah UPDATE digunakan untuk memperbarui data,
UPDATE table
Set newvalue
WHERE criteria
Contoh penggunaannya adalah sebagai berikut :
UPDATE Gaji
Set Tunjangan = Tunjangan * 1.5
Where gol=”IVA”
Artinya record-record field Tunjangan pada tabel Gaji akan diupdate dengan
nilai baru yaitu dikali 1.5 untuk yang mememiliki Gol = “IVA”
Group By dan Aggregate Function
Group By dipergunakan untuk mengelompokan data berdasarkan kriteria
tertentu
Aggregate Function yang dimaksud adalah Fungsi matematik seperti min(),
max(), avg(), sum(), count()
Min() Digunakan untuk mencari harga minimum dari sekumpulan data yang
ada
Select namafield-1,…namaField-n, min(namafield)
From namatabel
Group by namafield
Contoh Select kd_jabatan,min(gajipokok) as NilaiMin From gaji
Group by kd_jabatan
Max() Digunakan untuk mencari harga maximim dari sekumpulan data yang
ada
Select namafield-1,…namaField-n, max(namafield)
From namatabel
Group by namafield
Contoh Select kd_jabatan,max(gajipokok) as NilaiMax From gaji
38
Group by kd_jabatan
avg() Digunakan untuk mencari harga rata-rata dari sekumpulan data yang
ada
Select namafield-1,…namaField-n, avg(namafield)
From namatabel
Group by namafield
Contoh Select kd_jabatan,avg(gajipokok) as Nilairata-rata From gaji
Group by kd_jabatan
Sum() Digunakan untuk mencari jumlah data
Select namafield-1,…namaField-n, sum(namafield)
From namatabel
Group by namafield
Contoh Select kd_jabatan,sum(gajipokok) as NilaiSum From gaji
Group by kd_jabatan
Count() Digunakan untuk mencari banyaknya jumlah data
Select namafield-1,…namaField-n, sum(namafield)
From namatabel
Group by namafield
Contoh Select kd_jabatan,count(gajipokok) as NilaiCount From gaji
Group by kd_jabatan
Menggunakan kriteria data
Menggunakan Having dan Where
Having biasa diikuti oleh fungsi aggregate seperti Having
Count(nama_field), Having Sum(nama_field), dll.Formula :
Select nama_field1,…,nama_field-n, agregate_function
From nama_tabel
Group By nama_field1,…,nama_field-n
Having Kriteria_agregate_function
Contoh Select gol as golongan, max(gajipokok) as max_gapok
From gaji Group by gol
having max(gapok)>500000
39
Where biasanya diikuti oleh comparison (=, <>, <, >, >= atau
<=, between, like /not like is null / is not null Formula :
Select nama_field1,…,nama_field-n
From nama_tabel
Where kondinya
Contoh Select kd_jabatan,nama_jabatan,tj_jabatan
From jabatan
Where kd_jabatan = adm
Between digunakan untuk membandingkan apakah suatu nilai berada dalam
range tertentu.Formula :
Select nama_field1,…,nama_field-n
From nama_tabel
Where nama_field BETWEEN ….. AND ….
Contoh Select kd_jabatan,nama_jabatan,tj_jabatan From jabatan
Where tj_jabatan Between 400000 and 1000000
In digunakan untuk melakukan pengecekan apakah nilai terdapat pada suatu
himpunan tertentu. Formula :
Select nama_field1,…,nama_field-n
From nama_tabel
Where nama_field In (…..,….., ….)
Contoh Select kd_jabatan,nama_jabatan,tj_jabatan From jabatan
Where tj_jabatan In (400000,600000)
Like / Not Like digunakan untuk membandingkan data dengan pola tertentu.
Formula :
Select nama_field1,…,nama_field-n
From nama_tabel
Where nama_field LIKE | Not LIKE
Contoh Select kd_jabatan,nama_jabatan,tj_jabatan From jabatan
Where nama_jabatan Like (‘*I’)
40
Sub Query Query didalam Query.
Formula : Select nama_field1,…,nama_field-n
From nama_tabel
Where kriteria (Select nama_field1,…,nama_field-n
From nama_tabel
Where kriteria )
Contoh Select P.Nip,P.Namalengkap,G.gajipokok From pegawai AS
P, gaji AS G
Where P.kd_jabatan = G. AND gajipokok In
( Select gajipokok from gaji where gajipokok>=700000)
Fungsi Left, Mid, Right
Left = Mengambil digit dari sebelah kiri sebanyak n digit
Formula : Left(string,n)
Contoh Select left (namalengkap,4) from pegawai
Mid = Mengambil digit dari suatu string mulai dari n digit sebanyak m digit.
Formula :
Mid(string,n,m)
Contoh Select Mid (namalengkap,2,2) from pegawai
Right = Mengambil digit dari sebelah kanan sebanyak n digit
Formula : Right(string,n)
Contoh Select Right (namalengkap,4) from pegawai
LTrim = LTrim(String) digunakan untuk menghapus digit kosong sebelah
kiri
RTrim = LTrim(String) digunakan untuk menghapus digit kosong sebelah
kanan
Trim = Trim(String) digunakan untuk menghapus digit kosong sebelah kiri
dan kanan
41
3.2 Latihan
1. Buatlah Query dari tabel Pegawai untuk menampilkan Pegawai yang pendidikan
terakhir SMA. Dengan Field yang di tampilkan Nama Lengkap Pegawai, Jenis
Kelamin Pegawai, dan Pendidikan Terakhir Pegawai (SMA)
2. Buatlah Query dari tabel Pegawai yang memiliki nama dengan suku kata ‘ar’
ditengah, dengan Field yang di tampilkan nama,alamat dan kota
3. Buatlah sebuah query dengan mempergunakan parameter query yang gajinya
lebih besar dari 500.000.
4. Buatlah sebuah Query untuk menampilkan data pegawai yaitu
nama,status,tunjangan istri/suami, tunj anak dan jumlah tunj anak
5. Buatlah sebuah Crosstab query untuk menampilkan sata per status pendidikan.
3.3 Rangkuman
Query digunakan untuk memilih atau menyeleksi data dari semua data yang ada pada
sebuah tabel dari suatu database, penyeleksian ini ditentukan berdasarkan kriteria
tertentu, seperti berdasarkan golongan,jabatan, nip dll.
Query merupakan tabel virtual yang berati bahwa data yang ada pada suatu query bisa
diperlakukan sebagaimana data yang ada pada sebuah tabel, namun secara fisik tidak
tersimpan dalam satu tabel tertentu. Query bisa berasal dari satu tabel atau lebih
42