UI vs. UX: What’s the difference?

Perbedaan REST vs GraphQL

Kalau kamu sedang belajar tentang API dalam dunia pemrograman, pasti sering mendengar istilah REST dan GraphQL. Dua teknologi ini sama-sama dipakai untuk menghubungkan front-end dengan back-end, atau lebih gampangnya: biar aplikasi kita bisa ngobrol dengan server.

Nah, banyak pemula yang bingung: “Sebenarnya apa sih bedanya REST sama GraphQL? Lebih bagus mana buat dipakai?”

Apa Itu REST?

REST (Representational State Transfer) adalah standar lama (tapi masih populer banget) untuk membangun API. Cara kerjanya cukup mudah: kita minta data lewat endpoint tertentu, server kasih respons dalam bentuk JSON atau XML.

Contoh:

  • GET /users → ngambil semua data user
  • GET /users/1 → ngambil data user dengan ID 1
  • POST /users → bikin user baru

Kelebihannya REST:

  • Mudah dipahami, karena strukturnya standar.
  • Sudah banyak digunakan dan didukung berbagai framework.
  • Cocok untuk aplikasi sederhana.

Kekurangannya REST:

  • Kadang data yang dikembalikan terlalu banyak (over-fetching).
  • Atau malah terlalu sedikit, jadi harus request lagi (under-fetching).
  • Punya banyak endpoint, jadi bisa ribet kalau aplikasi makin besar.

Apa Itu GraphQL?

GraphQL adalah teknologi API baru yang dibuat oleh Facebook (sekarang Meta). Bedanya dengan REST, GraphQL tidak pakai banyak endpoint, tapi satu endpoint saja. Di situ kita bisa request data sesuai kebutuhan.

Contoh:
Daripada ambil semua data user, kita bisa minta hanya nama dan email saja.

{
  user(id: 1) {
    name
    email
  }
}

Kelebihannya GraphQL:

  • Lebih efisien: hanya ambil data yang dibutuhkan.
  • Cuma butuh satu endpoint.
  • Sangat fleksibel untuk aplikasi besar.

Kekurangannya GraphQL:

  • Belajar awalnya agak susah buat pemula.
  • Butuh konfigurasi server lebih rumit dibanding REST.
  • Tidak selalu cocok untuk aplikasi kecil.

Perbandingan REST vs GraphQL

AspekRESTGraphQL
EndpointBanyak (per resource)Satu endpoint saja
Pengambilan DataBisa over-fetching / under-fetchingAmbil data sesuai kebutuhan
KompleksitasSimpel dan mudah dipahami pemulaLebih rumit di awal
KinerjaBisa lambat kalau data banyakLebih efisien, cepat untuk request
Cocok untukAplikasi sederhana hingga menengahAplikasi besar dengan data kompleks

Jadi, Pilih REST atau GraphQL?

  • Kalau kamu pemula atau bikin aplikasi sederhana, REST sudah cukup banget.
  • Kalau kamu bikin aplikasi besar dan kompleks, terutama yang butuh efisiensi data, GraphQL bisa jadi pilihan terbaik.

Intinya, tidak ada yang lebih baik secara mutlak. Pilih sesuai kebutuhan project. REST ibaratnya motor bebek yang simpel dan bisa dipakai semua orang, sementara GraphQL itu motor sport dengan fitur canggih—lebih cepat, tapi perlu skill lebih untuk mengendarainya.