Panduan

Frontend vs Backend: Apa Bedanya?

Frontend adalah bagian aplikasi yang berjalan di browser pengguna — halaman, tombol, formulir, dan animasi yang mereka lihat dan klik. Backend adalah bagian yang berjalan di server yang tidak pernah dilihat pengguna: ia menyimpan dan mengambil data, menerapkan aturan bisnis, memeriksa siapa yang boleh melakukan apa, dan berkomunikasi dengan layanan lain seperti pembayaran dan email. Keduanya saling berkomunikasi lewat API, dan bersama database, keduanya membentuk aplikasi "full-stack".

Mengapa ini penting saat membangun dengan AI

Ketika Anda menjelaskan aplikasi ke pembuat aplikasi AI, Anda sebenarnya sedang menjelaskan kedua bagian sekaligus, baik Anda sadari atau tidak. "Pelanggan bisa memesan slot" berarti formulir pemesanan (frontend), aturan tentang slot mana yang masih kosong (backend), dan tempat untuk menyimpan pemesanan (database).

Memahami pembagian ini membantu dalam tiga hal praktis:

  1. Keamanan. Apa pun di frontend bisa dilihat dan diubah oleh pengguna. Aturan dan rahasia harus berada di backend.
  2. Debugging. "Tombol tidak merespons" dan "tombol merespons tetapi tidak ada yang tersimpan" menunjuk ke bagian yang berbeda, dan menyebutkan mana yang Anda lihat membantu AI menemukan penyebabnya lebih cepat.
  3. Hosting dan biaya. Situs yang hanya frontend murah dan sederhana untuk di-hosting. Backend harus berjalan di suatu tempat, yang memengaruhi berapa yang Anda bayar dan bagaimana aplikasi berperilaku saat tidak digunakan.

Analogi sehari-hari

Bayangkan sebuah restoran.

Frontend adalah ruang makan: menu, meja, dekorasi, dan pelayan yang mencatat pesanan Anda. Ia dirancang untuk pelanggan, dan pelanggan bisa melihat serta menyentuh semuanya.

Backend adalah dapur dan kantor: koki yang memasak, gudang stok, kasir, dan aturan manajer tentang siapa yang mendapat diskon. Pelanggan tidak masuk ke sana, dan mereka memang tidak seharusnya bisa masuk.

API adalah penghubung di antara keduanya — meja pesanan tempat order masuk dan piring keluar, dalam format yang disepakati. Database adalah gudang stok dan buku pesanan.

Pelanggan bisa menulis ulang catatan pesanannya (frontend ada di bawah kendalinya), tetapi dapur tetap memutuskan apa yang akan dimasak dan berapa harganya. Itulah sebabnya pemeriksaan penting harus ditempatkan di belakang.

Tugas masing-masing bagian

FrontendBackend
Berjalan diPerangkat pengguna, di browserServer yang Anda (atau penyedia hosting) kendalikan
Tugas utamaMenampilkan, menerima input, merespons klikMenyimpan data, menerapkan aturan, menegakkan izin, memanggil layanan lain
Bisakah pengguna melihat dan mengubah kodenya?Ya — kodenya diunduh ke browser merekaTidak
Bisakah menyimpan kunci API rahasia?TidakYa, di environment variables
Teknologi umumHTML, CSS, JavaScript/TypeScript, React, Vue, Svelte, TailwindNode.js, Python (FastAPI, Django), C#, Java, Go, Ruby
Yang sering bermasalahTata letak rusak di ponsel, tombol tidak berfungsi, halaman lambatData tidak tersimpan, data yang salah ditampilkan, error, celah keamanan

Beberapa framework mengaburkan batas ini. Next.js, misalnya, memungkinkan satu proyek berisi kode browser sekaligus kode server. Idenya tetap sama: pertanyaannya selalu di mana potongan kode ini berjalan?

Contoh nyata: memesan kelas

Berikut yang terjadi ketika seseorang memesan kelas yoga, langkah demi langkah.

LangkahDi manaYang terjadi
1FrontendHalaman jadwal dimuat dan meminta backend untuk daftar kelas minggu ini.
2BackendMembaca kelas dan pemesanan dari database, menghitung sisa tempat, dan mengembalikan daftar sebagai JSON.
3FrontendMenampilkan setiap kelas dengan waktu, pengajar, dan sisa tempat.
4FrontendPengguna memilih kelas dan mengisi nama serta email. Formulir memeriksa apakah email tampak valid (sebagai bantuan, bukan jaminan).
5Frontend → BackendMengirim permintaan POST /api/bookings lewat API.
6BackendMemvalidasi input sekali lagi, memeriksa apakah kelas sudah penuh, menyimpan pemesanan, dan meminta layanan email mengirim konfirmasi menggunakan kunci rahasia.
7Backend → FrontendMengembalikan "berhasil dipesan" atau "maaf, sudah penuh".
8FrontendMenampilkan layar konfirmasi.

Perhatikan langkah 4 dan 6: input diperiksa dua kali. Pemeriksaan di frontend memberi umpan balik seketika; pemeriksaan di backend adalah yang benar-benar berlaku, karena pengguna yang gigih bisa melewati frontend sepenuhnya.

Istilah umum yang dijelaskan

