๐Ÿ” Belajar
Autentikasi & Otorisasi

Media Pembelajaran Interaktif Berbasis AI

๐ŸŽ“ 7 Materi ๐Ÿค– AI Tutor ๐Ÿงช Simulasi ๐Ÿ† Kuis
๐Ÿ”‘
Materi 1
Definisi Dasar
Apa itu Autentikasi & Otorisasi?
โš”๏ธ
Materi 2
Perbedaan Utama
Tabel perbandingan lengkap
โœˆ๏ธ
Materi 3
Analogi Bandara
Contoh nyata di kehidupan sehari-hari
๐Ÿ›’
Materi 4
Toko Online
Simulasi login & akses produk
๐Ÿ“
Materi 5
Ujian Online
Verifikasi peserta & izin soal
โš™๏ธ
Materi 6
Backend API
JWT, middleware & role-based access
๐Ÿค–
Materi 7
AI Tutor + Kuis
Tanya AI & uji pemahamanmu!
Materi 1 dari 7
๐Ÿ”

Autentikasi

Proses memverifikasi SIAPA seseorang. Memastikan bahwa pengguna adalah benar-benar siapa yang mereka klaim.

๐Ÿ›ก๏ธ

Otorisasi

Proses menentukan APA YANG BOLEH dilakukan seseorang setelah identitasnya diverifikasi.

๐Ÿ” Autentikasi (Authentication)

Autentikasi adalah proses verifikasi identitas pengguna, perangkat, atau sistem. Kata "autentikasi" berasal dari bahasa Yunani authentikos yang berarti "nyata" atau "asli".

Dalam dunia digital, autentikasi menjawab pertanyaan: "Apakah kamu benar-benar siapa yang kamu klaim?"

๐Ÿ“Œ Definisi Resmi (NIST SP 800-63): Autentikasi adalah proses verifikasi klaim identitas seseorang atau sesuatu. Ini adalah langkah pertama dalam proses keamanan sebelum memberikan akses ke sistem.

Metode autentikasi yang umum digunakan:

๐Ÿ”‘ Sesuatu yang kamu TAHU

Password, PIN, pertanyaan keamanan โ€” informasi rahasia yang hanya kamu ketahui.

๐Ÿ“ฑ Sesuatu yang kamu MILIKI

OTP via SMS, token fisik, kunci USB, authenticator app โ€” benda atau perangkat yang ada padamu.

๐Ÿ‘๏ธ Sesuatu yang KAMU SENDIRI

Sidik jari, wajah, retina mata, suara โ€” biometrik yang unik untuk setiap individu.

๐Ÿ›ก๏ธ Otorisasi (Authorization)

Otorisasi adalah proses menentukan hak akses yang dimiliki pengguna yang telah terautentikasi. Otorisasi menentukan apa yang boleh dan tidak boleh dilakukan dalam sebuah sistem.

Otorisasi menjawab pertanyaan: "Apa yang boleh kamu lakukan di sini?"

๐Ÿ“Œ Definisi Resmi (OWASP): Otorisasi adalah proses penentuan apakah suatu entitas (pengguna, sistem, atau proses) diizinkan untuk melakukan aksi tertentu pada sumber daya tertentu.
๐Ÿ‘‘

Admin

Akses penuh โ€” baca, tulis, hapus semua data

โœ๏ธ

Editor

Bisa baca dan tulis, tapi tidak bisa hapus

๐Ÿ‘๏ธ

Viewer

Hanya bisa melihat, tidak bisa mengubah

๐Ÿšซ

Guest

Akses sangat terbatas atau tidak ada

๐Ÿ’ก

Cara Mudah Mengingat!

Authentication = Login (membuktikan SIAPA kamu)
Authorization = Permission/Izin (menentukan APA yang boleh kamu lakukan)

๐Ÿ”‘ Autentikasi โ†’ "Prove who you are!"
๐Ÿ›ก๏ธ Otorisasi โ†’ "Here's what you can do."

