Dibimbing - Apa Itu JSON Web Token (JWT)? Fungsi dan Contohnya
Blog
Full Stack Web Development

Apa Itu JSON Web Token (JWT)? Fungsi dan Contohnya

Author

DITULIS OLEH 

Irhan Hisyam Dwi Nugroho

Dibuat pada 17 Jun 2026

Diubah pada 10 Jul 2026

67

Image Thumbnail

Pernah mendengar istilah JWT saat belajar backend development, REST API, atau proses login pada aplikasi web? JWT atau JSON Web Token merupakan salah satu teknologi yang banyak digunakan untuk autentikasi dan pertukaran data secara aman.

JWT menjadi solusi populer dalam pengembangan aplikasi web modern karena proses autentikasinya lebih ringan dan efisien. Teknologi ini banyak digunakan pada aplikasi berbasis API, mobile app, hingga sistem microservices.

Lalu, apa itu JSON Web Token (JWT), apa fungsinya, dan bagaimana cara kerjanya? Yuk, simak penjelasan lengkap beserta contoh penggunaannya berikut ini!


Apa Itu JWT (JSON Web Token)?

JWT (JSON Web Token) adalah standar format token yang digunakan untuk mengirimkan informasi secara aman antara client dan server dalam bentuk objek JSON. 

JWT biasanya digunakan untuk proses autentikasi dan otorisasi, seperti memastikan bahwa pengguna yang mengakses aplikasi telah berhasil login. 

Setiap JWT terdiri dari tiga bagian utama, yaitu Header, Payload, dan Signature yang dikodekan menjadi satu token. 

Berkat sifatnya yang ringan, aman, dan mudah digunakan, JWT menjadi salah satu metode autentikasi yang paling populer dalam pengembangan aplikasi web modern dan REST API.

Baca juga: Panduan Memilih Bootcamp Full Stack Developer yang Tepat


Struktur JWT

Sumber: Desain oleh Dibimbing

JWT terdiri dari tiga bagian utama, yaitu Header, Payload, dan Signature. Ketiga bagian tersebut dienkode menggunakan format Base64Url dan dipisahkan oleh tanda titik (.) dengan format header.payload.signature.


1. Header

Header berisi informasi dasar mengenai token, seperti tipe token dan algoritma kriptografi yang digunakan untuk membuat signature. 

Bagian ini membantu server memahami cara token dibuat dan diverifikasi. Contoh isi Header dapat dilihat pada kode berikut:

{ "alg": "HS256",

"typ": "JWT" }

Keterangan:

  1. alg: Algoritma penandatanganan, seperti HS256 atau RS256.
  2. typ: Tipe token yang biasanya bernilai JWT.


2. Payload

Payload berisi claims atau data yang ingin dikirimkan di dalam token. Data tersebut dapat berupa ID pengguna, nama pengguna, role, maupun informasi waktu kedaluwarsa token. 

Meskipun dapat dibaca oleh siapa saja yang memiliki token, payload tidak dienkripsi sehingga tidak boleh menyimpan data sensitif seperti password.

{ "sub": "1234567890",

"name": "Budi Santoso",

"iat": 1516239022 }

Jenis claims dalam JWT meliputi:

  1. Registered Claims: Klaim standar seperti iss, exp, dan sub.
  2. Public Claims: Klaim yang dapat dibuat sesuai kebutuhan aplikasi.
  3. Private Claims: Klaim khusus yang digunakan oleh pihak-pihak tertentu.


3. Signature

Signature berfungsi untuk memastikan bahwa isi JWT tidak diubah oleh pihak yang tidak berwenang. Bagian ini dibuat dengan menggabungkan Header dan Payload yang telah dienkode, kemudian diproses menggunakan secret key dan algoritma tertentu. 

Jika ada perubahan pada token, maka signature tidak akan cocok dan JWT dianggap tidak valid.

HMACSHA256(

base64UrlEncode(header) + "." +

base64UrlEncode(payload), secret_key

)

Dengan adanya Signature, server dapat memverifikasi keaslian dan integritas token sebelum memberikan akses kepada pengguna.

Baca juga: Rekomendasi Kursus Full Stack Developer: Manfaat & Benefit


Cara Kerja JWT

JWT bekerja dengan cara membuat, mengirim, dan memverifikasi token untuk memastikan identitas pengguna. Berikut adalah tahapan sederhana cara kerja JWT dalam proses autentikasi.


1. Pengguna Login dan Server Membuat JWT

Pengguna memasukkan username dan password ke aplikasi, lalu server akan memeriksa apakah data tersebut sesuai dengan informasi yang tersimpan di sistem. 

Jika login berhasil, server membuat JWT yang berisi informasi pengguna dan hak akses tertentu. Token tersebut kemudian dikirim kembali ke client sebagai bukti autentikasi.


2. Client Menyimpan dan Mengirim JWT

Setelah menerima JWT dari server, client akan menyimpan token tersebut di browser, session storage, local storage, atau cookie sesuai kebutuhan aplikasi. 

Ketika pengguna mengakses fitur yang membutuhkan autentikasi, client akan mengirimkan JWT bersama request ke server. Biasanya, token dikirim melalui Authorization Header dengan format Bearer Token.


