Blog — DedeIrwanto.Gitlab.IO
Dev Life, Cerita Kode dan Kopi.
Sudah hampir 5 tahun laptop HP 1000 saya tak terpakai. Selain karena teknologinya yang sudah usang, kebutuhan akan spesifikasi yang lebih tinggi untuk mengembangkan aplikasi membuatnya tak berdaya lagi.
Dari sinilah muncul sebuah ide sederahana: mengubah laptop lama tersebut menjadi perangkat Gallery Elektronik (E-Gallery) — semacam digital photo frame. Tujuannya? Supaya tetap berguna dan tidak sekedar mangkrak di gudang.

Teknologi yang Digunakan
Aplikasi E-Gallery ini saya buat menggunakan bahasa C, dengan bantuan library:
Di internet, sudah banyak referensi dan tulisan yang membahas pemrograman — khususnya bahasa C — secara sistematis dan lengkap. Tulisan ini saya susun sebagai catatan pribadi, dan semoga tetap bermanfaat bagi siapa pun yang membacanya.

Operand vs Operator
Dalam bahasa C terdapat 2 istilah penting, yaitu Operand dan Operator. Operand adalah nilai atau variabel yang digunakan pada suatu operasi, sedangkan operator adalah simbol atau tanda untuk melakukan operasi pada operand. Sebagai contoh:
Pada tulisan sebelumnya, sudah dibahas terkait memori pada komputer — secara umum — baik yang bersifat volatil maupun non-volatil.
Nah, pada tulisan ini akan dibahas sedikit lebih detail bagaimana cara memori menyimpan data, khususnya pada volatile memory seperti register, cache memory, dan RAM.

Struktur Fisik Memori
Secara fisik, memori terdiri dari jutaan sel, di mana setiap sel menyimpan 1 bit data, yaitu 0
atau 1
. Bit-bit ini digabungkan menjadi satuan data yang lebih besar:
Memori pada komputer berfungsi sebagai media penyimpanan data, baik yang bersifat sementara (volatil) maupun permanen (non-volatil). Memori volatil akan kehilangan data ketika aliran listrik terputus, sedangkan memori non-volatil bersifat permanen dan tetap menyimpan data meskipun komputer dimatikan.

Ilustrasi di atas menggambarkan hierarki memori komputer dalam bentuk piramida, di mana semakin ke atas piramida, akses memori menjadi semakin cepat.
Register
Register adalah komponen kecil dalam CPU yang berfungsi sebagai media penyimpanan sementara saat sebuah instruksi sedang dijalankan. Data yang disimpan bisa berupa nilai numerik, alamat memori, atau instruksi itu sendiri. Karena berada langsung di dalam CPU, register memiliki waktu akses sangat cepat — bahkan hanya dalam hitungan nanodetik.
Saat komputer dinyalakan, PSU (Power Supply Unit) mengalirkan listrik kesemua komponen, termasuk motherboard, CPU dan RAM. Setelah itu, komputer akan menjalankan POST (Power-On Self Test) melalui program yang disebut BIOS (Basic Input Output System), yang disimpan didalam ROM (Read Only Memory). Proses POST ini akan memeriksa komponen penting seperti CPU, RAM, Keyboard dan perangkat keras lainnya. Jika pemeriksaan berhasil, maka komputer akan melanjutkan ke tahap berikutnya. Namun jika gagal, komputer akan menampilkan kode error atau suara beep tertentu sebagai indikator kesalahan.
Dalam sistem komputer, data disimpan dalam satuan yang disebut byte, dan byte sendiri dapat dikelompokkan dalam unit memori yang lebih besar.

Unit of Memory
Dalam bahasa Indonesia berarti satuan memori. Satuan memori adalah ukuran kapasitas penyimpanan data dalam sistem komputer. Satuan ini digunakan untuk mengukur berapa banyak data yang dapat disimpan dalam memori komputer.
Bit (Binary Digit)
Bit adalah satuan terkecil dalam unit memori. Komputer sendiri merupakan perangkat elektronik yang menyimpan dan memproses data dalam bentuk biner. Bit-bit ini kemudian dirangkai menjadi byte untuk merepresentasikan informasi yang lebih kompleks, seperti teks, gambar, suara hingga video.
Saat kita menggunakan komputer untuk menyimpan atau memproses data, sebenarnya semua informasi yang kita lihat di layar — baik teks, gambar, atau suara — berasal dari sekumpulan angka. Namun komputer tidak menggunakan bilangan desimal (basis 10) seperti yang kita gunakan sehari-hari melainkan menggunakan bilangan biner (basis 2).

Bilangan Desimal
Desimal adalah bilangan yang umum digunakan oleh manusia dalam kehidupan sehari-hari. Bilangan ini disebut berbasis 10 karena mempunyai 10 digit angka yaitu 0 sampai dengan 9. Setiap digit angka mempunyai nilai posisi yang ditentukan oleh pangkat dari 10.