Senin, 18 Maret 2013

FORM PENDAFTARAN PESERTA PEMILU 2014

Nama dan NIM kelompok=
CHRISTIAN DESTIA W / 672011162
JOSHUA DEON I         / 672011040
ZAKHARIA YOSHEP   /  672011256

ISI=

Latar Belakang Pembuatan Program

Karena banyaknya anggaran yang dihabiskan oleh Negara untuk menggaji para panitia yang bertugas untuk mendata dan mendaftar satu per satu calon pemilih dari pemilu, hal tersebut kadang menyebabkan kurang efisiennya jalannya pemilu tersebut, juga waktu dan biaya yang dibutuhkan untuk mendata seluruh penduduk Indonesia yang mungkin sangat tidak efisien. Makan kamu buatlah simulator form pendaftaran peserta pemilu yang akan lebih mengefisienkan waktu, tenaga, dan biaya.



Tampilan LOGIN

Penjelasan form Login
1. Tombol "Masuk"

     private void button1_Click(object sender, EventArgs e)
        {
            Form1 f1 = new Form1();
            if (statusLogin2(txtId.Text, txtSandi.Text) == true)
            {
                MessageBox.Show("BERHASIL");
                //memanggil form yang akan ditampilkan
                this.Hide();
                f1.Show();
            }
            else
            {
                MessageBox.Show("Username dan Password Salah");
            }
        }
        static string konfigurasi = "Server=localhost;Port=3306;UID=root;password=;Database=dbpemilu";
     
        private Boolean statusLogin2(string user, string password)
        {
            MySqlConnection koneksi = new MySqlConnection(konfigurasi);
            MySqlCommand perintah = null;

            try
            {
                koneksi.Open();
                perintah = new MySql.Data.MySqlClient.MySqlCommand();
                perintah.Connection = koneksi;
                perintah.CommandType = CommandType.Text;
                perintah.CommandText = "SELECT count(*) FROM dbpemilu.tbcalonpeserta where Nama='" + user + "' and Password='" + password + "';";
                //MySql.Data.MySqlClient.MySqlDataAdapter adap = new MySql.Data.MySqlClient.MySqlDataAdapter();
                MySql.Data.MySqlClient.MySqlDataReader reader = perintah.ExecuteReader();
                while (reader.Read())
                {
                    if ((reader.GetInt16(0).ToString() == "1"))
                    {
                        return true;
                    }
                }
                koneksi.Close();
            }
            catch (Exception e)
            { }
            return false;

2. Tombol "Batal"
      private void button2_Click(object sender, EventArgs e)
        {
            txtId.Text = null;
            txtSandi.Text = null;
        }

3. Link "Klik disini untuk mengetahui bagaimana cara medaftar"
      private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            MessageBox.Show("Anda bisa masuk ke program ini jika anda memiliki Nama dan Sandi yang    sudah terdaftar sebagai peserta pemilu."+
               " Jika anda tidak memiliki Nama dan Sandi peserta, anda harus mendaftar dahulu dengan menekan tombol Daftar Baru."+
                " Jika anda ingin mendaftar, syaratnya adalah anda harus menjadi penduduk Indonesia yang sudah memiliki KTP,"+
                " jika tidak memiliki nomor KTP, maka anda bukanlah penduduk Indonesia atau penduduk Indonesia berumur di bawah 17 tahun."+
                " Jika anda memiliki KTP berarti anda adalah penduduk Indonesia yang berhak menjadi peserta pemilu dan otomatis data anda sudah terinputkan dalam data base penduduk Indonesia."+
                "\n\nMasuk Form Pendaftaran\n"+
                "\nAnda harus memasukan nomor KTP dan nama asli lalu klik tombol check anda penduduk atau bukan, kalau anda penduduk text box"+ 
                "sandi otomatis akan terbuka dan anda diminta untuk menginputkan password sesuai dengan keinginan anda. lalu tekan tombol daftar."+
                "\n\nMaka dengan begitu anda akan memiliki sandi untuk masuk ke form pendaftaran pemilu."+
                "Bila anda adalah admin maka bukalah readmefirst.txt(di luar projek) untuk mengetahui siapa saja yang sudah berhak untuk menjadi peserta pemilu"+
                "dan siapa saja yang sudah menjadi warga negara Indonesia tetapi belum menjadi peserta pemilu");
        }

           Maka akan muncul MessageBox:



