1. Pendahuluan
Sistem manajemen stok barang sangat penting untuk bisnis, gudang, atau toko. Sayangnya, banyak pelaku usaha kecil belum memiliki sistem otomatis yang terintegrasi. Dalam artikel ini, kita akan membangun sistem inventory berbasis Command Line Interface (CLI) yang langsung terhubung ke Google Sheets.
Keunggulan metode ini adalah semua data tersimpan di cloud, mudah diakses dari berbagai perangkat, dan dapat diupdate secara real-time.
2. Kenapa Perlu Sistem Inventory Berbasis CLI + Google Sheets?
- Gratis dan mudah digunakan (Google Sheets tidak memerlukan server tambahan).
- Akses real-time dari mana saja, bahkan dari smartphone.
- Integrasi otomatis antara aplikasi Python dan Google Sheets.
- CLI sederhana sehingga tidak memerlukan skill komputer tingkat lanjut.
3. Persiapan dan Alat yang Dibutuhkan
3.1 Google Sheets
- Buat file Google Sheets baru dengan nama “Inventory Barang”.
- Buat header kolom seperti:

3.2 Service Account dan API
- Aktifkan Google Sheets API di Google Cloud Console. Dengan cara berikut :
- Aktifkan Google Sheets API
- Menu ☰ → APIs & Services → Library.
- Cari Google Sheets API → klik Enable.
- (Opsional) Aktifkan Google Drive API
- Masih di Library, cari Google Drive API → klik Enable (perlu kalau mau akses file berdasarkan
- nama).
- Buat credentials (Service Account)
- Menu Credentials → Create Credentials → pilih Service Account.
- Isi nama → klik Done.
- Masuk ke service account → tab Keys → Add Key → pilih JSON → simpan file
credentials.json. - Beri akses ke Spreadsheet
- Buka file Google Sheets.
- Share ke email service account yang ada di
credentials.json→ beri akses Editor. - Buat Service Account dan unduh file
credentials.json. - Share file Google Sheets ke email service account.
3.3 Python dan Library gspread
Install library Python:
pip install gspread google-auth
4. Arsitektur Sistem Inventory CLI
Sistem ini menggunakan Python untuk memproses input pengguna, lalu mengupdate data langsung ke Google Sheets melalui API. Semua perubahan (barang masuk/keluar) langsung tercatat di sheet.
5. Fitur-Fitur Utama
5.1 Menambahkan Barang Masuk
Pengguna dapat menambahkan stok baru, lengkap dengan tanggal masuk.
5.2 Mengeluarkan Barang
Pengurangan stok otomatis dicatat di kolom “Tanggal Keluar”.
5.3 Pencarian Stok
Cari barang berdasarkan nama atau kode barang.
5.4 Laporan Barang Masuk/Keluar
Menampilkan seluruh riwayat transaksi barang masuk dan keluar.
5.5 Notifikasi Stok Menipis
Memberikan peringatan jika stok barang di bawah batas minimum.
6. Implementasi Kode Program
Berikut contoh implementasi Python:
import gspread
from google.oauth2.service_account import Credentials
from datetime import datetime
import sys
# --- Autentikasi Google Sheets ---
creds = Credentials.from_service_account_file(
'credentials.json',
scopes=['https://www.googleapis.com/auth/spreadsheets',
'https://www.googleapis.com/auth/drive']
)
client = gspread.authorize(creds)
# Nama spreadsheet
SPREADSHEET_NAME = "Inventory Barang"
sheet = client.open(SPREADSHEET_NAME).sheet1
# --- Fungsi ---
def tambah_barang():
kode = input("Kode Barang: ")
nama = input("Nama Barang: ")
stok = int(input("Jumlah Stok: "))
satuan = input("Satuan: ")
tgl_masuk = datetime.now().strftime("%Y-%m-%d")
sheet.append_row([kode, nama, stok, satuan, tgl_masuk, "", "Barang Masuk"])
print("✅ Barang berhasil ditambahkan.")
def keluarkan_barang():
kode = input("Kode Barang yang dikeluarkan: ")
data = sheet.get_all_records()
for i, barang in enumerate(data, start=2):
if barang['Kode Barang'] == kode:
jumlah = int(input("Jumlah yang dikeluarkan: "))
stok_baru = barang['Stok'] - jumlah
if stok_baru < 0:
print("❌ Stok tidak mencukupi.")
return
sheet.update_cell(i, 3, stok_baru)
sheet.update_cell(i, 6, datetime.now().strftime("%Y-%m-%d"))
sheet.update_cell(i, 7, "Barang Keluar")
print("✅ Barang berhasil dikeluarkan.")
return
print("❌ Barang tidak ditemukan.")
def cari_barang():
keyword = input("Masukkan nama/kode barang: ").lower()
data = sheet.get_all_records()
hasil = [b for b in data if keyword in b['Nama Barang'].lower() or keyword in b['Kode Barang'].lower()]
if hasil:
for b in hasil:
print(b)
else:
print("❌ Barang tidak ditemukan.")
def laporan():
data = sheet.get_all_records()
for barang in data:
print(barang)
def cek_stok_minimum():
batas = int(input("Masukkan batas stok minimum: "))
data = sheet.get_all_records()
for barang in data:
if barang['Stok'] <= batas:
print(f"⚠️ Stok menipis: {barang['Nama Barang']} ({barang['Stok']})")
# --- Menu Utama ---
while True:
print("\n=== INVENTORY MANAGEMENT CLI ===")
print("1. Tambah Barang Masuk")
print("2. Keluarkan Barang")
print("3. Cari Barang")
print("4. Laporan")
print("5. Cek Stok Minimum")
print("6. Keluar")
pilihan = input("Pilih menu: ")
if pilihan == "1":
tambah_barang()
elif pilihan == "2":
keluarkan_barang()
elif pilihan == "3":
cari_barang()
elif pilihan == "4":
laporan()
elif pilihan == "5":
cek_stok_minimum()
elif pilihan == "6":
sys.exit()
else:
print("❌ Pilihan tidak valid.")
7. Uji Coba Sistem
1.) Jalankan program di terminal.

2.) Coba tambahkan barang.

3.) Pastikan data otomatis masuk ke Google Sheets.

8. Pengembangan Lebih Lanjut
- Tambahkan login user dengan role admin/user.
- Tambahkan fitur export laporan ke PDF.
- Integrasikan dengan Telegram bot untuk update stok via chat.
9. Kesimpulan
Dengan Python + Google Sheets, kita bisa membuat sistem manajemen stok sederhana tapi efektif. Semua data tersimpan di cloud dan dapat diakses real-time. Sistem CLI ini cocok untuk bisnis kecil hingga menengah yang ingin memulai digitalisasi inventory tanpa biaya besar.