Forum Dhammacitta

Komunitas => Ilmu Pengetahuan dan Teknologi => Teknologi Informasi => Topic started by: hatRed on 07 January 2009, 04:49:47 PM

Title: Indexing ??? binatang apakah itu ???
Post by: hatRed on 07 January 2009, 04:49:47 PM
yak, dah di buat. mohon yg jago jago, memberikan ilmunya

tentang indexing

-apa itu indexing

-apa saja req nya

-bagaimana membuatnya

-apa saja yg diperhatikan
Title: Re: Indexing ??? binatang apakah itu ???
Post by: tesla on 07 January 2009, 04:56:55 PM
ga gitu tau jg sih

Quote from: hatRed on 07 January 2009, 04:49:47 PM
-apa itu indexing
sebuah column dalam table yg fungsinya menyusun penyimpanan lebih rapi (berdasarkan index tadi) shg proses cari jadi lebih cepat

Quote
-apa saja req nya
ga ada keknya :P

Quote
-bagaimana membuatnya
buat column index aja

Quote
-apa saja yg diperhatikan
em... monitor pas ngetik mungkin
Title: Re: Indexing ??? binatang apakah itu ???
Post by: polandio on 07 January 2009, 05:02:07 PM
Hahaha... itu bukan binatang sdr. hatRed. Itu merupakan malaikat dimana user sudah tidak tahu bagaimana merapikan databasenya.

Untuk keterangan mungkin bisa dilihat disini.
http://20bits.com/articles/interview-questions-database-indexes/
http://mattfleming.com/node/192

Bagaimana cara menggunakannya?
Sebenarnya simple saja. Pada saat sdr. membuat sebuah tabel di database secara otomatis dia melakukan indexing. Hal ini dinamakan indexing database. Ada pula dinamakan index tabel dimana index dilakukan pada saat sdr. menaruh primary key pada tabel tersebut. Maka secara otomatis index mengacu pada field primary.

req?
Tidak ada req, yang penting ada database dan tabel

Perhatikan?
Harus diperhatikan bila hal ini dirubah menjadi manual. Sdr harus tahu mana yang paling dominan dalam hal pencarian. Misalnya field id yang paling dominan dalam akses maka index mengacu pada field id.
Title: Re: Indexing ??? binatang apakah itu ???
Post by: hatRed on 07 January 2009, 05:04:39 PM
hmmm..... trus mengenai indexing yg tadi masalah si kiman (kok masih aneh ya ma namanya :hammer:)

itu yg mana?
Title: Re: Indexing ??? binatang apakah itu ???
Post by: FZ on 07 January 2009, 06:05:16 PM
Quote from: hatRed on 07 January 2009, 04:49:47 PM
yak, dah di buat. mohon yg jago jago, memberikan ilmunya

tentang indexing

-apa itu indexing

-apa saja req nya

-bagaimana membuatnya

-apa saja yg diperhatikan
sebelum dijawab.. tentukan dulu databasenya.. tiap database memiliki cara indexing yang berbeda. dan ada keunggulan masing2 db ditinjau dari segi kecepatan / penampilan... ada database yang file index dan file db nya tergabung, ada juga yang terpisah.

Title: Re: Indexing ??? binatang apakah itu ???
Post by: Sumedho on 07 January 2009, 08:09:50 PM
kalau dari sudut lain *selain indexing relational database, indexing adalah daftar keyword yg tersusun dari sekelompok data yg memiliki rujukan kemana dia ada. Misalnya ada teks sebesar 10 mb. kalau disearch tentu harus cari sequensial. Kalau di index, kita cari diindex lalu langsung bisa tahu dimana teks itu ada.

Title: Re: Indexing ??? binatang apakah itu ???
Post by: Sukma Kemenyan on 07 January 2009, 10:03:12 PM
INDEX'ing itu kalao dalam kehidupan sehari-hari bagaikan "Table of Content"-nya buku...
INDEX'ing itu bagaikan pengelompokan... Yang cewe... sebelah kanan... Yang cowo sebelah kiri...

Tujuannya? Supaya gampang di cari...

Title: Re: Indexing ??? binatang apakah itu ???
Post by: Sukma Kemenyan on 07 January 2009, 10:23:51 PM
Contoh kasus...
CREATE TABLE IF NOT EXISTS `tablename` (
  `id` int unsigned NOT NULL auto_increment,
  `kode_barang` char(10) default NULL,
  PRIMARY KEY  (`id`),
  KEY `kode_barang` (`kode_barang`(2))
);