4. Tombol "Daftar Baru"
     private void button3_Click(object sender, EventArgs e)
        {
            Form4 f4 = new Form4();
            f4.Show();
        }
                     maka akan muncul form PENDAFTARAN BARU:
                 penjelasan=
               a. tombol "Chek"
                   public Form4()
        {
            InitializeComponent();
            textBoxPass.Enabled = false;
                    }
        private void buttonChek_Click(object sender, EventArgs e)
        {
            if (statusLogin2(textBoxKTP.Text, textBoxNama.Text) == true)
            {
                MessageBox.Show("ANDA ADALAH PENDUDUK INDONESIA");
                textBoxPass.Enabled = true;
                 }
            else
            {
                MessageBox.Show("ANDA BUKAN PENDUDUK INDONESIA");
            }
        }
        private MySql.Data.MySqlClient.MySqlCommand perintah = null;
        static string konfigurasi = "Server=localhost;Port=3306;UID=root;password=;Database=dbpemilu";
             
         private Boolean statusLogin2(string NoKTP, string Nama)
        {
            MySqlConnection koneksi = new MySqlConnection(konfigurasi);
            MySqlCommand perintah = null;

            try
            {
                koneksi.Open();
                perintah = new MySql.Data.MySqlClient.MySqlCommand();
                perintah.Connection = koneksi;
                perintah.CommandType = CommandType.Text;
                perintah.CommandText = "SELECT*FROM tbpenduduk where NomorKTP='" + NoKTP + "' and Nama='" + Nama + "';";
                MySql.Data.MySqlClient.MySqlDataReader reader = perintah.ExecuteReader();
                while (reader.Read())
                {
                    if ((reader.GetString(0).ToString() == NoKTP) &&
                        (reader.GetString(1).ToString() == Nama))
                    {
                        return true;
                    }
                }
                koneksi.Close();
            }
            catch (Exception e)
            {
                MessageBox.Show(e.ToString());
            }
            return false;
        }


          b. tombol "Daftar"
              private void buttonDaftar_Click(object sender, EventArgs e)
        {     
            MessageBox.Show(textBoxKTP.Text);
            MySqlCommand perintah = null;
            try
            {
                MySqlConnection koneksi = new MySqlConnection(konfigurasi);
                koneksi.Open();
                perintah = new MySql.Data.MySqlClient.MySqlCommand();
                perintah.Connection = koneksi;
                perintah.CommandType = CommandType.Text;
     perintah.CommandText = "insert tbcalonpeserta(NoKTP, Nama, Password) values('" + textBoxKTP.Text + "','"
                    + textBoxNama.Text + "','" + textBoxPass.Text + "')";
                perintah.ExecuteNonQuery();
                MessageBox.Show("Berhasil");
                koneksi.Close();
            }
            catch (Exception x)
            {
                MessageBox.Show(x.ToString());
           }
        }

TAMPILAN FORM PENDAFTARAN
1. Tombol "Lihat Data"
    public void Binding()
        {
            dataGridView1.DataSource = getData();
            dataGridView1.DataMember = "tbpeserta";
        }
    private void buttonLihat_Click_1(object sender, EventArgs e)
        {
            Binding();
            buttonUpdate.Enabled = true;
            buttonHapus.Enabled = true;
            buttonReset.Enabled = true;
        }

2.Tombol Hapus Data
         public bool deletData(string noPemilih)
        {
            bool stat = false;
            try
            {
                koneksi.Open();
                perintah = new MySql.Data.MySqlClient.MySqlCommand();
                perintah.Connection = koneksi;
                perintah.CommandType = CommandType.Text;
               perintah.CommandText = "DELETE FROM tbpeserta WHERE NoPeserta = '" + noPemilih + "'";
                perintah.ExecuteNonQuery();
                stat = true;
                koneksi.Close();
            }
            catch (Exception)
            { }
            return stat;
        }
        private void buttonHapus_Click(object sender, EventArgs e)
        {            
            if (deletData(textBoxNopemilih.Text))
            {
                MessageBox.Show("Data Berhasil Di Hapus");
                Binding();
            }
            else
            {
                MessageBox.Show("Data tidak berhasil di Hapus");
            }
        }

