Mengatasi Masalah

Printer kasir lola tiap akhir bulan? Sobat IT RS pasti pernah ngerasain. Shift sore, kasir antri, billing numpuk, tiba-tiba printer kasir thermal yang biasanya ngebut malah cetak struk kayak siput. CS sudah teriak, “Mas, printer saya ga keluar-keluar padahal transaksi sudah lama!” Kepala pusing, monitor penuh notifikasi error. Sering bukan karena hardware rusak, tapi dari masalah spooler Windows, driver, atau setting port USB yang ngaco. Yuk, bedah satu per satu biar bulan depan enggak jadi korban deadline BPJS lagi!

Kenapa Printer Thermal Kasir Bisa Ngadat di Akhir Bulan?

Ada pola unik: printer thermal biasanya lincah, tapi pas akhir bulan malah lola. Ini beberapa biang kerok yang sering kejadian:

  • Spooler Windows penuh gara-gara transaksi meledak (banyak print job numpuk, buffer melar).
  • Driver printer pakai default, bukan Generic/Text Only (bikin data print jadi gede, proses lebih berat).
  • Port USB sering lepas-pasang, nomor port berubah, printer dianggap offline/salah port.
  • Print job dikirim terlalu banyak sekaligus (bulk print kwitansi, claim BPJS, dsb).
  • Printer sharing via jaringan, tapi spoolernya tetap numpuk lokal.

Cek Dulu: Gejala Khas Printer Kasir Lambat

  • Struk keluar 1-2 menit setelah klik print.
  • LED printer nyala normal, tidak blinking error.
  • Taskbar Windows muncul ikon printer, status “Printing”, tapi stuck lama di sana.
  • Restart komputer kasir, printer ngebut lagi sementara, beberapa jam kemudian lola lagi.
  • Print test page dari Windows juga lola, bukan cuma dari aplikasi SIMRS/billing.

Cara Cek & Reset Print Spooler Windows

Paling sering biang kerok: Print Spooler Windows. Di RS, printer kasir kadang nyantol di PC klinik/poli, yang tiap hari dipakai terus tanpa restart berhari-hari. Spooler numpuk, crash, atau stuck.

Cek Status Print Spooler

  • Buka Services (Win+R, ketik services.msc).
  • Cari Print Spooler. Status biasanya “Running”.
  • Klik kanan, pilih Restart kalau terasa lambat.
net stop spooler
net start spooler
  • Command di atas jalan di CMD Windows (admin).
  • Alternatif: Buka C:\Windows\System32\spool\PRINTERS, hapus semua file di dalam folder itu (pastikan spooler dimatikan dulu).

Script Otomatis Bersihkan Spooler Printer (Pakai .bat File)

@echo off
net stop spooler
del %systemroot%\System32\spool\PRINTERS\* /Q
net start spooler
echo Spooler printer sudah dibersihkan!
pause
  • Taruh file ini di desktop kasir, ajarkan CS/ADM klik kalau mulai lambat.
  • Jangan lupa: Run as administrator.

Driver Printer: Pakai Generic/Text Only, Bukan Driver Vendor?

Banyak printer kasir (Epson TM-U220, TM-T82, Bixolon, atau merek “China” universal) jalan lebih stabil pakai driver Generic/Text Only daripada driver vendor. Kenapa?

  • Generic driver kirim data mentah, tanpa embel-embel grafis.
  • Lebih hemat buffer, spooler enggak gampang bengkak.
  • Struk lebih cepat keluar, cocok buat billing/kwitansi yang polosan (tanpa logo/gambar).
  • Driver vendor kadang inject fitur gambar/logo, bikin job berat, potensi delay.

Cara Install Generic/Text Only Driver di Windows

  1. Buka Control Panel > Devices and Printers.
  2. Pilih Add a printer.
  3. Pilih “The printer that I want isn’t listed”.
  4. Manual port: pilih port USB printer (misal, USB001).
  5. Pilih Generic > Generic/Text Only.
  6. Finish, lalu set as default printer kasir.

Kelemahan Driver Generic

  • Tidak bisa print gambar/logo. Kalau kwitansi harus ada QR/barcode/gambar, pakai driver vendor saja.
  • Beberapa printer thermal butuh ESC/POS command khusus, generic driver bisa bikin format struk “liar”.
  • Solusi: Test print layout sampai pas, atau inject ESC/POS command di aplikasi.

Konfigurasi Port USB Printer Thermal

Printer thermal sering “hilang” atau pindah port gara-gara lepas-pasang USB. Windows auto-assign port baru (USB001 jadi USB002 dst.), mapping printer ke port lama jadi kacau. Akhirnya: status “offline”, padahal colokan sama.

Cek & Lock Port USB Printer

  • Buka Devices and Printers, klik kanan printer kasir > Printer Properties.
  • Tab Ports, cek port yang aktif. Biasanya USB001.
  • Kalau ada lebih dari satu port USB, disable/centang hanya port yang benar.
  • Jangan lepas-pasang printer ke port USB berbeda, biar mapping enggak pindah.
  • Optional: pakai USB hub/panel tertentu, kasih label fisik biar CS enggak asal colok.

Kasus: Printer “Not Responding” Setelah Colok Cabut

  • Printer thermal dipakai shift pagi, normal.
  • Kasir upgrade PC, teknisi copot printer, colok ke USB belakang (port baru).
  • Windows assign USB002, driver printer masih pakai USB001, status jadi “offline”.
  • Solusi: Set ulang port di Printer Properties ke port baru, atau colok kabel ke port lama.

Print Job Numpuk, SIMRS/Billing Lemot, Solusi?

