Di Mana Kode Berjalan — Browser, Server, dan Aplikasi Ponsel

Artikel ini adalah bagian dari kursus Dasar-Dasar Teknologi Informasi, yang membangun dari nol pengetahuan TI praktis yang minimal kamu butuhkan untuk memprogram dan melakukan vibe coding.
Kode yang sama berperilaku berbeda di dalam browser, di dalam server, dan di atas OS ponsel. Diagram menelusuri cara memilih antara aplikasi Web dan aplikasi native.

Artikel ini membahas di mana kode yang kamu tulis berjalan.

Tempatnya ada tiga: di dalam browser, di dalam server, dan di dalam aplikasi yang dipasang di ponsel.

Kode my-app yang kamu tulis berjalan terpisah di tiga tempat
Kodemy-appindex.htmlapp.jsserver.jsreserve.dbmy-app untukiPhoneDi dalam browserpenggunaDi dalamserver publikDi atas OSponselTiba saat URLdibukaTidak keluarDipasang daritoko aplikasi
Satu kumpulan di kiri bercabang menjadi tiga ke kanan. Meski my-app-nya sama, tempat tiap file berjalan dan cara file itu sampai ke pengguna berbeda-beda.

Kode aplikasi Web berjalan di dua tempat: browser dan server

Software yang membaca HTML di perangkat pengguna lalu menggambar layar adalah browser, sedangkan komputer yang disiapkan supaya bisa menerima request kapan saja adalah server.

Browser yang umum dipakai adalah Chrome, Safari, Edge, dan Firefox.

Bahasa yang bisa dibaca dan dijalankan browser secara langsung adalah JavaScript.

my-app terdiri dari 4 file: 2 file untuk layar adalah frontend, dan server.js yang menerima reservasi adalah backend.

Saat pengguna membuka URL-nya, hanya 2 file layar itu yang sampai ke perangkatnya.

Cara penempatan file my-app yang sudah dipublikasikan
Perangkat pengguna
Browser
  • index.html — bentuk layar reservasi
  • app.js — perilaku saat tombol ditekan
  • Pengguna bisa membuka dan membaca isi keduanya
Server publik
node server.js
  • Menjalankan proses yang menerima reservasi
  • Tidak sampai ke perangkat, jadi tidak terbaca
reserve.db
  • File tempat data reservasi ditulis
Yang sampai ke perangkat pengguna hanya index.html dan app.js. server.js dan reserve.db tidak keluar dari server publik.

Meski sama-sama file my-app, tempat berjalannya terbagi ke dalam 2 bingkai.

Yang sampai ke perangkat hanya index.html dan app.js, dan setelah itu yang lewat di antara kedua bingkai hanyalah data.

Dari 3 baris berikut, baris tengah hanya ada di dalam browser, dan baris terakhir hanya ada di dalam runtime server.

console.log("Reservasi");
console.log(navigator.language);
console.log(process.version);

Kalau 3 baris ini dijalankan di dalam browser, hasilnya terbagi seperti berikut.

Tiga baris yang sama memberi hasil berbeda tergantung di mana fungsinya berada
console.log("Reservasi")navigator.languageprocess.versionAda di mana sajaHanya ada didalam browserHanya ada diruntime serverReservasija dan lainnya:bahasa browserprocess isnot defined
Kiri adalah baris yang kamu tulis, tengah adalah tempat fungsi itu disediakan, dan kanan adalah hasilnya saat dijalankan di browser. Hanya baris paling bawah yang memanggil fungsi yang tidak dimiliki browser.

Kode aplikasi Web terbagi ke dua tempat

index.html dan app.js yang membentuk layar sampai ke perangkat pengguna dan berjalan di dalam browser.

server.js yang menerima reservasi tidak keluar dari server publik, jadi teks yang tidak diperlihatkan kepada orang lain ditulis di sisi ini.

Cara membuatnya bisa dipakai di ponsel: tetap sebagai aplikasi Web, atau jadi aplikasi native

Ponsel pun punya browser.

my-app langsung berjalan apa adanya kalau URL-nya dibuka di browser ponsel.

Inilah cara pertama, dan kodenya tidak perlu dibuat ulang.

Software yang mengelola peluncuran aplikasi, layar, komunikasi, dan file di dalam perangkat adalah OS (Operating System), yang pada ponsel berupa iOS atau Android.

Cara kedua adalah aplikasi native (native app; aplikasi yang ditaruh langsung di atas OS lalu dijalankan di sana), yang dibuat terpisah untuk iPhone dan untuk Android lalu disampaikan lewat App Store dan Google Play.

Menaruh aplikasi di perangkat sehingga bisa dijalankan dari OS disebut instalasi (install).

Di dalam ponsel — aplikasi native berada di atas OS
Ponsel pengguna
OS (iOS / Android)
my-app (aplikasi yang dipasang)
  • File yang dipasang dari App Store
  • Dijalankan lewat ikon di layar utama
Browser
  • Membuka URL-nya menjalankan aplikasi Web
  • index.html dan app.js tiba di sini
Bagian luar adalah satu ponsel. Di atas OS berada my-app yang sudah dipasang dan browser. Kalau tetap sebagai aplikasi Web, ia berjalan di dalam browser itu.