3. Tombol "Perbarui Data"
     public bool updateData(string noPemilih)
        {
            bool stat = false;
            try
            {
                koneksi.Open();
                perintah = new MySql.Data.MySqlClient.MySqlCommand();
                perintah.Connection = koneksi;
                perintah.CommandType = CommandType.Text;

                perintah.CommandText = "UPDATE tbpeserta SET NoKTP = '" + textBoxNoKTP.Text +
                                        "', Nama = '" + textBoxNama.Text +
                                        "', TTL = '" + textBoxTempat.Text +
                                        "', TanggalLahir = '" + dateTimePickerTanggalLahir.Value+
                                        "', Alamat = '" + textBoxAlamat.Text +
                                        "', RT = '" + textBoxRT.Text +
                                        "', RW = '" + textBoxRW.Text +
                                        "', Kelurahan = '" + textBoxKelurahan.Text +
                                        "', Kecamatan = '" + textBoxKecamatan.Text +
                                        "', Provinsi = '" + comboBoxProvinsi.Text +
                                        "', Kota = '" + comboBoxKota.Text +
                                        "', JeniKelamin = '" + radioJenisKelamin +
                                        "', GolDarah = '" + radioGolDarah +
                                        "', Pekerjaan = '" + textBoxPekerjaan.Text +
                                        "', Status = '" + radioStatus +
                                        "', KelengkapanData = '" + chekKelengkapan +
                                        "', KekuranganData = '" + chekKurangData +
                                        "' where NoPeserta = '" + noPemilih + "'";

                perintah.ExecuteNonQuery();
                stat = true;
                koneksi.Close();
            }
            catch (Exception)
            {
            }
            return stat;
        }

        private void buttonUpdate_Click(object sender, EventArgs e)
        {           
            if (updateData(textBoxNopemilih.Text))
            {
                MessageBox.Show("Data Berhasil DiUpdate");
                Binding();
            }
            else
            {
                MessageBox.Show("Data tidak berhasil di update");
            }
       }

4. Tombol "Buat Form Baru"
     private void buttonReset_Click(object sender, EventArgs e)//mereset data dan mengembalikan semua isian menjadi null
        {
            //mengembalikan seluruh field pada form isian menjadi null
            textBoxNopemilih.Text = null;
            textBoxNoKTP.Text = null;
            textBoxNama.Text = null;
            textBoxTempat.Text = null;
            dateTimePickerTanggalLahir.Text = null;
            textBoxAlamat.Text = null;
            textBoxRT.Text = null;
            textBoxRW.Text = null;
            textBoxKelurahan.Text = null;
            textBoxKecamatan.Text = null;
            comboBoxProvinsi.SelectedIndex = -1;
            comboBoxKota.SelectedIndex =-1;
            radioLaki.Checked = false;
            radioPerempuan.Checked = false;
            radioA.Checked = false;
            radioB.Checked = false;
            radioAB.Checked = false;
            radioO.Checked = false;
            textBoxPekerjaan.Text = null;
            radioBelumMenikah.Checked = false;
            radioJandaDuda.Checked = false;
            radioMenikah.Checked = false;
            checkBoxFoto.Checked = false;
            checkBoxKK.Checked = false;
            checkBoxKTP.Checked = false;
            buttonDaftar.Enabled = false;

            //mengembalikan form isian kebentuk awal
            textBoxNopemilih.Enabled = true;
            textBoxNoKTP.Enabled = false;
            textBoxNama.Enabled = false;
            textBoxTempat.Enabled = false;
            dateTimePickerTanggalLahir.Enabled = false;
            textBoxAlamat.Enabled = false;
            textBoxRT.Enabled = false;
            textBoxRW.Enabled = false;
            textBoxKelurahan.Enabled = false;
            textBoxKecamatan.Enabled = false;
            comboBoxProvinsi.Enabled = false;
            comboBoxKota.Enabled = false;
            panelJenisKelamin.Enabled = false;
            panelGolDarah.Enabled = false;
            textBoxPekerjaan.Enabled = false;
            panelStatus.Enabled = false;
            panelKelengkapanData.Enabled = false;
            buttonDaftar.Enabled = false;
        }

