BLANTERWISDOM101

Membuat Program Menampilkan Data Covid19 Sederhana Menggunakan NodeJS

Senin, 10 Mei 2021


Data coronavirus mungkin banyak dibutuhkan di tahun - tahun ini. Data ini mungkin sangat penting diketahui untuk para khalayak ramai dan penting digunakan para web developer menyebarkan informasinya.

Oke, ketika kamu gabut dan tidak ada pekerjaan lain, maka solusi terbĂ ik adalah ngoding. Jadi kita akan membuatbprogram sederhana menampilkan data coronavirus yang ada di Indonesia, baik jumlah positif terkena, jumlah meninggal, dan kesembuhan total.

Install Module

Module yang dibutuhkan hanya satu, yaitu axios sebagai module untuk meminta request atau mengirim http request terhadap server. Karena data berasal dari API sebuah web yaitu pada url berikut. Kita akan mengirim request berupa get.

Maka, install terlebih dahulu module dengan cara:

npm i axios

Maka axios akan diinstall otomatis oleh mesin.


Pembuatan

Pertama, kita buat variabel tipe konstanta untuk mengimport module axios. Nama variabel sesuai keinginan ya.. Seperti di bawah:
1
const req = require('axios')

Lalu kita lakukan pengiriman HTTP request mengggunakan metode GET data dari url API yang disediakan.
1
2
3
const req = require('axios')

req.get("https://indonesia-covid-19.mathdro.id/api/provinsi/")


