• Tidak ada hasil yang ditemukan

Analisis Performansi Database Ditinjau dari Aspek Optimasi Query dan Desain Model Data Relational pada DAS dan RAID

N/A
N/A
Protected

Academic year: 2016

Membagikan "Analisis Performansi Database Ditinjau dari Aspek Optimasi Query dan Desain Model Data Relational pada DAS dan RAID"

Copied!
100
0
0

Teks penuh

(1)

RELASIONAL PADA DAS DAN RAID

TESIS

JUANDA HAKIM LUBIS

117038067

PROGRAM STUDI S2 TEKNIK INFORMATIKA

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

(2)

TESIS

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Magister Teknik Informatika

JUANDA HAKIM LUBIS 117038067

PROGRAM STUDI S2 TEKNIK INFORMATIKA

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(3)

Judul : ANALISA PERFORMANSI BASIS DATA

DITINJAU DARI ASPEK OPTIMASI QUERY DAN DESAIN MODEL DATA RELASIONAL PADA DAS DAN RAID

Kategori : Tesis

Nama : Juanda Hakim Lubis

Nomor Induk Mahasiswa : 117038067

Program Studi : Magister (S2) Teknik Informatika

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Dr. Zakarias Situmorang Prof. Dr. Herman Mawengkang

Diketahui/disetujui oleh

Program Studi Magister (S2) Teknik Informatika

Ketua,

(4)

ANALISIS PERFORMANSI DATABASE DITINJAU DARI ASPEK OPTIMASI QUERY DAN DESAIN MODEL DATA

RELASIONAL PADA DAS DAN RAID

TESIS

Saya mengakui bahwa tesis ini adalah hasil karya saya sendiri, kecuali beberapa

kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, 25 Oktober 2013

(5)

AKADEMIS

Sebagai sivitas akademika Universitas Sumatera Utara, saya yang bertanda tangan dibawah ini :

Nama : Juanda Hakim Lubis

NIM : 117038067

Program Studi : Magister (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 Free Right) atas tesis saya yang berjudul :

ANALISIS PERFORMANSI DATABASE DITINJAU DARI ASPEK OPTIMASI QUERY DAN DESAIN MODELDATA

RELASIONAL PADA DAS DAN RAID

Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Non-Eksklusif ini, Universitas Sumatera Utara berhak menyimpan, mengalih media, memformat, 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, 25 Oktober 2013

(6)

PANITIA PENGUJI TESIS

Ketua : Prof. Dr. Herman Mawengkang

Anggota : 1. Dr. Zakarias Situmorang

2. Prof. Dr. Muhammad Zarlis

3. Prof. Dr. Tulus, Vor.Dipl.Math., M.Si

(7)

DATA PRIBADI

Nama Lengkap : Juanda Hakim Lubis, ST

Tempat dan Tanggal lahir : Lhokseumawe, 10 April 1987

Alamat Rumah : Jl. Bhakti Indah V no.60

Telepon : 085311116436

E-mail : juandahakim@gmail.com

Instansi Tempat Bekerja : Dinas Kependudukan dan Catatan Sipil

Alamat Kantor : JL. KH. Zainul Arifin No.17A, Stabat

DATA PENDIDIKAN

SD : SD 2 Tamansiswa TAMAT : 1999

SLTP : SLTP Yayasan Pendidikan Arun (YAPENA) TAMAT : 2002

SLTA : SMA Negeri 1 Medan TAMAT : 2005

S1 : Institut Teknologi Telkom TAMAT : 2010

(8)

Tiada sanjungan dan pujian yang berhak diucapkan, selain hanya kepada Allah SWT,

yang telah memberi kemampuan dan akal kepada hamba-Nya. Salawat dan salam

kepada teladan kebaikan Rasulullah SAW.Alhamdulillah, akhirnya penulis dapat

menyelesaikan Tesis ini dengan bimbingan, arahan kritik dan saran serta bantuan dari

pembimbing, pembanding, segenap dosen, rekan-rekan mahasiswa Program Studi

Magister (S2) Teknik Informatika Universitas Sumatera Utara.

Tesis ini diajukan sebagai salah satu syarat untuk memperoleh gelar Magister Fakultas

Komputer pada Program Studi Pascasarjana Magister Teknik Informatika pada

Fakultas Ilmu Komputer – Teknologi Informasi Universitas Sumatera Utara.Dengan

judul tesis “Analisis Performansi Database Ditinjau dari Aspek Optimasi Query dan

Desain Model Data Relational pada DAS dan RAID”. Pada proses penulisan sampai

dengan selesainya penulisan tesis ini, penulis mengucapkan terima kasih yang

sebesar-besarnya kepada :

1. Ayahanda dan Ibunda, terima kasih untuk semua curahan cinta dan kasih

sayangnya, perhatian dorongan dan do’a yang tidak henti-hentinya. Semoga

selalu dalam lindungan Allah SWT.

2. Keluarga besar: kak irma, kak efa, dan kak sari yang telah memberikan

nasehat, motivasi dan doa untuk adiknya tercinta.

3. Prof. Dr. Muhammad Zarlis selaku Dekan Fakultas Ilmu Komputer dan

Teknologi Informasi sekaligus Ketua Program Studi Magister (S2) Teknik

Informatika, dan M. Andri Budiman, ST, M.Comp.Sc, M.EM selaku sekretaris

Program Studi Magister (S2) Teknik Informatika.

4. Prof. Dr. Herman Mawengkang dan Dr. Zakarias Situmorang selaku

pembimbing yang telah membimbing penulis dengan penuh kesabaran hingga

selesainya tesis ini dengan baik.

5. Prof. Dr. Muhammad Zarlis, Prof. Dr. Tulus, Vor.Dipl.Math., M.Si, Dr. Erna

Budhiarti Nababan, M.IT selaku pembanding yang telah memberikan masukan

(9)

Informasi Universitas Sumatera Utara yang telah memberikan bantuan dan

pelayanan terbaik kepada penulis selama mengikuti perkuliahan hingga saat

ini.

7. Vicky Laily Qonita, untuk semangat, do’a, inspirasi, mimpi yang diberikan

untuk penulis. Terima kasih atas segala bentuk dukungannya selama ini.

8. Rekan mahasiswa/i angkatan ke 4 tahun 2011 pada Program Studi Magister

(S2) Teknik Informatika Program Pascasarjana Fakultas Ilmu Komputer dan

Teknologi Informasi Universitas Sumatera Utara yang telah bersama-sama

saling membantu selama mengikuti perkuliahan.

9. Semua pihak yang tidak dapat penulis sebutkan satu persatu, terima kasih atas

bantuan yang telah diberikan kepada penulis selama ini

Dengan segala kekurangan dan kerendahan hati, sekali lagi penulis mengucapkan

terimakasih.Semoga kiranya Allah SWT membalas segala bantuan dan kebaikan yang

telah diberikan.

Medan, 25 Oktober 2013

Penulis

(10)

Jumlah data yang disimpan di piringan magnetik (disket, harddisk, dll) meningkat 100% pertahun, perdepartemen,perperusahaan sehingga diperlukan suatu upaya untuk menjaga kinerja sistem basis data agar tetap optimal.Desain basis data merupakan langkah awal yang dilakukan untuk membuat suatu sistem agar kinerja basis data agar tetap optimal.Akan tetapi proses desain belum cukup untuk meningkatkan kinerja basis data. Salah satu cara adalah dengan meningkatkan kecepatan transaksi data yaitu dengan meningkatkan kecepatan pemrosesan query dan menggunakan hardisk yang dapat diakses secara paralel. Pada penelitian ini akan dilakukan pengujian berbagai model basis data relasional dengan menggunakan berbagai jumlah data, kemudian akan dilakukan pengujian pada DAS (Direct-Attached Storage) dan RAID menggunakan berbagai query dengan outputan yang sama, sehingga akan dianalisa cost query menggunakan metode Cost Base Optimizer dan waktu pengaksesan disk.Sehingga hasil dari penelitian ini bertujuan memberikan masukan kepada administrator sistem basis data agar dapat mendesain model basis data relational dengan tepat, penggunaan teknologi hardisk dengan bijak, dan menggunakan query yang benar dalam pengambilan data dengan tujuan agar kinerja basis data tetap optimal. Hasil dari pengujian ini adalah 1) desain model basis dataakan dapat berkerja lebih optimal dengan cara melakukan pemisahan entity yang berasal dari penggunaan spesialisasi, 2) RAID 0 memiliki performansi paling baikdibandingkan DAS dan RAID-1 dikarenakan saat komputer mengakses sebuah block data di satu harddiskkomputer juga dapat mengakses block data di harddisk yang lainnya, 3) jumlah record, ukuran atribut, jenis atau bentuk query, penggunaan kolom unique key atau primary key, penggunaan order by, urutan indeks, penggunaan fungsi SQLdapat mempengaruhi cost suatu query dalam performansi query.

(11)

ABSTRACT

