Line Sorter

Urutkan baris secara alfabetis, berdasarkan panjang, terbalik atau acak

Coba contoh

Baris masukan

Baris terurut

Berjalan lokal · Aman untuk menempel rahasia
Baris terurut akan muncul di sini…

Apa Itu Pengurutan Baris?

Pengurutan baris adalah proses menyusun ulang baris-baris dalam sebuah blok teks berdasarkan aturan tertentu: urutan alfabetis, urutan terbalik, panjang baris, atau pengacakan. Mengurutkan baris secara online adalah tugas umum saat bekerja dengan file log, data CSV, daftar konfigurasi, atau konten teks biasa yang urutannya penting. Operasi ini membagi teks berdasarkan karakter baris baru, menerapkan fungsi perbandingan pada array yang dihasilkan, lalu menggabungkan kembali baris-baris yang telah diurutkan.

Sebagian besar bahasa pemrograman mengurutkan string menggunakan perbandingan leksikografis secara default, yang membandingkan karakter berdasarkan code point Unicode-nya. Ini berarti huruf kapital diurutkan sebelum huruf kecil ("Banana" sebelum "apple"), dan digit diurutkan sebelum huruf. Pengurutan yang mempertimbangkan lokal, kadang disebut natural sort atau collation, memperbaiki hal ini dengan menerapkan aturan khusus bahasa. JavaScript's localeCompare(), Python's locale.strxfrm(), dan perintah POSIX sort dengan LC_COLLATE semuanya mendukung pengurutan berbasis lokal.

Pengurutan berdasarkan panjang berguna ketika Anda perlu menemukan entri terpendek atau terpanjang dalam sebuah daftar, mengidentifikasi anomali dalam output log, atau mengatur item berdasarkan kompleksitasnya. Pengurutan terbalik membalik urutan baris yang ada tanpa menyusun ulang berdasarkan alfabet — ini berbeda dari pengurutan Z-A. Pengacakan acak menetapkan kunci urutan acak ke setiap baris sehingga menghasilkan urutan yang berbeda setiap kali dijalankan. Beralih antar mode pada input yang sama jauh lebih cepat daripada menulis skrip sekali pakai.

Mengapa Menggunakan Line Sorter Ini?

Tempel teks Anda, pilih mode pengurutan, dan dapatkan hasilnya secara instan. Tanpa pengaturan command-line, tanpa file skrip, tanpa instalasi paket.

Pengurutan Instan
Hasil muncul saat Anda mengetik atau menempel. Beralih antar enam mode pengurutan dan bandingkan output tanpa perlu menjalankan ulang apa pun.
🔒
Pemrosesan Mengutamakan Privasi
Semua pengurutan berjalan di browser menggunakan JavaScript. Teks Anda tetap berada di perangkat Anda. Tidak ada yang dikirimkan ke server atau dicatat.
🔀
Enam Mode Pengurutan
A-Z, Z-A, terpendek dahulu, terpanjang dahulu, urutan terbalik, dan pengacakan acak. Satu input mencakup semua tugas pengurutan baris yang paling umum.
📋
Tanpa Akun
Buka halaman dan mulai mengurutkan. Tanpa pendaftaran, ekstensi browser, atau aplikasi desktop. Berfungsi di perangkat apa pun dengan browser modern.

Kasus Penggunaan Line Sorter

Pengembangan Frontend
Urutkan daftar kelas CSS, pernyataan import, atau kunci terjemahan i18n secara alfabetis. Urutan yang konsisten mengurangi konflik merge dalam version control dan mempercepat proses code review.
Rekayasa Backend
Urutkan daftar dependensi dalam package.json, requirements.txt, atau go.mod sebelum melakukan commit. Urutkan nama kolom SQL saat membuat pernyataan CREATE TABLE atau membandingkan perbedaan skema.
DevOps dan Infrastruktur
Urutkan nama variabel lingkungan dalam file .env, entri Kubernetes ConfigMap, atau blok variabel Terraform. Urutan alfabetis memudahkan Anda menemukan duplikat dan nilai yang hilang saat review.
QA dan Otomasi Pengujian
Urutkan log output pengujian berdasarkan timestamp atau pesan untuk mengisolasi kegagalan dengan cepat. Acak data input pengujian untuk memverifikasi bahwa perilaku aplikasi tidak bergantung pada urutan penyisipan.
Rekayasa Data
Urutkan header CSV atau daftar kolom sebelum menulis skrip migrasi skema. Urutkan baris sampel data berdasarkan panjang untuk menemukan baris yang terpotong atau nilai yang tidak biasa panjangnya dalam pipeline data.
Pelajar dan Mahasiswa
Urutkan daftar kosakata, entri daftar pustaka, atau catatan belajar secara alfabetis. Acak baris kartu flash untuk sesi ulang yang teracak tanpa perlu memasang aplikasi terpisah.

