Produk 09 Juni 2026

Kenapa Kami Bangun Sistem Multi-Printer — dan Cara Kami Memikirkan Routing Pesanan ke Dapur

Satu printer kayaknya cukup — sampai jam sibuk datang dan struk menumpuk. Ini cerita kenapa kami bangun fitur multi-printer dan bagaimana kami merancang routing pesanan.

T
Tim CrescendPOS

Saat pertama kali mendesain CrescendPOS, kami sempat berpikir: "Satu printer cukup, kan? Struk keluar, kasir kasih ke dapur. Selesai."

Ternyata ini salah satu asumsi paling naif yang pernah kami buat. Dan kesalahan ini baru kelihatan ketika kami observasi bagaimana kafe dan restoran kecil beneran beroperasi di jam sibuk.

Masalah yang Nggak Kelihatan dari Luar

Di kafe kecil dengan satu printer, flow-nya kelihatan sederhana: pelanggan pesan, kasir input, struk keluar, kasir kasih ke dapur atau barista. Tapi di jam sibuk, sederhana berubah jadi chaos.

Ini yang terjadi:

  • Bottleneck di printer. Satu printer melayani semua: struk pelanggan, order dapur, order bar. Saat 5 pesanan masuk berturut-turut, printer antri — dan yang pertama menunggu adalah dapur. Makanan telat keluar bukan karena masak lama, tapi karena order-nya sampai ke dapur telat.
  • Struk salah tujuan. Kasir harus manually sort struk mana yang untuk dapur, mana untuk bar, mana untuk pelanggan. Di jam sibuk, struk sering tertukar, hilang, atau nyasar ke tempat yang salah.
  • Kasir jadi messenger. Alih-alih fokus melayani pelanggan berikutnya, kasir harus jalan bolak-balik mengantarkan struk ke station yang berbeda. Ini membuang waktu dan memperlambat antrian.

Masalah-masalah ini terdengar kecil secara individual. Tapi kalau terjadi 20-30 kali sehari selama jam sibuk, dampak kumulatifnya besar: pelanggan menunggu lebih lama, staf lebih stres, dan kesalahan pesanan meningkat.

Solusi: Biarkan Sistem yang Routing

Ide dasarnya sederhana: alih-alih mencetak satu struk dan berharap kasir mengirimnya ke tempat yang benar, sistem yang harus tahu ke mana setiap item harus dicetak.

Ini yang kami bangun:

1. Printer bisa di-assign ke station. Setiap printer bisa diatur sebagai printer untuk station tertentu — misalnya "Dapur", "Bar", atau "Kasir". Setup-nya sekali di awal, dan setelah itu sistem yang mengurus routing secara otomatis.

2. Menu item tahu tujuannya. Setiap item di menu bisa di-assign ke station mana pesanannya harus dicetak. Nasi goreng → printer Dapur. Es kopi susu → printer Bar. Saat satu pesanan berisi item dari dua station berbeda, sistem otomatis memecah pesanan dan mengirim ke printer yang tepat.

3. Struk pelanggan tetap terpisah. Struk untuk pelanggan (bukti pembayaran) selalu keluar di printer kasir — terpisah dari order ticket yang dikirim ke dapur atau bar. Nggak ada lagi struk yang tertukar tujuan.

Detail Kecil yang Ternyata Penting

Fitur multi-printer kedengarannya straightforward. Tapi saat kami mulai implementasi, ada banyak edge case yang harus dipikirin:

Apa yang terjadi kalau printer dapur mati?

Ini skenario paling kritis — dan paling sering terjadi. Printer thermal itu notoriously unreliable di lingkungan dapur yang panas dan lembap. Kertas habis, koneksi Bluetooth putus, atau printer simply hang.

Solusi kami: kalau printer tujuan gagal cetak, pesanan tetap tercatat di sistem dan kasir mendapat notifikasi bahwa cetak gagal. Order nggak hilang — kasir bisa retry cetak atau secara manual menyampaikan pesanan. Lebih baik dari skenario tanpa sistem, di mana struk yang hilang berarti pesanan yang terlupakan.