The amount of data that is stored in magnetic disk (floppy disk, harddisk, etc) increases 100% each year for each department for each company so an effort to maintain a database system to be optimal is needed. Designing a database is the initial step when creating a system with an optimal database performance. However, just designing the database is not enough to increase the performance of the database.One of the ways is to increase the speed of data transaction by increaseing the speed of query processing and using harddisks that can be accessed parallely. In this reaseach, the testing of different relationship database model will be done by using multiple amount of data then DAS and RAID will be tested by using multiple query with the same amount of output. The cost query then is going to be analyzed by using Cost Base Optimizer method and the disk access time. The result of this research is to give input to database system administrator to design relationship database model appropriately, to use the harddisk technology wisely, and to use the right query on retrieving records resulting the database performance optimum. The results of this testing are 1) database design model will be optimum by doing entity separation from specialize usage, 2) RAID 0 have much better performance compared to DAS and RAID-1 because when computer accessed a data block from a harddisk, the computer also can access another data block from another harddisk, 3) the amount of record, the size of attribute, the type of query, the usage of unique key or primary key column, the usage of order by, the sequence of index, the usage of SQL function can affect the cost of query in query performance.

(12)

PENGESAHAN 1i

PERNYATAAN ORISINALITAS iii

PERSETUJUAN PUBLIKASI iv

PANITIA PENGUJI v

RIWAYAT HIDUP vi

KATA PENGANTAR vii

ABSTRAK ix

ABSTRACT x

DAFTAR ISI xi

DAFTAR TABEL xiii

DAFTAR GAMBAR xiv

BAB 1 PENDAHULUAN 1

1.1 Latar Belakang 1

1.2 Perumusan Masalah 3

1.3 Batasan Masalah 4

1.4 Tujuan Penelitian 4

1.5 Manfaat Penelitian 5

BAB 2 TINJAUAN PUSTAKA 6

2.1 Model Data 6

2.1.1 Basis Data Relasional 6

2.2 Entity Relationship Model 6

2.2.1 Entitas dan Himpunan Entitas 7

2.2.2 Atribut 8

2.2.3 Relasi 8

2.2.4 Diagram ER 11

2.3 Konversi ER ke Tabel 12

2.3.1 Himpunan Entitas Lemah 12

2.3.2 Spesialisasi 13

2.4 Normalisasi 14

2.5 Optimasi Query 14

2.5.1 Konsep Dasar Optimasi Query 14

2.5.2 Metode Akses 17

2.5.3 Perhitungan Cost Operasi Query 17

2.5.4 Pemrosesan Querypada Oracle 10g 19

(13)

2.6.2 Standar Level 22

BAB 3 METODE PENELITIAN 27

3.1 Pendahuluan 27

3.2 Rancangan Penelitian 29

3.3 Perangkat Keras dan Perangkat LunakPengujian Sistem 39

BAB 4 HASIL DAN PEMBAHASAN PENELITIAN 40

4.1 Hasil Penelitian 40

4.1.1 Hasil Penelitian Response Time 40

4.1.2 Hasil Penelitian Cost Query 48

4.2 Analisis Hasil Penelitian 50

4.2.1 Analisis Hasil Penelitian Response Time 50 4.2.2 Analisis Hasil Penelitian Cost Query Pada 55

BAB 5 KESIMPULAN DAN SARAN 59

5.1 Kesimpulan 59

5.2 Saran 60

DAFTAR PUSTAKA 61

LAMPIRAN 1 62

LAMPIRAN 2 65

(14)

TABEL 3.1. Jumlah Record pada ER Model 1 30

TABEL 3.2. Jumlah Record pada ER Model 2 30

TABEL 3.3. Jumlah Record pada ER Model 3 33

TABEL 4.1. Perbandingan Response Time pada Simple Query 41 TABEL 4.2. Perbandingan Response Time pada Aggregate Query 42 TABEL 4.3. Perbandingan Response Time pada Inner Join Query 43 TABEL 4.4. Perbandingan Response Time pada Outer Join Query 44 TABEL 4.5. Perbandingan Response Time pada Subquery 45 TABEL 4.6. Perbandingan Response Time pada Correlated Query 46 TABEL 4.7. Perbandingan Response Time pada Kompleks Query 47

(15)

GAMBAR 2.1. Himpunan Entitas Mahasiswa 7

GAMBAR 2.2. Contoh Himpunan Entitas 8

GAMBAR 2.3. Gambaran Himpunan Entitas di Tabel 8

GAMBAR 2.4. Relasi digambarkan dengan belah ketupat 9

GAMBAR 2.5. Relasi dengan Kardinalitas 1 ke 1 9

GAMBAR 2.6. Relasi dengan Kardinalitas 1 ke Banyak 10 GAMBAR 2.7. Relasi dengan Kardinalitas Banyak ke 1 10 GAMBAR 2.8. Relasi dengan Kardinalitas Banyak ke Banyak 11

GAMBAR 2.9. Contoh Diagram ER 11

GAMBAR 2.10. Contoh Himpunan Entitas Lemah 12

GAMBAR 2.11. Contoh Spesialisasi 13

GAMBAR 2.12. Tahapan Pemrosesan Query 15

GAMBAR 2.13. RAID 0 23

GAMBAR 2.14. RAID 1 23

GAMBAR 2.15. RAID 2 24

GAMBAR 2.16. RAID 3 25

GAMBAR 2.17. RAID 4 25

GAMBAR 2.18. RAID 5 26

GAMBAR 3.1. Skenario Pengujian 28

GAMBAR 3.2. ER Model 1 29

GAMBAR 3.3. ER Model 2 31

GAMBAR 3.4. ER Model 3 32

(16)

Jumlah data yang disimpan di piringan magnetik (disket, harddisk, dll) meningkat 100% pertahun, perdepartemen,perperusahaan sehingga diperlukan suatu upaya untuk menjaga kinerja sistem basis data agar tetap optimal.Desain basis data merupakan langkah awal yang dilakukan untuk membuat suatu sistem agar kinerja basis data agar tetap optimal.Akan tetapi proses desain belum cukup untuk meningkatkan kinerja basis data. Salah satu cara adalah dengan meningkatkan kecepatan transaksi data yaitu dengan meningkatkan kecepatan pemrosesan query dan menggunakan hardisk yang dapat diakses secara paralel. Pada penelitian ini akan dilakukan pengujian berbagai model basis data relasional dengan menggunakan berbagai jumlah data, kemudian akan dilakukan pengujian pada DAS (Direct-Attached Storage) dan RAID menggunakan berbagai query dengan outputan yang sama, sehingga akan dianalisa cost query menggunakan metode Cost Base Optimizer dan waktu pengaksesan disk.Sehingga hasil dari penelitian ini bertujuan memberikan masukan kepada administrator sistem basis data agar dapat mendesain model basis data relational dengan tepat, penggunaan teknologi hardisk dengan bijak, dan menggunakan query yang benar dalam pengambilan data dengan tujuan agar kinerja basis data tetap optimal. Hasil dari pengujian ini adalah 1) desain model basis dataakan dapat berkerja lebih optimal dengan cara melakukan pemisahan entity yang berasal dari penggunaan spesialisasi, 2) RAID 0 memiliki performansi paling baikdibandingkan DAS dan RAID-1 dikarenakan saat komputer mengakses sebuah block data di satu harddiskkomputer juga dapat mengakses block data di harddisk yang lainnya, 3) jumlah record, ukuran atribut, jenis atau bentuk query, penggunaan kolom unique key atau primary key, penggunaan order by, urutan indeks, penggunaan fungsi SQLdapat mempengaruhi cost suatu query dalam performansi query.

(17)

ABSTRACT

The amount of data that is stored in magnetic disk (floppy disk, harddisk, etc) increases 100% each year for each department for each company so an effort to maintain a database system to be optimal is needed. Designing a database is the initial step when creating a system with an optimal database performance. However, just designing the database is not enough to increase the performance of the database.One of the ways is to increase the speed of data transaction by increaseing the speed of query processing and using harddisks that can be accessed parallely. In this reaseach, the testing of different relationship database model will be done by using multiple amount of data then DAS and RAID will be tested by using multiple query with the same amount of output. The cost query then is going to be analyzed by using Cost Base Optimizer method and the disk access time. The result of this research is to give input to database system administrator to design relationship database model appropriately, to use the harddisk technology wisely, and to use the right query on retrieving records resulting the database performance optimum. The results of this testing are 1) database design model will be optimum by doing entity separation from specialize usage, 2) RAID 0 have much better performance compared to DAS and RAID-1 because when computer accessed a data block from a harddisk, the computer also can access another data block from another harddisk, 3) the amount of record, the size of attribute, the type of query, the usage of unique key or primary key column, the usage of order by, the sequence of index, the usage of SQL function can affect the cost of query in query performance.

(18)

PENDAHULUAN

1.1 Latar Belakang

Kinerja (performance) sistem basis data merupakan isu yang semakin penting saat

sistem basis data terkomputerisasi beranjak semakin besar dan kompleks.Hal ini

dibuktikan dari hasil sebuah survey Universitas California di BerkeleyLightstone,

jumlah data yang disimpan di piringan magnetik (disket, harddisk, dll) meningkat

100% pertahun, perdepartemen, perperusahaan, artinya setiap perusahaan di dunia

yang menggunakan komputer data yang dimilikinya akan meningkat 2 kali lipat

