Skip to content

Leuthra/toko

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

7 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ›’ Sistem Penjualan Online Sederhana

Program sistem penjualan online berbasis console yang dibuat menggunakan bahasa Pascal/Free Pascal. Program ini menyediakan fitur lengkap untuk manajemen produk dan transaksi penjualan sederhana.

โœจ Fitur Utama

๐Ÿ“ฆ Manajemen Produk

  • Input Produk Baru - Menambahkan produk dengan nama, harga, dan stok
  • Edit Produk - Mengubah nama, harga, atau stok produk yang sudah ada
  • Hapus Produk - Menghapus produk dari daftar dengan konfirmasi
  • Lihat Daftar Produk - Menampilkan semua produk dalam format tabel yang rapi

๐Ÿ›๏ธ Sistem Belanja

  • Keranjang Belanja - Menambahkan produk ke keranjang dengan validasi stok
  • Validasi Otomatis - Mencegah pembelian melebihi stok yang tersedia
  • Invoice Generator - Menghitung total belanja otomatis dengan ongkos kirim

๐Ÿ”ง Fitur Teknis

  • Validasi Input - Mencegah crash akibat input non-numerik
  • Format Rupiah - Menampilkan harga dengan pemisah ribuan (Rp 1.500.000)
  • Interface Intuitif - Menu berbasis console yang mudah digunakan

๐Ÿš€ Cara Menjalankan Program

Prasyarat

  • Free Pascal Compiler (FPC) terinstall
  • Windows/Linux/MacOS

Langkah Instalasi

  1. Clone repository

    git clone https://github.com/abifadilahs/Toko-Online-Sederhana.git
    cd Toko-Online-Sederhana
  2. Kompilasi program

    fpc index.pas
  3. Jalankan program

    # Windows
    index.exe
    
    # Linux/MacOS
    ./index

๐Ÿ“ฑ Cara Penggunaan

Menu Utama

==========================================
|   PROGRAM PENJUALAN ONLINE SEDERHANA   |
==========================================
| MENU:                                  |
| 1. Input Data Produk                   |
| 2. Edit Data Produk                    |
| 3. Hapus Data Produk                   |
| 4. Lihat Daftar Produk                 |
| 5. Pilih & Beli Produk                 |
| 6. Lihat Keranjang & Cetak Invoice     |
| 7. Keluar                              |
==========================================

Alur Penggunaan Umum

  1. Input Produk (Menu 1)

    • Masukkan nama produk
    • Input harga produk
    • Tentukan jumlah stok
  2. Beli Produk (Menu 5)

    • Pilih produk dari daftar
    • Masukkan jumlah yang ingin dibeli
    • Produk akan ditambahkan ke keranjang
  3. Checkout (Menu 6)

    • Lihat detail keranjang belanja
    • Input ongkos kirim
    • Cetak invoice final

๐Ÿ—๏ธ Struktur Program

โ”œโ”€โ”€ Type Definitions
โ”‚   โ””โ”€โ”€ TProduk (nama, harga, stok)
โ”‚
โ”œโ”€โ”€ Utility Functions
โ”‚   โ”œโ”€โ”€ BacaAngka() - Validasi input numerik
โ”‚   โ”œโ”€โ”€ FormatRupiah() - Format harga dengan pemisah ribuan
โ”‚   โ””โ”€โ”€ TampilkanDaftarProduk() - Display produk dalam tabel
โ”‚
โ”œโ”€โ”€ Product Management
โ”‚   โ”œโ”€โ”€ InputProdukBaru() - Tambah produk baru
โ”‚   โ”œโ”€โ”€ EditProduk() - Edit data produk
โ”‚   โ””โ”€โ”€ HapusProduk() - Hapus produk
โ”‚
โ”œโ”€โ”€ Shopping System
โ”‚   โ”œโ”€โ”€ BeliProduk() - Tambah ke keranjang
โ”‚   โ””โ”€โ”€ CetakInvoice() - Generate invoice
โ”‚
โ””โ”€โ”€ Main Program
    โ”œโ”€โ”€ TampilkanMenu() - Display menu utama
    โ””โ”€โ”€ LihatDaftarProduk() - View daftar produk

๐Ÿ” Detail implementasi setiap fungsi dan penjelasan algoritma dapat ditemukan di TECHNICAL_DOCS.md

