Aplikasi Arisan Marga Berbasis Web Menggunakan Metode Linear Congruential Generator
Rudi Yanto 1 , Ruci Meiyanti* 2
Fakultas Ilmu Komputer, Universitas Mercu Buana Jl. Meruya Selatan No.1, Kembangan, Jakarta Barat 11650 Email : 41519210059@student.mercubuana.ac.id 1 , ruci@mercubuana.ac.id 2
*) Corresponding author
( received : 06-07-23, revised : 15-07-23, accepted : 27-02-23)

## Abstract
The advancement of technology has significantly impacted various aspects of life, including the traditional practice of "arisan marga" among the Batak ethnic group. Despite having been conducted manually for many years, technological progress has opened up opportunities for automation and efficiency improvement through application development. Therefore, this research aims to develop a web-based application for "arisan marga" that utilizes the Linear Congruential Generator (LCG) method for the drawing of arisan recipients and incorporates e-voting for the election of committee members. The development process involves PHP as the base, supported by the Codeigniter framework and MySQL database. The research results demonstrate the application's effectiveness in managing member data, arisan finances, and conducting fair and random arisan drawings. This innovative solution enables the execution of "arisan marga" in a modern manner, allowing for online implementation while maintaining transparency and fostering close relationships among the members. As an effective alternative, this web application can be utilized by the "marga" community to preserve and modernize the tradition of "arisan" digitally.
Keyword : Arisan Marga, Web application, Linear Congruential Generator

## Abstrak
Perkembangan teknologi telah memberikan dampak yang signifikan dalam berbagai aspek kehidupan, termasuk tradisi arisan marga pada suku Batak. Meskipun tradisi ini telah berlangsung secara manual selama bertahun-tahun, dengan kemajuan teknologi, peluang untuk mengotomatisasi dan meningkatkan efisiensi melalui pengembangan aplikasi semakin terbuka lebar. Maka dari itu, penelitian ini bertujuan untuk mengembangkan aplikasi web arisan marga yang menggunakan metode Linear Congruential Generator (LCG) untuk mengundi penerima arisan, dan memanfaatkan e-voting untuk pemilihan pengurus. Proses pengembangan aplikasi web ini dilakukan dengan menggunakan basis PHP berbantuan framework Codeigniter dan database MySQL . Hasil penelitian menunjukkan aplikasi ini terbukti efektif dalam mengelola data anggota, keuangan arisan, serta pelaksanaan pengundian yang dilakukan dengan cara yang adil dan acak. Dengan solusi inovatif ini, tradisi arisan marga dapat dijalankan secara modern, memungkinkan pelaksanaan arisan secara online, transparan, dan tetap mempertahankan hubungan erat antar anggota marga. Sebagai alternatif efektif, aplikasi web ini dapat digunakan oleh komunitas marga untuk menjaga dan mengembangkan tradisi arisan secara digital.
Kata Kunci : Arisan marga, Aplikasi web, Linear Congruential Generator

