• Tidak ada hasil yang ditemukan

LAPORAN ALGORITMA DAN STRUKTUR DATA II (3)

N/A
N/A
Protected

Academic year: 2018

Membagikan "LAPORAN ALGORITMA DAN STRUKTUR DATA II (3)"

Copied!
12
0
0

Teks penuh

(1)

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

(2)

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 <iostream> dan #include<string> kedalam file tersebut.

 Copy file header #include <iostream> dan #include<string> 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.

(3)

 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 << key [0] dikarenakan menggunakan (string key) jadi membaca karakter saja.

 Fungsi ini juga dimodifikasi untuk membaca nilai ASCII dari setiap karakter

yang di masukkan contohnya “syukur” maka hasil output program akan menampilkan s = 115, y = 121, u = 117, k = 107, u = 117, r = 114 (berdasarkan nilai ASCII yang telah ditentukan). Dengan menambahkan cout << (int) key [0] yaitu penambahan integer pada belakang key.

3. Video Part 3

 Menambahkan nilai hash = hash + (int) key [1] yaitu hasil nilai ASCII pertama

akan ditambahkan dengan hasil nilai ASCII berikutnya dan seterusnya.

4. Video Part 4

 Membuat struktur dasar pada tabel hash

 Mendefenisikan class hash yang masuk dalam kelompok Private, pada file

hash.h.

5. Video Part 5

 Mendefenisikan konstruktor di dalam file hash.h.

6. Video Part 6

 Membuat fungsi untuk menambahkan item yaitu menggunakan fungsi void pada

file hash.h.

(4)

7. Video Part 7

 Mendefenisikan Nomor item dengan menambahkan fungsi baru.

 Fungsi ini di buat di dalam file hash.h pada class hash kelompok public.

 Kemudian fungsi ini dideklarasikan pada file hash.cpp.

8. Video Part 8

 Membuat fungsi baru untuk menampilkan isi dari hash tabel yaitu fungsi

voidPrintTable di dalam class hash kelompok public pada file hash.h.

 Kemudian fungsi ini dideklarasikan pada file hash.cpp.

9. Video Part 9

 Memangil class hash yaitu dengan menambahkan hash Hashy; lalu

Hashy.PrintTable untuk menampilkan.

 Mengisi Hashy yaitu dengan menambahkan Hashy.AddItem (kemudian isi dari

Hashy tersebut).

10. Video Part 10

 Menambahkan Fungsi baru yaitu Void PrintItemInIndex (int index); di dalam

file hash.h.

 Kemudian fungsi tesebut di deklarasikan ke dalam file hash.cpp.

 Selanjutnya fungsi tersebut dibuat di dalam fungsi utama pada file main_1.cpp

untuk pemangilan.

11. Video Part 11

 Memodifikasi beberapa nilai yang ada pada tabel hash

12. Video Part 12

 Mencari dengan menggunakan kata kunci.

 Menambahkan fungsi baru yaitu void FindDrink (string name); di dalam class

hash kelompok public pada file hash.h.

 Kemudian fungsi tesebut di deklarasikan ke dalam file hash.cpp.

 Mencari minuman favorit dengan menggunakan kata kunci yaitu nama-nama

(5)

13. Video Part 13

 Menambahkan Fungsi baru yaitu Void RemoveItem (string name); di dalam file

hash.h. untuk menghapus item yang telah dibuat di dalam program hash tabel tersebut.

 Kemudian fungsi tadi dideklarasikan di dalam file hash.cpp.

14. Video Part 15

 Masih pendeklarasian fungsi Void RemoveItem (string name); di dalam file

hash.cpp.

15. Video Part 16

 Masih pendeklarasian fungsi Void RemoveItem (string name); di dalam file

hash.cpp.

16. Video Part 17

 Masih pendeklarasian fungsi Void RemoveItem (string name); di dalam file

hash.cpp.

17. Video Part 18

 Mencoba menghapus item yang sudah ada yang telah dibuat di dalam program

(6)

Listing Program :

void hash::AddItem(string name, string drink) {

int index = Hash(name);

(7)

ptr = ptr->next;

(8)

cout<<hashTable[i]->drink<<endl;

cout<<"index ="<<index<<" is empty"; }

else {

cout<<"index "<<index<<" contains the following item\n";

(9)

hash = (hash + (int)key[i]) * 17;

if(hashTable[index]->name == "empty" && hashTable[index]->drink == "empty") {

cout<<name<<" was not found in the hash Table\n"; }

//case 1 - only 1 item contained in bucket and that item has matching names else if(hashTable[index]->name == name && hashTable[index]->next == NULL) {

hashTable[index]->name = "empty"; hashTable[index]->drink = "empty";

cout<<name<<" was removed from the hash Table\n"; }

//case 2 - match is located in the first item in the bucket // but there are more items in the bucket

else if (hashTable[index]->name == name) {

delptr = hashTable[index];

hashTable[index] = hashTable[index]->next; delete delptr;

(10)

//case 3 - bucket contains items but first item is not a match else

{

p1 = hashTable[index]->next; p2 = hashTable[index];

while(p1 != NULL && p1->name != name) {

p2 = p1; p1 = p1->next; }

//case 3.1 - no match if(p1 == NULL) {

cout<< name <<"was not found in the hash Table\n"; }

//case 3.2 - match is found else

{

delptr = p1; p1 = p1->next; p2->next = p1;

delete delptr;

cout<<name<<"was removed from the hash Table\n"; }

}

(11)

File main_1.cpp

(12)

Referensi

Dokumen terkait

Berdasarkan dari tugas praktikum yang telah saya kerjakan saya dapat menyimpulkan bahwa graph berarah bisa digunakan untuk membuat simpul dan busur beserta bobot dan arah yang

2.) Tukar nilai tersebut dengan nilai pada posisi pertama di bagian struktur data yang belum diurutkan. 3.) Ulangi langkah di atas untuk bagian struktur data yang tersisa...

Buat Program Konversi Postfix ke

public class frmKomp extends javax.swing.JFrame { public String nama_file= &#34;&#34;;. public String

Seperti yang telah kita pelajari pada praktikum 3, untuk menyimpan data yang umum, kita dapat memanfaatkan class Object yang dibuat dalam format generic.. Berikut

Mendeklarasikan variabel integer dengan nama: pilihan, x Mendeklarasikan variabel String dengan nama: nama Mendeklarasikan variabel Boolean dengan nama: kondisi Mendeklarasikan

Dibuat sidik dijital dari data tersebut dengan menggunakan fungsi hash MD5 dan algoritma RSA (pada skripsi ini pembuatan message digest oleh fungsi hash MD5

Program di atas terdiri dari beberapa fungsi atau subprogram yakni fungsi enqueue/tambah data (berfungsi untuk  memasukkan/menambahkan data ke dalam antrian), fungsi