Jul 8, 2011

The Museum of Me

Try this page Intel's The Museum of Me on your Facebook. Just connect to your facebook and like the page. And tadaaa.... you can see this:



This pictures from the video. The video is super cool.

This pictures from the result on your photo album

Jul 7, 2011

Greeting







Home sweet home
Foto ini diambil sebelum saya menulis postingan ini.









Saya mungkin akan menceritakan apa saja yang saya lakukan selama liburan, tidak setiap hari mungkin seminggu sekali. Tapi saya tidak janji. Tadi saya bilang, mungkin akan.

Saya berharap selama liburan ini....orang-orang yang dulunya rajin menulis blog dan kemudian vakum menulis karena kesibukannya di dunia perkuliahan, kembali lagi untuk menulis blognya, kembali lagi untuk berbagi cerita mereka, kembali lagi menyentuh diary mereka.

Jul 4, 2011

Welcome, holiday



Until...............................18th Sept :D
How bout you?

Jun 17, 2011

Struktur Data -- Hashing

HASHING

Hashing adalaha mengkelompokan data ke dalam tabel yang telah ditentukan.

A. MEMASUKKAN TIPE DATA STRING

Terdapat tiga cara untuk memasukkan data berbentuk string ke dalam tabel tersebut. Sebagai contoh, telah ada tabel :

h[ ]

Value

0

atan

1

2

char

3

define

4

exp

5

Tabel tersebut mempunyai 5 baris, 2 kolom. kolom 1 menyatakan indeks arraynya, kolom dua menyatakan valuenya. Apabile indeksnya=0, maka huruf pertama valuenya=a, indeks kedua 1, huruf pertama valuenya=b,indeks kedua 2,huruf pertama valuenya c, dan lain-lain.

1. Langsung Insert :

Sebagai contoh, kita ingin memasukkan kata “budi”. Karena huruf awal kata tersebut=b, maka kita masukkan di baris h[1]. Karena h[1] belum ada yang menempati, maka langsung kita tempatkan kata babi di situ.

h[ ]

Value

0

atan

1

budi

2

char

3

define

4

exp

5

2. Linear Probing :

Sebagai contoh, kita ingin memasukkan kata “curi”. Karena huruf awal kata tersebut=c, maka kita masukkan di baris h[2]. Tapi karena baris h[2] sudah ditempati, kita lihat baris h[3]. h[3] juga sudah ditempati, kita lihat baris h[4]. h[4] sudah ditempati, maka kita lihat baris h[5]. h[5] belum ditempati, maka kita masukkan ke sana. Jadi, kita cari baris yang kosong dibawah baris yang seharusnya ditempati oleh data yang kita masukkan.

h[ ]

Value

0

atan

1

budi

2

char

3

define

4

exp

5

curi

3. Chaining :

Dalam chaining, semua value yang telah ada di dalam tabel dan semua value yg akan kita masukkan berbentuk linked list. Contoh, kita ingin memasukkan kata “drakula”. Karena huruf awal=d, maka kita masukkan ke baris h[3]. Namun karena baris h[3] sudah mempunyai string kata “define”, maka kita sambungkan kata “define” dengan “drakula” menggunakan linked list. (kalo di codingan, pointer *next dari “define” menunjuk ke “drakula”, pointer *prev di “drakula” menunjuk ke “define”). Jadinya kayak gini :

h[ ]

Value

0

atan

1

budi

2

char

3

define->drakula

4

exp

5

curi

Jadi, saat kita memakai metode chaining, satu baris bisa memuat lebih dari satu value.

B. MEMASUKKAN TIPE DATA INTEGER/ANGKA

Dalam memasukkan tipe data integer/angka ke dalam tabel/rak, terdapat tiga cara, yaitu Division, Mid Square dan Folding :

1. Metode Division :

Contoh, kita punya 10.000 buku dan kita menyediakan 100 rak buku untuk menyimpan 10.000 buku kita. Rak buku kita bernomor 00…99. Yang jadi pertanyaan adalah :

a. Di rak ke berapa saya masukkan buku nomor 987?

b. Di rak ke berapa saya masukkan buku nomor 1768?

Jawab :

Pertama, kita buat variabel baru, contoh variabel dengan nama “MAKS”. MAKS menyimpan angka yang dekat dengan jumlah maksimal sarana untuk menyimpan data tersebut. Karena dalam hal ini adalah rak, dan jumlah rak yang telah

disediakan adalah 100, maka kita tetapkan nilai MAKS yang mendekati 100. Sebagai contoh, saya tetapkan MAKS=98 (MAKS boleh 100, 97,98,99, berapa aja asal belom melewati 100 dan ngga terlalu jauh dengan 100. Biasanya variabel MAKS nanti dikasih tau dalam soal besarannya.).

Kedua, kita modulus nomor datanya dengan variabel MAKS tersebut.

a. Nomor buku = 987.

987 % 98 = 10, sisa 7.

Maka, buku nomor 987 kita tempatkan di rak nomor 7. Apabila rak nomor 7 ada yang menempati, bisa kita gunakan metode Linear Probing atau Chaining (Yang udah gue jelasin yen)

b. Nomor 1768.

1768 % 98 = 18, sisa 4.

Maka, buku nomor 1768 kita tempatkan di rak nomor 4, apabila rak nomor 4 ada yang menempati, bisa kita gunakan metode Linear Probing atau Chaining.