## 1. PENDAHULUAN
Perkembangan teknologi dalam kehidupan dimulai dari proses sederhana dalam kehidupan sehari-hari dan meluas ke tingkat kepuasan pribadi dan social [1]. Kemajuan teknologi berkembang dari waktu ke waktu, dengan adanya era teknologi pertanian, era teknologi industri, era teknologi informasi, dan era teknologi informasi dan komunikasi [2]. Perkembangan ini memiliki banyak implikasi bagi masyarakat, bangsa, dan kehidupan bangsa, dan setiap orang memiliki kepentingan untuk menggunakan dan mendapatkan manfaat dari setiap perkembangan ini [3]. Dengan berjalannya waktu, perkembangan teknologi telah membawa perubahan
yang signifikan, termasuk cara mengelola suatu aktivitas. Sebelumnya, aktivitas-aktivitas tersebut dilakukan secara manual, namun dengan adanya kemajuan teknologi, peluang untuk mengotomatisasi dan memperbaiki efisiensi melalui pengembangan aplikasi menjadi semakin mungkin.
Pada suku Batak, arisan menjadi tradisi para perantau Batak yang mengadakan arisan (pertemuan bulanan). Setiap marga memiliki acara arisannya sendiri. Umumnya, anggota keluarga dari marga suami dan istri menghadiri arisan setidaknya dua kali dalam sebulan. Tradisi arisan ini bertujuan untuk menjaga hubungan antar anggota marga. Jumlah peserta bervariasi di setiap wilayah [4]. Arisan marga juga memiliki agenda cara yang terdiri dari makan bersama, ibadah, mandok hata (mengucapkan kata), pengundian untuk penerima arisan selanjutnya. Arisan marga juga memiliki tabungan yang bertujuan untuk kepentingan bersama sesama anggota, seperti pelean (sumbangan) atau liburan yang akan diakan setiap tahun sekali.
Selama ini kegiatan arisan marga masih dikelola dengan manual menggunakan buku seperti mencatat seluruh anggota, pembayaran arisan, pemasukan dan pengeluaran uang, pengundian penerima arisan, dan pemilihan pengurus tahunan arisan. Pada penelitian terdahulu seperti Aplikasi Arisan Bangun Rumah Berbasis Web yaitu aplikasi web yang dirancang dan dibangun untuk dapat menyimpan data-data arisan untuk masyarakat Minahasa [5]. Ada beberapa algoritma pengacakan seperti Mersenne Twister dengan periode panjang namun kompleksitas tinggi, dan Cryptographically Secure Pseudo-Random Number Generator (CSPRNG) lebih cocok untuk keamanan data [6]. Namun, untuk aplikasi arisan marga, LCG dipilih karena kecepatan, efisiensi, dan sederhana dalam implementasi, yang memadai untuk pengundian arisan dengan cara yang adil dan acak [6].
Penelitian yang diusulkan berfokus pada Arisan Marga dan memiliki perbedaan dengan penelitian terkait sebelumnya. Metode undian acak menggunakan algoritma Linear Congruential Generator untuk menentukan penerima arisan, sementara sistem e-voting digunakan dalam pemilihan pengurus arisan Marga. Selain itu, informasi anggota dan keuangan arisan akan disimpan melalui penggunaan database. Dengan demikian, penelitian ini memberikan suatu solusi inovatif dan efektif dalam meningkatkan efisiensi proses arisan Marga.
Penelitian akan dibuat menggunakan bahasa pemrograman PHP dengan framework Codeigniter, lalu menggunakan database MySQL Berdasarkan latar belakang tersebut maka penulis mengangkat judul “Aplikasi Arisan Marga Berbasis Web Menggunakan Metode Linear Congruential Generator”.

## 2. TINJAUAN PUSTAKA

## 2.1. Linear Congruential Generator
Menurut [7], [8], [9] Linear Congruential Generator merupakan algoritma pembangkit bilangan acak yang banyak digunakan dalam program komputer. Ciri khas dari LCG adalah terjadi perulangan pada periode waktu tertentu atau setelah sekian kali pembangkitan. Penentuan konstanta LCG (a,c,dan m) sangat menentukan baik tidaknya bilangan acak yang diperoleh dalam arti memperoleh bilangan acak yang seakan-akan tidak terjadi perulangan. Bentuk dari LCG adalah Xn = (a . Xn+1 +c)mod m. Dimana : Xn = Bilangan acak ke-n dari deretannya.
Xn+1 = Bilangan acak sebelumnya. a = faktor pengali. c = Increment (penambah). m = Modulus.

## 2.2. Prototyping
Prototyping adalah teknik yang digunakan untuk mengumpulkan informasi tentang kebutuhan pengguna dengan cepat, fokusnya adalah pada presentasi aspek-aspek perangkat lunak yang akan dilihat oleh pelanggan atau pengguna, prototipe dievaluasi oleh pelanggan/pengguna dan digunakan untuk menyaring kebutuhan pengembangan perangkat lunak, tujuan utamanya adalah untuk mengumpulkan informasi dengan cepat untuk dapat mengidentifikasi kebutuhan pengguna sebelum memulai pengembangan perangkat lunak secara penuh [10].

## 3. METODOLOGI PENELITIAN

## 3.1. Jenis Penelitian
Metodologi penelitian yang digunakan dalam penelitian ini terdiri dari dua pendekatan utama, yaitu pendekatan kualitatif dan pendekatan pengembangan sistem. Pendekatan kualitatif digunakan untuk mengumpulkan data dari partisipan yang terlibat dalam kegiatan arisan marga Sinambela melalui metode observasi dan wawancara, sedangkan pendekatan pengembangan sistem digunakan untuk merancang dan mengembangkan sistem berbasis web yang tepat dan efisien.

