Kepo
  • Berita
    • Bisnis
  • Lifestyle
    • Foto
    • Health
    • Hobi
    • Otomotif
    • Parenting
    • Produktivitas
  • Food & Travel
    • Resep Masak
    • Travel
  • Teknologi
    • Aplikasi
    • Gadget
    • Open Source
    • Programming
No Result
View All Result
  • Login
  • Register
  • Berita
    • Bisnis
  • Lifestyle
    • Foto
    • Health
    • Hobi
    • Otomotif
    • Parenting
    • Produktivitas
  • Food & Travel
    • Resep Masak
    • Travel
  • Teknologi
    • Aplikasi
    • Gadget
    • Open Source
    • Programming
No Result
View All Result
Kepo
No Result
View All Result
Home Teknologi Programming

Pengenalan GraphQL

GraphQL merupakan “bahasa” query yang diciptakan oleh Facebook pada tahun 2012 untuk mempermudah komunikasi antara client dan server dalam mengambil dan memanipulasi data.

Rahadian Hadi by Rahadian Hadi
10 Juli 2020
in Programming, Teknologi
Reading Time: 5min read
0
GraphQL
1
SHARES
131
VIEWS
Share on FacebookShare on Twitter

Query GraphQL adalah string yang diinterpretasikan oleh server yang mengembalikan data dalam format tertentu. Misalnya, kamu memiliki aplikasi media sosial dan ingin menampilkan daftar teman beserta nama dan alamat teman-teman kamu. Client application akan melakukan proses seperti ini:

  • Meminta data daftar teman diambil dari database.
  • Ditampilkan di client.
  • Kembali mengambil data nama.
  • Ditampilkan di client lagi.
  • Mengambil data lokasi dari database yang sama.
  • Ditampilkan di client lagi.

Dan begitu seterusnya. Proses bolak-balik seperti sedang bermain pingpong. Kelemahannya, karena aksi tersebut dilakukan di client application, maka aplikasi mobile kamu rentan mengalami crash.

Contoh dalam perintah REST:
GET /users/1/friends/
GET /friends/{ID}
GET /location/{ID}

Sementara kalau kamu menggunakan GraphQL, aktifitas hanya dilakukan satu kali request. Contohnya seperti di bawah ini:

{

    user(id: 1)

    {

        nickname

        friends(limit:10)

        {

 Nickname
Location

        }

    }

}

Dengan GraphQL, seorang developer mobile apps dan frontend bisa ‘sesuka hati’ dalam menentukan data apa saja yang dibutuhkan dan disesuaikan dengan komponen aplikasi yang sedang dikerjakan, tidak tergantung kepada sisi backend. Jika pada REST API konvensional diwajibkan untuk mendeklarasikan setiap request yang diminta dengan perintah GET untuk mengambil data, POST untuk menambah data dan seterusnya.

Mungkin pada enginer Facebook memahami keragaman query, intinya satu jua, yaitu menampilkan data. Untuk itu mereka menyatukan semua perbedaan request dalam satu bahasa, yaitu bahasa GraphQL. Tidak ada perintah GET, PUT, POST, dan DELETE di GraphQL, selama request yang dilakukan dalam format graph query language maka sisi backend akan paham apa yang diminta oleh klien. Enaknya lagi, GraphQL tidak hanya berjalan pada interface HTTP, namun juga bisa berjalan pada interface yang lain, seperti SSH, Telnet, bahkan CLI command. Selain itu, GraphQL tidak tergantung pada bahasa pemrograman dan database apapun. Cukup banyak bahasa pemrograman yang mendukung GraphQL, seperti PHP, JS, .Net, Go, Java, Python, dan yang lainnya yang dapat Anda lihat di: http://graphql.org/code/. 

Bisa dibayangkan proses GraphQL sebagai berikut:
Frontend / Mobile (melakukan request) → GraphQL (sebagai penerjemah) → Backend (bisa JS, PHP, Go, Python) → Data Source (bisa MySql, MongoDB, Redis, bahkan URL endpoint eksternal).

Implementasi

Instal terlebih dahulu Graphene (python library) untuk menggunakan GraphQL APIs. Ketikkan perintah berikut untuk menginstal: pip install graphene. Kemudian ketikkan python hello.py yang berisi kode di bawah ini:

Baca Juga:

Arstitektur RESTful

import graphene

class Query(graphene.ObjectType):
  hello = graphene.String()

  def resolve_hello(self, args, context, info):
    return ‘Hello world!’

schema = graphene.Schema(query=Query)
result = schema.execute(‘{ hello }’)
print(result.data[‘hello’])

Referensi

  1. http://degananda.com/mengenal-graphql-query-language/
  2. http://graphql.org/learn/

Bagikan ini:

  • Klik untuk berbagi di WhatsApp(Membuka di jendela yang baru)
  • Klik untuk berbagi pada Twitter(Membuka di jendela yang baru)
  • Klik untuk membagikan di Facebook(Membuka di jendela yang baru)
  • Klik untuk berbagi di Linkedln(Membuka di jendela yang baru)
  • Klik untuk berbagi di Telegram(Membuka di jendela yang baru)

Menyukai ini:

Suka Memuat...

Terkait

Tags: DeveloperGraphQLQueryRESTFul
ShareTweetSendSend
Previous Post

Apple WWDC Tahun ini Hadir Secara Online, Acara Masih Berlangsung Selama 5 hari

Next Post

Membuat Alert Log di Telegram

Rahadian Hadi

Rahadian Hadi