pertahun. Oleh sebab itu perlu suatu upaya untuk menjaga kinerja sistem basis data

agar tetap optimal.

Strategi penilaian dan perbaikan kinerja bervariasi dalam hal efektivitasnya,

dan sistem-sistem yang dirancang untuk berbagai tujuan, misalnya sistem operasional

atau Sistem Pendukung Keputusan (DSS-Decission Support System), masing-masing

membutuhkan ketrampilan pengaturan kinerja yang berbeda-beda.Dalam hal ini,

kinerja sistem dirancang dan dikembangkan untuk suatu sistem

terkomputerisasi.Selain itu, permasalahan kinerja tentu saja juga sangat dipengaruhi

oleh hasil dari perkembangan teknologi komputer. Saat sistem menjadi usang,

bagaimanapun juga pintarnya seorang administrator database melakukan

perancangan-perancangan dan pengaturan-pengaturan tidak akan mampu mencapai

peringkat kinerja yang tinggi. Selain itu pula, tingkat kinerja yang tinggi juga sangat

dipengaruhi oleh perancanaan serta perancangan sistem basis data.

Upaya perancangan basis data dapat ditempuh dengan mendesain sebuah

model dari awal sama sekali sampai dilakukan perbaikan-perbaikan untuk

mendapatkan sebuah model data yang lebih permanen dan lebih mendekati pada

keadaan yang sebenarnya. Desain basis data merupakan langkah awal yang dilakukan

(19)

Dengan desain basis data seorang praktisi dapat mengurangi waktu proses untuk

operasi bisnis dalam beberapa kasus. Akan tetapi proses desain belum cukup untuk

meningkatkan kinerja basis data. Salah satu cara adalah dengan meningkatkan

kecepatan transaksi data yaitu dengan mentukan kecepatan pemrosesan query. Hal

tersebut dapat meningkatkan kinerja antara 25% dan 100%, kadang-kadang bisa lebih

(Powell, 2007).

Dari sudut perancangan basis data, tabel-tabel yang dirancang dengan baik

serta dilengkapi dengan indeks-indeks yang representatif sangat membantu

kinerja.Kadang juga proses normalisasi tabel yang dilakukan secara sangat seksama,

memberi efek yang setara dengan perbaikan perangkat keras. Hal yang sama juga

berlaku dengan menggunakan hardisk yang dapat diakses secara paralel (misalnya

RAID [Redundant Array of Inexpensive Disk]) yang merupakan trend perangkat keras

untuk sistem basis data yang berukuran besar), yang pada gilirannya akan sangat

mempengaruhi kinerja sisem basis data. RAID adalah salah satu cara dalam

meningkatkan kinerja dan performansi disk yaitu dengan membentuk suatu sistem dari

beberapa hardisk atau drive sehingga terbentuk satu partisi dari beberapa hardisk yang

bertujuan sebagai toleransi kesalahan.

Beberapa penelitian yang telah dilakukan tentang optimalisasi basis data antara

lain, Panus & Pirkl (2010), melakukan penelitian dengan melakukan pengujian

terhadap pengaruh penggunaan Oracle Optimizer Hints (SQL Hints) dan Clasic SQL

Query pada proses eksekusi. Optimalisasi tersebut diukur dengan menggunakan Cost

Query dan CPU dari Query. Hasil pengujian menunjukan bahwa penggunaan SQL

Hints lebih unggul daripada Clasic SQL Query, akan tetapi dari segi avarage time saat

proses eksekusi, Clasic SQL Query lebih cepat dibandingkan menggunakan SQL

Hints. Chandra, et al.(2007), menjelaskan tentang optimasi query pada oracle yang

bertujuan untuk menemukan strategi atau rencana evaluasi query terbaik pada

pemrosesan query, sehingga time proses dan total cost dari proses eksekusi menjadi

lebih efisien dan lebih murah. Kavita (2012), melakukan penelitian dengan membuat

sebuah model Materialized View untuk meningkat performansi query sehingga

membantu para database adminstrator untuk melakukan manajemen Materialized

View secara tepat sehingga akan membawa keuntungan bagi perusahaan dari segi

efisiensi operasional karena laporan dihasilkan lebih cepat. Salim (2011), mengkaji 2

(20)

yang bertujuan untuk memperoleh query plan yang paling optimal sehingga akan

diperoleh waktu yang paling optimal. Dari kajiannya tersebut diperoleh suatu

kesimpulan bahwa Rule Base Optimization merupakan urutan plan dari query tunggal

yang biasanya digambarkan sebagai query tree, dimana masing-masing plan lebih

efisien dari plan sebelumnya. Sedangkan Cost based optimization akan

memperkirakan dan membandingkan cost dari eksekusi sebuah query menggunakan

strategi-strategi eksekusi yang berbeda dan memilih strategi dengan perkiraan cost

terendah. Cost dari masing-masing plan adalah merupakan perkiraan, dengan memilih

yang paling efisien.

Walaupun banyak penelitian yang dilakukan berkaitan dengan optimalisasi

basis data yang bertujuan untuk memperbaiki kinerja sistem basis data, pada tesis ini

dilakukan penelitian terhadap beberapa model basis data relasional dengan

menggunakan berbagai jumlah data, kemudian akan dilakukan pengujian pada DAS

(Direct-Attached Storage) dan RAID menggunakan berbagai query dengan outputan

yang sama, sehingga akan dianalisa cost query menggunakan metode Cost Base

Optimizer dan waktu pengaksesan disk.

Penelitian tesis ini akanmengajukan cara memperoleh cost query dan waktu

pengaksesan disk. Sehingga administrator sistem basis data dapat mendesain model

basis data relational dengan tepat, penggunaan teknologi hardisk dengan bijak, dan

menggunakan query yang benar dalam pengambilan data dengan tujuan agar kinerja

basis data tetap optimal.

1.2 Perumusan Masalah

Berdasakan pada latar belakang yang telah dikemukan dapat dirumuskan beberapa

masalah yaitu,ketika jumlah data semakin lama semakin besar,

makadiperlukanpemilihan suatu desain modeldata relational yang dapatmempengaruhi

kinerja database dalam kecepatantransaksi data.Akan tetapi hal itu saja belum cukup

untuk meningkatkan kinerja database, sehingga perlu dilakukan analisis yang

mempengaruhi kinerja pemrosesan query dan seberapa pengaruh hardisk yang dapat

(21)

1.3 Batasan Masalah

Rumusan masalah diatas, dibatasi dengan beberapa hal sebagai berikut :

1. Menggunakan data Inventori

2. Menggunakan model Entity Relationshipdiagram (diagram ER)

3. Bekerja pada sistem terpusat (centralized)

4. Menggunakan DBMS Oracle pada proses optimasiquery.

5. Metode yang digunakan dalam proses optimasiquery berdasarkan proses Cost

based optimizer pada DBMS Oracle 10g.

6. Hanya menggunakan indexyang standar dan tidak ada penambahan index.

7. Parameter pengukuran yang dianalisis adalah cost (pengaksesan disk) dari

suatu query.

8. Menggunakan setting database standar (General purpose database)

9. Menggunakan RAID Level 0 (RAID-0), RAID Level 1 (RAID-1)

1.4 Tujuan Penelitian

Tujuan yang ingin dicapai pada penelitian tesis ini, yaitu :

1. Untukmengetahui perancangan desain model data yang dapat menghasilkan

proses pengambilan data lebih cepat, dengan melakukan perbaikan-perbaikan

desain model data dengan memiliki kebutuhan informasi yang sama untuk

mendapatkan sebuah model data yang lebih cepat dibandingakan dengan

desain sebelumnya.

2. Menganalisis cost query dan time proses dari berbagai query yang dijalankan

pada berbagai desain model data dengan output yang sama menggunakan

metode Cost Base Optimizer sehingga mengetahui langkah eksekusi yang

diambil oleh DBMS dan cost query yang dihasilkan untuk mengeksekusi query

tersebut.

3. Untuk mendapatkan hasil pengujianperformansi hardisk pada DAS, RAID-0,

(22)

1.5 Manfaat Penelitian

Manfaat dari penelitian tesis ini, yaitu :

1. Memberikan masukan kepada administrator sistem basis data agar dapat

mendesain model basis data relational dengan tepat, penggunaan teknologi

hardisk dengan bijak, dan menggunakan query yang benar dalam pengambilan

data dengan tujuan agar kinerja basis data tetap optimal.

2. Sebagai referensi bagi hasil studi dan peneliti selanjutnya yang diminati dan

(23)

TINJAUAN PUSTAKA

2.1 Model Data

Untuk membangun suatu sistem aplikasi, basis data merupakan pemodelan keadaan

dari “Real word” atau dunia nyata. Upaya perancangan basis data dapat ditempuh

dengan membuat sebuah model dari awal sama sekali sampai dilakukan

perbaikan-perbaikan untuk mendapatkan sebuah model data yang lebih permanen dan lebih

mendekati pada keadaan yang sebenarnya.

Menurut SilberSchatz et al. (2002), model data adalah kumpulan perangkat

konseptual untuk menggambarkan data, hubungan data, semantik (makna) data dan

