HOME > Java Android > Android Native > Retrofit 2 #1 : Parsing Data Json menggunakan Android Retrofit Api dan tampilkan di Recyclerview dengan Cardview

Retrofit 2 #1 : Parsing Data Json menggunakan Android Retrofit Api dan tampilkan di Recyclerview dengan Cardview

Pandhu Wibowo 29 Oktober 2017
Java Android
Android Native

Pagi teman - teman, semalem saya coba dan belajar tentang parsing data dalam bentuk array yang berada di web lalu di tempatkan ke platform android. Nah pertanyaannya Bagaimana caranya? Ribet gak? Kali ini saya mau sharing yang di maksud diatas, dan praktiknya baru mengambil data dari web. Apa aja nih yang perlu kita ketahui untuk bisa seperti itu? Beberapa hal konsep yang harus kita perhatikan. Read sampai habis penjelasan di bawah ini.

1. API

Menurut WikipediaAPI (Application Programming Interface) adalah sekumpulan perintah, fungsi, serta protokol yang dapat digunakan oleh programmer saat membangun perangkat lunak untuk sistem operasi tertentu. API memungkinkan programmer untuk menggunakan fungsi standar untuk berinteraksi dengan sistem operasi. API dapat menjelaskan cara sebuah tugas (task) tertentu di lakukan. Dalam pemrograman prosedural seperti bahasa C, aksi biasanya dilakukan dengan media pemanggilan fungsi. Karena itu, API biasanya menyertakan penjelasan dari fungsi/rutin yang disediakannya. 

Dalam penjelasan lain adalah, API merupakan suatu dokumentasi yang terdiri dari interface, fungsi, kelas, struktur, dan sebagainya untuk membangun sebuah perangkat lunak. Dengan adanya API ini, maka memudahkan programmer untuk membongkar suatu software, kemudian dapat dikembangkan atau di integrasikan dengan perangkat lunak yang lain. API dapat dikatakan sebagai penghubung suatu aplikasi dengan aplikasi lainnya yang memungkinkan sistem function. 

Kalau menurut saya, API ini bisa dikatakan sebagai penghubung dengan sistem operasi lain, sebagai jembatan untuk menghubungkan data yang berada di sistem operasi yang satu ke sistem operasi yang lainnya. Misalnya, saya punya banyak data yang berada di sistem operasi yang berada di Linux tepatnya berada di website saya misalnya, nah saya mau data saya ini bisa berinteraksi dengan sistem operasi yang ada di android saya atau yang lain, yang berada di aplikasi android saya. Nah cara menghubungkannya itu bisa pakai yang namanya API. Bagaimana prosesnya mereka bekerja? Coba deh liat gambar di atas, cara kerjanya sama kaya yang ada di gambar. Aplikasi saya meminta/request ke web yang saya tuju, nah sama server yang berada di website itu mencari apa yang di requestkan sama lawan OSnya itu. Nah, pertanyaannya kok bisa si sekarang? Ya karena itu ada yang menjembatani semuanya, API itu sebagai jembatan yang memperantarakan data yang dari OS Android dan menyampaikannya ke server yang berada di website.

2. JSON

 

Apa lagi ini JSONJSON : JavaScript Object Notations.

JSON merupakan suatu syntax atau format untuk menyimpan data atau digunakan dalam sebuah proses pertukaran data. JSON merupakan sebuah format penukaran data yang mudah dibaca dan ditulis oleh manusia, serta mudah di terjemahkan serta dibuat oleh komputer. JSON tidak bergantung dengan bahasa pemrograman apapun. Apapun bahasa pemrograman yang mendukung untuk bisa di buat menjadi bentuk JSON, itu bisa dilakukan. Balik lagi ke Wikipedia, JSON (Jason) adalah suatu format ringkas pertukaran data komputer. Formatnya berbasis teks dan terbaca-manusia serta digunakan untuk merepresentasikan struktur data sederhana dan larik asosiatif(disebut objek). Format JSON sering digunakan untuk menstranmisikan data terstruktur melalui suatu koneksi jaringan pada suatu proses yang disebut serialisasi. Aplikasi utamanya adalah pada pemrograman aplikasi web AJAX dengan berperan sebagai alternatif terhadap penggunaan tradisional format XML. Oleh karena sifat - sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran data : 

  1. JSON adalah singkatan dari JavaScript Object Notation
  2. Format ini ditentukan oleh Douglas Crockford
  3. JSON dirancang untuk format pertukaran data yang mudah untuk di baca manusia.
  4. JSON diperpanjang (extended) dari bahasa scripting JavaScript.
  5. Ekstensi nama filenya adalah .json
  6. Uniform Type Identifier adalah public.json

