Rabu, 31 Maret 2010

Line Break

Ini adalah posting pertama di blog yang gak penting ini. Karena gak penting, maka aku akan membahas hal yang juga gak penting yaitu tentang Line Break. Line break (baca: lain brek :) adalah perintah untuk pindah baris (dengan menekan tombol Enter) saat kita mengetikkan teks di text editor sederhana seperti Notepad. Tanpa anda sadari, sebenarnya text editor memasukkan karakter tak terlihat pada file anda. Ada dua karakter tersembunyi yang digunakan dalam perintah line break yaitu:
  • \r atau CR (Carriage Return) yang bernilai 10 pada ASCII
  • \n atau LF (Line Feed) yang bernilai 13 pada ASCII
Kalau anda bingung seperti apa kira-kira bentuknya, anda bisa lihat gambar ini:

Tiap-tiap sistem operasi mempunyai bentuk yang berbeda-beda dalam membuat perintah line break ini, namun secara umum ada tiga pola yaitu:
  • Unix, Linux, dsb hanya menggunakan "\n" atau LF untuk perintah pindah baris.
  • Mac hanya menggunakan "\r" atau CR untuk perintah pindah barisnya.
  • Windows menggunakan keduanya, yaitu "\r\n" atau CRLF untuk berpindah baris.
Akibatnya, akan ada beberapa permasalahan saat text diketik di OS yang berbeda karena teks akan nampak "lucu". Berikut ini adalah contoh teks yang diketik di Linux tapi dilihat menggunakan Notepad di Windows.

Selain nampak lucu, mungkin juga akan ada akibat yang fatal dari adanya perbedaan ini. Misalnya, teks yang ditulis di Mac tidak akan dapat dibaca dengan baik oleh text editor di Linux karena "tidak ada" perintah pindah barisnya. Sedangkan teks yang ditulis di Windows kemungkinan besar masih bisa dibaca oleh Linux. Dalam pemrograman yang berhubungan dengan teks, anda tidak akan pernah lepas dari penggunaan karakter-karakter ini seperti membuang perintah pindah baris, split baris perbaris, dsb. Jika dalam Regular Expression, biasanya karakter-karakter ini berbentuk: [\n] dan [\r]. Selain kedua karakter khusus diatas, ada satu lagi karakter lain yaitu "\t" yang bernilai 9 pada ASCII untuk penekanan tombol TAB. Jika anda ingin berpusing ria dengan line break, anda bisa lihat di Wikipedia. That's all... :)