• Tidak ada hasil yang ditemukan

1. Pendahuluan 2. Tinjauan Pustaka

N/A
N/A
Protected

Academic year: 2022

Membagikan "1. Pendahuluan 2. Tinjauan Pustaka"

Copied!
14
0
0

Teks penuh

(1)

12 1. Pendahuluan

Saat ini teknologi sangat berpengaruh pada aspek kehidupan, teknologi hampir memenuhi kebutuhan setiap manusia. Teknologi kehidupan manusia menjadi mudah dan cepat, terutama dalam aspek pemilihan Kepala Daerah atau yang biasa disebut dengan Pilkada. Indonesia merupakan salah satu negara yang menganut paham demokrasi, dimana pemilihan Kepala Daerah masih menggunakan sistem pemungutan suara dan perhitungan secara manual.

Kepala program sistem pemilu elektronik dari Badan Pengkajian dan Penerapan Teknologi (BPPT) andrari menyampaikan, E-Voting merupakan masa depan pemilu di Indonesia [1]. E-Voting adalah penerapan teknologi pada pemungutan suara, dimana pemungutan suara diimplementasikan dengan sebuah media elektronik atau perangkat elektronik.

Teori Bahasa dan Automata merupakan sebuah metode untuk merancang suatu sistem atau sebagai sebuah Compiler dalam suatu sistem. Metode Finite State Automata digunakan untuk merancang sebuah sistem E-Voting.

Berdasarkan latar belakang tersebut, maka dilakukan perancangan sistem E- Voting Kepala Daerah menggunakan Finite State Automata, dengan diterapkannya sistem E-Voting diharapkan permasalahan pikada seperti besarnya biaya kertas, dan waktu pemilihan yang lama, dapat teratasi dengan diterapkannya E-Voting.

2. Tinjauan Pustaka

Perancangan sistem E-Voting dan penerapan Teori Bahasa dan Automata telah banyak diimplementasikan dalam dunia teknologi saat ini, terutama dalam pengembangan teknologi. Salah satu contoh perancangan sistem E-Voting yang telah ada, yaitu “Perancangan E-Voting Berbasis Web” (Studi Kasus Pemilihan Kepala Daerah Sukoharjo), sistem ini dibangun dengan bahasa pemograman PHP, serta memanfaatkan database MySQL sebagai server, input sistem E-Voting menggunakan nomor indentitas yang tertera pada Kartu Tanda Penduduk (KTP) serta menggunakan sandi acak yang diberikan oleh KPU Daerah, sebagai penyelenggara Pilkada [2].

Pada penelitian yang berjudul “Pemodelan Finite State Automata (FSA) Untuk Membantu Pengecekan Transkrip Nilai” (Studi Kasus Fakultas Teknologi Informasi Universitas Kristen Satya Wacana), yaitu sebuah aplikasi bantu untuk pengecekan transkrip nilai dilakukan dengan memberikan input hasil studi mahasiswa sampai saat ini. Hasil studi mahasiswa itu nanti akan diproses untuk menghasilkan output yang memberikan informasi adakah matakuliah yang harus diulang sekaligus memberikan rekomendasi konsentrasi sesuai dengan hasil studi mahasiswa tersebut. Penerapan automata digunakan untuk mengenal dan menangkap pola dalam proses pada aplikasi [3].

Penelitian yang lain adalah “Perancangan dan Implementasi Finite Automata pada Simulasi Vending Machine”, kesimpulan dari pada penelitian tersebut adalah Finite Automata dapat dijadikan sebagai logika dasar untuk membuat simulasi vending machine. Lewat rancangan state diagram berdasarkan konsep Mealy machine yang telah dibuat, maka aplikasi simulasi vending machine dapat dibuat dan hasil dari setiap input yang dipilih oleh user pada aplikasi sesuai dengan hasil rancangan tersebut. Aplikasi simulasi vending machine dibuat dengan tampilan dan cara kerja menyerupai vending machine asli, dengan tujuan agar user dapat

(2)

13 memperoleh pengalaman dalam mengoperasikan sebuah vending machine serta mengetahui cara menggunakan sebuah vending machine [4].

