<?php
class Kamus {
private $kamusData = [];
public function tambah
(string
$kata, array $sinonim): void
{ if (!isset($this->kamusData[$kata])) { $this->kamusData[$kata] = [];
}
foreach ($sinonim as $s) {
$this->kamusData[$kata][$s] = true;
if (!isset($this->kamusData[$s])) { $this->kamusData[$s] = [];
}
$this->kamusData[$s][$kata] = true;
}
}
public function ambilSinonim
(string
$kata): ?
array { if (isset($this->kamusData[$kata])) { }
return null;
}
}
function cetakHasil($hasil) {
if ($hasil === null) {
echo "null\n";
} else {
}
}
$kamus = new Kamus();
$kamus->tambah('big', ['large', 'great']);
$kamus->tambah('big', ['huge', 'fat']);
$kamus->tambah('huge', ['enormous', 'gigantic']);
cetakHasil($kamus->ambilSinonim('big'));
cetakHasil($kamus->ambilSinonim('huge'));
cetakHasil($kamus->ambilSinonim('gigantic'));
cetakHasil($kamus->ambilSinonim('colossal'));
?>
PD9waHAKCmNsYXNzIEthbXVzIHsKICAgIHByaXZhdGUgJGthbXVzRGF0YSA9IFtdOwoKICAgIHB1YmxpYyBmdW5jdGlvbiB0YW1iYWgoc3RyaW5nICRrYXRhLCBhcnJheSAkc2lub25pbSk6IHZvaWQgewogICAgICAgIGlmICghaXNzZXQoJHRoaXMtPmthbXVzRGF0YVska2F0YV0pKSB7CiAgICAgICAgICAgICR0aGlzLT5rYW11c0RhdGFbJGthdGFdID0gW107CiAgICAgICAgfQoKICAgICAgICBmb3JlYWNoICgkc2lub25pbSBhcyAkcykgewogICAgICAgICAgICAkdGhpcy0+a2FtdXNEYXRhWyRrYXRhXVskc10gPSB0cnVlOwogICAgICAgICAgICAKICAgICAgICAgICAgaWYgKCFpc3NldCgkdGhpcy0+a2FtdXNEYXRhWyRzXSkpIHsKICAgICAgICAgICAgICAgICR0aGlzLT5rYW11c0RhdGFbJHNdID0gW107CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHRoaXMtPmthbXVzRGF0YVskc11bJGthdGFdID0gdHJ1ZTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGFtYmlsU2lub25pbShzdHJpbmcgJGthdGEpOiA/YXJyYXkgewogICAgICAgIGlmIChpc3NldCgkdGhpcy0+a2FtdXNEYXRhWyRrYXRhXSkpIHsKICAgICAgICAgICAgcmV0dXJuIGFycmF5X2tleXMoJHRoaXMtPmthbXVzRGF0YVska2F0YV0pOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KfQoKZnVuY3Rpb24gY2V0YWtIYXNpbCgkaGFzaWwpIHsKICAgIGlmICgkaGFzaWwgPT09IG51bGwpIHsKICAgICAgICBlY2hvICJudWxsXG4iOwogICAgfSBlbHNlIHsKICAgICAgICBwcmludF9yKCRoYXNpbCk7CiAgICB9Cn0KCiRrYW11cyA9IG5ldyBLYW11cygpOwoka2FtdXMtPnRhbWJhaCgnYmlnJywgWydsYXJnZScsICdncmVhdCddKTsKJGthbXVzLT50YW1iYWgoJ2JpZycsIFsnaHVnZScsICdmYXQnXSk7CiRrYW11cy0+dGFtYmFoKCdodWdlJywgWydlbm9ybW91cycsICdnaWdhbnRpYyddKTsKCmNldGFrSGFzaWwoJGthbXVzLT5hbWJpbFNpbm9uaW0oJ2JpZycpKTsKY2V0YWtIYXNpbCgka2FtdXMtPmFtYmlsU2lub25pbSgnaHVnZScpKTsKY2V0YWtIYXNpbCgka2FtdXMtPmFtYmlsU2lub25pbSgnZ2lnYW50aWMnKSk7CmNldGFrSGFzaWwoJGthbXVzLT5hbWJpbFNpbm9uaW0oJ2NvbG9zc2FsJykpOwoKPz4=