Seperti pada gambar, aplikasi native berada di atas OS, sedangkan aplikasi Web berjalan di atas browser yang ada di OS itu.

Program atau perangkat yang mengirim request ke server disebut klien (client), dan sisi yang berjalan di perangkat disebut juga sisi klien, sedangkan sisi yang berjalan di server disebut sisi server.

Dari klien mana pun, request berkumpul ke tempat yang sama
Browserponselmy-app diponselnode server.js diserver publikreserve.dbRequestRequestSimpan
Panah dari dua kotak di kiri berkumpul ke tengah. Baik datang dari browser maupun dari aplikasi yang dipasang di ponsel, yang menerimanya adalah server.js yang sama.

Pilihan di antara keduanya ditentukan dengan menjajarkan kelebihan dan kekurangannya.

Yang dilihatAplikasi WebAplikasi native
Fungsi perangkat yang bisa dipakaiHanya fungsi yang disediakan browserFungsi OS bisa dipakai secara luas
Tempat orang menemukannyaMesin pencari dan URL yang dibagikanPencarian di App Store atau Google Play
Usaha untuk menyampaikannya ke penggunaCukup minta mereka membuka URLLolos peninjauan toko, lalu minta mereka memasangnya
Waktu sampai perbaikan tiba di penggunaSaat mereka membuka URL berikutnyaMenunggu sampai pengguna memperbaruinya
Jumlah kode yang dibuat1 kode berjalan di iPhone maupun AndroidDibuat terpisah untuk iPhone dan Android

Dari browser kamu hanya bisa memakai sebatas fungsi yang disediakan browser, dan saat kamu ingin memakai fungsi perangkat yang lebih luas dari itu, pilihannya aplikasi native.

Hal yang sama berlaku saat kamu ingin ditemukan lewat pencarian di toko aplikasi, dan kalau keduanya tidak berlaku, biarkan tetap sebagai aplikasi Web.

Ada pula cara membuat aplikasi untuk beberapa OS dari satu source code, dan namanya dibahas di artikel berikutnya.

Cara penyampaiannya berubah, server.js tetap sama

Kalau dibiarkan tetap sebagai aplikasi Web, ia berjalan cukup dengan membuka URL-nya di browser ponsel.

Aplikasi native dibuat terpisah untuk iPhone dan Android lalu dipasang pengguna dari toko aplikasi, tetapi mana pun yang kamu pilih, server.js dan reserve.db tetap berada di server publik.

Apa bedanya berjalan di komputer sendiri dengan berjalan setelah dipublikasikan

my-app yang sudah kamu buat masih hanya bisa dibuka dari komputermu sendiri.

Bagian dalam komputermu sendiri sebagai tempat menjalankan kode disebut lokal (local).

Angka di ujung http://localhost:3000 yang kamu buka secara lokal berfungsi membedakan tujuan di dalam komputer yang sama, dan hal itu dibahas di artikel "Apa yang Terjadi Saat Kamu Memasukkan URL" di kursus ini.

Di dalam bingkai adalah satu komputer kamu sendiri, dan browser, server.js, maupun reserve.db semuanya ada di dalamnya.

Setelah dipublikasikan, isi satu mesin ini terbagi ke 2 tempat, tetapi pengisi tiap peran tidak berubah.

Peran yang samaLokalSetelah dipublikasikan
Menjalankan layarBrowser di komputer kamuBrowser pengguna
Menerima reservasinode server.js di komputer kamunode server.js di server publik
Menyimpan datareserve.db di komputer kamureserve.db di server publik
URL yang dibuka penggunahttp://localhost:3000URL server publik

Nama file yang berjalan sama saja, baik secara lokal maupun setelah dipublikasikan.

Memindahkan keempat file itu sekaligus ke server publik di luar komputermu sendiri itulah deploy.

Keempat file pindah ke server publik, dan yang tersisa di komputermu hanyalah browser.

Dari perangkat mana pun, membuka example.com yang sama akan memunculkan layar yang sama.

Selama masih lokal, request dari luar tidak diterima, jadi orang lain tidak bisa memakainya dari perangkat mereka.

localhost:3000 menunjuk perangkat tempat kamu mengetiknya, jadi mengetiknya dari ponsel rekan kerja tidak akan sampai ke komputermu.

Isi pekerjaan mempublikasikannya dibahas di "Deploy dan Environment Variable — dari Berjalan di Komputer Sendiri sampai Dipublikasikan" di kursus ini.

Tempat menaruhnya berubah, orang yang bisa memakainya juga berubah

my-app yang berhasil berjalan mengikuti langkah di buku pemula hanya bisa dibuka dari dalam komputer kamu sendiri, yaitu secara lokal.

Kalau keempat file dipindahkan ke server publik, perangkat orang lain pun bisa membukanya, dan pekerjaan inilah yang disebut deploy.

QUIZ

Cek Pemahaman

Jawab setiap pertanyaan satu per satu.

Soal 1Kode layar aplikasi Web (index.html dan app.js) dijalankan di mana?

Soal 2Cara mana yang membuat my-app buatanmu bisa dipakai di ponsel tanpa membuat ulang kodenya?

Soal 3Apa yang diperlukan supaya my-app yang berjalan secara lokal bisa dipakai dari perangkat orang lain?