Halo para pecinta coding, ini tutorial pertama yang saya tulis, saya awali dengan membuat program untuk menghitung poin klub sepak bola dengan C#, Berikut deskripsi program yang akan kita buat : Program berguna untuk menghitung poin yang diterima sebuah klub sepakbola. Nilai yang diinput oleh user a...

Program Penghitung Poin Klub Sepak Bola

Halo para pecinta coding, ini tutorial pertama yang saya tulis, saya awali dengan membuat program untuk menghitung poin klub sepak bola dengan C#,

Berikut deskripsi program yang akan kita buat :

  • Program berguna untuk menghitung poin yang diterima sebuah klub sepakbola.
  • Nilai yang diinput oleh user adalah, jumlah kemenangan, jumlah kekalahan, dan jumlah hasil seri yang dialami oleh klub tersebut
  • Program juga akan memutuskan apakah klub bersangkutan berada di peringkat utama atau kedua.
  • Dengan kondisi, jika poin-nya lebih besar dari 50, maka berada di per-• ingkat 1. Sedangkan, jika poin-nya sama dengan atau lebih kecil dari 50, maka berada di peringkat 2.

Pertama kita akan membuat (user interace) tampilannya terlebih dahulu, berikut langkah-langkah untuk membuatnya.

  1. Buat File project yang baru dengan nama menghitungPointSepakBola
  2. Setelah itu, pada ToolBox, bagian Common Controls, anda klik komponen Label, lalu drag ke Form1. Mengenai letaknya sembarang saja dulu, karena nanti kita akan mengaturnya melalui Properties.

              

3. Masukkan lagi 7 buah Label, 5 buah TextBox, 3 buah Button , atur tata letaknya kira-kira sepert di bawah ini.

            

 

 

 

 

 

 

 

 

 

 

4. Setelah itu, kita akan mengatur Properties dari masing-masing komponen. Caranya adalah, klik kanan pada salah satu komponen,             misalkan Label1. Lalu pilih Properties.

5. Ubah Value (nilai) dari Properties Text dengan kata ‘Main

          

 

 

 

 

 

 

 

 

 

6.Lalu ubah juga Properties Location, dengan nilai                                                                                                                                                                

7.Lalu ubah nilai Properties Font, dengan cara klik maka akan tampil kotak dialog Font.                                                                                             

8. Pada bagian Font Style, pilih Bold, tekan OK

         

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9. Untuk langkah selanjutnya, kita akan mengubah semua nilai properties pada masing-masing objek yang ada pada Form1, termasuk          Form1 itu sendiri. Untuk mengetahui objek dan properties yang mana yang akan diubah, dan apa nilainya, silahkan Anda lihat pada            Tabel di bawah ini.

                                                                                                                                                                                                                                      

Sampai saat ini kita sudah selesai membuat tampilan user interfacenya, sekarang kita akan melakukan tahap coding agar program bisa berjalan, langkah-langkahnya antara lain sebagai berikut.

1.Klik ganda pada komponen txtMenang, ketikkan kode yang berwarna merah seperti dibawah ini.

private void txtMenang_TextChanged(object sender, EventArgs e)
{        
    HitungJumlahMain();
}

Keterangan Program:

  • Baris 1, 2, dan 4: akan tercipta dengan sendirinya begitu kita melakukan klik ganda pada komponen txtMenang tadi. Jadi tidak perlu diketik lagi.
  • Baris 1: txtMenang_TextChanged adalah nama komponen (txtMenang) dan nama event-nya (TextChanged).
  • Event adalah trigger yang akan memicu baris kode di dalamnya untuk dijalankan. Biasanya event dipicu oleh interaksi pengguna dengan program yang kita buat. - Pada event untuk komponen txtMenang ini, baris kode akan dijalankan jika pada komponen txtMenang terjadi perubahan teks atau isinya.
  • Baris 3: berguna untuk memanggil method HitungJumlahMain(), method ini sendiri nanti akan kita buat

2. Kembali lagi ke form design, dengan cara klik tab pada bagian atas yang bertuliskan Form1.cs [Design].

3.Setelah itu, lalukan cara yang sama seperti pada langkah 1, untuk komponen txtSeri dan txtKalah. Sehingga hasilnya nanti seperti ini    

private void txtKalah_TextChanged(object sender, EventArgs e)
{        
      HitungJumlahMain();
}

.4.Kembali lagi ke form design dengan cara yang sama seperti pada langkah 2.

5.Lalu klik ganda pada komponen cmdHitung untuk masuk kembali ke editor kode, dan ketikkan kode berikut.