SIMRS/Billing kadang “otomatis” nge-print job ke printer kasir. Akhir bulan, transaksi bulk, print job mengular. Bisa berujung:

  • Aplikasi freeze (wait spooler kosong, job belum selesai).
  • CS klik print berkali-kali (panik), job makin numpuk.
  • Printer kasir jadi bottleneck, satu job stuck, lain ikut pending.

Monitoring Print Queue Windows

  • Buka Devices and Printers, klik dua kali printer kasir.
  • Cek list job di queue, hapus job aneh/stuck (klik kanan > Cancel).

Cek Print Queue via Command Line

wmic printjob get Document,JobId,Status
  • List semua job antrian. Kalau status “Error” atau stuck, fokus di JobId itu.

Kill Print Queue Pakai Script

@echo off
net stop spooler
del %systemroot%\System32\spool\PRINTERS\* /Q
net start spooler
  • Sama kayak script bersihkan spooler tadi, tapi bisa jalan otomatis.
  • Pastikan warning ke user: semua job antri bakal hilang.

Printer Sharing vs. Printer Lokal: Bedanya?

Kasus di RS: Ada PC kasir, printer thermal dishare buat 2-3 PC billing. Kadang, PC yang bukan host nge-print struk, job numpuk di host tapi enggak langsung dikeluarin ke printer. Penyebab:

  • Spooler di host crash/off, job remote ngendon di spooler lokal.
  • Driver di client beda, format print jadi error.
  • Jaringan “swing” (offline sesaat), job gagal terkirim.

Solusi

  • Pastikan driver di semua client sama (Generic/Text Only atau versi driver vendor yang seragam).
  • Hanya satu spooler aktif: setting firewall host biar port sharing printer tidak ke-block.
  • Kalau sering error, lebih baik printer satu-satu per PC, atau pakai print server hardware (USB print server, bukan share dari PC).

Skrip Custom: Print Thermal Lewat DB Tanpa Spooler?

Beberapa IT RS males ribet sama Windows spooler, bikin script custom sendiri (bahasa Python, C#, bahkan PowerShell) buat push struk langsung ke printer thermal dari DB transaksi, lewati spooler Windows. Contoh skenario:

DB Table: billing_print_queue
Field: id, no_transaksi, data_struk, status (waiting/printed/failed)

Polling Print Job dari DB

-- SQL Server
SELECT TOP 1 * FROM billing_print_queue
WHERE status = 'waiting'
ORDER BY id ASC

Python Script Print Langsung

import serial
import pyodbc

# Connect DB
conn = pyodbc.connect("DRIVER={SQL Server};SERVER=10.10.10.10;DATABASE=simrs;UID=sa;PWD=xxxx")
cursor = conn.cursor()
cursor.execute("SELECT TOP 1 id, data_struk FROM billing_print_queue WHERE status = 'waiting'")
row = cursor.fetchone()

if row:
    # Print
    with serial.Serial('COM3', 9600, timeout=1) as printer:
        printer.write(row.data_struk.encode('ascii'))
    # Update status
    cursor.execute("UPDATE billing_print_queue SET status = 'printed' WHERE id = ?", row.id)
    conn.commit()
  • Printer thermal di-com3 (bisa berubah sesuai device manager Windows).
  • Print bypass spooler, langsung kirim data ke device.
  • Potensi: kalau script error, job stuck, solusinya monitoring status di DB.

Best Practice Setting Printer Kasir: Checklist Harian

  • Restart PC kasir tiap shift (biar spooler refresh, enggak numpuk job lama).
  • Driver: pakai Generic/Text Only kalau layout struk simpel.
  • Jangan sering cabut-colok kabel USB, lock mapping port di Windows.
  • Print test page tiap pagi, mastiin status ready.
  • Ajari CS/ADM cara clear print queue manual, biar enggak panik saat print stuck.
  • Batasin bulk print job, split proses transaksi kalau claim BPJS numpuk.

Studi Kasus: RSU X, Printer Kasir Ngelag Setiap Akhir Bulan

  • Hardware: Epson TM-T82, sharing ke 3 PC billing.
  • Masalah: Akhir bulan, job print kwitansi bisa sampai 1000+ dalam 2 hari. Printer kadang lola, kadang not responding.
  • Langkah fix:
    • Clear spooler sebelum bulk print (script bat, run admin).
    • Ganti driver ke Generic/Text Only, test print lebih ngebut.
    • Lock port USB, label kabel dan port.
    • PC kasir wajib restart tiap shift sore.
    • Monitor job queue, hapus job aneh/stuck.
  • Hasil: Printer thermal normal, claim BPJS enggak ada drama lagi.

Kesimpulan Praktis

  • Print spooler, driver, port USB = trio penyebab printer thermal ngadat di RS.
  • Generic/Text Only driver solusi paling malas tapi manjur buat struk polosan.
  • Monitoring dan script bat bersihin spooler: lifesaver tiap akhir bulan.
  • Port mapping konsisten, sharing printer kudu rapi, restart PC rutin.
  • Kalau skala besar, pertimbangkan print server/hardware khusus.
  • Jangan tunggu printer kasir lola, siapkan SOP dan checklist harian.

Pokok e, Sobat IT RS: printer thermal itu “teman setia” billing dan kasir, tapi gampang ngambek kalau settingan ngawur. Lebih baik capek sedikit di awal, daripada stress tiap akhir bulan. Kalau mau modifikasi script, layout, atau punya kasus aneh, share di group AITI, pasti ada yang pernah ngalamin. Selamat ngoprek, jaga kepala biar enggak panas pas deadline!