Apa Itu Checksum?
Checksum adalah nilai pendek yang dihitung dari sebuah blok data, seperti file atau paket jaringan, lalu disimpan atau dikirim bersama data itu. Menghitungnya lagi belakangan dan membandingkan kedua nilainya menunjukkan apakah data itu berubah karena rusak atau karena kesalahan saat pengiriman.
Diperbarui 24 September 2026
| Checksum | Dikirim | Diterima | Hasil |
|---|---|---|---|
| Jumlah byte (mod 256) | CD | CD | Cocok |
| CRC-32 | EFA6C523 | EFA6C523 | Cocok |
Balik satu bit, dan kedua checksum berubah. Tukar dua karakter, dan semua byte-nya masih ada, jadi jumlahnya tetap sama: hanya CRC-32, yang bergantung pada urutan, yang menyadarinya.
Distribusi Linux seperti Ubuntu dan Debian menerbitkan file bernama SHA256SUMS di samping image installer mereka. Setiap barisnya berisi string 64 karakter dan sebuah nama file. Setelah unduhanmu selesai, kamu menjalankan satu perintah pada file yang kamu terima. Kalau perintah itu mencetak string yang sama, berarti miliaran byte di dalamnya tiba dengan utuh. Kalau satu bit saja berubah di perjalanan, string yang keluar akan berbeda sama sekali.
String itu adalah checksum: ringkasan kecil yang berubah saat datanya berubah.
Cara kerja checksum, langkah demi langkah
- Pengirim menjalankan algoritma checksum pada data, byte demi byte, dan mendapatkan hasil yang pendek.
- Hasil itu ikut dikirim atau disimpan bersama datanya: di header sebuah paket jaringan, di dalam file ZIP di samping setiap file yang dikompres, atau di halaman unduhan.
- Penerima menjalankan algoritma yang sama pada data yang benar-benar diterimanya.
- Kedua hasil dibandingkan. Kalau sama, datanya hampir pasti tidak berubah. Kalau berbeda, datanya rusak, dan penerima menolaknya, memintanya lagi, atau menampilkan checksum error.
Checksum hanya mendeteksi kerusakan; checksum tidak bisa memberi tahu byte mana yang berubah atau memperbaikinya. Perbaikan butuh error-correcting code, seperti kode Reed-Solomon di CD dan kode QR.
Checksum yang paling sederhana menjumlahkan semua byte dan menyimpan 8 bit terakhir dari totalnya. Jalankan ini untuk melihat di mana ide itu berhasil dan di mana ia gagal:
original sum= 78 crc32=a1628836
flipped sum= 80 crc32=a597580b
swapped sum= 78 crc32=59dbf74b
Mengubah satu karakter mengubah jumlahnya. Menukar dua karakter tidak, karena penjumlahan tidak peduli urutan, jadi jumlah byte itu menyetujui pembayaran 10, bukan 100. CRC-32 (cyclic redundancy check) memperlakukan data sebagai satu bilangan biner yang panjang dan membaginya dengan polinomial 33-bit yang tetap; sisa pembagian 32-bit-nya bergantung pada posisi setiap bit, jadi pertukaran itu tertangkap. Demo di atas membuatmu bisa mencobanya dengan teksmu sendiri. CRC-32 menangkap setiap rentetan error sepanjang sampai 32 bit.
Algoritma checksum yang umum
| Algoritma | Ukuran | Tempat kamu menemuinya |
|---|---|---|
| Parity bit | 1 bit | Koneksi serial, memori parity |
| Digit pemeriksa Luhn | 1 digit | Nomor kartu kredit, nomor IMEI |
| Internet checksum | 16 bit | Header IPv4, TCP, dan UDP |
| Adler-32 | 32 bit | Format kompresi zlib |
| CRC-32 | 32 bit | ZIP, gzip, PNG, frame Ethernet |
| MD5 | 128 bit | Halaman unduhan lama, pencari file duplikat |
| SHA-256 | 256 bit | Unduhan software, image Linux, Bitcoin |
Lima yang pertama menangkap ketidaksengajaan, bukan penyerang. Orang yang mengedit sebuah file bisa menyesuaikan beberapa byte supaya CRC-32-nya cocok lagi. MD5 dan SHA-256 adalah fungsi hash kriptografis, yang dirancang supaya menemukan dua input dengan output yang sama tidak praktis. MD5 sejak itu sudah dibobol (collision dipublikasikan pada 2004), begitu juga SHA-1 (2017), jadi unduhan yang sensitif secara keamanan memakai SHA-256 atau yang lebih kuat. MD5 masih menangkap kerusakan yang tidak disengaja dengan sangat baik.
Cara memverifikasi checksum
Di komputermu sendiri, setiap sistem operasi punya perintah bawaan:
# Windows (PowerShell)
Get-FileHash ubuntu.iso -Algorithm SHA256
# macOS
shasum -a 256 ubuntu.iso
# Linux
sha256sum ubuntu.iso
Bandingkan output-nya dengan nilai di halaman unduhan resmi; huruf besar atau kecil tidak berpengaruh. Di Python, hashlib melakukan pemeriksaan yang sama, dengan membaca file per potongan supaya file 6 GB tidak pernah harus muat di memori:
a948904f2f0f479b8f8197694b30184b0d2ed1c1cd2a1ec0fb85d299a192a447
OK
Ubah hello world menjadi hello World lalu jalankan lagi: setiap karakter checksum-nya berubah, dan baris terakhir mencetak Checksum mismatch.
Apa itu checksum error?
Checksum error berarti pemeriksaannya gagal: nilai yang dihitung dari data yang kamu punya tidak cocok dengan nilai yang disimpan atau dikirim bersamanya. Entah datanya berubah, atau checksum yang tersimpan itu yang rusak. Pesan dan cara mengatasinya bergantung pada tempat error itu muncul.
CMOS atau BIOS checksum error saat startup
Firmware sebuah PC (BIOS atau UEFI) menyimpan pengaturannya, seperti urutan boot dan jam, di memori kecil yang tetap hidup berkat baterai koin, biasanya CR2032, selama komputer tidak dicolokkan. Checksum dari pengaturan itu disimpan di sampingnya. Setiap kali komputer menyala, firmware menghitungnya ulang, dan kalau nilainya berbeda, firmware menampilkan pesan seperti CMOS Checksum Error - Defaults Loaded dan kembali ke pengaturan pabrik.
Penyebab yang biasa adalah baterai yang lemah atau mati, terutama kalau jamnya juga ikut ter-reset. Listrik padam saat pengaturan sedang disimpan, atau mengosongkan CMOS dengan jumper, punya efek yang sama. Cara mengatasinya:
- Buka layar setup (biasanya Delete atau F2 saat PC menyala), atur tanggal, jam, dan pengaturan apa pun yang pernah kamu ubah, lalu simpan dan keluar (sering kali F10). Kalau pesannya tidak muncul lagi, itu kejadian sekali saja.
- Kalau pesannya muncul lagi setiap kali komputer dinyalakan dari keadaan mati, matikan komputer, cabut kabelnya, lalu ganti baterai CR2032.
- Kalau pesannya menyebut firmware itu sendiri, seperti
BIOS ROM checksum erroratauMain BIOS checksum error, berarti image firmware-nya rusak. Motherboard dengan chip BIOS cadangan memulihkannya secara otomatis; pada motherboard lain, pakai fitur pemulihan BIOS dari motherboard itu atau flash ulang firmware dari situs produsennya, tanpa memutus listrik selama update berlangsung.
Checksum mismatch setelah mengunduh
SHA-256 file-mu tidak cocok dengan yang ada di halaman unduhan. File-nya mungkin tidak lengkap atau rusak (koneksi terputus, disk penuh), mungkin kamu membandingkannya dengan checksum file lain (versi atau arsitektur CPU yang berbeda), atau mungkin kamu membandingkan dua algoritma yang berbeda: nilai MD5 berisi 32 karakter hex, nilai SHA-256 berisi 64. Kasus yang jarang: file-nya sudah diutak-atik.
Periksa algoritma dan nama file-nya, lalu unduh lagi file-nya dari situs resmi. Kalau salinan baru dari sumber resmi tetap tidak cocok, jangan jalankan file itu. Package manager melakukan pemeriksaan ini untukmu: pip berhenti dengan THESE PACKAGES DO NOT MATCH THE HASHES saat package yang diunduh berbeda dari hash yang dipatok.
Checksum error di arsip ZIP, RAR, atau 7z
Format arsip menyimpan CRC-32 dari isi asli setiap file. Saat kamu mengekstrak, tool-nya menghitung ulang nilai itu; WinRAR melaporkan ketidakcocokan sebagai Checksum error dan 7-Zip sebagai CRC Failed. Untuk arsip terenkripsi, password yang salah menghasilkan pesan yang sama, karena password yang salah mendekripsi isinya menjadi data sampah. Unduh lagi arsipnya, pastikan setiap bagian arsip yang terpecah (.part1.rar, .part2.rar) lengkap dan berasal dari unggahan yang sama, lalu ketik ulang password-nya. Perintah Repair archive di WinRAR bekerja paling baik pada arsip yang dibuat dengan recovery record, dan opsi "Keep broken files" menyimpan apa pun yang berhasil diekstrak dengan benar.
Checksum error di game dan tool jaringan
Game membandingkan checksum file-file-nya, jadi update yang setengah jalan atau file yang diubah akan gagal dalam pemeriksaan. Di Steam, "Verify integrity of game files" mengunduh ulang setiap file yang checksum-nya tidak cocok. Di Wireshark, peringatan checksum pada paket yang dikirim komputermu sendiri biasanya bukan error sungguhan: kartu jaringan mengisi checksum-nya setelah Wireshark menangkap paket itu.
Kesalahpahaman yang umum
- "Checksum yang cocok membuktikan file itu aman." Checksum itu membuktikan bahwa file-nya cocok dengan nilai yang dipublikasikan. Kalau penyerang menguasai website-nya, ia bisa mengubah keduanya, itulah sebabnya proyek-proyek juga menandatangani file checksum mereka dengan sebuah key.
- "Checksum bisa memperbaiki file yang rusak." Checksum hanya mendeteksi kerusakannya. Cara memperbaikinya adalah mendapatkan salinan yang baik.
- "Checksum dan hash adalah dua hal yang berbeda." Checksum menggambarkan tugasnya; fungsi hash seperti SHA-256 adalah salah satu tool yang bisa melakukannya.
Lanjut ke mana
Hitung nilai MD5, SHA-1, dan SHA-256 dari teks apa pun di hash generator. Checksum bekerja pada data mentah, jadi apa itu byte dan apa itu bit menjelaskan apa yang sebenarnya dijumlahkan. Sebuah database memakai checksum per page untuk menangkap kerusakan disk, dan visualisasi hash table menunjukkan kegunaan lain dari nilai pendek yang dihitung dari data.
Pertanyaan yang sering diajukan
Apakah SHA-256 termasuk checksum?
Ya, kalau dipakai untuk memverifikasi data. SHA-256 adalah fungsi hash kriptografis, dan nilai 64 karakter yang dihasilkannya untuk sebuah file biasa disebut checksum SHA-256 file itu. SHA-256 lebih lambat daripada CRC-32, tetapi juga melindungi dari perubahan yang disengaja, karena secara praktis tidak ada yang bisa membuat file berbeda dengan nilai SHA-256 yang sama.
Bagaimana cara mengatasi checksum error?
Tergantung di mana error itu muncul. Saat booting, buka setup BIOS, periksa tanggal dan pengaturannya, simpan lalu keluar, dan ganti baterai koin CMOS kalau error-nya muncul lagi. Setelah mengunduh atau di dalam arsip, unduh lagi file-nya dari sumber resmi dan pastikan setiap bagian arsip yang terpecah lengkap dan password-nya benar.
Apa penyebab checksum error?
Datanya berubah di antara saat checksum-nya dihitung dan saat checksum itu diperiksa. Penyebab yang umum adalah unduhan yang terputus, disk atau flashdisk USB yang mulai rusak, baterai CMOS yang lemah, listrik padam saat pengaturan atau firmware sedang ditulis, dan password yang salah pada arsip terenkripsi.
Kenapa checksum dibutuhkan?
Penyimpanan dan jaringan tidak sempurna. Bit bisa berubah karena derau listrik, interferensi radio, flash memory yang aus, atau disk yang rusak, dan tanpa pemeriksaan, data yang rusak itu akan dipakai diam-diam. Checksum adalah cara murah untuk menyadari kerusakan itu, supaya datanya bisa dikirim ulang atau ditolak.
Bagaimana cara membuat checksum?
sha256sum file di Linux, shasum -a 256 file di macOS, atau Get-FileHash file di Windows PowerShell. Di Python, hashlib.sha256(data).hexdigest() menghasilkan checksum SHA-256 dan zlib.crc32(data) menghasilkan CRC-32.