Compare adalah perintah dalam komputer yang membandingkan dua hal, misalnya dua bilangan, dua deret karakter, atau dua berkas, lalu menentukan hubungan keduanya: mana yang lebih besar, apakah keduanya sama, atau di bagian mana keduanya berbeda. Hasil perbandingan itu menjadi dasar bagi program untuk memilih langkah berikutnya, seperti melompat ke cabang tertentu atau menampilkan perbedaan.
Cara kerja compare di tingkat prosesor
Pada prosesor keluarga x86, compare diwujudkan sebagai instruksi CMP. Menurut Intel 64 and IA-32 Architectures Software Developer’s Manual, CMP membandingkan operan pertama dengan operan kedua dengan cara mengurangkan operan kedua dari operan pertama, lalu mengatur bendera status pada register EFLAGS sesuai hasilnya, tanpa menyimpan hasil pengurangan itu sendiri.
Bendera yang diatur, antara lain zero flag, sign flag, dan carry flag, kemudian dibaca oleh instruksi lompat bersyarat seperti JE (jump if equal), JG (jump if greater), atau JL (jump if less). Dengan demikian, satu instruksi compare diikuti satu instruksi lompat membentuk percabangan dasar yang menjadi tulang punggung struktur if, while, dan for dalam bahasa tingkat tinggi.
Compare dalam bahasa pemrograman
Bahasa tingkat tinggi menyediakan operator perbandingan yang diterjemahkan kompilator menjadi instruksi compare. Operator itu biasanya ditulis sebagai lebih besar, lebih kecil, sama dengan, dan tidak sama dengan, dan menghasilkan nilai benar atau salah. Banyak pustaka juga menyediakan fungsi bernama compare atau compareTo yang mengembalikan bilangan negatif, nol, atau positif untuk menyatakan urutan dua nilai.
Pada deret karakter, perbandingan dilakukan huruf demi huruf berdasarkan kode karakternya, sehingga urutan hasil compare mengikuti tabel pengodean yang dipakai, bukan selalu urutan abjad kamus.
Contoh perintah compare pada sistem operasi
Pada sistem Unix dan Linux, utilitas cmp yang ditetapkan standar POSIX (IEEE Std 1003.1) membandingkan dua berkas byte demi byte dan melaporkan posisi byte serta baris pertama tempat keduanya berbeda. Utilitas diff, yang juga ada dalam standar POSIX, membandingkan dua berkas teks baris demi baris dan mencetak baris yang perlu diubah agar keduanya sama.
Pada Windows, perintah fc (file compare) di Command Prompt menjalankan fungsi serupa untuk membandingkan isi dua berkas atau kumpulan berkas, dan perintah comp membandingkan dua berkas byte demi byte.
Perbedaan compare dengan operasi aritmetika
Compare mirip pengurangan, tetapi tujuannya bukan memperoleh selisih, melainkan status hubungan dua nilai. Karena itu instruksi compare tidak mengubah isi operan, berbeda dengan instruksi pengurangan yang menimpa operan tujuan dengan hasilnya. Kesamaan mekanismenya membuat compare hemat rangkaian, sebab memakai unit aritmetika yang sama.
Istilah terkait
Entri Kamus Telematika yang berhubungan dengan compare antara lain Operator Boolean untuk operasi logika yang mengolah hasil perbandingan, Operating Bitwise untuk operasi pada tingkat bit, Call Instruction dan Effective Instruction untuk jenis instruksi prosesor lainnya, serta RISC (Reduced Instruction Set Computer).
Rujukan
Sumber: Istilah-istilah dalam Bidang Teknologi, Telekomunikasi dan Informasi. Intel Corporation, Intel 64 and IA-32 Architectures Software Developer’s Manual, Volume 2, instruksi CMP. IEEE dan The Open Group, POSIX.1 (IEEE Std 1003.1), utilitas cmp dan diff. Microsoft Learn, dokumentasi perintah fc dan comp untuk Windows.
Istilah lain di Kamus Telematika dan Komputer
Lihat daftar lengkap Kamus Telematika dan Komputer
Koleksi lain: Kamus Perbankan · Kamus Lingkungan Hidup · Kamus Meteorologi · Kamus Perubahan Iklim · Kamus Kesehatan · Kamus Kemaritiman dan Investasi · Kamus Pembiayaan Perumahan · Kamus Ekonomi Syariah · Kamus Sejarah Indonesia









