Analisis Query Pencarian Data Menggunakan Algortima Hash Join Dan Nested Join
ANALISIS QUERY PENCARIAN DATA MENGGUNAKAN
ALGORTIMA HASH JOIN DAN NESTED JOIN
TESIS
JUNUS SINURAYA
117038031
PROGRAM STUDI MAGISTER (S2) TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2013
ANALISIS QUERY PENCARIAN DATA MENGGUNAKAN
ALGORITMA HASH JOIN DAN NESTED JOIN
TESIS
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah
Magister Teknik Informatika
JUNUS SINURAYA
117038031
PROGRAM STUDI MAGISTER (S2) TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2013
PERSETUJUAN
Judul tesis : ANALISIS QUERY PENCARIAN DATA
MENGGUNAKAN ALGORITMA HASH JOIN
Kategori : - Nama Mahasiswa : JUNUS SINURAYA Nomor Induk Mahasiswa : 117038031 Program Studi : S2 TEKNIK INFORMATIKA Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA Komisi Pembimbing : Pembimbing 2
Pembimbing 1
Dr.Erna Budhiarti Nababan,M.IT Prof. Dr. Muhammad Zarlis
Diketahui/disetujui oleh Program Studi S2 Teknik Informatika Ketua,
Prof. Dr. Muhammad Zarlis
NIP. 19570701 198601 1 003
PERNYATAAN
ANALISIS QUERY PENCARIAN DATA MENGGUNAKAN ALGORITMA
HASH JOIN DAN NESTED JOIN
TESIS
Saya mengakui bahwa tesis ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 28 Agustus 2013
JUNUS SINURAYA
NIM. 117038013
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK
KEPENTINGAN AKADEMIS
Sebagai sivitas akademika Universitas Sumatera Utara, Saya yang bertanda tangan di bawah ini : Nama : JUNUS SINURAYA NIM : 117038031 Program Studi : S2 TEKNIK INFORMATIKA Jenis Karya Ilmiah : TESIS
Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Sumatera Utara Hak Bebas Royalti Non-Eksklusif (Non-Exclusive Royalty
) atas tesis saya yang berjudul :
Free Right
ANALISIS QUERY PENCARIAN DATA MENGGUNAKAN ALGORITMA
HASH JOIN DAN NESTED JOIN
Beserta perangkat yang ada (jika diperlukan). Dengan hak Bebas Royalti Non-Eksklusif ini, Universitas Sumatera Utara Berhak menyimpan, mengalih media, menformat, mengelola dalam bentuk database, merawat dan mempublikasikan tesis saya tanpa meminta izin dari saya selama tetap mencantumkan nama saya sebagai penulis dan sebagai pemegang dan/atau sebagai pemilik hak cipta. Demikian pernyataan ini dibuat dengan sebenarnya.
Medan, Agustus 2013
Junus Sinuraya
NIM. 117038031
Telah diuji pada Tanggal : 28 Agustus 2013 PANITIA PENGUJI TESIS Ketua : Prof. Dr. Muhammad Zarlis Anggota : 1. Dr.Erna Budhiarti Nababan,M.IT
2. Dr. Poltak Sihombing,M.Kom
3. Dr. Sutarman, M.Sc
4. Dr. Zakarias Situmorang,MT
RIWAYAT HIDUP
DATA PRIBADINama Lengkap (berikut gelar) : Junus Sinuraya, ST Tempat dan Tangal Lahir : Guru benua, 10 Maret 1981 Alamat Rumah : Jl.B.Katamso Gg Perbatasan Medan Telepon/Fax/HP : 081370203112 Email : Junus.Sinuraya2012@gmail.com Instansi Tempat Bekerja : Politeknik LP3I Medan Alamat Kantor : Jl.SM.Raja/Jl.Gajah Mada Medan
DATA PENDIDIKAN
SD : SD NEGERI GURU BENUA Tamat : 1991 SLTP : MTs NEGERI KABAN JAHE Tamat : 1994 SLTA : MA NEGERI 3 MEDAN Tamat : 2000 D3 : ILMU KOMPUTER FMIPA USU Tamat : 2003 S1 : T INFORMATIKA STT HARAPAN Tamat : 2010 S2 : TEKNIK INFORMATIKA USU Tamat : 2013
KATA PENGANTAR
Puji Syukur Penulis ucapkan kepada Tuhan Yang Maha Esa atas segala limpahan dan karunia-Nya sehingga penulis dapat menyelesaikan tesis ini dengan judul :
ANALISIS QUERY PENCARIAN DATA MENGGUNAKAN ALGORITMA
HASH JOIN DAN NESTED JOIN.Dengan selesainya tesis ini, penulis menyampaikan terimakasih sebesar-besarnya kepada :
1. Prof. Dr. dr. Syahril Pasaribu, D.T.M.&H., M.Sc. (C.T.M.), Sp.A.(K.) selaku Rektor Universitas Sumatera Utara yang telah memberikan kesempatan kepada penulis untuk mengikuti dan menyelesaikan pendidikan Program Magister.
2. Prof. Dr. Muhammad Zarlis selaku Dekan FASILKOM Dan TI Universitas Sumatera Utara.
3. M. Andri Budiman , ST., M.Comp Sc., M.E.M selaku Sekretaris Program Studi S2 Teknik Informatika.
4. Prof. Dr. Muhammad Zarlis, selaku Pembimbing Utama yang telah banyak memberikan bimbingan dan arahan serta motivasi kepada penulis.
5. Dr.Erna Budhiarti Nababan,M.IT, selaku Pembimbing Kedua yang telah banyak memberikan bimbingan dan arahan serta motivasi kepada penulis.
6. Dr. Poltak Sihombing,M.Kom, selaku Pembanding yang telah banyak memberikan kritikan serta saran kepada penulis.
7. Dr. Sutarman, M.Sc, selaku Pembanding yang telah banyak memberikan kritikan serta saran kepada penulis.
8. Dr. Zakarias Situmorang, MT, selaku Pembanding yang telah banyak memberikan kritikan serta saran kepada penulis..
9. Seluruh Staff Pengajar yang telah banyak memberikan ilmu pengetahuan selama masa perkuliahan serta Seluruh Staff Pegawai pada Program Studi S2 Teknik Informatika Universitas Sumatera Utara.
Teristimewa kepada kepada kedua Orang Tuaku (Alm) Rakut Sinuraya, Bage. Br. Ginting dan Lina Br Pinem serta keluarga dipangkalan Susu dan Kaban Jahe yang telah memberikan doa dan dukungan. Ucapan terimaksih juga penulis ucapkan kepada sahabat-sahabat seperjuangan angkatan 2011 Program Studi S2 Teknik Informatika, serta ketua, rekan-rekan dan seluruh staff pegawai Politeknik LP3I Medan yang telah memberikan semangat kepada penulis.
Akhir kata penulis hanya berdoa kepada Tuhan Yang Maha Esa semoga Tuhan memberikan limpahan karunia kepada semua pihak yang telah memberikan bantuan, perhatian, serta kerjasamanya kepada penulis dalam menyelesaikan tesis ini.
Medan, 28 Agustus 2013
Junus Sinuraya
NIM. 117038031
ABSTRAK
Pengaksesan data atau pencarian data dengan menggunakan Query atau Join pada aplikasi
yang terhubung dengan sebuah database perlu memperhatikan ketepatgunaan implementasi
dari data itu sendiri serta waktu prosesnya. Ada banyak cara yang dapat dilakukan oleh
database manajemen sistem dalam memproses dan menghasilkan jawaban sebuah query.
Semua cara pada akhirnya akan menghasilkan jawaban (output) yang sama tetapi pasti
mempunyai harga yang berbeda-beda, seperti misalnya kecepatan waktu untuk merespon
data. Beberapa query yang sering digunakan untuk pemrosesan data yaitu Query Hash Join
dan Query Nested Join, kedua query memiliki algoritma yang berbeda tapi menghasilkan
output yang sama. Dengan menggunakan aplikasi yang dirancang menggunakan Microsoft
Visual Studi 2010 dan Microsoft SQL Server 2008 berbasis jaringan untuk melakukan
pengujian kedua algoritma atau query dengan paramter running time atau kecepatan waktu
merespon data. Pengujian dilakukan dengan jumlah tabel yang dihubungkan dan jumlah
baris/record. Hasil dari penelitian adalah kecepatan waktu query untuk merespon data untuk
jumlah data yang kecil query hash join lebih baik sedangkan jumlah data yang besar query
nested join lebih baik.Kata Kunci : Query, Hash Join, Nested Join.
QUERY ANALISIS DATA SEARCH USING, ALGORITMA HASH
JOINAND NESTED JOIN
ABSTRACT
Data access or data retrieval using Query or Join in applications that connect to a database need to consider the efficiency of implementation of the data itself and the process time. There are many ways that can be done by the database management system to process and produce answers a query. All the way in the end will produce an answer (output) the same but certainly have different prices, such as the speed of time to respond to the data Some frequently used queries for data processing, namely Query Join and Hash Join Nested Queries, both have a query algorithms different but produces the same output. By using an application designed using Microsoft Visual Studies 2010 and Microsoft SQL Server 2008-based network to perform a second test or query algorithm with running time parameter or speed response time data. Testing is done with a number of tables are connected and the number of rows / records. Results of the study is to speed query response time data for the small amount of data that a better hash join query large amounts of data while the nested join query better Key Wors : Query, Hash Join, Nested Join.
DAFTAR ISI
Halaman HALAMAN JUDUL PENGESAHAN PERNYATAAN ORISINALITAS PERSETUJUAN PUBLIKASI PANITIA PENGUJI RIWAYAT HIDUP KATA PENGANTAR i
ABSTRAK iii
ABSTRACT iv
DAFTAR ISI v
DAFTAR GAMBAR ix
DAFTAR TABEL x
BAB 1 PENDAHULUAN
1.2 Rumusan Masalah
2.2.2 Konsep Model Relasional
1.1 Latar Belakang
8
2.4 Konsep SQL
8
2.3 Basis Data Terdistribusi
7
2.2.4 Istilah-istilah Basis data Relasional
6
2.2.3 Fungsi-Fungsi Basis Data Relasional
6
5
2
2.2.1 Konsep Basis Data Relasional
5
2.2 Sistem Basis Data
1
2.1 Pengertian DBMS
3 BAB 2 LANDASAN TEORI
1.5 Manfaat Penelitian
3
1.4 Tujuan Penelitian
3
1.3 Batasan Masalah
5
2.4.1 Data Manipulation
8
2.4.2 Konsep Query
12
2.5 Optimasi Query
13
2.6 Algoritma Hash Join
13
2.7 Algoritma Nested Join
14
2.7 RisetTerkait
15
2.8 Perbedaan dengan Riset lain
17
2.9 Kontribusi Riset
17 BAB 3 METODOLOGI PENELITIAN
3.1 Deskripsi Basis Data
19
3.1.1 Struktur Fisik Database
19
3.1.2 Relasi Antar Tabel
22
3.1.3 Skenario Pengujian Query
23
3.2 Query Algoritma
26
3.2.1 Query Algoritma Hash Join
26
3.2.2 Query Algoritma Nested Join
29
3.3 Parameter Pengujian
34
3.3.1 Rancangan Aplikasi
34
3.3.2 Alat Penelitian
35 BAB 4 HASIL DAN PEMBAHASAN
4.1 Hasil Penelitian
36
4.2 Hasil Pengujian Query
36
4.2.1 Hasil Pengujian 1 Relasi
37
4.2.2 Hasil Pengujian 2 Relasi
39
4.2.3 Hasil Pengujian 3 Relasi
41
4.2.4 Hasil Pengujian 4 Relasi
43
4.2.5 Hasil Pengujian 5 Relasi
44
4.3 Pembahasan Penelitian
46
4.3.1 Analisis Hasil Pengujian 1 Relasi
46
4.3.2 Analisis Hasil Pengujian 2 Relasi
49
4.3.3 Analisis Hasil Pengujian 3 Relasi
52
4.3.4 Analisis Hasil Pengujian 4 Relasi
55
4.3.5 Analisis Hasil Pengujian 5 Relasi
57
BAB 5 KESIMPULAN DAN SARAN
5.1 Kesimpulan
60
5.2 Saran
60 DAFTAR PUSTAKA
DAFTAR GAMBAR
50
4.12 Display Estimated Execution Plan query hash join 1 relasi
47
4.13 Display Estimated Execution Plan query nested join 1 relasi
48
4.14 Display Estimated Execution Plan query nested join Correlated 1 relasi
48
4.15 Relasi antar 3 tabel
49
4.16 Display Estimated Execution Plan query hash join 1 relasi
50
4.17 Display Estimated Execution Plan query nested join Scalar 2 relasi
4.18 Display Estimated Execution Plan query nested join correlated 2 relasi
4.11 Relasi antara 2 tabel
51
4.19 Relasi antar 4 tabel
52
4.20 Display Estimated Execution Plan query hash join 3 relasi
53
4.21 Display Estimated Execution Plan query Nested join Scalar 3 relasi
53
4.22 Display Estimated Execution Plan query Nested join Correlated 3 relasi
54
4.23 Relasi antar 5 tabel
55
4.24 Relasi antar 6 tabel
47
46
Nomor Gambar
4.3 Perbandingan Running Time Query 2 Relasi
Judul Halaman
3.1 Relasi Antar Tabel
23
3.2 Flowchart Skenario Pengujian Query
25
3.18 Rancangan Aplikasi
34
4.1 Perbandingan Running Time 1 Relasi
37
4.2 Grafik Perbandingan Running Time Query 1 Relasi
38
39
4.10 Grafik Perbandingan Pengujian Running Time Query 5 Relasi
4.4 Grafik Perbandingan Running Time Query 2 Relasi
40
4.5 Perbandingan Running Time Query 3 Relasi
41
4.6 Grafik Perbandingan Query Pencarian Data 3 Relasi
42
4.7 Perbandingan Query PencarianData Relasi 3 Tabel
43
4.8 Grafik Perbandingan Query Pencarian Data Relasi 3 Tabel
44
4.9 Hasil Perbandingan Pengujian Running Time Query 5 Relasi
45
57
DAFTAR TABEL
3.4 Tabel TBMOby
3.8 Tabel Group dan Uji Penelitian
24
3.7 Tahapan Relasi
22
3.6 Tabel TBMSubRoby
21
3.5 Tabel TBMRoby
21
20
Nomor Tabel
3.3 Tabel TBMJen
20
3.2 Tabel TBMKEl
19
15
3.1 Tabel Riset Terkait Tabel TBMStruk
2.1
Judul Halaman
24