• Tidak ada hasil yang ditemukan

PENGARUH JOIN ORDERING TERHADAP WAKTU RESPON QUERY

N/A
N/A
Protected

Academic year: 2021

Membagikan "PENGARUH JOIN ORDERING TERHADAP WAKTU RESPON QUERY"

Copied!
5
0
0

Teks penuh

(1)

PENGARUH JOIN ORDERING TERHADAP WAKTU RESPON

QUERY

Meyliani Tanjung

1)

Wasino

2)

Tony

3) 1) 2) 3) Sistem Informasi Universitas Tarumanagara Jalan Letjen S. Parman No. 1, Jakarta 11440 Indonesia

email : 1) meylianitanjung@gmail.com, 2) wwasino@yahoo.com , 3)tony.b@fti.untar.ac.id

ABSTRACT

The process of retrieving data in a database is often done in an organization. In the process, sometimes we need a join query between one relation to another relation. The process of setting up of a join query is very difficult and confusing therefore, this study will present the effect of join ordering and the most optimal way to do join ordering.

The study was conducted on AdventureWorksLT Database (v2008) Samples RTM (x86) that has been given additional data using RedGate software. Comparison of the response time is measured through a join query. The results show that the best way to perform a join order is, by joining the large data with the small data first.

Key words

database, join,join ordering, response time

1. Pendahuluan

Perkembangan teknologi yang sangat cepat, menyebabkan proses adaptasi manusia terhadap perkembangan teknologi. Penggunaan basis data sebagai media penyimpanan untuk menggantikan media penyimpanan manual, semakin memudahkan manusia dalam proses pengambilan data. Dalam mengelola sebuah basis data, diperlukan sebuah Database

Management System (DBMS) seperti Microsoft Access,

Oracle, SQL Server, dan MySQL. Di dalam DBMS terdapat berbagai fungsi seperti memasukkan, mengubah, menghapus, dan memperoleh data dengan menggunakan sebuah Query Language.

Untuk memperoleh data yang diperlukan, digunakan sebuah query language yang merupakan bahasa yang digunakan dalam DBMS. Dalam proses pengambilan data, terkadang diperlukan penggabungan antara satu atau lebih tabel. Penggunaan klausa join dalam sebuah

query language, memungkinkan pengguna untuk

memperoleh data dari dua atau lebih tabel. Penggunaan klausa join sudah umum digunakan, tetapi dalam implementasinya klausa ini sulit untuk dilakukan karena rumit dan harus memperhatikan berbagai factor seperti proses join ordering, oleh karena itu pada penelitian ini

akan dibahas mengenai proses join ordering dan pengaruhnya terhadap waktu respon suatu query.

2. Dasar Teoritis

2.1 Operasi Join

Operasi join adalah sebuah operasi yang mendasar dalam aljabar relasional yang menggabungkan 2 buah relasi untuk membentuk sebuah relasi baru [1]. Menurut Harrington [3], bentuk-bentuk dari operasi join adalah: 1. Equi-join

Bentuk join ini mencari baris dengan nilai yang sama sehingga disebut sebagai equi-join (atau disebut juga

natural equi-join). Atau terkadang disebut juga

sebagai inner join. 2. Θ–Join (Theta–Join)

Sebuah theta join menggabungkan dua buah tabel pada kondisi yang sama, dimana dapat sama atau berbeda.

3. Outer Join

Outer join merupakan sebuah join yang meliputi baris

dalam tabel hasil meskipun mungkin saja tidak terdapat kesamaan antara baris dalam dua buah tabel yang sedang digabung. Ada 3 macam model outer

join, yaitu:

a. Left Outer Join

Left outer join meliputi setiap baris yang terdapat

pada tabel pertama pada operasi join. b. Right Outer Join

Right outer join merupakan kebalikan dari left outer join. Join ini meliputi semua baris pada

tabel yang berada di sebelah kanan dari operator

outer join.

c. Full Outer Join

Sebuah full outer join mencakup setiap baris pada kedua buah tabel apabila dibutuhkan. Apabila kedua tabel memiliki hubungan primary dan

foreign key maka hasilnya akan sama dengan left outer join saat primary key tabel terdapat pada

sebelah kiri operator atau right outer join dimana

primary key tabel berada pada sisi sebelah kanan

(2)

2.2 Structured Query Language (SQL)

