using System;
using System.Collections.Generic;
using System.Linq;
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("=== Program Perhitungan Klasemen ===");
List<string> namaKlub = new List<string> { "Arsenal", "Chelsea", "Liverpool" };
Klasemen klasemen = new Klasemen(namaKlub);
klasemen.CatatPermainan("Arsenal", "Chelsea", "2:1");
klasemen.CatatPermainan("Arsenal", "Liverpool", "2:1");
klasemen.CatatPermainan("Liverpool", "Chelsea", "1:1");
var semuaKlasemen = klasemen.CetakKlasemen();
foreach (var item in semuaKlasemen)
{
Console.WriteLine($"{item.Klub}: {item.Skor} points");
}
Console.WriteLine($"{klasemen.AmbilPeringkat(1)}");
}
}
public class KlasemenModel
{
public string Klub { get; set; }
public int Skor { get; set; }
}
public class Klasemen
{
private List<KlasemenModel> klasemenList;
public Klasemen(List<string> namaKlub)
{
klasemenList = namaKlub
.Select(klub => new KlasemenModel { Klub = klub, Skor = 0 })
.ToList();
}
public void CatatPermainan(string klubKandang, string klubTandang, string skor)
{
var skorList = skor.Split(':');
int skorKlubKandang = int.Parse(skorList[0]);
int skorKlubTandang = int.Parse(skorList[1]);
var klubKandangObj = klasemenList.FirstOrDefault(x => x.Klub == klubKandang);
var klubTandangObj = klasemenList.FirstOrDefault(x => x.Klub == klubTandang);
if (klubKandangObj == null || klubTandangObj == null)
{
Console.WriteLine("Klub tidak ditemukan dalam klasemen.");
return;
}
if (skorKlubKandang > skorKlubTandang)
{
klubKandangObj.Skor += 3;
}
else if (skorKlubKandang < skorKlubTandang)
{
klubTandangObj.Skor += 3;
}
else
{
klubKandangObj.Skor += 1;
klubTandangObj.Skor += 1;
}
}
public List<KlasemenModel> CetakKlasemen()
{
return klasemenList.OrderByDescending(x => x.Skor).ToList();
}
public string AmbilPeringkat(int nomorPeringkat)
{
var sortedList = klasemenList.OrderByDescending(x => x.Skor).ToList();
if (nomorPeringkat < 0 || nomorPeringkat >= sortedList.Count)
{
return "Nomor peringkat di luar jangkauan.";
}
return sortedList[nomorPeringkat - 1].Klub;
}
}