Referensi Mode Pengurutan Baris

Alat ini mendukung enam mode pengurutan. Tabel di bawah menjelaskan setiap mode, metode perbandingan yang digunakan, dan contoh hasil untuk daftar input: apple, banana, cherry, date, fig.

ModeDeskripsiMetode JSContoh Output
A-ZAlphabetical ascendinglocaleCompare()apple, banana, cherry
Z-AAlphabetical descendinglocaleCompare() reversedcherry, banana, apple
Length (short)Shortest line firsta.length - b.lengthfig, date, apple, banana
Length (long)Longest line firstb.length - a.lengthbanana, apple, date, fig
ReverseFlip line order, no reorderingArray.reverse()Last line becomes first
RandomRandomized comparator (biased)Math.random() - 0.5Different every run

Algoritma Pengurutan di Balik Layar

Saat Anda memanggil Array.sort() di JavaScript, mesin V8 (Chrome, Node.js) menggunakan Timsort sejak 2019. Runtime lain menggunakan algoritma yang berbeda. Tabel di bawah membandingkan algoritma pengurutan yang paling umum digunakan dalam pustaka standar bahasa pemrograman. Semua algoritma ini menangani beban kerja pengurutan baris dalam alat ini dalam waktu kurang dari satu milidetik untuk input tipikal (di bawah 100.000 baris).

AlgoritmaDigunakan OlehWaktuCatatan
TimsortPython, Java (Arrays.sort)O(n log n)Stable, fast on partially sorted data
QuicksortC stdlib, V8 (older)O(n log n)In-place, unstable by default
Merge sortMost stable-sort implementationsO(n log n)Stable, predictable, uses extra memory
IntrosortC++ std::sort, .NETO(n log n)Hybrid: quicksort + heapsort fallback
Radix sortFixed-length keys, integersO(nk)Non-comparative, linear for short keys

Contoh Kode

Urutkan baris secara terprogram dalam JavaScript, Python, Go, dan command line. Setiap contoh mencakup pengurutan alfabetis, berdasarkan panjang, dan urutan terbalik.

JavaScript
const text = `banana
apple
cherry
date
fig`

// Sort A-Z (locale-aware)
const az = text.split('\n').sort((a, b) => a.localeCompare(b)).join('\n')
// → "apple\nbanana\ncherry\ndate\nfig"

// Sort by line length, shortest first
const byLen = text.split('\n').sort((a, b) => a.length - b.length).join('\n')
// → "fig\ndate\napple\nbanana\ncherry"

// Reverse line order (no alphabetical sorting)
const reversed = text.split('\n').reverse().join('\n')
// → "fig\ndate\ncherry\napple\nbanana"

// Remove duplicates and sort
const unique = [...new Set(text.split('\n'))].sort().join('\n')
Python
text = """banana
apple
cherry
date
fig"""

lines = text.splitlines()

# Sort A-Z (case-insensitive)
az = sorted(lines, key=str.lower)
# → ['apple', 'banana', 'cherry', 'date', 'fig']

# Sort by line length
by_len = sorted(lines, key=len)
# → ['fig', 'date', 'apple', 'banana', 'cherry']

# Reverse original order
rev = lines[::-1]
# → ['fig', 'date', 'cherry', 'apple', 'banana']

# Shuffle randomly
import random
random.shuffle(lines)  # modifies in place
Go
package main

import (
	"fmt"
	"sort"
	"strings"
)

func main() {
	text := "banana\napple\ncherry\ndate\nfig"
	lines := strings.Split(text, "\n")

	// Sort A-Z
	sort.Strings(lines)
	fmt.Println(strings.Join(lines, "\n"))
	// → apple\nbanana\ncherry\ndate\nfig

	// Sort by length
	sort.Slice(lines, func(i, j int) bool {
		return len(lines[i]) < len(lines[j])
	})
	fmt.Println(strings.Join(lines, "\n"))
	// → fig\ndate\napple\nbanana\ncherry
}
CLI (bash)
# Sort lines A-Z
sort file.txt

