fork download
  1. <?php
  2.  
  3. class Kamus {
  4. public $daftar = [];
  5.  
  6. // ini untuk menambah kata dan sinonim
  7. public function tambah($kata, $sinonim) {
  8. if (!isset($this->daftar[$kata])) {
  9. $this->daftar[$kata] = [];
  10. }
  11.  
  12. foreach ($sinonim as $s) {
  13. if (!in_array($s, $this->daftar[$kata])) {
  14. $this->daftar[$kata][] = $s;
  15. }
  16.  
  17. if (!isset($this->daftar[$s])) {
  18. $this->daftar[$s] = [];
  19. }
  20. if (!in_array($kata, $this->daftar[$s])) {
  21. $this->daftar[$s][] = $kata;
  22. }
  23. }
  24. }
  25.  
  26. // ini untuk mengambil sinonim
  27. public function ambilSinonim($kata) {
  28. if (!isset($this->daftar[$kata])) {
  29. return null;
  30. }
  31. return $this->daftar[$kata];
  32. }
  33. }
  34.  
  35. // ini proses untuk menampilkan sinonim
  36. function tampilkanSinonim($kamus, $kata) {
  37. $hasil = $kamus->ambilSinonim($kata);
  38. echo "Sinonim untuk '$kata': ";
  39. if ($hasil === null || empty($hasil)) {
  40. echo "(tidak ditemukan)";
  41. } else {
  42. echo implode(', ', $hasil);
  43. }
  44. echo "\n";
  45. }
  46.  
  47. // ini proses contoh pengujian
  48. $kamus = new Kamus();
  49. $kamus->tambah('big', ['large', 'great']);
  50. $kamus->tambah('big', ['huge', 'fat']);
  51. $kamus->tambah('huge', ['enormous', 'gigantic']);
  52.  
  53. echo "=== HASIL UJI KAMUS SINONIM ===\n";
  54. tampilkanSinonim($kamus, 'big');
  55. tampilkanSinonim($kamus, 'huge');
  56. tampilkanSinonim($kamus, 'gigantic');
  57. tampilkanSinonim($kamus, 'colossal');
  58.  
  59.  
  60.  
Success #stdin #stdout 0.04s 25760KB
stdin
Standard input is empty
stdout
=== HASIL UJI KAMUS SINONIM ===
Sinonim untuk 'big': large, great, huge, fat
Sinonim untuk 'huge': big, enormous, gigantic
Sinonim untuk 'gigantic': huge
Sinonim untuk 'colossal': (tidak ditemukan)