Glosarium Pemrograman

Kamus istilah pemrograman lengkap — dari API sampai Webhook. Setiap istilah dilengkapi definisi, contoh kode, dan link ke tutorial terkait.

Web

API

Application Programming Interface — antarmuka yang memungkinkan dua aplikasi berbeda saling berkomunikasi dan bertukar data. REST API adalah jenis API paling umum di web.

Lihat juga: REST API, JSON, HTTP

HTTP

Hypertext Transfer Protocol — protokol yang mengatur komunikasi antara browser (client) dan server web. HTTP methods: GET, POST, PUT, DELETE, PATCH.

Lihat juga: API, REST API, HTTPS

JSON

JavaScript Object Notation — format ringan untuk pertukaran data. Mudah dibaca manusia dan mesin. Format standar untuk REST API responses.

Lihat juga: API, JavaScript, REST API

REST API

Representational State Transfer — arsitektur API web yang menggunakan HTTP methods (GET, POST, PUT, DELETE) untuk operasi CRUD pada resource. Format response biasanya JSON.

Lihat juga: API, HTTP, JSON

Webhook

HTTP callback yang dikirim secara otomatis oleh suatu sistem ke URL tertentu ketika ada event terjadi. Digunakan untuk real-time notification, integrasi sistem, dan otomatisasi.

Lihat juga: API, HTTP, JSON

Javascript

AJAX

Asynchronous JavaScript and XML — teknik membuat request ke server tanpa me-reload halaman. Modern menggunakan Fetch API atau XMLHttpRequest.

Lihat juga: API, JSON, JavaScript

Callback

Fungsi yang dikirim sebagai argumen ke fungsi lain dan dieksekusi setelah operasi selesai. Umum digunakan di JavaScript untuk menangani operasi async.

JavaScript

Bahasa pemrograman yang membuat halaman web interaktif. Awalnya hanya di browser, sekarang bisa berjalan di server via Node.js. Salah satu bahasa paling populer di dunia.

Lihat juga: Node.js, React, Vue.js

Node.js

Runtime JavaScript di sisi server yang memungkinkan eksekusi JS di luar browser. Dibangun di atas V8 engine (Chrome). Populer untuk API, real-time apps, dan tools.

Lihat juga: JavaScript, npm, Express.js

npm

Node Package Manager — dependency manager untuk JavaScript/Node.js. Menginstal dan mengelola package/library dari registry npm.js.

Promise

Object di JavaScript yang merepresentasikan hasil dari operasi async (pending, fulfilled, rejected). Menggantikan callback hell dengan .then() dan .catch().

React

Library JavaScript untuk membangun user interface (UI) berbasis komponen. Dikembangkan oleh Facebook. Menggunakan virtual DOM untuk performa optimal.

Lihat juga: JavaScript, Vue.js, Node.js

Vue.js

Framework JavaScript progresif untuk membangun UI. Learning curve rendah, cocok untuk pemula. Bisa diintegrasikan bertahap ke project existing.

Lihat juga: JavaScript, React, Node.js

Programming

Array

Struktur data yang menyimpan kumpulan nilai dalam satu variabel. Setiap elemen memiliki index (dimulai dari 0).

Lihat juga: Variable, Object, JSON

Asynchronous

Eksekusi kode yang tidak memblokir thread utama. Program bisa melanjutkan tugas lain sambil menunggu operasi selesai (seperti request API atau baca file).

Lihat juga: API, AJAX, Callback

Class

Blueprint untuk membuat object dalam OOP. Class mendefinisikan properti dan method yang dimiliki oleh object.

Lihat juga: OOP, Object, Inheritance

CRUD

Create, Read, Update, Delete — empat operasi dasar pada data persisten. Implementasi CRUD adalah fondasi hampir semua aplikasi web.

Lihat juga: API, REST API, Database

Framework

Kumpulan kode, tools, dan aturan yang menyediakan struktur untuk membangun aplikasi. Framework mempercepat development dengan menyediakan solusi untuk masalah umum.

Lihat juga: Laravel, PHP, Library

Inheritance