batasan data.

Model basis data relasional merupakan salah satu model basis data disamping

ada model basis data hirarki dan model basis data jaringan (network). Model basis

data relasional adalah model yang menggunakan kumpulan table yang masing-masing

tabelnya terdiri dari kumpulan baris/record dan atribut/field.

2.1.1 Basis Data Relasional

Basis data relasional adalah basis data yang setiap entitasnya disimpan kedalam

tabel-tabel. Basis data akan dipilah-pilah kedalam berbagai tabel 2 dimensi. Setiap table

terdiri atas lajur mendatar yang disebut baris data (row atau record) dan jalur vertikal

yang biasa disebut kolom (columnatau field).

2.2 Entity Relationship Model

Dalam membuat sebuah Basis Data, hal pertama yang harus dilakukan adalah

mendesain tabel tabel yang akan digunakan untuk menyimpan data sesuai bisnis

(24)

tentang basis data. Pandangan

kedalam bentuk tabel, karena

ER adalah salah satu

basis data ke dalam bentuk

entitas yang ada(SilberSchatz,et

nyata yang bisa dibedakan

hubungan yang terjadi diantara satu

2.2.1 Entitas dan Himpunan

Definisi entitas adalah objek yang dirasa penting di sistem tersebut,

– Objek Konkrit

Contoh : Orang, Buku

– Objek Abstrak

Contoh : Jadwal, Pinjaman

Bambangadalah salah

sumarno merupakan him

Entitas (EntitySet) : Sekelompok

sama. Kumpulan entitas oran

dikatakan merupakan himpunan

individu suatu objek sedangkan

dari individu tersebut.

Gambar 2.

Pandangan konseptual ini tentunya harus bisa diimplementasikan

ntuk tabel, karena basis data relasional hanya mengenal tabel.

salah satu pemodelan basis data konseptual yang menggambarkan

dalam bentuk Entitas-Entitas dan Relasi yang terjadi di antara

SilberSchatz,et al. 2002). Entitas diartikan sebagai ‘objek

dibedakan dengan ‘objek’ yang lain. Relasi diartikan

hubungan yang terjadi diantara satu entitas dengan entitas yang lainnya.

Entitas dan Himpunan Entitas

ntitas adalah objek yang dirasa penting di sistem tersebut, yg bisa berupa :

Contoh : Orang, Buku

Contoh : Jadwal, Pinjaman, Tabungan

Bambangadalah salah satu contoh dari entitas. Sedangkan bambang,

n himpunan entitas orang. Dapat dikatakan bahwa

Sekelompok entitas yang sejenis dan berada dalam lingkup

entitas orang dengan karakteristik mempunyai nim, prodi,

merupakan himpunan entitas mahasiwa. Entitas menunjuk kepada

objek sedangkan himpunan entitas menunjuk pada rumpun

Gambar 2.1 Himpunan Entitas Mahasiswa

diimplementasikan

relasional hanya mengenal tabel.

yang menggambarkan

di di antara

entitas-objek’ didunia

diartikan sebagai

ersebut, yg bisa berupa :

Sedangkan bambang, susi,

bahwa Himpunan

dalam lingkup yang

nim, prodi, dsb bisa

menunjuk kepada pada

(25)

Sebuah entitas / himpunan

sebuah gambar persegi panjang.

dan pinjaman.

Gambar 2.

Setiap entitas mempunyai

gambaran konseptual basis

bentuk fisik dari basis data (* tabel dan kolom).

Gambar 2.

2.2.2 Atribut

Atribut merupakan gambaran

Contoh : atribut untuk himpunan

program studi, hobi, dsb.

batasan yg dibolehkan bagi suatu atribut.

2.2.3 Relasi

ER menggambarkan entitas

Relasimenggambarkan hubungan

dengan proses bisnisnya.

notasi belah ketupat.

Perhatikan contoh relasi antara mahasiswa dengan organisa

entitas / himpunan entitas dapat di gambarkan / di notasikan

persegi panjang. Berikut merupakan contoh entitas mahasiwa,

Gambar 2.2 Contoh Himpunan Entitas

mempunyai atribut yang melekat pada entitas tersebut.

konseptual basis data (* entitas dan atribut) yang direfleksikan

k dari basis data (* tabel dan kolom).

Gambar 2.3 Gambaran Himpunan Entitas di Tabel

gambaran karakteristik dari sebuah entitas atau himpunan

untuk himpunan entitas mahasiswa adalah nim, nama,

, dsb.Setiap atribut mempunyai domain value set

yg dibolehkan bagi suatu atribut.

menggambarkan entitas-entitas dengan atributnya yang saling

menggambarkan hubungan antara entitas satu dengan entitas yang

bisnisnya. Notasi relasi didalam diagram ER digambarkan

Perhatikan contoh relasi antara mahasiswa dengan organisasi berikut.

di notasikan dengan

entitas mahasiwa, jadwal

entitas tersebut. Berikut

direfleksikan kedalam

atau himpunan entitas.

nama, alamat, ipk,

yaitu batasan

saling berelasi.

entitas yang lain sesuai

digambarkan dengan

(26)

Gambar 2.

Gambar di atas menunjukkan

organisasi. Relasi yang

mempunyai organisasi. Entitas

ipk, dsb. Sedangkan

nama_organisasi, jenis_org

2.2.3.1 Kardinalitas Relas

Kardinalias relasi menggambarkan

ber-relasi dengan entitas

biner, pemetaan kardinalitas relasi da  Satu ke Satu

Gambar 2.

Relasi di atas

entitas A berpasangan

B. Asumsi

pj_cuci_piring.

maksimal 1

orang yang

maksimal 1,

itu relasi ini berkardi

Gambar 2.4 Relasi digambarkan dengan belah ketupat

atas menunjukkan hubungan antara entitas mahasiswa

yang terjadi adalah relasi mempunyai, dimana

organisasi. Entitas mahasiwa memiliki atribut nim, nama, alamat,

Sedangkan entitas organisasi memiliki atribut kd_organisasi,

sasi, jenis_organisasi (* olahraga/kesenian/jurusan dsb).

itas Relasi

asi menggambarkan banyaknya jumlah maksimum entitas

dengan entitas pada himpunann entitas yang lain. Pada himpunan

pemetaan kardinalitas relasi dapat berupa salah satu dari pilihan berikut :

Satu ke Satu

Gambar 2.5 Relasi dengan Kardinalitas 1 ke 1

Relasi di atas menggambarkan bahwa untuk setiap entitas di

entitas A berpasangan dengan maksimal 1 entitas di himpunan

si penulis akan membuat sebuah tugas yaitu

pj_cuci_piring. 1 Orang di tugaskan untuk menjadi pj_cuci_piring

maksimal 1 hari. Begitupun juga jika di balik, pada 1 hari,

orang yang menjadi pj_cuci_piring. Dari A ke B kardinalitasnya

maksimal 1, dan dari B ke A kardinalitasnya maksimal 1.

u relasi ini berkardinalitas 1 ke 1.

mahasiswa dan entitas

dimana mahasiwa

nama, alamat, prodi,

atribut kd_organisasi,

maksimum entitas dapat

Pada himpunan relasi rupa salah satu dari pilihan berikut :

entitas di himpunan

di himpunan entitas

tugas yaitu menjadi

menjadi pj_cuci_piring di

1 hari, maksimal 1

B kardinalitasnya

(27)

 Satu ke Banyak

Gambar 2.6 Relasi dengan Kardinalitas 1 ke Banyak

Relasi di atas menggambarkan bahwa untuk setiap entitas di himpunan

entitas A berpasangan dengan banyak entitas di himpunan entitas B.

Asumsi yang berbeda di pakai ketika memandang relasi ini, 1 orang

bisa memperoleh pj_cuci_piring untuk > 1 hari. Tetapi 1 hari hanya di

pj-kan hanya untuk maksimal 1 orang. Dari A ke B kardinalitasnya

maksimal adalah banyak, dan dari B ke A kardinalitasnya maksimal 1.

Oleh karena itu relasi ini berkardinalitas 1 ke banyak.

 Banyak ke Satu

Gambar 2.7 Relasi dengan Kardinalitas Banyak ke 1

Relasi di atas menggambarkan bahwa untuk setiap entitas di himpunan

entitas A berpasangan dengan maksimal 1 entitas di himpunan entitas

B. Asumsikan bahwa untuk 1 hari pj_cuci_piring boleh di berikan pada

banyak orang, sedangkan 1 orang hanya di berikan tugas untuk menjadi

(28)

maksimal adalah

banyak. Oleh karena itu rel

 Banyak ke Banyak

Gambar 2.

Relasi di atas

entitas A berpasangan

entitas B.

bebankan pada

menjadi pj_cuci_piring

maksimal adalah

adalah banyak.

banyak.

2.2.4 Diagram ER

Merupakan diagram model

basisdata berbasis grafis.

maksimal adalah 1, dan dari B ke A kardinalitasnya maksima

banyak. Oleh karena itu relasi ini berkardinalitas banyak ke 1.

Banyak ke Banyak

Gambar 2.8 Relasi dengan Kardinalitas Banyak ke Banyak

