Halo semuanya, kembali lagi di tulisan saya. Baiklah pada kesempatan kali ini kita akan belajar cara membuat bar chart atau diagram batang dengan menggunakan bahasa pemrograman php dan data api corona Indonesia. Penasaran?, ayo ikuti selengkapnya berikut ini.
Pada artikel tutorial kali ini kita akan membuat sebuah diagram batang yang datanya bersumber dari data.covid19.go.id. Data covid ini aktual dan terpercaya, karena sumbernya dari pemerintah langsung. Di dalam diagram batang nanti kita akan menampilkan sebaran corona di Indonesia berdasarkan masing-masing provinsi. Untuk hasilnya, bisa kalian lihat langsung di akhir artikel tutorial ini.
Berikut ini adalah tampilan data api yang kita ambil dari https://data.covid19.go.id/public/api/prov.json, data yang kita butuhkan adalah data provinsi yang nantinya akan menjadi label dan data jumlah kasus yang nantinya akan dipresentasikan sebagai bar atau batang.
|
Data covid di Indonesia |
Data yang terlihat pada gambar di atas adalah data yang sudah diformat menggunakan chrome extension yang bernama JSON Viewer. Jadi jika hasil data api yang tampak di google chrome kalian berantakan silahkan install chrome extension yang saya rekomendasikan di atas agar tampilannya lebih rapih dan mudah dibaca.
📰 1. Study Case : Membuat Website Berita dengan menggunakan NewsAPI dan Bootstrap read more |
📰 2. Cara Memuat Website Pencarian Trending dengan Google Trends dan Php read more |
📰 3. Apa itu Brute Force Attack dan Berikut Tips Manjur Untuk Mencegahnya Komputer read more |
Cara Membuat Diagram Batang dengan Chart Js dan Bahasan Php
1. Buatlah sebuah folder baru dengan nama diagram_corona di dalam folder htdocs. Lalu buat file dengan nama index.php di dalamnya. Silahkan copy script di bawah ini dan paste ke dalam file terebut.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css"
integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l" crossorigin="anonymous">
</head>
<body>
<div class="container mt-4">
<nav class="navbar navbar-light bg-light mb-4">
<span class="navbar-brand mb-0 h1"> Grafik Corona</span>
</nav>
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-body">
<canvas id="myChart2"></canvas>
</div>
</div>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<script>
var myChart2 = new Chart(
document.getElementById('myChart2'),
{
type: 'bar',
data: {
labels: ['label 1', 'label 2'],
datasets: [{
label: 'Jumlah Sebaran Corona Per-Provinsi',
data: [10, 20],
backgroundColor: [
'rgb(255, 99, 132)',
],
hoverOffset: 4
}]
}
}
);
</script>
</body>
</html>
Jika kalian jalankan, maka hasilnya akan tampak seperti gambar di bawah ini.Yaitu tampilan sederhana dengan header 'grafik corona' lalu di bawahnya terdapat diagram batang.
|
Contoh diagram dengan data dummy |
Data yang tampak pada gambar di atas adalah data dummy, nantinya akan kita ganti dengan data api yang sebenarnya. Bar atau batang pada gambar di atas akan kita ganti menjadi total kasus, sedangkan label yang berada di bawah batang tersebut akan kita ganti dengan nama-nama provinsi.
2. Tambahkan script php di bawah ini di bawah tag <body>. Script ini berfungsi untuk mengambil data json yang nantinya siap digunakan ke dalam grafik.
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://data.covid19.go.id/public/api/prov.json");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($curl);
curl_close($curl);
$data = json_decode($output, true);
?>
Untuk penjelasannya sudah saya sertakan pada script di atas. Tapi jika kalian merasa kurang paham, silahkan tanya langsung di kolom komentar di bawah ini.
3. Langkah selanjutnya adalah menampilkan data provinsi dan jumlah kasus ke dalam chart. Silahkan copy script di bawah ini dan replace script labels: ['label 1', 'label 2'],
labels: [
<?php
foreach($data['list_data'] as $provinsi){
echo '"'.$provinsi['key'].'",';
}
?>
],
4. Langkah selanjtunya adalah menampilkan jumlah kasus di tiap provinsi. Silahkan copy script di bawah ini dan replace script data: [10, 20],
data: [
<?php
foreach($data['list_data'] as $kasus){
echo '"'.$kasus['jumlah_kasus'].'",';
}
?>
],
Sekarang jalankan project kalian, jika berhasil maka tampilannya akan tampak seperti gambar di bawah ini.
|
Hasil Akhir |
Bagi yang kesulitan mengikuti tahapan di atas, saya sediakan script lengkapnya di bawah ini.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css"
integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l" crossorigin="anonymous">
</head>
<body>
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://data.covid19.go.id/public/api/prov.json");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($curl);
curl_close($curl);
$data = json_decode($output, true);
?>
<div class="container mt-4">
<nav class="navbar navbar-light bg-light mb-4">
<span class="navbar-brand mb-0 h1"> Grafik Corona</span>
</nav>
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-body">
<canvas id="myChart2"></canvas>
</div>
</div>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script>
var myChart2 = new Chart(
document.getElementById('myChart2'),
{
type: 'bar',
data: {
labels: [
<?php
foreach($data['list_data'] as $provinsi){
echo '"'.$provinsi['key'].'",';
}
?>
],
datasets: [{
label: 'Jumlah Sebaran Corona Per-Provinsi',
//data akan diganti dengan data api pada script berikutnya
data: [
<?php
foreach($data['list_data'] as $kasus){
echo '"'.$kasus['jumlah_kasus'].'",';
}
?>
],
//semua bar akan diwarnai dengan warna merah
backgroundColor: [
'rgb(255, 99, 132)',
],
hoverOffset: 4
}]
}
}
);
</script>
</body>
</html>
Sekian tutorial cara membuat diagram batang chart js, php dan data api corona Indonesia. Semoga tutorial ini bermanfaat. Jika ada yang ingin ditanyakan silahkan tanya langsung di kolom komentar di bawah ini. Sampai jumpa di tutorial menarik lainnya.
Posting Komentar