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

Sinonim 'huge': Array
(
    [0] => big
    [1] => enormous
    [2] => gigantic
)

Sinonim 'gigantic': Array
(
    [0] => huge
)

Sinonim 'colossal': NULL