IstilahArtinya
Client / serverClient adalah browser (atau aplikasi) yang membuat permintaan; server yang menjawabnya.
UIUser interface — layar dan kontrol yang dilihat pengguna.
APICara yang disepakati agar frontend meminta data atau tindakan dari backend.
EndpointSatu URL spesifik di API, misalnya /api/bookings.
Full stackFrontend + backend + database bersama-sama. Lihat apa itu aplikasi full-stack.
Static siteFrontend tanpa backend sendiri; file yang sama untuk semua orang.
SPASingle-page application: frontend yang memperbarui halaman di browser alih-alih memuat halaman baru.
Server-side rendering (SSR)Server membuat HTML halaman sebelum mengirimkannya, yang bisa membantu kecepatan dan SEO.
Environment variablesPengaturan dan rahasia yang diberikan ke backend saat berjalan, dijaga agar tidak ada di dalam kode.

Apakah aplikasi Anda butuh backend?

Jika aplikasi Anda…Butuh backend?
Menampilkan informasi yang sama untuk semua orangTidak
Punya formulir kontak yang hanya mengirim email ke AndaBiasanya backend kecil, atau layanan formulir
Menyimpan data yang akan dilihat orang lainYa
Punya login dan data pribadiYa
Menerima pembayaranYa — setidaknya untuk membuat checkout dan menerima webhook pembayaran
Memakai AI berbayar atau API lain dengan kunci rahasiaYa, agar kunci tetap jauh dari browser

Kesalahan umum dan kesalahpahaman

  • Menaruh kunci rahasia di frontend. Kunci itu akan terlihat oleh siapa pun yang membuka developer tools browser. Ini kesalahan serius yang paling umum pada aplikasi yang dibuat dengan AI.
  • Hanya menerapkan aturan di frontend. Menyembunyikan tombol "hapus" bagi pengguna non-admin bukan perlindungan; backend harus menolak permintaan tersebut.
  • Menganggap backend hanya "database". Database menyimpan data. Backend yang memutuskan siapa yang boleh membaca dan mengubahnya, dan bagaimana caranya.
  • Mengira JavaScript berarti frontend. JavaScript dan TypeScript juga berjalan di server, dengan Node.js.
  • Menyalahkan bagian yang keliru. Jika halaman tampak benar tetapi datanya salah, masalahnya biasanya ada di backend atau database, bukan di desain.
  • Membangun berlebihan. Portofolio tidak perlu backend khusus. Menambahkannya menambah biaya dan bagian yang harus dijaga.

Apa yang diminta dari pembuat aplikasi AI Anda

  • "Bagian mana dari aplikasi ini yang berjalan di browser dan mana yang berjalan di server?"
  • "Pindahkan semua kunci API ke backend dan baca dari environment variables."
  • "Validasi setiap formulir di server juga, bukan hanya di browser."
  • "Pastikan di backend bahwa hanya admin yang bisa menghapus pemesanan."
  • "Halamannya tampak baik tetapi datanya tidak tersimpan — periksa log backend untuk permintaan itu."
  • "Ini situs pemasaran sederhana; biarkan hanya frontend kecuali kita memang butuh backend."

Frontend dan backend di Mythex

Proyek Mythex baru dimulai dari frontend Vite, React, TypeScript, dan Tailwind, dan agen menambahkan backend saat aplikasi Anda memerlukannya — atau Anda bisa meminta API terpisah dalam Node, Python (FastAPI), C#, atau Java yang berjalan bersama frontend di proyek yang sama. Di preview, Anda bisa berpindah antara situs web dan server API, dan publikasi men-deploy keduanya, dengan database dan penyimpanan file ditambahkan saat diperlukan. Dokumentasi menjelaskan aplikasi multi-layanan, panduan web hosting menjelaskan di mana masing-masing bagian berjalan setelah live, dan templat aplikasi adalah cara cepat untuk melihat contoh full-stack.

Pertanyaan

Apa perbedaan frontend dan backend?

Frontend adalah bagian aplikasi yang berjalan di browser pengguna — halaman, tombol, dan formulir yang mereka lihat dan klik. Backend berjalan di server yang tidak pernah dilihat pengguna; ia menyimpan data, menerapkan aturan bisnis, memeriksa izin, dan berkomunikasi dengan layanan lain.

Apakah setiap aplikasi butuh backend?

Tidak. Situs pemasaran, portofolio, atau halaman landing sederhana bisa hanya memakai frontend. Begitu aplikasi perlu menyimpan data bersama, login pengguna, menerima pembayaran, atau memakai kunci API rahasia, aplikasi itu membutuhkan backend dalam bentuk tertentu.

Apakah HTML termasuk frontend atau backend?

HTML, CSS, dan JavaScript yang berjalan di browser termasuk frontend. JavaScript juga bisa berjalan di server memakai Node.js, dan saat itu ia menjadi kode backend. Bahasanya tidak menentukan; yang menentukan adalah di mana kode itu berjalan.

Apa arti full stack?

Full stack berarti mencakup frontend dan backend (dan biasanya database). Aplikasi full stack memiliki ketiga bagian itu; pengembang full stack mengerjakan semuanya.

Mythex · Pricing · Bangun apa pun dengan AI · Template website dan aplikasi · Mythex dibandingkan · Glosarium membuat aplikasi dengan AI · Alat gratis untuk membuat aplikasi dengan AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)