Materi 2 dari 7

๐Ÿ“Š Tabel Perbedaan Utama

Aspek ๐Ÿ” Autentikasi ๐Ÿ›ก๏ธ Otorisasi
PertanyaanSiapa kamu?Apa yang boleh kamu lakukan?
UrutanPertama (langkah 1)Kedua (setelah autentikasi)
TujuanVerifikasi identitasMenentukan hak akses
Data yang digunakanPassword, biometrik, tokenRole, permission, policy
Dilakukan olehPengguna membuktikan dirinyaSistem mengecek izin
Bisa diubah?Tidak mudah (identitas tetap)Ya, oleh admin kapan saja
Hasil gagalLogin ditolakAkses ditolak (403 Forbidden)
Status HTTP401 Unauthorized403 Forbidden
Contoh teknologiOAuth, SAML, JWT, MFARBAC, ABAC, ACL, LDAP

๐Ÿ”„ Alur Proses Keamanan

Langkah 1: Pengguna mencoba masuk

Pengguna memasukkan kredensial (username + password, sidik jari, dll)

Langkah 2: AUTENTIKASI โ€” Verifikasi Identitas

Sistem mengecek apakah kredensial valid. Jika gagal โ†’ 401 Unauthorized. Jika berhasil โ†’ session/token dibuat.

Langkah 3: OTORISASI โ€” Cek Izin

Sistem mengecek role/permission pengguna untuk setiap resource yang diakses. Jika tidak punya izin โ†’ 403 Forbidden.

Langkah 4: Akses Diberikan

Pengguna bisa menggunakan fitur sesuai izin yang dimiliki.

โš ๏ธ HTTP Status Code

๐Ÿ”ข

401 Unauthorized

Terjadi saat autentikasi gagal. Belum login atau token tidak valid. Server tidak mengenali identitasmu.

๐Ÿšซ

403 Forbidden

Terjadi saat otorisasi gagal. Sudah login tapi tidak punya izin. Server mengenali tapi menolak akses.

๐Ÿ’ก Mnemonic: 401 = "Saya tidak tahu kamu siapa" | 403 = "Saya tahu kamu siapa, tapi kamu tidak boleh di sini!"

๐Ÿงช Simulasi Status Code

HTTP Request Simulator
Materi 3 dari 7

๐ŸŒ Mengapa Analogi Bandara?

Bandara adalah contoh sempurna karena memiliki sistem keamanan berlapis yang mirip dengan sistem autentikasi dan otorisasi digital. Setiap penumpang harus melalui serangkaian pemeriksaan sebelum bisa naik pesawat.

๐Ÿ—บ๏ธ Alur Perjalanan di Bandara

๐Ÿ“„

Check-in

Serahkan tiket & paspor. Sistem memeriksa reservasi.

๐Ÿ‘ฎ

Pemeriksaan Paspor

Petugas verifikasi identitas asli penumpang โ†’ AUTENTIKASI

๐Ÿ›ก๏ธ

Pemeriksaan Keamanan

Scan bagasi & badan. Pastikan tidak ada barang terlarang.

๐Ÿšช

Boarding Gate

Scan boarding pass untuk gate tertentu โ†’ OTORISASI

๐Ÿ‘† Klik setiap langkah secara berurutan!

๐Ÿ”

Pemeriksaan Paspor
= AUTENTIKASI

Petugas imigrasi memeriksa paspor untuk memastikan kamu adalah benar-benar kamu. Foto, nama, dan data biometrik diverifikasi. Ini membuktikan identitasmu.

๐Ÿ›ก๏ธ

Boarding Gate
= OTORISASI

Meskipun identitasmu sudah terbukti, kamu hanya bisa masuk ke gate yang sesuai tiketmu. Gate A3 bukan untuk penumpang pesawat ke gate B7!

๐Ÿ“Š Pemetaan Analogi Lengkap

