SlideShare a Scribd company logo
Pertimbangan penggunaaan INDEX Dimara Kusuma Hakim, ST. Rangga Praduwiratna.  INDEXING CONSIDERATIONS
“ DATABASE PERFORMANCE,” what do you think it means? Most of us think of how FAST a database returns a QUERY.
Performance can be tuned to retrieve datasets in the most efficient way possible. One of the primary ways of speeding access to the data is by using an INDEX
Tabel pada sebuah database yang tidak menggunakan index (disebut  heap s) menggunakan metode  “ table-scan ”  saat dilakukan pencarian data atau pengaksesan query.  “ Table scan ”  dapat diumpamakan seperti mencari sebuah arti kata dalam pada sebuah buku yang tidak memiliki indeks huruf.
Contoh : sebuah buku dengan index Mencari  arti kata ‘mobil’ di Kamus Besar Bahasa Indonesia (KBBI)  : membuka kamus berdasarkan index hurufnya mencari huruf ‘m’ meneruskan pencarian hingga menemukan halaman yang mengandung kata ‘mo’ mengakhiri proses pencarian hingga  didapat  kata  “ mobil ”
Buku Tanpa Index Huruf ? mencari dari awal halaman hingga menemukan kata yang  di cari. perumpamaan  “ table-scan ”  adalah seperti hal ini. Table-scan akan mencari data pada tabel database dari awal hingga menemukan data yang dicari.
Data yang tersimpan, sebenarnya tidak terurut sama sekali !!! sistem penyimpanan data pada  DB  adalah melalui  pages. Setiap pages hanya terdiri dari 8Kb data, dan 8 buah pages (64kb) tersebut akan disimpan pada sebuah extent.  Walaupun data yang dimunculkan terlihat terurut, namun sebenarnya cara pencarian data tersebut tidak dilakukan dengan cara yang  di umpamakan tadi (index huruf pada KBBI),
Ilustrasi pencarian data akan dimulai dari pages pertama hingga pages terakhir dari sebuah extent, jika tidak ditemukan maka akan dilanjutkan ke extent berikutnya.  Kelemahan : saat  memasukkan data pada tabel tertentu, data tidak secara otomatis disimpan secara terurut, namun disimpan pada pages yang masih bisa menyimpan data.
Jadi saat memasukkan data yang harusnya berada di urutan 2 pada tabel, data ini akan disimpan pada pages terakhir yang masih bisa menyimpan data. Hal inilah yang seringkali membuat proses pencarian data menjadi lebih lama pada database yang tidak memiliki index, terutama pada  database dengan skala OLDB (Online Large Database) dan VLDB (Very Large Database).
Solusi : Index Perlu diingat , setelah Index diterapkan , data tidak akan terurut secara fisik. Hal ini berarti,  data tidak diurutkan secara terurut pada harddis k . Data pada tabel database Anda akan terurut secara  logical  pada level pages dan extent.
Index clustered index non-clustered index.
C lustered  I ndex Clustered index dapat diumpamakan seperti index huruf pada sebuah kamus.  Mencari  arti kata ‘mobil’ di Kamus Besar Bahasa Indonesia (KBBI)  : membuka kamus berdasarkan index hurufnya mencari huruf ‘m’ meneruskan pencarian hingga menemukan halaman yang mengandung kata ‘mo’ mengakhiri proses pencarian hingga  didapat  kata  “ mobil ”
C lustered … Saat sebuah data baru  dimasukkan , maka  DB  akan memaksa untuk memasukkan data tersebut pada urutan yang seharusnya. B agaimana cara  DB  tahu urutan yang sebenarnya dan kita inginkan ? Terapkan  clustered index pada kolom tabel yang paling sering diakses oleh user  (    bagaimana bisa ?)
Saran… Oleh karena itu, sangat  disarankan  pembuatan kolom tabel yang spesifik.  Misal  :  TabelKTP pada database DataKaryawan   
 