5. Tombol "Tambahkan Dalam Daftar"
            private void buttonDaftar_Click(object sender, EventArgs e)
        {
            textBoxNopemilih.Enabled= false;
            //membuat kondisi untuk menentukan jenis kelamin saat radio button ini dipilih
            if (radioLaki.Checked)
            {
                radioJenisKelamin = "Laki-laki";
            }
            else
            {
                radioJenisKelamin = "Perempuan";
            }

            //membuat kondisi untuk menentukan Golongan darah saat radio button ini dipilih
            if (radioA.Checked)
            {
                radioGolDarah = radioA.Text;
            }
            else if (radioB.Checked)
            {
                radioGolDarah = radioB.Text;
            }
            else if (radioAB.Checked)
            {
                radioGolDarah = radioAB.Text;
            }
            else if (radioO.Checked)
            {
                radioGolDarah = radioO.Text;
            }
            else
            {
                radioGolDarah = "";
            }

            //membuat kondisi untuk menentukan status saat radio button ini dipilih
             if (radioMenikah.Checked)
            {
                radioStatus = radioMenikah.Text;
            }
             else  if (radioBelumMenikah.Checked)
            {
                radioStatus = radioBelumMenikah.Text;
            }
             else if (radioJandaDuda.Checked)
            {
                radioStatus = radioJandaDuda.Text;
            }

             
            if (checkBoxKTP.Checked)
            {
                chekKelengkapan += checkBoxKTP.Text+", ";
            }else
            {
                chekKurangData += checkBoxKTP.Text+", ";
            }


            if (checkBoxKK.Checked)
            {
                chekKelengkapan += checkBoxKK.Text+", ";
            }else
            {
                chekKurangData += checkBoxKK.Text+", ";
            }


            if (checkBoxFoto.Checked)
            {
                chekKelengkapan += checkBoxFoto.Text+", ";
            }else
            {
                chekKurangData += checkBoxFoto.Text+", ";
            }

            if (chekKelengkapan.Length != 0)
            {
                chekKelengkapan = chekKelengkapan.Substring(0, chekKelengkapan.Length - 2);
            }
            else 
            {
                chekKelengkapan = "Tidak Ada Data";
            }

            if (chekKurangData.Length != 0)
            {
                chekKurangData = chekKurangData.Substring(0, chekKurangData.Length - 2);
            }
           
           //membuat objek baru untuk form2  dan parameter untuk dipassingkan dari form 1 ke form 2
            //parameter diambil dari setiap isian dari form1 
           
            Form2 f2 = new Form2(textBoxNopemilih.Text,textBoxNoKTP.Text,textBoxNama.Text,
                textBoxTempat.Text,dateTimePickerTanggalLahir.Text,textBoxAlamat.Text,
                textBoxRT.Text,textBoxRW.Text,textBoxKelurahan.Text,textBoxKecamatan.Text,
                comboBoxProvinsi.Text,comboBoxKota.Text,radioJenisKelamin,radioGolDarah,
                textBoxPekerjaan.Text,radioStatus,chekKelengkapan,chekKurangData
                ); 
           
            f2.f1 = this; //form 2 ngambil form 1=this;
                      
            MySqlCommand perintah = null;

            //menginputkan data ke dalam database
            try
            {
                koneksi.Open();
                perintah = new MySql.Data.MySqlClient.MySqlCommand();
                perintah.Connection = koneksi;
                perintah.CommandType = CommandType.Text;
                perintah.CommandText = "insert tbpeserta(NoPeserta, NoKTP, Nama, TTL,TanggalLahir, Alamat, RT, RW, Kelurahan, Kecamatan, Provinsi, Kota, JeniKelamin, GolDarah, Pekerjaan, Status,KelengkapanData, KekuranganData) values('" 
                    + textBoxNopemilih.Text + "','" + textBoxNoKTP.Text
                    + "','" + textBoxNama.Text + "','" + textBoxTempat.Text + "','" + dateTimePickerTanggalLahir.Value.Day + "/" + dateTimePickerTanggalLahir.Value.Month + "/" + dateTimePickerTanggalLahir.Value.Year +
                    "','" + textBoxAlamat.Text + "','" + textBoxRT.Text + "','" +textBoxRW.Text +
                    "','" +textBoxKelurahan.Text + "','" +textBoxKecamatan.Text +"','"+ comboBoxProvinsi.Text +
                    "','" + comboBoxKota.Text + "','" + radioJenisKelamin + "','" +radioGolDarah + "','" +textBoxPekerjaan.Text +
                    "','" +radioStatus+"','" +chekKelengkapan+"','" +chekKurangData+"')";
                perintah.ExecuteNonQuery();
                MessageBox.Show("Data Anda Berhasil Didaftarkan Menjadi Pemilih PEMILU 2014");
                this.Hide();
                f2.ShowDialog(); //menampilkan form 2
                koneksi.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Maaf Ada Kesalahan Pada Koneksi, Data Anda Tidak Berhasil Didaftarkan");
            }
            Binding();
        
        }

     Maka akan muncul FORM HASIL

                          Coding=
            public Form1 f1 = null; //memperkenalkan form 1 didalam form 2 dan nilainya masih null
        public Form2(String nomorPemilih, String noKTP, String nama,String tempat, String tanggal,
            string alamat,string rt,string rw,string kelurahan
            ,string kecamatan,string provinsi,string kota,
            string radioJenisKelamin,string radioGolDarah,
            string pekerjaan,string status,string kelengkapan,string kurangdata) //membuat parameter untuk mengambil passingan parameter dri form 1
        {
            InitializeComponent();
            //menampilkan isi dari form 1 ke form 2, dengan cara mengisi setiap label dengan parameter di form2 yg tlah dipassingkan dari form1
            labelIsiNoPemilih.Text = nomorPemilih; 
            labelIsiNoKTP.Text = noKTP;
            labelIsiNama.Text = nama;
            labelIsiTempat.Text = tempat;
            labelIsiTanggalLahir.Text = tanggal;
            labelIsiAlamat.Text = alamat;
            labelIsiRT.Text = rt;
            labelIsiRW.Text = rw;
            labelIsiKelurahan.Text = kelurahan;
            labelIsiKecamatan.Text = kecamatan;
            labelIsiProvinsi.Text = provinsi;
            labelIsiKota.Text = kota;
            labelIsiJenisKelamin.Text = radioJenisKelamin;
            labelIsiGolDarah.Text = radioGolDarah;
            labelIsiPekerjaan.Text = pekerjaan;
            labelIsiStatus.Text = status;
            labelIsiKelData.Text = kelengkapan;
            if (kelengkapan != null)
            {
                labelKurangData.Text = kurangdata;
            }
            else 
            {
                labelKurangData.Text = kurangdata;
            }

6.Tombol "Kembali"
           private void buttonLogOut_Click(object sender, EventArgs e)
        {
            this.Hide();
            Form3 f3=new Form3();
            f3.Show();
        }

7. Tombol "Log Out"
         private void buttonLogOut_Click(object sender, EventArgs e)
        {
            this.Hide();
            Form3 f3=new Form3();
            f3.Show();
        }


KESIMPULAN
Oleh karena itu aplikasi simulator form pendaftaran ini sangat menunjang pelaksanaan pemilu.karena tidak memerlukan banyak petugas untuk mendaftar,dan dengan hanya mengecek dan menginputkan ID kita sudah bisa mendaftar,hal ini sangat efisien karena tidak menyita waktu,tenaga.dan anggaran pemerintah.


Tidak ada komentar:

Posting Komentar