## 3.2. Tahapan Penelitian
Gambar 1. Model Pengembangan Prototype
Dalam melakukan penelitian ini, peneliti mengikuti tahapan SDLC dengan menggunakan model prototype. Adapun tahapan-tahapan yang dilakukan adalah [11]:

## 1. Requirements Gathering and Analysis
Requirements Gathering and Analysis atau analisis kebutuhan merupakan proses pengumpulan dan analisis informasi untuk memahami kebutuhan dan tujuan pengguna dalam pengembangan perangkat lunak. Tujuan dari proses ini adalah untuk mengidentifikasi kebutuhan bisnis dan teknis pengguna serta mengumpulkan informasi yang dibutuhkan untuk membuat spesifikasi kebutuhan yang jelas dan terperinci. Proses analisis kebutuhan yang tepat dan terstruktur sangat penting untuk kesuksesan pengembangan perangkat lunak yang memenuhi kebutuhan pengguna dan meminimalkan risiko kegagalan proyek.
2. Quick Design Setelah berhasil mengumpulkan data dan mengidentifikasi seluruh permasalahan yang ada, tahap selanjutnya dalam SDLC model prototyping adalah melakukan desain awal yang sederhana guna memberikan gambaran singkat tentang sistem yang akan dibuat.
3. Build Prototype Setelah selesai melakukan quick design , langkah selanjutnya dalam model prototype adalah melakukan pengembangan prototipe, yaitu dengan langkah-langkah seperti berikut :
a. Pengembangan
Tahap pengembangan merupakan langkah selanjutnya setelah desain telah dibuat, di mana penulis akan mulai mengembangkan sistem berbasis web untuk arisan marga Sinambela sesuai dengan kebutuhan yang telah dianalisis sebelumnya.
b. Pengujian Pada tahap pengujian, peneliti menggunakan blackbox testing untuk menguji fungsionalitas sistem yang dibangun tanpa harus memperhatikan detail bagaimana sistem tersebut dibuat atau diimplementasikan secara teknis.
c. Implementasi Langkah terakhir adalah memastikan bahwa aplikasi telah siap digunakan oleh pengguna. Pelatihan penggunaan aplikasi perlu dilakukan kepada pengguna agar semua pengguna dapat mencoba dan memastikan apakah kebutuhan dari sistem sudah terpenuhi. Dari hasil implementasi akan didapatkan kesimpulan dan saran untuk penelitian selanjutnya.

## 4. HASIL DAN PEMBAHASAN

## 4.1. Analisis Kebutuhan
Proses analisis kebutuhan merupakan tahap awal dalam upaya pengembangan web untuk arisan marga. Pada tahap ini, informasi dan data dikumpulkan dengan tujuan membangun dasar serta pijakan yang diperlukan dalam merancang aplikasi tersebut. Dalam upaya pengembangan ini, pendekatan yang diadopsi adalah kombinasi wawancara dan pemanfaatan sumber literatur. Dalam kerangka ini, pendekatan literatur dilaksanakan melalui eksplorasi bahan bacaan, buku, serta materi daring yang relevan terkait manajemen arisan marga dan fitur-fitur yang diperlukan. Dari sumber-sumber ini, informasi yang dikumpulkan menjadi landasan utama dalam proses perancangan dan pengembangan aplikasi web untuk arisan marga.

## 4.1.1. Analisis Kebutuhan Perangkat Lunak
Dalam proses pengembangan platform web arisan marga ini, diperlukan berbagai jenis perangkat lunak yang akan menjadi dasar dalam merancang dan membangun aplikasi, diantaranya:
a. Sistem Operasi, penguji menggunakan sistem operasi berupa window 11.
b. Visual Studio Code, digunakan penguji untuk proses pembuatan aplikasi web.

## 4.1.2. Analisis Kebutuhan Perangkat Keras
Dalam penyusunan platform web arisan marga ini, beberapa jenis perangkat keras yang digunakan adalah sebagai berikut:
a. Laptop HP Pavilion Gaming 15.
b. Processor Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz 2.59 GHz.
c. RAM 8 GB.
d. Perangkat input, berupa mouse, keyboard, dan lain – lain.

