class Kamus:
kumpulan_kata = []
kumpulan_sinonim = []
def tambah(self, kata, sinonim):
if len(self.kumpulan_kata) == 0:
self.kumpulan_kata.append(kata)
self.kumpulan_sinonim.append(sinonim)
else:
for i in range(len(self.kumpulan_kata)):
if self.kumpulan_kata[i] == kata:
self.kumpulan_sinonim[i] = self.kumpulan_sinonim[i] + sinonim
else:
self.kumpulan_kata.append(kata)
self.kumpulan_sinonim.append(sinonim)
def ambilSinonim(self, kata):
sinonim = []
# Cek ke kata
for i in range(len(self.kumpulan_kata)):
if self.kumpulan_kata[i] == kata:
sinonim = self.kumpulan_sinonim[i]
# Cek ke sinonim
for j in range(len(self.kumpulan_sinonim)):
for k in range(len(self.kumpulan_sinonim[j])):
if self.kumpulan_sinonim[j][k] == kata:
sinonim.append(self.kumpulan_kata[j])
print(self.kumpulan_kata)
print(self.kumpulan_sinonim)
return sinonim
# Testing
kamus = Kamus()
kamus.tambah('big', ['large', 'great'])
kamus.tambah('big', ['huge', 'fat'])
kamus.tambah('huge', ['enormous', 'gigantic'])
# print("Ambil Sinonim Big:",kamus.ambilSinonim('big'))
# print("Ambil Sinonim Huge:",kamus.ambilSinonim('huge'))
# print("Ambil Sinonim Gigantic:",kamus.ambilSinonim('gigantic'))
print("Ambil Sinonim Colossal:",kamus.ambilSinonim('colossal'))
Y2xhc3MgS2FtdXM6CiAgICBrdW1wdWxhbl9rYXRhID0gW10KICAgIGt1bXB1bGFuX3Npbm9uaW0gPSBbXQoKICAgIGRlZiB0YW1iYWgoc2VsZiwga2F0YSwgc2lub25pbSk6CiAgICAgICAgaWYgbGVuKHNlbGYua3VtcHVsYW5fa2F0YSkgPT0gMDoKICAgICAgICAgICAgc2VsZi5rdW1wdWxhbl9rYXRhLmFwcGVuZChrYXRhKQogICAgICAgICAgICBzZWxmLmt1bXB1bGFuX3Npbm9uaW0uYXBwZW5kKHNpbm9uaW0pCiAgICAgICAgZWxzZToKICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UobGVuKHNlbGYua3VtcHVsYW5fa2F0YSkpOgogICAgICAgICAgICAgICAgaWYgc2VsZi5rdW1wdWxhbl9rYXRhW2ldID09IGthdGE6CiAgICAgICAgICAgICAgICAgICAgc2VsZi5rdW1wdWxhbl9zaW5vbmltW2ldID0gc2VsZi5rdW1wdWxhbl9zaW5vbmltW2ldICsgc2lub25pbQogICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICBzZWxmLmt1bXB1bGFuX2thdGEuYXBwZW5kKGthdGEpCiAgICAgICAgICAgICAgICAgICAgc2VsZi5rdW1wdWxhbl9zaW5vbmltLmFwcGVuZChzaW5vbmltKQoKICAgIGRlZiBhbWJpbFNpbm9uaW0oc2VsZiwga2F0YSk6CiAgICAgICAgc2lub25pbSA9IFtdCgogICAgICAgICMgQ2VrIGtlIGthdGEKICAgICAgICBmb3IgaSBpbiByYW5nZShsZW4oc2VsZi5rdW1wdWxhbl9rYXRhKSk6CiAgICAgICAgICAgIGlmIHNlbGYua3VtcHVsYW5fa2F0YVtpXSA9PSBrYXRhOgogICAgICAgICAgICAgICAgc2lub25pbSA9IHNlbGYua3VtcHVsYW5fc2lub25pbVtpXQogICAgICAgICAgICAgICAgIyBDZWsga2Ugc2lub25pbQoKICAgICAgICBmb3IgaiBpbiByYW5nZShsZW4oc2VsZi5rdW1wdWxhbl9zaW5vbmltKSk6CiAgICAgICAgICAgIGZvciBrIGluIHJhbmdlKGxlbihzZWxmLmt1bXB1bGFuX3Npbm9uaW1bal0pKToKICAgICAgICAgICAgICAgIGlmIHNlbGYua3VtcHVsYW5fc2lub25pbVtqXVtrXSA9PSBrYXRhOgogICAgICAgICAgICAgICAgICAgIHNpbm9uaW0uYXBwZW5kKHNlbGYua3VtcHVsYW5fa2F0YVtqXSkKICAgICAgICAgICAgICAgICAgICAKICAgICAgICBwcmludChzZWxmLmt1bXB1bGFuX2thdGEpCiAgICAgICAgcHJpbnQoc2VsZi5rdW1wdWxhbl9zaW5vbmltKQoKICAgICAgICByZXR1cm4gc2lub25pbQoKCiMgVGVzdGluZwprYW11cyA9IEthbXVzKCkKa2FtdXMudGFtYmFoKCdiaWcnLCBbJ2xhcmdlJywgJ2dyZWF0J10pCmthbXVzLnRhbWJhaCgnYmlnJywgWydodWdlJywgJ2ZhdCddKQprYW11cy50YW1iYWgoJ2h1Z2UnLCBbJ2Vub3Jtb3VzJywgJ2dpZ2FudGljJ10pCiMgcHJpbnQoIkFtYmlsIFNpbm9uaW0gQmlnOiIsa2FtdXMuYW1iaWxTaW5vbmltKCdiaWcnKSkKIyBwcmludCgiQW1iaWwgU2lub25pbSBIdWdlOiIsa2FtdXMuYW1iaWxTaW5vbmltKCdodWdlJykpCiMgcHJpbnQoIkFtYmlsIFNpbm9uaW0gR2lnYW50aWM6IixrYW11cy5hbWJpbFNpbm9uaW0oJ2dpZ2FudGljJykpCnByaW50KCJBbWJpbCBTaW5vbmltIENvbG9zc2FsOiIsa2FtdXMuYW1iaWxTaW5vbmltKCdjb2xvc3NhbCcpKQ==