Berdasarkan beberapa perancangan dan penelitian yang pernah dilakukan terkait Teori Bahasa dan Automata, maka akan di rancang sebuah sistem E-Voting Kepala Daerah dengan menggunakan Finite State Automata, guna untuk mengatasi kemungkinan yang terjadi di dalam sistem serta memetakan bagaimana proses berjalannya sistem E-Voting. Finite State Automata dapat dijadikan sebagai susunan dan logika dari cara pemilihan Kepala Daerah secara manual kedalam proses otomatis dan diterapkan pada sistem E-Voting.

3. Metode dan Perancangan

Penelitian yang dilakukan, diselesaikan melalui tahapan yang terbagi dalam empat tahapan, yaitu: (1) Analisis kebutuhan dan pengumpulan data berupa E- Voting, (2) Perancangan sistem yang meliputi perancangan Finite State Automata, (3) Implementasi sistem, (4) Pengujian sistem dan analisis hasil pengujian.

Gambar 1 Tahapan Penelitian

Tahapan penelitian pada Gambar 1, dapat dijelaskan sebagai berikut, Tahap pertama: Analisis kebutuhan dan pengumpulan data, yaitu mengumpulkan data terkait proses jalannya Pilkada di Indonesia dan permasalahan yang terjadi apabila masih menggunakan cara manual dan menganalisa proses pemilihan Kepala Daerah dari proses konvensional hingga proses E-Voting; Tahap kedua: Perancangan sistem yang meliputi proses perancangan Finite State Automata, yaitu merancang Finite State Automata berupa, Diagram State dan Algoritma, dilanjutkan dengan implementasi pada program; Tahap ketiga: Implementasi sistem, yaitu mengimplementasikan bahasa automata yang sudah dirancang ke dalam sistem E- Voting; Tahap keempat; Pengujian system dan analisis hasil pengujian, yaitu melakukan uji coba dan menganalisa hasil sistem yang telah dibuat apakah sistem yang telah dirancang sudah sesuai dengan yang telah direncanakan sehingga tidak terjadi kesalahan atau error.

(3)

14 Gambar 2 Proses E-Voting Kepala Daerah

Rancangan proses E-Voting Kepala Daerah pada Gambar 2 dirancang dengan sesuai berjalannya sistem pemilihan kepala daerah. Proses tersebut dapat membantu dalam perancangan desain finite state automata, karena di dalam setiap proses tersebut merupakan sebuah state atau kondisi yang ada di dalam finite state automata.

4. Hasil dan Pembahasan

Sistem E-Voting Kepala Daerah diperlukan 2 tahap sebelum melakukan proses pemilihan, yaitu proses Registrasi, dimana warga harus melakukan registrasi kepada ketua RW agar nama pemilih tercantum dalam daftar pemilihan, dengan demikian pemilih akan mendapatkan ID Login dan lokasi pemilihan dengan syarat pemilih memberikan No. KTP. Proses kedua yaitu, warga bisa langsung melakukan pemilihan sesuai lokasi yang telah diberikan saat registrasi. Tahap dalam melakukan pemilihan yaitu, melakukan Login, ketika berhasil melakukan Login pemilih bisa langsung memilih kandidat yang pantas menjadi Kepala Daerah.

(4)

15 Gambar 3 Rancangan Diagram State Registrasi Pemilihan Kepala Daerah

Gambar 3 menunjukkan rancangan diagram state Registrasi pemilihan Kepala Daerah dengan tuple sebagai berikut:

Q = {Q1, Q2, Q3, Q4}

∑ = {KTP, TRUE, FALSE}

S = {Q1}

F = {Q3, Q4}

δ = Relasi Transisi

Relasi Transisi untuk Registrasi Pemilihan Kepala Daerah Δ = {(Q1, KTP), Q2}, {(Q2, F), Q4}, {(Q2, T) ,Q3}.

Algoritma yang diterapkan pada diagram state Registrasi, sebagai berikut : jika syarat Registrasi (Q1) terpenuhi maka akan dilakukan Pengecekan (Q2), jika Pengecekan bernilai TRUE maka akan mendapatkan ID Login & Lokasi Pemilihan (Q3), jika Pengecekan bernilai FALSE maka registrasi tidak sesuai dengan persyaratan (Q4), Jika tidak sesuai dengan persyaratan maka akan kembali ke proses registrasi.

Gambar 4 Rancangan Diagram State sistem E-voting Kepala Daerah

Gambar 4 menunjukkan rancangan diagram state sistem E-voting Kepala Daerah dengan tuple sebagai berikut:

(5)

16 Q = {Q1, Q2, Q3, Q4, Q5, Q6}

