fork download
  1. <?php
  2.  
  3. class Kamus
  4. {
  5. private $data = [];
  6.  
  7. public function tambah($kata, $sinonim)
  8. {
  9. if (! isset($this->data[$kata])) {
  10. $this->data[$kata] = [];
  11. }
  12.  
  13. foreach ($sinonim as $s) {
  14. if (! in_array($s, $this->data[$kata])) {
  15. $this->data[$kata][] = $s;
  16. }
  17.  
  18. if (! isset($this->data[$s])) {
  19. $this->data[$s] = [];
  20. }
  21.  
  22. if (! in_array($kata, $this->data[$s])) {
  23. $this->data[$s][] = $kata;
  24. }
  25. }
  26. }
  27.  
  28. public function ambilSinonim($kata)
  29. {
  30. if (! isset($this->data[$kata])) {
  31. return null;
  32. }
  33.  
  34. return $this->data[$kata];
  35. }
  36. }
  37.  
  38. $kamus = new Kamus;
  39. $kamus->tambah('big', ['large', 'great']);
  40. $kamus->tambah('big', ['huge', 'fat']);
  41. $kamus->tambah('huge', ['enormous', 'gigantic']);
  42.  
  43. echo "Sinonim dari 'big':\n";
  44. print_r($kamus->ambilSinonim('big'));
  45.  
  46. echo "Sinonim dari 'huge':\n";
  47. print_r($kamus->ambilSinonim('huge'));
  48.  
  49. echo "Sinonim dari 'gigantic':\n";
  50. print_r($kamus->ambilSinonim('gigantic'));
  51.  
  52. echo "Sinonim dari 'colossal':\n";
  53. print_r($kamus->ambilSinonim('colossal'));
  54.  
Success #stdin #stdout 0.03s 26128KB
stdin
Standard input is empty
stdout
Sinonim dari 'big':
Array
(
    [0] => large
    [1] => great
    [2] => huge
    [3] => fat
)
Sinonim dari 'huge':
Array
(
    [0] => big
    [1] => enormous
    [2] => gigantic
)
Sinonim dari 'gigantic':
Array
(
    [0] => huge
)
Sinonim dari 'colossal':