fork download
  1. <?php
  2.  
  3. // your code goes here
  4. // Author: Nayaka Ghana Subrata
  5.  
  6. class Kamus{
  7. private $arr = [];
  8.  
  9. public function tambah(string $kata, array $sinonim): void{
  10. if (!isset($this->arr[$kata])){
  11. $this->arr[$kata] = [];
  12. }
  13.  
  14. foreach ($sinonim as $s){
  15. $this->arr[$kata][$s] = true;
  16. if (!isset($this->arr[$s])){
  17. $this->arr[$s] = [];
  18. }
  19. $this->arr[$s][$kata] = true;
  20. }
  21. }
  22.  
  23. public function ambilSinonim(string $kata): ?array{
  24. if (!isset($this->arr[$kata])){
  25. return null;
  26. }
  27. return array_keys($this->arr[$kata]);
  28.  
  29. }
  30. }
  31.  
  32.  
  33. // testing
  34. $kamus = new Kamus();
  35.  
  36. $kamus->tambah("big", ["large", "great"]);
  37. $kamus->tambah("big", ["huge", "fat"]);
  38. $kamus->tambah("huge", ["enormous", "gigantic"]);
  39.  
  40. print_r($kamus->ambilSinonim("big"));
  41. print_r($kamus->ambilSinonim("huge"));
  42. print_r($kamus->ambilSinonim("gigantic"));
  43. var_dump($kamus->ambilSinonim("colossal"));
  44. ?>
  45.  
Success #stdin #stdout 0.02s 25880KB
stdin
Standard input is empty
stdout
Array
(
    [0] => large
    [1] => great
    [2] => huge
    [3] => fat
)
Array
(
    [0] => big
    [1] => enormous
    [2] => gigantic
)
Array
(
    [0] => huge
)
NULL