lalu... ada 100 row... yg isi'nya kira-kira
  1 AA00001
  2 AA00002
  3 CD00001
  4 CD00002
...
100 XY00021

Nagh... dengan INDEX KEY `kode_barang` (`kode_barang`(2))
berarti maksudnya... dua char didepan dikelompok2i...

so... semoa AA di kelompokin.... AB di kelompokin... XY dikelompokin...
sama si DB Engine

Hasilnya...
serupa kek kita lage ngeliad cewe... cuma lirik yg disebelah kanan... dagh ktmu...

Inti'nya sich untuk mempercepat searching... WHERE kode_barang = '.....';

Yang perlu diperhatiin...
Jangan terlalu sering nge-update yg dikelompokin...
contoh negh... barisan cewe sebelah kanan... barisan cowo sebelah kiri...
dah rapi-rapi semoanya...
tiba-tiba ada cowo yg nyempil didalem barisan cewe...
elo rubah status dia ke cowo... dengan berarti elo mesti pindahin dia kebarisan cowo...

dan... kacaulah barisan...
yg dibelakang si cowo gemblung ini mesti maju kedepan tuk ngerapiin barisan...

so... INDEXING... kurang bagus peforma'nya kalao bakalan sering di UPDATE2x... (berubah2x value'nya)
Title: Re: Indexing ??? binatang apakah itu ???
Post by: kiman on 07 January 2009, 10:27:05 PM
primary key n unique key ketika di create, otomatis uda ada index nya...
Title: Re: Indexing ??? binatang apakah itu ???
Post by: Lex Chan on 07 January 2009, 11:07:22 PM
ada metode lain selain indexing untuk searching?

uda lama neh ngga maen database.. ^-^
Title: Re: Indexing ??? binatang apakah itu ???
Post by: polandio on 07 January 2009, 11:18:04 PM
sdr. kemenyan. kok yang kiri ga diliat lagi? hahaha... ;D

sdr. Lex Chan indexing bukan searching tetapi penerapan untuk siap-siap perang antar query bila dimaksud kepada indexing table
Title: Re: Indexing ??? binatang apakah itu ???
Post by: johan3000 on 07 January 2009, 11:52:40 PM
si Index adalah cara mencari dgn cepat (dgn index file) dimana keuntungnya.. bila ada penambahan, penghapusan, perubahan data, maka index filenya dpt update dgn seketika... dan bila index filenya rusak, dgn mudah dibuat lagi (rebuilt). Dgn adanya sistem index ini, database dpt memiliki lebih dari satu index...

sedangkan databse yg tanpa index.... yg sorted (diurut) adalah tidak efficient apabila ada perubahan data (primary key), dan penambahan data... maka database akan disorted lagi yg memakan waktu lama.

utk memakainya... ya harus dibuat dulu (create)....

yg harus diperhatikan... ingat saya index keynya sebaiknya sama panjang (same length)...
dan utk date...pakai ascii date....

primary key, foreign key, etc...

pertanyaan : Kalau utk suta2 Buddhist, apa yg bisa dibuat utk index key? dan kenapa?

thanks

kira2 begitulah .....(sptnya lagi ujian atau lagi di interview)
Title: Re: Indexing ??? binatang apakah itu ???
Post by: tesla on 08 January 2009, 08:30:08 AM
Quote from: polandio on 07 January 2009, 11:18:04 PM
sdr. Lex Chan indexing bukan searching tetapi penerapan untuk siap-siap perang antar query bila dimaksud kepada indexing table

lho... indexing kan emg utk searching... bener ga?
Title: Re: Indexing ??? binatang apakah itu ???
Post by: hatRed on 08 January 2009, 09:28:38 AM
menanggapi ide bro johan3R

indexing di DC ini gmana ya?
Title: Re: Indexing ??? binatang apakah itu ???
Post by: Sumedho on 08 January 2009, 10:00:01 AM
yah sama teorinya, dibikin daftar kata :)
Title: Re: Indexing ??? binatang apakah itu ???
Post by: kiman on 08 January 2009, 11:04:25 PM
Quote from: tesla on 08 January 2009, 08:30:08 AM
Quote from: polandio on 07 January 2009, 11:18:04 PM
sdr. Lex Chan indexing bukan searching tetapi penerapan untuk siap-siap perang antar query bila dimaksud kepada indexing table

