<?php
class Klasemen {
private $klubPoin = [];
public function __construct($daftarKlub) {
foreach ($daftarKlub as $klub) {
$this->klubPoin[$klub] = 0;
}
}
public function catatPermainan($klubKandang, $klubTandang, $skor) {
list($skorKandang, $skorTandang) = explode(':', $skor); $skorKandang = (int)$skorKandang;
$skorTandang = (int)$skorTandang;
if ($skorKandang > $skorTandang) {
$this->klubPoin[$klubKandang] += 3;
} elseif ($skorKandang < $skorTandang) {
$this->klubPoin[$klubTandang] += 3;
} else {
$this->klubPoin[$klubKandang] += 1;
$this->klubPoin[$klubTandang] += 1;
}
}
public function cetakKlasemen() {
return $this->klubPoin;
}
public function ambilPeringkat($nomorPeringkat) {
$klasemen = $this->cetakKlasemen();
$index = $nomorPeringkat - 1;
return $klubArray[$index] ?? null;
}
}
$klasemen = new Klasemen(['Liverpool', 'Chelsea', 'Arsenal']);
$klasemen->catatPermainan('Arsenal', 'Liverpool', '2:1');
$klasemen->catatPermainan('Arsenal', 'Chelsea', '1:1');
$klasemen->catatPermainan('Chelsea', 'Arsenal', '0:3');
$klasemen->catatPermainan('Chelsea', 'Liverpool', '3:2');
$klasemen->catatPermainan('Liverpool', 'Arsenal', '2:2');
$klasemen->catatPermainan('Liverpool', 'Chelsea', '0:0');
print_r($klasemen->cetakKlasemen()); print_r($klasemen->ambilPeringkat(2));
PD9waHAKCmNsYXNzIEtsYXNlbWVuIHsKICAgIHByaXZhdGUgJGtsdWJQb2luID0gW107CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRkYWZ0YXJLbHViKSB7CiAgICAgICAgZm9yZWFjaCAoJGRhZnRhcktsdWIgYXMgJGtsdWIpIHsKICAgICAgICAgICAgJHRoaXMtPmtsdWJQb2luWyRrbHViXSA9IDA7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBjYXRhdFBlcm1haW5hbigka2x1YkthbmRhbmcsICRrbHViVGFuZGFuZywgJHNrb3IpIHsKICAgICAgICBsaXN0KCRza29yS2FuZGFuZywgJHNrb3JUYW5kYW5nKSA9IGV4cGxvZGUoJzonLCAkc2tvcik7CiAgICAgICAgJHNrb3JLYW5kYW5nID0gKGludCkkc2tvckthbmRhbmc7CiAgICAgICAgJHNrb3JUYW5kYW5nID0gKGludCkkc2tvclRhbmRhbmc7CgogICAgICAgIGlmICgkc2tvckthbmRhbmcgPiAkc2tvclRhbmRhbmcpIHsKICAgICAgICAgICAgJHRoaXMtPmtsdWJQb2luWyRrbHViS2FuZGFuZ10gKz0gMzsKICAgICAgICB9IGVsc2VpZiAoJHNrb3JLYW5kYW5nIDwgJHNrb3JUYW5kYW5nKSB7CiAgICAgICAgICAgICR0aGlzLT5rbHViUG9pblska2x1YlRhbmRhbmddICs9IDM7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHRoaXMtPmtsdWJQb2luWyRrbHViS2FuZGFuZ10gKz0gMTsKICAgICAgICAgICAgJHRoaXMtPmtsdWJQb2luWyRrbHViVGFuZGFuZ10gKz0gMTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGNldGFrS2xhc2VtZW4oKSB7CiAgICAgICAgYXJzb3J0KCR0aGlzLT5rbHViUG9pbik7CiAgICAgICAgcmV0dXJuICR0aGlzLT5rbHViUG9pbjsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYW1iaWxQZXJpbmdrYXQoJG5vbW9yUGVyaW5na2F0KSB7CiAgICAgICAgJGtsYXNlbWVuID0gJHRoaXMtPmNldGFrS2xhc2VtZW4oKTsKICAgICAgICAka2x1YkFycmF5ID0gYXJyYXlfa2V5cygka2xhc2VtZW4pOwogICAgICAgICRpbmRleCA9ICRub21vclBlcmluZ2thdCAtIDE7CgogICAgICAgIHJldHVybiAka2x1YkFycmF5WyRpbmRleF0gPz8gbnVsbDsKICAgIH0KfQoKJGtsYXNlbWVuID0gbmV3IEtsYXNlbWVuKFsnTGl2ZXJwb29sJywgJ0NoZWxzZWEnLCAnQXJzZW5hbCddKTsKJGtsYXNlbWVuLT5jYXRhdFBlcm1haW5hbignQXJzZW5hbCcsICdMaXZlcnBvb2wnLCAnMjoxJyk7CiRrbGFzZW1lbi0+Y2F0YXRQZXJtYWluYW4oJ0Fyc2VuYWwnLCAnQ2hlbHNlYScsICcxOjEnKTsKJGtsYXNlbWVuLT5jYXRhdFBlcm1haW5hbignQ2hlbHNlYScsICdBcnNlbmFsJywgJzA6MycpOwoka2xhc2VtZW4tPmNhdGF0UGVybWFpbmFuKCdDaGVsc2VhJywgJ0xpdmVycG9vbCcsICczOjInKTsKJGtsYXNlbWVuLT5jYXRhdFBlcm1haW5hbignTGl2ZXJwb29sJywgJ0Fyc2VuYWwnLCAnMjoyJyk7CiRrbGFzZW1lbi0+Y2F0YXRQZXJtYWluYW4oJ0xpdmVycG9vbCcsICdDaGVsc2VhJywgJzA6MCcpOwoKcHJpbnRfcigka2xhc2VtZW4tPmNldGFrS2xhc2VtZW4oKSk7CnByaW50X3IoJGtsYXNlbWVuLT5hbWJpbFBlcmluZ2thdCgyKSk7Cg==