Cara Membuat Jadwal Liga Otomatis di Excel Menggunakan VBA Macro

oleh | 16 Mei 2026 | VBA Macro | 0 Komentar

Membuat jadwal pertandingan secara manual tentu sangat melelahkan, terutama jika jumlah tim yang mengikuti kompetisi cukup banyak. Untungnya, Excel dapat digunakan sebagai solusi praktis untuk membantu proses tersebut. Dengan VBA Macro, kita bisa membuat sistem fixture generator otomatis yang mampu menghasilkan jadwal pertandingan lengkap hanya dalam hitungan detik.

Pada artikel ini kita akan membahas secara lengkap tentang cara membuat jadwal liga otomatis di Excel menggunakan VBA Macro. Tutorial ini cocok untuk panitia turnamen sepak bola, futsal, kompetisi esport, liga sekolah, maupun siapa saja yang ingin memahami cara membuat jadwal liga otomatis dengan lebih cepat dan efisien.

Selain itu, artikel ini juga akan menjelaskan secara detail kode VBA yang digunakan agar pembaca lebih mudah memahami logika di balik proses pembuatan fixture pertandingan. Dengan memahami cara membuat jadwal liga otomatis menggunakan VBA, Anda tidak hanya bisa membuat jadwal 20 tim, tetapi juga dapat mengembangkan sistem sesuai kebutuhan sendiri.

Apa Itu Jadwal Liga Round Robin?

Sebelum membahas cara membuat jadwal liga otomatis, kita perlu memahami sistem pertandingan yang digunakan. Pada umumnya kompetisi sepak bola menggunakan sistem round robin atau kompetisi penuh. Dalam sistem ini:

  • Semua tim akan saling bertemu
  • Setiap tim bermain satu kali setiap pekan
  • Ada pertandingan kandang dan tandang
  • Tidak boleh ada bentrok jadwal

Sebagai contoh:

  • 20 tim
  • 1 pekan terdiri dari 10 pertandingan
  • Total putaran pertama = 19 pekan
  • Total home-away = 38 pekan

Dengan banyaknya kombinasi pertandingan tersebut, proses membuat jadwal secara manual tentu cukup rumit. Karena itu kita membutuhkan cara membuat jadwal liga otomatis menggunakan VBA Macro.

Persiapan Data Klub di Excel

Langkah pertama dalam cara membuat jadwal liga otomatis adalah menyiapkan daftar klub. Susun data klub pada kolom B mulai dari sel B3 sampai B22. Contoh:

Baca Juga  Tutorial Cara Membagi Jadwal Ngawas Otomatis dengan Adil dan Sekali Klik
cara membuat jadwal liga otomatis

Pada tutorial ini:

  • B2 digunakan sebagai header
  • B3:B22 digunakan untuk daftar klub
  • Hasil fixture akan muncul di kolom D sampai H

Hasil Jadwal Liga Otomatis

Setelah macro dijalankan, Excel akan menghasilkan tabel seperti berikut:

Hasil dari cara membuat jadwal liga otomatis di Excel

Keterangan:

  • Week = nomor pekan
  • Home = tim tuan rumah
  • HG = skor home
  • AG = skor away
  • Away = tim tandang

Salah satu kelebihan cara membuat jadwal liga otomatis ini adalah kolom skor dapat langsung diisi secara manual setelah jadwal berhasil dibuat.

Kode VBA Membuat Jadwal Liga Otomatis

Berikut kode VBA yang digunakan:

Sub BuatJadwalLiga()

    Dim ws As Worksheet
    Set ws = ActiveSheet

    ' DATA CLUB DI B3:B22
    Dim tim() As Variant
    tim = ws.Range("B3:B22").Value

    Dim n As Integer
    n = UBound(tim)

    Dim ronde As Integer
    ronde = n - 1

    Dim matchPerWeek As Integer
    matchPerWeek = n / 2

    Dim arr()
    ReDim arr(1 To n)

    Dim i As Integer

    For i = 1 To n
        arr(i) = tim(i, 1)
    Next i

    ' OUTPUT MULAI BARIS 3
    Dim rowOut As Long
    rowOut = 3

    ' BERSIHKAN FIXTURE LAMA
    ws.Range("D:H").ClearContents

    ' HEADER
    ws.Range("D2").Value = "Week"
    ws.Range("E2").Value = "Home"
    ws.Range("F2").Value = "HG"
    ws.Range("G2").Value = "AG"
    ws.Range("H2").Value = "Away"

    Dim week As Integer
    Dim m As Integer

    ' =========================
    ' PUTARAN PERTAMA
    ' =========================
    For week = 1 To ronde

        For m = 1 To matchPerWeek

            ' WEEK
            ws.Cells(rowOut, 4).Value = week

            ' MATCH
            If m = 1 Then

                ws.Cells(rowOut, 5).Value = arr(1)
                ws.Cells(rowOut, 8).Value = arr(n)

            Else

                ws.Cells(rowOut, 5).Value = arr(m)
                ws.Cells(rowOut, 8).Value = arr(n - m + 1)

            End If

            rowOut = rowOut + 1

        Next m

        Call RotateTeams(arr)

    Next week

    ' =========================
    ' PUTARAN KEDUA
    ' =========================
    Dim lastFixtureRow As Long
    lastFixtureRow = rowOut - 1

    Dim r As Long

    For r = 3 To lastFixtureRow

        ws.Cells(rowOut, 4).Value = ws.Cells(r, 4).Value + ronde

        ' HOME & AWAY DIBALIK
        ws.Cells(rowOut, 5).Value = ws.Cells(r, 8).Value
        ws.Cells(rowOut, 8).Value = ws.Cells(r, 5).Value

        rowOut = rowOut + 1

    Next r

    MsgBox "Jadwal 38 week berhasil dibuat!"

End Sub


Sub RotateTeams(arr As Variant)

    Dim n As Integer
    n = UBound(arr)

    Dim temp As Variant
    temp = arr(n)

    Dim i As Integer

    For i = n To 3 Step -1
        arr(i) = arr(i - 1)
    Next i

    arr(2) = temp

End Sub

Berikut penampakannya dalam editor macro:

Modul cara membuat jadwal liga otomatis di Excel

Penjelasan Kode VBA Secara Detail

Agar lebih mudah memahami cara membuat jadwal liga otomatis, mari kita bahas kode di atas satu per satu.

Baca Juga  Cara Membuat Dropdown List Dinamis di Excel Berdasarkan Kategori

1. Menentukan Worksheet Aktif

Dim ws As Worksheet
Set ws = ActiveSheet

Kode ini digunakan untuk menentukan bahwa macro akan bekerja pada sheet yang sedang aktif.

2. Mengambil Data Tim

tim = ws.Range("B3:B22").Value

Bagian ini mengambil seluruh nama klub dari range B3 sampai B22. Jika jumlah klub berubah, range ini dapat disesuaikan.

3. Menghitung Jumlah Tim

n = UBound(tim)

Kode ini digunakan untuk menghitung jumlah tim yang ada di dalam array.

4. Menghitung Jumlah Pekan

ronde = n - 1

Dalam sistem round robin:

  • 20 tim = 19 pekan
  • 18 tim = 17 pekan
  • 16 tim = 15 pekan

Karena setiap tim harus bertemu semua lawan satu kali.

5. Menghitung Jumlah Pertandingan per Pekan

matchPerWeek = n / 2

Jika ada 20 tim:

  • 20 ÷ 2 = 10 pertandingan tiap pekan

Inilah salah satu bagian penting dalam cara membuat jadwal liga otomatis.

6. Membuat Array Baru

ReDim arr(1 To n)

Kode ini digunakan untuk menyiapkan array baru yang akan diputar setiap pekan.

7. Memindahkan Data Tim ke Array

For i = 1 To n
    arr(i) = tim(i, 1)
Next i

Loop ini digunakan untuk memasukkan semua nama klub ke dalam array.

8. Membersihkan Fixture Lama

ws.Range("D:H").ClearContents

Bagian ini akan menghapus jadwal sebelumnya sebelum membuat fixture baru.

9. Membuat Header Tabel

ws.Range("D2").Value = "Week"
ws.Range("E2").Value = "Home"
ws.Range("F2").Value = "HG"
ws.Range("G2").Value = "AG"
ws.Range("H2").Value = "Away"

Kode ini digunakan untuk membuat header otomatis.

10. Membuat Putaran Pertama

For week = 1 To ronde

Loop ini digunakan untuk membuat pekan pertandingan. Jika ada 20 tim:

  • week 1 sampai 19

11. Menentukan Tim Home dan Away

