Menampilkan data Pilkada KPU


Menampilkan data Pilkada KPU

dalam rangka menghadapi tahun politik. Ane akan mencoba membuat aplikasi sederhana terkait data pilkada yang diselenggarakan oleh KPU. dalam tulisan ini akan ditunjukan bagaimana mengambil data dan menampilkan data pilkada KPU dengan mengambil data di Open API-nya KPU.Menampilkan data Open API Pilkada KPU dengan PHP CI

web yang akan dibuat ini menggunakan PHP FW CI dan bootstrap adminLTE. Open API KPU sendiri berisi data-data pilkada (ane tidak tau apakah data pilkada yang telah selesai atau yang akan berlangsung). per 22 Januari 2018 diakses sih data yang ada merupakan data pilkada yang sudah selesai.

Dalam open API KPU terdapat data calon kepala daerah berikut daerah, nomor urut, dan partai pengusungnya, profil calon pun ada tapi sangat minim sekali, dalam aplikasi yang dibuat ini menampilkan data Pilkada KPU sebagai berikut :

  1. Menampilkan Provinsi
  2. Menampilan daftar caleg kepala daerah per daerah Tk. II
  3. Menampilkan daftar caleg beserta nomor urut dan partai pengusungnya.

karena dalam menampilkan data Pilkada KPU ini menggunakan Open API KPU, maka dalam pembuatannya ane tidak membuat database. Jika tertarik bisa ikuti langkah berikut ini :

Menampilkan Data Pilkada KPU

  1. download dan install apache webserver (dalam hal ini ane biasa memakai xampp)
  2. download Code Igniter kemudia extract di Htdocs
  3. download adminLTE kemudian extract di dalam folder assets dan letakan folder tersebut didalam folder CI
  4. salahkan sesuaikan pengaturan di autoload.php & config.php yang terletak di folder application > config. ane sendiri mengatur dengan ketentuan sebagai berikut

isi config.php

$config['base_url'] = 'http://localhost/pilkada/';

ane pake base url diatas karena CI yang diextract ada di dalam folder pilkada.

isi autoload.php

 

$autoload['helper'] = array('url','config');

yang ane perlukan helpernya cukup url dan config (kita akan buat helper sendiri dengan nama config_helper.php, jadi disini dimasukan dulu)

kemudian langskah selanjutnya yaitu membuat helper config, buat file config_helper.php di dalam folder helpers, yang isinya sebagai berikut :

function get_api($url)
{
  $base_url 	= $url;
  $result 	= file_get_contents($url);
  $show 		= json_decode($result);

  return $show;
}

fungsi diatas nanti akan kita pake buat ngambil data API-nya

kemudian selanjutnya buatlah file template.php di folder views yang isinya sample blank page di admin lte dan ubahlah link assets di dalamnya, menjadi kurang lebih seperti dibawah ini, kemudian hapus semua konten yang ada didalam <section class=”content”> dan ketikan <?php include $content;?>

<link rel="stylesheet" href="<?php echo base_url('assets/');?>bower_components/bootstrap/dist/css/bootstrap.min.css">
 <!-- Font Awesome -->
 <link rel="stylesheet" href="<?php echo base_url('assets/');?>bower_components/font-awesome/css/font-awesome.min.css">
 <!-- Ionicons -->
 <link rel="stylesheet" href="<?php echo base_url('assets/');?>bower_components/Ionicons/css/ionicons.min.css">
  <!-- DataTables -->
 <link rel="stylesheet" href="<?php echo base_url('assets/');?>bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css">
 <!-- Theme style -->
 <link rel="stylesheet" href="<?php echo base_url('assets/');?>dist/css/AdminLTE.min.css">
 <!-- AdminLTE Skins. Choose a skin from the css/skins
      folder instead of downloading all of them to reduce the load. -->
 <link rel="stylesheet" href="<?php echo base_url('assets/');?>dist/css/skins/_all-skins.min.css">