karena pencarian data pada database KTP lebih banyak menggunakan parameter nama belakang, maka dapat  diterapkan   clustered index pada kolom  Nama Belakang . Hal ini akan membuat proses pencarian data pada server database lebih cepat.
Cara menerapkan clustered index ?  Command Line GUI-based
CREATE CLUSTERED INDEX ci_namabelakang ON TabelKTP(NamaBelakang);  ci_namabelakang adalah nama  clustered index yang kita buat, sedangkan TabelKTP adalah nama tabel dimana kita ingin menerapkan clustered index pada salah satu kolomnya, sedangkan (NamaBelakang) adalah kolom yang akan diberikan clustered index.
Clustered… note… Perlu diingat bahwa clustered index hanya bisa diterapkan sebanyak 1 kali pada 1 tabel, dan secara otomatis, sebuah primary key juga akan menjadi clustered index pada tabel tersebut. Clustered index sebaiknya diterapkan pada kolom tabel yang paling sering digunakan pada saat pencarian data.
Non-clustered Index  non-clustered index dapat diumpamakan seperti sebuah daftar indeks pada buku.
Jika kita mencari sebuah arti kata atau pembahasan mengenai sebuah kata pada buku yang memiliki indeks pada bagian belakangnya, maka yang kita lakukan pertama kali adalah mencari kata tersebut pada indeks buku.
Setelah kata ditemukan, maka apakah kita langsung mendapatkan hasil yang kita cari? Tidak. Kita masih harus mencari penjelasan mengenai kata tersebut pada halaman yang tercantum di sebelah kata tersebut bukan?
I lustrasi tersebut berlaku juga pada non-clustered index. Non-clustered index berisi pointer-pointer yang menunjukkan lokasi sesungguhnya dari data Cara ini sedikit lebih membutuhkan waktu pencarian dibanding dengan metode clustered index, namun pada database dengan skala OLDB atau VLDB, metode ini sangat membantu dibanding dengan penggunaan metode table-scan.
non-clustered index dapat diimplementasikan sebanyak 249 buah pada sebuah tabel.
Cara penerapan : Command Line GUI-based
Misalnya, jika pada tabel KTP pada database DataKaryawan, parameter yang juga sering digunakan dalam pencarian data (selain nama belakang) adalah tanggal lahir, maka dapat  diimplementasikan  non-clustered index dengan cara sebagai berikut :  CREATE NONCLUSTERED INDEX nci_tanggallahir ON TabelKTP(TanggalLahir);
DEMO
Tanpa Index sama sekali   disebut HEAPs
Dengan Primary Key (Index Primer)
Tanpa Index Sekunder
Dengan Index  (untuk atribut FirstName)

More Related Content

Viewers also liked (9)

PPT
Heidi Land
jerzy kus
 
PPT
Www Officesoon Com Power Point Presentation
Adarsh Singh
 
PPT
Giuseppe Vaciago Profili giuridici dell'indagine digitale 08 09 18 Ordine Ber...
Andrea Rossetti
 
PPT
Timeschedule
jerinewong
 
PPT
Sbs Sept21 2008
BertBrim
 
PDF
Simulasi - Pertemuan II
Dimara Hakim
 
PPS
Mapa Del Mundo Desde El Cielo
romagonza
 
PPT
Simulasi - Pertemuan III
Dimara Hakim
 
PDF
Simulasi - Pertemuan IV
Dimara Hakim
 
Heidi Land
jerzy kus
 
Www Officesoon Com Power Point Presentation
Adarsh Singh
 
Giuseppe Vaciago Profili giuridici dell'indagine digitale 08 09 18 Ordine Ber...
Andrea Rossetti
 
Timeschedule
jerinewong
 
Sbs Sept21 2008
BertBrim
 
Simulasi - Pertemuan II
Dimara Hakim
 
Mapa Del Mundo Desde El Cielo
romagonza
 
Simulasi - Pertemuan III
Dimara Hakim
 