∑ = {ID Login, TRUE, FALSE, 1, 2 ,3}

S = {Q1}

F = {Q4, Q5, Q6}

δ = Relasi Transisi

Relasi Transisi untuk Pemilihan Kepala Daerah

Δ = {(Q1, ID Login), Q2}, {(Q2, T), Q3}, {(Q2, F), Q1}, {(Q3, 1), Q4}, {(Q3, 2), Q5}, {(Q3, 3), Q6}, {(Q4, T), Q1}, {(Q5, T), Q1}, {(Q6, T), Q1}

Algoritma yang diterapkan pada diagram state Pemilihan, sebagai berikut :Jika login (Q1) bernilai TRUE maka akan menuju ke proses pemilihan (Q3), jika login bernilai FALSE (Q2) maka akan menuju ke proses login kembali, jika pemilihan bernilai 1 maka kandidat dipilih adalah 1 (Q4), jika pemilihan bernilai 2 maka kandidat dipilih adalah 2 (Q5), jika pemilihan bernilai 3 maka kandidat dipilih adalah 3 (Q6), jika kandidat dipilih 1 bernilai TRUE maka akan menuju ke proses login kembali, jika kandidat dipilih 2 bernilai TRUE maka akan menuju ke proses login kembali, jika kandidat dipilih 3 bernilai TRUE maka akan menuju ke proses login kembali.

Tabel 1 Himpunan State

Himpunan State Deskripsi

Q1 Proses Login

Q2 Proses Pengecekan

Q3 Proses Pemilihan

Q4 Kandidat dipilih 1

Q5 Kandidat dipilih 2

Q6 Kandidat dipilih 3

Tabel 2 Abjad Sebagai Simbol Input

Abjad Deskripsi

ID Login ID Login adalah masukan yang menjadi syarat untuk dapat masuk dalam proses pemilihan True True merupakan masukan bernilai benar yang

akan membawa pada state berikutnya

False False merupakan masukan bernilai salah yang akan membawa pada state awal

1 Nilai syarat apabila memilih Kandidat 1 2 Nilai syarat apabila memilih Kandidat 2 3 Nilai syarat apabila memilih Kandidat 3

(6)

17 Sistem dimulai dari state awal yaitu Q1 dimana user harus memasukkan ID Login yang sudah disediakan, guna menjadi syarat dalam proses pemilihan nantinya yaitu masuk ke dalam state Q3, user dapat langsung memilih kandidat yang sudah tercantum yaitu Q4 sebagai kandidat 1, Q5 sebagai kandidat 2, Q6 sebagai kandidat 3, ketika proses pemilihan berhasil, maka kandidat mendapatkan skor 1 dan proses secara langsung dihentikan dan kembali pada state awal yaitu Q1, namun ketika proses Login gagal saat pengecekan yaitu Q2, maka akan bernilai false yaitu proses tidak dapat dilanjutkan dan akan kembali pada state awal yaitu Q1.

Pseudocode Sistem E-Voting Kepala Daerah

1. Prompt the user for Login

2. Check to see if Login = TRUE if it is, Move to Q3 3. If it is not, back to Q1

4. Prompt the user to choose the candidat 5. Check to see if Q3 = 1 if it is, move to Q4 6. Check to see if Q3 = 2 if it is, move to Q5 7. Check to see if Q3 = 3 if it is, move to Q6 8. if Q4 = TRUE move to Q1

9. if Q5 = TRUE move to Q1 10. if Q6 = TRUE move to Q1

Pseudo-code adalah bahasa manusia yang dapat dimengerti secara umum yang diimplementasikan sebelum merancang algoritma bahasa pemograman yaitu bahasa mesin. Proses ini sangat membantu dalam perancangan sistem E-Voting Kepala Daerah dimana sebelum beranjak ke dalam proses pemograman setiap proses dapat di susun melalui pseudo-code. Yang dimaksud pada Tahap 1; yaitu user melakukan proses Login terlebih dahulu agar dapat melakukan proses pemilihan, Tahap 2; dilakukan pengecekan oleh sistem apabila proses Login berhasil maka akan masuk pada proses selanjutnya, dan apabila proses Login gagal maka proses tidak dapat dilanjutkan, Tahap 3; yaitu apabila proses Login gagal maka proses tidak dapat dilanjutkan dan akan kembali ke proses pertama yaitu proses Login, Tahap 4; yaitu user masuk ke dalam proses pemilihan kandidat, Tahap 5;

