Temukan bagian yang berubah di antara dua teks, per baris dan per karakter
Pembanding Teks menyejajarkan teks asli dan teks revisi baris demi baris. Baris yang hanya ada di teks revisi ditandai sebagai tambahan, baris yang hanya ada di teks asli sebagai penghapusan, dan baris yang punya pasangan tetapi isinya berubah sebagai perubahan. Di dalam baris yang diubah, perbandingan dilanjutkan per karakter atau per kata. Jika "Senin, 27 Oktober" menjadi "Selasa, 28 Oktober", hanya bagian yang benar-benar berganti yang disorot, misalnya "7" dan "8" pada tanggal.
Area kerja langsung diisi contoh pengumuman revisi, sehingga 3 baris diubah, 1 baris ditambah, 1 baris dihapus, dan kemiripan 78,6% langsung terlihat. Hapus isi kedua kolom lalu tempel teks Anda sendiri, dan perbandingan diperbarui setiap kali Anda mengetik. Teks dan berkas hanya diproses di dalam peramban ini.
Kapan membandingkan teks berguna
Jika dua teks dibaca bergantian dengan mata, perubahan beberapa karakter mudah terlewat. Pada teks yang maknanya bisa berubah hanya karena satu angka atau satu kata, pencocokan otomatis lebih cepat dan lebih teliti.
- Memeriksa hasil penyuntingan: untuk naskah yang diperbaiki editor, tulisan yang sudah melewati pemeriksa ejaan, atau kalimat yang dirapikan AI, Anda bisa melihat bagian mana yang berubah dan seberapa banyak. Perubahan yang tidak disengaja juga ikut ketahuan.
- Menerima revisi kontrak, syarat dan ketentuan, atau peraturan: pasal yang hanya berganti angka, seperti jangka waktu, nominal, atau tanggal, adalah yang paling berisiko. Dengan sorotan karakter, perubahan satu digit dari "2027" menjadi "2028" pun terlihat.
- Mengirim ulang pengumuman, siaran pers, atau surat edaran: sebelum mengirim versi revisi, kumpulkan baris yang berubah sebagai daftar perubahan, atau jelaskan kepada penerima apa yang berbeda dari yang dikirim sebelumnya.
- Memeriksa terjemahan, subtitle, dan daftar data: bandingkan dua terjemahan dari satu naskah, dua versi berkas subtitle, atau dua hasil ekspor daftar untuk menemukan baris yang hilang atau bertambah.
- Membandingkan berkas konfigurasi atau potongan kode: di komputer tanpa alat pengembang pun, Anda langsung mendapat selisih dua versi dalam format diff. Baris yang hanya berganti indentasi bisa disaring dengan opsi abaikan spasi.
Cara memakai
- Tempel teks lama di kolom A (teks asli) dan teks yang sudah diubah di kolom B (teks revisi). Tombol Berkas di tiap kolom membuka berkas teks atau DOCX, atau Anda bisa menjatuhkan berkas ke atas kolom.
- Ringkasan dan hasil berubah begitu Anda mengetik. Jika urutannya terbalik, tukar teks asli dan revisi dengan tombol ⇄ di antara kedua kolom.
- Aktifkan Abaikan spasi untuk mengabaikan beda spasi dan indentasi, atau Abaikan huruf besar/kecil untuk mengabaikan beda kapitalisasi.
- Di panel hasil, pilih tampilan Berdampingan atau Satu kolom, serta sorotan per Karakter atau per Kata. Untuk teks panjang, aktifkan Hanya perubahan, lalu pindah antarperubahan dengan tombol panah atas dan bawah, atau klik penanda di peta perubahan di sisi kanan.
- Untuk menyimpan hasil, tekan Salin diff atau Simpan. Untuk layar yang lebih lebar, gunakan Layar penuh.
Cara membaca hasil
Pada tampilan berdampingan, sisi kiri adalah teks asli dan sisi kanan teks revisi, dan baris yang diubah berhadapan pada baris yang sama. Pada tampilan satu kolom, baris sesudah perubahan (+) mengikuti tepat di bawah baris sebelum perubahan (−). Nomor baris adalah nomor baris sebenarnya di masing-masing dokumen.
| Tanda | Arti |
|---|---|
| ~ Diubah | Baris yang punya pasangan di kedua sisi tetapi isinya berbeda. Sisi teks asli berlatar merah, sisi teks revisi berlatar hijau, dan bagian yang berubah di dalam baris lebih pekat. |
| + Ditambah | Baris yang hanya ada di teks revisi. Pada tampilan berdampingan, kotak di sisi teks asli dibiarkan kosong dengan garis miring. |
| − Dihapus | Baris yang hanya ada di teks asli. Karakter yang hilang di dalam baris diberi latar pekat dan coretan, sehingga tetap terbaca meski warna sulit dibedakan. |
| = Sama | Baris yang sama di kedua teks. Jika Hanya perubahan diaktifkan, baris sama dilipat dan hanya dua baris sebelum dan sesudah perubahan yang tersisa. |
| ≈ | Baris yang dianggap sama karena Abaikan spasi atau Abaikan huruf besar/kecil. Karakternya berbeda, tetapi menurut kriteria yang dipilih dianggap sama. |
| · → ⍽ □ | Simbol yang menampakkan posisi perubahan yang hanya soal spasi. Berturut-turut: spasi biasa, tab, spasi tanpa jeda baris, dan spasi lebar penuh. |
| 200B | Jika karakter tak kasatmata, seperti spasi tanpa lebar (U+200B), terselip di bagian yang berubah, nomor Unicode-nya ditampilkan dalam kotak kecil. |
Cincin kemiripan di ringkasan menunjukkan seberapa sama kedua teks dari sisi karakter, dan batang menunjukkan proporsi baris yang sama, diubah, dihapus, dan ditambah. Pita sempit di kanan hasil adalah peta perubahan. Posisi perubahan ditandai dengan warna pada tinggi seluruh dokumen, sehingga pada teks panjang Anda langsung melihat di mana perubahan menumpuk dan bisa meloncat ke sana dengan sekali klik.
Hasil perbandingan pada contoh
Jika Anda menekan tiga tombol contoh di area kerja, hasil di bawah ini muncul persis seperti tertulis. Jumlah baris bukan jumlah baris pada panel hasil, melainkan banyaknya baris pada tiap kategori. Kemiripan dibulatkan ke bawah pada satu angka desimal.
| Contoh | Diubah | Ditambah | Dihapus | Sama | Kemiripan | Cara membaca |
|---|---|---|---|---|---|---|
| Pengumuman revisi | 3 | 1 | 1 | 3 | 78,6% | Ada baris yang diubah (tanggal, hari, jam, tempat), petunjuk hadir daring yang baru ditambahkan, dan baris notulen yang dihapus. |
| Pasal kontrak | 4 | 1 | 0 | 0 | 85,1% | Keempat pasal berstatus diubah dan Pasal 7 ditambahkan. Pada baris yang hanya berganti angka, hanya angka yang berubah yang disorot. |
| Berkas konfigurasi (apa adanya) | 5 | 1 | 0 | 2 | 81,4% | Indentasi diubah dari 2 menjadi 4 spasi, sehingga semua baris selain dua baris kurung kurawal tampil sebagai diubah. |
| Berkas konfigurasi (abaikan spasi) | 3 | 1 | 0 | 4 | 85,1% | Dua baris yang hanya beda indentasi dianggap sama, sehingga tersisa tiga baris dengan nilai berubah dan satu baris tambahan. |
Contoh berkas konfigurasi menunjukkan bahwa teks yang sama bisa menghasilkan perbandingan yang sangat berbeda tergantung kriterianya. Jika berkas yang aturan indentasinya diganti dibandingkan apa adanya, hampir semua baris tampil sebagai diubah dan nilai yang benar-benar berganti menjadi tenggelam.
Kapan mengaktifkan Abaikan spasi dan Abaikan huruf besar/kecil
Abaikan spasi membuang semua spasi, tab, dan spasi lebar penuh di dalam baris sebelum membandingkan. Abaikan huruf besar/kecil menyamakan huruf yang punya bentuk kapital menjadi huruf kecil. Kedua kriteria membiarkan pemisah baris apa adanya, sehingga perbedaan baris yang terpecah atau tergabung tetap terlihat. Pada tabel, tanda · menandai satu spasi.
| Baris asli | Baris revisi | Standar | Abaikan spasi | Abaikan besar/kecil | Keduanya | Selisih |
|---|---|---|---|---|---|---|
Jakarta·Pusat | JakartaPusat | Diubah | Sama | Diubah | Sama | Beda satu spasi. |
··"port":·8080, | ····"port":·8080, | Diubah | Sama | Diubah | Sama | Indentasi 2 spasi dan 4 spasi. |
Spasi·di·akhir· | Spasi·di·akhir | Diubah | Sama | Diubah | Sama | Beda satu spasi yang tertinggal di ujung baris. |
Report | report | Diubah | Diubah | Sama | Sama | Hanya huruf pertama yang berbeda besar kecilnya. |
Stasiun·Gambir | stasiun··gambir | Diubah | Diubah | Diubah | Sama | Besar kecil huruf dan jumlah spasi sama-sama berbeda. |
Jika Anda sedang memperbaiki jarak antarkata itu sendiri, matikan Abaikan spasi. Matikan juga Abaikan huruf besar/kecil saat memeriksa nilai yang membedakan huruf besar dan kecil, seperti kata sandi, jalur berkas, dan nama variabel program. Karakter pemisah baris (CRLF di Windows, LF di Mac dan Linux) serta ada tidaknya baris baru setelah baris terakhir selalu dianggap sama apa pun opsinya. Jika hanya itu yang berbeda, baris status memberi tahu secara terpisah.
Cara alat ini menemukan perbedaan
Penyejajaran baris: kedua teks diperlakukan sebagai daftar baris, lalu dipilih sebanyak mungkin baris yang tetap sama di kedua sisi dengan urutan terjaga. Ini adalah masalah subsekuens persekutuan terpanjang (LCS), yang setara dengan mencari jumlah penghapusan dan penambahan baris paling sedikit untuk mengubah teks asli menjadi teks revisi. Alat ini menyelesaikannya dengan algoritma O(ND) yang diterbitkan Eugene W. Myers pada 1986. N adalah jumlah baris kedua teks dan D adalah banyaknya penghapusan dan penambahan yang diperlukan, sehingga makin sedikit perubahan, makin cepat selesai. Karena jalurnya dibagi dua dari tengah, memori yang dipakai juga kecil untuk dokumen besar. Algoritma bawaan git diff juga memakai cara ini.
Memasangkan baris yang diubah: di dalam gumpalan baris dihapus dan ditambah yang diapit baris sama, kemiripan diukur dari seberapa banyak potongan dua karakter yang tumpang tindih. Pasangan dengan jumlah kemiripan terbesar yang urutannya terjaga dipilih lebih dulu, dan baris yang tersisa dipasangkan dari depan sebagai perubahan. Karena itu, meski sebuah kalimat baru disisipkan tepat sebelum baris yang diperbaiki, kalimat baru tetap menjadi tambahan dan baris yang diperbaiki tetap menjadi perubahan pada tempatnya.
Perbandingan di dalam baris: dua baris yang dipasangkan dipecah lagi menjadi karakter atau kata, lalu dibandingkan dengan algoritma yang sama. Karakter dihitung per klaster grafem Unicode, sehingga emoji atau huruf bergabung tidak terbelah, dan kata dipisahkan menurut aturan batas kata peramban (Intl.Segmenter). Setelah itu, potongan sama yang pendek di antara bagian berubah digabungkan ke dalam perubahan agar tampil sebagai gumpalan yang enak dibaca, seperti "brown → red". Perapian ini mengikuti aturan pembersihan semantik (cleanupSemantic) pada diff-match-patch milik Google.
Kemiripan: jika S adalah jumlah karakter yang tersejajar pada posisi yang sama di baris sama dan baris yang diubah, serta A dan B adalah jumlah karakter teks asli dan teks revisi, kemiripan = 2 × S ÷ (A + B). Pemisah baris tidak dihitung, dan jika Abaikan spasi aktif, spasi juga tidak dihitung. Angka 100% hanya ditampilkan jika kedua teks benar-benar sama. Selisih sekecil apa pun dibulatkan ke bawah agar tidak naik menjadi 100%.
Cara membaca format diff yang disalin atau disimpan
Salin diff dan Simpan menghasilkan format unified dari GNU diff (diff -u). Jika contoh pengumuman di atas disalin, hasilnya seperti di bawah ini. Tiga baris sama ditambahkan sebelum dan sesudah baris yang berubah, dan perubahan yang berjarak enam baris atau kurang digabung menjadi satu bagian.
--- Teks asli
+++ Teks revisi
@@ -1,7 +1,7 @@
[Pengumuman] Rapat Rutin Oktober
-Rapat diadakan pada Senin, 27 Oktober pukul 14.00 di ruang rapat lantai 3.
+Rapat diadakan pada Selasa, 28 Oktober pukul 15.00 di ruang rapat besar lantai 3.
Agenda rapat: tinjauan anggaran semester kedua dan jadwal proyek baru.
-Yang perlu dibawa: laptop, laporan kuartal lalu
-Jika tidak dapat hadir, mohon konfirmasi paling lambat hari Jumat.
-Notulen akan dibagikan sehari setelah rapat.
+Untuk hadir secara daring, silakan gunakan tautan rapat.
+Yang perlu dibawa: laptop
+Jika tidak dapat hadir, mohon konfirmasi paling lambat hari Kamis.
Terima kasih.
\ No newline at end of file
- Baris
---dan+++adalah nama teks asli dan teks revisi. Jika yang dibandingkan berkas yang dibuka, nama berkasnya yang tertulis. @@ -1,7 +1,7 @@berarti bagian ini mencakup 7 baris dari baris pertama teks asli dan 7 baris dari baris pertama teks revisi. Jika bagiannya satu baris, hanya nomor baris yang ditulis, seperti-5, dan jika salah satu sisinya kosong, ditulis nomor baris tepat sebelumnya dan 0, seperti+0,0.- Tanda kurang (-) di awal baris berarti baris itu hanya ada di teks asli, tanda tambah (+) hanya ada di teks revisi, dan baris yang diawali spasi sama di kedua sisi. Di dalam satu bagian, semua baris teks asli ditulis dulu, baru baris teks revisi.
- Jika diterapkan ke teks asli dengan perintah patch (
patch asli.txt < tersimpan.diff), hasilnya sama dengan teks revisi, dan format ini terbaca luas di alat peninjauan kode dan surel. Setiap baris membawa akhir baris aslinya (CRLF atau LF), dan jika baris terakhir tidak diakhiri baris baru, di bawahnya ditambahkan baris\ No newline at end of file. Diff yang dibuat dengan Abaikan spasi atau Abaikan huruf besar/kecil aktif tidak memuat selisih itu, jadi untuk diterapkan, buatlah dengan kedua opsi dimatikan.
Berkas dan pengodean
Berkas teks dibuka hingga 2 MB dan DOCX hingga 20 MB. Ekstensi tidak diperiksa. Selama isinya teks, berkas TXT, MD, CSV, JSON, HTML, SRT, dan log semuanya dibaca. Jika ada byte 0 di bagian awal, berkas dianggap biner seperti gambar atau program dan tidak dibaca.
- Penentuan pengodean: jika berkas diawali tanda urutan byte (BOM), berkas dibaca sebagai UTF-8 atau UTF-16 sesuai tanda itu. Jika tidak ada, alat ini mencoba UTF-8 lebih dulu. Jika tidak cocok, berkas dibaca dengan EUC-KR (termasuk CP949 dari Windows), Shift_JIS, dan Windows-1252, lalu dipilih yang menghasilkan huruf Hangul, kana, atau Latin yang wajar. Pengodean yang terpilih ditulis di atas kolom. Berkas lama yang disimpan sebagai "ANSI" di Notepad Windows, yaitu Windows-1252, termasuk kasus ini, misalnya saat huruf bertanda diakritik tampak rusak.
- DOCX: dari isi terkompresi DOCX (word/document.xml), satu paragraf dibaca sebagai satu baris. Tabel dibaca satu baris per sel, dan teks di kotak teks dimasukkan sesuai urutan isi. Jika riwayat perubahan masih ada, teks yang disisipkan dimasukkan dan teks yang dihapus dibuang, yaitu isi dengan semua perubahan diterima. Header, footer, catatan kaki, komentar, serta format seperti font dan warna tidak dibandingkan.
- Format yang tidak dibaca: HWP, HWPX, PDF, DOC, Excel, PowerPoint, dan berkas gambar tidak dibaca langsung (HWP adalah format dokumen yang terutama dipakai di Korea). Pilih seluruh isi di aplikasi aslinya atau di penampil PDF, salin, lalu tempel. Teks yang disalin dari PDF bisa terputus di tiap akhir halaman, jadi kedua teks harus disalin dengan cara yang sama agar hasilnya akurat.
Kesalahan yang sering terjadi
- Teks asli dan revisi tertukar: tambahan dan penghapusan tampak terbalik. Pastikan teks lama ada di A dan teks baru di B, lalu tukar dengan tombol ⇄ jika terbalik.
- Hanya satu sisi yang terpotong baris otomatis: teks yang disalin dari surel atau PDF sering terputus menurut lebar layar, sehingga semua baris bisa tampil berbeda. Salin kedua teks dari tempat dan dengan cara yang sama.
- Membaca kemiripan sebagai tingkat plagiarisme: kemiripan hanyalah proporsi karakter yang tersisa dalam urutan yang sama dan tidak menilai sumber atau kutipan. Teks yang menyalin kalimat utuh tetap bisa berkemiripan rendah jika urutannya berbeda.
- Menerapkan diff yang dibuat dengan opsi abaikan aktif: diff yang dibuat dengan Abaikan spasi aktif tidak memuat perubahan indentasi. Buat diff yang akan diterapkan ke berkas dengan opsi dimatikan.
- Melewatkan karakter tak kasatmata: teks yang disalin dari web bisa berisi spasi tanpa lebar atau spasi tanpa jeda baris, sehingga tampak sama di mata tetapi dinilai berbeda. Jika di posisi perubahan terlihat kotak seperti 200B atau simbol ⍽, itulah penyebabnya.
Batas dan hal yang perlu diperhatikan
- Setiap dokumen dibandingkan hingga 500.000 karakter dan 20.000 baris. Teks yang lebih panjang sebaiknya dibagi per bab atau per halaman. Untuk teks panjang dengan lebih dari 1.000 baris hasil, panel hasil dimulai dalam mode Hanya perubahan.
- Jika kedua teks hampir seluruhnya berbeda, penyejajaran baris dibatasi 1 detik. Jika melewati batas itu, pada sisa bagian alat ini berhenti mencari baris yang sama, memasangkan baris secara berurutan sebagai diubah, ditambah, atau dihapus, lalu memberi tahu di baris status, sehingga jumlah baris yang diubah bisa tampak lebih banyak dari yang sebenarnya. Hasil menampilkan hingga 3.000 baris sekaligus; tombol di bagian bawah membuka sisanya.
- Perpindahan paragraf tidak dilacak tersendiri, sehingga tampil sebagai penghapusan dan penambahan. Pada teks yang mengulang kalimat sama berkali-kali, ada beberapa kemungkinan baris mana yang dipasangkan, sehingga hasilnya bisa tampak berbeda dari pasangan yang dibuat manusia.
- Pembanding hanya melihat karakter. Ungkapan berbeda yang bermakna sama, benar tidaknya ejaan, serta format, font, dan gambar tidak dinilai.
- Masukan dan hasil tidak disimpan, jadi hilang ketika halaman ditutup. Jika Anda menyalin hasil yang memuat data pribadi untuk dibagikan, periksa lagi isinya.
Sumber
Tanggal acuan Dokumen berikut dicek pada naskah aslinya pada 22 Oktober 2026. Informasi jurnal makalah Myers dicek melalui data bibliografi Crossref. Jumlah baris dan kemiripan pada tabel contoh serta contoh diff adalah hasil hitung alat ini. Format diff dicocokkan dengan menerapkan hasil diff 120 pasang dokumen acak ke teks asli memakai perintah patch (hasilnya harus sama dengan teks revisi), dan penulisan bagian kosong (-0,0) dicocokkan dengan keluaran perintah diff.
- 01Eugene W. Myers — An O(ND) Difference Algorithm and Its VariationsAlgorithmica jilid 1, halaman 251 sampai 266 (November 1986, DOI 10.1007/BF01840446). Subsekuens persekutuan terpanjang dan skrip penyuntingan terpendek adalah masalah yang sama, serta varian ruang linear
- 02J. W. Hunt, M. D. McIlroy — An Algorithm for Differential File ComparisonBell Laboratories, Computing Science Technical Report #41 (Juli 1976)
- 03Manual GNU Diffutils — Unified FormatOpsi -u, baris konteks bawaan 3 baris
- 04Manual GNU Diffutils — Detailed Description of Unified FormatKepala ---, +++, kepala bagian @@ (bagian satu baris hanya memuat nomor baris awal), arti spasi, - dan + di awal baris
- 05Dokumentasi Git — git-diff--diff-algorithm (bawaan myers), --word-diff
- 06Google diff-match-patch — APIdiff_cleanupSemantic: merapikan perubahan menjadi gumpalan yang enak dibaca
- 07Unicode — UAX #29 Unicode Text SegmentationKlaster grafem dan batas kata
- 08WHATWG — Encoding StandardEUC-KR mencakup halaman kode Windows 949 (perluasan), tafsir Shift_JIS dan windows-1252
- 09Ecma International — ECMA-376 Office Open XMLStruktur isi DOCX (paragraf w:p, teks w:t, riwayat perubahan w:ins dan w:del)
- 10MDN — DecompressionStreamMengekstrak kompresi deflate-raw di dalam peramban
Pertanyaan yang sering diajukan
Apakah Pembanding Teks gratis dan teks yang dimasukkan tidak dikirim ke server?
Alat ini gratis tanpa perlu mendaftar. Teks yang ditempel dan berkas yang dibuka hanya dibandingkan di dalam peramban ini dan tidak dikirim ke server. Setelah halaman ditutup, tidak ada yang tersisa. Untuk menyimpan hasil, gunakan Salin diff atau Simpan.
Bagaimana pembagian antara diubah dan dihapus atau ditambah?
Setelah kedua teks disejajarkan dengan acuan baris yang sama, baris dihapus dan ditambah yang tersisa di antaranya dipasangkan lebih dulu jika susunan karakternya mirip, dan itulah yang disebut diubah. Sisanya dipasangkan berurutan, dan hanya baris tanpa pasangan yang tetap menjadi hapusan atau tambahan.
Bagaimana kemiripan 78% dihitung?
Nilainya dua kali jumlah karakter yang tersejajar pada posisi yang sama, dibagi jumlah seluruh karakter kedua teks. Pemisah baris tidak dihitung, dan jika Abaikan spasi aktif, spasi juga tidak dihitung. Angka ini menunjukkan seberapa banyak karakter yang tetap sama, bukan seberapa mirip maknanya.
Apa beda sorotan karakter dan sorotan kata?
Sorotan karakter menebalkan hanya huruf yang berganti, misalnya angka 7 menjadi 8 pada tanggal, sehingga cocok untuk mencari perubahan kecil seperti angka atau imbuhan. Sorotan kata menebalkan seluruh kata yang berganti, sehingga lebih mudah dibaca untuk kalimat yang banyak berubah.
Bisakah hanya beda spasi atau indentasi diabaikan?
Jika Abaikan spasi diaktifkan, semua spasi dan tab di dalam baris dibuang sebelum dibandingkan, sehingga baris kode yang hanya beda indentasi dianggap sama. Baris yang dianggap sama itu diberi tanda ≈ di sebelah nomor baris, dan jumlahnya muncul di ringkasan.
Bisakah membandingkan berkas Word atau PDF?
Berkas DOCX yang dibuka langsung dibaca per paragraf sebagai baris. Jika riwayat perubahan masih ada, teks yang disisipkan dimasukkan dan teks yang dihapus dibuang. PDF tidak dibaca langsung, jadi salin teksnya dari aplikasi lalu tempel.
Mengapa paragraf yang hanya dipindah muncul sebagai hapusan dan tambahan?
Perbandingan ini menyejajarkan sebanyak mungkin baris yang sama dengan urutan baris terjaga, sehingga paragraf yang dipindah muncul sebagai hapusan di satu sisi dan tambahan di sisi lain. Perpindahan tidak dilacak, jadi periksa kedua posisinya dengan mode Hanya perubahan.
Apa arti @@ -1,7 +1,7 @@ pada hasil salin diff?
Itu kepala bagian unified diff. Artinya bagian ini membandingkan 7 baris dari baris pertama teks asli dengan 7 baris dari baris pertama teks revisi. Tanda kurang (-) di awal baris berarti hanya ada di teks asli, tanda tambah (+) hanya di teks revisi, dan spasi berarti sama di kedua sisi.