Structured Query Language (SQL) adalah sebuah database manipulation language yang telah dipakai oleh

hampir setiap database management system (DBMS) yang ditujukan untuk beberapa pengguna, sebagian karena telah diterima oleh ANSI (American National

Standards Institute) dan ISO (International Standard Organization) sebagai bahasa query standar untuk basis

data relasional (Harrington, 2010).

SQL menggunakan istilah tabel, baris dan kolom sebagai model relasional. Perintah SQl yang paling utama dalam pendefinisian data adalah statement CREATE yang dapat digunakan untuk menciptakan skema, tabel (hubungan), dan domain (seperti views,

assertions, dan triggers).

2.3 Join Ordering

Menurut Korth [4], dalam suatu relasi n tabel dapat diperoleh sebanyak (2(n - 1))! / (n - 1)! join ordering. Berdasarkan perhitungan tersebut, maka untuk query join 3 tabel (R1 R2 R3) akan diperoleh 12 jenis join

ordering, seperti yang ditunjukkan oleh Gambar 1.

Gambar 1 Join Ordering untuk Query Join 3 Tabel

Tetapi menurut Korth terdapat suatu aturan kesetaraan (equivalence rules) yang menyatakan bahwa suatu bentuk ekspresi query dapat diganti dengan bentuk ekspresi query kedua atau sebaliknya. Salah satu dari aturan kesetaraan ini menyatakan bahwa untuk operasi

natural join berlaku sifat asosiatif yaitu: R1 (R2 R3) = (R1 R2) R3. Berdasarkan aturan tersebut, untuk suatu query join 3 tabel akan terdapat minimal 6 jenis

join order.

Faktor lain yang mempengaruhi banyaknya join order pada suatu query join adalah hubungan yang terdapat di antara tabel – tabel yang ingin digabungkan. Sebagai contoh, apabila kita ingin menghubungkan tabel SalesLT.Customer (C), SalesLT.CustomerAddress (CA) dan SalesLT.Address (A) maka hanya akan didapat 4 jenis join order. Hal ini terjadi karena tabel SalesLT.Address dan SalesLT.Customer tidak dapat diberikan operasi join tanpa adanya tabel SalesLT. CustomerAddress sebagai penghubung antara kedua tabel tersebut.

3. Metode Penelitian

Penelitian dilakukan dengan menggunakan SQL Server 2008 Enterprise Edition. Data yang digunakan dalam penelitian adalah basis data AdventureWorksLT Database (v2008) RTM Samples (x86) yang didapat dari situs www.wrox.com [6]. Basis data AdventureWorks ini memiliki format (.mdf) yang berukuran 7,188 Megabytes (MB). Basis data ini terdiri dari 12 tabel, yang memiliki hubungan antar tabel seperti yang ditunjukkan oleh Gambar 2

(3)

Pengujian dilakukan pada basis data AdventureWorks yang telah diberikan penambahan data dengan menggunakan RedGate software sebanyak 1.000.000 data. Tetapi dalam proses penambahan, tidak semua tabel dapat dilakukan penambahan sebanyak 1.000.000 data, sehingga jumlah data yang berhasil ditambahkan adalah sebagai berikut:

1. Tabel SalesLT.SalesOrderDetail tidak mengalami penambahan data.

2. Tabel SalesLT.Product mengalami penambahan 100.000 baris data.

3. Tabel ProductModel dan ProductCategory mengalami penambahan 209.300 baris data. 4. Tabel ProductModelProductDescription mengalami

penambahan 210.204 baris data.

5. Tabel Address, Customer, CustomerAddress, ProductDescription, SalesOrderHeader mengalami penambahan 1.000.000 baris data.

Penelitian menggunakan dua buah komputer sebagai bahan perbandingan waktu respon algoritma join pada spesifikasi komputer yang berbeda. Spesifikasi dari komputer 1 dapat dilihat pada tabel 1 dan spesifikasi dari komputer 2 dapat dilihat pada tabel 2.

Tabel 1 Spesifikasi Komputer I

Operating System Windows 7 Professional 32-bit Processor Intel® Core™ i5 2410M @2.30GHz Video Graphics Intel® HD Graphics 3000

RAM 2.00 GB DDR3

Hard Drives 640 GB SATA

Tabel 2 Spesifikasi Komputer II

