Manajemen Stok Barang: Min-Max, Safety Stock, dan Reorder Point
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.
Apa itu manajemen stok barang metode min-max?
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.
Kenapa metode min-max lebih baik daripada feeling?
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.
Gimana cara menghitung safety stock?
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:
- Z adalah angka yang mewakili tingkat layanan yang kamu mau. Makin tinggi target, makin besar cadangannya.
- Standar deviasi permintaan harian ngukur seberapa naik-turun penjualan barang itu tiap hari.
- Akar lead time nyesuain cadangan dengan panjang masa tunggu kiriman.
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.
Gimana cara menghitung reorder point?
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")
Gimana cara menentukan batas max dan jumlah pesanan?
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.
Langkah bikin sistem min-max di spreadsheet
- Kumpulin data penjualan harian minimal 30 hari per SKU. Kolomnya cukup tanggal, kode barang, jumlah keluar.
- Bikin sheet rekap per SKU. Pakai fungsi SUMIF buat jumlahin keluar per kode barang per hari.
- Hitung rata-rata dan standar deviasi harian pakai AVERAGE dan STDEV.S di dua kolom terpisah.
- Isi lead time tiap supplier dalam satuan hari. Kalau supplier-nya sering telat, pakai angka rata-rata nyata dari catatan penerimaan barang.
- Tentuin target layanan per kelompok barang. Barang paling laku 98%, barang menengah 95%, barang jarang laku 90%.
- Hitung safety stock, reorder point, dan EOQ di tiga kolom baru pakai rumus di atas.
- Tambah kolom status yang bandingin stok sekarang sama reorder point, lalu kasih conditional formatting merah buat status PESAN SEKARANG.
- Hitung ulang tiap tiga bulan. Pola penjualan berubah, jadi angkanya juga harus ikut berubah.
Delapan langkah ini muat dalam satu file spreadsheet. Nggak perlu software gudang berbayar buat toko dengan di bawah 200 SKU.
Contoh kasus: beras 5kg di toko_berkah
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:
- Safety stock = 1,65 x 4 x akar(5) = 1,65 x 4 x 2,24 = 15 unit
- Reorder point = (12 x 5) + 15 = 75 unit
- Permintaan setahun = 12 x 360 = 4.320 unit
- EOQ = akar(2 x 4.320 x 25.000 / 13.000) = 129 unit
- Batas max = 75 + 129 = 204 unit
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.
Kesalahan umum dalam manajemen stok
- Pakai lead time dari janji supplier, bukan dari catatan nyata. Kalau janjinya 3 hari tapi nyatanya sering 6 hari, reorder point kamu kekecilan terus.
- Nyamain target layanan buat semua barang. Target 99% buat barang yang laku sebulan sekali cuma bikin modal nyangkut.
- Ngitung standar deviasi dari data mingguan. Rumus safety stock di atas minta data harian. Campur satuan waktu bikin hasilnya meleset.
- Nggak update angka setelah momen ramai. Penjualan Ramadan bikin rata-rata naik semu. Hitung ulang setelah periode itu lewat, atau pisahin datanya.
- Nyetel reorder point tapi nggak ada yang ngecek. Angka doang nggak jalan. Tentuin satu orang yang buka sheet status tiap pagi.
- Ngisi biaya simpan nol di rumus EOQ. Hasilnya jadi angka raksasa yang nggak masuk akal. Isi minimal 15% dari harga beli.
FAQ
Pertanyaan yang sering muncul soal manajemen stok barang aku jawab di bagian FAQ, mulai dari kebutuhan data minimal sampai cara nangani barang musiman.
Mulai dari satu SKU
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.
Artikel terkait
INDEX MATCH Google Sheets: Lookup Lebih Fleksibel dari VLOOKUP (2026)
INDEX MATCH gabung dua fungsi buat lookup yang bisa nyari ke kiri dan nggak gampang rusak. Ini alasan banyak analis pindah dari VLOOKUP.
SUMPRODUCT Google Sheets: Hitung Berbobot Tanpa Ribet (2026)
SUMPRODUCT ngaliin dua kolom atau lebih baris per baris, terus jumlahin hasilnya. Cocok buat total qty kali harga sampai hitungan bersyarat.
REGEXMATCH Google Sheets: Cek Kecocokan Pola Teks (2026)
REGEXMATCH ngecek apakah teks cocok sama pola tertentu dan balikin TRUE atau FALSE. Cocok buat validasi nomor HP, email, sampai filter data berantakan.