lho... indexing kan emg utk searching... bener ga?
secara umum, jawabannya iya. utk index yg independen (bukan primary n unique key), jumlah data/record sebaiknya ribuan ato lebih. kalo sedikit, indexing malah memperberat kinerja DB.

secara spesifik, indexing mempercepat data retrieval (SELECT Statement).

berbeda dg primary key, primary key itu penting. di DB Ms. Access, kalo ga ada primary, table ga bs di create...

bener ga?
Title: Re: Indexing ??? binatang apakah itu ???
Post by: polandio on 08 January 2009, 11:34:18 PM
Agar lebih cepat menangkap, apakah itu indexing. Wa akan memberikan contoh yang simpel. Mudah-mudah bener. Hehehe...

Misalnya terdapat kumpulan huruf seperti ini

AASSSBSSBSBSBSUUDUDUDBJJHHEEE

Bila kita ingin mencari J maka komputer secara otomatis akan membabi buta dalam hal pencarian. Hal ini kita kenal sebagai Brute-force searching. Tetapi bagaimana jika kita menggunakan algoritma indexing? Contoh paling sederhana adalah jika setiap huruf kita beri index (angka setiap hurufnya, A-1, A-2, S-3, S-4, dstnya).

Pada saat kita ingin mencari huruf J maka komputer sudah dapat menangkap mana dimana sih J itu.

Tapi ini juga masih memerlukan memori yang sangat besar. Maka dikembangkanlah sorting (Pengurutan) untuk memudahkan pencarian. Hingga pada saat ini, sebagian database menggunakan algoritma yang umum dalam indexing yaitu B-TREE algorithm (Bisa dilihat pada post wa yang terdahulu).

sdri. kiman, sebenarnya didalam ms. access db, tabel juga bisa dibuat walaupun tanpa primary key. Coba saja sdri. menggunakan query untuk membuat tabel tanpa primary key. GUI nya memang memaksa kita bahwa setiap tabel harus mempunyai primary key.

Semoga membantu.
Title: Re: Indexing ??? binatang apakah itu ???
Post by: tesla on 09 January 2009, 12:46:10 AM
Quote from: kiman on 08 January 2009, 11:04:25 PM
secara spesifik, indexing mempercepat data retrieval (SELECT Statement).

sepertinya bukan mempercepat proses di statement SELECT nya, tapi di WHERE clause nya... CMIIW
proses pencarian dapat terjadi di UPDATE & DELETE jg...

mis:
UPDATE ... WHERE ...
DELETE ... WHERE ...
& pastinya
SELECT ... WHERE ...
Title: Re: Indexing ??? binatang apakah itu ???
Post by: kiman on 09 January 2009, 06:35:44 PM
 [at] polandio
oo kalo saya si GUI hehehe... baru tau, kalo query nya bs too...
umumnya B-TREE index. di oracle ada bitmap index juga. baru baca...

[at] tesla
oh iya ya... bener2...
thx uda dibenerin...

[at] hatred
uda ngerti blm ko?
Title: Re: Indexing ??? binatang apakah itu ???
Post by: hatRed on 09 January 2009, 08:09:27 PM
blon semua,

mungkin bisa kasih contoh

apakah index itu berupa database?

kalo iya, kek gimana? tablenya apa aja? fieldnya kek gmana?

bisa diberikan contoh fisiknya?

[at] kiman (teb) ^-^

apakah pas benchmarkingnya cuman, populasi data trus ngetes pake query doank?
Title: Re: Indexing ??? binatang apakah itu ???
Post by: tesla on 09 January 2009, 09:39:28 PM
Quote from: hatRed on 09 January 2009, 08:09:27 PM
apakah index itu berupa database?
indexing itu sebenarnya dapat ditemukan dalam aplikasi kehidupan kita sehari2...
contoh yg sederhana: buku telpon. yg dulu ada index A, B, ... Z
index tsb mempermudah kita mencari... mis, mo cari nama hatred, maka saya mulai cari index H & langsung membuka halaman yg isi nama2 yg berawalan H.

detail implementasi dalam database bisa beda2...
disinilah sdri kiman ingin menguji performance antara 2 database yg dikenal umum.
Title: Re: Indexing ??? binatang apakah itu ???
Post by: hatRed on 09 January 2009, 09:49:17 PM
 [at] bos tesla