Contoh sintaksnya kaya gini nih : 

 [
  {
    "productid": "1",
    "productname": "Sony Bravia Television HD",
    "price": "24490",
    "instock": "12",
    "offer": "yes",
    "color": "Black",
    "imageurl": "https://n3.sdlcdn.com/imgs/b/d/e/Sony-Bravia-KLV-24P413D-60-SDL778226353-1-3cc4f.jpg"
  },
  {
    "productid": "2",
    "productname": "Samsung HD Ready Television",
    "price": "11399",
    "instock": "15",
    "offer": "yes",
    "color": "Silver",
    "imageurl": "https://n4.sdlcdn.com/imgs/e/o/f/24K4100_M_1_3x-432ee.jpg"
  },
  {
    "productid": "3",
    "productname": "Vivo V5-S Smart phone",
    "price": "19999",
    "instock": "100",
    "offer": "yes",
    "color": "Black/White",
    "imageurl": "http://images.fonearena.com/blog/wp-content/uploads/2017/04/Vivo-V5s-1024x600.jpg"
  },
  {
    "productid": "4",
    "productname": "Mi 3s Prime Smart phone",
    "price": "8999",
    "instock": "100",
    "offer": "No",
    "color": "Black/Golden/Silver",
    "imageurl": "http://i01.appmifile.com/webfile/globalimg/en/goods/hongmi3s/overall-intro-bg-3s.jpg"
  },
  {
    "productid": "5",
    "productname": "Mi Note 3 Smart phone",
    "price": "12999",
    "instock": "50",
    "offer": "No",
    "color": "Black/Golden/Silver",
    "imageurl": "http://st1.bgr.in/wp-content/uploads/2016/03/xiaomi-redmi-note-3-india-sale.jpg"
  },
  {
    "productid": "6",
    "productname": "Lenovo Core i3 6th Gen",
    "price": "24,990",
    "instock": "50",
    "offer": "No",
    "color": "Black",
    "imageurl": "https://rukminim1.flixcart.com/image/832/832/computer/k/3/y/lenovo-notebook-original-imaery672hsumujs.jpeg"
  },
  {
    "productid": "7",
    "productname": "iVoltaa VONGENX Selfie Stick",
    "price": "339",
    "instock": "50",
    "offer": "No",
    "color": "Black",
    "imageurl": "https://rukminim1.flixcart.com/image/832/832/selfie-stick/v/j/z/vongenx-ivoltaa-original-imaefy8gzumhfpak.jpeg"
  },
  {
    "productid": "8",
    "productname": "Intex IT-PB11K 11000 mAh Power Bank",
    "price": "929",
    "instock": "10",
    "offer": "No",
    "color": "Black",
    "imageurl": "https://rukminim1.flixcart.com/image/832/832/power-bank/g/d/g/power-bank-it-pb11k-intex-original-imaeqfwtbcvkd9m6.jpeg"
  }
]

Nah, itu salah satu JSON yang ada di website ini nih. Dari sini, Keunggulannya : 

JSON memiliki beberapa keunggulan dibandingkan dengan XML terutama dapat penggunaan aplikasi AJAX. Beberapa kelebihan JSON antara lain : 

  • JSON lebih ringkas, cepat, dan mudah.
  • JSON tidak menggunakan tag penutup.
  • JSON lebih cepat untuk dibaca dan ditulis.
  • JSON dapat menggunakan array.
  • JSON tidak perlu menggunakan parser khusus untuk diubah menjadi sebuah objek, melainkan hanya perlu menggunakan function default dari JavaScript.

Mungkin disini saya sharingnya, nanti ada versi ke duanya dengan langsung prakteknya. Tunggu tulisan saya berikutnya ya. Oiya, kalau ada yang salah silahkan comment di bawah dan mohon di perbaiki ya. Semoga bermanfaat dan baca - baca juga sumber yang lain ya biar makin mantap dan paham banget.

Oke sekian dulu, next tulisannya langsung prakteknya.

Wassalamu'alaikum. Terima kasih sudah berkunjung.

Bisa dilihat dan didownload di :