MODUL-DatabaseAccess-Bab3

25
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 24

Transcript of MODUL-DatabaseAccess-Bab3

Page 1: 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

Page 2: MODUL-DatabaseAccess-Bab3

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

Page 3: MODUL-DatabaseAccess-Bab3

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

Page 4: MODUL-DatabaseAccess-Bab3

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

Page 5: MODUL-DatabaseAccess-Bab3

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

Page 6: MODUL-DatabaseAccess-Bab3

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

Page 7: MODUL-DatabaseAccess-Bab3

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

Page 8: MODUL-DatabaseAccess-Bab3

3. Pilihlah Tabel atau Query lain yang akan dijadikan sumber data

Gambar III.12

Gambar III.13

31

Page 9: MODUL-DatabaseAccess-Bab3

Gambar III.14

Gambar III.15

32

Page 10: MODUL-DatabaseAccess-Bab3

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

Page 11: MODUL-DatabaseAccess-Bab3

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

Page 12: MODUL-DatabaseAccess-Bab3

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

Page 13: MODUL-DatabaseAccess-Bab3

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

Page 14: MODUL-DatabaseAccess-Bab3

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

Page 15: MODUL-DatabaseAccess-Bab3

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

Page 16: MODUL-DatabaseAccess-Bab3

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

Page 17: MODUL-DatabaseAccess-Bab3

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

Page 18: MODUL-DatabaseAccess-Bab3

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

Page 19: MODUL-DatabaseAccess-Bab3

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