Simulasi - Pertemuan IV
Dimara Hakim
 

Similar to Index (20)

PDF
Penjelasan indexing database 1411510850
fitrohtulhadi
 
PDF
Penjelasan indexing database
Samsul Arifin
 
PDF
Sistem manajemen basis data
Theresia Magdalena
 
PDF
Design Algoritma Pemrograman Tingkat Lanjut
rony setyawansyah
 
PPT
Tugas4 (individu)-andrian lesmana-1311510448
Andrian Lesmana
 
PPTX
Proyek 10
rainbi
 
PPTX
Proyek 10
rainbi
 
PPTX
Bab 10 proyek
Elsa Mayasari
 
PPTX
Bab 10 proyek
Novilia Suti ismawardani
 
DOCX
Tugas 8, septi hendarwati,yananto mihadi putra, se, m.si, konsep basis data r...
SeptiHendarwati
 
PPTX
Pemodelan database
Putra Andry
 
PPTX
Tugas iv 0317_arie firmandani_1512510445
Arie Firmandani
 
PDF
Pert 3 Pemodelan Database dalam mata kuliah DBMS.pdf
NafisClassic
 
DOCX
Apa itu database??
Farichah Riha
 
PDF
Makalah casandra facebook
Busttomi Raharjo
 
PPTX
Tugas 4 0317-nurulazmi-1412510487
nurul azmi
 
PPTX
Tugas 4 0317-imelda felicia-1412510545
imeldafelicia
 
PPTX
INFORMATIKA - SORTING -BERFIKIR KOMPUTASIONAL-.pptx
windauntukdaftarai
 
PPT
Bab 6
ernawati8
 
PPT
Bab 6
alumrossyana
 
Penjelasan indexing database 1411510850
fitrohtulhadi
 
Penjelasan indexing database
Samsul Arifin
 
Sistem manajemen basis data
Theresia Magdalena
 
Design Algoritma Pemrograman Tingkat Lanjut
rony setyawansyah
 
Tugas4 (individu)-andrian lesmana-1311510448
Andrian Lesmana
 
Proyek 10
rainbi
 
Proyek 10
rainbi
 
Bab 10 proyek
Elsa Mayasari
 
Tugas 8, septi hendarwati,yananto mihadi putra, se, m.si, konsep basis data r...
SeptiHendarwati
 
Pemodelan database
Putra Andry
 
Tugas iv 0317_arie firmandani_1512510445
Arie Firmandani
 
Pert 3 Pemodelan Database dalam mata kuliah DBMS.pdf
NafisClassic
 
Apa itu database??
Farichah Riha
 
Makalah casandra facebook
Busttomi Raharjo
 
Tugas 4 0317-nurulazmi-1412510487
nurul azmi
 
Tugas 4 0317-imelda felicia-1412510545
imeldafelicia
 
INFORMATIKA - SORTING -BERFIKIR KOMPUTASIONAL-.pptx
windauntukdaftarai
 
Bab 6
ernawati8
 
Bab 6
alumrossyana
 
Ad

More from Dimara Hakim (20)

PPT
Simulasi - Pertemuan I
Dimara Hakim
 
PPT
Transaction
Dimara Hakim
 
PDF
modul6
Dimara Hakim
 
PPT
JENI Slides-Intro1-Bab06-Struktur kontrol
Dimara Hakim
 
PPT
Desain Top Down
Dimara Hakim
 
PPT
Pemrograman Modular
Dimara Hakim
 
PPT
Struktur Level Program
Dimara Hakim
 
PPT
Struktur Level Data
Dimara Hakim
 
PPT
Denormalisasi
Dimara Hakim
 
PDF
query optimization
Dimara Hakim
 
PDF
ELS
Dimara Hakim
 
PDF
ASC
Dimara Hakim
 
PPT
PENDAHULUAN. SISTEM, MODEL, DAN SIMULASI
Dimara Hakim
 
