Saturday, January 9, 2016

DIY Surveillance Web Cam with Old Android Smartphone

Nowadays it's pretty common for people to have old smartphones lying around unused. In my case I have a 3-year old Samsung Galaxy S3 which is considered geriatric as a smartphone, but still works fine. It's got camera and Wi-Fi enabled, so I figured I could use it as surveillance camera. Other than the smartphone itself, you also need to have these things in order to be able to access the camera over the web:
  1. An always-on Internet connection (such as DSL or cable Internet).
  2. A Wi-Fi router (either connected to the DSL/Cable modem or integrated with the modem)  
  3. Admin access to the router
  4. Basic knowledge on IP networking is a plus. But don't let this discourage you.
Here are the steps:
Note: the detailed steps in this guide is specific to the Wi-Fi router I have, which is TP-Link TL-MR3420. In general the process should be the same for any home router. You may need to consult the user manual for detailed instructions.

I. Assign static IP to your smartphone

Typically you don't need to concern about the IP address assigned to your devices by the Wi-Fi router. However, in this case the smartphone will be acting as a streaming server. So having a static IP address will make it easier to access the device.
  1. First, lookup the current IP address assigned to the smartphone.
    Go to Android settings -> Wi-Fi settings. Tap on your home network (the one your device connected into), you should then see your current IP address. Take note of it.
  2. Open your router's Administration Web GUI in the browser (from your PC/laptop connected to your home network). For home router, usually the default URL is For TP-Link, the default username/password is admin/admin.
  3. Go to DHCP -> DHCP Client List. Find the entry that has the IP address noted in previous step. Copy the the MAC address for that device.
  4. Go to DHCP -> Address reservation. Add a new entry that maps the MAC address you noted earlier to a particular IP address. Just make sure the IP is outside the DHCP range. In my case I assign IP address to my old Samsung. Let's assume you also use this IP address.
  5. You may need to reboot the router.
  6. After the router rebooted, check the Wi-Fi settings in the smartphone. It should be using the new IP address now (
Alternatively, you can set static IP address directly from the smartphone. So, it's just a matter of preference.

II. Install IP Webcam App in your device

There are several apps that provides surveillance camera function. But this is the first one I found and tried. The GUI is not fancy but it works fine.
  1. Search and install IP Webcam app by Pavel Khlebovich via Google Play Store.
  2. Open the app. Adjust the video preferences as you see fit. For me, I'd rather have relatively low resolution (eg. 640x480) and low bitrate(eg. 700 kbps) so it won't take too much space.
  3. Don't forget to set login/password in the Local Broadcasting section. You don't want to let everybody be able to watch your video stream. Unless of course that is exactly what you want.
  4. Start the server (This option is at the bottom). You can now close the app by pressing the home button. The app will still run in the background.
  5. You can access the surveilance cam using web browser (from your PC/laptop connected to your home network) in this URL: Select "Browser" as the video renderer.

So now you can access the surveillance cam from other devices/computer. But you have to be connected in your home network to do so. Not very useful.
Thus, the next thing you want to do is to access the web cam over the Internet.

III. Access the surveillance camera over the Internet.
  1. Access your router's Administration Web GUI again ( 
  2. Go to Forwarding --> Virtual Server section. Create a new entry with the following parameter:
       Service Port: 8080
       Internal Port: 8080
       IP Address:
    This basically tells your router that any incoming request (from the Internet) to port 8080 must be forwarded to a particular address/port in your home network (
  3. Check you home network's public IP address. Just google "my ip". Google will tell you your public IP address. Take note of this.
  4. Now you can access your web cam over the Internet in this URL http://[my-public-IP]:8080
Lastly, the only remaining problem is the fact that usually the public IP for your home network is not permanently assigned to you by your Internet Service Provider. If you're away from home it may not be practical to check your current public IP address. The solution for this is Dynamic DNS. One example of dynamic DNS service is NoIP ( It provides the basic service for free.

IV. Configure Dynamic DNS for your home network
  1. Register to Setup your username and domain name. For free service your domain name is limited to [my-domain]
  2. Activate your account by following the confirmation link sent to your email.
  3. Access your router's Administration Web GUI again ( 
  4. The nice thing about TP-Link router is that it has built in support for some dynamic DNS services.
    Go to Dynamic DNS section, then enter your No-IP username, password, and domain.
  5. Now you can access your web cam in this URL http://[my-domain] 
Whenever your router gets new public IP, it will inform will then update it's DNS server so that your domain will point to your new public IP address. This way you can access your web cam via static URL, instead of an ever changing IP address.

Next you may want to explore the functionalities of IP Webcam app. For example you can record the video continuously in circular mode. So older videos will be purged automatically when storage is low. Note that the video files are stored in the smartphone. So you might want to put large capacity memory card in the device.

Also note that NoIP site says that free domain name expires every 30 days. I'm not sure if it means we can still extend it every 30 days and stay free, or we have to upgrade to paid service. Oh well, we'll see in 30 days.

Of course, using smartphone as a surveillance camera has some drawbacks. First, if it is placed somewhere very accessible, it could be the very first item that gets stolen. Secondly, in the approach above, the video is recorded the device's internal memory. Thus, it if gets stolen, the recordings are lost too. A better approach would be to store the recordings in an external server. That's a project for another weekend.

Saturday, December 26, 2015

Hasil Pilkada 2015

Berikut ini adalah grafik jumlah wilayah yang dimenangkan partai pendukung pasangan calon.

Daftar lengkap pemenang Pilkada 2015:
  • Kabupaten Agam, Sumbar
    Ir. H. Indra Catri, MSP Dt. Malako Nan Putiah dan H. Trinda Farhan Satria, ST., MT (suara: 94264 / 53.4%)
    Partai pendukung: Gerindra,PKS
  • Kabupaten Asahan, Sumatera Utara
    Drs. H. Taufan Gama Simatupang, M.AP dan H. Surya, B.Sc (suara: 157558 / 56.3%)
    Partai pendukung: PDIP,Golkar,Demokrat,PKS,PAN,Nasdem,PBB,PKPI
  • Kabupaten Asmat, Papua
    Silvester Siforo, SH. MH dan dr. Yulius Patandianan, Sp.B (suara: 7521 / 60.5%)
    Partai pendukung: Golkar,PKS,Demokrat,Gerindra,Nasdem,PKB
  • Kabupaten Badung, Bali
    I Nyoman Giri Prasta, S.Sos. dan Drs. I Ketut Suiasa, S.H. (suara: 146066 / 60.3%)
    Partai pendukung: PDIP,Nasdem
  • Kabupaten Balangan, Kalimantan Selatan
    Drs. H. Ansharuddin, M. Si dan H. Syaifullah (suara: 25064 / 42.1%)
    Partai pendukung: PDIP,Nasdem,Hanura,PKB,PPP,PBB
  • Kabupaten Bandung, Jawa Barat
    H. Dadang M. Naser, SH, S.Ip, M.I.Pol dan H. Gun Gun Gunawan, S.Si, M.Si (suara: 984736 / 64.3%)
    Partai pendukung: -
  • Kabupaten Banggai, Sulawesi Tengah
    Ir. H. Herwin Yatim, MM dan H. Mustar Labolo (suara: 68496 / 37.9%)
    Partai pendukung: PDIP,Demokrat
  • Kabupaten Banggai Laut, Sulawesi Tengah
    Drs. H. Wenny Bukamo dan Dra. Hj. Tuty Hamid (suara: 9970 / 28.8%)
    Partai pendukung: Nasdem,PDIP,PKS,Demokrat
  • Kabupaten Bangka Barat, Kepulauan Bangka Belitung
    Drs. H. Parhan Ali, MM dan Markus, SH (suara: 29290 / 35.4%)
    Partai pendukung: PDIP,PAN,Hanura
  • Kabupaten Bangka Selatan, Kepulauan Bangka Belitung
    Drs. Justiar Noer, ST, MM, M.Si dan Riza Herdavid, ST (suara: 31538 / 38.6%)
    Partai pendukung: Demokrat,PKS
  • Kabupaten Bangka Tengah, Kepulauan Bangka Belitung
    H. Erzaldi Rosman, SE, MM dan Ir. H. Ibnu Saleh, MM (suara: 42420 / 57.1%)
    Partai pendukung: Demokrat,PPP,Hanura,PKS,Nasdem,Gerindra
  • Kabupaten Bangli, Bali
    I Made Gianyar, S.H., M.Hum. dan Sang Nyoman Sedana Arta, S.E. (suara: 78341 / 59.9%)
    Partai pendukung: PDIP
  • Kabupaten Banjar, Kalimantan Selatan
    KH. Khalilurrahman dan H. Saidi Mansyur (suara: 107481 / 46.9%)
    Partai pendukung: PKB,Nasdem,PKPI
  • Kabupaten Bantul, Yogyakarta
    Drs. H. Suharsono dan H. Abdul Halim Muslih (suara: 261412 / 52.8%)
    Partai pendukung: Gerindra,PKB
  • Kabupaten Banyuwangi, Jawa Timur
    H. Abdullah Azwar Anas, M.Si dan Yusuf Widyatmoko, S. Sos (suara: 680365 / 89.%)
    Partai pendukung: PDIP,Gerindra,Nasdem,PKS,PAN
  • Kabupaten Barru, Sulawesi Selatan
    Ir. H. Andi Idris Syukur, MS dan Ir. H. Suardi Saleh, M.Si (suara: 38726 / 38.3%)
    Partai pendukung: PPP,PKS,Hanura,Gerindra
  • Kabupaten Batanghari, Jambi
    Ir. H. Syahirsah. SY dan Hj. Sofia Joesoef, SH (suara: 50781 / 36.5%)
    Partai pendukung: Gerindra,Golkar
  • Kabupaten Belitung Timur, Kepulauan Bangka Belitung
    Yuslih Ihza, SE dan Drs. Burhanudin (suara: 32015 / 51.3%)
    Partai pendukung: PBB,Gerindra,Golkar
  • Kabupaten Belu, Nusa Tenggara Timur
    Willybrodus Lay dan Drs. J.T. Ose Luan (suara: 40907 / 47.2%)
    Partai pendukung: Demokrat,Gerindra,Golkar,PAN
  • Kabupaten Bengkalis, Riau
    Amril Mukminin, SE., MM dan H. Muhammad, SE., MM (suara: 97497 / 45.6%)
    Partai pendukung: PKS,PKB,PBB,PKPI,Nasdem
  • Kabupaten Bengkayang, Kalimantan Barat
    Suryadman Gidot, M.Pd dan Agustinus Naon, S.Sos (suara: 55341 / 50.6%)
    Partai pendukung: Nasdem,Gerindra,PAN,Hanura
  • Kabupaten Bengkulu Selatan, Bengkulu
    H. Dirwan Mahmud, SH dan Gusnan Mulyadi, S.E., M.M. (suara: 31496 / 38.3%)
    Partai pendukung: PPP,PKS,Golkar
  • Kabupaten Bengkulu Utara, Bengkulu
    Ir. Mian dan Arie Septia Adinata, SE (suara: 74403 / 51.1%)
    Partai pendukung: Gerindra,PDIP,PBB,Demokrat
  • Kabupaten Berau, Kalimantan Timur
    H. Muharram, S.Pd, MM dan H. Agus Tantomo (suara: 54051 / 57.6%)
    Partai pendukung: PKS,PBB,PAN
  • Kabupaten Bima, Nusa Tenggara Barat
    Hj. Indah Dhamayanti Putri dan Drs. Dahlan M. Noer (suara: 105506 / 40.1%)
    Partai pendukung: Golkar,Gerindra,Hanura
  • Kabupaten Bintan, Kepulauan Riau
    H. Apri Sujadi, S.Sos dan H. Dalmasri, M.M (suara: 40623 / 57.5%)
    Partai pendukung: Nasdem,Demokrat,PKS
  • Kabupaten Blora, Jawa Tengah
    H. Djoko Nugroho dan H. Arief Rohman, M.Si (suara: 253394 / 51.2%)
    Partai pendukung: PKB,Nasdem,Hanura
  • Kabupaten Bolmong Selatan, Sulawesi Utara
    Hi. Herson Mayulu, S.IP dan Iskandar Kamaru, S.Pt (suara: 29932 / 77.3%)
    Partai pendukung: PDIP,PAN
  • Kabupaten Bolmong Timur, Sulawesi Utara
    Sehan S Landjar. SH dan Drs. Rusdi Gumalangit (suara: 26733 / 56.5%)
    Partai pendukung: PAN,Gerindra,Demokrat,PKB
  • Kabupaten Bone Bolango, Gorontalo
    H. Hamim Pou dan H. Mohamad Kilat Wartabone (suara: 24893 / 26.3%)
    Partai pendukung: PAN,PKPI
  • Kabupaten Boven Digoel, Papua
    Benediktus Tambonop,S.STP dan H.Chaerul Anwar, ST (suara: 13927 / 46.%)
    Partai pendukung: PDIP,PPP
  • Kabupaten Boyolali, Jawa Tengah
    Drs. Seno Samodro dan Mohammad Said Hidayat, SH (suara: 412573 / 69.7%)
    Partai pendukung: PDIP
  • Kabupaten Bulukumba, Sulawesi Selatan
    A. M. Sukri A. Sappewali dan Tomy Satria Yulianto, S.IP (suara: 60517 / 28.3%)
    Partai pendukung: Demokrat,Nasdem,Gerindra
  • Kabupaten Bulungan, Kalimantan Utara
    H.Sudjati, SH dan Ingkong Ala, SE, M.Si (suara: 24889 / 42.2%)
    Partai pendukung: PDIP,Hanura,PKS
  • Kabupaten Bungo, Jambi
    H. Mashuri, SP., ME dan Safrudin Dwi Apriyanto, S.Pd (suara: 96712 / 59.1%)
    Partai pendukung: PBB,PKS,PKPI,Nasdem,PAN
  • Kabupaten Buru Selatan, Maluku
    Tagop Sudarsono Soulisa,SH,MT dan Ayub Seleky,SH,MH (suara: 18896 / 59.9%)
    Partai pendukung: PDIP,Golkar,Demokrat,Nasdem,Hanura,PKB,PAN,PPP
  • Kabupaten Buton Utara, Sulawesi Tenggara
    Drs. H Abu Hasan, M.Pd dan Ramadio, SE (suara: 19186 / 50.8%)
    Partai pendukung: Demokrat,PDIP,PKB
  • Kabupaten Cianjur, Jawa Barat
    H. Irvan Rivano Muchtar, S.IP, SH., M.Si dan H. Herman Suherman, ST., M.AP. (suara: 464412 / 49.%)
    Partai pendukung: PBB,PKB,Golkar
  • Kabupaten Demak, Jawa Tengah
    H.M Natsir dan Drs. Joko Sutanto (suara: 309251 / 54.3%)
    Partai pendukung: Golkar,PPP
  • Kabupaten Dharmasraya, Sumbar
    Sutan Riska Tuanku Kerajaan, SE dan H. Amrizal Dt. Rajo Medan, S.Sos (suara: 61855 / 63.6%)
    Partai pendukung: PDIP,PAN,Hanura
  • Kabupaten Dompu, NTB
    Drs. H. Bambang M. Yasin dan Arifuddin, SH (suara: 49910 / 36.9%)
    Partai pendukung: Nasdem,Gerindra,Hanura
  • Kabupaten Gorontalo, Gorontalo
    Prof. Dr. Ir. Hi. Nelson Pomalingo, M.Pd dan H. Fadli Hasan, ST, M.Si (suara: 65650 / 30.2%)
    Partai pendukung: PPP
  • Kabupaten Gowa, Sulawesi Selatan
    Adnan Purichta Ichsan YL, S.H dan H. Abdul Rauf Mallaganni, S.Sos, M.Si (suara: 151234 / 41.6%)
    Partai pendukung: -
  • Kabupaten Gresik, Jawa Timur
    Dr. Ir. H. Sambari Halim Radianto, S.T., M.Si. dan Drs. H. Moch. Qosim, M.Si. (suara: 447751 / 70.6%)
    Partai pendukung: PKB,Demokrat
  • Kabupaten Grobogan, Jawa Tengah
    Sri Sumarni, SH, MM dan Edy Maryono, SH, MM (suara: 505507 / 73.1%)
    Partai pendukung: PDIP,PKB,PAN,Hanura
  • Kabupaten Gunung Kidul, Yogyakarta
    Hj. Badingah,S.Sos dan Dr.Drs.H Immawan Wahyudi, M.H (suara: 167915 / 39.5%)
    Partai pendukung: PAN,Golkar,Hanura,Nasdem
  • Kabupaten Halmahera Barat, Maluku Utara
    Danny Missy dan Ahmad Zakir Mando, S. Sos (suara: 18091 / 29.7%)
    Partai pendukung: PKB,Hanura
  • Kabupaten Halmahera Selatan, Maluku Utara
    H. Amin Ahmad S.IP, MM dan Jaya Lamusu, SP (suara: 37898 / 37.6%)
    Partai pendukung: Nasdem,PDIP,PKPI,PKB
  • Kabupaten Halmahera Timur, Maluku Utara
    H. Rudy Erawan, S.E., M.Si dan Ir. Muh Din (suara: 27611 / 61.4%)
    Partai pendukung: PDIP,Golkar,PAN,Hanura,Nasdem,Demokrat
  • Kabupaten Halmahera Utara, Maluku Utara
    Ir. Frans Manery dan Muhclis Tapi Tapi (suara: 30625 / 31.%)
    Partai pendukung: PKPI,Nasdem
  • Kabupaten Hulu Sungai Tengah, Kalimantan Selatan
    H. Abdul Latif,ST.SH.MH dan Drs. H.A.Chairansyah (suara: 84297 / 60.4%)
    Partai pendukung: Gerindra,PKS,PBB
  • Kabupaten Humbang Hasundtn, Sumatera Utara
    Dosmar Banjarnahor, SE dan Saut Parlindungan Simamora (suara: 30311 / 31.5%)
    Partai pendukung: PKB,PDIP,Gerindra,PAN,Hanura
  • Kabupaten Indragiri Hulu, Riau
    H. Yopi Arianto, SE dan H. Khairizal, SE., M.Si (suara: 99191 / 58.2%)
    Partai pendukung: PDIP,PKS,PAN,PKPI
  • Kabupaten Indramayu, Jawa Barat
    Hj. Anna Sophanah dan Drs. H. Supendi, M.Si (suara: 452348 / 56.%)
    Partai pendukung: Gerindra,PKS,Demokrat
  • Kabupaten Jember, Jawa Timur
    dr. Hj. Faida, MMR dan Drs. KH. A. Muqit Arief (suara: 525519 / 53.8%)
    Partai pendukung: Nasdem,PDIP,Hanura,PAN
  • Kabupaten Jembrana, Bali
    I Putu Artha, SE., MM dan I Made Kembang Hartawan, SE., MM (suara: 91101 / 65.7%)
    Partai pendukung: PDIP
  • Kabupaten Kaimana, Papua Barat
    (suara: / .%)
    Partai pendukung:
  • Kabupaten Kapuas Hulu, Kalimantan Barat
    A. M. Nasir, S.H. dan Antonius L. Ain Pamero, S.H. (suara: 69166 / 50.7%)
    Partai pendukung: Nasdem,PKB,PKS,Gerindra,PAN,PPP,PKPI
  • Kabupaten Karang Asem, Bali
    I Gusti Ayu Mas Sumatri, S.Sos., MAP dan I Wayan Artha Dipa, SH., MH (suara: 104560 / 41.8%)
    Partai pendukung: Hanura,Nasdem,PKPI
  • Kabupaten Karawang, Jawa Barat
    dr. Cellica Nurrachadiana dan H. Ahmad Zamakhsari,S.Ag (suara: 533240 / 51.1%)
    Partai pendukung: Demokrat,PKB,PAN
  • Kabupaten Karimun, Kepulauan Riau
    H. Aunur Rafiq, S.Sos. M.Si dan H. Anwar Hasyim, M.Si (suara: 70425 / 78.4%)
    Partai pendukung: Demokrat,PDIP,Hanura,Nasdem,PAN
  • Kabupaten Karo, Sumatera Utara
    Terkelin Brahmana, SH dan Cory Sriwati Sebayang (suara: 44742 / 24.7%)
    Partai pendukung: Gerindra,Golkar
  • Kabupaten Kaur, Bengkulu
    Gusril Pausi, S. Sos dan Hj. Yulis Suti Sutri (suara: 31342 / 44.9%)
    Partai pendukung: Nasdem,Gerindra
  • Kabupaten Kebumen, Jawa Tengah
    Ir.H. Mohammad Yahya Fuad, SE dan KH. Yazid Mahfudz (suara: 350089 / 51.1%)
    Partai pendukung: Gerindra,Demokrat,PKB,PAN
  • Kabupaten Kediri, Jawa Timur
    Haryanti dan Drs. H. Masykuri, MM (suara: 470918 / 67.3%)
    Partai pendukung: PDIP,PKB,Demokrat,Golkar,PBB,PPP
  • Kabupaten Keerom, Papua
    DRS. Celsius Watae, MH dan Muh. Markum, SH (suara: 13165 / 35.5%)
    Partai pendukung: Golkar,PKS
  • Kabupaten Kendal, Jawa Tengah
    dr. Mirna Annisa, M.Si dan Masrur Masykur (suara: 289970 / 62.2%)
    Partai pendukung: Hanura,PKS,PAN,Gerindra
  • Kabupaten Kep Anambas, Kepulauan Riau
    Abdul Haris,SH dan Wan Zuhendra (suara: 15345 / 73.5%)
    Partai pendukung: PDIP,Hanura
  • Kabupaten Kep Selayar, Sulawesi Selatan
    Muh. Basli Ali dan Dr. H. Zainuddin, S.H., M.H. (suara: 32077 / 43.%)
    Partai pendukung: Gerindra,PKS
  • Kabupaten Kepahiang, Bengkulu
    Dr.Ir.Hidayattullah Sjahid, MM dan Netti Herawati, S.Sos (suara: 35248 / 49.8%)
    Partai pendukung: Nasdem,Gerindra,Hanura
  • Kabupaten Kepulauan Aru, Maluku
    dr. Johan Gonga dan Muin Sogalrey, SE (suara: 17883 / 39.1%)
    Partai pendukung: Nasdem,PKS,Demokrat,PKPI
  • Kabupaten Kepulauan Meranti, Riau
    Drs. H. Irwan, M.Si dan Drs. H. Said Hasyim (suara: 50619 / 56.1%)
    Partai pendukung: PKB,Gerindra,Demokrat,PKS,PAN,PPP,PBB
  • Kabupaten Kepulauan Sula, Maluku Utara
    Hendrata Thes, S. Pd.k dan Zulfahri Abdullah, S. Ik (suara: 18017 / 37.8%)
    Partai pendukung: PKB,Demokrat,PKS
  • Kabupaten Ketapang, Kalimantan Barat
    Martin Rantan, S.H. dan Drs. Suprapto. S (suara: 64758 / 31.2%)
    Partai pendukung: -
  • Kabupaten Klaten, Jawa Tengah
    Hj. Sri Hartini, SE dan Hj. Sri Mulyani (suara: 321593 / 48.9%)
    Partai pendukung: PDIP,Nasdem
  • Kabupaten Kolaka Timur, Sulawesi Tenggara
    Drs. H. Tony Herbiansyah, M.Si dan Hj. Andi Merya Nur, S.IP (suara: 27903 / 42.6%)
    Partai pendukung: PDIP,Nasdem,Demokrat
  • Kabupaten Konawe Kepulauan, Sulawesi Tenggara
    Ir. H. Amrullah, MT. dan Andi Muhammad Lutfi, SE. (suara: 11649 / 56.4%)
    Partai pendukung: Demokrat,Gerindra,PKPI
  • Kabupaten Konawe Selatan, Sulawesi Tenggara
    H. Surunuddin Dangga, ST, MM dan Dr. H. Arsalim, SE., M.Si (suara: 57099 / 38.%)
    Partai pendukung: Golkar,Hanura,PBB
  • Kabupaten Konawe Utara, Sulawesi Tenggara
    Ir. Ruksamin, M.Si dan Raup, S.Ag (suara: 19026 / 50.8%)
    Partai pendukung: PAN,PBB,Golkar
  • Kabupaten Kota Baru, Kalimantan Selatan
    H. Sayed Jafar Alaydrus, SH dan Ir. Burhanuddin (suara: 44873 / 28.5%)
    Partai pendukung: PPP,Golkar
  • Kabupaten Kotawaringin Timur, Kalimantan Timur
    H. Supian Hadi, S.IKom dan Drs.H.M.Taufiq Mukri, S.H.,M.M. (suara: 112179 / 63.8%)
    Partai pendukung: PDIP,Gerindra,Nasdem,Demokrat,PKS
  • Kabupaten Kuatn Singingi, Riau
    Drs.H.Mursini,M.Si dan H.Halim (suara: 63543 / 39.8%)
    Partai pendukung: PPP,Gerindra,PDIP
  • Kabupaten Kutai Barat, Kalimantan Timur
    FX. Yapan, SH dan Edyanto Arkan, SE (suara: 34038 / 41.%)
    Partai pendukung: PKB,PDIP,PAN,Hanura,PKS
  • Kabupaten Kutai Kartanegara, Kalimantan Timur
    Rita Widyasari, S.Sos., MM., Ph.D dan Drs. Edi Damansyah, M.Si (suara: 263335 / 89.4%)
    Partai pendukung: -
  • Kabupaten Kutai Timur, Kalimantan Timur
    Ir. H. Ismunandar, MT dan Kasmidi Bulang, ST, MM (suara: 56511 / 44.2%)
    Partai pendukung: Hanura,Nasdem,PKB,PAN,PPP
  • Kabupaten Labuhan Batu, Sumatera Utara
    H. Pangonal Harahap, SE, M.Si dan H. Andi Suhaimi Dalimunthe, ST (suara: 60176 / 32.4%)
    Partai pendukung: PKS,PDIP,PKB,PBB
  • Kabupaten Labuhanbatu Selatan, Sumatera Utara
    H. Wildan Aswan Tanjung, SH, MM dan Drs.Kholil Jufri Harahap (suara: 95729 / 61.5%)
    Partai pendukung: Nasdem,Hanura,PAN,PBB,Demokrat,PKS
  • Kabupaten Labuhanbatu Utara, Sumatera Utara
    H. Kharuddin Syah, SE Alias H.Buyung dan Drs. Dwi Prantara (suara: 92201 / 54.3%)
    Partai pendukung: Hanura,PKS,Demokrat,PAN,Nasdem
  • Kabupaten Lamongan, Jawa Timur
    H. Fadeli, SH., MM. dan Dra. Hj. Kartika Hidayati, MM., M.HP. (suara: 448833 / 71.1%)
    Partai pendukung: PKB,PDIP,Golkar,Gerindra,Demokrat,PKS,PAN,Hanura
  • Kabupaten Lampung Selatan, Lampung
    DR. H. Zainudin Hasan, M.Hum dan Nanang Ermanto (suara: 283122 / 58.1%)
    Partai pendukung: PAN,Nasdem,PDIP,PKS
  • Kabupaten Lampung Tengah, Lampung
    DR. Ir. H. Mustafa, M.H. dan Loekman Djoyosoemarto (suara: 393356 / 63.6%)
    Partai pendukung: PDIP,PKS,Demokrat,PAN,PKPI,Hanura
  • Kabupaten Lampung Timur, Lampung
    Hj. Chusnunia, M.Si, M.Kn dan H. Zaiful Bokhari, ST, MM (suara: 263926 / 53.2%)
    Partai pendukung: PKB,Demokrat
  • Kabupaten Lebong, Bengkulu
    H. Rosjonsyah, S.IP, M.Si dan Wawan Fernandez, SH, M.Kn (suara: 19259 / 31.4%)
    Partai pendukung: Nasdem,PDIP
  • Kabupaten Lima Puluh Kota, Sumbar
    Ir. Irfendi Arbi, MP dan Ferizal Ridwan,S.Sos (suara: 50733 / 32.7%)
    Partai pendukung: PDIP,PKB,PPP
  • Kabupaten Lingga, Kepulauan Riau
    H. Alias Wello. S. IP dan M.Nizar S. Sos (suara: 25532 / 49.7%)
    Partai pendukung: Nasdem
  • Kabupaten Lombok Tengah, NTB
    H. Moh. Suhaili FT, SH. dan L. Pathul Bahri,S.IP. (suara: 213395 / 46.3%)
    Partai pendukung: Gerindra,PKS
  • Kabupaten Lombok Utara, Nusa Tenggara Barat
    Dr. H. Najmul Akhyar, SH.,MH dan Sarifudin, SH (suara: 68335 / 53.5%)
    Partai pendukung: PDIP,Gerindra,PAN,PKB,PBB
  • Kabupaten Luwu Timur, Sulawesi Selatan
    Ir. H. Muh. Thoriq Husler dan Irwan Bachri Syam, ST (suara: 84014 / 61.6%)
    Partai pendukung: Gerindra,Nasdem
  • Kabupaten Luwu Utara, Sulawesi Selatan
    Hj. Indah Putri Indriani, S.IP, M.SI dan Muh.Thahar Rum, SH (suara: 90824 / 53.6%)
    Partai pendukung: Gerindra,PDIP,Nasdem,Demokrat
  • Kabupaten Mahakam Ulu, Kalimantan Timur
    Bonifasius Belawan Geh, SH dan Drs. Y. Juan Jenau (suara: 6227 / 38.7%)
    Partai pendukung: Gerindra,PDIP,PKS
  • Kabupaten Majene, Sulawesi Barat
    Drs. H.Fahmi Massiara, MH dan Lukman, S.Pd.,M.Pd (suara: 40451 / 44.7%)
    Partai pendukung: PDIP,Demokrat,PKS,Golkar
  • Kabupaten Malaka, NTT
    dr. Stefanus Bria Seran, MPH dan Drs. Daniel Asa (suara: 44776 / 52.6%)
    Partai pendukung: Golkar,PDIP,Nasdem,Demokrat
  • Kabupaten Malang, Jawa Timur
    Rendra Kresna dan Sanusi (suara: 605817 / 51.6%)
    Partai pendukung: Golkar,PKB,Nasdem,Gerindra,Demokrat
  • Kabupaten Maliunau, Kalimantan Utara
    DR. Yansen TP, M.Si dan Topan Amrullah, S.Pd, M.Si (suara: 18782 / 53.1%)
    Partai pendukung: Demokrat,PDIP,PKS,PKPI
  • Kabupaten Maluku Barat Daya, Maluku
    Drs. Barnabas Orno dan Benyamin Thomas Noach. ST (suara: 13604 / 40.8%)
    Partai pendukung: PDIP,Golkar,Demokrat,PKPI
  • Kabupaten Mamuju, Sulawesi Barat
    Drs. H. Habsi Wahid, MM dan H. Irwan Satya Putra Pababari, SH.,M.TP (suara: 68249 / 56.2%)
    Partai pendukung: PKS,Hanura,PBB
  • Kabupaten Mamuju Tengah, Sulawesi Barat
    H. Aras Tammauni dan Drs. Muh Amin Jasa. MM. (suara: 81265 / 97.7%)
    Partai pendukung: Demokrat,PAN,Golkar
  • Kabupaten Mamuju Utara, Sulawesi Barat
    Ir. H. Agus Ambo Djiwa, MP dan Drs.H. Muhammad Saal (suara: 46185 / 58.8%)
    Partai pendukung: PDIP,Hanura,PAN,Nasdem,PKS
  • Kabupaten Mandailing Natal, Sumatera Utara
    H. Dahlan Hasan Nasution dan H. Muhammad Jafar Sukhairi Nst (suara: 103149 / 56.7%)
    Partai pendukung: PKB,PDIP,Gerindra,Demokrat,PAN,Nasdem
  • Kabupaten Manggarai, NTT
    Dr. Deno Kamelus, SH. MH dan Drs. Victor Madur (suara: 73666 / 50.6%)
    Partai pendukung: PKS,PBB,PKPI,PAN,Gerindra,Demokrat
  • Kabupaten Manggarai Barat, NTT
    Drs. Agustinus CH. Dula dan Drh. Maria Geong, Ph.D (suara: 29358 / 25.4%)
    Partai pendukung: Nasdem,PKPI,PDIP,PAN
  • Kabupaten Manokwari Selatan, Papua Barat
    Markus Waran, ST. dan Wempi Welly Rengkung, SE (suara: 13086 / 70.6%)
    Partai pendukung: PDIP,Gerindra,Nasdem,PKS
  • Kabupaten Manokwari, Papua Barat
    Demas Paulus Mandacan, S.Sos., M.Cc.Dev dan Drs. Edi Budoyo (suara: 42870 / 44.1%)
    Partai pendukung: Nasdem,PKB,PDIP,PAN,Hanura,PKPI
  • Kabupaten Maros, Sulawesi Selatan
    Ir. H. M. Hatta Rahman, M.M. dan Drs. H. A. Harmil Mattotorang, M.M. (suara: 106942 / 67.6%)
    Partai pendukung: PAN
  • Kabupaten Melawi, Kalimantan Barat
    Panji, S.Sos dan Dadi Sunarya Usfa Yursa, A.Md. (suara: 74460 / 55.8%)
    Partai pendukung: PDIP,Hanura,Nasdem
  • Kabupaten Membramo Raya, Papua
    Dorinus Dasinapa, A.Ks, S.Sos dan Yakobus Britai, S.IP (suara: 7174 / 44.1%)
    Partai pendukung: Nasdem,PKS,PKB
  • Kabupaten Merauke, Papua
    Frederikus Gebze, SE, M.Si dan Sularso, SE (suara: 60643 / 60.5%)
    Partai pendukung: Gerindra,PPP,PKPI
  • Kabupaten Minahasa Selatan, Sulawesi Utara
    Christiany Eugenia Paruntu dan Franky Donny Wongkar, SH (suara: 83799 / 67.9%)
    Partai pendukung: PDIP
  • Kabupaten Minahasa Utara, Sulawesi Utara
    Vonnie Anneke Panambunan dan Ir. Joppi Lengkong (suara: 50867 / 41.9%)
    Partai pendukung: Gerindra,PKPI,PKB
  • Kabupaten Mojokerto, Jawa Timur
    H. Mustofa Kamal Pasa, SE dan H. Pungkasiadi, SH (suara: 402684 / 78.6%)
    Partai pendukung: PDIP,Golkar,Gerindra,Demokrat,PKS,PAN,Nasdem
  • Kabupaten Morowali Utara, Sulawesi Tengah
    Ir. Aptripel Tumimomor, MT dan Moh. Asrar Abd.Samad (suara: 18675 / 32.%)
    Partai pendukung: PKS,PKPI,PBB
  • Kabupaten Mukomuko, Bengkulu
    Choirul Huda, SH dan Haidir, S.IP (suara: 39243 / 45.6%)
    Partai pendukung: Gerindra,Hanura
  • Kabupaten Muna, Sulawesi Tenggara
    dr. H. LM. Baharuddin, M.Kes dan H. La Pili, S.Pd., (suara: 47467 / 47.3%)
    Partai pendukung: PKS,PAN,Gerindra,PKS,PBB
  • Kabupaten Musi Rawas, Sumsel
    Hendra Gunawan dan Hj. Suwarti (suara: 83236 / 45.1%)
    Partai pendukung: Nasdem,PKB,PKS,Golkar,Gerindra
  • Kabupaten Musirawas Utara, Sumatera Selatan
    Drs. H.M Syarif. HD dan Devi Suhartoni (suara: 39851 / 41.1%)
    Partai pendukung: Hanura,PBB,PDIP
  • Kabupaten Nabire, NTT
    Isaias Douw,S.Sos dan Amirullah Hasyim, MM (suara: 58922 / 34.4%)
    Partai pendukung: PDIP,Demokrat
  • Kabupaten Natuna, Kepulauan Riau
    Drs. H. Abdul Hamid Rizal, M.Si dan Dra. Hj. Ngesti Yuni Suprapti (suara: 17180 / 41.2%)
    Partai pendukung: PAN,Gerindra
  • Kabupaten Ngada, NTT
    Marianus Sae, S.A.P dan Drs. Paulus Soliwoa (suara: 52164 / 68.%)
    Partai pendukung: Golkar,PAN,Hanura
  • Kabupaten Ngawi, Jawa Timur
    Ir. H. Budi Sulistyono Alias Kanang dan Ony Anwar, S.T., MH (suara: 454041 / 87.7%)
    Partai pendukung: PDIP,Golkar,Gerindra,Demokrat,PKS,PAN,Nasdem,Hanura,PKB
  • Kabupaten Nias, Sumatera Utara
    Drs. Sokhiatulo Laoli, MM dan Arosokhi Waruwu, SH., MH (suara: 30039 / 55.8%)
    Partai pendukung: PDIP,Demokrat,Gerindra
  • Kabupaten Nias Barat, Sumatera Utara
    Faduhusi Daely, S.Pd dan Khenoki Waruwu (suara: 20475 / 56.9%)
    Partai pendukung: Gerindra,PDIP,PKB,PAN
  • Kabupaten Nias Selatan, Sumatera Utara
    Dr. Hilarius Duha, SH.,MH dan Sozanolo Ndruru (suara: 48543 / 37.6%)
    Partai pendukung: PKPI,Demokrat,PBB
  • Kabupaten Nias Utara, Sumatera Utara
    Marselinus Ingati Nazara, A.Md dan Haogosochi Hulu, SE, MM (suara: 34257 / 56.5%)
    Partai pendukung: PDIP,Gerindra,PKPI
  • Kabupaten Nunukan, Kalimantan Utara
    Hj. Asmin Laura Hafid, SE dan Ir. H. Paridil, SE (suara: 33055 / 41.7%)
    Partai pendukung: Hanura,PKS,PDIP
  • Kabupaten Ogan Ilir, Sumsel
    AW Nofiadi Mawardi, S.Psi dan H.M. Ilyas Panji Alam, SH, SE, MM (suara: 107578 / 49.6%)
    Partai pendukung: Golkar,PDIP,PPP,Hanura,PKS
  • Kabupaten Ogan Komering Hulu, Sumsel
    Drs. H. Kuryana Azis dan Drs. Johan Anuar,SH., MM (suara: 114595 / 60.9%)
    Partai pendukung: PDIP,Gerindra,Demokrat,Nasdem
  • Kabupaten Oku Selatan, Sumsel
    Popo Ali. M dan Sholehien Abuasir (suara: 122096 / 64.2%)
    Partai pendukung: Golkar,Gerindra,Demokrat,PKPI,Hanura,Nasdem,PKB
  • Kabupaten Oku Timur, Sumsel
    H. M. Kholid MD dan Fery Antoni, SE (suara: 180677 / 58.5%)
    Partai pendukung: Nasdem,Demokrat,PDIP,PKB
  • Kabupaten Pacitan, Jawa Timur
    Drs. H. Indartato, MM dan Drs. H. Yudi Sumbogo (suara: 217278 / 79.%)
    Partai pendukung: Demokrat
  • Kabupaten Padang Pariaman, Sumbar
    Drs. H. Ali Mukhni dan Suhatri Bur, SE, MM Dt. Putiah (suara: 88157 / 60.7%)
    Partai pendukung: PAN,PKB,PKS,Demokrat,Gerindra,Golkar
  • Kabupaten Padeglang, Banten
    Hj. Irna Narulita, S.E., M.M. dan H. Tanto Warsono Arban, S.E., M.E. (suara: 367547 / 69.4%)
    Partai pendukung: Gerindra,PKB,PKS,Nasdem,PBB,Hanura,PAN
  • Kabupaten Pakpak Bharat, Sumatera Utara
    Remigo Yolando Berutu, MBA dan Ir. H. Maju Ilyas Padang (suara: 15658 / 57.4%)
    Partai pendukung: Nasdem,PKB,PKS,PDIP,Gerindra,Demokrat,PAN,Hanura,PKPI
  • Kabupaten Pangandaran, Jawa Barat
    H. Jeje Wiradinata dan H. Adang Hadari (suara: 140481 / 58.7%)
    Partai pendukung: PDIP,Golkar,PKS,Demokrat
  • Kabupaten Pangkajene, Sulawesi Selatan
    H. Syamsuddin A. Hamid, SE dan H. Syahban Sammana, SH (suara: 82304 / 45.6%)
    Partai pendukung: Demokrat,PDIP,PKS,Hanura
  • Kabupaten Pasaman, Sumbar
    Yusuf Lubis dan Atos Pratama (suara: 65624 / 50.5%)
    Partai pendukung: Nasdem,Demokrat
  • Kabupaten Pasaman Barat, Sumbar
    Drs. H. Syahiran, MM dan Yulianto, SH (suara: 60561 / 38.6%)
    Partai pendukung: Gerindra,Demokrat
  • Kabupaten Paser, Kalimantan Timur
    Drs. H. Yusriansyah Syarkawi, M.Si dan H.M. Mardikansyah, S.H. M.AP (suara: 75986 / 64.5%)
    Partai pendukung: Golkar,PKB
  • Kabupaten Pegunungan Arfak, Papua
    Yosias Saroy, SH, MH dan Marinus Mandacan, SIP (suara: 19188 / 65.6%)
    Partai pendukung: PPP,PDIP
  • Kabupaten Pegunungan Bintang, Papua
    Costan Oktemka, SIP dan Decky Deal, SIP (suara: 33123 / 35.9%)
    Partai pendukung: Nasdem,Demokrat
  • Kabupaten Pekalongan, Jawa Tengah
    H. Asip Kholbihi, S.H,M.Si dan Ir. Hj. Arini Harimurti (suara: 250523 / 50.3%)
    Partai pendukung: PKB
  • Kabupaten Pelalawan, Riau
    H. M. Harris dan Drs. H. Zardewan, MM (suara: 68618 / 50.6%)
    Partai pendukung: PAN,Gerindra,PKB,PKS,Nasdem,PBB
  • Kabupaten Pemalang, Jawa Tengah
    H.Junaedi, S.H., MM. dan Drs. H. Martono (suara: 343553 / 52.9%)
    Partai pendukung: PDIP
  • Kabupaten Penungkal Abab Lematang Ilir Utara, Sumatera Selatan
    Ir. H. Heri Amalindo, MM dan Ferdian Andreas Lacony S. Kom., MM (suara: 66372 / 75.2%)
    Partai pendukung: Golkar,PDIP,PAN,Nasdem,Demokrat,PBB,PKPI,PKS
  • Kabupaten Pesawaran, Lampung
    H. Dendi Ramadhona K, S.T. dan Eriawan, S.H. (suara: 108366 / 47.1%)
    Partai pendukung: PDIP,Demokrat,Gerindra,PAN,PKS
  • Kabupaten Pesisir Barat, Lampung
    DR. Drs. H. Agus Istiqlal, SH, MH dan Erlina, SP, MH (suara: 25534 / 32.1%)
    Partai pendukung: Nasdem,PAN,PKB
  • Kabupaten Pesisir Selatan, Sumbar
    Hendrajoni, SH, MH dan Drs. Rusma Yul Anwar, M.Pd (suara: 91304 / 46.7%)
    Partai pendukung: Gerindra,PAN,Nasdem
  • Kabupaten Pohuwato, Gorontalo
    Syarif Mbuinga, S.Pd., SE, MM dan Drs. Amin Haras (suara: 52837 / 67.2%)
    Partai pendukung: PDIP,PAN,PPP,PKB,Demokrat,PKS,Hanura
  • Kabupaten Ponorogo, Jawa Timur
    Drs. H. Ipong Muchlissoni dan Drs. H. Soedjarno, MM (suara: 219949 / 39.4%)
    Partai pendukung: Gerindra,PAN,Nasdem
  • Kabupaten Poso, Sulawesi Tengah
    Darmin A. Sigilipu dan Ir. Samsuri, M.Si (suara: 39484 / 33.5%)
    Partai pendukung: Golkar,PKS
  • Kabupaten Purbalingga, Jawa Tengah
    H. Tasdi, S.H., M.M dan Dyah Hayuning Pratiwi (suara: 228037 / 54.5%)
    Partai pendukung: PDIP,Gerindra,PAN,PKS,Nasdem
  • Kabupaten Purworejo, Jawa Tengah
    Agus Bastian, S.E., M.M. dan Yuli Hastuti, S.H. (suara: 183687 / 49.7%)
    Partai pendukung: Demokrat,Hanura,Golkar
  • Kabupaten Raja Ampat, Papua Barat
    Abdul Faris Umlati, SE. dan Manuel Piter Urbinas, S.Pi., M.Si. (suara: 2991 / 42.8%)
    Partai pendukung: Demokrat
  • Kabupaten Rejang Lebong, Bengkulu
    Dr.HC. H. Ahmad Hijazi, SH. MSI dan Iqbal Bastari, S.Pd, MM (suara: 37954 / 28.4%)
    Partai pendukung: -
  • Kabupaten Rembang, Jawa Tengah
    H. Abdul Hafidz dan Bayu Andriyanto, S.E. (suara: 237963 / 68.5%)
    Partai pendukung: -
  • Kabupaten Rokan Hlir, Riau
    H. Suyatno dan Drs. Jamiludin (suara: 90938 / 38.6%)
    Partai pendukung: PDIP,Hanura,Nasdem,PKPI
  • Kabupaten Rokan Hulu, Riau
    H. Suparman, S.Sos, M.Si dan H. Sukiman (suara: 89464 / 43.%)
    Partai pendukung: Hanura,Gerindra,Nasdem,Golkar
  • Kabupaten Sabu Raijua, NTT
    Ir. Marthen L. Dira Tome dan Drs. Nikodemus N. Rihi Heke, M.Si (suara: 23912 / 59.3%)
    Partai pendukung: -
  • Kabupaten Sambas, Kalimantan Barat
    H. Atbah Romin Suhaili, Lc dan Hj. Hairiah, SH, MH (suara: 126600 / 52.8%)
    Partai pendukung: PKS,Gerindra,Hanura,PPP
  • Kabupaten Samosir, Sumatera Utara
    Drs. Rapidin Simbolon,MM dan Ir. Juang Sinaga (suara: 35907 / 54.9%)
    Partai pendukung: PDIP
  • Kabupaten Sekadau, Kalimantan Barat
    Rupinus, SH., M.Si dan Aloysius, SH., M.Si (suara: 46098 / 42.8%)
    Partai pendukung: PDIP,Demokrat,PKPI
  • Kabupaten Seluma, Bengkulu
    H. Bundra Jaya, S.H., M.H dan Drs. Suparto, M.Si (suara: 31775 / 32.7%)
    Partai pendukung: Nasdem,PDIP
  • Kabupaten Semarang, Jawa Tengah
    dr. H. Mundjirin ES, SpOg dan Ngesti Nugraha, SH (suara: 316420 / 64.9%)
    Partai pendukung: PAN,Gerindra,PDIP
  • Kabupaten Seram Bagian Timur, Maluku
    Siti U Suruwaky dan Syarifudin Goo (suara: 14395 / 53.4%)
    Partai pendukung: PKPI,PKB,PDIP,Hanura,Nasdem
  • Kabupaten Serang, Banten
    Hj. Ratu Tatu Chasanah, SE, M. Ak dan Drs. H.Pandji Tirtayasa, M. SI (suara: 319696 / 60.5%)
    Partai pendukung: PDIP,Golkar,Demokrat,PKS,PAN,Nasdem
  • Kabupaten Serdang Bedagai, Sumatera Utara
    Ir. H. Soekirman dan Darma Wijaya (suara: 144872 / 52.1%)
    Partai pendukung: PAN,Demokrat,Gerindra,PKB,Nasdem
  • Kabupaten Siak, Riau
    Drs. H.Syamsuar, M.Si dan Drs. H. Alfedri, M.Si (suara: 98826 / 59.6%)
    Partai pendukung: PAN,Hanura,PKS,Nasdem,PKPI
  • Kabupaten Sidoarjo, Jawa Timur
    H. Saiful Ilah, S.H, M.Hum. dan H. Nur Ahmad Syaifuddin, S.H. (suara: 424611 / 59.%)
    Partai pendukung: PKB
  • Kabupaten Sigi, Sulawesi Tengah
    Mohamad Irwan, S.Sos., M.Si. dan Paulina, S.E., M.Si. (suara: 37083 / 30.%)
    Partai pendukung: Golkar,Gerindra,PAN
  • Kabupaten Sijunjung, Sumbar
    Drs. H. Yuswir Arifin Dt. Indo Marajo dan H. Arrival Boy, SH (suara: 37154 / 43.4%)
    Partai pendukung: PDIP,Golkar,PBB,Nasdem
  • Kabupaten Sintang, Kalimantan Barat
    dr. H. Jarot Winarno, M.Med.PH dan Drs. Askiman, MM (suara: 93778 / 41.7%)
    Partai pendukung: Nasdem,Golkar,PPP
  • Kabupaten Situbondo, Jawa Timur
    H. Dadang Wigiarto, SH dan Ir. H. Yoyok Mulyadi, M.Si. (suara: 194624 / 52.2%)
    Partai pendukung: PKB
  • Kabupaten Sleman, Yogyakarta
    Drs. H. Sri Purnomo, M.Si. dan Dra. Hj. Sri Muslimatun, M. Kes. (suara: 297267 / 56.6%)
    Partai pendukung: PAN,Nasdem,Golkar,PKB,Demokrat
  • Kabupaten Solok, Sumatera Barat
    H. Gusmal, S.E, M.M dan Yulfadri Nurdin, SH (suara: 69300 / 46.2%)
    Partai pendukung: Gerindra,PKS
  • Kabupaten Solok Selatan, Sumbar
    H. Muzni Zakaria dan H. Abdul Rahman (suara: 37764 / 50.3%)
    Partai pendukung: PAN,Gerindra,Nasdem,PKS
  • Kabupaten Soppeng, Sulawesi Selatan
    H. A. Kaswadi Razak, SE dan Supriansa, SH., MH (suara: 80802 / 57.8%)
    Partai pendukung: Gerindra,Golkar,PDIP,PAN,PKB,PKS
  • Kabupaten Sorong Selatan, Papua Barat
    Samsudin Anggiluli, S.E dan Drs. Martinus Salamuk (suara: 16367 / 51.6%)
    Partai pendukung: PDIP,Gerindra,Hanura
  • Kabupaten Sragen, Jawa Tengah
    dr. Kusdinar Untung Yuni Sukowati dan Dedy Endriyatno (suara: 220155 / 40.6%)
    Partai pendukung: PKS,Gerindra
  • Kabupaten Sukabumi, Jawa Barat
    Drs. H. Marwan Hamami, MM dan Drs. H. Adjo Sardjono, MM (suara: 500889 / 50.5%)
    Partai pendukung: Golkar,Gerindra,PKB,Demokrat,PPP
  • Kabupaten Sukoharjo, Jawa Tengah
    H. Wardoyo Wijaya, SH, MH dan Purwadi, SE, MM (suara: 355612 / 85.2%)
    Partai pendukung: PDIP
  • Kabupaten Sumba Barat, NTT
    Drs. Agustinus Niga Dapawole dan Marten Ngailu Toni, SP. (suara: 15006 / 26.3%)
    Partai pendukung: Gerindra,PAN,Nasdem
  • Kabupaten Sumba Timur, NTT
    Drs. Gidion Mbilijora, M.Si dan Umbu Lili Pekuwali, ST., MT (suara: 65120 / 54.8%)
    Partai pendukung: PDIP,Demokrat,Hanura,Golkar
  • Kabupaten Sumbawa, NTB
    H. M. Husni Djibril, B.Sc dan Drs. H. Mahmud Abdullah (suara: 117458 / 47.9%)
    Partai pendukung: PDIP,Demokrat
  • Kabupaten Sumbawa Barat, NTB
    Dr. Ir. H. W. Musyafirin, M.M dan Fud Syaifuddin, S.T (suara: 30732 / 42.7%)
    Partai pendukung: PDIP,PBB,PKPI,PKS,PKB,Nasdem
  • Kabupaten Sumenep, Jawa Timur
    Dr. KH. A. Busyro Karim, M.Si dan Achmad Fauzi (suara: 301887 / 50.9%)
    Partai pendukung: PKB,PDIP
  • Kabupaten Supiori, Papua
    Drs. Jules F. Warikar, MM dan Onesias Rumere, S.Sos (suara: 4579 / 39.2%)
    Partai pendukung: -
  • Kabupaten Tabanan, Bali
    Ni Putu Eka Wiryastuti, S.Sos dan I Komang Gede Sanjaya SE.MM (suara: 170869 / 64.4%)
    Partai pendukung: PDIP
  • Kabupaten Taliabu, Maluku Utara
    Aliong Mus, ST dan Ramli (suara: 15512 / 56.%)
    Partai pendukung: Gerindra,PAN,Hanura,PKS,PBB
  • Kabupaten Tana Tidung, Kalimantan Timur
    Dr. H.Undunsyah, MH, M.Si dan Markus, SE (suara: 6573 / 57.1%)
    Partai pendukung: PAN,PDIP,PKPI,PKB
  • Kabupaten Tana Toraja, Sulawesi Selatan
    Ir. Nicodemus Biringkanae dan Victor Datuan Batara, SH (suara: 51297 / 42.%)
    Partai pendukung: Demokrat,PKPI
  • Kabupaten Tanah Bumbu, Kalimantan Selatan
    Mardani H Maming dan H. Sudian Noor (suara: 106998 / 79.7%)
    Partai pendukung: PDIP,Nasdem,PKB,Demokrat,Hanura,PAN
  • Kabupaten Tanah Datar, Sumbar
    Drs. H . Irdinansyah Tarmizi dan Zuldafri Darma (suara: 53937 / 37.7%)
    Partai pendukung: Golkar,Nasdem
  • Kabupaten Tanjung Jbng Barat, Jambi
    Dr. Ir. H. Safrial, MS dan Drs. H. Amir Sakib (suara: 70175 / 49.2%)
    Partai pendukung: PDIP,Demokrat,PKB,Nasdem,Golkar,PKS
  • Kabupaten Tanjung Jbng Timur, Jambi
    H. Romi Hariyanto, SE dan H. Robby Nahliansyah (suara: 72710 / 59.9%)
    Partai pendukung: PAN,Nasdem,Golkar
  • Kabupaten Tapanuli Selatan, Sumatera Utara
    H. Syahrul M. Pasaribu, SH dan Ir. H. Aswin Efendi Siregar, MM (suara: 99680 / 66.1%)
    Partai pendukung: Golkar,Gerindra,PDIP,PPP,PKPI
  • Kabupaten Tasikmalaya, Jawa Barat
    H. Uu Ruzhanul Ulum,SE dan H. Ade Sugianto, S.IP (suara: 500513 / 67.4%)
    Partai pendukung: PDIP,PAN,PKS
  • Kabupaten Teluk Bintuni, Papua Barat
    Daniel Asmorom, SH, MM dan Yohanis Manibuy (suara: 17067 / 40.9%)
    Partai pendukung: Golkar,PDIP,PPP,Gerindra
  • Kabupaten Teluk Wondama, Papua Barat
    Drs. Bernadus A. Imburi, M.Si dan Dr. Drs. Paulus Y. Indubri, MM (suara: 7390 / 41.%)
    Partai pendukung: Gerindra,PKS
  • Kabupaten Timor Tengah Utara, NTT
    Raymundus Sau Fernandes, S.Pt dan Aloysius Kobes, S.Sos (suara: 74953 / 79.7%)
    Partai pendukung: PDIP
  • Kabupaten Toba Samosir, Sumatera Utara
    Ir. Darwin Siagian dan Ir. Hulman Sitorus, MM (suara: 39990 / 42.8%)
    Partai pendukung: Nasdem,Hanura,PDIP
  • Kabupaten Tojo Una-Una, Sulawesi tengah
    Mohammad Lahay, SE dan Admin AS Lasimpala, S.IP (suara: 34067 / 41.7%)
    Partai pendukung: Nasdem,Demokrat,PDIP
  • Kabupaten Toli-Toli, Sulawesi Tengah
    H. Moh. Saleh Bantilan, SH dan H. Abdul Rahman HB (suara: 39342 / 34.1%)
    Partai pendukung: Demokrat,PKS,PPP
  • Kabupaten Toraja Utara, Sulawesi Selatan
    DR. Kalatiku Paembonan, M.Si. dan Yosia Rinto Kadang, ST. (suara: 71120 / 54.2%)
    Partai pendukung: PDIP,Gerindra
  • Kabupaten Trenggalek, Jawa Timur
    Dr. Emil Elestianto, M.Sc dan Mochamad Nur Arifin (suara: 292248 / 76.3%)
    Partai pendukung: PDIP,Demokrat,Gerindra,PAN,Golkar
  • Kabupaten Tuban, Jawa Timur
    H. Fathul Huda dan Ir. H. Noor Nahar Hussein, M.Si (suara: 278262 / 60.8%)
    Partai pendukung: PKB,Gerindra,Demokrat,PDIP,Nasdem,PAN,PKS,Hanura
  • Kabupaten Wakatobi, Sulawesi Tenggara
    H. Arhawi, SE dan Ilmiati Daud, SE, M.Si (suara: 28872 / 50.7%)
    Partai pendukung: PAN,Hanura,Gerindra
  • Kabupaten Warofen, Papua
    Dr. Drs.Yesaya Buinei, MM dan Ever Mudumi, S.Sos (suara: 603 / 61.3%)
    Partai pendukung: Nasdem,Hanura,Gerindra
  • Kabupaten Way Kanan, Lampung
    H. Raden Adipati Surya, SH., MM dan DR. Drs. H. Edward Antony, MM (suara: 136391 / 59.8%)
    Partai pendukung: Demokrat,PKS,Hanura,PAN
  • Kabupaten Wonogiri, Jawa Tengah
    Joko Sutopo dan Edy Santosa, SH (suara: 304755 / 54.5%)
    Partai pendukung: PDIP,Nasdem
  • Kabupaten Wonosobo, Jawa Tengah
    Eko Purnomo, SE., MM dan Ir. H. Agus Subagiyo, M. Si (suara: 216478 / 46.8%)
    Partai pendukung: Hanura,PPP,PKS
  • Kabupaten Yahukimo, Papua
    (suara: / .%)
    Partai pendukung:
  • Kabupaten Yalimo, Papua
    (suara: / .%)
    Partai pendukung:
  • Kota Balikpapan, Kalimantan Timur
    H.M. Rizal Effendi, SE dan Rahmad Mas'ud (suara: 116330 / 44.8%)
    Partai pendukung: PDIP,Nasdem,Demokrat
  • Kota Bandar Lampung, Lampung
    Drs. Herman HN, MM. dan Muhammad Yusuf Kohar, SE., MM. (suara: 358254 / 86.7%)
    Partai pendukung: Gerindra,PDIP,Nasdem,PKS,Demokrat,PKB
  • Kota Banjarbaru, Kalimantan Selatan
    Drs. H. Nadjmi Adhani, M.Si dan Darmawan Jaya Setiawan, SP (suara: 40715 / 46.7%)
    Partai pendukung: -
  • Kota Banjarmasin, Kalimantan Selatan
    Ibnu Sina, S.Pi,M.Si dan Hermansyah (suara: 147742 / 55.5%)
    Partai pendukung: PDIP,PKS,Hanura,PAN,Gerindra
  • Kota Batam, Riau
    H. Muhammad Rudi dan Amsakar Achmad (suara: 186121 / 60.3%)
    Partai pendukung: Demokrat,PKPI,Gerindra,Hanura
  • Kota Binjai, Sumatera Utara
    H. Muhammad Idaham dan Timbas (suara: 47606 / 38.3%)
    Partai pendukung: Demokrat,PKS
  • Kota Bitung, Sulawesi Utara
    Maximiliaan Jonas Lomban, S.E., M.Si. dan Ir. Maurits Mantiri (suara: 38831 / 36.%)
    Partai pendukung: Nasdem,PDIP
  • Kota Blitar, Jawa Tengah
    Muh. Samanhudi Anwar dan Drs. H. Santoso, M.Pd (suara: 67934 / 92.3%)
    Partai pendukung: PDIP
  • Kota Bontang, Kalimantan Timur
    dr. Hj. Neni Moerniaeni, Sp. OG dan Basri Rase (suara: 44300 / 55.9%)
    Partai pendukung: -
  • Kota Bukittinggi, Sumatera Barat
    M. Ramlan Nurmatias, SH Dt. Nan Basa dan Irwandi, SH Dt. Batujuah (suara: 17870 / 41.8%)
    Partai pendukung: -
  • Kota Cilegon, Banten
    DR. H. Tb. Iman Ariyadi dan Drs. H. Edi Ariadi (suara: 135204 / 77.4%)
    Partai pendukung: Golkar,Demokrat,PKB,PKS,PDIP,Gerindra,PAN,Nasdem,PPP
  • Kota Denpasar, Bali
    Ida Bagus Rai Dharmawijaya Mantra, SE., M.Si dan I Gusti Ngurah Jaya Negara SE (suara: 191347 / 82.1%)
    Partai pendukung: PDIP
  • Kota Depok, Jawa Barat
    KH. Dr. Mohammad Idris, MA dan Pradi Supriatna (suara: 411367 / 61.9%)
    Partai pendukung: PKS,Gerindra
  • Kota Dumai, Riau
    Drs.H. Zulkifli, A.S, M.Si dan Eko Suharjo, SE (suara: 32618 / 27.9%)
    Partai pendukung: Nasdem,PKB,Gerindra,Demokrat
  • Kota Gunung Sitoli, Sumatera Utara
    Ir. Lakhomizaro Zebua dan Sowa'a Laoli, SE., M.Si (suara: 24893 / 46.7%)
    Partai pendukung: PDIP,Hanura,PKB
  • Kota Magelang, Jawa Tengah
    Ir. H. Sigit Widyonindito, M.T dan Dra. Windarti Agustina (suara: 30751 / 48.6%)
    Partai pendukung: PDIP,Gerindra
  • Kota Mataram, Nusa Tenggara Barat
    H. Ahyar Abduh dan H. Mohan Roliskana, S.Sos, M.H (suara: 123122 / 77.3%)
    Partai pendukung: PKS,PKB,Hanura,PAN,PKPI,Nasdem
  • Kota Medan, Sumatera Utara
    Drs.H.T. Dzulmi Eldin,S. M.Si. dan Ir. Akhyar Nasution, M.Si. (suara: 346406 / 71.7%)
    Partai pendukung: PDIP,Golkar,PKS,PAN,PKPI,Nasdem,PBB
  • Kota Metro, Lampung
    H. A. Pairin, S. Sos. dan H. Djohan, S.E., M.M. (suara: 33499 / 39.5%)
    Partai pendukung: PDIP,PAN,Nasdem
  • Kota Palu, Sulawesi tengah
    Drs. Hidayat, M.Si dan Sigit Purnomo (suara: 54895 / 36.8%)
    Partai pendukung: PAN,PKB
  • Kota Pasuruan, Jawa Timur
    Drs. H. Setiyono, M.Si dan Raharto Teno Prasetyo (suara: 62789 / 55.5%)
    Partai pendukung: Golkar,PDIP,Gerindra,PAN,PPP
  • Kota Pekalongan, Jawa Tengah
    H. A. Alf Arslan Djunaid, SE dan H. M. Saelany Machfudz (suara: 73946 / 46.7%)
    Partai pendukung: PDIP,PKB
  • Kota Samarinda, Kalimantan Timur
    H.Syaharie Ja'ang, S.H., M.Si. dan Ir. H. Nusyirwan Ismail, M.Si. (suara: 206594 / 75.4%)
    Partai pendukung: Demokrat,Nasdem,PKS
  • Kota Semarang, Jawa Tengah
    H. Hendrar Prihadi Alias Hendi, S.E., M.M. dan Ir. Hj. Hevearita Gunaryanti Rahayu (suara: 319076 / 46.3%)
    Partai pendukung: PDIP,Nasdem,Demokrat
  • Kota Sibolga, Sumatera Utara
    M. Syarfi Hutauruk dan Edipolo Sitanggang (suara: 24774 / 55.1%)
    Partai pendukung: Nasdem,PAN,Gerindra,PKS,PKB,Hanura,PBB,PDIP
  • Kota Solok, Sumatera Barat
    H. Zul Elfian Dt. Tianso SH, M.Si dan Reinier Dt. Intan Batuah, ST, MM (suara: 14887 / 46.8%)
    Partai pendukung: PPP,Nasdem,PKB
  • Kota Sungai Penuh, Jambi
    H. Asafri Jaya Bakri dan H. Zulhelmi (suara: 22910 / 45.3%)
    Partai pendukung: Demokrat,PDIP
  • Kota Surabaya, Jawa Timur
    Ir. Tri Rismaharini, M.T. dan Whisnu Sakti Buana, S.T. (suara: 893087 / 86.3%)
    Partai pendukung: PDIP
  • Kota Surakarta, Jawa Tengah
    F.X. Hadi Rudyatmo dan Dr. H. Achmad Purnomo, Apt. (suara: 169902 / 60.4%)
    Partai pendukung: PDIP
  • Kota Tangerang Selatan, Banten
    Hj.Airin Rachmi Diany,SH.,MH dan Drs. H. Benyamin Davnie (suara: 305322 / 59.6%)
    Partai pendukung: PKB,PKS,PAN,PPP,Nasdem,Golkar
  • Kota Tanjung Balai, Sumatera Utara
    M. Syahrial, SH, MH dan Drs. H. Ismail (suara: 35139 / 47.4%)
    Partai pendukung: -
  • Kota Ternate, Maluku Utara
    Dr. H. Burhan Abdurahman, SH.MM dan H. Abdullah Tahir, SH (suara: 34015 / 39.4%)
    Partai pendukung: PKB,PBB,PKPI,Hanura,Demokrat
  • Kota Tidore Kepulauan, Maluku Utara
    Capt. H. Ali Ibrahim, MH. dan Muhammad Senin, SE. (suara: 26314 / 44.4%)
    Partai pendukung: Nasdem,PDIP,PAN,PBB,PKB,PKS,Hanura
  • Kota Tomohon, Sulawesi Utara
    Jimmy Feidie Eman dan Syerly Adelyn Sompotan (suara: 27127 / 42.9%)
    Partai pendukung: -
  • Provinsi Bengkulu
    Dr. H. Ridwan Mukti, M.H dan Dr. H. Rohidin Mersyah, M.M (suara: 517190 / 57.4%)
    Partai pendukung: Nasdem,PKPI,Hanura,PKB
  • Provinsi Jambi
    H. Zumi Zola Zulkifli, S.TP., MA dan Dr. Drs. H. Fachrori Umar, M.Hum (suara: 968497 / 60.2%)
    Partai pendukung: Nasdem,PKB,PAN,Hanura,PBB
  • Provinsi Kalimantan Selatan
    H. Sahbirin Noor, S.Sos, MH dan Drs.H.Rudy Resnawan (suara: 732872 / 41.1%)
    Partai pendukung: PDIP,Gerindra,PKS,PAN,Hanura
  • Provinsi Kalimantan Utara
    Dr. Ir. H. Irianto Lambrie, MM dan H. Udin Hianggio (suara: 143592 / 53.%)
    Partai pendukung: PDIP,PKS,Demokrat,PBB,PAN
  • Provinsi Kepulauan Riau
    Drs. H. Muhammad Sani dan Dr. Nurdin Basirun S.Sos,M.Si (suara: 347515 / 53.2%)
    Partai pendukung: Demokrat,Nasdem,PKB,Gerindra,PPP
  • Provinsi Sulawesi Tengah
    Drs. H. Longki Djanggola, M.Si dan H. Sudarto, SH.,M.Hum (suara: 742711 / 54.5%)
    Partai pendukung: Gerindra,PAN,PKB,PBB
  • Provinsi Sulawesi Utara
    Olly Dondokambey, SE dan Drs. Steven O.E Kandouw (suara: 647252 / 51.4%)
    Partai pendukung: PDIP
  • Provinsi Sumatera Barat
    Prof. Dr. H. Irwan Prayitno, Psi, M.Sc dan Drs. H. Nasrul Abit (suara: 1175858 / 58.6%)
    Partai pendukung: PKS,Gerindra
  • Data diambil dari situs Pilkada KPU ( pada tanggal 26 Desember 2015.
  • Data diambil dari formulir DB1 untuk pilkada kabupaten/kota dan DC1 untuk pilkada provinsi. Jika formulir DB1/DC1 belum tersedia di situs KPU, maka digunakan hasil rekap form C1.
  • Data untuk Kabupaten Kaimana, Papua Barat dan Kabupaten Yahukimo & Yalimo, Papua sama sekali belum tersedia saat pengambilan data.
Mohon diinformasikan jika ada data yang kurang akurat. Terima kasih.

Tuesday, December 1, 2015

Menghitung Tingkat Kepercayaan untuk Crowdsourced Count

Pada Pilpres 2014 yang lalu saya menjalankan inisiatif crowdsourced count melalui situs KawalSuara. Melalui web app tersebut, relawan dapat membantu proses penghitungan suara dengan memasukkan angka perolehan sesuai scan formulir C1 yang dipublikasikan oleh KPU.
Masalah utama bagi penghitungan suara berbasis gotong royong ini adalah tidak semua relawan dapat dipercaya 100%. Adanya oknum-oknum yang sengaja mengisi data yang salah ini perlu diantisipasi. Strategi utama yang saya adalah mengusahakan agar setiap TPS dientri oleh 2 atau lebih relawan. Agar sebuah data bisa dianggap terverifikasi, diperlukan dua entri dengan nilai yang sama. Strategi ini terbukti efektif di mana hasil penghitungan Kawal-Suara sangat mendekati rekapitulasi resmi.
Kekurangan dari strategi ini adalah entri data menjadi kurang efisien. Pada kasus Pilpres 2014, jumlah total entri data mencapai lebih dari 730,000. Seandainya semua kontribusi itu dianggap valid tentunya lebih dari cukup untuk entri data 478,000 TPS. Namun karena rata2 setiap TPS perlu lebih dari 2 kontribusi agar dianggap terverifikasi, maka perhitungan baru mencapai hampir 60% (286,000 TPS) artinya efisiensi hanya 39%.
Kekurangan lainnya adalah tidak adanya angka tingkat kepercayaan (confidence level) atas hasil penghitungan suara. Berbeda dengan metode Quick Count yang dapat mengklaim margin error sekian % dengan tingkat kepercayaan sekian %. Ide saya untuk memperbaiki keadaan ini adalah dengan menghitung tingkat kepercayaan (confidence level) dari para relawan dan tingkat kepercayaan dari hasil penghitungan.

Tingkat Kepercayaan dari Hasil Perhitungan

Kita mulai dengan tingkat kepercayaan untuk satu item yang dientri. Per scan C1 setidaknya ada beberapa item: Suara untuk kandidat 1, suara untuk kandidat 2, total suara, dan seterusnya. 
            P(Ri)    Probabilitas relawan Ri mengentri nilai yang benar.
                        Dengan kata lain
P(Ri)  adalah tingkat kepercayaan dari relawan Ri.
            P(A)     Probabilitas item A telah dientri dengan nilai yang benar         

Jika sebuah item A hanya dientri oleh Ri, maka menghitung tingkat kepercayaan untuk item tersebut adalah suatu hal yang trivial:
            P(A) = P(Ri)                                                                             (i)

Jika dua orang mengentri nilai yang sama pada item I, maka P(A) dapat dihitung berdasarkan conditional probability.
P(B)     Probabilitas relawan R1 & relawan R2 mengentri nilai yang benar
P(S)     Probabilitas relawan R1 & relawan R2 mengentri nilai yang sama
P(B|S)  Probabilitas nilai yang benar telah dientri jika R1 & R2
                         mengentri nilai yang sama
P(S|B)  Probabilitas R1 & R2 mengentri nilai yang sama jika keduanya
                         mengentri nilai yang benar
                         P(S|B) = 1, karena hanya ada satu nilai yang benar.

Berdasarkan Bayes Theorem:

            P(Rij)    Probabilitas relawan Ri mengentri nilai j
            P(Sj)     Probabilitas relawan R1 & R2 mengentri nilai j
            P(Sj)    = P(r1j)P(R2j)  
            S          = U Sj               // S adalah union Sj untuk semua j

karena Sj tidak beririsan satu sama lain (mutually exclusive), maka:
            P(S)     = P(U Sj)                       

Dengan asumsi probabilitas relawan Ri mengisi nilai yang salah adalah sama untuk semua nilai yang salah:
             P(Rij)     =           jika j salah       
                           = P(Ri)               jika j benar

 Dari hasil ini kita bisa melihat bahwa dengan P(Ri) yang relatif rendah pun (misal 0.5) untuk n = 100, P(A) akan melonjak menjadi 0.99 jika setidaknya 2 relawan mengisi nilai yang sama.
Meskipun tingkat kepercayaan untuk satu item dapat ditentukan, tidak serta-merta tingkat kepercayaan seluruh hasil perhitungan (rekapitulasi) dapat dengan mudah ditentukan, karena memang agak sulit untuk menentukan margin error nya (setidaknya sulit bagi saya). Maka untuk menilai hasil rekapitulasi, ukuran yang saya usulkan adalah rata-rata tingkat kepercayaan yang mudah dihitung.

Tingkat Kepercayaan dari Relawan

Pertanyaan selanjutnya adalah bagaimana menentukan tingkat kepercayaan dari setiap relawan. Untuk ini strategi yang saya usulkan adalah memberi nilai awal yang relatif rendah, misal 0.5. Kemudian setiap beberapa entri yang dilakukan oleh relawan tersebut, system akan memberikan sebuah tes “kejujuran”. Artinya scan C1yang ditampilkan adalah yang sudah diketahui/diverifikasi nilainya. Tingkat kepercayaan dari relawan dapat dihitung sebagai persentase entri yang benar dalam tes tersebut.
Tes kejujuran ini perlu dilakukan secara rutin dan acak,  misal sekali setiap 5 entri. Pada awalnya admin system perlu menyiapkan beberapa item scan C1 yang telah diverifikasi. Namun untuk selanjutnya item-item yang telah dihitung mempunya tingkat kepercayaan tinggi (misal > 95%) dapat digunakan sebagai bahan test. Rumus untuk menghitung tingkat kepercayaan relawan dapat disesuaikan agar memperhitungkan tingkat kepercayaan item yang tidak 100% ini.
Selain itu, perlu di beri limit maksimal atas tingkat kepercayaan relawan, misal 90%. Dengan tingkat kepercayaan 100%, entri dari relawan tersebut dianggap sebagai kebenaran absolut. Sesuatu yang sebaiknya dihindari, karena meskipun relawan yang bersangkutan memang benar-benar jujur, tidak tertutup kemungkinan ia salah mengetik.


Formula tingkat kepercayaan untuk sebuah item data (vi), menjadi tidak valid jika asumsi yang digunakan (probabilitas seorang relawan mengentri nilai yang salah adalah sama untuk semua nilai yang salah) tidak valid. Salah satu kasus di mana asumsi ini menjadi tidak valid adalah jika dua relawan bersekongkol untuk mengisi angka salah yang sama pada sebuah item.
Strategi yang mungkin dilakukan untuk mengantisipasi hal ini:

  • Scan C1 yang ditampilkan dipilih oleh system secara acak. Relawan tidak diperbolehkan memilih sendiri scan C1 yang akan dientri.
  • Mewaspadai nilai tertentu yang tingkat kemunculannya jauh lebih sering dibandingkan nilai lainnya.


Dengan menerapkan perhitungan tingkat kepercayaan ini dalam proses crowdsourced count setidaknya ada dua keuntungan:

  • Efisiensi proses crowdsourced count dapat ditingkatkan. Sebelumnya semua entri mendapat tingkat kepercayaan yang sama. Meskipun diketahui entri tersebut berasal dari relawan yang tidak terpercaya. Dengan teknik ini, satu entri dari relawan yang sangat terpercaya bisa dianggap lebih, well, terpercaya, daripada dua entri sama dari relawan dengan tingkat kepercayaan rendah. Dengan kata lain satu entri dari relawan yang terpercaya sudah cukup untuk mencapai tingkat kepercayaan tertentu pada sebuah item.
    Jadi efisiensi dapat ditingkatkan dari sebelumnya selalu < 0.5 (50%), menjadi mendekati (1 – 1/k) jika tes kejujuran dilakukan sekali setiap k entri.
  • Dapat mengklaim sebuah angka sebagai Rata-Rata Tingkat Kepercayaan yang menjadi ukuran (measure) hasil perhitungan suara. Ukuran lain yang dapat digunakan oleh metode crowdsourced count adalah Completeness (menunjukkan persentase item yang telah di-entri).


Tuesday, November 24, 2015

IndeXuara: Algoritma Fonetik Bahasa Indonesia


Ini bermula dari keisengan saya membuat app android untuk membantu anak saya belajar membaca. Dalam aplikasi tersebut si anak diminta membaca kata yang ditampilkan. Dengan memanfaatkan engine Speech Recognizer dari Android, aplikasi akan menilai apakah pengucapannya sudah benar.

Secara umum Speech Recognizer Android bekerja sangat baik. Namun terkadang kata yang dihasilkan memiliki penulisan yang sedikit berbeda dengan kata yang ditampilkan meskipun pengucapannya sama. Sebagai contoh, untuk kata BAKPAU, meskipun si anak dapat mengucapkan dengan benar ternyata kata yang dihasilkan oleh Speech Recognizer adalah BAKPAO. Akibatnya ucapan tersebut dianggap salah.

Salah satu cara untuk menangani hal ini adalah dengan memberi toleransi. Misal jika hanya satu huruf yang berbeda ucapannya tetap dianggap benar. Metrik Levenshtein Distance cocok untuk digunakan untuk hal ini. Tapi efek dari penggunaan teknik ini ternyata aplikasi jadi terlalu permisif. BABE dibaca BABU akan dianggap benar. Sebaliknya, karena anak kecil biasanya masih agak cadel, saya ingin jika kata TARI dilafalkan seperti TALI tetap dianggap benar.

Solusinya adalah menggunakan algoritma fonetik, yaitu algoritma yang dapat mengelompokkan kata/nama berdasarkan pengucapannya. Pada dasarnya algoritma ini adalah sebuah fungsi f di mana f(x1) = f(x2) jika x1 & x2 adalah kata dengan pengucapan yang sama/mirip.

Algoritma fonetik yang populer diantaranya adalah Soundex dan Metaphone. Namun keduanya ini dirancang khusus untuk bahasa Inggris. Untuk bahasa-bahasa Eropa lainnya pun biasanya diperlukan pengembangan lebih lanjut. Untuk Bahasa Indonesia tidak banyak referensi mengenai algoritma fonetik. Saya menemukan algoritma Priyadi yang dibuat oleh, well, Priyadi . Namun algoritma tersebut masih belum memenuhi kebutuhan saya, terutama karena kurang penanganan dalam variasi diftong dan penyederhanaan konsonan yang kurang sesuai keinginan saya. Akhirnya saya pun tergerak untuk membuat sendiri algoritma fonetik untuk Bahasa Indonesia.


Saya mendefinisikan algoritma saya dalam 2 Level. Level pertama fokus pada penyederhanaan diftong dan penyederhanaan konsonan secara terbatas. Level ini dapat menemukan kemiripin pengucapan dalam variasi penulisan. Contoh:
  • f1(“ANGPAU”) = f1(“ANGPAO”) = f1(“ANGPAW”)
  • f1(“FAISAL”) = f1(“FEISAL”)
  • f1(“AL-QAEDA”) = f1(“AL-KAIDAH”)
  • f1(“BAKSO”) = f1(“BASO”)
  • f1(“SYUKUR”) = f1(“SUKUR”)
  • f1(“RAMAI”) = f1(“RAME”)
  • f1(“TAKSI”) = f1(“TAXI”)
  • f1(“BOBBY”) = f1(“BOBI”)
  • f1(“KWALITAS”) = f1(“KUALITAS”)
  • f1(“MAYA”) = f1(“MAIA”)
Algoritma Level 1 adalah sebagai berikut:
  1. Ganti konsonan yang muncul berulang menjadi hanya satu huruf
  2. Penyederhanaan diftong:
    • AI, AE, AY, EI, EY  => E 
    • AU, AO, AW, OU, OW => O 
    • EU => E
    • IE => I
  3. Penyederhanaan konsonan:
    • SY => S
    • KH di akhir suku kata => dihilangkan
      KH di awal suku kata => K
    • CH di akhir suku kata => dihilangkan
      CH di awal suku kata => C 
    • B di akhir suku kata => P 
    • D di akhir suku kata => T 
    • G di akhir suku kata => dihilangkan (kecuali G di NG) 
    • H => dihilangkan 
    • K di akhir suku kata => dihilangkan 
    • Q di akhir suku kata => dihilangkan
      selain itu => K
    • V => F
    • X => S
  4. Substitusi Semivokal:
    • W setelah U,O => dihilangkan
      W sebelum U => dihilangkan

      selain itu => I
    • Y setelah I, E => dihilangkan
      Y setelah S dan bukan akhir suku kata => dihilangkan
      Y setelah N dan bukan akhir suku kata => Y (dipertahankan)
      Y sebelum I => dihilangkan
      selain itu => I
  5. Ulang langkah 1 (konsonan ganda mungkin muncul kembali setelah penggantian)
Sedangkan level kedua melakukan penyederhaaan konsonan lebih lanjut. Efeknya adalah penggolongan konsonan menjadi lebih longgar. Cocok untuk mengakomodasi mereka yang kesulitan melafalkan "el" atau “ep” :). Contoh:
  • f2(KERAS) = f2(KELAS)
  • f2(REZA) = f2(RAISA)   <= Dua nama ini memang cocok bersanding :)
Algoritma Level 2 adalah sebagai berikut:
  1. Terapkan algoritma level 1
  2. Penyederhanaan konsonan lanjutan:
    • NG, NY => N
    • D => T
    • C, J, Z => S
    • B, F => P
    • R => L
    • G => K
  3. Ganti konsonan yang muncul berulang menjadi hanya satu huruf
Hal yang perlu diperhatikan jika input kata menggunakan ejaan lama, maka perlu dilakukan normalisasi menjadi EYD sebelum menerapkan algoritma di atas. Selain itu perlu dipertimbangkan juga bagaimana menentukan akhir suku kata. Dalam implementasi yang saya buat, saya hanya menggunakan aturan sederhana yang mungkin tidak terlalu akurat.

Room for Improvements

  • Kondisi saat ini penyederhanaan diftong masih terlalu agresif. Kombinasi vokal AI atau AU tidak selalu merupakan diftong. Misalkan pada kata DAI, MAU, JAUH.  Solusi yang terpikir adalah menggunakan daftar pengecualian. 
  • Penyederhanaan konsonan V juga sedikit ambigu. Orang Indonesia biasa melafalkan V persis seperti F. Sementara dalam bahasa-bahasa Eropa juga Sansekerta lafal V lebih mendekati W. Pada akhirnya saya memang memutuskan V disubstitusi dengan F, meskipun ini berakibat f1("DEVI") != f1("DEWI"). Tapi setidaknya f2("NOVEMBER") = f2("NOPEMBER").
  • Penanganan vokal schwa. Schwa adalah vokal dengan bunyi e pepet (IPA: ə) yang dilafalkan "setengah hati". Biasanya muncul di belakang R (atau terkadang L). Contohnya E pada kata BERAPA yang sering terreduksi menjadi BRAPA. Atau sebaliknya dimunculkan: PRANCIS ==> PERANCIS. Algoritma di atas belum bisa mendeteksi kemiripan ini. Masalahnya tidak semua E di belakang R merupakan schwa. Contoh: PERAK atau PERAN. Satu opsi solusinya adalah justru selalu menambahkan E di depan R jika R tidak didahului huruf vokal. Yang pasti masih perlu dipikirkan lebih lanjut.    
  • Penanganan spasi atau tanda baca yang terkadang muncul dalam nama. seperti (-) atau ( ' ). Saat ini algoritma di atas mengasumsikan tidak ada karakter-karakter tersebut.
Demikian hasil keisengan saya. Karena terinspirasi dari Soundex, saya namakan algoritma ini IndeXuara. Implementasinya dalam Java bisa diunduh di sini. Semoga bermanfaat.

App belajar membaca dapat diunduh dari Android Play Store: ABACA

Update 27/11/2015:
Perbaikan aturan untuk semivokal W & Y: kondisi lebih spesifik & dipindahkan ke belakang. Pada dasarnya W & Y selalu diganti dengan U & I (sebelumnya W & Y di awal suku kata tidak diganti)