yaitu saat user memilih kandidat pertama, maka kandidat dipilih adalah 1, Tahap 6;

yaitu saat user memilih kandidat kedua, maka kandidat dipilih adalah 2, Tahap 7;

yaitu saat user memilih kandidat ketiga, maka kandidat dipilih adalah 3, Tahap 8;

yaitu jika kandidat dipilih 1 berhasil maka akan kembali pada proses pertama yaitu proses Login, Tahap 9; yaitu jika kandidat dipilih 2 berhasil maka akan kembali pada proses pertama yaitu proses Login, dan Tahap 10; yaitu jika kandidat dipilih 3 berhasil maka akan kembali pada proses pertama yaitu proses Login. Berikut kode program yang dibuat berdasarkan pseudocode;

(7)

18 Kode Program 1 Perintah untuk Proses Login

1. private void btnLogin_Click(object sender, EventArgs e) { 2. string voted = "";

3. if ((txtUsername.Text!="") && (txtPassword.Text!="")) {

4. if ((txtUsername.Text == "admin") && (txtPassword.Text == "admin")) { 5. admin admin = new admin();

6. this.Hide();

7. admin.Show(); } 8. else {

9. string koneksi = "datasource=localhost;port=3306;username=root;password=";

10. MySqlConnection myKoneksi = new MySqlConnection(koneksi);

11. MySqlDataReader myReader;

12. string query = "select voted from evoting.pemilih where username='" + 13. txtUsername.Text + "' and password='" + txtPassword.Text + "'";

14. MySqlCommand myCommand = new MySqlCommand(query, myKoneksi);

15. myKoneksi.Open();

16. myReader = myCommand.ExecuteReader();

17. while (myReader.Read()){

18. voted = (string)myReader["voted"];}

19. myKoneksi.Close();

20. if (voted == ""){

21. MessageBox.Show("Username atau Password yang anda masukkan salah!"); } 22. else if (voted == "sudah"){

23. MessageBox.Show("ID yang anda masukkan sudah melakukan voting!"); } 24. else if (voted == "belum"){

25. voting voting = new voting(txtUsername.Text, txtPassword.Text);

26. this.Hide();

27. voting.Show();} } } 28. else {

29. MessageBox.Show("Username atau Password tidak boleh kosong !"); } } 30. private void btnRegister_Click(object sender, EventArgs e) {

31. register register = new register();

32. this.Hide();

33. register.Show(); }

34. private void Form1_FormClosed(object sender, FormClosedEventArgs e){

35. Application.Exit();

Kode Program 1 merupakan proses dimana user harus melakukan Login terlebih dahulu sebelum melakukan pemilihan, username dan password yang akan dimasukkan telah tersedia saat proses registrasi, yaitu menggunakan ID dan Password khusus dari panitia pemilihan, sehingga proses masuk ke dalam sistem ini harus sesuai dengan username dan password yang telah disediakan.

(8)

19 Kode Program 2 Proses Pemilihan

S

1. public partial class voting : Form { 2. string username = "";

3. public voting(string username, string password) { 4. InitializeComponent();

5. label1.Select();

6. lblSelamatDatang.Text = "Selamat Datang, " + username + " !";

7. this.username = username; }

8. private void btn1_Click(object sender, EventArgs e) { 9. string koneksi =

10. "datasource=localhost;port=3306;username=root;password=";

11. MySqlConnection myKoneksi = new MySqlConnection(koneksi);

12. MySqlCommand command = myKoneksi.CreateCommand();

13. command.CommandText = "UPDATE evoting.kandidat SET skor=skor+1 WHERE 14. nomor='1';" +

15. "UPDATE evoting.pemilih SET voted='sudah' WHERE username='" + username 16. +"';"+ "UPDATE evoting.pemilih SET pilihan='1' WHERE username='" + 17. username + "';";

18. myKoneksi.Open();

19. command.ExecuteNonQuery();

20. myKoneksi.Close();

21. selesai selesai = new selesai("01");

22. this.Hide();

23. selesai.Show(); }

24. private void btn2_Click(object sender, EventArgs e) { 25. string koneksi =

26. "datasource=localhost;port=3306;username=root;password=";

27. MySqlConnection myKoneksi = new MySqlConnection(koneksi);

28. MySqlCommand command = myKoneksi.CreateCommand();

29. command.CommandText = "UPDATE evoting.kandidat SET skor=skor+1 WHERE 30. nomor='2';" +

31. "UPDATE evoting.pemilih SET voted='sudah' WHERE username='" + username + 32. "';" +"UPDATE evoting.pemilih SET pilihan='2' WHERE username='" +

33. username + "';";

34. myKoneksi.Open();

35. command.ExecuteNonQuery();

36. myKoneksi.Close();

37. selesai selesai = new selesai("02");

38. this.Hide();

39. selesai.Show(); }

40. private void btn3_Click(object sender, EventArgs e) { 41. string koneksi =

42. "datasource=localhost;port=3306;username=root;password=";

43. MySqlConnection myKoneksi = new MySqlConnection(koneksi);

44. MySqlCommand command = myKoneksi.CreateCommand();

45. command.CommandText = "UPDATE evoting.kandidat SET skor=skor+1 WHERE 46. nomor='3';" + "UPDATE evoting.pemilih SET voted='sudah' WHERE 47. username='" + username + "';" +

48. "UPDATE evoting.pemilih SET pilihan='3' WHERE username='" + username + 49. "';";

50. myKoneksi.Open();

51. command.ExecuteNonQuery();

52. myKoneksi.Close();

53. selesai selesai = new selesai("03");

54. this.Hide();

55. selesai.Show(); }

56. private void voting_FormClosed(object sender, FormClosedEventArgs e) { 57. Application.Exit(); }

58. private void btnBatal_Click(object sender, EventArgs e) { 59. Form1 form = new Form1();

60. this.Hide();

61. form.Show(); } } }