Relasi di atas menggambarkan bahwa untuk setiap entitas di

entitas A berpasangan dengan maksimal banyak entitas di

entitas B. Asumsikan bahwa dalam 1 hari pj_cuci_piring

bebankan pada banyak orang dan 1 orang bisa di bebankan

menjadi pj_cuci_piring lebih dari 1 hari. Dari A ke B kardinalitasnya

maksimal adalah banyak, dan dari B ke A kardinalitasnya

adalah banyak. Oleh karena itu relasi ini berkardinalitas

diagram model konseptual untuk menggambarkan struktur

Gambar 2.9 Contoh Diagram ER

alitasnya maksimal adalah

berkardinalitas banyak ke 1.

ke Banyak

entitas di himpunan

entitas di himpunan

pj_cuci_piring bisa di

di bebankan untuk

ke B kardinalitasnya

kardinalitasnya maksimal

berkardinalitas banyak ke

(29)

Notasi yang digunakan

o Garis

o Elips dobel

o Elips garis terputus

2.3 Konversi ER ke T

2.3.1 Himpunan Entitas Lem

Secara umum, Himpunan

bergantung pada entitas lain. Notasi

panjang, sedangkan relasi

diamond. Diskriminator /

entitas-entitas yang terdapat

dengan primary key. Konsep

lemah. Primary keypada Himpuna

kuat yg berelasi dan diskriminator /

Diskriminator di notas

Gambar 2.

Relasi di atas menggambarkan

tunjangan dari perusahaan

lemah. Tunjangan sebagai

