BAB
6
6.1
Excel dan Microsoft Query
Microsoft Query
Microsoft query merupakan program yang dipakai untuk mengambil data external ke dalam aplikasi Office, khususnya Excel. Dengan demikian, jika ada suatu data external yang akan dianalisis atau diolah dengan Excel, Anda tidak perlu mengetikkan ulang data tersebut di dalam Excel, tetapi cukup memberikan perintah query untuk mengimpor data external ke dalam lembar kerja Excel. Biasanya kalau Anda menginstal Microsoft Office 2007 (termasuk Excel), maka Microsoft Query otomatis terinstal dan bersifat Addin, sehingga saat Anda ingin menggunakannya, maka Office (Excel) akan memanggilkan untuk Anda. Pada bab-bab sebelumnya, kita sudah mempelajari query dan SQL yang diterapkan saat kita mengimpor data external. Pada bagian ini, kita akan mempelajari penggunaan Microsoft Query untuk melakukan query terhadap data external, dengan pilihan dan fasilitas yang cukup lengkap dan variatif. Perlu diketahui bahwa sebetulnya perintah-perintah SQL dalam Microsoft Query sama saja dengan SQL yang sudah kita pelajari. Ada beberapa tip dan trik serta teknik tertentu yang membuat Microsoft Query bisa dipakai dengan berbagai macam teknik yang canggih. Perlu diketahui juga bahwa Microsoft Query bisa dipakai untuk melakukan query pada hampir semua format database, baik database lokal maupun database server. Pada buku ini hanya akan dibahas penggunaan Microsoft Query untuk melakukan query pada database dalam format Access.
97
6.2
Menggunakan Microsoft Query
Sebelum kita mulai bekerja dengan Microsoft Query, ada baiknya Anda memahami posisi Microsoft Query dalam Excel. Microsoft Query berfungsi sebagai agen, yang dapat memberikan perintahperintah query melalui data source, untuk mengambil data dari data external dan hasilnya akan ditempatkan dalam lembar kerja Excel.
Gambar 6.1 Microsoft Query dan Excel
6.2.1 Membuat Data Source Data Source adalah suatu file yang menampung setting informasi untuk melakukan koneksi pada suatu database. Dalam data source didefinisikan file sumber data, driver, dan setting lain yang diperlukan untuk melakukan suatu koneksi dengan sumber data. Anda dapat membuat file Data Source (disebut juga file DSN) menggunakan ODBC Data Source Administrator dalam sistem operasi Windows, atau bisa juga dibuat dari Excel. Setelah Data Source dibuat, maka dapat dipakai berkali-kali pada buku kerja Excel yang berbeda, atau bahkan pada aplikasi lain di luar Excel.
98
Sekarang kita akan belajar cara membuat Data Source langsung dari program Excel. Kita akan membuat data source yang nanti akan dipakai untuk melakukan koneksi dengan database Penjualan. Untuk itu lakukanlah langkah-langkah berikut ini. 1. Bukalah buku kerja baru. 2. Pilih menu Data > From Other Source > From Microsoft Query sehingga muncul kotak dialog Choose Data Source seperti Gambar 6.2.
Gambar 6.2 Membuat Data Source baru
3. Pada tab Databases akan diperlihatkan Data Source yang sudah ada dan siap dipakai. Oleh karena kita sekarang akan membuat yang baru, klik saja
lalu klik OK sehingga muncul kotak dialog Create New Data Source seperti Gambar 6.3.
Gambar 6.3 Membuat Data Source baru
99
4. Pada isian pertama, ketikkan nama Data Source yang baru. Nama ini tidak harus sama dengan nama databasenya. Untuk contoh sekarang ketikkan Penjualan. Pada isian atau pilihan kedua, pilihlah driver yang sesuai. Pada contoh sekarang kita akan mengimpor database Access, jadi pilihlah Microsoft Access Driver (*.mdb, *.mccdb). 5. Klik Connect sehingga muncul kotak dialog Select Database seperti Gambar 6.4.
Gambar 6.4 Memilih database yang dikaitkan ke Data Source
6. Pilihlah file database yang akan dikaitkan dengan Data Source Penjualan yang kita buat. Setelah itu klik OK beberapa kali sampai muncul kembali tampilan seperti Gambar 6.2 (kotak dialog Choose Data Source) tetapi dengan tambahan Data Source baru, yaitu Penjualan. 7. Klik dulu Cancel untuk menutup pemilihan Data Source.
6.2.2 Memanggil Microsoft Query Sekarang kita akan langsung mencoba mengimpor data dengan Microsoft Query menggunakan data source Penjualan. Untuk itu lakukanlah langkah-langkah berikut ini. 1. Pada lembar kerja yang masih kosong tempatkan penunjuk sel pada posisi awal data akan ditempatkan (misal selA1). Setelah 100
itu pilihlah menu Data > From Other Source > From Microsoft Query. 2. Klik pada Data Sotce Penjualan lalu klik OK sehingga muncul tampilan seperti Gambar 6.5.
Gambar 6.5 Menambahkan tabel ke dalam Microsoft Query
3. Klik pada tabel yang diinginkan (misalnya Jual) lalu klik Add sehingga tabel yang dipilih ditambahkan ke dalam Microsoft Query. Selanjutnya Anda bisa saja memilih tabel yang lain lalu mengklik Add lagi. Pada contoh sekarang klik saja Close sehingga kotak dialog Add Tables ditutup dan tampilan tinggal jendela Microsoft Query seperti pada Gambar 6.6.
Gambar 6.6 Microsoft Query dengan satu tabel
101
Sampai di sini berarti kita sudah memanggil Microsoft Query dan siap menentukan query yang akan dibuat.
6.2.3 Membuat Query dalam Microsoft Query Setelah tabel ditambahkan, Anda dapat membuat query dengan cara mengetik query atau dengan cara memilih dengan ikon dan menu. Sekarang kita akan mencoba membuat query dengan cara memilih ikon dan menu. Untuk itu lakukanlah langkah-langkah berikut ini. 1. Pada posisi seperti Gambar 6.7 klik kolom (field) ke tabel di bawahnya. Cara lain cukup klik ganda pada kolom yang akan ditambahkan dalami hasil query.
Gambar 6.7 Menambahkan kolom sebagai hasil query
2. Pilih menu File > Return Data to Microsoft Office Excel lalu klik OK sehingga hasil query akan ditambahkan ke dalam Excel seperti Gambar 6.8.
102
Gambar 6.8 Hasil query Microsoft Query dalam Excel
Perhatikan bahwa hasil query tampak sama dengan query yang dibuat dengan akses langsung, tetapi jika Anda klik kanan lalu pilih Table > Edit Query maka Anda akan dibawa kembali ke Microsoft Query. Nah, perbedaannya memang hanya pembuat query-nya, dan nantinya jika menggunakan Microsoft Query Anda akan lebih mudah membuat query yang kompleks dan interaktif. Simpanlah buku kerja di atas dengan nama MSQuery-01.
6.3
Mengedit Query dalam Microsoft Query
Mengedit query dalam Microsoft Query bisa dilakukan dengan beberapa cara. Sekarang kita akan mencoba mengedit query secara langsung lewat editor SQL. Untuk itu lakukanlah langkahlangkah berikut ini. 1. Bukalah kembali buku kerja MSQuery-01 lalu simpan dengan nama baru, yaitu MSQuery-02 (gunakan Office Button > Save As). 2. Klik kanan pada tabel lalu pilih Table > Edit Query sehingga muncul kembali jendela Microsoft Query. 3. Pilih menu View > SQL atau klik ikon View SQL muncul kotak dialog SQL seperti Gambar 6.9.
sehingga
103
Gambar 6.9 Mengedit query dengan editor SQL
4. Editlah SQL sesuai keinginan, misalnya menjadi seperti Gambar 6.10.
Gambar 6.10 Isi query baru
5. Klik OK untuk melaksanakan query atau klik Cancel untuk membatalkan editing SQL. Jika Anda klik OK, maka mungkin akan muncul tampilan seperti Gambar 6.11. Jika demikian, klik saja OK. 6. Pilih menu File > Return Data to Microsoft Office Excel lalu OK. Simpanlah buku kerja Excel dengan nama baru, yaitu MSQuery-02.
Gambar 6.11 Peringatan bahwa query tidak bisa digambarkan
Perhatikan bahwa meskipun query tidak bisa digambarkan secara visual, tetapi hasilnya bisa jadi benar. Oleh karena itu, yang terpenting adalah tampilan tabelnya. Tampilan tabel pun mungkin tidak terformat secara rapi, tetapi yang terpenting adalah nilai datanya karena soal tampilan bisa diatur pada lembar kerja Excel.
104
Catatan
6.4
Jika Anda mengedit langsung dengan editor SQL dan hasilnya tidak bisa ditampilkan secara visual, selanjutnya Anda hanya bisa mengedit lagi query tersebut lewat editor SQL, tidak bisa menggunakan menu atau toolbar. Jika setelah diedit hasilnya bisa ditampilkan secara visual (misalnya isi SQL diganti menjadi select * from Jual), maka query akan menjadi normal lagi.
Tabel Majemuk
Dengan Microsoft Query, Anda dengan cepat dan mudah dapat mendapatkan suatu tabel hasil impor dari beberapa tabel yang digabungkan atau direlasikan.
6.4.1 Menambah Tabel Untuk menambah tabel lakukanlah langkah-langkah berikut ini. 1. Bukalah kembali buku kerja MSQuery-01 lalu simpan dengan nama baru, yaitu MSQuery-03 (gunakan Office Button > Save As). 2. Klik kanan pada tabel lalu pilih Table > Edit Query sehingga muncul kembali jendela Microsoft Query. 3. Pilih menu Table > Add Tables atau klik saja ikon Add Table(s) sehingga muncul kotak dialog Add Tables.
Gambar 6.12 Menambahkan beberapa tabel
105
4. Klik pada nama tabel yang ditambahkan lalu klik Add. Sebagai contoh, tambahkanlah tabel Barang dan Sales. 5. Klik Close untuk menutup kotak dialog Add Tables. Selanjutnya aturlah tata-letaknya seperti pada Gambar 6.12 dengan cara klik dan seret. 6. Pilih menu File > Return Data to Microsoft Office Excel lalu OK. Simpanlah buku kerja Excel dengan nama yang sama.
6.4.2 Merelasikan Tabel Pada database relasi, hubungan satu tabel dengan tabel lainnya bisa dilakukan menggunakan suatu kolom yang mempunyai ciri yang sama pada tiap tabel yang akan direlasikan. Pada contoh data Penjualan di atas, kolom sebagai kunci pengait tabel Jual dan tabel Barang adalah kolom KodeBrg dan pengait tabel Jual dengan tabel Sales adalah kolom KodeSales. Aslinya Excel akan otomatis menambahkan relasi yang sesuai, tetapi Anda bisa mengubah, menambah atau menghapus relasi jika memang diperlukan. Untuk menambahkan relasi antartabel, cukup Anda klik dan seret nama kolom dari satu tabel ke tabel yang direlasikan, sedangkan untuk menghapus Anda dapat mengklik pada gambar garis relasi, kemudian pilih menu Edit > Delete atau cukup tekan tombol Delete.
Gambar 6.13 Merelasikan beberapa tabel
6.4.3 Menambahkan Kolom pada Query Cara menambahkan kolom ke dalam preview tabel sama saja dengan cara pada tabel tunggal, yaitu langsung saja menyeret dari kotak nama-nama kolom ke dalam preview tabel. 106
Khusus untuk kolom ekspresi, Anda harus menyebut nama tabel diikuti titik di depan tiap nama kolom dalam ekspresi, misalnya ekspresi Jual.Banyak*Barang.Harga yang menyatakan kolom jumlah penjualan.
Gambar 6.14 Kolom ekspresi
6.4.4 Mengurutkan Kolom Hasil Query Sampai Microsoft Query versi terakhir dalam Office 2007, masih terdapat masalah dalam penampilan urutan kolom hasil, yaitu jika Anda sudah mempunyai query yang lama misalnya dengan urutan kolom A, B, dan C, kemudian Anda mengedit query dengan urutan C, A, dan B, maka hasilnya dalam Microsoft Query sudah benar, tetapi saat kembali ke hasil query dalam Excel, akan tampak urutannya tetap A, B, dan C. Untuk mengatasi masalah di atas, Anda bisa mencoba langkahlangkah berikut ini. 1. Pada hasil query dalam Excel, kliklah (pilih) kolom yang akan dipindah (pada kasus di atas berarti kolom C). Setelah itu klik kanan lalu pilih Cut. Perhatikan bahwa kolom yang di-cut ini akan dipindahkan ke posisi baru (yang seharusnya). 2. Pilih (klik) kolom tempat hasil pindahan kolom yang di-cut akan diletakkan. Pada contoh di atas berarti kolom A. Setelah itu klik kanan lalu pilih Insert Cut Cells.
6.4.5 Menggunakan Join Di bagian sebelumnya kita sudah belajar membuat query dengan beberapa tabel. Sekarang kita akan kembali membuat tabel ma-
107
jemuk dengan cara lain, yaitu menggunakan fasilitas Join. Sebagai contoh, lakukanlah langkah-langkah berikut ini. 1. Bukalah kembali buku kerja MSQuery-03 dan simpan dengan nama baru MSQuery-04. Setelah itu editlah query-nya sampai muncul jendela Microsoft Query. Selanjutnya pilih menu Table > Joins sehingga muncul kotak dialog Joins.
Gambar 6.15 Menambahkan Join
2. Pada kotak pilihan Left Anda dapat memilih field (kolom) dari tabel yang akan ditampilkan. Kolom yang dipilih ini akan dipakai sebagai kunci join (hubungan) dengan tabel lainnya. Pada contoh sekarang, pilihlah kolom KodeBrg dari tabel Jual (Jual.KdBr). Pada kotak pilihan Right pilihlah kolom dari tabel kedua yang akan dijoinkan dengan tabel pertama. Pada contoh sekarang pilihlah kolom KodeBrg dari tabel Barang (Barang.KodeBrg). Perhatikan bahwa Anda dapat saja membuat join yang melibatkan lebih dari dua tabel (dengan mengklik Add), tetapi dasarnya tetap hubungan antara dua tabel. Misalnya tabel A dengan tabel B dan tabel A dengan tabel C. Pada kotak Operator Anda dapat memilih operator relasi untuk menentukan bagaimana kedua tabel tersebut harus berjoin. Pada contoh sekarang pilihlah operator = (sama dengan). 108
3. Pada kelompok Join Includes Anda dapat memilih salah satu dari pilihan yang ada. Pilihan ini akan menentukan baris (record) hasil join. Pilihan pertama akan menyebabkan data yang ditampilkan hanya record dari tabel kiri yang mempunyai pasangan di tabel kanan. Pilihan kedua menyebabkan data yang ditampilkan adalah seluruh data di tabel kiri (Jual) walaupun tidak mempunyai pasangan di tabel kanan (Barang) dan tabel kanan hanya ditampilkan yang mempunyai pasangan di tabel kiri (melengkapi kolomnya saja). Pilihan ketiga menyebabkan data yang ditampilkan adalah seluruh data di tabel kanan (Barang) walaupun tidak mempunyai pasangan di tabel kiri (Jual), dan tabel kiri hanya ditampilkan yang mempunyai pasangan di tabel kanan (melengkapi kolomnya saja). 4. Jika dalam Joins in Query belum tertulis join yang baru Anda tentukan, klik saja Add. Anda dapat menghapus join yang tidak diperlukan dengan mengkliknya pada Joins in Query lalu klik Remove. 5. Klik Close untuk menyimpan dan melaksanakan Join. Jika Anda buat seperti pada Gambar 6.15, kemudian Anda lihat lagi perintah SQL-nya, maka contoh hasil dari langkah di atas akan seperti berikut ini. SELECT Jual.NoFak, Jual.TgFak, Jual.KodeSales, Jual.KodeBrg, Jual.Banyak, Jual.Banyak*Barang.Harga FROM `C:\Kolaborasi\Penjualan.accdb`.Barang Barang, `C:\Kolaborasi\Penjualan.accdb`.Jual Jual, `C:\Kolaborasi\Penjualan.accdb`.Sales Sales WHERE Jual.KodeBrg = Barang.KodeBrg AND Jual.KodeSales = Sales.KodeSales
Perhatikan bahwa penulisan SQL hasilnya mungkin tidak menggunakan syntax Inner join, tetapi hasilnya sebetulnya sama.
109
6.4.6 Menyimpan dan Memanggil Lagi Query Query yang sudah dibuat dapat disimpan dalam Microsoft Query, yang untuk selanjutnya dapat dimuat kembali. Kegunaannya antara lain Anda dapat membuat beberapa variasi query dalam satu (atau lebih) tabel sehingga dapat menganalisis data dengan berbagai sudut pandang. Untuk menyimpan query Anda dapat menggunakan menu File > Save atau menggunakan File > Save As jika ingin menyimpan dengan nama baru (nama lain). Untuk membuka lagi query yang pernah disimpan, Anda dapat menggunakan perintah File > Open.
6.4.7 Mengurutkan Data Dalam query pada Microsoft Query dapat ditambahkan perintah untuk mengurutkan hasil query. Sebagai contoh, lakukanlah langkah-langkah berikut ini. 1. Bukalah kembali buku kerja MSQuery-04 dan simpan dengan nama baru MSQuery-05. Setelah itu editlah query-nya sampai muncul jendela Microsoft Query. Selanjutnya pilih menu Records > Sort sehingga muncul kotak dialog Sort.
Gambar 6.16 Mengurut Data
2. Pada kotak pilihan Column Anda dapat memilih field (kolom) yang akan dipakai sebagai kunci pengurutan. Pilihan Ascending untuk mengurutkan dengan arah menaik dan pilihan Descending untuk urutan menurun. 110
Kotak Sort in Query menunjukkan perintah pengurutan yang akan diterapkan. Pilihan yang ada bisa dihapus dengan mengkliknya lalu mengklik tombol Remove. Tombol Add untuk menambahkan perintah pengurutan dan tombol Close untuk menyimpan dan melaksanakan perintah pengurutan.
6.4.8 Mengelompokkan Data Anda dapat juga menambahkan perintah pengelompokan dalam Microsoft Query, sehingga hasil query berupa rangkuman data berdasar kelompok tertentu. Sebagai contoh, jika kita ingin mengetahui “penjualan per barang per tanggal” dengan mengabaikan asal fakturnya dan salesnya, maka Anda bisa melakukan langkah-langkah berikut ini. 1. Bukalah kembali buku kerja MSQuery-05 dan simpan dengan nama baru MSQuery-06. Setelah itu editlah query-nya sampai muncul jendela Microsoft Query. 2. Hapuslah seluruh kolom dari preview tabel, kemudian tambahkanlah (untuk ditampilkan) kolom Jual.TgFak, Jual.KodeBrg, Barang.Nama, dan Jual.Banyak. Selanjutnya bloklah (klik) kolom Banyak dan pilihlah menu Records > Edit Column sehingga muncul kotak dialog Edit Column seperti gambar berikut ini.
Gambar 6.17 Menentukan kolom yang dijumlah
3. Pada kotak pilih Field tentukan nama field yang akan dijumlahkan. Pada contoh sekarang kita ingin mengetahui jumlah banyak pembelian per barang per tanggal (bisa dari beberapa faktur), sehingga Anda tinggal memilih kolom Jual.Banyak. 111
Pada isian Column heading Anda dapat mengetikkan judul kolom (tidak harus sama dengan contoh). Pada kotak pilihan Total Anda dapat memilih cara penggabungan nilai data, misalnya Sum untuk jumlah dan Avg untuk rata-rata. Pada contoh sekarang pilihlah Sum. 4. Klik OK untuk menyimpan dan melaksanakan query. Kalau Anda lihat penulisan SQL-nya, akan terlihat seperti berikut ini. SELECT Jual.TgFak, Jual.KodeBrg, Barang.Nama, Sum(Jual.Banyak) AS 'Sum of Banyak' FROM `C:\Kolaborasi\Penjualan.accdb`.Barang Barang, `C:\Kolaborasi\Penjualan.accdb`.Jual Jual, `C:\Kolaborasi\Penjualan.accdb`.Sales Sales WHERE Barang.KodeBrg = Jual.KodeBrg AND Jual.KodeSales = Sales.KodeSales GROUP BY Jual.TgFak, Jual.KodeBrg, Barang.Nama ORDER BY Jual.TgFak
Contoh hasil query adalah seperti berikut ini. Perhatikan bahwa data pada tanggal yang sama dengan kode barang yang sama akan dijadikan satu record saja.
Gambar 6.18 Mengelompokkan data
112