kemudian buka Controller Welcome.php dan kita ubah scriptnya menjadi dibawah ini :

public function index()
  {
    $data = array(
      'content' 	=> 'data/dashboard.php', // konten yang akan ditampilkan 
      'data_wil'	=> get_api('https://data.kpu.go.id/open/v1/api.php?cmd=election&wilayah_id')//sumber API
    );
    $this->load->view('template', $data);
  }

kemudian kita buat folder bernama data dan didalamnya buat file dashboard.php yang isinya :

<?php foreach ($data_wil->data as $a){ ?>

provinsi;?>
Jumlah Dapil : dapil;?> Jumlah Paslon : paslon;?> pro_id);?>" class="btn btn-primary form-control"> Detail
</div> </div> <?php } ?>

script diatas akan menampilkan data provinsi yang mengadakan pilkada

tampilannya kira-kira kayak gini

Tampilan Dashboard

kemudian buat controller Wilayah.php yang isinya

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

/**
* 
*/
class Wilayah extends CI_Controller
{
  
  function __construct()
  {
    parent::__construct();
  }

  function provinsi($id)
  {
    $id 	= $this->uri->segment(3);
    $data = array(
      'content' 		=> 'data/provinsi.php',
      'get_provinsi'	=> get_api("https://data.kpu.go.id/open/v1/api.php?cmd=election&wilayah_id=".$id),
      'get_pol'		=> get_api('https://data.kpu.go.id/open/v1/api.php?cmd=pollingstation_browse&wilayah_id='.$id),
      'id'			=> $id
    );

    $this->load->view('template', $data);
  }

  function dapil($id)
  {
    $idnya = $this->uri->segment(5);
    $data = array(
      'content' 	=> 'data/dapil.php',
      'get_dapil'	=> get_api("https://data.kpu.go.id/open/v1/api.php?cmd=constituency&constituency_id=".$idnya)

    );

    $this->load->view('template', $data);
  }


}

kemudian, tambahkan dulu settinga di routes.php yang ada di folder config, tambahkan script dibawah ini

$route['default_controller'] 		= 'welcome';
$route['404_override'] 				= '';
$route['translate_uri_dashes'] 		= FALSE;
$route['Wilayah/:any']				= 'Wilayah/provinsi/:any';
$route['Wilayah/provinsi/:any/dapil/:any']	= 'Wilayah/dapil/:any';

setelah itu buat provinsi.php dan dapil.php di dalam folder views>data

isi provinsi.php

wilayah ;?>
data as $a): $no++; $i++ ;?>
No Daerah Pemilihan Tipe Jml Paslon Jml Tps
constituency_id);?>">dapil;?> type);?> paslon;?> data[$no]->jumlah_tps;?>
</div>

isi dapil.php

data[0]->type)." ".$get_dapil->data[0]->dapil." - ".$get_dapil->data[0]->provinsi;?>
data as $a){ ?>
No Urut
nourut;?>
Calon data[0]->type =="pilbup"){ echo "Bupati";} elseif($get_dapil->data[0]->type=="pilwalkot"){ echo "Walikota";} elseif($get_dapil->data[0]->type=="pilgub"){echo "Gubernur";} ?> Calon Wakil data[0]->type =="pilbup"){ echo "Bupati";} elseif($get_dapil->data[0]->type=="pilwalkot"){ echo "Walikota";} elseif($get_dapil->data[0]->type=="pilgub"){echo "Gubernur";} ?>
calon;?> wakil;?>
Partai Pengusung endorsement); $i++){?> endorsement[$i];?>
<?php };?> </div> </div> </div>

Selamat mencoba.

download yang udah jadi disini
[wp_ad_camp_1]

Tulisan mengenai PHP/CI lainnya

Membuat URL lebih friendly
Limit kata dengan PHP
Membuat email register dengan captcha CI
Pengembangan sistem informasi Alumni dengan CI
Membuat blog sederhana dengan CI

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google+

You are commenting using your Google+ account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.