bergantung pada entitas pegawai (* tidak akan ada t Notasi yang digunakan di Diagram ER adalah :

: Link yang menghubungkan atara Entitas

dengan atribut,dan entitas dengan

entitas

Elips dobel :Menunjukkan atribut yang multivalued

garis terputus :Menunjukkan atribut turunan

Tabel

ntitas Lemah

Himpunan Entitas Lemah tidak memiliki primary key

entitas lain. Notasi entitas lemah digambarkan dengan double

relasi untuk himpunan entitas lemah digambarkan deng

Diskriminator / key parsialadalah atribut-atribut yang dapat membedak

terdapat di himpunan entitas lemah. Diskriminator

. Konsep diskriminator hanya di pakai pada himpunan

pada Himpunan Entitas lemah ada 2 yaitu primary key

dan diskriminator / keyparsialnya.

Diskriminator di notasikan dengan garis bawah yang putus putus.

Gambar 2.10 Contoh Himpunan Entitas Lemah

atas menggambarkan bahwa seorang pegawai mendapatkan

perusahaan tempat dia bekerja. Tunjangan dalam hal ini adalah

sebagai entitas tidak bisa berdiri sendiri, tunjangan

as pegawai (* tidak akan ada tunjangan jika tidak ada pegawai). atara Entitas

dengan relasi atau

multivalued

key dan selalu

rkan dengan double persegi

digambarkan dengan double

t membedakan

Diskriminator tidak sama

pada himpunan entitas

primary keydari entitas

putus.

mendapatkan fasilitas

hal ini adalah entitas

tunjangan harus

(30)

Kardinalitas relasi

merupakan banyak ke 1

yang lebih kuat.

2.3.2 Spesialisasi

Spesialisasi merupakan proses

didalam didalam himpunan

spesialisasi adalah memberikan

dari himpunan entitas yang

pengelompokan.

Subgrouping di atas

memiliki atribut tersendiri

dan merupakan pembeda dar

gambar segitiga berlabelIS

Sifat dari spesialisasi

secara otomatis akan di turunkan pada level di bawahnya.

Contoh di atas menggambarkan

subgroupyaitu pegawai tetap

pegawai honorer sama sama

dari entitas pegawai. Perbedaa

atribut yang melekat pada

relasi yang terjadi pada himpunan entitas lemah

ke 1 atau 1 ke banyak dengan kardinalitas 1 di himpunan

merupakan proses desain top-down dengan mendesain

himpunan entitas yang berbeda dari himpunan entitas.

memberikan gambaran konseptual tentang perbedaan

itas yang hampir serupa dengan konsep sub

di atas menjadi himpunan entias yang levelnya lebih

tersendiri yang tidak dimiliki pada level di atasnya. Atribut

pembeda dari entitas di subgroupyang lain. IS A dinotasika

segitiga berlabelISA.

spesialisasi adalah inheritan atribut yaitu atribut pada

otomatis akan di turunkan pada level di bawahnya.

Gambar 2.11 Contoh Spesialisasi

atas menggambarkan bahwa entitas pegawai mempunya

pegawai tetap dan pegawai honorer. Kedua entitas pegawai

sama sama mempunyai atribut turunan yaitu nama dan

pegawai. Perbedaan dari pegawai tetap dan pegawai honorer

t pada subgroup-nya. Atribut besar tunjangan dan gaji

lemah biasanya

di himpunan entitas

mendesain subgrouping

entitas. Tujuan dari

perbedaan karakteristik

sub grouping /

levelnya lebih rendah dan

atasnya. Atribut ini khas

dinotasikan dengan

atribut pada level tinggi

pegawai mempunyai 2

pegawai tetap dan

nama dan id_pegawai

honorer terdapat di

(31)

hanya terdapat di himpunan entitas pegawai tetap, sedangkan atribut upah per jam dan

jumlah jam kerja terdapat di himpunan entitas pegawai honorer.

2.4 Normalisasi

Normalisasi merupakan cara pendekatan lain dalam membangun desain logik basis

data relasional yang tidak secara langsung berkaitan dengan model data, tetapi dengan

menerapkan sejumlah aturan dan criteria standar untuk menghasilkan stuktur tabel

yang normal.

Adapun bentuk normalisasi antara lain :

 Bentuk normal tahap pertama (1st Normal Form/1NF)

Syaratnya jika sebuah tabel tidak memiliki atribut bernilai banyak

(multivalued attribut) atau dengan kata lain atribut yang atomik.

 Bentuk normal tahap kedua (2nd Normal Form/2NF)

Syaratnya, memenuhi bentuk normal tingkat pertama, semua atribut yang

tidak termasuk dalam key primer memiliki ketergantungan fungsional

(KF) pada key primer yang utuh.

 Bentuk normal tahap ketiga (3th Normal Form/3NF)

Syaratnya, memenuhi bentuk normal tingkat kedua. Tidak terdapat

ketergantungan fungsi transitif ( transitive functional dependency), yaitu

tidak terdapat ketergantungan fungsi antara atribut – atribut bukan kunci

ke atribut bukan kunci lainnya dalam tabel.

2.5 Optimasi Query

2.5.1 Konsep Dasar Optimasi Query

Menurut SilberSchatz et al. (2002) , query adalah sebuah pernyataan yang meminta

pengaksesan informasi. Query (permintaan) merupakan metode pengaksesan yang

paling sering digunakan. Dalam DBMS, query dinyatakan dalam SQL (Structured

Query Languange).

Dalam Database Management System (DBMS), query di proses melalui

(32)

Gambar 2.12 Tahapan Pemrosesan Query

Sebuah query yang diekspresikan dalam sebuah bahasa query tingkat tinggi

seperti SQL mula-mula harus dibaca, diuraikan dan disahkan (parser and translator).

Query tersebut kemudian dibentuk menjadi sebuah struktur data yang biasa disebut

dengan query tree. Dan kemudian DBMS (Database management system) harus

merencanakan sebuah strategi eksekusi untuk mendapatkan kembali hasil dari query

dari file-file database.

Query Optimizer memeriksa semua ekspresi-ekspresi aljabar yang sama untuk

query yang diberikan dan memilih salah satu dari ekspresi tersebut yang terbaik yang

memiliki perkiraan termurah. Dengan kata lain, tugas dari query optimizer adalah

menghasilkan sebuah rencana eksekusi. Proses ini disebut dengan optimisasi query.

Output dari Optimizer adalah evaluation plan, yaitu urutan rencana proses eksekusi

query oleh DBMS. Optimasi query merupakan sebuah proses untuk memilih

evaluation planyang terbaik untuk suatu query (Lewis, 2006). Query optimizeradalah

bagian dari DBMS yang melakukan fungsi optimasi query.

Ada beberapa tahapan dalam optimasi query, yaitu (Ramakrishnan, 1998) :

1. Membangkitkan plan-plan alternatif yang akan dipilih sebagai evaluation

plan.

2. Mengestimasi biaya eksekusi untuk setiap alternatif plan yang dihasilkan

pada tahap satu. Dari beberapa plan yang diperhitungkan, query optimizer

(33)

Optimasi query dapat dikategorikan menjadi 2 bagian, antara lain :

1. Cost Based Optimization

Pemilihan plan berdasarkan pada perkiraan biaya untuk setiap alternatif

plan. Optimizer akan memutuskan rencana eksekusi (execution plan )

mana yang terbaik dan paling efisien dengan mempertimbangkan pada

ketersediaan path aksesnya dan juga berdasar pada statistik informasi

untuk skema objek (tabel/indeks) yang di akses oleh sebuah sql statement.

Secara konsep, pendekatan cost-based terdiri atas 3 langkah berikut :

 Optimizer membangkitkan seperangkat rencana eksekusi yang

potensial untuk SQL Statement berdasar pada ketersediaan path dan

petunjuk tentang sql statement tersebut.

 Optimizer memperhitungkan cost pada tiap rencana eksekusi berdasarkan statistik pada kamus data untuk distribusi data dan

karakteristik maupun informasi tentang penyimpanan dari tabel, indeks,

dan partisi yang di akses oleh sebuah sql statement.

 Optimizer membandingkan biaya setiap execution plan, dan kemudian memilih plan dengan biaya paling rendah

Adapun beberapa catatan mengenai hal ini, yaitu :

 Cost dapat diartikan sebagai sebuah nilai resource yg dibutuhkan untuk eksekusi sql statement dari beberapa execution plannya

 Optimizer menghitung cost dari tiap kemungkinan metode akses dan urutan pen-joinan berdasar estimasi resource seperti CPU time,

memori,I/O untuk ekseskusi statement sql menggunakan plan

 Execution plan secara serial dengan cost besar butuh waktu eksekusi

lebih banyak daripada cost yg kecil

(34)

2. Rule Base Optimization

Pemilihan plan mengacu pada heuristic / petunjuk baku yang menentukan

prioritas eksekusi suatu operasi.

Pada dasarnya tujuan dari optimasi query menemukan jalan akses yang

termurah untuk meminimumkan total waktu pada saat proses sebuah query. Untuk

mencapai tujuan tersebut, maka diperlukan optimizeruntuk melakukan analisa query

dan untuk melakukan pencarian jalan akses.

2.5.2 Metode Akses

Metode akses /access method adalah metode-metode yang dapat dilakukan untuk

mengakses tuple dalam suatu relasi. Sebuah metode akses dapat berupa file scan

ataupun indeks dengan kondisi seleksi tertentu (Ramakrishnan, 1998).

Indeks adalah suatu metoda pengaksesan file data dari disk dengan menyimpan

alamat entri data file tersebut pada file lain yang berukuran lebih kecil dan lebih cepat

diakses. Indeks yang biasanya dipakai adalah indeks B+Tree dan Hash. Indeks

B+Tree dapat menjadi metode akses untuk seleksi operator <, <=, =, !=, >=, atau >.

Indeks hash dapat menjadi metode akses untuk seleksi dengan operator =.

Selektivitas sebuah metode akses adalah jumlah block yang diambil dengan

menggunakan metode akses tersebut. Metode akses yang paling selektif adalah

metode akses yang mengambil block paling sedikit. Penggunaan metode akses yang

paling selektif akan meminimalkan biaya pengambilan data.

2.5.3 Perhitungan Cost Operasi Query

Cost dari operasi query dapat dihitung dengan menjumlahkan beberapa parameter,

antara lain : biaya pengaksesan disk dan waktu proses CPU. Pengaksesan disk

merupakan faktor terpenting. Hal ini dikarenakan pengaksesan disk memakan biaya

lebih besar dibandingkan operasi dalam memori utama. Pada tugas akhir ini parameter

yang digunakan hanya biaya pengaksesan disk dimana merupakan jumlah

(35)

Sintaks umum SQL adalah sebagai berikut :

SELECT <daftar Attribute>

FROM <daftar Tabel>

WHERE <kondisi>

Dalam aljabar relasional, pernyataan SQL diatas terdiri atas beberapa operasi

yaitu projection, selection, dan join. Operasi select terdapat pada term-term klausa

WHERE. Operasi project terdapat pada daftar atribut list klausa SELECT. Operasi

join terdapat pada klausa FROM yang menyatakan daftar relasi lebih dari satu.

Kondisi join ditentukan dari term-term pada klausa WHERE.

1. Operasi Select

Operasi Select adalah operasi SQL yang digunakan untuk memilih sebuah

subset tuple-tuple dari sebuah relasi berdasarkan kondisi tertentu. Kondisi

tersebut terdapat dalam bentuk term-term pada klausa WHERE. Pada

umumnya, operasi select ditunjukkan oleh :

<kondisi pilihan>(R)

2. Operasi Project

Operasi Project adalah operasi SQL yang digunakan untuk memilih

atribut-atribut tertentu dari suatu relasi dan membuang atribut-atribut lainnya

yang tidak diperlukan. Pada umumnya operasi project ditunjukkan oleh :

π<daftar attribute>(R)

3. Operasi Join

Operasi Join adalah operasi SQL yang digunakan untuk

mengkombinasikan hubungan tuple-tuple dari dua relasi dengan suatu kondisi

penggabungan tertentu.Pada umumnya operasi project pada dua relasi

R(A1,A2,…An) dan S(B1,B2,…Bm) ditunjukkan oleh :

(36)

Dua relasi yang terlibat dibedakan menjadi relasi luar dan relasi dalam.

Untuk memudahkan, dalam left deep planterdapat konversi yaitu sub plan kiri

(L) dianggap sebagai relasi luar dan sub plan kanan (R) dianggap sebagai

relasi dalam.

2.5.4 Pemrosesan Querypada Oracle 10g

Pada saat sebuah query diproses, Oracle server prosesakan memeriksa apakah blok

data yang dibutuhkan ada di database buffer cache. Jika blok yang dibutuhkan tidak

terdapat di database buffer cache, maka server process akan melakukan pembacaan

untuk mencari blok yang dibutuhkan di data file untuk kemudian meletakkan

salinannya di database buffer cache. Jika saat pemrosesan query berikutnya

memerlukan blok yang sama dengan query sebelumnya, maka pemrosesan query

tersebut tidak memerlukan pembacaan data ke file fisik. Blok data yang berada di

memory dan tidak sering diakses akan dikeluarkan dari database buffer cache.

2.5.5 Explain Plan

Explain plan adalah suatu perintah yang digunakan untuk menampilkan perintah

eksekusi suatu query.

Dengan memanfaatkan explain plan kita bisa melihat langkah eksekusi yang

diambil oleh oracle, sehingga kita bisa meningkatkan performansi query kita.

Optimizer mengambil informasi tentang objek dan tipe dari query yang dijalankan,

kemudian memberikan keputusan bagaimana suatu query akan dieksekusi.

Contoh dari explain plan :

EXPLAIN PLAN SET statement_id = 'example_plan1' FOR

SELECT full_name FROM per_all_people_f

WHERE UPPER(full_name) LIKE 'Pe%' ;

Plan

---SELECT STATEMENT

(37)

Diatas menunjukan suatu contoh execution plan dari sebuah SELECT

statement. Tabel per_all_people_f diakses menggunakan full table scan.Seriap baris

dalam tabel per_all_people_f diakses, klausa WHERE clause dievaluasi untuk setiap

row.Kemudian SELECT statement mengembalikan row yang memenuhi klausa

where.

2.6 RAID

2.6.1 Konsep RAID

Dalam media penyimpanan data, disk rentan akan kerusakan yang akan

mengakibatkan hilangnya data dan turunnya kinerja disk. Salah satu cara dalam

meningkatkan kinerja dan performansi disk adalah RAID. RAID singkatan dari

Random Array of Inexpensive Disk. Metodenya dengan membentuk suatu sistem dari beberapa harddisk/drive sehingga terbentuk satu partisi dari beberapa harddisk,

dimana biasanya kita melakukan pembagian banyak partisi pada satu harddisk.

Kegunaan RAID adalah sebagai media perlindungan penyimpanan data sehingga

reliability data terjaga. RAID merupakan gabungan beberapa harddisk fisik ke dalam

sebuah unit logis penyimpanan, dengan menggunakan perangkat lunak atau perangkat

keras khusus.

Peningkatan Kehandalan dan Kinerja dari disk dapat dicapai melalui dua cara

(SilberSchatz,et al. 2002) :

1. Redudansi

Peningkatan kehandalan disk dapat dilakukan dengan redundansi, yaitu

menyimpan informasi tambahan yang dapat dipakai untuk membentuk kembali

informasi yang hilang jika suatu disk mengalami kegagalan.Salah satu teknik

untuk redundansi ini adalah dengan caramirroring atau shadowing, yaitu

dengan membuat duplikasi dari tiap - tiap disk. Jadi, sebuah disk logical terdiri

dari 2 disk physical, dan setiap penulisan dilakukan pada kedua disk, sehingga

jika salah satu disk gagal, data masih dapat diambil dari disk yang lainnya,

kecuali jika disk kedua gagal sebelum kegagalan pada disk pertama

diperbaiki.Pada cara ini, berarti diperlukan media penyimpanan yang dua kali

(38)

pengaksesan disk yang dilakukan untuk membaca dapat ditingkatkan dua kali

lipat dengan menggunakan RAID controller. Hal ini dikarenakan setengah dari

permintaan membaca dapat dikirim ke masing-masing disk.

2. Paralelisme

Peningkatan kinerja dapat dilakukan dengan mengakses banyak disk secara

paralel. Pada disk mirroring, di mana pengaksesan disk untuk membaca data

menjadi dua kali lipat karena permintaan dapat dilakukan pada kedua disk,

tetapi kecepatan transfer data pada setiap disk tetap sama. Kita dapat

meningkatkan kecepatan transfer ini dengan cara melakukan data striping ke

dalam beberapa disk. Data striping, yaitu menggunakan sekelompok disk

sebagai satu kesatuan unit penyimpanan, menyimpan bit data dari setiap byte

secara terpisah pada beberapa disk (paralel).

Adapun teknik-teknik yang digunakan dalam RAID sebagai berikut :

1. Teknik Stripping

Stripping merupakan teknik atau cara untuk pemecahan data ke beberapa disk.

Teknik ini meningkatkan performansi harddisk, dimana sekumpulan data dapat

dibaca dari beberapa harddisk pada satu waktu. Namun, apabila salah satu

harddisk mengalami kegagalan, maka harddisk lain pun tidak dapat berfungsi.

2. Teknik Mirroring

Mirroring merupakan teknik atau cara untuk penyalinan data ke lebih dari satu

harddisk. Teknik ini dapat meningkatkan proses pembacaan data, namun untuk

menulis kinerjanya lebih buruk karena data yang sama akan tertulis pada

(39)

2.6.2 Standar Level

Untuk skema level standard tersusun atas beberapa level. Beberapa variasi

dikembangkan untuk non nested level dan nested level.

Berikut ini jenis-jenis dari RAID non-nested level :

1. RAID 0

Dikenal dengan modus stripping.Membutuhkan minimal 2

harddisk.Sistemnya adalah menggabungkan kapasitas dari beberapa

harddisk.Sehingga secara logikal hanya "terlihat" sebuah harddisk dengan

kapasitas yang besar (jumlah kapasitas keseluruhan harddisk).

Pada awalnya, RAID 0, digunakan untuk membentuk sebuah partisi yang

sangat besar dari beberapa harddisk dengan biaya yang efisien.

Contoh: Peneliti membutuhkan suatu partisi dengan ukuran 2TB. Harga

sebuah harddisk berukuran 500GB adalah Rp.400.000,- sedangkan harga

harddisk berukuran 2TB adalah Rp.2.500.000,-. Maka peneliti dapat

membetuk suatu partisi berukuran 2TB dari 4 unit harddisk berukuran

500GB dengan menggunakan RAID 0. Tentunya skenario ini lebih murah

karena memakan biaya lebih murah: 4 x Rp.400.000,- = Rp.2.000.000,-.

Lebih murah daripada harus membeli harddisk yang berukuran 2TB.Oleh

sebab itu kenapa pada awalnya disebut redundant array of inexpensive

disk.

Data yang ditulis pada harddisk-harddisk tersebut terbagi-bagi menjadi

fragmen-fragmen.Dimana fragmen-fragmen tersebut disebar di seluruh

harddisk.Sehingga, jika salah satu harddisk mengalami kerusakan fisik,

maka data tidak dapat dibaca kembali.

Namun ada keuntungan dengan adanya fragmen-fragmen ini: kecepatan.

Data bisa diakses lebih cepat dengan RAID 0, karena saat komputer

membaca sebuah fragmen di satu harddisk, komputer juga dapat membaca

(40)

Gambar 2.13 RAID 0

2. RAID 1

Biasa disebut dengan modus mirroring.Membutuhkan minimal 2 harddisk.

Sistem ini memiliki kelebihan, yaitu menyalin isi sebuah harddisk ke

harddisk lain dengan tujuan: jika salah satu harddisk rusak secara fisik,

maka data tetap dapat diakses dari harddisk lainnya. Proses untuk

membaca data dapat dilakukan dengan setengah dari permintaan membaca

dikirim ke masing-masing disk (proses membaca data baik) atau membaca

data dilakukan dengan membaca dari kedua disk (proses membaca data

buruk). Hal ini tergantung kepada RAID Controllernya.

Contoh: Sebuah server memiliki 2 unit harddisk yang berkapasitas

masing-masing 500GB dan dikonfigurasi RAID 1. Setelah beberapa tahun,

salah satu harddisknya mengalami kerusakan fisik.Namun data pada

harddisk lainnya masih dapat dibaca, sehingga data masih dapat

diselamatkan selama bukan semua harddisk yang mengalami kerusakan

fisik secara bersamaan.

(41)

3. RAID 2

RAID 2, juga menggunakan sistem stripping. Namun ditambahkan tiga

harddisk lagi untuk pariti hamming, sehingga data menjadi lebih

handal.Karena itu, jumlah harddisk yang dibutuhkan adalah minimal 5

(n+3, n > 1).Ketiga harddisk terakhir digunakan untuk menyimpan

hamming code dari hasil perhitungan tiap bit-bit yang ada di harddisk

lainnya.

Contoh: Peneliti memiliki 5 buah harddisk (sebut saja harddisk A,B,C, D,

dan E) dengan ukuran yang sama, masing-masing 500GB. Jika

mengkonfigurasi keempat harddisk tersebut dengan RAID 2, maka

kapasitas yang didapat adalah: 2 x 500GB = 1TB (dari harddisk A dan B).

Sedangkan harddisk C, D, dan E tidak digunakan untuk penyimpanan

data, melainkan hanya untuk menyimpan informasi pariti hamming dari

dua harddisk lainnya: A dan B. Ketika terjadi kerusakan fisik pada salah

satu harddisk utama (A atau B), maka data tetap dapat dibaca dengan

memperhitungkan pariti kode hamming yang ada di harddisk C,D, E.

Gambar 2.15 RAID 2

4. RAID 3

RAID 3, juga menggunakan sistem stripping. Namun hanya ditambahkan

sebuah harddisk lagi untuk parity.. Karena itu, jumlah harddisk yang

dibutuhkan adalah minimal 3 (n+1 ; n > 1). Harddisk terakhir digunakan

untuk menyimpan parity dari hasil perhitungan tiap bit-bit yang ada di

harddisk lainnya.

Contoh: Peneliti memiliki 4 harddisk (sebut saja harddisk A,B,C, dan D)

(42)

keempat harddisk tersebut dengan RAID 3, maka kapasitas yang didapat

adalah: 3 x 500GB = 1,5TB. Sedangkan harddisk D tidak digunakan untuk

penyimpanan data, melainkan hanya untuk menyimpan informasi parity

dari ketiga harddisk lainnya: A, B, dan C. Ketika terjadi kerusakan fisik

pada salah satu harddisk utama (A, B, atau C), maka data tetap dapat

dibaca dengan memperhitungkan parity yang ada di harddisk D. Namun,

jika harddisk D yang mengalami kerusakan, maka data tetap dapat dibaca

dari ketiga harddisk lainnya.

Gambar 2.16 RAID 3

5. RAID 4

Sama dengan sistem RAID 3, namun menggunakan parity dari tiap block

harddisk, bukan bit. Kebutuhan harddisk minimalnya juga sama, 3 (n+1 ;

n >1). Kelebihannya yaitu pembacaan data transaksi dan tingkat

perpindahan saat penggabungan proses baca sangat tinggi. Akan tetapi

data sulit dibentuk ulang jika terjadi kegagalan disk,serta penulisan data

transaksi dan tingkat perpindahan saat penggabungan proses tulis sangat

buruk.

(43)

6. RAID 5

RAID 5 pada dasarnya sama dengan RAID 4, namun dengan pariti yang

terdistribusi. Yakni, tidak menggunakan harddisk khusus untuk

menyimpan paritinya, namun paritinya tersebut disebar ke seluruh

harddisk. Kebutuhan harddisk minimalnya juga sama, 3 (n+1 ; n >1). Hal

ini dilakukan untuk mempercepat akses dan menghindari bottleneck yang

terjadi karena akses harddisk tidak terfokus kepada kumpulan harddisk

yang berisi data saja. Kekurangan dari RAID 5 adalah sulit untuk

membentuk kembali jika terjadi kegagalan disk.

(44)

METODE PENELITIAN

3.1 Pendahuluan

Pembahasan dalam tesis ini akan menggunakan struktur data Inventori suatau

perusahaan tertentu. Aplikasi yang akan dibangun merupakan tools simulasi untuk

menganalisa performansi query yang dihasilkan dari tiap desain model data, sehingga

tidak terlalu memperhatikan faktor-faktor pendukung IMK (Interaksi Manusia

Komputer) seperti interface yang user friendly. Aplikasi ini akan meminta user untuk

memasukkan statement query dan kemudian menganalisis keluaran dari aplikasi

berupa hasil dari query, data statistik berupa cost query (disk I/O) serta

responstimenya.

Dengan menggunakan perangkat lunak yang telah dibuat, akan dilakukan 3

skenario pengujian (gambar 3.1) dengan memasukan berbagai statement query dari 3

model data berdasarkan proses bisnis yang akan dianalisa. Skenario pertama, pegujian

akan dilakukan pada DAS . Skenario kedua, pengujian akan dilakukan pada RAID 1.

Skenario ketiga, pengujian akan dilakukan pada RAID 0. Untuk masing skenario,

pengujian akan dilakukan dengan menggunakan data yang berbeda-beda, yaitu

minimal jumlah data 100.000, 1.000.000, 10.000.000, dan 100.000.000 untuk setiap

entity yang dihasilkan pada desain model data pertama (desain ER-1).

Query yang dibuat dalam pengujian ini dibedakan menjadi 7 jenis yaituSimple

Query, Aggregate Query, Inner Join Query, Outer Join Query, Subquery, Correlated

Subquery, Kompleks Query yang digunakan baik untuk RAID maupun DAS.

Setiap pengujian terhadap statement query akan diperoleh waktu dan costnya.

Waktu yang diperoleh yaitu waktu time proses rata-rata untuk setiap query. Cost yang

diperoleh adalah total pengaksesan disk dimana merupakan jumlah pengambilan

(45)

Gambar 3.1Skenario Pengujian Mulai

Perbandingan

Memilih desain model relational, yaitu ER-1, ER-2, atau ER-3

Diperoleh Responstime dan Cost query rata-rata untuk setiap query

Selesai Memilih query : Simple Query, Aggregate Query, Inner Join Query, Outer Join Query, Subquery,

CorrelatedSubquery, Kompleks Query

Insert data dimulai 100.000.000, 10.000.000, 1.000.000, 100.000 tiap entitas

Memilih media penyimpanan data, yaitu DAS, RAID-1, atau RAID-0

Ya Jumlah data

(46)

3.2 Rancangan Penelitian

Rancangan penelitian ini pertama kali dilakukan adalah dengan merancang berbagai

desain model data dengan memiliki kebutuhan informasi yang sama. Selanjutnya akan

dilakukan pengujian dengan berbagai jenis query dan menggunakan jumlah data yang

berbeda-beda pada media penyimpanan data yang dipilih, yaitu DAS, RAID-1, atau

RAID-0.

Desain model yang digunakan untuk pengujian, yaitu :

1. Diagram ER-1

Pada model ER-1 (gambar 3.2) , meggunakan desain yang sangat

sederhana dimana hanya menjelaskan tentang entity barang, supplier,

pegawai,material_doc, serta memiliki relasi transaksi dan pasok. Dengan

desain yang sederhana ini, sudah mampu mencakup informasi yang

dibutuhkan.

(47)

Berikut ini merupakan jumlah data untuk masing-masing pengujian pada desain

model ER-1. Data yang digunakan diperluas hingga 100.000.000 dari data

aslinya, yaitu :

Tabel 3.1 Jumlah Record Pada ER Model 1

Atribut

Jumlah Data Masing-Masing Pengujian

Pengujian 1 Pengujian 2 Pengujian 3 Pengujian 4

Barang 100.068.428 10.068.428 1.068.428 108.427

Karyawan 100.048.368 10.048.368 1.048.368 101.295

Material Doc 100.054.085 10.054.085 1.054.085 152.175

Pasok 100.022.952 10.022.952 1.022.952 102.952

Supplier 100.002.381 10.002.381 1.002.381 102.380

Transaksi 100.153.237 10.153.237 1.153.237 129.998

2. Diagram ER-2

Pada model ER-2 (gambar 3.3), meggunakan desain dengan sedikit

perubahan dari model ER-1, yaitu adanya variasi IS-A pada entity

material_doc untuk membedakan jenis barang dan jenis material_doc yang

sebelumnya tidak terdapat pada model ER-1, sehingga adanya penambahan

entity material_doc_terima dan material_doc_ambil.

Berikut ini merupakan jumlah data untuk masing-masing pengujian pada

desain model ER-2.Data yang digunakan berasal dari desain model ER-1,

yaitu :

Tabel 3.2 Jumlah Record Pada ER Model 2

Atribut

Jumlah Data Masing-Masing Pengujian

Pengujian 1 Pengujian 2 Pengujian 3 Pengujian 4

Barang 100.068.428 10.068.428 1.068.428 108.427

Karyawan 100.048.368 10.048.368 1.048.368 101.295

(48)

Tabel 3.2 Jumlah Record Pada ER Model 2 (Lanjutan)

Material Doc Ambil 50.041.660 5.041.660 541.660 90.521

Material Doc Terima 50.012.425 5.012.425 512.425 61.654

Pasok 100.022.952 10.022.952 1.022.952 102.952

Supplier 100.002.381 10.002.381 1.002.381 102.380

Transaksi 100.153.237 10.153.237 1.153.237 129.998

(49)

3. Diagram ER-3

Pada model ER-3 (gambar 3.4), sedikit berbeda dengan ER-2 yaitu tidak

adanya variasi IS-A pada material_doc untuk membedakan jenis

material_doc. Tetapi, pada model ER-3 ini jenis material_doc dipecah

menjadi 2 entity, yaitu entity material_doc_ambil dan material_doc_terima,

sehingga terjadi penambahan relasi transaksi-1 dan transaksi-2.

(50)

Berikut ini merupakan jumlah data untuk masing-masing pengujian pada desain

model ER-3. Data yang digunakan berasal dari desain model ER-2, yaitu :

Tabel 3.3 Jumlah Record Pada ER Model 3

Atribut

Jumlah Data Masing-Masing Pengujian

Pengujian 1 Pengujian 2 Pengujian 3 Pengujian 4

Barang 100.068.428 10.068.428 1.068.428 108.427

Karyawan 100.048.368 10.048.368 1.048.368 101.295

Material Doc Ambil 50.041.660 5.041.660 541.660 90.521

Material Doc Terima 50.012.425 5.012.425 512.425 61.654

Pasok 100.022.952 10.022.952 1.022.952 102.952

Supplier 100.002.381 10.002.381 1.002.381 102.380

Transaksi_1 25.589.439 2594181 294655 111.473

Transaksi_2 74.563.798 7559056 858582 18.525

Query yang dibuat dalam pengujian ini dibedakan menjadi 7 jenis yaitu Simple

Query, Aggregate Query, Inner Join Query, Outer Join Query, Subquery, Correlated

Subquery, Kompleks Query yang digunakan pada masing-masing desain model data

relational dengan output yang sama pada DAS, RAID 1, RAID 0 .

Setiap pengujian terhadap statement query akan diperoleh waktu dan costnya.

Waktu yang diperoleh yaitu waktu response time rata-rata untuk setiap query. Cost

yang diperoleh adalah total pengaksesan disk dimana merupakan jumlah pengambilan

page dari disk ke memori.

Statement query yang digunakan untuk pengujian yaitu :

1. Simple Query ER-1

select mat_doc,id_pegawai from material_doc

(51)

ER-2

select a.mat_doc mat_doc, a.id_pegawai id_pegawai

from material_doc_ambil a, material_doc b

where a.mat_doc = b.mat_doc and a.mat_doc = 4900005190

ER-3

select mat_doc_ambil mat_doc,id_pegawai from material_doc_ambil

where mat_doc_ambil = 4900005190

2. Aggregate Query ER-1

select count(*) Total from material_doc where kode_kategori_doc =113

ER-2

select Count(*) Total from material_doc_terima a, material_doc b

where a.mat_doc = b.mat_doc and a.kode_kategori_doc = 113

ER-3

select count(*) Total from material_doc_terima

3. Inner Join Query ER-1

select c.id_barang, a.nama_pegawai,c.quantity

from transaksi c inner

join material_doc b

on c.mat_doc = b.mat_doc inner

join karyawan a

on b.id_pegawai = a.id_pegawai

Gambar

Gambar 2.1 Himpunan Entitas MahasiswaGambar 2.
Gambar 2.3 Gambaran Himpunan Entitas di TabelGambar 2.
Gambar 2.5 Relasi dengan Kardinalitas 1 ke 1Gambar 2.
Gambar 2.6 Relasi dengan Kardinalitas 1 ke Banyak
+7

Referensi

Dokumen terkait

Dari hasil penelitian diketahui bahwa usia, masa kerja dan sikap berhubungan dengan kepatuhan perawat dalam melakukan dokumentasi reassessment nyeri dengan p value =

Berdasarkan tabel diatas dapat dilihat rata-rata pengetahuan ibu hamil tentang kehamilan resiko tinggi pada kelompok kontrol pretest adalah 58,50 sedangkan rata-rata

Dengan pencapaian bangunan secara langsung dapat mempermuda bagi pengujung untuk mencari tujuan yang ingin dituju.Pintu masuk ke dalam bangunan di fungsikan

Aplikasi  form builder   form builder   ini merupakan suatu aplikasi yang dimudahkan untuk membangun suatu form  ini merupakan suatu aplikasi yang dimudahkan untuk membangun

Pengertian di atas, dapat memberi pemahaman bahwa an-Nubuwwah adalah sebuah gelar atau anugerah yang tidak dapat dicari, yang diberikan oleh Allah kepada

Pertama-tama, perkenankan saya mengajak Bapak/Ibu sekalian untuk bersama- sama memanjatkan puji dan syukur ke hadirat Tuhan Yang Maha Esa, yang berkat rahmatNya dalam

dalam perjalanan hidupku; Mbah Putri (almh), Mbah Rom (almh), Mbah Salim (almh), Mbah Imam yang selalu penuh perhatian, Mbah Syamsul Kakung dan Mbah Syamsul

Tidak terdapatnya perbedaan penurunan jumlah koloni Salmonella sp da bakteri Coliform pada limbah cair RPH dengan variasi dosis kalsium hipoklorit karena