Di Bandara๐Ÿ” Autentikasi๐Ÿ›ก๏ธ Otorisasi
Pasporโœ… Pemeriksaan pasporโ€”
Boarding Passโ€”โœ… Akses ke gate tertentu
Lounge Premiumโ€”โœ… Hanya tiket Business class
Kru pesawatโœ… Badge karyawanโœ… Akses kokpit/ruang crew
Customs areaโœ… Verifikasi identitasโœ… Warga negara vs turis
๐Ÿง 

Ingat Ini!

Kamu bisa punya identitas yang valid (paspor asli) tapi tetap tidak bisa masuk ke lounge bisnis jika tiketmu kelas ekonomi.

Itulah mengapa otorisasi diperlukan setelah autentikasi โ€” keduanya bekerja bersama!

Materi 4 dari 7

๐Ÿช Sistem Keamanan E-Commerce

Platform toko online seperti Tokopedia, Shopee, atau Amazon menggunakan kombinasi autentikasi dan otorisasi yang kompleks untuk melindungi data pengguna dan memastikan setiap aksi dilakukan oleh pihak yang berwenang.

๐Ÿ›’ Skenario: Sistem toko online memiliki 3 jenis pengguna: Customer (pembeli), Seller (penjual), dan Admin (pengelola platform). Setiap peran memiliki akses berbeda-beda.

๐Ÿงช Simulasi Login Toko Online

๐Ÿ›’ TokoBelajar.id โ€” Simulasi Sistem Login

๐Ÿ“‹ Tabel Izin Berdasarkan Peran

Aksi ๐Ÿ‘ค Customer ๐Ÿช Seller ๐Ÿ‘‘ Admin
Lihat produk โœ“ Ya โœ“ Ya โœ“ Ya
Beli produk โœ“ Ya โœ— Tidak โœ— Tidak
Tambah produk โœ— Tidak โœ“ Ya โœ“ Ya
Hapus semua produk โœ— Tidak โœ— Tidak โœ“ Ya
Lihat laporan keuangan โœ— Tidak โšก Toko sendiri โœ“ Ya
Kelola pengguna โœ— Tidak โœ— Tidak โœ“ Ya
Materi 5 dari 7

๐ŸŽ“ Platform Ujian Online

Sistem ujian online seperti Google Form, Moodle, atau platform UTBK menggunakan autentikasi dan otorisasi yang sangat ketat untuk memastikan integritas ujian. Tidak boleh ada peserta yang mengakses soal tanpa izin!

โš ๏ธ Contoh Kasus Nyata: Ketika mengerjakan UTBK (Ujian Tulis Berbasis Komputer), peserta harus login dengan nomor peserta + tanggal lahir (Autentikasi), kemudian sistem mengecek apakah peserta terdaftar untuk sesi dan lokasi ujian tertentu (Otorisasi).

๐Ÿงช Simulasi Sistem Ujian

๐Ÿ“ EduExam Platform โ€” Sistem Ujian Digital

๐Ÿ“Š Lapisan Keamanan Ujian Online

Layer 1: Autentikasi Peserta

Verifikasi nomor peserta, tanggal lahir, atau biometrik. Memastikan hanya peserta terdaftar yang bisa masuk.

Layer 2: Otorisasi Sesi

Peserta hanya bisa mengakses soal ujian sesuai sesi dan waktu yang dijadwalkan. Tidak bisa "mencuri" soal sesi lain.

Layer 3: Otorisasi Berbasis Waktu

Soal hanya bisa diakses selama jendela waktu ujian berlangsung. Setelah waktu habis, akses otomatis dicabut.

Layer 4: Anti-Kecurangan

Sistem mendeteksi jika peserta mencoba membuka tab lain (berpindah fokus) dan mencatat aktivitas mencurigakan.

Materi 6 dari 7

๐Ÿ”‘ JSON Web Token (JWT)

JWT adalah standar industri (RFC 7519) untuk mentransmisikan informasi secara aman antara pihak-pihak sebagai objek JSON. JWT digunakan dalam autentikasi modern untuk mengidentifikasi pengguna tanpa harus query database setiap request.

