// Membuat class Kamus
public class Kamus
{
// Dictionary untuk menyimpan data kamus
private Dictionary<string, List<string>> data
= new Dictionary<string, List<string>>();
// Method untuk menambah kata dan sinonimnya
public void tambah(string kata, params string[] sinonimList)
{
// Buat list kosong jika kata belum ada di kamus
if (!data.ContainsKey(kata))
data[kata] = new List<string>();
// Loop setiap sinonim
foreach (var sinonim in sinonimList)
{
// Tambah sinonim ke kata
if (!data[kata].Contains(sinonim))
data[kata].Add(sinonim);
// Buat list kosong untuk relasi balik sinonim
if (!data.ContainsKey(sinonim))
data[sinonim] = new List<string>();
// Tambah kata sebagai sinonim balik
if (!data[sinonim].Contains(kata))
data[sinonim].Add(kata);
}
}
// Metde untuk mengambil sinonim kata
public void ambilSinonim(string kata)
{
// Jika kata tidak ditemukan
if (!data.ContainsKey(kata))
{
Console.WriteLine("null");
return;
}
// Cetak sinonim
Console.WriteLine(string.Join(", ", data[kata]));
}
}
class Program
{
static void Main()
{
// Membuat objek Kamus
var kamus = new Kamus();
// Menambahkan data ke kamus
kamus.tambah("big", "large", "great");
kamus.tambah("big", "huge", "fat");
kamus.tambah("huge", "enormous", "gigantic");
kamus.tambah("small", "tiny", "mini", "compact");
// Menampilkan sinonim kata
kamus.ambilSinonim("big");
kamus.ambilSinonim("huge");
kamus.ambilSinonim("gigantic");
kamus.ambilSinonim("small");
kamus.ambilSinonim("colossal");
}
}