๐Ÿ”ง Spesifikasi Teknis

  • Bahasa: Pascal/Free Pascal
  • Compiler: Free Pascal Compiler (FPC) 3.2.2+
  • Platform: Cross-platform (Windows, Linux, MacOS)
  • Dependencies: crt, sysutils
  • Kapasitas: Maksimal 20 produk dan 20 item keranjang
  • Data Type:
    • string[50] untuk nama produk
    • longint untuk harga (mendukung nilai besar)
    • integer untuk stok

๐Ÿ“– Untuk dokumentasi teknis lengkap, lihat TECHNICAL_DOCS.md yang menjelaskan detail fungsi, library, algoritma, dan struktur data yang digunakan.

๐Ÿ“‹ Fitur Validasi

Input Validation

  • โœ… Validasi input numerik untuk harga dan stok
  • โœ… Mencegah input non-numerik yang menyebabkan crash
  • โœ… Validasi rentang untuk nomor produk
  • โœ… Konfirmasi sebelum penghapusan data

Business Logic Validation

  • โœ… Cek stok tersedia sebelum pembelian
  • โœ… Validasi kapasitas maksimal produk dan keranjang
  • โœ… Otomatis mengurangi stok setelah pembelian
  • โœ… Reset keranjang setelah checkout

๐Ÿ›ก๏ธ Penjelasan detail error handling dan strategi validasi tersedia di TECHNICAL_DOCS.md - Validasi & Error Handling

๐ŸŽฏ Contoh Output

Daftar Produk

No. | Nama Produk                | Harga          | Stok
----+----------------------------+----------------+------
  1 | Laptop ASUS                | Rp 8.500.000   |   10
  2 | Mouse Gaming               | Rp 250.000     |   25
  3 | Keyboard Mechanical        | Rp 450.000     |   15
----+----------------------------+----------------+------

Invoice

====================================
|           INVOICE FINAL          |
====================================
Laptop ASUS (1 pcs)
Mouse Gaming (2 pcs)
------------------------------------
Subtotal  : Rp 9.000.000
Ongkir    : Rp 50.000
------------------------------------
TOTAL     : Rp 9.050.000
====================================

๐Ÿšง Limitasi

  • Maksimal 20 produk dalam sistem
  • Maksimal 20 item dalam keranjang belanja
  • Data tidak persistent (hilang saat program ditutup)
  • Interface berbasis console (text-based)

๐Ÿ”ฎ Pengembangan Selanjutnya

  • Implementasi penyimpanan data ke file
  • Menambah kapasitas produk dan keranjang
  • Fitur search dan filter produk
  • Laporan penjualan harian/bulanan
  • Sistem user authentication
  • GUI interface

๐Ÿ’ก Analisis kompleksitas algoritma dan saran optimisasi performance dapat dilihat di TECHNICAL_DOCS.md - Optimisasi Potensial

๐Ÿ“š Dokumentasi

Proyek ini memiliki dokumentasi lengkap yang terdiri dari:

๐ŸŽฏ Untuk Pengguna

Jika Anda ingin menggunakan program, baca README.md untuk:

  • Cara instalasi dan menjalankan program
  • Panduan penggunaan fitur-fitur
  • Contoh screenshot dan output

๐Ÿ”ง Untuk Developer

Jika Anda ingin memahami atau mengembangkan program, baca TECHNICAL_DOCS.md untuk:

  • Penjelasan setiap fungsi dan algoritma
  • Analisis kompleksitas dan optimisasi
  • Struktur data dan design patterns
  • Tips pengembangan lanjutan

๐Ÿ“„ Lisensi

Program ini dilisensikan di bawah MIT License. Anda bebas menggunakan, memodifikasi, dan mendistribusikan kode ini untuk tujuan apapun, termasuk komersial.

๐Ÿค Contributing

Kami menyambut kontribusi dari siapa saja! Lihat CONTRIBUTING.md untuk panduan cara berkontribusi.

๐Ÿ› Laporkan Bug

Temukan bug? Buat issue dengan detail reproduksi.

๐Ÿ’ก Request Feature

Punya ide fitur baru? Diskusikan di issues terlebih dahulu.

๐Ÿ”€ Pull Request

  1. Fork repository ini
  2. Buat branch untuk feature/fix Anda
  3. Commit changes dengan message yang jelas
  4. Create Pull Request dengan deskripsi lengkap

๐Ÿ‘จโ€๐Ÿ’ป Kontributor


๐Ÿ“ Catatan: Program ini dikembangkan menggunakan Free Pascal dan telah diuji pada compiler FPC versi 3.2.2. Pastikan compiler Pascal terinstall sebelum menjalankan program.

About

Simple online store system using pascal programming language

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Pascal 100.0%