<?php
class Kamus {
private $data = [];
public function tambah($kata, $sinonim) {
if (!isset($this->data[$kata])) { $this->data[$kata] = [];
}
}
public function ambilSinonim($kata) {
if (isset($this->data[$kata])) { return $this->data[$kata];
} else {
// Cek apakah kata ini adalah sinonim dari kata lain
foreach ($this->data as $k => $sinonimList) {
return [$k];
}
}
}
return null;
}
}
PD9waHAKCmNsYXNzIEthbXVzIHsKICAgIHByaXZhdGUgJGRhdGEgPSBbXTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gdGFtYmFoKCRrYXRhLCAkc2lub25pbSkgewogICAgICAgIGlmICghaXNzZXQoJHRoaXMtPmRhdGFbJGthdGFdKSkgewogICAgICAgICAgICAkdGhpcy0+ZGF0YVska2F0YV0gPSBbXTsKICAgICAgICB9CiAgICAgICAgJHRoaXMtPmRhdGFbJGthdGFdID0gYXJyYXlfdW5pcXVlKGFycmF5X21lcmdlKCR0aGlzLT5kYXRhWyRrYXRhXSwgJHNpbm9uaW0pKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYW1iaWxTaW5vbmltKCRrYXRhKSB7CiAgICAgICAgaWYgKGlzc2V0KCR0aGlzLT5kYXRhWyRrYXRhXSkpIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5kYXRhWyRrYXRhXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAvLyBDZWsgYXBha2FoIGthdGEgaW5pIGFkYWxhaCBzaW5vbmltIGRhcmkga2F0YSBsYWluCiAgICAgICAgICAgIGZvcmVhY2ggKCR0aGlzLT5kYXRhIGFzICRrID0+ICRzaW5vbmltTGlzdCkgewogICAgICAgICAgICAgICAgaWYgKGluX2FycmF5KCRrYXRhLCAkc2lub25pbUxpc3QpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFska107CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9Cn0=