(9)

20 Setelah berhasil masuk pada proses Login, proses selanjutnya adalah proses pemilihan. Kode Program 2 merupakan proses pemilihan dimana user harus memilih salah satu kandidat yang telah disediakan, pemilihan berdasarkan nomor urut Calon Kepala Daerah. Ketika user telah memilih kandidat berdasarkan nomor urut, user akan memberikan skor sama dengan 1 kepada kandidat yang dipilih secara otomatis.

Kode Program 3 Admin

1. public partial class admin : Form { 2. int skor_1,skor_2,skor_3 = 0;

3. public admin() { 4. InitializeComponent();

5. label1.Select();

6. string koneksi =

"datasource=localhost;port=3306;username=root;password=";

7. MySqlConnection myKoneksi = new MySqlConnection(koneksi);

8. MySqlDataReader myReader;

9. string query = "select skor from evoting.kandidat where nomor='1'";

10. MySqlCommand myCommand = new MySqlCommand(query, myKoneksi);

11. myKoneksi.Open();

12. myReader = myCommand.ExecuteReader();

13. while (myReader.Read()){

14. skor_1 = (int)myReader["skor"]; } 15. myKoneksi.Close();

16. string query2 = "select skor from evoting.kandidat where nomor='2'";

17. MySqlCommand myCommand2 = new MySqlCommand(query2, myKoneksi);

18. myKoneksi.Open();

19. myReader = myCommand2.ExecuteReader();

20. while (myReader.Read()) {

21. skor_2 = (int)myReader["skor"]; } 22. myKoneksi.Close();

23. string query3 = "select skor from evoting.kandidat where nomor='3'";

24. MySqlCommand myCommand3 = new MySqlCommand(query3, myKoneksi);

25. myKoneksi.Open();

26. myReader = myCommand3.ExecuteReader();

27. while (myReader.Read()) {

28. skor_3 = (int)myReader["skor"]; } 29. myKoneksi.Close();

30. txt1.Text = "" + skor_1;

31. txt2.Text = "" + skor_2;

32. txt3.Text = "" + skor_3; }

33. private void btnKeluar_Click(object sender, EventArgs e) { 34. Form1 form = new Form1();

35. this.Hide();

36. form.Show(); }

37. private void admin_FormClosed(object sender, FormClosedEventArgs e) { 38. Application.Exit(); } } } }

Kode Program 3 adalah proses Admin, yaitu Admin dapat melihat perolehan skor para calon kandidat. Hak akses untuk masuk ke dalam form admin berbeda, username dan password tidak sama dengan pemilih, dan tidak dapat dilakukan register pada program.

(10)

21 Kode Program 4 Register