Ada beberapa kasus dimana sisa pembagian melebihi jumlah rak. Misal, kita dapet sisa dari pembagian tersebut = 102. Kan 102 lebih dari jumlah rak, 102 kita modulus dengan jumlah maksimal rak. jadinya =

102 % 100 = 1, sisa 2.

Maka, kita pakai rak nomor 2.

2. Metode Mid Square :

Dalam metode Mid Square, kita memakai jumlah digit terbanyak dari indeks sarana penyimpanan data. Sebagai contoh, kita punya 10.000 buku dan kita menyediakan 100 rak buku untuk menyimpan 10.000 buku kita. Rak buku kita bernomor 00…99. Jumlah digit maksimal dari indeks rak kita adalah 2. Maka, kita ambil dua digit tengah dari hasil kuadrat dari nomor buku yang ingin kita masukkan sebagai penentu nomor rak yang akan kita tempati. Contoh :

a. Di rak ke berapa saya masukkan buku nomor 987?

b. Di rak ke berapa saya masukkan buku nomor 1768?

c. Di rak ke berapa saya masukkan buku nomor 540?

a. 9872 = 97416. Jumlah digitnya = 5, kita tidak bisa mengambil dua digit tengah. Maka dari itu, kita tambah angka 0 di depannya.

= 097416

Dua angka tengah digit di atas adalah = 09|74|16 = 74.

Maka, kita gunakan rak nomor 74.

Apabila rak nomor 74 sudah ditempati, kita lakukan metode Linear Probing dan Chaining/

b. 17682 = 3125824. Jumlah digitnya = 7, kita tidak bisa mengambil dua digit tengah. Maka dari itu, kita tambah angka 0 di depannya.

= 03125824

Dua angka tengah digit di atas adalah = 031|25|824= 25.

Maka, kita gunakan rak nomor 25.

Apabila rak nomor 25 sudah ditempati, kita lakukan metode Linear Probing dan Chaining.

c. 5402 = 291600 = 29|16|00

Maka kita menggunakan rak nomor 16.

Ada beberapa kasus di mana dua digit tengah yang kita dapatkan melebihi nomor rak. Contoh, kita mempunyai 10.000 buku dan hanya mempunyai 50 rak dengan nomor indeks 00..49. Apabila kita ingin menyimpan buku nomor 987.

Di dapat dari perhitungan di atas, dua digit tengah dari hasil kuadrat 987=74.

Karena 74>49 (indeks rak maksimal), di lakukan modulus oleh jumlah rak yang kita pakai.

74 % 50 = 1, sisa 24

Maka kita pakai rak nomor 24.

3. Metode Folding.

Hampir sama dengan metode Mid Square, kita memakai jumlah digit paling besar dari indeks rak yang kita gunakan. Contoh, kita punya 10.000.000 buku dan kita menyediakan 100 rak buku untuk menyimpan 10.000.000 buku kita. Rak buku kita bernomor 00…99. Jumlah digit maksimal dari indeks rak kita adalah 2. Maka, kita pilah-pilah angka dari nomor buku yang ingin kita masukkan jadi maksimal dua angka-dua angka dari belakang, lalu kita jumlahkan hasil angka-angka tersebut sampai kita mendapatkan hasil berjumlah dua digit sebagai indeks rak buku yang akan kita gunakan. Contoh :

a. Di mana kita akan menempatkan buku nomor 89?

a. Di mana kita akan menempatkan buku nomor 987?

b. Di mana kita akan menempatkan buku nomor 9.899.674?

Jawab :

Angka dari nomor buku yang kita akan masukkan kita pilah-pilah dari angka belakang ke depan. ke dalam bagian-bagian di mana satu bagian mempunyai maksimal dua digit, lalu kita jumlahkan angka-angka tersebut. Apabila hasil penjumlahannya lebih dari dua digit, kita pilah lagi, lalu kita jumlahkan lagi sampai hasilnya dua digit.

a. 89. Karena jumlah digit angka tersebut sudah 2, maka langsung saja kita gunakan angka 89 sebagai indeks rak buku yang akan kita tempati.

b. 987. Kita pilah angkanya dari belakang, sehingga satu bagian mengandung maksimal dua angka-dua angka

= 9 | 87. Kita jumlahkan angka-angka tersebut

= 9 + 87

= 96

Karena hasilnya sudah dua digit, maka kita pakai angka 96 sebagai indeks rak yang akan kita tempati. Apabila rak nomor 96 sudah ditempati, kita lakukan metode Linear Probing dan Chaining.

c. 9899674 = 9 | 89 | 96 | 74 = 9 + 89 + 96 + 74 = 268

Karena angka 268 lebih dari dua digit, kita pecah lagi

268 = 2 | 68 = 2 + 68 = 70

Karena angka 70 sudah dua digit, kita gunakan 70 sebagai indeks rak yang akan kita tempati. Apabila rak nomor 70 sudah ditempati, kita lakukan metode Linear Probing dan Chaining.

Apabila hasil dua digit dari penjumlahan bagian-bagian angka yang kita dapat melebihi jumlah rak, kita lakukan modulus. Contoh, hasil folding dari 987 kita dapat = 96. Apabila kita hanya mempunyai 50 rak dengan indeks 00..49, kita Modulus dua digit yang kita dapat dengan jumlah maksimal rak yang kita punya.

= 96 % 50

= 1, sisa 46

Maka, rak yang akan kita gunakan adalah rak dengan indeks 46.

Jun 12, 2011

GreenWebsite