maksudnya yg si kiman mo kerjain itu, dimana kita bisa buka database indexnya?
i dah punya sql server, tapi nyari table index yg mana ya?
Title: Re: Indexing ??? binatang apakah itu ???
Post by: polandio on 09 January 2009, 10:00:36 PM
Untuk SQL Server 2008. Lihat saja disini
http://msdn.microsoft.com/en-us/library/ms188783.aspx
Title: Re: Indexing ??? binatang apakah itu ???
Post by: tesla on 09 January 2009, 10:23:55 PM
Quote from: hatRed on 09 January 2009, 09:49:17 PM
[at] bos tesla

maksudnya yg si kiman mo kerjain itu, dimana kita bisa buka database indexnya?
i dah punya sql server, tapi nyari table index yg mana ya?

wah kiman beruntung nih, dapat 1 partner sukarela...
coba tanya ama sdri kiman aja... aye jg ga jelas skripsinya gimana
Title: Re: Indexing ??? binatang apakah itu ???
Post by: johan3000 on 09 January 2009, 11:20:51 PM
Quote from: hatRed on 08 January 2009, 09:28:38 AM
menanggapi ide bro johan3R

indexing di DC ini gmana ya?

Mungkin sejenis forum ini....
ada databse, indexing, dan Template (utk penampilan)...
yg mirip2 blogs begitu.... dan bisa juga index nya ada beberapa macam (mungkin)...
ada yg perlu cepat atau ada yg cukup search biasa.....

Dan yg lebih menarik adalah bagaimana membuat struktur databasenya utk
mengakomodir keinnginan user....

salah satu topik indes spt yg di visualFoxpro... rushmore.... mungkin menarik
utk dipelajarin bagi yg ingin jualan di teknology index.... sedangkan bagi pemakai...
(orang awam)... cukup mempelajarin STATEMENT utk menggunakannnya....

Adakah yg tau mengenai word count di tripitaka?....
kata2 manakah yg paling sering dipakai serta memiliki makna?
spt PENCERAHAN... berapa kali disebutkan?...
TUHAN berapa kali disebutkan?

Title: Re: Indexing ??? binatang apakah itu ???
Post by: kiman on 10 January 2009, 02:25:39 PM
 [at] yg tanya skripsi wa kek gimana
gini koko...
wa ngebandingin kecepatan indexing pada table di Oracle n SQL Server.
cara nya gini: wa create table, create index pada salah satu column di table tsb. trus wa insert sktr 1000 data kesitu. sebelum insert, wa catat waktunya. sesudah insert, wa catat lg waktunya. trus dibandingin antara oracle vs sql server... uda gitu doank... kalo uda selesai, tgl sidang deh...
Title: Re: Indexing ??? binatang apakah itu ???
Post by: kiman on 10 January 2009, 02:27:54 PM
oya, biar gampang ttg index, di ebook jaman skrg kan bagian akhirnya ada INDEX, ya kurang lebih sama kek gitu, biar mempermudah pencarian kata pada ebook tsb. hasilnya ya berupa halaman dimana kata tsb di ebook ybs...
Title: Re: Indexing ??? binatang apakah itu ???
Post by: hatRed on 10 January 2009, 03:20:01 PM
Quote from: kiman on 10 January 2009, 02:25:39 PM
[at] yg tanya skripsi wa kek gimana
gini koko...
wa ngebandingin kecepatan indexing pada table di Oracle n SQL Server.
cara nya gini: wa create table, create index pada salah satu column di table tsb. trus wa insert sktr 1000 data kesitu. sebelum insert, wa catat waktunya. sesudah insert, wa catat lg waktunya. trus dibandingin antara oracle vs sql server... uda gitu doank... kalo uda selesai, tgl sidang deh...

gitu doank bisa jadi skripsi ???

aneh, sungguh aneh
Title: Re: Indexing ??? binatang apakah itu ???
Post by: tesla on 10 January 2009, 04:39:22 PM
Quote from: hatRed on 10 January 2009, 03:20:01 PM
Quote from: kiman on 10 January 2009, 02:25:39 PM
[at] yg tanya skripsi wa kek gimana
gini koko...
wa ngebandingin kecepatan indexing pada table di Oracle n SQL Server.
cara nya gini: wa create table, create index pada salah satu column di table tsb. trus wa insert sktr 1000 data kesitu. sebelum insert, wa catat waktunya. sesudah insert, wa catat lg waktunya. trus dibandingin antara oracle vs sql server... uda gitu doank... kalo uda selesai, tgl sidang deh...

gitu doank bisa jadi skripsi ???

aneh, sungguh aneh

