Sistem Bilangan Oktal
Memahami Basis 8
Pelajari Tentang OktalOktal (basis 8) menjembatani biner dan keterbacaan manusia. Meskipun heksadesimal telah sebagian besar menggantikannya dalam komputasi modern, oktal tetap penting dalam permission file Unix dan beberapa konteks pemrograman. Memahami oktal memberikan wawasan tentang desain sistem bilangan dan sejarah komputer.
Cara Kerja Oktal
Nilai Posisional
Setiap posisi adalah pangkat 8:
- ...512, 64, 8, 1 (8³, 8², 8¹, 8⁰)
Contoh: 752 (oktal)
- 7 × 64 = 448
- 5 × 8 = 40
- 2 × 1 = 2
- Total = 490 (desimal)
Mengapa Hanya 0-7?
Ketika mencapai 8, kamu carry ke posisi berikutnya:
- Desimal 7 = 7 oktal
- Desimal 8 = 10 oktal
- Desimal 9 = 11 oktal
Perbandingan Oktal-Desimal
| Desimal | Oktal | Biner |
|---|---|---|
| 0 | 0 | 000 |
| 5 | 5 | 101 |
| 7 | 7 | 111 |
| 8 | 10 | 1000 |
| 10 | 12 | 1010 |
| 16 | 20 | 10000 |
| 64 | 100 | 1000000 |
| 100 | 144 | 1100100 |
| 255 | 377 | 11111111 |
| 512 | 1000 | 1000000000 |
Oktal dan Biner
Hubungan kuncinya: setiap digit oktal sama dengan tepat 3 digit biner.
Oktal ke Biner
Konversi setiap digit ke 3 bit:
- 0 = 000, 1 = 001, 2 = 010, 3 = 011
- 4 = 100, 5 = 101, 6 = 110, 7 = 111
Contoh: 752 (oktal) ke biner
- 7 = 111
- 5 = 101
- 2 = 010
- Hasil: 111101010
Biner ke Oktal
Kelompokkan bit dalam tiga dari kanan:
- 111101010 → 111 | 101 | 010 → 7 5 2
Oktal dalam Permission File Unix
Penggunaan oktal yang paling umum saat ini adalah permission file Unix/Linux.
Bit Permission
- r (baca): 4
- w (tulis): 2
- x (eksekusi): 1
Tiga Kategori
- Pemilik: Digit pertama
- Grup: Digit kedua
- Lainnya: Digit ketiga
Permission Umum
| Oktal | Arti | Simbol |
|---|---|---|
| 755 | Pemilik: semua, Lainnya: baca+eksekusi | rwxr-xr-x |
| 644 | Pemilik: baca+tulis, Lainnya: baca | rw-r--r-- |
| 777 | Semua orang: semua permission | rwxrwxrwx |
| 600 | Pemilik: baca+tulis saja | rw------- |
Sejarah: Mengapa Oktal?
Komputasi Awal
- Beberapa komputer awal menggunakan word 12, 24, atau 36-bit
- Ini terbagi rata dengan 3
- Oktal memberikan representasi yang bersih
- PDP-8 (12-bit) dan PDP-10 (36-bit) menggunakan oktal secara ekstensif
Peralihan ke Heksadesimal
- Byte 8-bit menjadi standar (IBM 360)
- 8 bit = 2 digit hex (cocok sempurna)
- 8 bit = 2,67 digit oktal (canggung)
- Hex menang untuk sebagian besar keperluan
Oktal dalam Pemrograman
Notasi
- C/C++/JavaScript: Awalan 0 (berbahaya!)
- Python 3: Prefiks 0o (jelas)
- Beberapa bahasa: 0o atau @
Bahaya Awalan Nol
Dalam C dan JavaScript:
010= 8 (oktal!), bukan 100777= 511 (sering untuk permission)
Ini menyebabkan bug ketika orang secara tidak sengaja menulis 010 mengharapkan desimal 10.
Praktik Modern
- Python 3 mewajibkan prefiks 0o secara eksplisit
- Banyak panduan gaya tidak menyarankan oktal implisit
- Literal oktal terutama digunakan untuk permission file
Mengonversi Desimal ke Oktal
Metode: Pembagian Berulang dengan 8
- Bagi dengan 8, catat sisa
- Bagi hasil bagi dengan 8, catat sisa
- Ulangi sampai hasil bagi 0
- Baca sisa dari bawah ke atas
Contoh: 500 (desimal) ke oktal
| Pembagian | Hasil Bagi | Sisa |
|---|---|---|
| 500 ÷ 8 | 62 | 4 |
| 62 ÷ 8 | 7 | 6 |
| 7 ÷ 8 | 0 | 7 |
Hasil: 764 (oktal)
Kesimpulan
Oktal (basis 8) secara historis penting dalam komputasi ketika ukuran word merupakan kelipatan 3 bit. Meskipun heksadesimal telah sebagian besar menggantikannya untuk penggunaan umum, oktal tetap penting untuk permission file Unix dan terkadang muncul dalam sistem legacy. Wawasan kuncinya adalah bahwa setiap digit oktal merepresentasikan tepat 3 bit biner, membuat konversi menjadi mudah. Memahami oktal membantu saat bekerja dengan sistem Unix, membaca kode legacy, atau mempelajari sejarah komputer.