# Sort lines Z-A (reverse)
sort -r file.txt

# Sort numerically (first field)
sort -n data.txt

# Sort by line length (awk + sort + cut)
awk '{ print length, $0 }' file.txt | sort -n | cut -d' ' -f2-

# Shuffle lines randomly
shuf file.txt          # GNU coreutils
sort -R file.txt       # alternative (not truly uniform)

# Sort and remove duplicates
sort -u file.txt

Pertanyaan yang Sering Diajukan

Apa perbedaan antara pengurutan A-Z dan natural sort?
Pengurutan A-Z (leksikografis) membandingkan karakter berdasarkan code point Unicode. Ini berarti "item10" diurutkan sebelum "item2" karena karakter '1' memiliki code point lebih rendah dari '2'. Natural sort memperlakukan angka yang tertanam sebagai nilai numerik, sehingga "item2" muncul sebelum "item10". Alat ini menggunakan pengurutan leksikografis berbasis lokal melalui localeCompare(), yang menangani karakter beraksent dengan benar tetapi tidak melakukan natural sort pada angka.
Apakah teks saya dikirim ke server saat mengurutkan baris?
Tidak. Semua pengurutan terjadi di browser menggunakan metode Array.sort() JavaScript. Teks tidak pernah meninggalkan perangkat Anda. Anda dapat memverifikasi ini dengan membuka tab Network di DevTools browser dan memastikan tidak ada permintaan yang dibuat saat Anda menempel dan mengurutkan teks.
Berapa banyak baris yang dapat ditangani alat ini?
Alat ini bekerja dengan baik untuk puluhan ribu baris. Implementasi Timsort JavaScript di V8 menangani 100.000 baris dalam waktu kurang dari 100 milidetik pada perangkat keras modern. Untuk file yang lebih besar dari beberapa megabyte, alat CLI seperti perintah Unix sort lebih efisien karena dapat menggunakan disk-based merge sort dan beberapa thread.
Bagaimana pengurutan tidak sensitif huruf bekerja?
Alat ini menggunakan String.localeCompare() dengan opsi { sensitivity: 'base' }, yang membuat perbandingan tidak sensitif terhadap huruf besar/kecil sehingga "Apple" dan "apple" diurutkan bersama, bukan dalam kelompok terpisah. Secara default, localeCompare() sensitif terhadap huruf; opsi eksplisit diperlukan untuk perilaku tidak sensitif huruf. Jika Anda membutuhkan pengurutan yang ketat sensitif huruf di mana huruf kapital muncul lebih dulu, perintah Unix sort tanpa flag -f memberikan perilaku tersebut.
Bisakah saya mengurutkan baris dan menghapus duplikat sekaligus?
Alat ini mengurutkan baris tetapi tidak menghapus duplikat. Untuk menghapus baris duplikat, gunakan alat Duplicate Line Remover dalam kategori yang sama. Anda dapat mengurutkan teks di sini terlebih dahulu, lalu tempel hasilnya ke dalam alat penghapus duplikat untuk mendapatkan daftar yang bersih, unik, dan terurut.
Apa perbedaan antara pengurutan terbalik dan pengurutan Z-A?
Pengurutan terbalik membalik urutan baris asli: baris terakhir menjadi yang pertama, baris kedua dari belakang menjadi yang kedua, dan seterusnya. Tidak ada perbandingan alfabetis yang terlibat. Pengurutan Z-A mengatur baris dalam urutan alfabetis menurun terlepas dari posisi aslinya. Jika input Anda sudah diurutkan A-Z, pengurutan terbalik dan Z-A menghasilkan output yang sama, tetapi untuk input yang tidak terurut hasilnya berbeda.
Bagaimana cara mengurutkan baris berdasarkan kolom atau field tertentu?
Alat ini mengurutkan berdasarkan seluruh konten baris. Untuk mengurutkan berdasarkan kolom tertentu (misalnya, field kedua dalam file yang dipisahkan tab), gunakan perintah Unix sort dengan flag -k: sort -t$'\t' -k2,2 file.txt. Dalam Python, pisahkan setiap baris dan gunakan fungsi key: sorted(lines, key=lambda x: x.split('\t')[1]).