Konsep OOP di mana sebuah class mewarisi properti dan method dari class lain. Memungkinkan reuse kode dan hierarki class yang terstruktur.

Lihat juga: OOP, Class, Object

Library

Kumpulan kode siap pakai yang menyediakan fungsi spesifik. Berbeda dengan framework, library tidak memaksakan struktur — kamu panggil library saat dibutuhkan.

Lihat juga: Framework, npm, Composer

OOP

Object-Oriented Programming — paradigma pemrograman yang menggunakan object (gabungan data dan method) sebagai blok bangunan utama. Empat pilar: Encapsulation, Inheritance, Polymorphism, Abstraction.

Lihat juga: Class, Object, Inheritance

ORM

Object Relational Mapping — teknik mapping tabel database ke object/class dalam kode. Developer menulis kode OOP, bukan SQL mentah. Contoh: Eloquent (Laravel), Doctrine, Sequelize.

Lihat juga: Eloquent, Database, Laravel

Variable

Tempat menyimpan data dalam memori yang memiliki nama dan tipe data. Di setiap bahasa: $var (PHP), let var (JS), var (Go), = (Python).

Lihat juga: Array, Object, Data Type

MVC

Model-View-Controller — pola arsitektur yang memisahkan aplikasi menjadi tiga komponen: Model (data/logika), View (tampilan), Controller (penghubung). Digunakan oleh Laravel, Spring, Rails.

Lihat juga: Laravel, Framework, Routing

Package Manager

Tools yang mengelola library/dependency dalam project. Menginstall, mengupdate, dan menghapus package beserta dependensinya. Contoh: npm (JS), Composer (PHP), pip (Python), apt (Linux).

Lihat juga: npm, Composer, Library

IDE

Integrated Development Environment — aplikasi untuk menulis kode dengan fitur lengkap: syntax highlighting, autocomplete, debugger, terminal terintegrasi. Populer: VS Code, PhpStorm, IntelliJ.

Lihat juga: CLI, Terminal, Text Editor

Regex

Regular Expression — pola (pattern) untuk mencari, mencocokkan, dan memanipulasi teks. Didukung di hampir semua bahasa pemrograman.

Lihat juga: JavaScript, PHP, String

Caching

Teknik menyimpan hasil komputasi/data sementara di memori cepat (RAM, Redis) agar akses berikutnya lebih cepat. Cache bisa di level browser, server, database, atau aplikasi.

Unit Testing

Menguji unit terkecil dari kode (fungsi, method, class) secara terisolasi. Memastikan setiap bagian berfungsi dengan benar sebelum diintegrasikan.

Lihat juga: Testing, Debugging, PHP

Event

Aksi atau kejadian yang dipicu oleh sistem atau pengguna (klik, submit, scroll, timer). Event bisa di-handle dengan event listener atau event handler.

Security

Authentication

Proses verifikasi identitas pengguna. Biasanya menggunakan username/password, token JWT, atau OAuth. Memastikan bahwa pengguna adalah siapa yang mereka klaim.

Lihat juga: Authorization, JWT, OAuth

Authorization

Proses menentukan apa yang boleh diakses oleh pengguna yang sudah terautentikasi. Memisahkan peran seperti admin, user, dan guest.

CSRF

Cross-Site Request Forgery — serangan yang memaksa pengguna terautentikasi mengirim request yang tidak diinginkan. Dilindungi dengan token CSRF di form.

HTTPS

HTTP Secure — versi aman dari HTTP yang mengenkripsi komunikasi antara browser dan server menggunakan SSL/TLS. Wajib untuk website modern.

Lihat juga: HTTP, SSL, Security

JWT

JSON Web Token — standar untuk membuat token autentikasi yang aman. Token berisi data dalam format JSON yang ditandatangani digital. Banyak digunakan di REST API.

SSL/TLS

Secure Sockets Layer / Transport Layer Security — protokol keamanan yang mengenkripsi data antara browser dan server. HTTPS menggunakan SSL/TLS. Sertifikat SSL bisa gratis (Let's Encrypt) atau berbayar.

Lihat juga: HTTPS, Security, Server

XSS

Cross-Site Scripting — serangan yang menyuntikkan kode JavaScript berbahaya ke halaman web. Dicegah dengan sanitasi input dan encoding output.

Lihat juga: CSRF, Security, PHP

SQL Injection

Serangan yang menyuntikkan query SQL berbahaya melalui input pengguna. Dicegah dengan menggunakan prepared statement / parameterized query (PDO, Eloquent ORM).

Lihat juga: SQL, Security, Database

API Key

Kode unik yang digunakan untuk autentikasi saat mengakses API. API key dikirim via header (Authorization) atau query parameter. Harus disimpan rahasia, jangan di commit ke Git.

Laravel

Blade

Template engine bawaan Laravel yang memungkinkan penulisan kode PHP di view dengan sintaks yang bersih dan aman dari XSS.

Lihat juga: Laravel, PHP, MVC

Eloquent

ORM (Object Relational Mapping) bawaan Laravel yang memungkinkan interaksi dengan database menggunakan sintaks PHP OOP, bukan SQL mentah.

Lihat juga: Laravel, ORM, Database

Laravel

Framework PHP open-source dengan arsitektur MVC. Menyediakan fitur lengkap: Eloquent ORM, Blade templating, Artisan CLI, queue, dan ekosistem tools yang luas.

Lihat juga: PHP, Eloquent, Blade

Middleware

Lapisan software yang memproses request HTTP sebelum mencapai route handler. Digunakan untuk autentikasi, logging, CORS, validasi, dan rate limiting.

Routing

Mekanisme yang menentukan bagaimana aplikasi merespon request ke URL tertentu. Router memetakan URL pattern ke handler atau controller.

Lihat juga: Laravel, MVC, Controller

Queue

Mekanisme menjalankan tugas berat (email, processing file, API call) secara asynchronous di background. Mencegah timeout request dan meningkatkan user experience.

Devops

CLI

Command Line Interface — antarmuka berbasis teks untuk berinteraksi dengan sistem operasi atau aplikasi. Developer menggunakan CLI untuk git, npm, composer, dan tools lainnya.

Lihat juga: Git, Terminal, Bash

Docker

Platform containerization yang memungkinkan aplikasi berjalan dalam lingkungan terisolasi. Container lebih ringan dari virtual machine karena berbagi kernel OS.

Lihat juga: DevOps, Linux, CI/CD

Git

Version Control System (VCS) yang melacak perubahan file dalam project. Memungkinkan kolaborasi tim, branching, dan rollback ke versi sebelumnya.

Lihat juga: GitHub, CLI, DevOps

GitHub

Platform cloud untuk hosting repository Git. Menyediakan fitur kolaborasi: pull request, issues, actions (CI/CD), dan project management.

Lihat juga: Git, CI/CD, DevOps

Linux

Sistem operasi open-source yang dominan di server dan cloud computing. Distribusi populer: Ubuntu, Debian, CentOS. Developer wajib tahu dasar Linux.

Lihat juga: CLI, DevOps, Server

Git config git

Perintah git config digunakan untuk mengatur konfigurasi global atau lokal Git: nama, email, editor, alias, dan lainnya.

Lihat juga: Git, CLI, GitHub

CI/CD

Continuous Integration / Continuous Deployment — praktik otomatisasi testing dan deployment. Setiap perubahan kode otomatis di-test dan di-deploy ke production.

Lihat juga: GitHub, DevOps, Docker

Terminal

Interface berbasis teks untuk berinteraksi dengan sistem operasi. Developer menggunakan terminal untuk menjalankan command, script, Git, dan tools development lainnya.

Lihat juga: CLI, Linux, Bash

Deployment

Proses memindahkan dan menjalankan aplikasi dari environment development ke production server. Meliputi build, testing, database migration, dan konfigurasi server.

Lihat juga: CI/CD, DevOps, Server

Environment Variable

Nilai konfigurasi yang disimpan di luar kode, biasanya di file .env atau system environment. Memisahkan konfigurasi (DB password, API key) dari source code.

Lihat juga: Deployment, Security, PHP

SSH

Secure Shell — protokol untuk mengakses server jarak jauh secara aman melalui koneksi terenkripsi. Wajib untuk mengelola server Linux/VPS.

Lihat juga: Linux, Server, Security

Web Server

Software yang melayani request HTTP dan mengirimkan konten web ke browser. Populer: Nginx (ringan, cepat), Apache (fleksibel, banyak fitur), Caddy (HTTPS otomatis).

Lihat juga: Linux, Server, HTTPS

Php

Composer

Dependency manager untuk PHP. Digunakan untuk menginstall library dan framework PHP seperti Laravel, PhpSpreadsheet, dll.

Lihat juga: PHP, Laravel, npm

PHP

Hypertext Preprocessor — bahasa scripting server-side yang paling banyak digunakan untuk web. Lebih dari 75% website menggunakan PHP. Framework populer: Laravel, CodeIgniter, Symfony.

Lihat juga: Laravel, Composer, MySQL

Frontend

CSS

Cascading Style Sheets — bahasa stylesheet yang mengatur tampilan elemen HTML: warna, ukuran, layout, animasi, dan responsive design.

Lihat juga: HTML, JavaScript, Flexbox

HTML

HyperText Markup Language — bahasa markup standar untuk membuat struktur halaman web. Setiap elemen web dimulai dari tag HTML.

Lihat juga: CSS, JavaScript, HTML5

Responsive

Desain website yang menyesuaikan tampilan secara otomatis di berbagai ukuran layar (desktop, tablet, mobile). Dicapai dengan CSS media queries, flexbox, grid, dan viewport units.

Lihat juga: CSS, Flexbox, Grid CSS

Database

Database

Kumpulan data terstruktur yang disimpan secara elektronik. Relational database (MySQL, PostgreSQL) menyimpan data dalam tabel. NoSQL (MongoDB) menggunakan dokumen atau graph.

Lihat juga: MySQL, SQL, MongoDB

MongoDB

Database NoSQL berbasis dokumen yang menyimpan data dalam format BSON (mirip JSON). Cocok untuk data yang strukturnya dinamis atau tidak tetap.

Lihat juga: Database, NoSQL, JSON

MySQL

Sistem database relasional (RDBMS) open-source paling populer di dunia. Banyak digunakan bersama PHP untuk aplikasi web dinamis.

Lihat juga: SQL, Database, PHP

NoSQL

Database non-relasional yang tidak menggunakan tabel dan SQL. Jenis: document (MongoDB), key-value (Redis), graph (Neo4j), column-family (Cassandra). Cocok untuk data tidak terstruktur.

Lihat juga: MongoDB, Database, JSON

SQL

Structured Query Language — bahasa standar untuk mengelola database relasional. Mencakup DDL (CREATE, ALTER, DROP) dan DML (SELECT, INSERT, UPDATE, DELETE).

Lihat juga: MySQL, Database, ORM

Database Migration

Version control untuk skema database. Migration memungkinkan perubahan struktur tabel secara terorganisir, bisa di-rollback jika terjadi error.

Lihat juga: Laravel, Database, MySQL

Stored Procedure

Kumpulan perintah SQL yang disimpan di database dan bisa dipanggil berulang kali. Meningkatkan performa karena query sudah di-compile.

Lihat juga: MySQL, SQL, Database

Index

Struktur data di database yang mempercepat pencarian data. Mirip indeks di buku — tanpa indeks, database harus scan seluruh tabel (full table scan).

Lihat juga: MySQL, SQL, Performance

Css

Flexbox

Model layout CSS satu dimensi yang memudahkan pengaturan elemen dalam baris atau kolom. Ideal untuk navigation bar, card grid, dan centering elemen.

Lihat juga: CSS, Grid, Responsive

Grid CSS

Model layout CSS dua dimensi yang memungkinkan pengaturan elemen dalam baris DAN kolom secara bersamaan. Cocok untuk layout halaman kompleks.

Lihat juga: CSS, Flexbox, Responsive