LAPORAN ALGORITMA DAN STRUKTUR DATA II (3)

TUGAS PRAKTIKUM
ALGORITMA DAN STRUKTUR DATA II
ANALISA VIDEO
HASH TABLE

Disusun Oleh :
Syukur Jaya Mendrofa
201501072
Kelas: C

Dosen Pengampu :
Oskar Ika Adi Nugroho, ST., MT

JURUSAN SISTEM INFORMASI
SEKOLAH TINGGI ILMU KOMPUTER “YOS SUDARSO”
PURWOKERTO
2017

1.

Video Part 1



Membuat project C++ “Hash Table Video”.



Kemudian di dalam project “Hash Table Video” dibuat lagi file baru C++
dengan mengklik source file > new > C++ source file dengan membuat nama
file tersebut hash.cpp.



Lalu kembali lagi ke dalam project “Hash Table Video”, dibuat lagi file baru .h
dengan mengklik header file > New C++ header file dengan membuat nama file
tersebut hash.h.



Selanjutnya kembali lagi ke dalam project “Hash Table Video”, membuat file
bernama main_1.cpp yaitu dengan mengklik main_1.cpp masukkan file header

#include dan #include kedalam file tersebut.



Copy file header #include dan #include yang ada di dalam
file main_1.cpp lalu Paste ke dalam file hash.cpp dan paste juga kedalam file
hash.h.



Di dalam file hash.cpp dan file main_1.cpp tambahkan file header #include
“hash.h”.



Di dalam file hash.h dibuat sebuah class yang bernama Hash



Di dalam class Hash dibuat sebuah fungsi pada kelompok public yaitu int Hash

(string key): kemudian fungsi tersebut di deklarasikan kedalam file hash.cpp.
dengan menggunakan tanda :: dan mengikutsertakan nama class Hash.

2.

Video Part 2



Mendeklarasikan fungsi hash di dalam file hash.cpp.



Kemudian di dalam file main_1.cpp dibuat sebuah variable yang bertipe nama
class yaitu Hash.



Di dalam fungsi utama/int main ( ) pada file header main_1.cpp didefenisikan
fungsi hash.




Fungsi ini membaca berapa karakter yang dimasukkan ke dalam index. Dengan
menggunakan index = hashObj.Hash (tempat karakter yang akan dibaca isinya).



Fungsi ini juga dimodifikasi untuk membaca dimana posisi setiap karakter pada
index dengan menggunakan index = key.lenght( ). Dan cout drink = "empty";
hashTable[i]->next = NULL;
}
}
void hash::AddItem(string name, string drink)
{
int index = Hash(name);
if(hashTable[index]->name == "empty")
{
hashTable[index]->name = name;
hashTable[index]->drink = drink;

}
else
{
item* ptr = hashTable[index];
item* n = new item;
n->name = name;
n->drink = drink;
n->next = NULL;
while(ptr->next != NULL)
{

ptr = ptr->next;
}
ptr->next = n;
}
}
int hash::NumberOfItemsInIndex(int index)
{
int count = 0;
if(hashTable[index]->name == "empty")

{
return count;
}
else
{
count++;
item* ptr = hashTable[index];
while(ptr->next != NULL)
{
count++;
ptr = ptr->next;
}
}
return count;
}
void hash::printTable()
{
int number;
for(int i = 0; i < tableSize; i++)
{

number = NumberOfItemsInIndex(i);
cout