Compare: Pengertian, Cara Kerja, dan Contoh Perintahnya

A A

Ilustrasi: Istilah dalam Teknologi, Telekomunikasi dan Informasi. [Cekricek.id]

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.

Bagikan

Baca Juga

V.42bis
V.90
VAX (Virtual Address eXtensio)
V.34
V.32
V.42