Operating System Windows 7 Ultimate 32-bit Processor Intel® Core™ i3 CPU M380

@2.53GHz Video Graphics Intel® HD Graphics

RAM 2.00 GB DDR3

Hard Drives 500GB SATA

4. Hasil Percobaan

Pada penelitian ini, pengujian dilakukan pada 15

query yang terdiri dari query join 2 tabel, 3 tabel, 4 tabel

dan 5 tabel. Proses pengujian join ordering pada 15

query yang telah disediakan dilakukan pada dua buah

komputer. Secara ringkas, rata – rata dari hasil pengujian

join ordering pada dua buah komputer dengan hanya

memperhatikan waktu setelah proses clean buffer dapat dilihat pada Tabel 1.

Tabel 3 Ringkasan Hasil Pengujian Join Ordering pada Komputer I dan Komputer II

Query Rows

Return

Waktu Respon (dalam ms) Komputer I Komputer II 1 1013 21118.4 17562.5 2 19926.1 17373.4 3 1014 21684.5 19962.5 4 21213.7 19842.8 5 21276.6 19978.3 6 21344.9 20027.4 7 1013 27889.4 26224.0 8 27925.2 25975.1 9 27902.4 26160.8 10 27861.8 25589.0 11 27901.2 26023.2 12 27975.4 26155.9 13 112 204.5 138.0 14 185.0 114.0 15 185.9 166.1 Keterangan:

Menunjukkan hasil pengujian yang memiliki waktu respon paling optimal.

Berdasarkan hasil pengujian yang dilakukan untuk menentukan apakah join ordering mempengaruhi kinerja suatu query, maka dibuatlah beberapa grafik yang menampilkan waktu respon rata – rata dari hasil eksekusi setiap query join pada komputer I dan komputer II dalam bentuk diagram batang.

0 5000 10000 15000 20000 25000 Komputer I Komputer II Waktu (ms) Query 1 Query 2

Gambar 3 Grafik Perbandingan Waktu Respon Rata – Rata Query Join 2 Tabel pada Komputer I dan II

Gambar 3 menunjukkan hasil pengujian terhadap

query join 2 tabel pada komputer I dan komputer II.

Berdasarkan grafik yang ada, dapat disimpulkan bahwa

query 2 memiliki waktu respon yang paling optimal baik

pada komputer I dan komputer II dengan rata - rata waktu respon untuk query 2 sebesar 19.926,1 ms pada komputer I dan rata – rata waktu respon untuk query 2 sebesar 17.373,4 ms pada komputer II.

(4)

18500 19000 19500 20000 20500 21000 21500 22000 Komputer I Komputer II Waktu (ms)

Query 3 Query 4 Query 5 Query 6

Gambar 4 Grafik Perbandingan Waktu Respon Rata – Rata Query Join 3 Tabel pada Komputer I dan II

Gambar 4 menunjukkan hasil pengujian terhadap

query join 3 tabel pada komputer I dan komputer II.

Berdasarkan grafik yang ada, dapat disimpulkan bahwa

query 4 memiliki waktu respon yang paling optimal baik

pada komputer I dan komputer II dengan rata - rata waktu respon untuk query 4 sebesar 21.213,7 ms pada komputer I dan rata – rata waktu respon untuk query 4 sebesar 19.842,8 ms pada komputer II.

24000 25000 26000 27000 28000 29000 Komputer I Komputer II Waktu (ms)

Query 7 Query 8 Query 9

Query 10 Query 11 Query 12

Gambar 5 Grafik Perbandingan Waktu Respon Rata – Rata Query Join 4 Tabel pada Komputer I dan II

Gambar 5 menunjukkan hasil pengujian terhadap

query join 4 tabel pada komputer I dan komputer II.

Berdasarkan grafik yang ada, dapat disimpulkan bahwa

query 10 memiliki waktu respon yang paling optimal

baik pada komputer I dan komputer II dengan rata - rata waktu respon untuk query 10 sebesar 27.861,8 ms pada komputer I dan rata – rata waktu respon untuk query 10 sebesar 25.589 ms pada komputer II.

0 50 100 150 200 250 Komputer I Komputer II Waktu (ms)

Query 13 Query 14 Query 15

Gambar 6 Grafik Perbandingan Waktu Respon Rata – Rata Query Join 5 Tabel pada Komputer I dan II