Jika sudah, pada line berikutnya kita buat variabel sub class fungsi menggunakan .then(). Sebelumnya, kita buat misalkan dulj variabel respon dari request yang kita buat adalah "res" dan hasil dari "res" adalah data berupa json seperti berikut:
 {"data":[{"fid":11,"kodeProvi":31,"provinsi":"DKI Jakarta","kasusPosi":406205,"kasusSemb":393166,"kasusMeni":6625},{"fid":12,"kodeProvi":32,"provinsi":"Jawa Barat","kasusPosi":277553,"kasusSemb":243650,"kasusMeni":3678},{"fid":13,"kodeProvi":33,"provinsi":"Jawa Tengah","kasusPosi":183027,"kasusSemb":162823,"kasusMeni":8001},{"fid":15,"kodeProvi":35,"provinsi":"Jawa Timur","kasusPosi":146808,"kasusSemb":134525,"kasusMeni":10600},{"fid":23,"kodeProvi":64,"provinsi":"Kalimantan Timur","kasusPosi":68136,"kasusSemb":64718,"kasusMeni":1631},{"fid":27,"kodeProvi":73,"provinsi":"Sulawesi Selatan","kasusPosi":61419,"kasusSemb":60164,"kasusMeni":931},{"fid":16,"kodeProvi":36,"provinsi":"Banten","kasusPosi":47101,"kasusSemb":43892,"kasusMeni":1200},{"fid":17,"kodeProvi":51,"provinsi":"Bali","kasusPosi":44236,"kasusSemb":41608,"kasusMeni":1317},{"fid":4,"kodeProvi":14,"provinsi":"Riau","kasusPosi":42698,"kasusSemb":37374,"kasusMeni":1050},{"fid":14,"kodeProvi":34,"provinsi":"Daerah Istimewa Yogyakarta","kasusPosi":38703,"kasusSemb":33636,"kasusMeni":948},{"fid":3,"kodeProvi":13,"provinsi":"Sumatera Barat","kasusPosi":36268,"kasusSemb":33058,"kasusMeni":783},{"fid":22,"kodeProvi":63,"provinsi":"Kalimantan Selatan","kasusPosi":32612,"kasusSemb":29518,"kasusMeni":937},{"fid":2,"kodeProvi":12,"provinsi":"Sumatera Utara","kasusPosi":29198,"kasusSemb":25952,"kasusMeni":965},{"fid":33,"kodeProvi":94,"provinsi":"Papua","kasusPosi":20308,"kasusSemb":11223,"kasusMeni":207},{"fid":6,"kodeProvi":16,"provinsi":"Sumatera Selatan","kasusPosi":20068,"kasusSemb":17712,"kasusMeni":979},{"fid":21,"kodeProvi":62,"provinsi":"Kalimantan Tengah","kasusPosi":19780,"kasusSemb":16577,"kasusMeni":442},{"fid":25,"kodeProvi":71,"provinsi":"Sulawesi Utara","kasusPosi":15638,"kasusSemb":12961,"kasusMeni":504},{"fid":19,"kodeProvi":53,"provinsi":"Nusa Tenggara Timur","kasusPosi":14200,"kasusSemb":12468,"kasusMeni":366},{"fid":8,"kodeProvi":19,"provinsi":"Bangka Belitung","kasusPosi":12822,"kasusSemb":11272,"kasusMeni":201},{"fid":26,"kodeProvi":72,"provinsi":"Sulawesi Tengah","kasusPosi":12125,"kasusSemb":11109,"kasusMeni":325},{"fid":24,"kodeProvi":65,"provinsi":"Kalimantan Utara","kasusPosi":11702,"kasusSemb":10978,"kasusMeni":186},{"fid":9,"kodeProvi":18,"provinsi":"Lampung","kasusPosi":10838,"kasusSemb":9581,"kasusMeni":253},{"fid":1,"kodeProvi":11,"provinsi":"Aceh","kasusPosi":10814,"kasusSemb":9367,"kasusMeni":432},{"fid":28,"kodeProvi":74,"provinsi":"Sulawesi Tenggara","kasusPosi":10396,"kasusSemb":9818,"kasusMeni":209},{"fid":18,"kodeProvi":52,"provinsi":"Nusa Tenggara Barat","kasusPosi":10291,"kasusSemb":7750,"kasusMeni":373},{"fid":10,"kodeProvi":21,"provinsi":"Kepulauan Riau","kasusPosi":9381,"kasusSemb":8801,"kasusMeni":230},{"fid":34,"kodeProvi":91,"provinsi":"Papua Barat","kasusPosi":8879,"kasusSemb":8371,"kasusMeni":147},{"fid":31,"kodeProvi":81,"provinsi":"Maluku","kasusPosi":7515,"kasusSemb":7056,"kasusMeni":116},{"fid":20,"kodeProvi":61,"provinsi":"Kalimantan Barat","kasusPosi":7503,"kasusSemb":6548,"kasusMeni":43},{"fid":5,"kodeProvi":15,"provinsi":"Jambi","kasusPosi":7407,"kasusSemb":5987,"kasusMeni":108},{"fid":7,"kodeProvi":17,"provinsi":"Bengkulu","kasusPosi":6630,"kasusSemb":5743,"kasusMeni":172},{"fid":30,"kodeProvi":76,"provinsi":"Sulawesi Barat","kasusPosi":5443,"kasusSemb":5251,"kasusMeni":118},{"fid":29,"kodeProvi":75,"provinsi":"Gorontalo","kasusPosi":5355,"kasusSemb":4990,"kasusMeni":161},{"fid":32,"kodeProvi":82,"provinsi":"Maluku Utara","kasusPosi":4414,"kasusSemb":4117,"kasusMeni":120},{"fid":35,"kodeProvi":0,"provinsi":"Indonesia","kasusPosi":0,"kasusSemb":0,"kasusMeni":0}]}

Maka, siaplah sudah variabel kita dengan masing2 key adalah "provinsi","kasusPosi","kasusSemb", dan "kasusMeni". Data array 3 dimensi sepertinya. 
Jadi variabel yang seharusnya kita buat berupa:
  • res.data.data[index].provinsi
  • res.data.data[index].kasusPosi
  • res.data.data[index].kasusSemb
  • res.data.data[index].kasusMeni
Pada index adalah urutan data array maka kita bisa menggunakan loop for untuk ini. Sebelumnya untuk menjadikan pada di satu teks kalimat atau agar tidak printout satu - satu maka kita akan membuat variabel terlebih dahulu, dalam kasus ini, "teks", lalu kita akan gunakan operator += untuk menambahkan data hasil loop tersebut. Dan kita printout data dalam variabel "text" maka dengan ini program akan printout pada satu blok data yaitu variabel "teks".
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
const req = require('axios')

req.get("https://indonesia-covid-19.mathdro.id/api/provinsi/")
  .then((res) => {
    var teks = ""
    for(var i=0;i<(res.data.data.length - 1);i++){
        teks += `*Provinsi ${res.data.data[i].provinsi}*
Positif: ${res.data.data[i].kasusPosi}
Sembuh: ${res.data.data[i].kasusSemb}
Meninggal: ${res.data.data[i].kasusMeni}

`
    }
    console.log(teks)
  })


