<?php
class Klasemen {
private $poin = [];
public function __construct($klubList) {
foreach ($klubList as $klub) {
$this->poin[$klub] = 0;
}
}
public function catatPermainan($klubKandang, $klubTandang, $skor) {
list($skorKandang, $skorTandang) = explode(':', $skor); $skorKandang = (int)$skorKandang;
$skorTandang = (int)$skorTandang;
if ($skorKandang > $skorTandang) {
$this->poin[$klubKandang] += 3;
} elseif ($skorKandang < $skorTandang) {
$this->poin[$klubTandang] += 3;
} else {
$this->poin[$klubKandang] += 1;
$this->poin[$klubTandang] += 1;
}
}
public function cetakKlasemen() {
return $this->poin;
}
public function ambilPeringkat($nomorPeringkat) {
$hasilKlasemen = $this->cetakKlasemen();
if ($nomorPeringkat > 0 && $nomorPeringkat <= count($namaKlub)) { return $namaKlub[$nomorPeringkat - 1];
}
return 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');
echo "Klasemen:\n";
print_r($klasemen->cetakKlasemen());
echo "\nPeringkat ke-2: " . $klasemen->ambilPeringkat(2) . "\n";
?>
PD9waHAKCmNsYXNzIEtsYXNlbWVuIHsKICAgIHByaXZhdGUgJHBvaW4gPSBbXTsKICAgIAogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRrbHViTGlzdCkgewogICAgICAgIGZvcmVhY2ggKCRrbHViTGlzdCBhcyAka2x1YikgewogICAgICAgICAgICAkdGhpcy0+cG9pblska2x1Yl0gPSAwOwogICAgICAgIH0KICAgIH0KICAgIAogICAgcHVibGljIGZ1bmN0aW9uIGNhdGF0UGVybWFpbmFuKCRrbHViS2FuZGFuZywgJGtsdWJUYW5kYW5nLCAkc2tvcikgewogICAgICAgIGxpc3QoJHNrb3JLYW5kYW5nLCAkc2tvclRhbmRhbmcpID0gZXhwbG9kZSgnOicsICRza29yKTsKICAgICAgICAkc2tvckthbmRhbmcgPSAoaW50KSRza29yS2FuZGFuZzsKICAgICAgICAkc2tvclRhbmRhbmcgPSAoaW50KSRza29yVGFuZGFuZzsKICAgICAgICAKICAgICAgICBpZiAoJHNrb3JLYW5kYW5nID4gJHNrb3JUYW5kYW5nKSB7CiAgICAgICAgICAgICR0aGlzLT5wb2luWyRrbHViS2FuZGFuZ10gKz0gMzsKICAgICAgICB9IGVsc2VpZiAoJHNrb3JLYW5kYW5nIDwgJHNrb3JUYW5kYW5nKSB7CiAgICAgICAgICAgICR0aGlzLT5wb2luWyRrbHViVGFuZGFuZ10gKz0gMzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkdGhpcy0+cG9pblska2x1YkthbmRhbmddICs9IDE7CiAgICAgICAgICAgICR0aGlzLT5wb2luWyRrbHViVGFuZGFuZ10gKz0gMTsKICAgICAgICB9CiAgICB9CiAgICAKICAgIHB1YmxpYyBmdW5jdGlvbiBjZXRha0tsYXNlbWVuKCkgewogICAgICAgIGFyc29ydCgkdGhpcy0+cG9pbik7CiAgICAgICAgcmV0dXJuICR0aGlzLT5wb2luOwogICAgfQogICAgCiAgICBwdWJsaWMgZnVuY3Rpb24gYW1iaWxQZXJpbmdrYXQoJG5vbW9yUGVyaW5na2F0KSB7CiAgICAgICAgJGhhc2lsS2xhc2VtZW4gPSAkdGhpcy0+Y2V0YWtLbGFzZW1lbigpOwogICAgICAgICRuYW1hS2x1YiA9IGFycmF5X2tleXMoJGhhc2lsS2xhc2VtZW4pOwogICAgICAgIAogICAgICAgIGlmICgkbm9tb3JQZXJpbmdrYXQgPiAwICYmICRub21vclBlcmluZ2thdCA8PSBjb3VudCgkbmFtYUtsdWIpKSB7CiAgICAgICAgICAgIHJldHVybiAkbmFtYUtsdWJbJG5vbW9yUGVyaW5na2F0IC0gMV07CiAgICAgICAgfQogICAgICAgIAogICAgICAgIHJldHVybiBudWxsOwogICAgfQp9Cgoka2xhc2VtZW4gPSBuZXcgS2xhc2VtZW4oWydMaXZlcnBvb2wnLCAnQ2hlbHNlYScsICdBcnNlbmFsJ10pOwoKJGtsYXNlbWVuLT5jYXRhdFBlcm1haW5hbignQXJzZW5hbCcsICdMaXZlcnBvb2wnLCAnMjoxJyk7CiRrbGFzZW1lbi0+Y2F0YXRQZXJtYWluYW4oJ0Fyc2VuYWwnLCAnQ2hlbHNlYScsICcxOjEnKTsKJGtsYXNlbWVuLT5jYXRhdFBlcm1haW5hbignQ2hlbHNlYScsICdBcnNlbmFsJywgJzA6MycpOwoka2xhc2VtZW4tPmNhdGF0UGVybWFpbmFuKCdDaGVsc2VhJywgJ0xpdmVycG9vbCcsICczOjInKTsKJGtsYXNlbWVuLT5jYXRhdFBlcm1haW5hbignTGl2ZXJwb29sJywgJ0Fyc2VuYWwnLCAnMjoyJyk7CiRrbGFzZW1lbi0+Y2F0YXRQZXJtYWluYW4oJ0xpdmVycG9vbCcsICdDaGVsc2VhJywgJzA6MCcpOwoKZWNobyAiS2xhc2VtZW46XG4iOwpwcmludF9yKCRrbGFzZW1lbi0+Y2V0YWtLbGFzZW1lbigpKTsKCmVjaG8gIlxuUGVyaW5na2F0IGtlLTI6ICIgLiAka2xhc2VtZW4tPmFtYmlsUGVyaW5na2F0KDIpIC4gIlxuIjsKCj8+