Cara Membagi Jatah Kursi DPR Otomatis dengan Metode Sainte-Laguë di Excel

oleh | 27 Jun 2025 | VBA Macro | 0 Komentar

Dalam setiap pemilu legislatif di Indonesia, salah satu tantangan utama adalah bagaimana cara membagi jatah kursi DPR otomatis secara adil dan transparan. Untuk mengatasi ini, digunakanlah metode konversi suara ke kursi yang disebut metode Sainte-Laguë. Artikel ini akan membahas secara lengkap apa itu Sainte-Laguë, bagaimana prinsip kerjanya, bagaimana cara membagi jatah kursi DPR otomatis menggunakan Microsoft Excel dan VBA, serta menyajikan contoh data dan kode VBA lengkap agar Anda bisa langsung mencobanya sendiri.

Apa Itu Metode Sainte-Laguë?

Metode Sainte-Laguë adalah sebuah sistem pembagian suara dalam sistem pemilu proporsional yang digunakan untuk mengubah jumlah suara menjadi kursi legislatif. Prinsip utama metode ini adalah membagi suara masing-masing partai dengan bilangan ganjil berturut-turut (1, 3, 5, 7, dst), lalu mengambil hasil pembagian terbesar untuk menentukan alokasi kursi.

Metode ini dianggap lebih adil dibanding metode D’Hondt karena cenderung tidak terlalu menguntungkan partai besar dan tetap memberi peluang pada partai menengah dan kecil, selama ambang batas suara terpenuhi.

Contoh Tabel Perhitungan

Berikut adalah contoh data hasil suara partai untuk daerah pemilihan Majalengka 3 pada Pemilu 2024 kemarin dengan total 10 kursi yang tersedia:

Dari tabel ini, kita bisa menerapkan metode Sainte-Laguë untuk menentukan cara membagi jatah kursi DPR otomatis dengan adil sesuai jumlah suara.

Prinsip Kerja Sainte-Laguë

Langkah-langkahnya adalah:

  1. Bagi suara masing-masing partai dengan pembagi ganjil: 1, 3, 5, 7, dst.
  2. Ambil 10 angka tertinggi dari semua hasil pembagian (karena 10 kursi tersedia).
  3. Partai yang hasil baginya masuk dalam 10 tertinggi mendapat kursi sesuai jumlah kemunculannya.
Baca Juga  Cara Menghitung Umur Otomatis di Excel dengan Rumus VBA yang Mudah

Cara Membagi Jatah Kursi DPR Otomatis dengan VBA

Untuk menyederhanakan proses cara membagi jatah kursi DPR otomatis, kita bisa membuat otomatisasi di Excel menggunakan VBA. Dengan VBA, proses perhitungan bisa dilakukan hanya dengan sekali klik. Ini sangat cocok untuk KPUD daerah, partai politik, maupun pengamat pemilu.

Kode VBA Lengkap

