Cara menggunakan membuat api dengan python

Mengenal aplikasi postman udah menguji API yang kita buat selama tutorial ini dan basic dari Resource

  • Menyiapkan model

    Mempersiapkan database dan model dari API dengan flask

  • Database ke api

    Menampikan data-data dari database ke API dengan flask

  • Menggunakan blueprint

    Apa itu bluperint pada flask? dengan ini kita bisa membuat proyek jadi lebih rapi dan terstruktur

  • Reqparse dan post data

    Menerima request dari user dengan reqparse, bagaimana cara mengirim data dari postman ke API yang kita buat

  • Marshal dan marshal with

    Membuat format data json yang kita tampikan sebagai respon dengan mudah, dengan menggunakan marshal dan marshal with di flask

    Pada tutorial ini, kita akan belajar cara mengolah data JSON di Python dengan libraray

    # gunakan modul json
    import json
    
    # buka file JSON
    file_json = open("dataku.json")
    
    # prsing data JSON
    data = json.loads(file_json.read())
    
    # cetak isi data JSON
    print(data)
    2 dan juga nantinya kita akan mencoba mengambil data JSON dari Server API.

    Baiklah..

    Mari kita mulai!

    Cara Parsing JSON di Python

    Parsing artinya mengurai..

    Apa yang diurai?

    Ya data JSON-nya.

    Mengapa?

    Karena data tersebut belum bisa dibaca secara langsung di Python. Harus dilakukan parsing terlebih dahulu agar bisa kita pakai di dalam Python.

    Gimana caranya?

    Caranya:

    Kita bisa pakai modul

    # gunakan modul json
    import json
    
    # buka file JSON
    file_json = open("dataku.json")
    
    # prsing data JSON
    data = json.loads(file_json.read())
    
    # cetak isi data JSON
    print(data)
    2 yang sudah disediakan oleh Ptyhon.

    Mari kita coba..

    Buatlah file JSON baru dengan nama

    # gunakan modul json
    import json
    
    # buka file JSON
    file_json = open("dataku.json")
    
    # prsing data JSON
    data = json.loads(file_json.read())
    
    # cetak isi data JSON
    print(data)
    4—bisa dibuat dengan notepad dan teks editor lainnya—lalu isi file JSON-nya seperti ini:

    {
        "name" : "Petani Kode",
        "web" : "https://www.petanikode.com",
        "social_media": {
            "facebook" : "petanikode",
            "twitter" : "@petanikode",
            "instagram": "@petanikode"
        }
    }

    Pastikan format data JSON yang kamu tulis sudah benar. Lakukan validasi dengan JSONLint.

    Cara menggunakan membuat api dengan python

    Tujuannya, agar nanti bisa dibaca di dalam program. Kalau format JSON-nya tidak valid, bisa jadi ia tidak akan bisa dibaca.

    Oke..

    Setelah itu, buat file baru dengan nama

    # gunakan modul json
    import json
    
    # buka file JSON
    file_json = open("dataku.json")
    
    # prsing data JSON
    data = json.loads(file_json.read())
    
    # cetak isi data JSON
    print(data)
    5 dan isi dengan kode berikut:

    # gunakan modul json
    import json
    
    # buka file JSON
    file_json = open("dataku.json")
    
    # prsing data JSON
    data = json.loads(file_json.read())
    
    # cetak isi data JSON
    print(data)

    Oh iya, kedua file ini harus di simpan dalam satu folder yang sama.

    Cara menggunakan membuat api dengan python

    Mengapa?

    Karena kita melakukan

    # gunakan modul json
    import json
    
    # buka file JSON
    file_json = open("dataku.json")
    
    # prsing data JSON
    data = json.loads(file_json.read())
    
    # cetak isi data JSON
    print(data)
    6, yang artinya file JSON yang akan dibuka adalah file yang masih satu folder dengan file script python tersebut.

    Setelah itu, coba buka terminal dan jalankan program

    # gunakan modul json
    import json
    
    # buka file JSON
    file_json = open("dataku.json")
    
    # prsing data JSON
    data = json.loads(file_json.read())
    
    # cetak isi data JSON
    print(data)
    5.

    Maka hasilnya:

    Cara menggunakan membuat api dengan python

    Gampang kan?

    Note: Tutorial ini menggunakan Python 3, jika kamu menggunakan Python 2 mungkin tidak akan bisa dijalankan. Upgrade versi python yang kamu gunakan. Setidaknya versi

    # gunakan modul json
    import json
    
    # buka file JSON
    file_json = open("dataku.json")
    
    # prsing data JSON
    data = json.loads(file_json.read())
    
    # cetak isi data JSON
    print(data)
    8 ke atas.

    Varibel

    # gunakan modul json
    import json
    
    # buka file JSON
    file_json = open("dataku.json")
    
    # prsing data JSON
    data = json.loads(file_json.read())
    
    # cetak isi data JSON
    print(data)
    9 akan berisi sebuah dictionary dengan key dan value-nya akan mengikuti format dari JSON.

    Nah, sekarang.. kita modifikasi lagi programnya, ubahlah

    # cetak isi data JSON
    print(f"Nama: {data['name']}")
    print(f"Website: {data['web']}")
    print("Sosial Media:")
    print(f"- Facebook: {data['social_media']['facebook']}")
    print(f"- Twitter: {data['social_media']['twitter']}")
    print(f"- Instagram: {data['social_media']['instagram']}")
    0 menjadi seperti ini:

    # cetak isi data JSON
    print(f"Nama: {data['name']}")
    print(f"Website: {data['web']}")
    print("Sosial Media:")
    print(f"- Facebook: {data['social_media']['facebook']}")
    print(f"- Twitter: {data['social_media']['twitter']}")
    print(f"- Instagram: {data['social_media']['instagram']}")

    Sehingga kode lengkapnya akan menjadi seperti ini:

    import json
    
    # buka file JSON
    file_json = open("dataku.json")
    
    # prsing data JSON
    data = json.loads(file_json.read())
    
    # cetak isi data JSON
    print(f"Nama: {data['name']}")
    print(f"Website: {data['web']}")
    print("Sosial Media:")
    print(f"- Facebook: {data['social_media']['facebook']}")
    print(f"- Twitter: {data['social_media']['twitter']}")
    print(f"- Instagram: {data['social_media']['instagram']}")

    Coba eksekusi lagi, dan perhatikanlah hasilnya:

    Cara menggunakan membuat api dengan python

    Pada contoh ini.. kita menggunakan f-string (

    # cetak isi data JSON
    print(f"Nama: {data['name']}")
    print(f"Website: {data['web']}")
    print("Sosial Media:")
    print(f"- Facebook: {data['social_media']['facebook']}")
    print(f"- Twitter: {data['social_media']['twitter']}")
    print(f"- Instagram: {data['social_media']['instagram']}")
    1) untuk memformat hasil output, lalu mengambil data dari variabel
    # gunakan modul json
    import json
    
    # buka file JSON
    file_json = open("dataku.json")
    
    # prsing data JSON
    data = json.loads(file_json.read())
    
    # cetak isi data JSON
    print(data)
    9.

    Sampai di sini sudah paham?

    Bagus..

    Sekarang mari kita coba baca JSON dari web service atau API.

    Baca JSON dari Webservice dengan Python

    Karena data JSON berada di server API, maka kita membutuhkan modul tambahan, yakni

    # cetak isi data JSON
    print(f"Nama: {data['name']}")
    print(f"Website: {data['web']}")
    print("Sosial Media:")
    print(f"- Facebook: {data['social_media']['facebook']}")
    print(f"- Twitter: {data['social_media']['twitter']}")
    print(f"- Instagram: {data['social_media']['instagram']}")
    3.

    Modul

    # cetak isi data JSON
    print(f"Nama: {data['name']}")
    print(f"Website: {data['web']}")
    print("Sosial Media:")
    print(f"- Facebook: {data['social_media']['facebook']}")
    print(f"- Twitter: {data['social_media']['twitter']}")
    print(f"- Instagram: {data['social_media']['instagram']}")
    3 menyediakan fungsi
    # cetak isi data JSON
    print(f"Nama: {data['name']}")
    print(f"Website: {data['web']}")
    print("Sosial Media:")
    print(f"- Facebook: {data['social_media']['facebook']}")
    print(f"- Twitter: {data['social_media']['twitter']}")
    print(f"- Instagram: {data['social_media']['instagram']}")
    5 untuk melakukan HTTP Request ke Server. Ini akan kita manfaatkan untuk mengambil data JSON.

    Mari kita coba..

    API yang akan kita gunakan adalah API dari Github.

    Alamat URL endpoint-nya:

    https://api.github.com/users/ardianta

    Ini adalah endpoint untuk mengakses data profil github dengan username

    # cetak isi data JSON
    print(f"Nama: {data['name']}")
    print(f"Website: {data['web']}")
    print("Sosial Media:")
    print(f"- Facebook: {data['social_media']['facebook']}")
    print(f"- Twitter: {data['social_media']['twitter']}")
    print(f"- Instagram: {data['social_media']['instagram']}")
    6, kamu juga bisa mengganti dengan username Github-mu sendiri.

    Berikut ini hasil respon dari endpoint tersebut:

    Cara menggunakan membuat api dengan python

    Mari kita buat programnya..

    Buatlah file baru dengan nama

    # cetak isi data JSON
    print(f"Nama: {data['name']}")
    print(f"Website: {data['web']}")
    print("Sosial Media:")
    print(f"- Facebook: {data['social_media']['facebook']}")
    print(f"- Twitter: {data['social_media']['twitter']}")
    print(f"- Instagram: {data['social_media']['instagram']}")
    7 dan isilah dengan kode berikut:

    import json
    from urllib import request
    
    # tentukan url endpoint
    url = "https://api.github.com/users/ardianta"
    
    # lakukan http request ke server
    response = request.urlopen(url)
    
    # parsing data json
    data = json.loads(response.read())
    
    # cetak hasil parsing data
    print(data)

    Setelah itu, coba jalankan programnya.

    Maka hasilnya:

    Cara menggunakan membuat api dengan python

    Data JSON-nya sudah kita dapatkan.. yay!

    Berikutnya, kita akan ubah kode programnya agar bisa menampilkan data yang lebih rapi.

    Ubahlah kode

    # cetak isi data JSON
    print(f"Nama: {data['name']}")
    print(f"Website: {data['web']}")
    print("Sosial Media:")
    print(f"- Facebook: {data['social_media']['facebook']}")
    print(f"- Twitter: {data['social_media']['twitter']}")
    print(f"- Instagram: {data['social_media']['instagram']}")
    0 menjadi seperti ini:

    import json
    from urllib import request
    
    # tentukan url endpoint
    url = "https://api.github.com/users/ardianta"
    
    # lakukan http request ke server
    response = request.urlopen(url)
    
    # parsing data json
    data = json.loads(response.read())
    
    # cetak hasil parsing data
    print("== Program Baca profile Github ==")
    print(f"Nama: {data['name']}")
    print(f"Lokasi: {data['location']}")
    print(f"Institusi: {data['company']}")
    print(f"Folower: {data['followers']}")
    print(f"mendaftar github pada: {data['created_at']}")

    ..dan coba eksekusi lagi.

    Maka hasilnya:

    Cara menggunakan membuat api dengan python

    Gampang kan..

    Intinya:

    Langkah yang harus kamu ingat..

    1. Baca atau buka file JSON (bisa dari file dan server)
    2. Parsing
    3. Proses data (print, simpan, edit, dll)

    Nah, berikutnya kita akan coba membaca data JSON yang memiliki banyak item.

    Membaca JSON yang Memiliki Banyak Items

    Contoh program yang kita buat tadi, hanya membaca satu item saja yakni profil github dan profil pribadi.

    Lalu bagaimana caranya membaca data dari JSON yang berisi sekumpulan item?

    Contohnya seperti daftar atau list artikel.

    Gampang..

    Dala kasus ini, kita harus menggunakan perulangan.

    Mari kita coba!

    Kita akan menggunakan data JSON dari API jsonplaceholderdengan endpoint URL:

    https://jsonplaceholder.typicode.com/posts

    Contoh hasil respon dari endpoint tersebut:

    Cara menggunakan membuat api dengan python

    Ada sebanyak

    # cetak isi data JSON
    print(f"Nama: {data['name']}")
    print(f"Website: {data['web']}")
    print("Sosial Media:")
    print(f"- Facebook: {data['social_media']['facebook']}")
    print(f"- Twitter: {data['social_media']['twitter']}")
    print(f"- Instagram: {data['social_media']['instagram']}")
    9 item atau artikel dalam data JSON ini.

    Mari kita buat program untuk membacanya.

    Buatlah program baru dengan nama

    import json
    
    # buka file JSON
    file_json = open("dataku.json")
    
    # prsing data JSON
    data = json.loads(file_json.read())
    
    # cetak isi data JSON
    print(f"Nama: {data['name']}")
    print(f"Website: {data['web']}")
    print("Sosial Media:")
    print(f"- Facebook: {data['social_media']['facebook']}")
    print(f"- Twitter: {data['social_media']['twitter']}")
    print(f"- Instagram: {data['social_media']['instagram']}")
    0, kemudian isi dengan kode berikut:

    import json
    from urllib import request
    
    url = "https://jsonplaceholder.typicode.com/posts"
    
    # lakukan http request
    response = request.urlopen(url)
    
    # parsing data json
    data = json.loads(response.read())
    
    # gunakan perulangan untuk menampilkan data
    for i in range(len(data)):
        print(f"{i}. {data[i]['title']}")

    Setalah itu, coba jalankan programnya.

    Maka hasilnya:

    Cara menggunakan membuat api dengan python

    Berhasil..

    Kode tersebut juga bisa dibuat lebih sederhana menjadi seperti ini:

    # gunakan perulangan untuk menampilkan data
    for post in data:
        print(f"- {post['title']}")

    Latihan: Baca data Covid-19 dengan Python

    Sebagai latihan tambahan, kita akan coba membaca data statistik Covid-19 di Indonesia.

    API yang digunakan adalah API dari mathdroid:

    # gunakan modul json
    import json
    
    # buka file JSON
    file_json = open("dataku.json")
    
    # prsing data JSON
    data = json.loads(file_json.read())
    
    # cetak isi data JSON
    print(data)
    0

    Contoh hasil responnya:

    Cara menggunakan membuat api dengan python

    Mari kita buat programnya.

    Buatlah file baru dengan nama

    import json
    
    # buka file JSON
    file_json = open("dataku.json")
    
    # prsing data JSON
    data = json.loads(file_json.read())
    
    # cetak isi data JSON
    print(f"Nama: {data['name']}")
    print(f"Website: {data['web']}")
    print("Sosial Media:")
    print(f"- Facebook: {data['social_media']['facebook']}")
    print(f"- Twitter: {data['social_media']['twitter']}")
    print(f"- Instagram: {data['social_media']['instagram']}")
    1, kemudian isi dengan kode berikut:

    # gunakan modul json
    import json
    
    # buka file JSON
    file_json = open("dataku.json")
    
    # prsing data JSON
    data = json.loads(file_json.read())
    
    # cetak isi data JSON
    print(data)
    1

    Kita menggunakan

    import json
    
    # buka file JSON
    file_json = open("dataku.json")
    
    # prsing data JSON
    data = json.loads(file_json.read())
    
    # cetak isi data JSON
    print(f"Nama: {data['name']}")
    print(f"Website: {data['web']}")
    print("Sosial Media:")
    print(f"- Facebook: {data['social_media']['facebook']}")
    print(f"- Twitter: {data['social_media']['twitter']}")
    print(f"- Instagram: {data['social_media']['instagram']}")
    2, karena semua item di JSON-nya berada pada key
    # gunakan modul json
    import json
    
    # buka file JSON
    file_json = open("dataku.json")
    
    # prsing data JSON
    data = json.loads(file_json.read())
    
    # cetak isi data JSON
    print(data)
    9 .

    Cara menggunakan membuat api dengan python

    Sekarang kita coba eksekusi, maka hasilnya:

    Cara menggunakan membuat api dengan python

    Mantap 👍

    Apa Selanjutnya?

    Kini kamu sudah tahu cara membaca dan parsing data JSON di Python.

    Berikutnya silahkan latihan dengan JSON yang berbeda atau terpakan di dalam program yang sedang kamu buat.