mungkin ga 1000 data aja kali...
data yg diuji mungkin jutaan, belum termasuk jenis variasinya
mis: ada data yg sama sekali random, atau ada yg memiliki kesamaan terkelompok.
mungkin kiman jg bisa hitung big o nya kalau seandainya ada membahas algoritma searchingnya.
benar ga kiman?
Title: Re: Indexing ??? binatang apakah itu ???
Post by: Mr. Bagus on 10 January 2009, 06:54:28 PM
Quote from: polandio on 08 January 2009, 11:34:18 PM
Agar lebih cepat menangkap, apakah itu indexing. Wa akan memberikan contoh yang simpel. Mudah-mudah bener. Hehehe...

Misalnya terdapat kumpulan huruf seperti ini

AASSSBSSBSBSBSUUDUDUDBJJHHEEE

Bila kita ingin mencari J maka komputer secara otomatis akan membabi buta dalam hal pencarian. Hal ini kita kenal sebagai Brute-force searching. Tetapi bagaimana jika kita menggunakan algoritma indexing? Contoh paling sederhana adalah jika setiap huruf kita beri index (angka setiap hurufnya, A-1, A-2, S-3, S-4, dstnya).

Pada saat kita ingin mencari huruf J maka komputer sudah dapat menangkap mana dimana sih J itu.

Tapi ini juga masih memerlukan memori yang sangat besar. Maka dikembangkanlah sorting (Pengurutan) untuk memudahkan pencarian. Hingga pada saat ini, sebagian database menggunakan algoritma yang umum dalam indexing yaitu B-TREE algorithm (Bisa dilihat pada post wa yang terdahulu).

sdri. kiman, sebenarnya didalam ms. access db, tabel juga bisa dibuat walaupun tanpa primary key. Coba saja sdri. menggunakan query untuk membuat tabel tanpa primary key. GUI nya memang memaksa kita bahwa setiap tabel harus mempunyai primary key.

Semoga membantu.

Kok jadi seperti Hash ya?
Kalo pake minimal perfect hash, t pencarian bisa nyaris 0 lho !
Title: Re: Indexing ??? binatang apakah itu ???
Post by: kiman on 11 January 2009, 11:18:01 AM
Quote from: tesla on 10 January 2009, 04:39:22 PM
Quote from: hatRed on 10 January 2009, 03:20:01 PM
Quote from: kiman on 10 January 2009, 02:25:39 PM
[at] yg tanya skripsi wa kek gimana
gini koko...
wa ngebandingin kecepatan indexing pada table di Oracle n SQL Server.
cara nya gini: wa create table, create index pada salah satu column di table tsb. trus wa insert sktr 1000 data kesitu. sebelum insert, wa catat waktunya. sesudah insert, wa catat lg waktunya. trus dibandingin antara oracle vs sql server... uda gitu doank... kalo uda selesai, tgl sidang deh...

gitu doank bisa jadi skripsi ???

aneh, sungguh aneh

mungkin ga 1000 data aja kali...
data yg diuji mungkin jutaan, belum termasuk jenis variasinya
mis: ada data yg sama sekali random, atau ada yg memiliki kesamaan terkelompok.
mungkin kiman jg bisa hitung big o nya kalau seandainya ada membahas algoritma searchingnya.
benar ga kiman?
ampun koko... ga ngerti big 0 saya... >,<
data nya jg ribuan, ga jutaan coz gile aje ngetik insert nya seberapa banyak kalo jutaan...
>,<
Title: Re: Indexing ??? binatang apakah itu ???
Post by: Sumedho on 11 January 2009, 11:57:23 AM
kgk pake script? :D masak diketik query insertnya manual, bisa gempor hehehe
Title: Re: Indexing ??? binatang apakah itu ???
Post by: kiman on 11 January 2009, 12:59:19 PM
pake la, diketiknya di file .sql...
Title: Re: Indexing ??? binatang apakah itu ???
Post by: Sumedho on 23 January 2009, 11:41:17 AM
maksudnya utk generate file .sql nya pake program jg aja. biar datanya dirandom pake program
Title: Re: Indexing ??? binatang apakah itu ???
Post by: tesla on 23 January 2009, 11:43:21 AM
OOT keknya mysql udah sedian script utk benchmarking...

(eh yg dibicarakan database server yg mana yah?) :hammer:
Title: Re: Indexing ??? binatang apakah itu ???
Post by: hatRed on 23 January 2009, 12:21:17 PM
ORACLE and SQL Server

itu sih katane si Kiman-teb