Maka, jadilah program sederhana ini. Simpan program dengan nama coronadata.js atau berikan nama dari kamu sendiri. Sekarang jalankan program dengan cara:
node coronadata.js

Maka, seharusnya program berhasil menpilkan output seperti pada contoh berikut:
*Provinsi DKI Jakarta*
Positif: 406205
Sembuh: 393166
Meninggal: 6625

*Provinsi Jawa Barat*
Positif: 277553
Sembuh: 243650
Meninggal: 3678

*Provinsi Jawa Tengah*
Positif: 183027
Sembuh: 162823
Meninggal: 8001

*Provinsi Jawa Timur*
Positif: 146808
Sembuh: 134525
Meninggal: 10600

*Provinsi Kalimantan Timur*
Positif: 68136
Sembuh: 64718
Meninggal: 1631

*Provinsi Sulawesi Selatan*
Positif: 61419
Sembuh: 60164
Meninggal: 931

*Provinsi Banten*
Positif: 47101
Sembuh: 43892
Meninggal: 1200

*Provinsi Bali*
Positif: 44236
Sembuh: 41608
Meninggal: 1317

*Provinsi Riau*
Positif: 42698
Sembuh: 37374
Meninggal: 1050

*Provinsi Daerah Istimewa Yogyakarta*
Positif: 38703
Sembuh: 33636
Meninggal: 948

*Provinsi Sumatera Barat*
Positif: 36268
Sembuh: 33058
Meninggal: 783

*Provinsi Kalimantan Selatan*
Positif: 32612
Sembuh: 29518
Meninggal: 937

*Provinsi Sumatera Utara*
Positif: 29198
Sembuh: 25952
Meninggal: 965

*Provinsi Papua*
Positif: 20308
Sembuh: 11223
Meninggal: 207

*Provinsi Sumatera Selatan*
Positif: 20068
Sembuh: 17712
Meninggal: 979

*Provinsi Kalimantan Tengah*
Positif: 19780
Sembuh: 16577
Meninggal: 442

*Provinsi Sulawesi Utara*
Positif: 15638
Sembuh: 12961
Meninggal: 504

*Provinsi Nusa Tenggara Timur*
Positif: 14200
Sembuh: 12468
Meninggal: 366

*Provinsi Bangka Belitung*
Positif: 12822
Sembuh: 11272
Meninggal: 201

*Provinsi Sulawesi Tengah*
Positif: 12125
Sembuh: 11109
Meninggal: 325

*Provinsi Kalimantan Utara*
Positif: 11702
Sembuh: 10978
Meninggal: 186

*Provinsi Lampung*
Positif: 10838
Sembuh: 9581
Meninggal: 253

*Provinsi Aceh*
Positif: 10814
Sembuh: 9367
Meninggal: 432

*Provinsi Sulawesi Tenggara*
Positif: 10396
Sembuh: 9818
Meninggal: 209

*Provinsi Nusa Tenggara Barat*
Positif: 10291
Sembuh: 7750
Meninggal: 373

*Provinsi Kepulauan Riau*
Positif: 9381
Sembuh: 8801
Meninggal: 230

*Provinsi Papua Barat*
Positif: 8879
Sembuh: 8371
Meninggal: 147

*Provinsi Maluku*
Positif: 7515
Sembuh: 7056
Meninggal: 116

*Provinsi Kalimantan Barat*
Positif: 7503
Sembuh: 6548
Meninggal: 43

*Provinsi Jambi*
Positif: 7407
Sembuh: 5987
Meninggal: 108

*Provinsi Bengkulu*
Positif: 6630
Sembuh: 5743
Meninggal: 172

*Provinsi Sulawesi Barat*
Positif: 5443
Sembuh: 5251
Meninggal: 118

*Provinsi Gorontalo*
Positif: 5355
Sembuh: 4990
Meninggal: 161

*Provinsi Maluku Utara*
Positif: 4414
Sembuh: 4117
Meninggal: 120

Share This :
Arya Kresna

Hanya seorang pelajar yang hobi nya membuat kode dan berharap karya nya bermanfaat bagi orang lain.

0 komentar