1. public partial class register : Form 2. {

3. public register() { 4. InitializeComponent(); }

5. private void btnRegister_Click(object sender, EventArgs e) { 6. int sudahada = 0;

7. string koneksi =

8. "datasource=localhost;port=3306;username=root;password=";

9. MySqlConnection myKoneksi = new MySqlConnection(koneksi);

10. MySqlDataReader myReader;

11. string query = "select username from evoting.pemilih";

12. MySqlCommand myCommand = new MySqlCommand(query, myKoneksi);

13. myKoneksi.Open();

14. myReader = myCommand.ExecuteReader();

15. while (myReader.Read()) {

16. if (txtUsername.Text==(string)myReader["username"]) { 17. sudahada = 1; } }

18. myKoneksi.Close();

19. if (sudahada==0) {

20. if ((txtUsername.Text != "") && (txtPassword.Text != "")) { 21. MySqlCommand command = myKoneksi.CreateCommand();

22. command.CommandText = "INSERT INTO evoting.pemilih

23. (username,password) VALUES ('" + txtUsername.Text + "','" + 24. txtPassword.Text + "');";

25. myKoneksi.Open();

26. command.ExecuteNonQuery();

27. myKoneksi.Close();

28. MessageBox.Show("Registration Successful!");

29. Form1 form = new Form1();

30. this.Hide();

31. form.Show(); } 32. else {

33. MessageBox.Show("Username atau Password tidak boleh kosong !");

34. }} else {

35. MessageBox.Show("Registration Failed! Username telah 36. terdaftar"); } }

37. private void register_FormClosed(object sender, 38. FormClosedEventArgs e) {

39. Application.Exit(); }

40. private void btnBack_Click(object sender, EventArgs e) { 41. Form1 form = new Form1();

42. this.Hide();

43. form.Show(); } } }

Kode Program 4 merupakan perintah untuk melakukan registrasi, dimana pemilih dapat melakukan registrasi dengan memasukkan username dan password yang telah ditentukan seperti nomor KTP dan Password yang dikeluarkan oleh panitia pemilihan, sehingga username dan password yang telah dibuat akan tersimpan ke dalam database yang sudah terkoneksi oleh program.

(11)

22 Kode Program 5 Proses Selesai Pemilihan

1. public partial class selesai : Form { 2. public selesai(string nomor) {

3. InitializeComponent();

4. lblSelesai.Text = " Anda telah memilih\nCalon

5. Kandidat " + nomor + " dan Calon Wakil Kandidat " + nomor; } 6. private void btnKeluar_Click(object sender, EventArgs e) { 7. Form1 mulai = new Form1();

8. this.Hide();

9. mulai.Show(); }

10. private void selesai_FormClosed(object sender, FormClosedEventArgs e) { 11. Application.Exit(); } } }

Kode Program 5 adalah proses selesai pemilihan, Setelah memilih kandidat yang dipilih, akan muncul pemberitahuan ulang kandidat yang dipilih, setelah itu apabila sudah selesai maka akan masuk ke menu utama kembali.

Gambar 5 Proses outputLogin

Gambar 5 adalah tampilan output implementasi program saat melakukan proses Login. Ketika user tidak mengisi username dan password maka secara otomatis sistem akan memberikan peringatan untuk memasukkan username dan password terlebih dahulu.

Gambar 6 Admin

(12)

23 Gambar 6 adalah output daripada admin, yang dapat menjadi admin dalam pemilihan kepala daerah yaitu panitia pemilihan. Admin memiliki cara login yang berbeda dengan pemilih, yaitu dengan ID dan Password khusus. Pada sisi admin, admin dapat mendaftarkan pemilih untuk dapat memilih dengan masuk ke dalam menu Register yang nantinya akan di buatkan ID dan Password, sehingga terdaftar kedalam database yang digunakan, selain itu admin dapat melihat perolehan skor setiap kandidat.

Gambar 7 Database Evoting pemilih

Gambar 7 merupakan table pemilih pada Database Evoting, username dan password yang ada merupakkan hasil registrasi. Pada database akan tercatat apakah user sudah melakukan pemilihan atau belum, dan tercatat juga siapa kandidat yang telah dipilih.

Gambar 8 Register

(13)

24 Gambar 8 merupakan menu register didalam admin, dengan persyaratan membawa KTP, admin akan membuat ID dan Password untuk dapat login pada menu pemilihan kandidat.

Gambar 9 Proses Output Program Saat Pemilihan

