<?php
class Klasement
{
public $poin;
public function __construct()
{
$this->poin = [];
}
public function tambahTanding(string $namaClub1, int $skorClub1, string $namaclub2, int $skorClub2): void
{
if (!isset($this->poin[$namaClub1])) { $this->poin[$namaClub1] = 0;
}
if (!isset($this->poin[$namaclub2])) { $this->poin[$namaclub2] = 0;
}
if ($skorClub1 > $skorClub2) {
$this->poin[$namaClub1] += 3; // Club 1 menang
} elseif ($skorClub1 < $skorClub2) {
$this->poin[$namaclub2] += 3; // Club 2 menang
} else {
$this->poin[$namaClub1] += 1; // Seri
$this->poin[$namaclub2] += 1; // Seri
}
}
public function tampilkanKlasemen(): void
{
foreach ($this->poin as $namaClub => $poin) {
echo "$namaClub: $poin poin\n";
}
}
}
// Contoh penggunaan
$klasemen = new Klasement();
$klasemen->tambahTanding("Barcelona", 2, "Real Madrid", 1);
print_r($klasemen->tampilkanKlasemen());
PD9waHAKCmNsYXNzIEtsYXNlbWVudAp7CiAgICBwdWJsaWMgJHBvaW47CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkKICAgIHsKICAgICAgICAkdGhpcy0+cG9pbiA9IFtdOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0YW1iYWhUYW5kaW5nKHN0cmluZyAkbmFtYUNsdWIxLCBpbnQgJHNrb3JDbHViMSwgc3RyaW5nICRuYW1hY2x1YjIsIGludCAkc2tvckNsdWIyKTogdm9pZAogICAgewogICAgICAgIGlmICghaXNzZXQoJHRoaXMtPnBvaW5bJG5hbWFDbHViMV0pKSB7CiAgICAgICAgICAgICR0aGlzLT5wb2luWyRuYW1hQ2x1YjFdID0gMDsKICAgICAgICB9CiAgICAgICAgaWYgKCFpc3NldCgkdGhpcy0+cG9pblskbmFtYWNsdWIyXSkpIHsKICAgICAgICAgICAgJHRoaXMtPnBvaW5bJG5hbWFjbHViMl0gPSAwOwogICAgICAgIH0KCiAgICAgICAgaWYgKCRza29yQ2x1YjEgPiAkc2tvckNsdWIyKSB7CiAgICAgICAgICAgICR0aGlzLT5wb2luWyRuYW1hQ2x1YjFdICs9IDM7IC8vIENsdWIgMSBtZW5hbmcKICAgICAgICB9IGVsc2VpZiAoJHNrb3JDbHViMSA8ICRza29yQ2x1YjIpIHsKICAgICAgICAgICAgJHRoaXMtPnBvaW5bJG5hbWFjbHViMl0gKz0gMzsgLy8gQ2x1YiAyIG1lbmFuZwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICR0aGlzLT5wb2luWyRuYW1hQ2x1YjFdICs9IDE7IC8vIFNlcmkKICAgICAgICAgICAgJHRoaXMtPnBvaW5bJG5hbWFjbHViMl0gKz0gMTsgLy8gU2VyaQogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGFtcGlsa2FuS2xhc2VtZW4oKTogdm9pZAogICAgewogICAgICAgIGFyc29ydCgkdGhpcy0+cG9pbik7CiAgICAgICAgZm9yZWFjaCAoJHRoaXMtPnBvaW4gYXMgJG5hbWFDbHViID0+ICRwb2luKSB7CiAgICAgICAgICAgIGVjaG8gIiRuYW1hQ2x1YjogJHBvaW4gcG9pblxuIjsKICAgICAgICB9CiAgICB9Cn0KCi8vIENvbnRvaCBwZW5nZ3VuYWFuCiRrbGFzZW1lbiA9IG5ldyBLbGFzZW1lbnQoKTsKJGtsYXNlbWVuLT50YW1iYWhUYW5kaW5nKCJCYXJjZWxvbmEiLCAyLCAiUmVhbCBNYWRyaWQiLCAxKTsKcHJpbnRfcigka2xhc2VtZW4tPnRhbXBpbGthbktsYXNlbWVuKCkpOw==