HALO! Saya Rahadian Hadi. Saya di sini karena saya suka koding. Anda dapat menemukan saya di: @rahadianhadi

Related Posts

Tools Pilihan untuk SEO
Aplikasi

Tools Pilihan untuk SEO: Dapat Mengoptimalkan Websitemu

23 Januari 2021
49
Apakah Apple akan mengeluarkan iPhone  Lipat (Folding Phone)?
Gadget

Apakah Apple akan mengeluarkan iPhone Lipat (Folding Phone)?

7 Januari 2021
89
uninstall flash player
Aplikasi

Ini Dia Cara Uninstall Adobe Flash Player di Windows dan Mac

6 Januari 2021
124
Adobe Flash Player Tutup
Aplikasi

Uninstall Segera, Adobe Flash Player Resmi Dimatikan

5 Januari 2021
68
Apple Produk 2020
Gadget

5 Produk Apple Terbaik di Tahun 2020 yang Mencuri Perhatian

31 Desember 2020
91
Shortcut Keyboard di Mac OS
Aplikasi

Tips & Trik: Shortcut Keyboard Untuk Pengguna Mac OS

28 Desember 2020
95
Cara Charger laptop
Gadget

Mau Tahu Cara Charge Laptop Agar Baterai dan Charger Awet?

22 Desember 2020
107
Oracle Database Archive Log
Teknologi

Oracle Database: Fungsi dari Archive Log

11 Desember 2020
87
Integrasi ETL vs ELT
Aplikasi

Mengenal Metode Integrasi di Level Data – ETL vs ELT

8 Desember 2020
135
Next Post
Bot Father

Membuat Alert Log di Telegram

Harga Playstation 5 Edisi Digital Berpotensi Lebih Terjangkau, Akses Lebih Mudah

Harga Playstation 5 Edisi Digital Berpotensi Lebih Terjangkau, Akses Lebih Mudah

Please login to join discussion
5 Berita Hari Ini:  Perpanjang SIM dan Daffa Jenaro Muchtar

5 Berita Hari Ini: Perpanjang SIM dan Daffa Jenaro Muchtar

by Kepo
14 April 2021
0
7

Resep Krengsengan

Resep Krengsengan Daging Sapi, Cocok untuk Menu Buka Puasa

by Masak Yuk
14 April 2021
0
11

5 Berita Hari Ini: Jack Dorsey dan SBY

5 Berita Hari Ini: Jack Dorsey dan SBY

by Kepo
13 April 2021
0
11

Teknik Pomodoro

Teknik Pomodoro, Fokus Bekerja Produktif

by dezen
13 April 2021
0
13

Recommended Stories

Resep Tekwan Udang

Resep Tekwan Udang Khas Palembang Gurih dan Lezat

19 Maret 2021
20
Tips & Tricks Auto Chess / Chess Rush

Tips & Tricks Auto Chess / Chess Rush

26 September 2020
85
5 Berita Hari Ini: Atta Halilintar dan Raline Shah

5 Berita Hari Ini: Atta Halilintar dan Raline Shah

4 April 2021
22

Popular Stories

  • Badan Usaha di Indonesia

    Bentuk Usaha Badan Hukum dan Bukan Badan Hukum

    1 shares
    Share 0 Tweet 0
  • Resep Wool Roll Bread yang Kekinian!

    21 shares
    Share 0 Tweet 0
  • Tools ETL Open Source, Mempermudah Integrasi Data

    1 shares
    Share 0 Tweet 0
  • Apakah Ujian, Adzab dan Istidraj sama?

    859 shares
    Share 0 Tweet 0
  • Resep Krengsengan Daging Sapi, Cocok untuk Menu Buka Puasa

    0 shares
    Share 0 Tweet 0

Kepo

Kepo.co adalah media komunitas yang mewadahi tulisan dari kontributor berisikan konten bermanfaat dan menghibur.

Kategori

  • Aplikasi
  • Berita
  • Bisnis
  • Community
  • Creaticity
  • CRF Rally Jabar
  • Food & Travel
  • Foto
  • Gadget
  • Health
  • Hobi
  • Lifestyle
  • Masak
  • Open Source
  • Otomotif
  • Parenting
  • Produktivitas
  • Programming
  • Resep Masak
  • Teknologi
  • Travel
  • Travelling
  • Tren Terbaru
  • World
5 Berita Hari Ini:  Perpanjang SIM dan Daffa Jenaro Muchtar

5 Berita Hari Ini: Perpanjang SIM dan Daffa Jenaro Muchtar

14 April 2021
Resep Krengsengan

Resep Krengsengan Daging Sapi, Cocok untuk Menu Buka Puasa

14 April 2021
5 Berita Hari Ini: Jack Dorsey dan SBY

5 Berita Hari Ini: Jack Dorsey dan SBY

13 April 2021

© 2020 Kepo - All Rights Reserved.

No Result
View All Result
  • Berita
    • Bisnis
  • Lifestyle
    • Foto
    • Health
    • Hobi
    • Otomotif
    • Parenting
    • Produktivitas
  • Food & Travel
    • Resep Masak
    • Travel
  • Teknologi
    • Aplikasi
    • Gadget
    • Open Source
    • Programming
  • Login
  • Sign Up

© 2020 Kepo - All Rights Reserved.

Welcome Back!

Login to your account below

Forgotten Password? Sign Up

Create New Account!

Fill the forms below to register

All fields are required. Log In

Retrieve your password

Please enter your username or email address to reset your password.

Log In
%d blogger menyukai ini: