Memahami Bagaimana Data Bekerja dari Level Terendah
Biner โข ASCII โข Hexadecimal โข OSI Layer
Dengan memahami fundamental ini, Anda akan memiliki pondasi yang kuat untuk belajar bahasa pemrograman apa pun (PHP, Python, JavaScript, Go, Rust, dll).
Pilih tool yang ingin Anda gunakan untuk belajar:
Komputer hanya memahami dua keadaan: 0 (mati/tidak ada listrik) dan 1 (hidup/ada listrik). Ini disebut bit (binary digit).
Cara Membaca Biner:
01001000 = (0ร128) + (1ร64) + (0ร32) + (0ร16) + (1ร8) + (0ร4) + (0ร2) + (0ร1)
= 64 + 8 = 72 (desimal)
| Posisi | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|
| Nilai | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| Rumus | 2โท | 2โถ | 2โต | 2โด | 2ยณ | 2ยฒ | 2ยน | 2โฐ |
ASCII adalah kamus standar yang menyepakati angka berapa untuk karakter apa. Contoh:
| Karakter | Desimal | Hex | Biner |
|---|---|---|---|
| A | 65 | 0x41 | 01000001 |
| B | 66 | 0x42 | 01000010 |
| a | 97 | 0x61 | 01100001 |
| 0 | 48 | 0x30 | 00110000 |
| spasi | 32 | 0x20 | 00100000 |
Hexadecimal adalah cara singkat menulis biner. Setiap 4 bit biner = 1 digit hex.
Contoh Konversi:
Biner: 0100 1000
โโโฌโโ โโโฌโโ
4 8 โ Setiap 4 bit jadi 1 digit hex
Hex: 0x48
Kenapa pakai 0x? Penanda bahwa ini format hex, bukan desimal. 0x48 (hex) = 72 (desimal)
| Desimal | Hex | Biner |
|---|---|---|
| 0-9 | 0-9 | 0000-1001 |
| 10 | A | 1010 |
| 11 | B | 1011 |
| 12 | C | 1100 |
| 13 | D | 1101 |
| 14 | E | 1110 |
| 15 | F | 1111 |
Model OSI menjelaskan bagaimana data mengalir dari aplikasi Anda ke kabel jaringan dan sebaliknya:
| Layer | Nama | Fungsi | Contoh |
|---|---|---|---|
| 7 | Application | Interface ke user/aplikasi | HTTP, FTP, SMTP, PHP, Browser |
| 6 | Presentation | Encoding, enkripsi, kompresi | ASCII, UTF-8, SSL/TLS, JPEG |
| 5 | Session | Mengelola sesi/koneksi | Session ID, Cookies, Keep-alive |
| 4 | Transport | Transfer data end-to-end | TCP, UDP, Port numbers |
| 3 | Network | Routing dan addressing | IP, ICMP, Router |
| 2 | Data Link | Transfer frame antar node | Ethernet, MAC address, Switch |
| 1 | Physical | Transmisi bit sebagai sinyal | Kabel, WiFi, Fiber optic, Hub |
Inilah yang terjadi saat Anda menjalankan kode PHP echo "H";:
echo "H";0x48 atau 01001000Content-Type: text/html; charset=utf-80x48 di-decode jadi karakter "H" (Layer 6)๐ฏ Poin Penting:
Di setiap layer, data tetap berupa biner (0 dan 1). Yang berubah adalah cara data tersebut dibungkus dan diinterpretasikan.
eksperimen.php@, #, $, spasi| Format | Prefix | Contoh | Nilai |
|---|---|---|---|
| Desimal (basis-10) | (tidak ada) | 72 | 72 |
| Hexadecimal (basis-16) | 0x | 0x48 | 72 |
| Binary (basis-2) | 0b | 0b01001000 | 72 |
| Octal (basis-8) | 0 | 0110 | 72 |
| Range | Karakter | Contoh |
|---|---|---|
| 0-31 | Control characters | NULL, TAB, ENTER |
| 32-47 | Simbol & spasi | spasi, !, ", #, $ |
| 48-57 | Angka 0-9 | 0 (48), 1 (49), ..., 9 (57) |
| 65-90 | Huruf A-Z (uppercase) | A (65), B (66), ..., Z (90) |
| 97-122 | Huruf a-z (lowercase) | a (97), b (98), ..., z (122) |