Bagaimana kalau satu item perlu dicetak di dua tempat?

Contoh: paket kombo yang isinya makanan + minuman. Makanan perlu ke dapur, minuman ke bar. Sistem kami memecah item berdasarkan station assignment — satu pesanan bisa menghasilkan dua (atau lebih) order ticket di printer berbeda, masing-masing hanya berisi item yang relevan untuk station itu.

Bagaimana kalau kafe cuma punya satu printer?

Fitur multi-printer harus tetap berguna bahkan untuk kafe yang cuma punya satu printer. Di kasus ini, semua cetak ke printer yang sama — tapi format-nya berbeda. Order ticket untuk dapur tercetak dengan font besar dan item-only (tanpa harga), sementara struk pelanggan tercetak dengan format lengkap termasuk total dan metode pembayaran.

Kenapa Ini Penting untuk Kafe Kecil

"Tapi kafe saya kecil — dapur dan kasir cuma berjarak 3 meter. Ngapain pakai multi-printer?"

Pertanyaan yang valid. Dan untuk beberapa kafe sangat kecil, mungkin memang belum butuh printer terpisah. Tapi bahkan di kafe kecil, ada benefit yang sering nggak disadari:

Akuntabilitas pesanan. Kalau order dicetak langsung di dapur, nggak ada lagi argumen "saya nggak terima pesanannya" vs "saya sudah kirim pesanannya". Order ticket yang tercetak adalah bukti bahwa pesanan sudah masuk — timestamped dan tercatat.

Kecepatan di jam sibuk. 3 meter terasa dekat di jam sepi. Di jam sibuk dengan 10 pelanggan antri, setiap perjalanan bolak-balik kasir-dapur memakan 15-30 detik. Kalikan itu dengan 50 pesanan per jam, dan kamu kehilangan 12-25 menit efektif waktu kasir.

Mengurangi error. Pesanan yang disampaikan secara verbal ("satu nasi goreng, pedas, tanpa timun!") sangat rentan terhadap error — terutama di dapur yang berisik. Order ticket tercetak menghilangkan ambiguitas ini.

Pelajaran yang Kami Ambil

Membangun fitur multi-printer mengajarkan kami beberapa hal tentang software untuk operasional F&B:

Pelajaran 1: Observe dulu, build kemudian. Kalau kami cuma mendesain dari meja, kami nggak akan pernah tahu bahwa printer routing itu masalah besar. Ini jadi bukti nyata kenapa selalu penting untuk melihat langsung bagaimana pengguna bekerja sebelum membuat asumsi tentang apa yang mereka butuhkan.

Pelajaran 2: Edge case adalah fitur utama. Printer mati, koneksi putus, kertas habis — ini bukan skenario langka. Di lingkungan dapur, ini terjadi setiap hari. Sistem yang nggak handle edge case ini bukan sistem yang bisa diandalkan untuk operasional harian.

Pelajaran 3: Simpel ≠ gampang. Fitur "cetak struk ke printer yang beda" kedengarannya trivial. Implementasinya? Butuh mikirin koneksi Bluetooth yang nggak stabil, retry logic, format cetak yang berbeda per tipe struk, assignment item ke station, dan puluhan edge case lainnya. Kesederhanaan dari sisi pengguna butuh kompleksitas dari sisi engineering.

Multi-printer mungkin bukan fitur paling glamor yang pernah kami bangun. Nggak ada yang posting di Instagram tentang konfigurasi printer kafe mereka. Tapi ini salah satu fitur yang paling berdampak pada operasional sehari-hari — mengurangi waktu tunggu, menghilangkan kesalahan komunikasi, dan membuat jam sibuk sedikit lebih bisa dikelola.

Dapatkan tips bisnis F&B di inbox kamu

Artikel baru, panduan operasional, dan insight bisnis untuk pemilik cafe & restoran. Gratis, kapan saja bisa berhenti.