Pak Hendra, pemilik Toko Elektronik Mitra Jaya di Surabaya, membuka laporan akhir tahun 2025 dan mengerutkan dahi. Penjualan tumbuh 18%, tetapi laba bersih hanya naik 4%. Dua angka di neraca menjelaskan selisihnya: persediaan membengkak dari Rp 4,1 miliar ke Rp 6,8 miliar, dan ada satu pos rugi yang tahun lalu tidak pernah ada — rugi penjualan akibat kehabisan stok (stockout) sebesar Rp 340 juta.
“Mana mungkin,” gerutu Pak Hendra. “Kalau persediaanku naik Rp 2,7 miliar, kenapa aku malah kehabisan TV 43 inci di bulan Lebaran — tepat saat paling laku? Dan kenapa gudangku penuh kabel HDMI yang hampir tidak laku?”
Pertanyaan ini bukan paradoks. Ia menyentuh inti manajemen persediaan: kalau Anda pesan terlalu banyak, modal terkunci di gudang dan biaya penyimpanan menggerus laba. Kalau Anda pesan terlalu sedikit, Anda kehabisan stok di saat kritis dan kehilangan penjualan. Dan kalau Anda memperlakukan semua produk sama, modal Anda terserap ke ratusan SKU murah sementara produk unggulan malah kosong. Untuk memecahkan ketiga masalah ini, akuntansi manajemen menyusun tiga alat yang sudah teruji sejak 1913: Economic Order Quantity (berapa banyak pesan), Safety Stock + Reorder Point (kapan pesan ulang), dan ABC Analysis (SKU mana yang wajib dikontrol ketat). Artikel ini menerapkan ketiganya pada lima SKU Mitra Jaya, dengan setiap angka terhubung ke workbook Excel pendamping /excel/inventory-management-template.xlsx berisi formula hidup.
Tiga Biaya yang Berlomba: Trade-off Fundamental
Sebelum menyentuh rumus, mari pahami tiga biaya yang tarik-menarik di setiap keputusan persediaan. Setiap rupiah yang Anda keluarkan untuk persediaan jatuh ke salah satu dari tiga kantong ini — dan keputusan optimal adalah menyeimbangkan ketiganya.
1. Biaya pemesanan (ordering cost, S). Biaya yang muncul setiap kali Anda menempatkan satu purchase order, berapa pun banyaknya barang. Mencakup: biaya administrasi (pembuatan PO, approvals, fax/email ke pemasok), ongkos kiriman dari pabrikan, biaya inspeksi kualitas saat barang tiba, dan waktu staf pembelian. Untuk Mitra Jaya, estimasi S = Rp 100.000 per PO — angka yang lazim untuk distributor elektronik tingkat menengah, di mana tiap PO butuh approval tiga tingkat dan inspeksi fisik.
2. Biaya penyimpanan (holding/carrying cost, H). Biaya menyimpan satu unit selama satu tahun di gudang. Empat komponen utamanya: (a) modal terikat — opportunity cost dari uang yang tertanam di stok (kalau Anda tidak beli stok Rp 100 juta, uang itu bisa dipakai membayar utang atau menabung); (b) biaya gudang — sewa, listrik, pendingin, sekuriti; (c) asuransi dan pajak persediaan; (d) penyusutan/obsolescence — elektronik kehilangan 15-25% nilai per tahun karena model baru muncul. Praktik umum menyatakan H sebagai persentase i dari harga beli unit C: $H = i \times C$. Untuk elektronik Indonesia, i = 20% per tahun adalah estimasi standar (modal 12% + gudang 3% + obsolescence 5%).
3. Biaya kehabisan stok (stockout cost). Biaya saat pelanggan datang tetapi barang kosong. Dua bentuk: lost sale (pelanggan langsung beli ke kompetitor — rugi margin), atau backorder (pelanggan bersedia nunggu, tapi Anda kena biaya ekspedisi mendesak + damage reputasi). Stockout cost sulit diukur eksak karena tidak muncul di pembukuan — pelanggan yang pergi tidak meninggalkan kuitansi. Inilah mengapa kita perlu safety stock: asuransi yang dibeli dengan modal.
Trade-off-nya tampak jelas. Pesan banyak sekali sekaligus → sedikit PO → biaya pemesanan rendah — tapi stok rata-rata tinggi → biaya penyimpanan tinggi. Pesan sedikit-sedikit tapi sering → biaya penyimpanan rendah — tapi banyak PO → biaya pemesanan tinggi. Tidak ada jawaban insting yang selalu benar; jawabannya harus dihitung. Inilah pekerjaan EOQ.
Identitas Fundamental: Total Biaya Persediaan
Total biaya persediaan tahunan adalah penjumlahan tiga komponen, tetapi kita akan memisahkan stockout cost (ditangani nanti via safety stock). Yang EOQ optimasi adalah total biaya pemesanan + penyimpanan:
$$TC(Q) = \underbrace{\frac{D}{Q} \times S}_{\text{biaya pesan/thn}} + \underbrace{\frac{Q}{2} \times H}_{\text{biaya simpan/thn}}$$Penjelasan tiap suku:
- $D$ = permintaan tahunan (unit). $Q$ = kuantitas per pesanan. Maka $\frac{D}{Q}$ = jumlah pesanan per tahun. Dikalikan $S$ = total biaya pemesanan tahunan. Pesan 2× lebih banyak per PO → jumlah PO berkurang setengahnya → biaya pesan turun.
- $\frac{Q}{2}$ = stok rata-rata. Mengapa setengahnya? Karena stok naik linier dari 0 (habis) ke $Q$ (baru datang), lalu turun linier kembali ke 0 — rata-rata segitiga = $\frac{Q}{2}$. Dikalikan $H$ (biaya simpan per unit per tahun) = total biaya penyimpanan. Pesan 2× lebih banyak → stok rata-rata naik 2× → biaya simpan naik 2×.
Satu turun, satu naik. Total biaya minimum terjadi di titik di mana kedua kurva berpotongan — dan kalkulus memberi jawaban eksaknya. Turunkan $TC(Q)$ terhadap $Q$, samakan dengan nol:
$$\frac{dTC}{dQ} = -\frac{DS}{Q^2} + \frac{H}{2} = 0$$Selesaikan untuk $Q$:
$$\boxed{Q^* = \sqrt{\frac{2DS}{H}}} \quad \text{(Economic Order Quantity, Wilson 1913)}$$Inilah EOQ — kuantitas pesan yang meminimumkan total biaya pemesanan + penyimpanan. Diperkenalkan pertama kali oleh Ford W. Harris (1913) dan dipopulerkan R. H. Wilson, rumus ini sudah dipakai lebih dari satu abad karena sederhana, transparan, dan robust. Catatan kunci: pada $Q = Q^*$, biaya pemesanan tahunan = biaya penyimpanan tahunan — masing-masing sama dengan $\sqrt{\frac{DSH}{2}}$. Ini bukan kebetulan; ini adalah syarat matematis titik minimum, dan akan kita verifikasi di workbook Excel.
Contoh: Toko Elektronik Mitra Jaya — 5 SKU
Mari terapkan EOQ ke lima SKU Mitra Jaya. Pertama, kunci parameter global: S = Rp 100.000/PO dan i = 20%/tahun (jadi $H = 0{,}20 \times C$). Berikut data master dari sistem POS Mitra Jaya tahun 2025.
Toko Elektronik Mitra Jaya — Data Master 5 SKU
| # | SKU | Harga Beli (C) | Permintaan Thn (D) | H = i × C |
|---|---|---|---|---|
| 1 | LED TV 43" | Rp 2.500.000 | 1.200 unit | Rp 500.000/unit/thn |
| 2 | Kulkas 2 Pintu | Rp 3.500.000 | 600 unit | Rp 700.000/unit/thn |
| 3 | Mesin Cuci | Rp 2.800.000 | 480 unit | Rp 560.000/unit/thn |
| 4 | Speaker Bluetooth | Rp 350.000 | 2.400 unit | Rp 70.000/unit/thn |
| 5 | Kabel HDMI | Rp 45.000 | 4.800 unit | Rp 9.000/unit/thn |
Mari hitung EOQ satu per satu.
SKU 1 — LED TV 43". $D = 1.200$, $S = 100.000$, $H = 500.000$:
$$Q^* = \sqrt{\frac{2 \times 1.200 \times 100.000}{500.000}} = \sqrt{480} \approx \textbf{21,9 unit per PO}$$Artinya: pesan sekitar 22 unit TV setiap kali. Jumlah pesanan per tahun = $\frac{1.200}{21{,}9} \approx 55$ PO. Biaya pesan tahunan = $55 \times 100.000 = \text{Rp 5,48 juta}$. Biaya simpan tahunan = $\frac{21{,}9}{2} \times 500.000 = \text{Rp 5,48 juta}$. Total = Rp 10,95 juta. Perhatikan: kedua biaya sama persis — inilah jaminan EOQ.
SKU 2 — Kulkas 2 Pintu. $D = 600$, $H = 700.000$:
$$Q^* = \sqrt{\frac{2 \times 600 \times 100.000}{700.000}} \approx \textbf{13,1 unit per PO}$$46 PO/tahun, total biaya = Rp 9,17 juta (pesan Rp 4,58 jt + simpan Rp 4,58 jt).
SKU 3 — Mesin Cuci. $D = 480$, $H = 560.000$:
$$Q^* = \sqrt{\frac{2 \times 480 \times 100.000}{560.000}} \approx \textbf{13,1 unit per PO}$$SKU 4 — Speaker Bluetooth. $D = 2.400$, $H = 70.000$:
$$Q^* = \sqrt{\frac{2 \times 2.400 \times 100.000}{70.000}} \approx \textbf{82,8 unit per PO}$$SKU 5 — Kabel HDMI. $D = 4.800$, $H = 9.000$:
$$Q^* = \sqrt{\frac{2 \times 4.800 \times 100.000}{9.000}} \approx \textbf{326,6 unit per PO}$$Perhatikan pola: SKU murah dengan volume tinggi (HDMI) dapat EOQ besar (327 unit) — masuk akal karena biaya simpan per unit sangat kecil, lebih murah pesan banyak sekali. SKU mahal dengan volume sedang (Kulkas) dapat EOQ kecil (13 unit) — modal terikat per unit terlalu besar untuk menyimpan banyak. Inilah intuisi EOQ: pesan banyak yang murah, pesan sedikit yang mahal.
Ringkasan EOQ 5 SKU Mitra Jaya:
| SKU | EOQ (Q*) | PO/thn | Biaya Pesan | Biaya Simpan | Total Biaya |
|---|---|---|---|---|---|
| LED TV 43" | 21,9 | 55 | Rp 5,48 jt | Rp 5,48 jt | Rp 10,95 jt |
| Kulkas 2 Pintu | 13,1 | 46 | Rp 4,58 jt | Rp 4,58 jt | Rp 9,17 jt |
| Mesin Cuci | 13,1 | 37 | Rp 3,67 jt | Rp 3,67 jt | Rp 7,33 jt |
| Speaker Bluetooth | 82,8 | 29 | Rp 2,90 jt | Rp 2,90 jt | Rp 5,80 jt |
| Kabel HDMI | 326,6 | 15 | Rp 1,47 jt | Rp 1,47 jt | Rp 2,94 jt |
| TOTAL | — | 182 PO | — | — | Rp 36,19 jt |
Total biaya persediaan optimal Mitra Jaya: Rp 36,19 juta/tahun. Sekarang bandingkan dengan kebijakan lama Pak Hendra yang “ikut feeling”: ia memesan setiap SKU sekali sebulan (12 PO per SKU). Untuk TV, itu berarti $Q = 100$ unit per PO. Total biayanya: pesan $= 12 \times 100.000 = 1{,}2$ jt; simpan $= \frac{100}{2} \times 500.000 = 25$ jt; total Rp 26,2 juta hanya untuk satu SKU — versus Rp 10,95 juta di EOQ. Selisih Rp 15,25 juta per tahun untuk satu SKU saja, dan Mitra Jaya punya lima. Mengapa? Karena pesanan bulanan terlalu besar untuk produk mahal — modal terjebak di stok TV yang berdebu di gudang selama berminggu-minggu, sambil membayar bunga opportunity cost. EOQ menyelaraskan ukuran pesanan dengan trade-off matematis, bukan dengan periode kalender.
Safety Stock: Asuransi terhadap Ketidakpastian
EOQ menjawab berapa banyak pesan. Tetapi ia mengasumsikan permintaan dan lead time konstan dan dapat diprediksi — sebuah ilusi di dunia nyata. Di Mitra Jaya, permintaan TV di Lebaran bisa melonjak 3× dari rata-rata; pengiriman dari distributor Jakarta yang biasanya 2 minggu bisa molor jadi 4 minggu kalau musim hujan. Inilah mengapa setiap sistem persediaan nyata membutuhkan safety stock: stok pengaman yang melindungi dari dua sumber ketidakpastian — variabilitas permintaan selama lead time, dan variabilitas lead time itu sendiri.
Asumsikan permintaan mingguan mengikuti distribusi normal dengan rata-rata $\bar{d}$ dan simpangan baku $\sigma$. Lead time $L$ dalam minggu, konstan. Maka permintaan selama lead time juga normal, dengan:
$$\text{rata-rata} = \bar{d} \times L, \qquad \text{std dev} = \sigma \times \sqrt{L}$$Mengapa $\sqrt{L}$? Karena varians menjumlah: varians permintaan selama $L$ minggu = $L \times \sigma^2$ (asumsi independen), jadi std dev-nya = $\sigma \sqrt{L}$. Ini adalah akar dari sifat penjumlahan varians — sama seperti mengapa standar error rata-rata sampel mengecil dengan $\sqrt{n}$.
Safety stock ditentukan oleh service level yang Anda pilih. Service level $\alpha$ = probabilitas tidak terjadi stockout dalam satu siklus pesan. Hubungannya dengan Z-score distribusi normal standar: $\alpha = 95\% \Rightarrow Z = 1{,}645$; $\alpha = 99\% \Rightarrow Z = 2{,}326$; $\alpha = 90\% \Rightarrow Z = 1{,}282$.
$$\boxed{SS = Z \times \sigma \times \sqrt{L}}$$Maknanya: semakin tinggi service level yang diinginkan (semakin takut kehabisan), semakin tinggi Z, semakin besar safety stock. Dan semakin variabel permintaan ($\sigma$ besar) atau semakin panjang lead time ($L$ besar), semakin besar buffer yang dibutuhkan.
Mari hitung untuk Mitra Jaya, asumsi service level 95% (Z = 1,645). Dari data POS 2 tahun, Mitra Jaya mencatat permintaan mingguan dengan statistik berikut.
Mitra Jaya — Permintaan Mingguan dan Lead Time per SKU
| SKU | Rata-rata Mgg ($\bar{d}$) | Std Dev ($\sigma$) | Lead Time (L, mgg) |
|---|---|---|---|
| LED TV 43" | 23,08 | 6,0 | 2 |
| Kulkas 2 Pintu | 11,54 | 3,5 | 3 |
| Mesin Cuci | 9,23 | 3,0 | 3 |
| Speaker Bluetooth | 46,15 | 12,0 | 1 |
| Kabel HDMI | 92,31 | 25,0 | 1 |
Safety stock LED TV 43". $\sigma = 6{,}0$, $L = 2$, $Z = 1{,}645$:
$$SS = 1{,}645 \times 6{,}0 \times \sqrt{2} = 1{,}645 \times 6{,}0 \times 1{,}414 \approx \textbf{14,0 unit}$$Safety stock Kulkas 2 Pintu. $\sigma = 3{,}5$, $L = 3$:
$$SS = 1{,}645 \times 3{,}5 \times \sqrt{3} \approx \textbf{10,0 unit}$$Safety stock Speaker Bluetooth. $\sigma = 12{,}0$, $L = 1$:
$$SS = 1{,}645 \times 12{,}0 \times \sqrt{1} \approx \textbf{19,7 unit}$$Perhatikan: Speaker punya lead time pendek (1 minggu) tetapi $\sigma$ besar, jadi safety stock-nya tetap signifikan. Sementara Kulkas punya lead time lebih panjang (3 minggu) tetapi $\sigma$ kecil. Faktor $\sqrt{L}$ dan $\sigma$ sama-sama penting — tidak bisa hanya fokus ke salah satu.
Pertanyaan strategis: naikkan service level ke 99%? Untuk TV, $Z = 2{,}326$: $SS = 2{,}326 \times 6 \times \sqrt{2} = 19{,}7$ unit — naik dari 14 ke 19,7 (modal tambahan $\approx 5{,}7 \times 2{,}5$ jt = Rp 14,3 jt terikat). Apakah ini sepadan dengan menghindari satu stockout TV di Lebaran, yang berpotensi rugi margin Rp 400 rb per unit? Untuk produk premium, ya. Untuk kabel HDMI, naikkan dari 95% ke 99% menambah buffer $\approx 11$ unit × Rp 45 rb = Rp 495 rb — tidak sepadan. Service level harus berbeda per kelas SKU — inilah yang akan ditangani ABC Analysis.
Reorder Point: Kapan Harus Pesan Ulang
Sekarang gabungkan: reorder point (ROP) adalah level stok di mana Anda harus menempatkan PO baru, sehingga pengiriman tiba tepat sebelum stok habis. Logikanya: dari saat Anda pesan sampai barang tiba ($= L$ periode), konsumsi akan terus berjalan. Anda butuh stok cukup untuk menutup permintaan rata-rata selama $L$ ditambah safety stock untuk menutup variabilitas.
$$\boxed{ROP = (\bar{d} \times L) + SS}$$- $\bar{d} \times L$ = permintaan yang diharapkan selama lead time (komponen “pasti”).
- $SS$ = buffer untuk fluktuasi (komponen “jaga-jaga”).
Mari hitung ROP untuk kelima SKU Mitra Jaya.
ROP LED TV 43". $\bar{d} = 23{,}08$, $L = 2$, $SS = 14{,}0$:
$$ROP = (23{,}08 \times 2) + 14{,}0 = 46{,}2 + 14{,}0 = \textbf{60,1 unit}$$Artinya: begitu stok TV turun ke 60 unit, staf gudang harus langsung tekan PO ke distributor. Jika permintaan normal terjadi, stok akan turun ke 14 unit (sama dengan SS) tepat saat pengiriman tiba. Jika terjadi lonjakan — stok tidak akan habis karena SS melindungi.
ROP Kulkas 2 Pintu. $\bar{d} = 11{,}54$, $L = 3$, $SS = 10{,}0$:
$$ROP = (11{,}54 \times 3) + 10{,}0 = 34{,}6 + 10{,}0 = \textbf{44,6 unit}$$ROP Mesin Cuci. $\bar{d} = 9{,}23$, $L = 3$, $SS = 8{,}5$:
$$ROP = (9{,}23 \times 3) + 8{,}5 = 27{,}7 + 8{,}5 = \textbf{36,2 unit}$$ROP Speaker Bluetooth. $\bar{d} = 46{,}15$, $L = 1$, $SS = 19{,}7$:
$$ROP = (46{,}15 \times 1) + 19{,}7 = 46{,}2 + 19{,}7 = \textbf{65,9 unit}$$ROP Kabel HDMI. $\bar{d} = 92{,}31$, $L = 1$, $SS = 41{,}1$:
$$ROP = (92{,}31 \times 1) + 41{,}1 = 92{,}3 + 41{,}1 = \textbf{133,4 unit}$$Ringkasan Safety Stock dan ROP Mitra Jaya (service level 95%):
| SKU | SS (unit) | ROP (unit) | Stok Saat Ini | Status |
|---|---|---|---|---|
| LED TV 43" | 14,0 | 60,1 | 35 | ⚠ RE-ORDER SEKARANG |
| Kulkas 2 Pintu | 10,0 | 44,6 | 22 | ⚠ RE-ORDER SEKARANG |
| Mesin Cuci | 8,5 | 36,2 | 40 | ◐ Mendekati ROP |
| Speaker Bluetooth | 19,7 | 65,9 | 70 | ◐ Mendekati ROP |
| Kabel HDMI | 41,1 | 133,4 | 140 | ◐ Mendekati ROP |
Tabel ini menjawab kepanikan Pak Hendra di awal. Dua SKU premium (TV dan Kulkas) memang sudah lewat ROP — stok 35 dan 22 di bawah ROP 60 dan 45. Ia kehabisan TV di Lebaran bukan karena “tidak hoki”; ia kehabisan karena tidak punya sistem pemicu reorder. Staf gudang memesan ulang hanya saat staf toko melaporkan “barang habis” — yang berarti stok sudah di 0, dan lead time 2-3 minggu berarti tambahan stockout yang tidak perlu. Dengan ROP terhitung, pemicu terjadi otomatis saat stok menyentuh angka, bukan saat pelanggan komplain.
Di workbook Excel, kolom “Status” menggunakan formula =IF(stok<=ROP;"RE-ORDER SEKARANG";IF(stok<=ROP*1,2;"MENDEKATI ROP";"AMAN")) — sehingga setiap pagi staf gudang membuka file, langsung tahu SKU mana yang butuh PO hari ini.
ABC Analysis: Tidak Semua SKU Setara
Pak Hendra punya 5 SKU di contoh ini — tapi toko elektronik nyata punya 200-500 SKU: dari TV mahal sampai baterai AAA. Memperlakukan semuanya dengan kontrol yang sama (hitung EOQ + safety stock penuh, stok opname mingguan) tidak praktis dan memboroskan sumber daya. Sebaliknya, mengabaikan semuanya sama berbahayanya. Solusinya adalah klasifikasi ABC, aplikasi prinsip Pareto (80/20) pada portofolio persediaan.
Intuisi Pareto: sedikit item bertanggung jawab atas mayoritas nilai. Di persediaan, mayoritas nilai pemakaian tahunan (D × C) berasal dari sedikit SKU. Klasifikasi:
- Kelas A — ~70-80% nilai, ~10-20% SKU. Kontrol ketat: hitung EOQ dan safety stock penuh, stok opname mingguan, negosiasi kontrak jangka panjang dengan pemasok, monitoring harian oleh manajer senior. Error di sini mahal.
- Kelas B — ~15-20% nilai, ~30% SKU. Kontrol normal: EOQ dan SS, opname bulanan, kontrol rutin. Sebagian besar proses standar.
- Kelas C — ~5-10% nilai, ~50% SKU. Kontrol longgar: pesan dalam quantity besar (karena biaya pesan relatif besar vs nilai unit), safety stock rendah atau nol, opname kuartal. Boleh ada sedikit overstock — murah, tidak banyak modal terikat.
Mari klasifikasikan 5 SKU Mitra Jaya. Pertama, hitung nilai pemakaian tahunan ($D \times C$) dan urutkan menurun.
Mitra Jaya — Nilai Pemakaian Tahunan per SKU
| Rank | SKU | D × C | % Nilai | Kumulatif % | Kelas |
|---|---|---|---|---|---|
| 1 | LED TV 43" | Rp 3.000.000.000 | 40,0% | 40,0% | A |
| 2 | Kulkas 2 Pintu | Rp 2.100.000.000 | 28,0% | 68,0% | A |
| 3 | Mesin Cuci | Rp 1.344.000.000 | 17,9% | 85,9% | B |
| 4 | Speaker Bluetooth | Rp 840.000.000 | 11,2% | 97,1% | C |
| 5 | Kabel HDMI | Rp 216.000.000 | 2,9% | 100,0% | C |
| TOTAL | Rp 7.500.000.000 | 100% |
Dengan ambang batas 80% (A) dan 95% (B), klasifikasinya:
- Kelas A (≤80% kumulatif): TV + Kulkas — kumulatif 68,0%. Hanya 2 SKU (40% dari SKU) tapi 68% nilai pemakaian.
- Kelas B (80-95%): Mesin Cuci — kumulatif 85,9%. 1 SKU, 17,9% nilai.
- Kelas C (>95%): Speaker + HDMI — kumulatif 97,1% → 100%. 2 SKU, hanya 14,1% nilai.
Pareto terbukti: 40% SKU (kelas A) mengikat 68% modal. Implikasi praktis untuk Mitra Jaya:
- TV dan Kulkas wajib kontrol ketat. Stok opname fisik tiap minggu (bukan tiap bulan). Hitung EOQ dan safety stock dengan data terbaru tiap kuartal. Negosiasi kontrak supply 6-bulan dengan distributor untuk menurunkan lead time. Manajer pembelian senior handle langsung. Stockout di sini = rugi besar.
- Mesin Cuci kontrol normal. EOQ + SS standar, opname bulanan. Staf pembelian handle dengan supervisi.
- Speaker dan HDMI kontrol longgar. Boleh overstock sedikit (modal murah). Safety stock rendah, bahkan boleh nol untuk HDMI karena lead time 1 minggu. Opname kuartal cukup. Tidak perlu monitoring harian.
Strategi yang berbeda per kelas ini menghemat waktu manajemen (fokus ke A) dan modal (tidak overbuffer di C) — sambil tetap menjaga service level di mana penting. Inilah mengapa ABC analysis hampir selalu menjadi langkah pertama sebelum EOQ/SS: Anda tahu SKU mana yang layak dihitung teliti, dan mana yang cukup pakai aturan praktis.
JIT vs Tradisional: Dua Filosofi, Trade-off Berbeda
Sampai di sini kita memakai model tradisional: simpan stok pengaman, hitung EOQ, pesan dalam batch. Sejak 1970-an, Toyota memperkenalkan filosofi radikal berbeda — Just-In-Time (JIT): pesan bahan baku tepat saat dibutuhkan, stok mendekati nol. Idealnya, pabrik Toyota menerima pengiriman komponen 4-8 jam sebelum dipakai di assembly line — bukan 4 minggu stok di gudang.
Tujuan JIT: eliminasi waste (pemborosan) dalam bentuk stok berlebih, yang dianggap menyembunyikan masalah — quality defect, breakdown mesin, unreliable supplier. Kalau Anda punya stok 1 bulan, mesin yang rusak 2 hari tidak terasa. Kalau stok 4 jam, mesin rusak 2 hari menghentikan seluruh pabrik — masalah jadi terlihat, terpaksa diperbaiki. JIT bukan sekadar “sedikit stok”; ia adalah sistem tekanan yang memaksa perbaikan berkelanjutan (kaizen).
Prasyarat JIT yang sering diabaikan:
- Pemasok andal & dekat. Toyota punya ratusan pemasok dalam radius 50 km dari pabrik, pengiriman 4-6 kali sehari. Tidak mungkin menerapkan JIT dengan pemasok di negara lain, lead time 6 minggu, dan ketidakpastian pengiriman.
- Permintaan stabil & dapat diprediksi. Produksi terjadwal rapi, tidak ada lonjakan tak terduga. Tidak cocok untuk bisnis musiman ekstrem (Lebaran, Natal) atau produk fashion.
- Kualitas bahan sangat tinggi. Tidak ada ruang untuk inspeksi panjang atau return — bahan harus siap pakai saat tiba. Defect rate < 100 ppm.
- Fleksibilitas produksi/tenaga kerja. Mesin bisa switch cepat antar produk, pekerja multi-skill (cross-trained).
Kapan JIT gagal? Pandemi COVID-2020/2021 adalah kasus buku teks. Pabrik otomotif global yang JIT-dependen tiba-tiba kehabisan chip semikonduktor saat pabrik chip di Taiwan/Tiongkok lockdown. Toyota sendiri terpaksa memutus rantai JIT dan menimbun chip — pertama kalinya dalam 50 tahun. Pelajaran: JIT mengasumsikan dunia stabil; ketika dunia goncang, stok pengaman tradisional menyelamatkan. Banyak perusahaan pasca-COVID beralih ke strategi “Just-In-Case” (JIC): stok pengaman lebih besar, diversifikasi pemasok, daripada JIT murni.
Perbandingan ringkas:
| Aspek | Tradisional (EOQ + SS) | JIT |
|---|---|---|
| Filosofi | Stok pengaman = asuransi | Stok = waste, seminimal mungkin |
| Ukuran pesanan | EOQ (batch ekonomis) | Kecil, sering, sesuai kebutuhan |
| Lead time | Diterima apa adanya | Aktif dipersingkat |
| Pemasok | Transaksional, banyak, kompetitif | Kemitraan jangka panjang, sedikit |
| Risiko stockout | Rendah (SS melindungi) | Tinggi kalau prasyarat tidak terpenuhi |
| Modal di stok | Lebih tinggi | Lebih rendah |
| Cocok untuk | Permintaan variabel, supply tidak pasti | Permintaan stabil, supply sangat andal |
Untuk Mitra Jaya, JIT murni tidak realistis. Distributor elektronik punya lead time 1-3 minggu, permintaan musiman ekstrem (Lebaran, kembali sekolah, 12.12 sale), dan kualitas pengiriman tidak konsisten. Model EOQ + Safety Stock + ROP yang kita hitung adalah pendekatan praktis terbaik. Tetapi elemen JIT bisa dianut parsial: kemitraan jangka panjang dengan 2-3 distributor utama (bukan tukar pemasok tiap tahun), negosiasi lead time lebih pendek via kontrak volume, dan cross-training staf gudang. Hybrid inilah yang banyak dipakai ritel Indonesia modern.
Catatan Excel: Workbook Manajemen Persediaan 6-Sheet
Berkas pendamping /excel/inventory-management-template.xlsx adalah model persediaan lengkap dengan formula hidup penuh: setiap kuantitas EOQ, safety stock, ROP, dan klasifikasi ABC dihitung otomatis dari input, dan lima tes konsistensi memverifikasi model.
Struktur workbook — 6 sheet:
PETUNJUK— panduan penggunaan, lima rumus kunci, dan legenda warna (biru = input manual, hitam = formula, kuning = total penting).INPUT_SKU— data master 5 SKU Mitra Jaya + 3 parameter global (S = biaya pemesanan/PO, i = % biaya penyimpanan, Z = service level). Ubah satu sel biru — semua sheet lain menghitung ulang. Kolom “Nilai Pakai Thn” ==D*E(harga × permintaan) otomatis.EOQ_CALCULATOR— EOQ per SKU via=SQRT(2*D*S/H)denganH = i × C. Menampilkan jumlah PO/tahun, siklus hari, biaya pesan, biaya simpan, total biaya. Karena pada EOQ kedua biaya sama, kolom H ≈ kolom I — verifikasi matematis.SAFETY_STOCK_ROP— Safety stock=Z*σ*SQRT(L)dan ROP=(d̄*L)+SSper SKU. Kolom “Status” dengan formula=IF(stok<=ROP;"RE-ORDER SEKARANG";IF(stok<=ROP*1,2;"MENDEKATI ROP";"AMAN"))memberi sinyal visual. Tabel panduan Z (90%/95%/99%/99,9%) membantu memilih service level.ABC_ANALYSIS— nilai pemakaian, % nilai, kumulatif, dan kelas A/B/C otomatis via=IF(kum≤80%;"A";IF(kum≤95%;"B";"C")). Formula kumulatif memakaiSUMPRODUCTdinamis:=SUMPRODUCT(($G$range<=G_thisrow)*($H$range)). Warna sel berbeda per kelas (merah A, kuning B, hijau C). Ringkasan otomatis: jumlah SKU + % nilai per kelas.CEK_KONSISTENSI— lima tes otomatis: (a) total biaya pesan = total biaya simpan di EOQ (syarat minimum), (b) total biaya pada Q=EOQ sama dengan EOQ, (c) semua ROP > Safety Stock, (d) jumlah SKU terklasifikasi = 5, (e) total % nilai ABC = 100%. Semua tes menampilkan✓ LULUS. Dashboard ringkasan menampilkan total biaya persediaan, jumlah PO/tahun, total safety stock, dan nilai modal di buffer.
Cara memakainya secara live: ubah Z dari 1,645 ke 2,326 di INPUT_SKU — seluruh safety stock dan ROP naik, total biaya SS meningkat, dan dashboard langsung menampilkan modal tambahan yang terikat. Atau turunkan harga TV 20% (promosi) — EOQ, ABC, dan semua downstream menyesuaikan otomatis. Inilah kekuatan formula hidup: model menjadi laboratorium keputusan, bukan laporan statis.
Skenario: Apa yang Terjadi Bila Lead Time TV Naik ke 5 Minggu?
Untuk merasakan sensitivitas model, mari uji satu skenario. Bayangkan distributor TV utama pindah ke gudang di Surabaya ke Jakarta — lead time LED TV naik dari 2 ke 5 minggu. Apa dampaknya?
- ROP naik signifikan. Komponen $\bar{d} \times L$ melonjak dari $23{,}08 \times 2 = 46{,}2$ ke $23{,}08 \times 5 = 115{,}4$. Safety stock juga naik karena $\sqrt{L}$: dari $1{,}645 \times 6 \times \sqrt{2} = 14{,}0$ ke $1{,}645 \times 6 \times \sqrt{5} = 22{,}1$. ROP baru = $115{,}4 + 22{,}1 = \textbf{137,5 unit}$ (vs 60,1 sebelumnya) — naik 2,3×.
- Modal terikat naik tajam. Stok rata-rata yang harus dipertahankan naik, modal TV di stok meningkat sekitar Rp 190 juta.
- EOQ tidak berubah. EOQ tidak bergantung lead time — hanya pada D, S, H. Ini sering mengejutkan: perubahan kecepatan supply tidak mengubah berapa banyak pesan, hanya kapan pesan.
Pelajaran: lead time adalah variabel paling mahal dalam persediaan, karena ia memengaruhi ROP (modal) tanpa bisa dikompensasi EOQ. Inilah mengapa strategi JIT memprioritaskan pemendekan lead time. Untuk Mitra Jaya, negosiasi dengan distributor agar tetap mengirim dari Surabaya (lead time 2 minggu) bernilai penghematan modal puluhan juta — negosiasi yang sepadan. Di workbook Excel, ubah sel H (lead time) di INPUT_SKU dari 2 ke 5, dan seluruh model menampilkan dampaknya dalam sekejap.
Kesalahan Umum
Memakai EOQ tanpa memvalidasi asumsi. EOQ mengasumsikan permintaan konstan dan deterministik. Untuk produk dengan musiman ekstrem (misal AC di musim panas, jaket di musim hujan), EOQ tahunan menyesatkan. Solusinya: hitung EOQ per kuartal dengan $D$ kuartal, atau pakai model dinamis (Silver-Meal heuristic).
Menyetarakan service level untuk semua SKU. Praktik naif: tetapkan 95% untuk semua. Ini mahal — Anda membeli safety stock tinggi untuk kelas C yang murah, dan mungkin tidak cukup untuk kelas A yang kritis. Solusinya: Z = 2,326 (99%) untuk A, Z = 1,645 (95%) untuk B, Z = 1,282 (90%) untuk C. Diferensiasi per kelas.
Mengabaikan obsolescence pada H. Banyak perusahaan memakai $i = 12\%$ (hanya bunga modal) untuk elektronik/fashion — sangat underestimated. Komponen penyusutan/obsolescence 5-15% harus dimasukkan. Untuk Mitra Jaya, $i = 20\%$ sudah realistis; untuk fashion musiman bisa $i = 35\%$. Salah estimasi $i$ → EOQ salah → biaya salah.
Menganggap ABC sekali-untuk selamanya. SKU berpindah kelas seiring siklus hidup produk. Speaker premium yang dulu kelas A bisa turun ke C saat model baru menggantikan. Re-klasifikasi minimal tahunan, idealnya kuartal — di workbook Excel, update D dan C di INPUT_SKU, dan ABC_ANALYSIS menghitung ulang otomatis.
Mencampur quantity discount dengan EOQ tanpa analisis. Banyak pemasok menawarkan diskon untuk pembelian besar (misal “bayar 5% lebih murah kalau pesan ≥ 500 unit”). EOQ mungkin bilang pesan 327 unit, tapi diskon terjadi di 500. Solusi: bandingkan total biaya (beli + pesan + simpan) pada Q=EOQ vs Q=threshold diskon. Kadang diskon menang; kadang tidak. Jangan menerima diskon tanpa menghitung.
Memakai data rata-rata sebagai input. Menghitung $\sigma$ dari data yang mengandung outlier (misal satu minggu penjualan 10× normal karena konsumen borongan) menggelembungkan safety stock. Bersihkan data dulu — klasifikasikan outlier sebagai event khusus, bukan baseline.
Dipakai di Dunia Nyata
- Ritel modern Indonesia (Alfamart, Indomaret). Lebih dari 10.000 SKU per toko, klasifikasi ABC wajib. Kelas A (rokok, minuman, mi instan) stok dipantau harian via sistem POS terhubung pusat, auto-reorder saat ROP tercapai. Kelas C (permen, aksesoris kecil) dipantau kuartal. Tanpa ABC, manajemen 10.000 SKU mustahil.
- Manufaktur otomotif (Toyota, Astra). Kombinasi JIT untuk komponen bersistem (ban, kursi) dengan safety stock untuk komponen impor (chip, sensor). Pasca-COVID, Astra meningkatkan buffer chip dari 2 minggu ke 8 minggu — biaya modal naik, tapi produksi tidak berhenti saat krisis supply berikutnya.
- Apotek & farmasi. Obat Patent (kelas A) wajib stok penuh + cold chain monitoring. Obat generik (B) stok normal. Aksesoris/kosmetik (C) boleh longgar. Service level untuk obat menyelamatkan jiwa bisa 99,9% (Z = 3,09) — safety stock sangat besar, tapi cost of stockout (pasien tidak dapat obat) tak terbayarkan.
- E-commerce (Tokopedia, Shopee). Seller memakai EOQ untuk menentukan kapan beli stok ke pemasok vs pakai dropship. SKU dengan turnover cepat (kelas A) ditimbun di gudang sendiri (modal terikat tapi margin tinggi). SKU lambat (C) cukup di-dropship — nol modal, nol risiko obsolescence.
- UMKM kuliner. Bahan baku segar (daging, sayur) praktis JIT — tidak bisa disimpan lama. Bahan kering (tepung, gula) pakai EOQ + safety stock. Bumbu special (kelas A karena mahal) diawasi ketat. Tiga pendekatan berbeda dalam satu dapur.
Cek Pemahaman
1. Sebuah toko menjual kemeja dengan permintaan tahunan $D = 4.000$ unit, biaya pemesanan $S = \text{Rp 150.000/PO}$, harga beli $C = \text{Rp 80.000}$, dan biaya penyimpanan $i = 25\%$/tahun. Hitung EOQ dan jumlah PO per tahun.
Lihat jawaban
$H = 0{,}25 \times 80.000 = \text{Rp 20.000/unit/thn}$.
$$Q^* = \sqrt{\frac{2 \times 4.000 \times 150.000}{20.000}} = \sqrt{60.000} \approx \textbf{245 unit per PO}$$Jumlah PO/thn $= \frac{4.000}{245} \approx \textbf{16,3 PO/tahun}$. (Verifikasi: biaya pesan $= 16{,}3 \times 150.000 = \text{Rp 2,45 juta}$; biaya simpan $= \frac{245}{2} \times 20.000 = \text{Rp 2,45 juta}$ — sama persis, memenuhi syarat minimum.)
2. Produk memiliki permintaan mingguan rata-rata 50 unit dengan std dev 10 unit. Lead time 4 minggu. Target service level 99% ($Z = 2{,}326$). Hitung safety stock dan reorder point.
Lihat jawaban
Safety stock: $SS = 2{,}326 \times 10 \times \sqrt{4} = 2{,}326 \times 10 \times 2 = \textbf{46,5 unit}$.
Permintaan selama lead time: $\bar{d} \times L = 50 \times 4 = 200$ unit.
Reorder point: $ROP = 200 + 46{,}5 = \textbf{246,5 unit}$.
Perhatikan: walau $\sigma = 10$ (relatif kecil vs rata-rata 50), lead time panjang 4 minggu menggandakan std dev lead time menjadi 20, sehingga SS tetap signifikan. Inilah pentingnya faktor $\sqrt{L}$.
3. (Transfer.) Pak Hendra mempertimbangkan dua strategi: (a) mempertahankan sistem saat ini dengan lead time TV 2 minggu, atau (b) pindah ke distributor Jakarta dengan lead time 5 minggu tetapi harga beli TV turun 8% (dari Rp 2,5 jt ke Rp 2,3 jt). Menggunakan kerangka EOQ + Safety Stock, strategi mana yang lebih murah secara total biaya persediaan tahunan untuk satu SKU TV? Asumsikan service level 95%, $\sigma$ dan $D$ tidak berubah.
Lihat jawaban
Strategi (a) — lead time 2 minggu, C = Rp 2,5 jt:
- EOQ: $H = 0{,}20 \times 2.500.000 = 500.000$. $Q^* = \sqrt{\frac{2 \times 1.200 \times 100.000}{500.000}} \approx 21{,}9$. TC pesan+simpan ≈ Rp 10,95 juta.
- SS $= 1{,}645 \times 6 \times \sqrt{2} = 14{,}0$ unit. Modal SS $= 14 \times 2.500.000 = \text{Rp 35 juta}$.
- Modal stok siklus rata-rata $= \frac{21{,}9}{2} \times 2.500.000 = \text{Rp 27,4 juta}$.
- Modal lead time (dipertahankan untuk menutup konsumsi selama L): ROP-level $\approx 60$ unit × Rp 2,5 jt, tetapi yang relevan adalah modal di stok pengaman + siklus.
Strategi (b) — lead time 5 minggu, C = Rp 2,3 jt:
- EOQ: $H = 0{,}20 \times 2.300.000 = 460.000$. $Q^* = \sqrt{\frac{2 \times 1.200 \times 100.000}{460.000}} \approx 22{,}8$. TC ≈ Rp 10,5 juta (sedikit lebih murah karena H lebih kecil).
- SS $= 1{,}645 \times 6 \times \sqrt{5} = 22{,}1$ unit. Modal SS $= 22{,}1 \times 2.300.000 = \text{Rp 50{,}8 juta}$ — naik Rp 15,8 juta dari strategi (a).
- Hemat pembelian (8% × 1.200 unit × Rp 200.000) = Rp 192 juta/tahun.
Verdict: meski modal safety stock naik Rp 15,8 juta, penghematan pembelian Rp 192 juta jauh lebih besar. Strategi (b) lebih murah total. Tetapi — analisis ini mengabaikan risiko: lead time 5 minggu lebih rentan gangguan (banjir Jakarta, libur Idul Fitri distributor), dan satu stockout di Lebaran bisa rugi margin puluhan juta. EOQ + SS menjawab “berapa biaya di kondisi normal”; manajer harus overlay judgment risiko di atas angka. Inilah mengapa kerangka kuantitatif adalah titik mulang, bukan titik akhir, dari keputusan supply chain.
Lanjutan
- Harga Pokok Penjualan: FIFO vs LIFO vs Weighted Average — bagaimana persediaan dinilai di pembukuan (PSAK 14) memengaruhi COGS, laba, dan pajak. Manajemen persediaan operasional (artikel ini) dan penilaian akuntansi (artikel itu) adalah dua sisi mata uang yang sama.
- Neraca: Cara Membaca & Menyusun dari Nol — persediaan muncul di aset lancar neraca. Mengelola persediaan = mengelola modal kerja; artikel neraca menjelaskan dampak ke likuiditas.
- Rasio Keuangan Lengkap — rasio perputaran persediaan (inventory turnover = HPP ÷ rata-rata persediaan) dan days inventory outstanding (DIO) mengukur efisiensi manajemen persediaan; Mitra Jaya dengan EOQ dapat memperbaiki turnover-nya.
- Analisis Selisih (Variance Analysis) — bila manajemen menetapkan target persediaan (budget), selisih aktual vs budget diurai lewat price/quantity variance; kerangka kontrol untuk persediaan manufaktur.
- Siklus Akuntansi Lengkap — transaksi pembelian dan penjualan persediaan mengalir lewat seluruh siklus; pahami siklus untuk melihat di mana keputusan EOQ memengaruhi pembukuan.