PPT
Tugas 1
Dimara Hakim
 
PPT
Disk-based storage
Dimara Hakim
 
PPT
Physical elements of data
Dimara Hakim
 
DOC
Normalisasi
Dimara Hakim
 
PPT
b - Normalizing a Data Model
Dimara Hakim
 
PPT
a - Normalizing a Data Model
Dimara Hakim
 
PPT
Data Access Technologies
Dimara Hakim
 
Simulasi - Pertemuan I
Dimara Hakim
 
Transaction
Dimara Hakim
 
modul6
Dimara Hakim
 
JENI Slides-Intro1-Bab06-Struktur kontrol
Dimara Hakim
 
Desain Top Down
Dimara Hakim
 
Pemrograman Modular
Dimara Hakim
 
Struktur Level Program
Dimara Hakim
 
Struktur Level Data
Dimara Hakim
 
Denormalisasi
Dimara Hakim
 
query optimization
Dimara Hakim
 
PENDAHULUAN. SISTEM, MODEL, DAN SIMULASI
Dimara Hakim
 
Tugas 1
Dimara Hakim
 
Disk-based storage
Dimara Hakim
 
Physical elements of data
Dimara Hakim
 
Normalisasi
Dimara Hakim
 
b - Normalizing a Data Model
Dimara Hakim
 
a - Normalizing a Data Model
Dimara Hakim
 
Data Access Technologies
Dimara Hakim
 
Ad

Recently uploaded (16)

PDF
Presentasi AI dan Perkembangannya di Masa Ini
eko albahri
 
PPTX
JARINGAN BERBASIS LUAS WAN DAN TCP .pptx
julianasinaga5
 
PPTX
Modul Aman Bermedia Digital di era Milenial
aiprahman
 
PPTX
Singgle Board Computetr _SBC_SBC.pptx Informatika
SubaySubay
 
PDF
Kehidupan Mengembangkan IPTEK. dan Melestarikan seni serta budaya Warga Muham...
2415037014
 
PPTX
ALGORITMA PEMROGRAMAN KELAS X SMK KK PPLG
sekolahsmk1
 
PPTX
materi tentang Pengenalan komputer (pert 2).pptx
papulinglaras
 
PPTX
TUGAS PRESENTASI KE 2 PADA KELAS 12 SMK TJKT
ulumroger
 
PPTX
PENGERTIAN OSI LAYER DAN TUGAS NYA .pptx
julianasinaga5
 
PPTX
Kebijakan Pengelolaan SD Perikanan Berkelanjutan Banten, Seksi PSDI.pptx
TediGumelarDurachman
 
PPTX
TUGAS KONFIGURASI JARINGAN PADA KELAS 12 SMK
ulumroger
 
PPTX
Modul_Ajar_Rangkaian_Lampu_Belok_SMK.pptx
TeukuAqilAzizi
 
PPTX
materi tentang pengenalan Pengantar Komputer.pptx
papulinglaras
 
PPTX
Pengenalan komputer (pertemuan ke 2).pptx
papulinglaras
 
PPTX
6. PROGRAM PEMULIAAN IKAN GURAME_SINGAPARNA 6-8 Desember 2017.pptx
TediGumelarDurachman
 
PPTX
PROMPT MODUL AJAR FASE F KELAS XI MEI 2025.pptx
SultonilHakim1
 
Presentasi AI dan Perkembangannya di Masa Ini
eko albahri
 
JARINGAN BERBASIS LUAS WAN DAN TCP .pptx
julianasinaga5
 
Modul Aman Bermedia Digital di era Milenial
aiprahman
 
Singgle Board Computetr _SBC_SBC.pptx Informatika
SubaySubay
 
Kehidupan Mengembangkan IPTEK. dan Melestarikan seni serta budaya Warga Muham...
2415037014
 
ALGORITMA PEMROGRAMAN KELAS X SMK KK PPLG
sekolahsmk1
 