๐Ÿ“ฆ Struktur JWT: Header.Payload.Signature
// Header (base64) { "alg": "HS256", "typ": "JWT" } // Payload (base64) - berisi data pengguna { "sub": "user_123", // user ID "role": "admin", // untuk OTORISASI "email": "user@email.com", "iat": 1716000000, // issued at "exp": 1716086400 // expiry (24 jam) } // Signature (HMAC SHA-256) HMACSHA256(base64(header) + "." + base64(payload), secret)

๐Ÿ›ก๏ธ Middleware Autentikasi & Otorisasi

Dalam pengembangan backend (Node.js/Express), autentikasi dan otorisasi diimplementasikan sebagai middleware โ€” fungsi yang berjalan sebelum handler utama:

// ===== MIDDLEWARE AUTENTIKASI ===== const authenticate = (req, res, next) => { const token = req.headers['authorization']?.split(' ')[1]; if (!token) { return res.status(401).json({ error: 'Token diperlukan' }); } try { const decoded = jwt.verify(token, process.env.JWT_SECRET); req.user = decoded; // simpan data user next(); // lanjut ke handler berikutnya } catch (err) { res.status(401).json({ error: 'Token tidak valid' }); } }; // ===== MIDDLEWARE OTORISASI (RBAC) ===== const authorize = (...roles) => { return (req, res, next) => { if (!roles.includes(req.user.role)) { return res.status(403).json({ error: 'Akses ditolak - izin tidak cukup' }); } next(); }; }; // ===== PENGGUNAAN DI ROUTE ===== // Semua user yang login bisa lihat produk app.get('/api/products', authenticate, getProducts); // Hanya admin & seller yang bisa tambah produk app.post('/api/products', authenticate, authorize('admin', 'seller'), addProduct); // Hanya admin yang bisa hapus semua produk app.delete('/api/products', authenticate, authorize('admin'), deleteAll);

๐Ÿงช Simulasi API Request

โš™๏ธ API Request Simulator

๐Ÿ—๏ธ Pola Arsitektur Umum

OAuth 2.0 + OpenID Connect

Standar industri untuk autentikasi (OIDC) dan otorisasi (OAuth 2.0). Digunakan oleh Google, Facebook, GitHub untuk "Login with..." Memisahkan server autentikasi dari aplikasi.

RBAC (Role-Based Access Control)

Izin diberikan berdasarkan peran (admin, editor, viewer). Setiap peran memiliki kumpulan izin yang berbeda. Mudah dikelola untuk sistem besar.

ABAC (Attribute-Based Access Control)

Izin berdasarkan atribut pengguna, resource, dan lingkungan. Lebih fleksibel dari RBAC. Cocok untuk sistem yang sangat kompleks seperti AWS IAM.

Materi 7 dari 7

๐Ÿค– Tanya AI Tutor

Tanyakan apa saja tentang Autentikasi & Otorisasi! AI siap membantu.

๐Ÿค–

AuthBot AI

โ— Online ยท Siap membantu belajar

๐Ÿ‘‹ Halo! Saya AuthBot, asisten AI untuk materi Autentikasi & Otorisasi. Tanyakan apa saja! Misalnya:

โ€ข "Apa bedanya 401 dan 403?"
โ€ข "Jelaskan OAuth itu apa?"
โ€ข "Apa itu JWT?"

โšก Didukung oleh Claude AI (Anthropic)

๐Ÿ† Kuis Pengetahuan

Uji pemahamanmu dengan 5 soal pilihan ganda!

Soal 1 dari 5

dari 5 soal benar

๐ŸŽ‰

Selamat Telah Menyelesaikan Semua Materi!

Kamu telah belajar tentang Autentikasi & Otorisasi dari definisi dasar hingga implementasi backend. Terus praktikkan ilmu ini dalam proyek nyata!