Sub HitungSainteLague()
    Dim ws As Worksheet: Set ws = ActiveSheet
    Dim partai As Range
    Dim pembagi() As Long
    Dim hasil As Collection
    Dim kursiTotal As Long
    Dim i As Long, j As Long

    ' Ambil jumlah kursi dari sel C8
    If IsNumeric(ws.Range("C8").Value) Then
        kursiTotal = ws.Range("C8").Value
        If kursiTotal < 1 Then
            MsgBox "Jumlah kursi di C8 harus lebih dari 0!", vbExclamation
            Exit Sub
        End If
    Else
        MsgBox "Mohon isi jumlah kursi yang valid di sel C8!", vbCritical
        Exit Sub
    End If

    ' Ambil data partai dari B11 ke bawah
    Dim lastRow As Long
    lastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row
    If lastRow < 11 Then
        MsgBox "Tidak ada data partai di bawah baris 11!", vbExclamation
        Exit Sub
    End If
    Set partai = ws.Range("B11:C" & lastRow)

    ' Buat array pembagi Sainte-Laguë
    ReDim pembagi(1 To kursiTotal)
    For i = 1 To kursiTotal
        pembagi(i) = 2 * (i - 1) + 1
    Next i

    ' Hitung hasil bagi suara per pembagi
    Set hasil = New Collection
    For i = 1 To partai.Rows.Count
        For j = 1 To kursiTotal
            Dim suara As Double
            suara = partai.Cells(i, 2).Value
            hasil.Add Array(partai.Cells(i, 1).Value, suara / pembagi(j))
        Next j
    Next i

    ' Urutkan nilai hasil bagi
    Dim hasilArray() As Variant
    ReDim hasilArray(1 To hasil.Count, 1 To 2)
    For i = 1 To hasil.Count
        hasilArray(i, 1) = hasil(i)(0)
        hasilArray(i, 2) = hasil(i)(1)
    Next i

    For i = 1 To UBound(hasilArray) - 1
        For j = i + 1 To UBound(hasilArray)
            If hasilArray(j, 2) > hasilArray(i, 2) Then
                Dim temp1, temp2
                temp1 = hasilArray(i, 1): temp2 = hasilArray(i, 2)
                hasilArray(i, 1) = hasilArray(j, 1): hasilArray(i, 2) = hasilArray(j, 2)
                hasilArray(j, 1) = temp1: hasilArray(j, 2) = temp2
            End If
        Next j
    Next i

    ' Alokasikan kursi
    Dim kursi() As Long
    ReDim kursi(1 To partai.Rows.Count)
    Dim partaiNama As Variant
    For i = 1 To kursiTotal
        partaiNama = hasilArray(i, 1)
        For j = 1 To partai.Rows.Count
            If partai.Cells(j, 1).Value = partaiNama Then
                kursi(j) = kursi(j) + 1
                Exit For
            End If
        Next j
    Next i

    ' Tampilkan hasil ke kolom D
    For i = 1 To partai.Rows.Count
        partai.Cells(i, 3).Value = kursi(i)
    Next i

    MsgBox "Perhitungan selesai! Kursi dialokasikan di kolom D.", vbInformation
End Sub

Berikut penampakannya dalam modul Excel:

Baca Juga  Cara Cepat Membuat Keterangan Pinjaman di Excel dengan Menggunakan Macro VBA

Cara Menjalankan Kode

  1. Buka Excel dan masukkan data seperti pada contoh.
  2. Tekan Alt + F11, lalu pilih Insert > Module.
  3. Tempelkan kode VBA di atas.
  4. Kembali ke Excel, tekan Alt + F8, pilih HitungSainteLague, klik Run.
  5. Hasil kursi akan otomatis muncul di kolom D.

Berikut hasilnya:

Hasil dari cara membagi jatah kursi DPR otomatis

Kesimpulan

Menggunakan VBA di Excel adalah cara membagi jatah kursi DPR otomatis yang praktis, akurat, dan efisien. Terlebih bagi panitia pemilu di tingkat lokal atau tim verifikasi partai politik, metode ini sangat membantu untuk mengurangi kesalahan manual.

Dengan memahami dan menerapkan metode Sainte-Laguë, Anda tidak hanya mengetahui cara membagi jatah kursi DPR otomatis, tapi juga membangun sistem distribusi kursi yang adil berdasarkan suara rakyat.

Penutup

Beberapa manfaat utama dari metode ini:

  • Membuat cara membagi jatah kursi DPR otomatis menjadi cepat dan mudah.
  • Hasil lebih transparan dan dapat ditelusuri.
  • Memudahkan simulasi perolehan kursi berdasarkan data suara sementara.
  • Dapat disesuaikan untuk DPR, DPRD Provinsi, DPRD Kabupaten/Kota, dan DPD.

Apakah Anda tertarik mencoba metode ini untuk wilayah atau simulasi pemilu lainnya? Saya siap bantu jika Anda ingin versi Excel siap pakai!

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 Membagi Jatah Kursi DPR Otomatis dengan Metode Sainte-Laguë di Excel ini. File Excel bisa didownload melalui tautan berikut:

download file Excel

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

0 Komentar

Kirim Komentar

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

Join Our Newsletter