import java.util.*;
public class HashPhonebook{
public static int hashFunction(String nama){
int hash = 0;
for(int i=0; i<nama.length(); i++){
hash = hash*10 + nama.charAt(i);
}
hash = hash % 499;
return hash;
}
public static void main(String[] args){
Hashtable<Integer, String> phonebook = new Hashtable<>();
List<String> str = new ArrayList<>();
Scanner sc = new Scanner(System.in);
int choice = -1;
String nomor, nama;
System.out.println(" Silahkan Memilih");
System.out.println("1. Tambahkan nomor baru");
System.out.println("2. Cari nomor");
System.out.println("3. Hapus nomor");
System.out.println("4. Lihat semua kontak");
System.out.println("5. Exit\\n");
while(choice != 5){
System.out.print("Masukkan pilihan : ");
choice = sc.nextInt();
if (choice == 1){
System.out.print("Masukkan nomor telepon : ");
nomor = sc.next();
System.out.print("Masukkan nama kontak : ");
nama = sc.next();
str.add(nama);
phonebook.put(hashFunction(nama), nomor);
System.out.println("Kontak telah ditambahkan\\n");
}
else if(choice == 2){
System.out.print("Masukkan nama kontak : ");
nama = sc.next();
nomor = phonebook.get(hashFunction(nama));
System.out.println("Nomor telepon : " + nomor);
System.out.print("\\n");
}
else if (choice == 3){
System.out.print("Masukkan nama kontak : ");
nama = sc.next();
str.remove(nama);
phonebook.remove(hashFunction(nama));
System.out.println("Kontak telah dihapus\\n");
}
else if (choice == 4){
if(phonebook.size() > 0){
System.out.println("Terdapat " + phonebook.size() + " kontak tersimpan");
for(String i : str){
System.out.println(i + " => " + phonebook.get(hashFunction(i)));
}
System.out.print("\\n");
}
else
System.out.println("Tidak ada kontak yang tersimpan\\n");
}
}
}
}