Algoritma Sorting: Mengurutkan Data Kesehatan Biar Rapi dan Mudah Dibaca
Artikel ke-11 dari seri Algoritma & Pemrograman D3 RMIK — belajar cara komputer menyusun data pasien dari yang berantakan jadi rapi jali.
Estimasi baca
Level materi
Semester 3
Pernah nggak sih kamu buka rekam medis pasien yang datanya numpuk nggak karuan? Tanggal lahir acak-acakan, nomor rekam medis loncat-loncat, hasil lab yang harusnya diurutkan dari yang terbaru malah nyempil di tengah. Nah, di sinilah algoritma sorting jadi pahlawan yang jarang disadari. Buat kamu mahasiswa D3 RMIK, memahami algoritma sorting bukan cuma soal lulus mata kuliah pemrograman, tapi soal bagaimana data kesehatan bisa disusun otomatis, cepat dicari, dan enak dibaca — baik oleh sistem maupun oleh manusia.
Di artikel ini kita akan bahas tuntas apa itu algoritma sorting, kenapa penting banget di dunia rekam medis, sampai contoh kode praktis yang bisa langsung kamu coba. Santai, nggak akan bikin pusing kok — kita pakai analogi sehari-hari biar konsepnya nempel di kepala.
Sebagai gambaran kecil, coba bayangkan kamu jadi petugas rekam medis yang harus menyerahkan laporan kunjungan pasien ke kepala instalasi, tapi datanya masih dalam urutan input mentah alias belum diurutkan sama sekali. Kepala instalasi pasti bakal bingung membaca laporan yang tanggalnya loncat-loncat. Nah, tugas kamu sebagai calon tenaga rekam medis informasi kesehatan bukan cuma mengelola data secara manual, tapi juga memahami logika di balik sistem yang menyusun data itu secara otomatis. Algoritma sorting adalah salah satu fondasi logika tersebut.
📌 Definisi Kunci
Algoritma Sorting adalah sekumpulan langkah logis yang digunakan untuk menyusun ulang kumpulan data — bisa angka, tanggal, atau teks — ke dalam urutan tertentu (menaik atau menurun) berdasarkan aturan pembanding yang sudah ditentukan.
Kenapa Algoritma Sorting Penting Banget di Dunia RMIK?
Bayangkan kamu kerja di bagian filing rumah sakit, tapi bukan filing kertas — filing digital. Setiap hari ada ratusan data pasien baru masuk: nomor rekam medis, tanggal kunjungan, usia, sampai kode diagnosis ICD-10. Kalau data ini nggak diurutkan, mencari satu pasien di antara ribuan data itu ibarat cari jarum di tumpukan jerami. Algoritma sorting hadir sebagai "petugas filing otomatis" yang menyusun data itu dalam hitungan detik.
Di sistem informasi rumah sakit (SIMRS), sorting dipakai di hampir semua fitur: mengurutkan antrean pasien berdasarkan nomor urut, menampilkan riwayat kunjungan dari yang terbaru, sampai membuat laporan bulanan berdasarkan jumlah kasus terbanyak. Tanpa sorting, sistem sehebat apapun akan terasa lambat dan berantakan.
Selain soal kecepatan pencarian, algoritma sorting juga berkontribusi langsung pada akurasi pelaporan. Coba pikirkan laporan 10 besar penyakit terbanyak yang biasa dibuat unit rekam medis setiap bulan — laporan ini nggak mungkin dibuat manual satu per satu kalau datanya ribuan baris. Sistem harus mengurutkan jumlah kasus dari yang terbesar ke terkecil secara otomatis, dan di situlah algoritma sorting bekerja di belakang layar. Bisa dibilang, setiap kali kamu melihat data yang tersusun rapi di layar komputer, ada algoritma sorting yang baru saja "bekerja keras" menyusunnya dalam hitungan milidetik.
Menariknya lagi, konsep sorting ini juga jadi dasar untuk topik lanjutan seperti pencarian data (searching) dan pengindeksan basis data. Kalau kamu paham sorting dengan baik, nantinya bakal jauh lebih mudah memahami bagaimana database rumah sakit bisa menemukan satu rekam medis dari jutaan data hanya dalam sepersekian detik.
💡 Tips: Saat magang atau kerja praktik di rumah sakit nanti, coba perhatikan menu "urutkan berdasarkan" di aplikasi SIMRS. Itu adalah implementasi nyata dari algoritma sorting yang kamu pelajari sekarang!
Mengenal Metode Sorting Sederhana yang Wajib Kamu Kuasai
Ada banyak metode algoritma sorting, tapi sebagai mahasiswa semester 3, ada tiga metode dasar yang jadi fondasi wajib: Bubble Sort, Selection Sort, dan Insertion Sort. Ketiganya gampang dipahami karena logikanya mirip cara manusia mengurutkan barang secara manual.
Analoginya begini: bayangkan kamu megang setumpuk kartu rekam medis dan diminta mengurutkannya dari usia pasien termuda ke tertua. Bubble Sort itu seperti kamu membandingkan dua kartu yang bersebelahan terus-menerus, menukar posisinya kalau salah urutan, sampai seluruh tumpukan rapi — mirip gelembung udara yang naik pelan-pelan ke permukaan.
// bubble_sort_usia_pasien.py
usia_pasien = [45, 22, 38, 19, 60, 27]
def bubble_sort(data):
n = len(data)
for i in range(n):
for j in range(0, n - i - 1):
if data[j] > data[j + 1]:
data[j], data[j + 1] = data[j + 1], data[j]
return data
print(bubble_sort(usia_pasien))
# Output: [19, 22, 27, 38, 45, 60]
⚡ Insight Penting: Selection Sort bekerja dengan cara berbeda — dia mencari nilai terkecil dulu di seluruh data, lalu menukarnya ke posisi paling depan, berulang sampai selesai. Insertion Sort lebih mirip cara kamu menyusun kartu remi di tangan: ambil satu per satu, lalu sisipkan ke posisi yang tepat.
Ketiga metode ini disebut simple sorting algorithms karena mudah dipahami, tapi punya kelemahan: makin banyak data, makin lambat prosesnya. Makanya penting buat kamu paham kapan metode ini cocok dipakai dan kapan harus beralih ke metode yang lebih canggih (akan kita bahas di artikel seri selanjutnya!).
Coba kita bedah sedikit lebih dalam cara kerja Selection Sort dengan analogi lain: bayangkan kamu diminta menyusun tumpukan berkas rekam medis berdasarkan nomor RM dari yang terkecil. Cara Selection Sort adalah kamu menyisir seluruh tumpukan untuk menemukan nomor RM terkecil, lalu memindahkannya ke posisi paling depan. Setelah itu kamu ulangi proses yang sama untuk sisa tumpukan, sampai semua berkas berpindah ke posisi yang benar. Prosesnya memang terlihat "boros gerakan", tapi logikanya sangat mudah diikuti — cocok banget buat kamu yang baru belajar logika pemrograman.
// selection_sort_nomor_rm.py
nomor_rm = [305, 102, 250, 118, 440]
def selection_sort(data):
n = len(data)
for i in range(n):
idx_min = i
for j in range(i + 1, n):
if data[j] < data[idx_min]:
idx_min = j
data[i], data[idx_min] = data[idx_min], data[i]
return data
print(selection_sort(nomor_rm))
# Output: [102, 118, 250, 305, 440]
🔥 Fakta Menarik: Bubble Sort pertama kali didokumentasikan pada tahun 1956, jauh sebelum komputer secanggih sekarang ada. Meski "tua", metode ini masih diajarkan sampai hari ini karena logikanya paling mudah dipahami pemula!
Praktik: Mengurutkan Data Kesehatan Langkah demi Langkah
Sekarang saatnya praktik. Anggap kamu punya data sederhana berisi nomor rekam medis dan tanggal kunjungan pasien, lalu diminta mengurutkannya dari kunjungan paling baru. Berikut langkah-langkahnya:
Simpan data pasien dalam bentuk list of dictionary, misalnya {"no_rm": "001", "tanggal": "2026-09-01"}, biar setiap atribut mudah diakses.
Pilih atribut mana yang jadi patokan urutan — dalam kasus ini, atribut tanggal.
Kamu bisa pakai algoritma manual seperti Bubble Sort, atau fungsi bawaan Python sorted() untuk data yang lebih besar.
Karena diminta "paling baru", gunakan urutan menurun (reverse=True).
Cek ulang apakah urutan sudah sesuai kebutuhan sebelum data ditampilkan atau dilaporkan.
// urutkan_kunjungan_terbaru.py
pasien = [
{"no_rm": "001", "tanggal": "2026-08-12"},
{"no_rm": "002", "tanggal": "2026-09-20"},
{"no_rm": "003", "tanggal": "2026-07-05"},
]
urut_terbaru = sorted(pasien, key=lambda p: p["tanggal"], reverse=True)
for p in urut_terbaru:
print(p["no_rm"], p["tanggal"])
# Output:
# 002 2026-09-20
# 001 2026-08-12
# 003 2026-07-05
⚠️ Perhatian: Jangan langsung ubah struktur data asli sebelum kamu yakin urutannya benar. Selalu buat salinan (copy) data mentah dulu, apalagi kalau berhubungan dengan data rekam medis pasien yang sensitif.
🔍 Analisis Singkat
Dari ketiga metode dasar tadi, Insertion Sort biasanya lebih efisien untuk data yang "hampir terurut" — misalnya data kunjungan harian yang baru ditambahkan satu-dua entri. Sementara Selection Sort lebih stabil jumlah langkahnya meski datanya sudah acak parah. Memahami karakter ini penting supaya kamu nggak asal pilih algoritma saat membangun sistem informasi kesehatan.
⚡ Insight Penting: Semakin besar volume data rekam medis suatu rumah sakit, semakin terasa perbedaan performa antar-algoritma. Untuk rumah sakit besar dengan jutaan data pasien, algoritma sorting sederhana biasanya sudah nggak cukup — di sinilah algoritma yang lebih efisien seperti Merge Sort atau Quick Sort mulai dipakai di balik layar sistem.
Tabel Perbandingan Kompleksitas Algoritma Sorting
| Metode | Best Case | Average Case | Worst Case | Cocok Untuk |
|---|---|---|---|---|
| Bubble Sort | O(n) | O(n²) | O(n²) | Data kecil, tujuan pembelajaran |
| Selection Sort | O(n²) | O(n²) | O(n²) | Data acak, memori terbatas |
| Insertion Sort | O(n) | O(n²) | O(n²) | Data yang hampir terurut |
📚 Bagian dari Seri Artikel
Artikel ini adalah bagian ke-11 dari 16 artikel dalam seri Algoritma & Pemrograman D3 RMIK. Lihat daftar lengkap seri untuk belajar dari dasar sampai mahir.
Lihat Semua Seri Artikel →Kesimpulan: Data Rapi, Kerja Jadi Lebih Efisien
Intinya, algoritma sorting adalah keterampilan dasar yang wajib dikuasai mahasiswa RMIK karena hampir semua sistem informasi kesehatan mengandalkan data yang tersusun rapi. Dari Bubble Sort yang paling sederhana sampai Insertion Sort yang cocok untuk data hampir terurut, masing-masing punya kegunaan yang berbeda tergantung karakteristik data kesehatan yang kamu hadapi.
Setelah paham konsep dasarnya, langkah selanjutnya adalah membandingkan metode-metode ini biar kamu makin jago memilih algoritma yang paling pas untuk kasus nyata di lapangan.
Ingat, sebagai calon tenaga rekam medis dan informasi kesehatan, kemampuan berpikir logis seperti ini akan terus terpakai — bukan cuma saat kuliah, tapi juga saat kamu bekerja di lapangan nanti, baik di rumah sakit, klinik, maupun instansi kesehatan lainnya yang makin mengandalkan sistem digital.
Ada pertanyaan soal algoritma sorting atau mau share pengalaman praktik SIMRS kamu? Tulis di kolom komentar ya, dan jangan lupa share artikel ini ke teman sekelasmu yang lagi struggling sama mata kuliah algoritma! 🙌
💬 Tulis Komentar Kamu⬅ Artikel Sebelumnya
Kombinasi Percabangan & Perulangan dalam Kasus Rekapitulasi Data PasienArtikel Selanjutnya ➡
Bandingkan Yuk! Memilih Metode Sorting yang Paling Pas