## 4.2. Rancangan Sistem
4.2.1. Activity Diagram
Gambar 2. Activity Diagram Mengelola Voting
Berdasarkan activity diagram mengelola voting pada Gambar 2, admin dapat melakukan pengelolaan terhadap data voting dengan cara pilih menu voting lalu submenu voting jika tidak ada voting maka sistem akan menampilkan button dan form untuk menambahkan voting tetapi jika ada voting maka sistem akan menampilkan data voting yang sudah ada.
Gambar 3. Activity Diagram Mengelola Undian Menggunakan Algoritma LCG
Pada activity diagram pada Gambar 3, admin dapat melakukan pengelolaan data undian dengan cara memilih menu "undian" terlebih dahulu, kemudian memilih submenu "list" untuk menampilkan halaman daftar undian. Di halaman ini, terdapat tombol "reset" yang digunakan untuk memulai ulang arisan, dan tombol "keterangan" yang berfungsi untuk merubah status pembayaran setiap anggota. Selanjutnya, admin dapat memilih submenu "Pengundian" untuk melakukan pengacakan atau pencarian pemenang. Proses pengundian dilakukan dengan mengklik tombol "spin" yang telah disediakan. Ketika tombol "spin" ditekan, sistem akan menjalankan pengundian menggunakan algoritma Linear Congruential Generator untuk melakukan pengacakan dan menampilkan nama yang akan menjadi penerima hadiah arisan.
Gambar 4. Activity Diagram Mengikuti Voting
Pada activity diagram pada Gambar 4, anggota dapat mengikuti voting yang telah dibuat oleh admin dengan memilih menu vote dan kemudian submenu voting. Sistem akan menampilkan halaman voting jika terdapat voting yang aktif, beserta kandidat yang diikutsertakan dalam voting tersebut. Setiap anggota hanya dapat memberikan satu suara dalam proses voting. Jika tidak ada voting yang tersedia, sistem akan menampilkan pesan “Tidak ada voting yang tersedia”. Selain itu, anggota juga dapat melihat hasil voting pada submenu hasil voting.

## 4.2.2. Implementasi Algoritma
Pada Gambar 5 merupakan implementasi algoritma LCG (Linear Congruential Generator) pada sistem.

## Gambar 5. Implementasi Algoritma LCG
Implementasi algoritma LCG dalam kode yang disediakan melibatkan beberapa langkah. Pertama, seed diinisialisasi dengan waktu saat ini. Kemudian, nilai konstanta untuk a, c, dan m ditentukan. Selanjutnya, nilai awal x diatur ke nilai seed. Algoritma melakukan iterasi untuk jumlah anggota yang belum jadi pemenang. Untuk setiap iterasi, sebuah nilai acak baru dihasilkan dengan menggunakan rumus LCG. Indeks anggota yang terpilih dihitung menggunakan nilai acak yang dihasilkan pada langkah sebelumnya. Algoritma kemudian menukar posisi anggota pada indeks $i dan $j. Nama pemenang didapatkan dengan mengambil indeks secara acak menggunakan rumus LCG sebagai pemenang undian. Terakhir, setiap anggota yang terpilih diperbarui nilai undiannya menjadi 1 di database, dan nama pemenang ditampilkan di halaman web. Implementasi ini memastikan bahwa pemilihan pemenang dilakukan secara acak dan adil, berdasarkan algoritma LCG. Algoritma ini menghasilkan urutan angka acak semu yang unik dan dapat diulang, sehingga memungkinkan pengacakan dengan tingkat keacakan statistik yang tinggi.

## 4.3. Pengembangan Aplikasi
Setalah melakukan perancangan, maka dilakukan pengembangan system. Ada 2 aktor yang dapat mengakses system ini, yaitu admin dan anggota. Pada Gambar 6 merupakan halamana dashboar untuk login sebagai admin, sedangkan pada Gambar 7
Gambar 6. Halaman Dashboard Admin
Gambar 7. Halaman Dashboard Anggota
Pada Gambar 8, admin dapat melihat anggota yang sudah menang dan belum menang. Sedangkan pada gambar 9 admin dapat melihat status pembayaran yang telah dilakukan oleh anggota.
Gambar 8. Halaman Daftar Undian
Gambar 9. Halaman Status Pembayaran
Pada Gambar 10 merupakan halaman pengundian. Admin dapat mngklik spin untuk menjalan algoritma LCG dalam proses undian. Setelah admin mengklik spin, maka program yang dikembangkan akan menjalankan algoritma linear congruential generator untuk mendapatkan pemenang dalam arisan marga, seperti Gambar 11.
Gambar 10. Halaman Pengundian
Gambar 11. Hasil Pengundian