materi tentang Pengenalan komputer (pert 2).pptx
papulinglaras
 
TUGAS PRESENTASI KE 2 PADA KELAS 12 SMK TJKT
ulumroger
 
PENGERTIAN OSI LAYER DAN TUGAS NYA .pptx
julianasinaga5
 
Kebijakan Pengelolaan SD Perikanan Berkelanjutan Banten, Seksi PSDI.pptx
TediGumelarDurachman
 
TUGAS KONFIGURASI JARINGAN PADA KELAS 12 SMK
ulumroger
 
Modul_Ajar_Rangkaian_Lampu_Belok_SMK.pptx
TeukuAqilAzizi
 
materi tentang pengenalan Pengantar Komputer.pptx
papulinglaras
 
Pengenalan komputer (pertemuan ke 2).pptx
papulinglaras
 
6. PROGRAM PEMULIAAN IKAN GURAME_SINGAPARNA 6-8 Desember 2017.pptx
TediGumelarDurachman
 
PROMPT MODUL AJAR FASE F KELAS XI MEI 2025.pptx
SultonilHakim1
 

Index

  • 1. Pertimbangan penggunaaan INDEX Dimara Kusuma Hakim, ST. Rangga Praduwiratna. INDEXING CONSIDERATIONS
  • 2. “ DATABASE PERFORMANCE,” what do you think it means? Most of us think of how FAST a database returns a QUERY.
  • 3. Performance can be tuned to retrieve datasets in the most efficient way possible. One of the primary ways of speeding access to the data is by using an INDEX
  • 4. Tabel pada sebuah database yang tidak menggunakan index (disebut heap s) menggunakan metode “ table-scan ” saat dilakukan pencarian data atau pengaksesan query. “ Table scan ” dapat diumpamakan seperti mencari sebuah arti kata dalam pada sebuah buku yang tidak memiliki indeks huruf.
  • 5. Contoh : sebuah buku dengan index Mencari arti kata ‘mobil’ di Kamus Besar Bahasa Indonesia (KBBI) : membuka kamus berdasarkan index hurufnya mencari huruf ‘m’ meneruskan pencarian hingga menemukan halaman yang mengandung kata ‘mo’ mengakhiri proses pencarian hingga didapat kata “ mobil ”
  • 6. Buku Tanpa Index Huruf ? mencari dari awal halaman hingga menemukan kata yang di cari. perumpamaan “ table-scan ” adalah seperti hal ini. Table-scan akan mencari data pada tabel database dari awal hingga menemukan data yang dicari.
  • 7. Data yang tersimpan, sebenarnya tidak terurut sama sekali !!! sistem penyimpanan data pada DB adalah melalui pages. Setiap pages hanya terdiri dari 8Kb data, dan 8 buah pages (64kb) tersebut akan disimpan pada sebuah extent. Walaupun data yang dimunculkan terlihat terurut, namun sebenarnya cara pencarian data tersebut tidak dilakukan dengan cara yang di umpamakan tadi (index huruf pada KBBI),
  • 8. Ilustrasi pencarian data akan dimulai dari pages pertama hingga pages terakhir dari sebuah extent, jika tidak ditemukan maka akan dilanjutkan ke extent berikutnya. Kelemahan : saat memasukkan data pada tabel tertentu, data tidak secara otomatis disimpan secara terurut, namun disimpan pada pages yang masih bisa menyimpan data.
  • 9. Jadi saat memasukkan data yang harusnya berada di urutan 2 pada tabel, data ini akan disimpan pada pages terakhir yang masih bisa menyimpan data. Hal inilah yang seringkali membuat proses pencarian data menjadi lebih lama pada database yang tidak memiliki index, terutama pada database dengan skala OLDB (Online Large Database) dan VLDB (Very Large Database).
  • 10. Solusi : Index Perlu diingat , setelah Index diterapkan , data tidak akan terurut secara fisik. Hal ini berarti, data tidak diurutkan secara terurut pada harddis k . Data pada tabel database Anda akan terurut secara logical pada level pages dan extent.
  • 11. Index clustered index non-clustered index.
  • 12. C lustered I ndex Clustered index dapat diumpamakan seperti index huruf pada sebuah kamus. Mencari arti kata ‘mobil’ di Kamus Besar Bahasa Indonesia (KBBI) : membuka kamus berdasarkan index hurufnya mencari huruf ‘m’ meneruskan pencarian hingga menemukan halaman yang mengandung kata ‘mo’ mengakhiri proses pencarian hingga didapat kata “ mobil ”
  • 13. C lustered … Saat sebuah data baru dimasukkan , maka DB akan memaksa untuk memasukkan data tersebut pada urutan yang seharusnya. B agaimana cara DB tahu urutan yang sebenarnya dan kita inginkan ? Terapkan clustered index pada kolom tabel yang paling sering diakses oleh user (  bagaimana bisa ?)
  • 14. Saran… Oleh karena itu, sangat disarankan pembuatan kolom tabel yang spesifik. Misal : TabelKTP pada database DataKaryawan 
  • 15.  
  • 16. karena pencarian data pada database KTP lebih banyak menggunakan parameter nama belakang, maka dapat diterapkan clustered index pada kolom Nama Belakang . Hal ini akan membuat proses pencarian data pada server database lebih cepat.
  • 17. Cara menerapkan clustered index ? Command Line GUI-based
  • 18. CREATE CLUSTERED INDEX ci_namabelakang ON TabelKTP(NamaBelakang); ci_namabelakang adalah nama clustered index yang kita buat, sedangkan TabelKTP adalah nama tabel dimana kita ingin menerapkan clustered index pada salah satu kolomnya, sedangkan (NamaBelakang) adalah kolom yang akan diberikan clustered index.
  • 19. Clustered… note… Perlu diingat bahwa clustered index hanya bisa diterapkan sebanyak 1 kali pada 1 tabel, dan secara otomatis, sebuah primary key juga akan menjadi clustered index pada tabel tersebut. Clustered index sebaiknya diterapkan pada kolom tabel yang paling sering digunakan pada saat pencarian data.
  • 20. Non-clustered Index non-clustered index dapat diumpamakan seperti sebuah daftar indeks pada buku.
  • 21. Jika kita mencari sebuah arti kata atau pembahasan mengenai sebuah kata pada buku yang memiliki indeks pada bagian belakangnya, maka yang kita lakukan pertama kali adalah mencari kata tersebut pada indeks buku.
  • 22. Setelah kata ditemukan, maka apakah kita langsung mendapatkan hasil yang kita cari? Tidak. Kita masih harus mencari penjelasan mengenai kata tersebut pada halaman yang tercantum di sebelah kata tersebut bukan?
  • 23. I lustrasi tersebut berlaku juga pada non-clustered index. Non-clustered index berisi pointer-pointer yang menunjukkan lokasi sesungguhnya dari data Cara ini sedikit lebih membutuhkan waktu pencarian dibanding dengan metode clustered index, namun pada database dengan skala OLDB atau VLDB, metode ini sangat membantu dibanding dengan penggunaan metode table-scan.
  • 24. non-clustered index dapat diimplementasikan sebanyak 249 buah pada sebuah tabel.
  • 25. Cara penerapan : Command Line GUI-based
  • 26. Misalnya, jika pada tabel KTP pada database DataKaryawan, parameter yang juga sering digunakan dalam pencarian data (selain nama belakang) adalah tanggal lahir, maka dapat diimplementasikan non-clustered index dengan cara sebagai berikut : CREATE NONCLUSTERED INDEX nci_tanggallahir ON TabelKTP(TanggalLahir);
  • 27. DEMO
  • 28. Tanpa Index sama sekali  disebut HEAPs
  • 29. Dengan Primary Key (Index Primer)
  • 31. Dengan Index (untuk atribut FirstName)