private void cmdHitung_Click(object sender, EventArgs e)
        {
            int jmlMenang, jmlSeri, jmlKalah, jmlPoint;
            int jmlPoinMenang, jmlPoinSeri, jmlPoinKalah;

            jmlMenang = int.Parse(txtMenang.Text);
            jmlSeri = int.Parse(txtSeri.Text);
            jmlKalah = int.Parse(txtKalah.Text);
            
            // hitung jmlPoinMenang
            jmlPoinMenang = jmlMenang * 3;

            // hitung jmlPoinSeri
            jmlPoinSeri = jmlSeri * 1;

            // hitung jmlPoinKalah
            jmlPoinKalah = jmlKalah * 0;

            jmlPoint = jmlPoinMenang + jmlPoinSeri + jmlPoinKalah;
            txtPoint.Text = jmlPoint.ToString();

            lblPeringkatKlub.Text = TentukanPeringkatKlub(jmlPoint).ToString();
        }

Keterangan Program:

  • Baris 1 dan 2: mendeklarasikan tujuh buah variabel bertipe data Integer.
  • Baris 5: mengambil isi dari komponen txtMenang, dan karena datanya  bertipe String maka harus dikonversi dulu ke tipe Integer. Setelah itu masukkan hasilnya ke variabel jmlMenang.
  • Baris 6 dan 7: sama dengan baris 6. Untuk setiap data dari komponen TextBox, Label, ComboBox, dll, tipe datanya adalah String. Maka jika variabel penampungnya bukan String juga, harus dikonversi ke tipe data yang sesuai.
  • Baris 8, 10, 12: adalah baris komentar. Komentar tidak akan diparsing oleh bahasa pemrograman, jadi tidak akan berpengaruh dengan program yang kita buat..
  • Dalam membuat program biasakanlah untuk memberikan komentar seperlunya, hal ini sangat berguna untuk mengingatkan kita, misalnya, apa maksud dan guna dari kode ini, variabel ini berguna untuk program yang mana, dan lain-lain..
  • Baris 9: menghitung jumlah poin yang diperoleh untuk kemenangan (jmlPoinMenang), dengan rumus banyaknya kemenangan yang diraih (jmlMenang) dikalikan dengan 3.
  • Baris 11: menghitung jumlah poin yang diperoleh untuk hasil seri (jmlPoinSeri), dengan rumus banyaknya hasil seri yang diraih (jmlSeri) dikalikan dengan 1.
  • Baris 13: menghitung jumlah poin yang diperoleh untuk kekalahan (jmlPoinKalah), dengan rumus banyaknya kekalahan yang diraih (jmlKalah) dikalikan dengan 0. Sebetulnya baris kode ini bisa diganti dengan jmlPoinKalah = 0, karena bagaimanapun juga, hasil dari perhitungan ini akan tetap menghasilkan nilai 0 (nol)
  • Baris 14: menjumlahkan hasil dari proses pada baris 11, 14, dan 17, lalu hasilnya disimpan ke variabel jmlPoint.
  • Baris 15: menampilkan isi variabel jmlPoint, melalui komponen txtPoint. Akan tetapi, sebelumnya harus dikonversi dulu ke tipe String (ToString()).
  • Baris 16: menentukan klub kita ada diperingkat berapa berdasarkan jmlPoint, dengan menggunakan method TentukanPeringkatKlub(). Lalu hasilnya akan ditampilkan melalui lblPeringkatKlub.

6. Klik ganda cmdReset, ketikkan kode berikut ini

private void cmdReset_Click(object sender, EventArgs e)
        {
            txtMain.Text = Convert.ToString(0);
            txtMenang.Text = Convert.ToString(0);
            txtSeri.Text = Convert.ToString(0);
            txtKalah.Text = Convert.ToString(0);
            txtPoint.Text = Convert.ToString(0);
            lblPeringkatKlub.Text = "?";
        }

Keterangan Program:

  • Kode ini berguna untuk me-reset atau mengembalikan kondisi tampilan seolah-olah seperti program baru dijalankan
  • Baris 3-7: mengisi masing-masing komponen dengan angka 0. Karena angka 0 bukan bertipe string jadi harus dikonversi dulu ke tipe String, dengan menggunakan perintah Convert.ToString()
  • Sebenarnya untuk baris 3-7 bisa saja kodenya diganti dengan, misal txtMain.Text = “0”; . Akan tetapi yang harus diingat, meskipun jumlah karakternya hanya 1 (yaitu 0), akan tetapi jangan dianggap sebagai karakter dan ditulis dengan petik satu ( ‘0’ ), karena akan menyebabkan program error.
  • Baris 8: mengisi komponen lblPeringkatKlub dengan simbol ? .

7. Klik ganda cmdKeluar, ketikkan kode berikut ini.

 private void cmdKeluar_Click(object sender, EventArgs e)
        {
            this.Close();
        } 

Keterangan Program:

  • Kode ini berguna untuk keluar dari program.
  • Baris 3: this, maksudnya Form1. Close(), adalah method untuk menutup program.

8. Selanjutnya kita akan membuat method kita sendiri, yaitu method dengan nama HitungJumlahMain(). Ketikkan kode berikut dibawah kode sebelumnya tadi. Lihat kode dibawah ini.

this.Close();
        }        

        // method HitungJumlahMain()
        private void HitungJumlahMain()
        {
            int jmlMain, jmlMenang = 0, jmlSeri = 0, jmlKalah = 0;

            try
            {
                jmlMenang = int.Parse(txtMenang.Text);
            }
            catch (FormatException)
            {
                txtMenang.Text = "0";
            }

            try
            {
                jmlSeri = int.Parse(txtSeri.Text);
            }
            catch (FormatException)
            {
                txtSeri.Text = "0";
            }

            try
            {
                jmlKalah = int.Parse(txtKalah.Text);
            }
            catch (FormatException)
            {
                txtKalah.Text = "0";
            }

            jmlMain = jmlMenang + jmlSeri + jmlKalah;
            txtMain.Text = jmlMain.ToString();
        }

Keterangan Program:

  • Baris 1 dan 2: potongan kode program langkah 7, untuk menunjukkan dimana posisi kita mulai mengetikkan kode langkah 8.
  • Baris 4: karena method ini tidak punya nilai kembalian (return value), jadi bertipekan void.
  • Baris 7-14: adalah salah satu kelebihan yang dimiliki oleh C#, yaitu perangkap kesalahan (exception handling)
  • Baris 7-10: mencoba (try) untuk mengkonversi isi dari variabel txtMenang ke tipe data Integer. Jika ada kesalahan (error), misalnya, txtMenang masih kosong, atau diinput yang bukan angka. Maka program akan menjalankan baris kode di dalam catch, yaitu men-set isi komponen txtMenang dengan angka 0 (nol)
  • Baris 31: menjumlahkan variabel jmlMenang, jmlSeri, jmlKalah, hasilnya simpan ke variabel jmlMain.
  • Baris 35: tampilkan isi variabel jmlMain, ke dalam komponen txtMain, setelah sebelumnya (lagi-lagi) dikonversi ke tipe data String.

9. Dan untuk yang terakhir, kita akan membuat method dengan nama TentukanPeringkatKlub(). Ketikkan kode berikut ini

// method TentukanPeringkatKlub()
        private int TentukanPeringkatKlub(int jumlahPoin)
        {
            if (jumlahPoin > 50)
            {
                return 1;
            }
            else
            {
                return 2;
            }
        }

Keterangan Program:

  • Baris 2: berbeda dengan method yang pertama kita buat (langkah 7), method kali ini memiliki parameter, yaitu variabel int jumlahPoin. Selain itu karena tipe data yang akan dikembalikan adalah Integer, maka method ini pun harus bertipe Integer (private int TentukanPeringkatKlub()).
  • Baris 4-7: periksa apakah nilai yang ada pada variabel jumlahPoin, bernilai lebih besar dari 50. Jika iya, maka nilai kembalian (return value)-nya adalah 1
  • Baris 8-11: jika tidak, maka nilai kembalian (return value)-nya adalah 2
  • Coba Anda lihat lagi penggunaan method ini pada langkah 5 (untuk komponen cmdHitung).
  • lblPeringkatKlub.Text = TentukanPeringkatKlub(jmlPoint).ToString();
  • Jadi, apabila jmlPoint, misalkan bernilai 65, maka yang akan tampil pada komponen lblPeringkatKlub adalah angka 1. Karena 65 lebih besar dari 50, dan nilai kembaliannya adalah 1.

10. Setelah itu tekan tombol F6, untuk melakukan Build Solution. Jika ada error, coba Anda teliti lagi apakah ada kode yang terlewat atau           salah dalam pengetikannya. Jika tidak ada error, tekan tombol F5. Maka program akan dijalankan.

Dan tahap terakhir dalam pembuatan program adalah tahap yang disebut testing atau ujicoba program.

Langkah-langkah melakukan ujicoba program adalah sebagai berikut:

1. Setelah program dijalankan, isi Menang dengan angka 23 (misalkan), Seri dengan angka 8, dan Kalah dengan angka 16.

2. Klik tombol Hitung atau tekan kombinasi tombol ALT + H, pada keyboard. Maka program akan menghitung jumlah point dan menampilkannya. Bersamaan dengan itu juga program akan menentukan berada pada peringkat berapakah klub kita.

3. Klik tombol Reset atau ALT + R, untuk mengulangi proses penghitungan.

4. Klik tombol Keluar atau ALT + K, untuk menutup atau keluar dari program

Berikut tampilan saat program di jalankan

Demikian Tutorial pertama saya di JagoCoding, tunggu tutorial menarik berikutnya yah.


About Author

Sendy PK

Saya adalah Programmer yang memiliki impian untuk menguasai dunia kunjungi situs pribadi saya di www.spk.my.id


Comment & Discussions

    Please LOGIN before if you want to give the comment.