## KESIMPULAN
Pada penelitian ini, telah berhasil dikembangkan aplikasi web arisan marga yang dilengkapi dengan fitur CRUD untuk anggota, keuangan, voting, dan implementasi algoritma LCG pada proses pengundian. Aplikasi ini membuktikan bahwa penggunaan teknologi terkini dapat mengoptimalkan pengundian arisan marga secara online, dengan memudahkan pengelolaan data anggota dan keuangan, serta menyediakan mekanisme voting untuk partisipasi aktif anggota. Penggunaan algoritma LCG dalam pengundian juga memberikan hasil yang acak. Aplikasi web ini dapat menjadi alternatif yang efektif bagi komunitas marga dalam melakukan arisan secara digital.

## DAFTAR PUSTAKA
[1] N. Fitriyah, B. Warsito, and D. A. I. Maruddani, “Analisis Sentimen Gojek Pada Media Sosial Twitter Dengan Klasifikasi Support Vector Machine (Svm,” J. Gaussian , vol. 9, no. 3, pp. 376–390, 2020, doi: 10.14710/j.gauss.v9i3.28932.
[2] M. Danuri, “Perkembagnan dan Transformasi Digital,” J. Ilm. Infokam , vol. 15, no. 2, pp. 116–123,
2019.
[3] P. N. Anggraeni, Syafa Herdiani, Tin Rustini, and Muh. Husen Arifin, “Pengaruh Kemajuan Teknologi Komunikasi Terhadap Perkembangan Sosial Anak,” J. Pendidik. Ilmu Pengetah. Sos. , vol. 14, no. 1, pp. 144–147, 2022, doi: 10.37304/jpips.v14i1.4743.
[4] R. T. Gabe, A. Christina, A. E. Shiny, and J. Adianto, “Parental Support in the Process of Choosing a First House (Case Study: Batak Families in Jakarta),” J. Archit. Res. Des. Stud. , vol. 5, no. 2, pp. 80–91, 2021, doi: 10.20885/jars.vol5.iss2.art9.
[5] R. P. Momongan, Y. D. Y. Rindengan, and A. S. M. Lumenta, “Aplikasi Arisan Bangun Rumah Berbasis Web,” J. Tek. Inform. , vol. 13, no. 4, 2018.
[6] M. Melosik, M. Galan, M. Naumowicz, P. Tylczyński, and S. Koziol, “Cryptographically Secure PseudoRandom Bit Generator for Wearable Technology,” Entropy , vol. 25, no. 7, pp. 1–16, 2023, doi: 10.3390/e25070976.
[7] M. Sagala and S. D. P. Purba, “Game Edukasi Pengenalan Nama Buah dan Nama Sayur Dalam Bahasa Inggris Menggunakan Algoritma Linear Congruential Generator (LCG),” Citra Sains Teknol. , vol. 1, pp. 115–119, 2022.
[8] M. Elveny, R. Syah, I. Jaya, and I. Affandi, “Implementation of Linear Congruential Generator (LCG)
Algorithm, Most Significant Bit (MSB) and Fibonacci Code in Compression and Security Messages Using Images,” J. Phys. Conf. Ser. , vol. 1566, no. 1, 2020, doi: 10.1088/1742-6596/1566/1/012015.
[9] A. Prakarsa, A. A. Sunarto, and P. Prajoko, “Model Pengacakan Soal Ujian Online SMA Menggunakan Metode Linear Congruential Generator dan Fisher Yates,” Progresif J. Ilm. Komput. , vol. 16, no. 2, p. 133, 2020,
P-ISSN 2085-4315 / E-ISSN 2502-8332
doi: 10.35889/progresif.v16i2.519.
[10] Y. Nugraha, “Information System Development With Comparison of Waterfall and Prototyping Models,” J. RISTEC Res. Inf. Syst. Technol. , vol. 1, no. 2, pp. 126–131, 2020.
[11] R. S. Pressman and B. Maxim, Software Engineering: A Practitioner’s Approach , 8th ed. McGraw-Hill Education, 2014.