๐Ÿ”ฌ Fundamental Komputer

Memahami Bagaimana Data Bekerja dari Level Terendah

Biner โ€ข ASCII โ€ข Hexadecimal โ€ข OSI Layer

๐Ÿ“š Apa yang Akan Anda Pelajari?

Dengan memahami fundamental ini, Anda akan memiliki pondasi yang kuat untuk belajar bahasa pemrograman apa pun (PHP, Python, JavaScript, Go, Rust, dll).

๐Ÿงช Eksperimen & Praktik

Pilih tool yang ingin Anda gunakan untuk belajar:

๐Ÿ“– Konsep Dasar yang Harus Dipahami

1. Sistem Bilangan Biner (Basis-2)

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)

2. Tabel Nilai Tempat Biner

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โฐ

3. Byte dan Karakter

๐Ÿ“ Definisi:
โ€ข 1 bit = satu digit biner (0 atau 1)
โ€ข 1 byte = 8 bit (contoh: 01001000)
โ€ข 1 karakter = biasanya 1 byte (untuk ASCII)
โ€ข 1 KB = 1024 byte
โ€ข 1 MB = 1024 KB

4. ASCII (American Standard Code for Information Interchange)

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

5. Hexadecimal (Basis-16)

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

๐ŸŒ 7 OSI Layer (Open Systems Interconnection)

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
๐Ÿ’ก Analogi Sederhana:
Bayangkan mengirim surat:
โ€ข Layer 7: Anda menulis surat (aplikasi)
โ€ข Layer 6: Anda menulis dalam bahasa Indonesia (encoding)
โ€ข Layer 5: Anda membuka amplop (session)
โ€ข Layer 4: Anda masukkan ke kotak pos (transport)
โ€ข Layer 3: Alamat tujuan & kode pos (network)
โ€ข Layer 2: Mobil pos mengantar (data link)
โ€ข Layer 1: Jalan raya yang dilalui (physical)

๐Ÿ”„ Alur Data: Dari PHP ke Browser

Inilah yang terjadi saat Anda menjalankan kode PHP echo "H";:

  1. PHP di Server (Layer 7):
    • Interpreter PHP membaca kode echo "H";
    • Menghasilkan byte: 0x48 atau 01001000
    • Byte ini disimpan di memori server
  2. Web Server (Layer 7 โ†’ 4):
    • Apache/Nginx membungkus byte dengan header HTTP
    • Menambahkan: Content-Type: text/html; charset=utf-8
    • Serahkan ke sistem operasi untuk dikirim
  3. OS & Jaringan (Layer 4 โ†’ 1):
    • TCP memecah data jadi segment (Layer 4)
    • IP menambahkan alamat tujuan (Layer 3)
    • Ethernet menambahkan MAC address (Layer 2)
    • Kabel/WiFi mengirim sebagai sinyal listrik/radio (Layer 1)
  4. Browser Menerima (Layer 1 โ†’ 7):
    • Sinyal diterima dan dikonversi jadi bit (Layer 1)
    • Frame Ethernet diparse (Layer 2)
    • Paket IP diperiksa (Layer 3)
    • TCP segment direkonstruksi (Layer 4)
    • HTTP response diparse (Layer 7)
    • Byte 0x48 di-decode jadi karakter "H" (Layer 6)
    • Browser render "H" ke layar

๐ŸŽฏ Poin Penting:

Di setiap layer, data tetap berupa biner (0 dan 1). Yang berubah adalah cara data tersebut dibungkus dan diinterpretasikan.

๐Ÿ’ก Tips Belajar Efektif

Latihan yang Disarankan:

  1. Konversi nama Anda ke biner manually (pakai tabel nilai tempat)
  2. Cek hasilnya di eksperimen.php
  3. Coba karakter spesial: @, #, $, spasi
  4. Pahami kenapa "A" (65) dan "a" (97) berbeda 32
  5. Eksplorasi angka 0-9 di ASCII (48-57)

๐Ÿ“‹ Referensi Cepat

Prefix Penanda Bilangan

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 ASCII Penting

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)