Gambar 9 merupakan output implementasi program saat melakukan proses pemilihan, dimana user harus memilih kandidat, dengan begitu maka user memberikan 1 skor kepada kandidat yang dipilih. Output dirancang menggunakan Finite State Automata yang telah diimplementasikan ke dalam program sederhana.

Program dibuat menggunakan aplikasi Microsoft visual studio 2013, dengan Framework .net 3.5 bahasa pemrograman C#.

Gambar 10 Database Evoting table kandidat

Gambar 10 merupakan tabel penyimpanan jumlah skor pada database, pada tabel tersebut akan tersimpan perolehan yang telah dipilih, dan yang dapat masuk kedalam database tersebut adalah admin.

(14)

25 5. Simpulan

Berdasarkan hasil penelitian, dan pembahasan dapat diambil kesimpulan sebagai berikut: (1) Dengan menggunakan Automata, perancangan sistem E-Voting dapat mudah diimplementasikan dan memiliki logika yang lebih sederhana dibandingkan pohon keputusan; (2) Sistem E-Voting menggunakan Finite State Automata dapat menyelesaikan permasalahan Pilkada yaitu besarnya biaya kertas, waktu pemilihan yang lama, dan terhitungnya pemilihan suara dari orang yang telah meninggal. (3) Perancangan secara E-Voting juga dapat mempermudah perhitungan jumlah suara dan mencegah adanya kertas Pilkada yang hilang atau rusak. Saran pengembangan yang dapat diberikan untuk penelitian lebih lanjut adalah sebagai berikut : (1) penambahan beberapa menu untuk mencantumkan Visi dan Misi calon terpilih; (2) E-Voting dilanjutkan dengan diterapkannya sistem barcode untuk proses Login; (3) memperbaiki tampilan yang sudah ada menjadi lebih baik tanpa mengurangi kemudahan pengguna;

6. Daftar Pustaka

[1] evotingindonesia. 2014. BPPT: Sistem E-Voting Merupakan Masa Depan Pemilu Indonesia. Jakarta.

[2] Nugroho. 2011. Perancangan E-Voting Berbasis Web, Skripsi, Yogyakarta: Universitas Islam Negeri Sunan Kalijaga.

[3] Setyawan. 2014. Pemodelan Finite State Automata (FSA) untuk Membantu Pengecekan Transkrip Nilai, Skripsi, Salatiga: Universitas Kristen Satya Wacana.

[4] Irawan. Perancangan dan Implementasi Finite Automata pada Simulasi Vending Machine, Skripsi, Salatiga: Universitas Kristen SatyaWacana.

[5] Utdirartatmo. 2001. Teori Bahasa dan Otomata. Yogyakarta: J &

JLearning.

Referensi

Dokumen terkait

Tahapan penelitian pada Gambar 1 dapat dijelaskan sebagai berikut: 1) Tahap pertama : Analisis Kebutuhan dan Pengumpulan Data, pada tahap ini yang dilakukan adalah mencari

Tahapan penelitian pada Gambar 3.1 dapat dijelaskan sebagai berikut: 1) Tahap pertama: Mengidentifikasi masalah dan pengumpulan data. Masalah yang

Tahapan penelitian pada Gambar 3, dapat dijelaskan sebagai berikut; Tahap pertama : mengidentifikasi masalah dan pengumpulan data, pada tahap ini dilakukan analisis

Tahapan penelitian berdasarkan Gambar 1 dapat dijelaskan sebagai berikut: Tahap pertama: Analisis dan pengumpulan bahan yaitu, melakukan analisis kebutuhan dan pengumpulan

Tahap Pertama : Analisis Kebutuhan yaitu menganalisis kebutuhan apa saja yang diperlukan dalam perancangan kriptografi kunci simetris menggunakan fungsi

Tahapan penelitian pada Gambar 1 dapat dijelaskan sebagai berikut: 1) Tahap pertama: analisis kebutuhan dan pengumpulan data, yaitu melakukan analisis terhadap apa

Tahapan Penelitian pada Gambar 3, dapat dijelaskan sebagai berikut, Tahap Analisis Kebutuhan dan Pengumpulan Data: Pada tahapan ini dilakukan analisis terhadap

Tahapan penelitian pada Gambar 3.1 , dapat dijelaskan sebagai berikut: (1) Tahap pertama pengumpulan data yaitu, melakukan pengumpulan terhadap data dari pengamatan serta