import java.util.*;
public class PhonebookHashApp
{
public static int hashFunction(String name){
int hash = 0;
for(int i=0; i<name.length(); i++){
hash = hash*10 + name.charAt(i);
}
hash = hash % 499;
return hash;
}
public static void main(String[] args){
Hashtable<Integer, String> phonebook = new Hashtable<>();
List<String> names = new ArrayList<>();
Scanner sc = new Scanner(System.in);
int choice = -1;
String number;
String name;
while(choice != 0){
System.out.println("Silahkan pilih:\n1. Tambahkan kontak\n2. Cari kontak\n3. Hapus kontak\n4. Lihat semua\n0. Keluar");
choice = sc.nextInt();
switch(choice){
case 1:
System.out.println("Masukkan nomor telepon:");
number = sc.next();
System.out.println("Masukkan nama kontak:");
name = sc.next();
names.add(name);
phonebook.put(hashFunction(name), number);
System.out.println("Kontak telah ditambahkan");
break;
case 2:
System.out.println("Masukkan nama kontak:");
name = sc.next();
number = phonebook.get(hashFunction(name));
System.out.println("Nomor telepon: " + number);
break;
case 3:
System.out.println("Masukkan nama kontak:");
name = sc.next();
names.remove(name);
phonebook.remove(hashFunction(name));
System.out.println("Kontak telah dihapus");
break;
case 4:
if(phonebook.size() > 0){
System.out.println(phonebook.size() + " kontak tersimpan");
for(String i : names){
System.out.println(i + ": " + phonebook.get(hashFunction(i)));
}
}
else
System.out.println("Tidak ada kontak yang tersimpan");
}
}
}
}