3. Server Memverifikasi JWT

Server akan memeriksa signature, isi payload, dan masa berlaku token untuk memastikan JWT masih valid. 

Jika token valid, server akan memberikan akses ke resource yang diminta pengguna. Namun, jika token tidak valid, sudah dimodifikasi, atau kedaluwarsa, server akan menolak akses dan meminta pengguna login kembali.

Baca juga: Panduan Belajar Full Stack Developer dengan Mudah


Kelebihan dan Kekurangan JWT

JWT menawarkan berbagai keuntungan dalam proses autentikasi aplikasi modern, tetapi juga memiliki beberapa keterbatasan yang perlu diperhatikan. 

Oleh karena itu, developer perlu memahami kelebihan dan kekurangan JWT sebelum mengimplementasikannya dalam sebuah aplikasi.


1. Kelebihan JWT

JWT menjadi salah satu metode autentikasi yang populer karena menawarkan berbagai manfaat dalam pengembangan aplikasi web modern.

  1. Stateless Authentication: Server tidak perlu menyimpan data sesi pengguna sehingga penggunaan sumber daya menjadi lebih efisien.
  2. Mudah Digunakan pada API: JWT sangat cocok digunakan pada REST API karena token dapat dikirim melalui setiap request dengan mudah.
  3. Mendukung Arsitektur Modern: JWT banyak digunakan pada aplikasi mobile, Single Page Application (SPA), dan microservices.


2. Kekurangan JWT

Meskipun memiliki banyak kelebihan, JWT juga memiliki beberapa keterbatasan yang perlu diperhatikan.

  1. Sulit Melakukan Token Revocation: Token yang sudah diterbitkan biasanya tetap valid hingga masa berlakunya habis.
  2. Risiko Jika Token Bocor: Pihak yang memperoleh token valid dapat menggunakannya untuk mengakses sistem selama token belum kedaluwarsa.
  3. Ukuran Token Bisa Membesar: JWT dapat menjadi lebih besar jika payload menyimpan terlalu banyak informasi.

Baca juga: Full Stack Developer Career Path: Level, Skill, dan Gaji


JWT vs Session Authentication

JWT dan Session Authentication merupakan dua metode yang sering digunakan untuk mengelola autentikasi pengguna dalam aplikasi web. 

Meskipun memiliki tujuan yang sama, keduanya memiliki cara kerja dan karakteristik yang berbeda.


1. Penyimpanan Data Autentikasi

Pada Session Authentication, data sesi pengguna disimpan di server dan setiap pengguna akan memiliki session ID yang unik. 

Sebaliknya, JWT menyimpan informasi autentikasi di dalam token yang disimpan oleh client. Karena itu, JWT dikenal sebagai metode autentikasi yang bersifat stateless.


2. Skalabilitas Sistem

Session Authentication dapat memerlukan sumber daya server yang lebih besar karena setiap sesi pengguna harus disimpan dan dikelola. 

Sementara itu, JWT tidak memerlukan penyimpanan sesi di server sehingga lebih mudah digunakan pada aplikasi dengan banyak pengguna. Oleh karena itu, JWT sering dipilih untuk aplikasi modern yang membutuhkan skalabilitas tinggi.


3. Keamanan dan Penggunaan

Session Authentication umumnya lebih mudah dikendalikan karena server dapat menghapus sesi pengguna kapan saja. 

Di sisi lain, JWT lebih fleksibel untuk REST API, aplikasi mobile, dan arsitektur microservices karena token dapat digunakan di berbagai layanan. 

Pemilihan antara JWT dan Session Authentication sebaiknya disesuaikan dengan kebutuhan serta arsitektur aplikasi yang dikembangkan.


Ingin Menjadi Full Stack Web Developer?

JWT hanyalah salah satu teknologi yang digunakan dalam pengembangan aplikasi modern. Untuk menjadi Full Stack Web Developer, kamu juga perlu menguasai frontend, backend, database, dan API.

Yuk, ikuti Bootcamp Full Stack Web Development di Dibimbing! Di sini, kamu akan belajar HTML, CSS, JavaScript, React, Node.js, Express.js, MongoDB, hingga membangun REST API dan aplikasi web modern yang sesuai kebutuhan industri saat ini.

Dengan dukungan lebih dari 1.100+ hiring partner dan tingkat keberhasilan alumni mencapai 96%, peluangmu untuk berkarier di bidang teknologi menjadi semakin terbuka lebar.

Jadi, tunggu apa lagi? Konsultasikan kebutuhan belajarmu sekarang Disini dan bergabung bersama Bootcamp Full Stack Web Development di Dibimbing. Mulai perjalananmu menjadi Web Developer profesional bersama #BimbingSampeJadi!

Share:

Penulis

Penulis Image

Irhan Hisyam Dwi Nugroho

Irhan Hisyam Dwi Nugroho is an SEO Specialist and Content Writer with 4 years of experience in optimizing websites and writing relevant content for various brands and industries. Currently, I also work as a Content Writer at Dibimbing.id and actively share content about technology, SEO, and digital marketing through various platforms.

Hi!👋
Kalau kamu butuh bantuan,
hubungi kami via WhatsApp ya!