ws.Cells(rowOut, 5).Value = arr(m)
ws.Cells(rowOut, 8).Value = arr(n - m + 1)

Kode ini memasangkan klub home dan away.

12. Merotasi Tim

Call RotateTeams(arr)

Inilah inti dari cara membuat jadwal liga otomatis. Setelah satu pekan selesai dibuat, susunan tim akan diputar agar menghasilkan pasangan pertandingan baru.

13. Membuat Putaran Kedua

ws.Cells(rowOut, 5).Value = ws.Cells(r, 8).Value
ws.Cells(rowOut, 8).Value = ws.Cells(r, 5).Value

Bagian ini digunakan untuk membuat pertandingan kandang dan tandang. Home dan away dibalik sehingga total pertandingan menjadi 38 pekan.

Cara Memasang VBA Macro di Excel

Berikut langkah-langkah memasang kode VBA:

Baca Juga  Cara Mudah Mengambil Kata yang Tercetak Tebal di Microsoft Excel dengan VBA

1. Buka VBA Editor

Tekan:

ALT + F11

2. Insert Module

Pilih:

  • Insert
  • Module

3. Paste Kode VBA

Paste seluruh kode VBA ke dalam module.

4. Simpan File

Simpan file sebagai:

Excel Macro-Enabled Workbook (*.xlsm)

Cara Menjalankan Macro

Untuk menjalankan macro:

  1. Tekan ALT + F8
  2. Pilih BuatJadwalLiga
  3. Klik Run

Setelah itu jadwal otomatis akan langsung dibuat.

Kelebihan Menggunakan VBA untuk Jadwal Liga

Ada banyak keuntungan menggunakan cara membuat jadwal liga otomatis dengan VBA.

  1. Lebih Cepat; Ratusan pertandingan dapat dibuat hanya dalam beberapa detik.
  2. Mengurangi Human Error; Tidak perlu menyusun pertandingan secara manual.
  3. Fixture Lebih Rapi; Setiap tim hanya bermain satu kali setiap pekan.
  4. Mendukung Home Away; Sistem otomatis membuat pertandingan kandang dan tandang.
  5. Mudah Dimodifikasi; Anda dapat mengembangkan sistem sesuai kebutuhan sendiri.

Tips Pengembangan Lebih Lanjut

Setelah memahami cara membuat jadwal liga otomatis, Anda juga bisa mengembangkan fitur tambahan seperti:

  • klasemen otomatis
  • pencetak gol terbanyak
  • statistik pertandingan
  • jadwal berdasarkan tanggal
  • random venue
  • export PDF
  • dashboard liga

Dengan VBA, Excel bisa berubah menjadi aplikasi manajemen kompetisi yang cukup powerful.

Kesimpulan

Cara membuat jadwal liga otomatis di Excel menggunakan VBA Macro ternyata tidak sesulit yang dibayangkan. Dengan memanfaatkan sistem round robin dan sedikit logika pemrograman VBA, kita dapat menghasilkan fixture pertandingan lengkap secara otomatis.

Selain lebih cepat, cara membuat jadwal liga otomatis ini juga membantu mengurangi kesalahan dalam penyusunan jadwal pertandingan. Sistem ini sangat cocok digunakan untuk kompetisi sepak bola, futsal, esport, maupun turnamen sekolah.

Melalui tutorial cara membuat jadwal liga otomatis ini, kita juga belajar bagaimana VBA bekerja dalam mengolah array, melakukan perulangan, hingga membuat sistem rotasi tim otomatis.

Jika Anda sering membuat kompetisi atau turnamen, memahami cara membuat jadwal liga otomatis menggunakan Excel dan VBA tentu akan sangat membantu pekerjaan Anda. Semoga tutorial ini bermanfaat dan selamat mencoba!

Download Template Gratis

Bagi Anda yang ingin mencoba teknik ini secara langsung, kami telah menyiapkan template gratis yang dirancang khusus untuk membantu Anda mempraktikkan Cara Membuat Jadwal Liga Otomatis di Excel Menggunakan VBA Macro ini. File Excel bisa didownload melalui tautan berikut:

donate
Download contoh excel

Atau juga jika ingin mempelajari langkah demi langkah secara visual, bisa kunjungi Youtube Channel Depot Excel. Di sana teman-teman akan melihat bagaimana rumusnya bekerja. Semoga bermanfaat!

Bagikan artikel ini:

0 Komentar

Kirim Komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Join Our Newsletter