<?php
// your code goes here
class Kamus {
private $daftarKata = [];
/**
* Menambahkan kata dan sinonimnya ke dalam kamus
* @param string $kata Kata yang akan ditambahkan
* @param array $sinonim Array berisi sinonim dari kata tersebut
* @return void
*/
public function tambah
(string
$kata, array $sinonim): void
{ $this->daftarKata[$kata] = $sinonim;
}
/**
* Mengambil daftar sinonim dari sebuah kata
* @param string $kata Kata yang ingin dicari sinonimnya
* @return array Array berisi sinonim dari kata yang dicari
*/
public function ambilSinonim
(string
$kata): array { return isset($this->daftarKata[$kata]) ?
$this->daftarKata[$kata] : []; }
}
// Contoh penggunaan
$kamus = new Kamus();
// Menambahkan kata dan sinonimnya
$kamus->tambah("bahagia", ["senang", "gembira", "riang"]);
$kamus->tambah("sedih", ["murung", "gundah", "pilu"]);
// Mengambil sinonim
print_r($kamus->ambilSinonim("bahagia")); // Array ( [0] => senang [1] => gembira [2] => riang ) print_r($kamus->ambilSinonim("sedih")); // Array ( [0] => murung [1] => gundah [2] => pilu ) print_r($kamus->ambilSinonim("marah")); // Array ( )
PD9waHAKCi8vIHlvdXIgY29kZSBnb2VzIGhlcmUKY2xhc3MgS2FtdXMgewogICAgcHJpdmF0ZSAkZGFmdGFyS2F0YSA9IFtdOwoKICAgIC8qKgogICAgICogTWVuYW1iYWhrYW4ga2F0YSBkYW4gc2lub25pbW55YSBrZSBkYWxhbSBrYW11cwogICAgICogQHBhcmFtIHN0cmluZyAka2F0YSBLYXRhIHlhbmcgYWthbiBkaXRhbWJhaGthbgogICAgICogQHBhcmFtIGFycmF5ICRzaW5vbmltIEFycmF5IGJlcmlzaSBzaW5vbmltIGRhcmkga2F0YSB0ZXJzZWJ1dAogICAgICogQHJldHVybiB2b2lkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB0YW1iYWgoc3RyaW5nICRrYXRhLCBhcnJheSAkc2lub25pbSk6IHZvaWQgewogICAgICAgICR0aGlzLT5kYWZ0YXJLYXRhWyRrYXRhXSA9ICRzaW5vbmltOwogICAgfQoKICAgIC8qKgogICAgICogTWVuZ2FtYmlsIGRhZnRhciBzaW5vbmltIGRhcmkgc2VidWFoIGthdGEKICAgICAqIEBwYXJhbSBzdHJpbmcgJGthdGEgS2F0YSB5YW5nIGluZ2luIGRpY2FyaSBzaW5vbmltbnlhCiAgICAgKiBAcmV0dXJuIGFycmF5IEFycmF5IGJlcmlzaSBzaW5vbmltIGRhcmkga2F0YSB5YW5nIGRpY2FyaQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYW1iaWxTaW5vbmltKHN0cmluZyAka2F0YSk6IGFycmF5IHsKICAgICAgICByZXR1cm4gaXNzZXQoJHRoaXMtPmRhZnRhckthdGFbJGthdGFdKSA/ICR0aGlzLT5kYWZ0YXJLYXRhWyRrYXRhXSA6IFtdOwogICAgfQp9CgovLyBDb250b2ggcGVuZ2d1bmFhbgoka2FtdXMgPSBuZXcgS2FtdXMoKTsKCi8vIE1lbmFtYmFoa2FuIGthdGEgZGFuIHNpbm9uaW1ueWEKJGthbXVzLT50YW1iYWgoImJhaGFnaWEiLCBbInNlbmFuZyIsICJnZW1iaXJhIiwgInJpYW5nIl0pOwoka2FtdXMtPnRhbWJhaCgic2VkaWgiLCBbIm11cnVuZyIsICJndW5kYWgiLCAicGlsdSJdKTsKCi8vIE1lbmdhbWJpbCBzaW5vbmltCnByaW50X3IoJGthbXVzLT5hbWJpbFNpbm9uaW0oImJhaGFnaWEiKSk7IC8vIEFycmF5ICggWzBdID0+IHNlbmFuZyBbMV0gPT4gZ2VtYmlyYSBbMl0gPT4gcmlhbmcgKQpwcmludF9yKCRrYW11cy0+YW1iaWxTaW5vbmltKCJzZWRpaCIpKTsgLy8gQXJyYXkgKCBbMF0gPT4gbXVydW5nIFsxXSA9PiBndW5kYWggWzJdID0+IHBpbHUgKQpwcmludF9yKCRrYW11cy0+YW1iaWxTaW5vbmltKCJtYXJhaCIpKTsgLy8gQXJyYXkgKCAp