class Kamus:
def __init__(self):
self.data = {}
def tambah(self, kata, sinonim_list):
if kata not in self.data:
self.data[kata] = []
for sinonim in sinonim_list:
if sinonim not in self.data[kata]:
self.data[kata].append(sinonim)
def ambilSinonim(self, kata):
lists = []
for kunci, sinonim_list in self.data.items():
if kata in sinonim_list:
lists.append(kunci)
if kata in self.data:
lists.extend(self.data[kata])
if lists:
return lists
return None
# Pengujian contoh
kamus = Kamus()
kamus.tambah('big', ['large', 'great'])
kamus.tambah('big', ['huge', 'fat'])
kamus.tambah('huge', ['enormous', 'gigantic'])
print(kamus.ambilSinonim('big'))
print(kamus.ambilSinonim('huge'))
print(kamus.ambilSinonim('gigantic'))
print(kamus.ambilSinonim('colossal'))
Y2xhc3MgS2FtdXM6CiAgICBkZWYgX19pbml0X18oc2VsZik6CiAgICAgICAgc2VsZi5kYXRhID0ge30KCiAgICBkZWYgdGFtYmFoKHNlbGYsIGthdGEsIHNpbm9uaW1fbGlzdCk6CiAgICAgICAgaWYga2F0YSBub3QgaW4gc2VsZi5kYXRhOgogICAgICAgICAgICBzZWxmLmRhdGFba2F0YV0gPSBbXQogICAgICAgIGZvciBzaW5vbmltIGluIHNpbm9uaW1fbGlzdDoKICAgICAgICAgICAgaWYgc2lub25pbSBub3QgaW4gc2VsZi5kYXRhW2thdGFdOgogICAgICAgICAgICAgICAgc2VsZi5kYXRhW2thdGFdLmFwcGVuZChzaW5vbmltKQoKICAgIGRlZiBhbWJpbFNpbm9uaW0oc2VsZiwga2F0YSk6CiAgICAgICAgbGlzdHMgPSBbXQogICAgICAgIGZvciBrdW5jaSwgc2lub25pbV9saXN0IGluIHNlbGYuZGF0YS5pdGVtcygpOgogICAgICAgICAgICBpZiBrYXRhIGluIHNpbm9uaW1fbGlzdDoKICAgICAgICAgICAgICAgIGxpc3RzLmFwcGVuZChrdW5jaSkKICAgICAgICBpZiBrYXRhIGluIHNlbGYuZGF0YToKICAgICAgICAgICAgbGlzdHMuZXh0ZW5kKHNlbGYuZGF0YVtrYXRhXSkKICAgICAgICBpZiBsaXN0czoKICAgICAgICAgICAgcmV0dXJuIGxpc3RzCiAgICAgICAgcmV0dXJuIE5vbmUKCiMgUGVuZ3VqaWFuIGNvbnRvaAprYW11cyA9IEthbXVzKCkKa2FtdXMudGFtYmFoKCdiaWcnLCBbJ2xhcmdlJywgJ2dyZWF0J10pCmthbXVzLnRhbWJhaCgnYmlnJywgWydodWdlJywgJ2ZhdCddKQprYW11cy50YW1iYWgoJ2h1Z2UnLCBbJ2Vub3Jtb3VzJywgJ2dpZ2FudGljJ10pCgpwcmludChrYW11cy5hbWJpbFNpbm9uaW0oJ2JpZycpKSAgICAgICAKcHJpbnQoa2FtdXMuYW1iaWxTaW5vbmltKCdodWdlJykpICAgICAgCnByaW50KGthbXVzLmFtYmlsU2lub25pbSgnZ2lnYW50aWMnKSkgIApwcmludChrYW11cy5hbWJpbFNpbm9uaW0oJ2NvbG9zc2FsJykpIA==