TL;DR
Manajemen stok barang metode min-max nentuin dua batas per SKU: batas min sebagai tanda kapan harus pesan, dan batas max sebagai stok maksimal setelah barang datang. Reorder point dihitung dari rata-rata permintaan harian dikali lead time, ditambah safety stock sebesar Z dikali standar deviasi permintaan harian dikali akar lead time. Buat beras 5kg dengan penjualan 12 unit per hari dan lead time 5 hari, reorder point-nya 75 unit dan batas max 204 unit.
Manajemen stok barang adalah cara ngatur kapan harus pesan dan berapa banyak, pakai tiga angka: batas minimum, safety stock, dan reorder point.
Tiga angka ini yang ngegantiin feeling. Selama kamu masih mesen barang cuma karena "kayaknya udah mau habis", kamu bakal terus gantian antara kehabisan barang laris dan numpuk barang yang nggak laku.
Aku bakal tunjukin rumusnya, cara ngitung di spreadsheet, plus contoh angka lengkap dari data toko sembako.
Manajemen stok metode min-max adalah sistem yang nentuin dua batas buat tiap barang: batas bawah (min) sebagai tanda kapan harus pesan, dan batas atas (max) sebagai jumlah stok maksimal setelah barang datang. Begitu stok nyentuh batas min, kamu pesan sebanyak selisih antara max dan stok sekarang.
Batas min itu sama dengan reorder point. Dia dihitung dari dua hal: berapa banyak barang yang laku selama masa tunggu pengiriman, plus cadangan buat jaga-jaga kalau penjualan lagi rame.
Kalau istilah kayak SKU, lead time, dan dead stock masih asing, baca dulu penjelasan istilah stok barang.
Ngandelin ingatan itu jalan sampai kamu punya 20 SKU. Di atas itu, otak nggak sanggup ngelacak kecepatan laku tiap barang sambil ngingat lead time masing-masing supplier.
Ada dua biaya yang muncul dari tebakan. Pertama, biaya kehabisan: pembeli datang, barang kosong, dia pindah toko dan mungkin nggak balik. Kedua, biaya kelebihan: uang nyangkut di rak sambil nanggung risiko rusak dan kedaluwarsa.
Min-max nyeimbangin dua biaya itu lewat angka, bukan lewat perasaan. Dan begitu angkanya udah kehitung, siapa pun yang jaga toko bisa jalanin aturannya.
Safety stock adalah stok cadangan buat nutup lonjakan penjualan atau keterlambatan kiriman. Rumus paling umum dipakai kalau lead time supplier kamu relatif tetap:
Safety stock = Z x standar deviasi permintaan harian x akar(lead time)
Tiga komponennya:
Nilai Z yang paling sering dipakai:
| Target layanan | Nilai Z | Artinya |
|---|---|---|
| 90% | 1,28 | Kehabisan sekitar 1 dari 10 siklus pesan |
| 95% | 1,65 | Kehabisan sekitar 1 dari 20 siklus pesan |
| 98% | 2,05 | Kehabisan sekitar 1 dari 50 siklus pesan |
| 99% | 2,33 | Kehabisan sekitar 1 dari 100 siklus pesan |
Di Excel kamu nggak perlu hafal tabel itu. Ketik ini buat dapetin Z dari target layanan:
=NORM.S.INV(0,95)
Hasilnya 1,6449. Ganti angka 0,95 sesuai target layanan yang kamu mau.
Buat standar deviasi permintaan harian, pakai data penjualan minimal 30 hari terakhir:
=STDEV.S(B2:B91)
Catatan penting: standar deviasi harus dihitung dari data harian, bukan dari total mingguan. Kalau kamu campur satuan waktu, hasil safety stock-nya meleset jauh.
Reorder point adalah jumlah stok yang jadi tanda kamu harus pesan sekarang juga. Rumusnya:
Reorder point = (rata-rata permintaan harian x lead time) + safety stock
Bagian pertama nutup penjualan selama barang masih di jalan. Bagian kedua nutup kemungkinan penjualan lebih rame dari biasanya atau kiriman telat.
Di spreadsheet, kalau data penjualan harian ada di kolom B dan safety stock di sel H2:
=AVERAGE(B2:B91)*5+H2
Angka 5 di situ lead time dalam hari. Ganti sesuai janji supplier kamu, dan pakai angka yang realistis, bukan angka yang dijanjiin di brosur.
Buat mancing tanda peringatan otomatis, tambahin kolom status pakai fungsi IF:
=IF(F2<=I2,"PESAN SEKARANG","Aman")
Batas max adalah reorder point ditambah jumlah pesanan sekali beli. Buat nentuin jumlah pesanan yang hemat, pakai rumus Economic Order Quantity:
EOQ = akar(2 x permintaan setahun x biaya sekali pesan / biaya simpan per unit per tahun)
Biaya sekali pesan itu ongkos kirim plus waktu yang kamu keluarin buat ngurus pesanan. Biaya simpan biasanya diperkirakan 15% sampai 25% dari harga barang per tahun, nutup risiko rusak, tempat, dan modal yang berhenti.
Di Excel:
=SQRT(2*D2*E2/F2)
Kalau angkanya kelihatan aneh, biasanya biaya simpan yang keisi terlalu kecil. Jangan isi nol, soalnya rumusnya bakal meledak.
Delapan langkah ini muat dalam satu file spreadsheet. Nggak perlu software gudang berbayar buat toko dengan di bawah 200 SKU.
Aku pakai dataset toko_berkah, catatan penjualan 90 hari buat SKU beras 5kg. Ini angka mentahnya:
| Komponen | Nilai | Asal angka |
|---|---|---|
| Rata-rata penjualan harian | 12 unit | AVERAGE dari 90 hari |
| Standar deviasi harian | 4 unit | STDEV.S dari 90 hari |
| Lead time supplier | 5 hari | Rata-rata catatan penerimaan |
| Target layanan | 95% (Z = 1,65) | Barang paling laku |
| Harga beli per unit | Rp 65.000 | Nota supplier |
| Biaya sekali pesan | Rp 25.000 | Ongkos kirim dan waktu ngurus |
| Biaya simpan per unit per tahun | Rp 13.000 | 20% dari harga beli |
Hitungannya:
Aturannya jadi sederhana: begitu stok beras 5kg turun ke 75 unit, pesan sampai stok balik ke 204 unit.
Ini bagian yang menarik. Selama 90 hari itu, beras 5kg kehabisan stok 7 kali gara-gara pemesanan dilakuin waktu stok udah di angka 40-an. Padahal penjualan selama 5 hari lead time aja rata-rata udah 60 unit.
Dengan reorder point 75 unit, tujuh kejadian kehabisan itu bisa dicegah semua. Kalau tiap kejadian rata-rata bikin 8 pembeli pulang tangan kosong dengan margin Rp 5.000 per unit, kerugian yang ketutup sekitar Rp 280.000 dalam tiga bulan. Dari satu SKU doang.
Toko_berkah punya 80 SKU. Yang perlu dihitung serius cuma 31 SKU yang laku tiap minggu, dan itu kerjaan setengah hari sekali di awal.
Pertanyaan yang sering muncul soal manajemen stok barang aku jawab di bagian FAQ, mulai dari kebutuhan data minimal sampai cara nangani barang musiman.
Minimal 30 hari penjualan harian per SKU biar standar deviasinya nggak asal. Angka yang lebih enak dipakai ada di 90 hari, soalnya pola akhir pekan dan awal bulan udah kelihatan. Kalau kamu baru punya dua minggu data, pakai dulu angka kasar dari perkiraan, lalu hitung ulang begitu data sebulan penuh terkumpul.
Jangan campur data musim ramai sama musim biasa dalam satu perhitungan. Pisahkan periodenya, lalu hitung rata-rata dan standar deviasi buat masing-masing musim. Sebulan sebelum musim ramai masuk, ganti angka reorder point ke versi musim ramai. Setelah lewat, balikin ke angka normal biar stokmu nggak numpuk sepanjang tahun.
Rumus safety stock yang aku pakai di artikel ini berlaku kalau lead time relatif tetap. Kalau supplier kamu kadang 3 hari kadang 10 hari, pakai versi rumus yang ikut ngitung variasi lead time, atau cara praktisnya: pakai lead time terburuk dari catatan enam bulan terakhir. Cara kedua bikin stok agak lebih banyak, tapi jauh lebih aman.
Bedain per kelompok barang. Barang yang laku tiap hari dan jadi alasan orang datang ke tokomu pantes dapet 98%. Barang menengah cukup 95%. Barang yang laku sebulan sekali cukup 90%, atau malah nggak usah pakai safety stock sama sekali. Nyamain semua barang di 99% cuma bikin modalmu berhenti di rak.
Nggak wajib. Min-max ngurus kapan kamu pesan, EOQ ngurus berapa banyak sekali pesan. Kamu bisa pakai reorder point aja lalu nentuin jumlah pesanan dari kelipatan kemasan supplier, misalnya per dus. EOQ paling kepakai kalau ongkos kirim per pesanan lumayan besar, soalnya di situ selisih biayanya baru kerasa.
Yang perlu diingat: safety stock nutup ketidakpastian, reorder point nentuin kapan pesan, dan EOQ nentuin berapa banyak sekali pesan.
Jangan hitung 80 SKU sekaligus di hari pertama. Ambil satu barang paling laku, hitung tiga angkanya, jalanin dua bulan, lalu lihat berapa kali kamu kehabisan. Kalau angkanya turun, baru lanjut ke SKU berikutnya.
Lanjut baca rumus safety stock dan reorder point di Excel buat contoh sel dan formula lengkapnya, atau template stok barang Excel kalau kamu belum punya struktur pencatatannya. Buat referensi fungsi statistik yang dipakai di sini, cek dokumentasi resmi Microsoft Excel.
Mau praktek langsung? Mulai latihan SQL gratis
Latihan interaktif, langsung di browser.
Punya ratusan angka dan mau tau sebarannya masuk ke rentang mana aja? FREQUENCY ngitung distribusi frekuensi sekali jalan, tanpa nulis COUNTIFS berkali-kali.
SUMIFS ribet kalau kriterianya banyak dan sering ganti. Rumus database Excel kayak DSUM baca kriteria dari sel terpisah, jadi kamu tinggal ubah tabel kecil tanpa nyentuh rumus.
DATEDIF ngasih umur bulat, tapi kadang kamu butuh angka desimal kayak 27,6 tahun buat hitung masa kerja atau bunga. YEARFRAC ngasih pecahan tahun dengan presisi.