Gambar 6 menunjukkan hasil pengujian terhadap

query join 5 tabel pada komputer I dan komputer II.

Berdasarkan grafik yang ada, dapat disimpulkan bahwa

query 14 memiliki waktu respon yang paling optimal

baik pada komputer I dan komputer II dengan rata - rata waktu respon untuk query 14 sebesar 185 ms pada komputer I dan rata – rata waktu respon untuk query 14 sebesar 114 ms pada komputer II.

5. Kesimpulan

Berdasarkan pengujian yang dilakukan, dapat ditarik kesimpulan bahwa proses join ordering dalam SQL Server, tidak hanya dipengaruhi oleh jumlah baris pada setiap tabel yang akan digabungkan tetapi pengaturan penggabungan dari tabel – tabel tersebut dapat mempengaruhi waktu respon dari query tersebut.

Berdasarkan hasil pengujian yang telah ada, maka proses join ordering yang baik dilakukan melalui tahapan sebagai berikut:

1. Menentukan tabel yang memiliki jumlah baris paling banyak dan jumlah baris paling sedikit.

2. Lakukan proses join terlebih dahulu terhadap kedua tabel tersebut agar jumlah baris yang di - scan mengalami pengurangan.

3. Hasil dari proses join tersebut digabungkan dengan tabel yang memiliki jumlah baris paling sedikit selanjutnya.

REFERENSI

[1] Connolly, Thomas M. & Carolyn E. Begg., 2010, “Database Systems: A Practical Approach to Design, Implementation, and Management 5th Ed.”, Pearson, USA. [2] Hundhausen, Richard., New, Simpler AdventureWorks

Sample Database.

blog.hundhausen.com/files/AdventureWorksLT. jpg, Tanggal akses 15 September 2012.

(5)

[4] Korth, Henry F, et.al., 2011. Database System Concepts 6th Ed., USA, McGrawHill.

[5] Red-gate.com. http://www.red-gate.com/products/sql-development/sql-data-generator/. Tanggal akses 10 September 2012.

[6] Wrox.com. www.wrox.com/WileyCDA/Section/id-322174.html . Tanggal akses 3 September 2012.

Meyliani Tanjung, mahasiswi semester VII Program Studi Sistem Informasi Fakultas Teknologi Informasi Universitas Tarumanagara, Jakarta.

Gambar

Gambar 1 Join Ordering untuk Query Join 3 Tabel
Tabel 1 Spesifikasi Komputer I
Gambar 4 Grafik Perbandingan Waktu Respon Rata – Rata Query Join  3 Tabel pada Komputer I dan II

Referensi

Dokumen terkait

Permasalahan yang saat ini terjadi pada PT Onassis Wisata Cemerlang menurut Ibu Riama Chaidir selaku manajer pada PT Onassis Wisata Cemerlang adalah ingin

Iklan Baris Iklan Baris JAKARTA UTARA Serba Serbi RUPA-RUPA Rumah Dijual Rumah Dikontrakan JAKARTA SELATAN JAKARTA TIMUR JAKARTA TIMUR BODETABEK.. ACIN, JUAL MESIN PENGGANDA /

IKHTISAR PENGEMBANGAN Lokasi : Cikoko, Jakarta Total Area : ± 4,0 Hektar Skema Kerjasama : 100% ACP. Tipe Pengembangan : Apartemen, Area Komersial, Area Parkir AREA

Perilaku yang berhubungan dengan harga diri rendah meliputi: mengkritik diri sendiri atau orang lain, penurunan produktivitas, destruktif yang diarahkan pada orang lain,

Keterampilan gerak (motor skill) adalah suatu tingkat kualitas penguasaan dalam melakukan aktivitas gerak tubuh dimana koordinasi beberapa bagian tubuh atau keseluruhan

dan sisa asset dalam proses likuidasi perusahaan. Pada dasarnya ada dua jenis keuntungan yang diperoleh investor dengan.. membeli saham, yaitu deviden dan Capital Gain

Dari keterangan Mikkelsen dapat diterjemahkan ke konteks pengamalan dalam batang tubuh Ikatan Pelajar Muhammadiyah; Dengan perencanaan partisipatif hen- daknya para

Dalam novel Saman karya Ayu Utami, konflik batin dialami oleh beberapa tokoh.. yang mendukung cerita, termasuk konflik batin yang dialami