// your code goes here
function Klasemen(daftarKlub) {
this.klubData = {};
for (var i = 0; i < daftarKlub.length; i++) {
var klub = daftarKlub[i];
this.klubData[klub] = { poin: 0, gol: 0 };
}
}
Klasemen.prototype.catatPermainan = function(klubKandang, klubTandang, skor) {
var skorSplit = skor.split(":");
var golKandang = parseInt(skorSplit[0]);
var golTandang = parseInt(skorSplit[1]);
this.klubData[klubKandang].gol += golKandang;
this.klubData[klubTandang].gol += golTandang;
if (golKandang > golTandang) {
this.klubData[klubKandang].poin += 3;
} else if (golKandang < golTandang) {
this.klubData[klubTandang].poin += 3;
} else {
this.klubData[klubKandang].poin += 1;
this.klubData[klubTandang].poin += 1;
}
};
Klasemen.prototype.cetakKlasemen = function() {
var klubArray = [];
for (var nama in this.klubData) {
klubArray.push([nama, this.klubData[nama]]);
}
klubArray.sort(function(a, b) {
if (b[1].poin !== a[1].poin) {
return b[1].poin - a[1].poin;
}
if (b[1].gol !== a[1].gol) {
return b[1].gol - a[1].gol;
}
return a[0].localeCompare(b[0]);
});
return klubArray;
};
Klasemen.prototype.ambilPeringkat = function(n) {
var klasemen = this.cetakKlasemen();
var listKlub = [];
for (var nama in klasemen) {
listKlub.push(nama);
}
return listKlub[n - 1] || "Tidak ada";
};
// ========== Uji Coba ==========
var 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', '2:2');
klasemen.catatPermainan('Liverpool', 'Arsenal', '2:2');
klasemen.catatPermainan('Liverpool', 'Chelsea', '0:0');
print("=== Klasemen ===");
var hasil = klasemen.cetakKlasemen();
for (var i = 0; i < hasil.length; i++) {
var klub = hasil[i][0];
var data = hasil[i][1];
print(klub + ": " + data.poin + " Poin, " + data.gol + " gol" );
}
print("\nPeringkat ke-2: " + klasemen.ambilPeringkat(2));