Konfigurasi POS Apotek Cerdas: Batch Tracking & Expired Alert untuk Efisiensi Optimal
N
Back to Blog

Konfigurasi POS Apotek Cerdas: Batch Tracking & Expired Alert untuk Efisiensi Optimal

Tutorial
Nugroho Setiawan 25 May 2026 14 min baca 2,972 kata 26 views
Manajemen stok farmasi adalah kunci profitabilitas apotek. Artikel ini membahas langkah-langkah konkret konfigurasi sistem Point of Sales (POS) apotek dengan fitur batch tracking dan expired alert, membantu Anda mencegah kerugian akibat obat kedaluwarsa dan mengoptimalkan operasional.

Di tengah dinamika industri kesehatan yang terus berkembang, apotek modern dihadapkan pada tantangan kompleks dalam manajemen inventaris. Kerugian finansial akibat obat kedaluwarsa, risiko keamanan pasien karena kesalahan pemberian produk, serta inefisiensi operasional akibat pelacakan stok yang buruk, menjadi momok bagi banyak fasilitas kesehatan. Sebuah studi menunjukkan bahwa apotek rata-rata dapat mengalami kerugian hingga 5-10% dari omset tahunan mereka hanya karena produk yang kedaluwarsa atau tidak terkelola dengan baik. Untuk mengatasi permasalahan krusial ini, implementasi sistem Point of Sales (POS) apotek yang dilengkapi fitur batch tracking dan expired alert bukanlah lagi pilihan, melainkan sebuah keharusan strategis. Artikel ini akan memandu Anda secara mendalam, dari konsep dasar hingga detail implementasi teknis, bagaimana mengkonfigurasi sistem POS apotek Anda agar memiliki kemampuan pelacakan batch dan peringatan kedaluwarsa yang canggih. Kami akan membahas arsitektur sistem, contoh kode yang dapat dijalankan, penanganan kesalahan, serta best practices yang telah teruji, sehingga Anda dapat mengoptimalkan operasional, meningkatkan keamanan pasien, dan memastikan kepatuhan terhadap regulasi yang berlaku.

Konsep Dasar Batch Tracking dan Expired Alert dalam POS Apotek

Manajemen farmasi yang efektif berlandaskan pada dua pilar utama: batch tracking dan expired alert. Batch tracking, atau pelacakan batch, adalah kemampuan sistem untuk mencatat dan menelusuri setiap unit produk berdasarkan nomor batch atau lot produksinya. Setiap kali barang masuk ke apotek, informasi seperti nomor batch, tanggal produksi (manufacture date), dan tanggal kedaluwarsa (expiry date) dicatat secara rinci. Fitur ini sangat krusial, terutama dalam kasus penarikan produk (product recall) oleh BPOM atau produsen, memungkinkan apotek untuk dengan cepat mengidentifikasi dan menarik semua unit dari batch yang bermasalah dari peredaran. Tanpa batch tracking, proses ini bisa memakan waktu berhari-hari, bahkan berminggu-minggu, dan berpotensi membahayakan pasien.

Sementara itu, expired alert adalah mekanisme peringatan otomatis yang memberi tahu staf apotek tentang produk-produk yang akan atau sudah kedaluwarsa. Sistem dapat dikonfigurasi untuk mengirim notifikasi 30, 60, atau bahkan 90 hari sebelum tanggal kedaluwarsa, memberikan waktu yang cukup bagi apotek untuk mengambil tindakan preventif seperti promosi penjualan, retur ke distributor, atau pembuangan sesuai prosedur. Implementasi fitur ini secara signifikan mengurangi kerugian stok mati dan memastikan bahwa hanya obat-obatan yang masih layak konsumsi yang tersedia untuk pasien.

Pentingnya kedua fitur ini tidak hanya terbatas pada efisiensi operasional dan pengurangan kerugian finansial. Dari perspektif kepatuhan regulasi, Kementerian Kesehatan melalui PMK No. 73 Tahun 2016 tentang Standar Pelayanan Kefarmasian di Apotek, serta Badan Pengawas Obat dan Makanan (BPOM), secara tegas mewajibkan apotek untuk memiliki sistem pengelolaan stok yang akuntabel dan mampu menjamin kualitas serta keamanan produk farmasi. Dengan batch tracking dan expired alert, apotek dapat dengan mudah menunjukkan kepatuhan mereka terhadap standar tersebut, menghindari sanksi, dan membangun kepercayaan konsumen.

Sebagai contoh konkret, bayangkan sebuah apotek besar dengan lebih dari 5.000 jenis SKU. Tanpa sistem batch tracking yang terintegrasi, manajer apotek akan kesulitan melacak 200 item yang mendekati tanggal kedaluwarsa di antara ribuan stok lainnya. Dengan sistem yang terkonfigurasi dengan baik, 90% dari item yang mendekati kedaluwarsa dapat terdeteksi dan ditindaklanjuti setidaknya tiga bulan sebelum tanggal kedaluwarsa, memungkinkan apotek untuk merencanakan strategi penjualan atau retur dengan efektif, mencegah kerugian hingga puluhan juta rupiah setiap tahunnya.

Detail Implementasi Teknis pada Sistem POS Apotek

Untuk mengimplementasikan fitur batch tracking dan expired alert pada sistem POS apotek, kita perlu merancang arsitektur sistem yang kokoh dan memilih teknologi stack yang tepat. Umumnya, sistem POS modern dibangun dengan arsitektur berbasis web, memanfaatkan framework seperti Laravel 11.x (dengan PHP 8.2+) untuk backend API atau Node.js 20 LTS (dengan Express.js) jika preferensi ke JavaScript. Sebagai database, PostgreSQL 16.x adalah pilihan yang sangat direkomendasikan karena kemampuannya menangani data relasional yang kompleks, fitur JSONB untuk data semi-terstruktur, serta performa query yang superior, sangat cocok untuk volume transaksi tinggi di apotek. Untuk frontend, framework seperti Vue.js 3 atau React 18 dapat digunakan untuk membangun antarmuka pengguna yang responsif dan intuitif.

Inti dari implementasi ini terletak pada skema database. Kita akan membutuhkan setidaknya dua tabel utama selain tabel produk dasar:

  • products table: Berisi data dasar produk seperti id, name, sku, unit_price, dan min_stock.
  • batches table: Ini adalah tabel krusial yang menyimpan detail setiap batch. Kolom yang dibutuhkan meliputi id, product_id (foreign key ke tabel products), batch_number, manufacture_date, expiry_date, quantity (stok untuk batch ini), dan cost_price (harga pokok per unit untuk batch spesifik ini).
  • stock_movements table: Mencatat setiap pergerakan stok (masuk/keluar), dengan kolom id, batch_id, type (in/out), quantity, dan timestamp.

Alur kerja data dimulai saat penerimaan barang. Ketika distributor mengirimkan produk, staf apotek akan menginput data produk beserta detail batch-nya—termasuk nomor batch, tanggal produksi, tanggal kedaluwarsa, dan jumlah unit—ke dalam tabel batches. Setiap batch baru akan memiliki entri terpisah. Saat penjualan terjadi, sistem akan secara otomatis memilih batch yang akan dijual, idealnya menggunakan prinsip FEFO (First Expired, First Out) untuk meminimalkan risiko kedaluwarsa. Setelah batch dipilih, kuantitas pada tabel batches akan dikurangi, dan pergerakan stok ini dicatat dalam tabel stock_movements.

Untuk fitur expired alert, kita akan memanfaatkan Laravel's Task Scheduling atau Cron jobs pada Node.js. Sebuah scheduler akan berjalan secara harian (misalnya, setiap pukul 02:00 pagi) untuk melakukan query terhadap tabel batches. Query ini akan mencari semua batch yang memiliki expiry_date kurang dari atau sama dengan tanggal saat ini ditambah sejumlah hari tertentu (misalnya, 90 hari). Hasil query kemudian akan digunakan untuk mengirimkan notifikasi kepada manajer operasional apotek melalui email, SMS, atau ditampilkan pada dashboard sistem. Contohnya, Apotek “Sehat Selalu” yang menggunakan Laravel 11.x mengimplementasikan scheduler harian yang mengecek stok obat dengan tanggal kedaluwarsa dalam 90 hari ke depan, lalu secara otomatis mengirimkan ringkasan notifikasi ke email manajer operasional dan mengupdate widget peringatan di dashboard POS mereka. Ini memungkinkan tindakan proaktif dan pencegahan kerugian yang signifikan.

Contoh Kode Implementasi Batch Tracking dan Expired Alert

Bagian ini akan menyajikan contoh kode konkret yang dapat Anda gunakan sebagai dasar untuk mengimplementasikan fitur batch tracking dan expired alert, khususnya menggunakan framework Laravel 11.x. Kode ini akan mencakup migrasi database untuk membuat tabel batches dan sebuah command Artisan untuk menjalankan logika peringatan kedaluwarsa.

<?php
// app/database/migrations/xxxx_xx_xx_create_batches_table.php

use Illuminate Database Migrations Migration;
use Illuminate Database Schema Blueprint;
use Illuminate Support Facades Schema;

return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('batches', function (Blueprint $table) {
$table->id();
$table->foreignId('product_id')->constrained('products')->onDelete('cascade');
$table->string('batch_number')->index();
$table->date('manufacture_date')->nullable();
$table->date('expiry_date')->index();
$table->integer('quantity');
$table->decimal('cost_price', 10, 2);
$table->timestamps();

// Tambahkan unique constraint jika batch_number harus unik per product
$table->unique(['product_id', 'batch_number']);
});
}

/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('batches');
}
};

Kode migrasi di atas mendefinisikan struktur tabel batches yang akan menyimpan informasi detail setiap lot produk. Kolom product_id adalah foreign key yang merujuk ke tabel products, memastikan integritas data. Kolom batch_number dan expiry_date diindeks untuk mempercepat pencarian, yang krusial untuk fitur batch tracking dan expired alert. Kolom quantity mencatat jumlah stok untuk batch tersebut, dan cost_price penting untuk perhitungan HPP (Harga Pokok Penjualan) yang akurat. Constraint unique(['product_id', 'batch_number']) memastikan bahwa tidak ada dua batch dengan nomor yang sama untuk produk yang sama, menghindari duplikasi data dan menjaga konsistensi inventaris.

<?php
// app/Console/Commands/CheckExpiredBatches.php

namespace App Console Commands;

use Illuminate Console Command;
use App Models Batch;
use Carbon Carbon;
use Illuminate Support Facades Log;
use Illuminate Support Facades Mail; // Contoh untuk mengirim email

class CheckExpiredBatches extends Command
{
protected $signature = 'batches:check-expired {--days=90 : Number of days before expiry to alert}';
protected $description = 'Checks for batches expiring soon and sends alerts.';

public function handle()
{
$days = $this->option('days');
$expiryDateThreshold = Carbon::now()->addDays($days)->toDateString();

$expiringBatches = Batch::with('product')
->where('expiry_date', '<=', $expiryDateThreshold)
->where('quantity', '>', 0) // Hanya batch yang masih memiliki stok
->orderBy('expiry_date', 'asc')
->get();

if ($expiringBatches->isEmpty()) {
$this->info("No batches found expiring within the next {$days} days.");
return Command::SUCCESS;
}

$this->warn("Found " . $expiringBatches->count() . " batches expiring soon:");

$alertData = [];
foreach ($expiringBatches as $batch) {
$message = "Produk: {$batch->product->name} (SKU: {$batch->product->sku}), Batch: {$batch->batch_number}, Kedaluwarsa: {$batch->expiry_date}, Sisa Stok: {$batch->quantity}.";
$this->line($message);
Log::warning("Expired Alert: " . $message);
$alertData[] = $message;
}

// Contoh: Kirim email ke admin/manajer
/*
Mail::raw(implode(" ", $alertData), function ($message) {
$message->to('admin@apotek.com')->subject('Peringatan Stok Obat Mendekati Kedaluwarsa');
});
*/

$this->info("Expired batch check completed. Alerts logged and (optionally) emailed.");
return Command::SUCCESS;
}
}

Kode di atas adalah sebuah Laravel Artisan Command yang dirancang untuk dijalankan secara terjadwal (misalnya, setiap hari) menggunakan Laravel Scheduler. Command ini akan mencari semua batch produk yang tanggal kedaluwarsanya kurang dari atau sama dengan ambang batas yang ditentukan (misalnya, 90 hari dari sekarang). Parameter --days memungkinkan fleksibilitas dalam menentukan periode peringatan. Hasil query kemudian diiterasi untuk mencatat detail setiap batch yang mendekati kedaluwarsa ke dalam log sistem dan juga menampilkannya di konsol. Bagian yang dikomentari menunjukkan bagaimana notifikasi dapat diperluas untuk mengirimkan email kepada pihak terkait, memberikan peringatan proaktif yang sangat penting dalam manajemen farmasi. Ini adalah contoh konkret bagaimana sistem dapat secara otomatis memantau stok dan mencegah kerugian akibat obat kedaluwarsa.

Contoh Payload Data dan Penanganan Error

Integrasi sistem POS apotek seringkali melibatkan pertukaran data melalui API. Ketika menambahkan batch baru, data harus dikirimkan dalam format yang terstruktur, umumnya JSON. Berikut adalah contoh payload JSON yang realistis untuk menambahkan batch baru:

{
"product_id": 123,
"batch_number": "BPOM-A20240315-001",
"manufacture_date": "2024-03-15",
"expiry_date": "2026-03-15",
"quantity": 500,
"cost_price": 12500.50
}

Payload JSON di atas merepresentasikan data yang akan dikirimkan ke API untuk menambahkan batch baru ke dalam sistem POS apotek. Setiap atribut memiliki peran krusial: product_id mengidentifikasi produk yang terkait, batch_number adalah identifikasi unik untuk lot produksi, manufacture_date dan expiry_date adalah tanggal produksi dan kedaluwarsa yang sangat penting untuk manajemen FEFO dan peringatan, quantity menunjukkan jumlah unit dalam batch tersebut, dan cost_price mencatat harga per unit untuk batch spesifik ini. Data ini akan diproses oleh backend API yang kemudian menyimpannya ke dalam tabel batches yang telah dijelaskan sebelumnya.

Salah satu skenario error umum yang dapat terjadi adalah ketika mencoba menambahkan batch dengan product_id dan batch_number yang sudah ada. Mengingat kita telah menetapkan unique constraint pada kombinasi kedua kolom tersebut, sistem akan menolak operasi ini dan mengembalikan pesan kesalahan seperti:

{
"message": "The given data was invalid.",
"errors": {
"batch_number": [
"The batch number for this product has already been taken."
]
}
}

Pesan kesalahan ini, yang umumnya dihasilkan oleh sistem validasi framework seperti Laravel, mengindikasikan bahwa input yang diberikan tidak memenuhi aturan yang ditetapkan. Untuk menangani error semacam ini, di sisi backend, penting untuk mengimplementasikan validasi data yang ketat menggunakan validation rules pada request API. Misalnya, menggunakan unique:batches,batch_number,NULL,id,product_id,{$product_id} untuk memastikan keunikan batch_number hanya untuk product_id tertentu. Di sisi frontend, pesan kesalahan ini harus ditampilkan kepada pengguna dalam format yang mudah dipahami, misalnya dengan menyorot kolom input yang bermasalah dan memberikan penjelasan singkat. Selain itu, setiap error harus dicatat ke dalam sistem logging (misalnya, Sentry atau Laravel Log) untuk memudahkan debugging dan pemantauan kinerja sistem. Jika ada operasi yang melibatkan multiple database writes, pastikan untuk menggunakan database transactions agar dapat melakukan rollback jika salah satu operasi gagal, menjaga konsistensi data. Adopsi standar seperti RFC 7807 (Problem Details for HTTP APIs) dapat membantu dalam menyajikan struktur error yang konsisten dan mudah dipahami oleh klien API.

Best Practices dalam Konfigurasi POS Apotek dengan Batch Tracking

  1. Penerapan FEFO (First Expired, First Out) secara Konsisten: Selalu prioritaskan penjualan atau pengeluaran stok obat dengan tanggal kedaluwarsa terdekat. Ini adalah strategi fundamental untuk meminimalkan risiko penumpukan stok yang akan kedaluwarsa dan mengurangi kerugian finansial. Pastikan sistem POS Anda memiliki logika otomatis untuk menyarankan atau memilih batch FEFO saat transaksi penjualan.
  2. Automasi Notifikasi Dini yang Fleksibel: Konfigurasi sistem untuk mengirimkan peringatan kedaluwarsa tidak hanya saat mendekati, tetapi juga jauh sebelum tanggal kedaluwarsa, idealnya 3 hingga 6 bulan sebelumnya. Fleksibilitas ini memungkinkan apotek memiliki waktu yang cukup untuk merencanakan tindakan proaktif seperti promosi penjualan, retur ke distributor, atau transfer stok ke cabang lain yang memiliki tingkat rotasi lebih cepat.
  3. Audit Stok Berkala dan Rekonsiliasi Data: Lakukan audit fisik stok secara rutin, minimal bulanan, dan bandingkan hasilnya dengan data inventaris di sistem POS. Tujuannya adalah untuk memastikan akurasi data stok mencapai 99% atau lebih, mengidentifikasi perbedaan, dan segera memperbaikinya. Ini adalah kunci untuk menjaga integritas data batch tracking.
  4. Pelatihan Staf yang Komprehensif: Pastikan semua staf yang terlibat dalam proses penerimaan, penyimpanan, dan penjualan obat memahami pentingnya batch tracking dan expired alert. Berikan pelatihan mendalam tentang cara memasukkan data batch dengan benar, memproses transaksi FEFO, dan menanggapi peringatan kedaluwarsa. Kesalahan manusia adalah sumber utama inakurasi data.
  5. Integrasi dengan Modul Pembelian dan Laporan: Hubungkan fitur batch tracking dan expired alert dengan modul pembelian untuk mengotomatisasi pemesanan ulang berdasarkan analisis stok yang mendekati kedaluwarsa. Selain itu, manfaatkan laporan analitik yang dihasilkan sistem (misalnya, laporan stok mendekati kedaluwarsa, laporan rotasi stok per batch) untuk mendukung pengambilan keputusan strategis dalam manajemen rantai pasok.
  6. Backup Data Rutin dan Strategi Pemulihan Bencana: Jadwalkan backup database secara harian dan simpan salinannya di lokasi terpisah, baik di cloud (misalnya, AWS S3, Google Cloud Storage) maupun di server fisik offsite. Ini penting untuk mitigasi bencana dan memastikan kontinuitas operasional jika terjadi kegagalan sistem atau kehilangan data. Rencanakan juga prosedur pemulihan data yang jelas.
  7. Kepatuhan Terhadap Regulasi dan Standar Industri: Pastikan bahwa konfigurasi dan operasional sistem POS Anda sepenuhnya sesuai dengan peraturan yang berlaku, seperti PMK No. 73 Tahun 2016 tentang Standar Pelayanan Kefarmasian dan pedoman dari BPOM terkait pengelolaan farmasi. Ini tidak hanya menghindari sanksi hukum tetapi juga meningkatkan kredibilitas dan kepercayaan publik terhadap apotek Anda.

FAQ

Q1: Apa keuntungan utama dari implementasi batch tracking pada sistem POS apotek?

Keuntungan utamanya sangat signifikan. Batch tracking meningkatkan keamanan pasien dengan memastikan obat-obatan yang kedaluwarsa atau ditarik (recall) tidak sampai ke tangan pasien. Ini juga menjamin kepatuhan terhadap regulasi pemerintah terkait standar pelayanan kefarmasian. Dari sisi operasional, fitur ini mengoptimalkan manajemen stok, mengurangi kerugian akibat obat kedaluwarsa, dan memungkinkan pelacakan produk yang lebih efisien, yang pada akhirnya meningkatkan profitabilitas apotek.

Q2: Bagaimana cara menentukan ambang batas waktu yang ideal untuk peringatan kedaluwarsa (expired alert)?

Ambang batas ideal sangat bergantung pada jenis produk dan tingkat rotasi stok apotek Anda. Untuk obat-obatan dengan rotasi cepat, peringatan 30-60 hari mungkin cukup. Namun, untuk produk yang pergerakannya lambat atau memiliki nilai tinggi, ambang batas 90-180 hari (3-6 bulan) lebih direkomendasikan. Ini memberikan waktu yang cukup bagi manajemen untuk mengambil tindakan proaktif seperti promosi, retur ke distributor, atau transfer ke cabang lain. Analisis data penjualan historis dapat membantu menentukan ambang batas yang paling efektif.

Q3: Apakah fitur batch tracking dan expired alert dapat diintegrasikan dengan sistem SIMRS atau ERP lain yang sudah ada?

Ya, fitur ini sangat mungkin untuk diintegrasikan dengan sistem informasi kesehatan lain seperti SIMRS (Sistem Informasi Manajemen Rumah Sakit) atau ERP (Enterprise Resource Planning) yang Anda gunakan. Integrasi dapat dilakukan melalui API (Application Programming Interface) yang terdefinisi dengan baik, atau menggunakan standar interoperabilitas data kesehatan seperti FHIR R4 (Fast Healthcare Interoperability Resources Release 4) atau HL7 v2.5.1. Ketersediaan API yang kuat adalah kunci untuk memastikan pertukaran data yang mulus dan konsisten antar sistem.

Q4: Bagaimana jika ada batch obat yang rusak atau harus ditarik (recall) oleh produsen? Bagaimana sistem POS akan menanganinya?

Sistem POS yang baik harus memiliki fitur 'status batch' yang memungkinkan staf untuk menandai batch sebagai 'rusak', 'ditarik', atau 'tidak layak jual'. Ketika sebuah batch ditandai demikian, sistem secara otomatis harus mengeluarkannya dari stok yang tersedia untuk penjualan dan memicu proses penanganan khusus, seperti pencatatan untuk retur atau pemusnahan sesuai prosedur standar operasional. Fitur ini krusial untuk menjaga keamanan pasien dan kepatuhan regulasi BPOM dalam kasus recall produk.

Q5: Berapa estimasi investasi yang diperlukan untuk mengimplementasikan sistem POS dengan fitur batch tracking dan expired alert yang canggih?

Investasi bervariasi tergantung pada skala apotek, kompleksitas fitur yang diinginkan, dan apakah Anda memilih solusi off-the-shelf atau pengembangan kustom. Solusi off-the-shelf mungkin berkisar dari puluhan juta rupiah untuk lisensi dan implementasi dasar. Untuk pengembangan sistem kustom yang terintegrasi penuh dengan SIMRS atau ERP lain, investasi bisa mencapai ratusan juta rupiah, tergantung pada jam kerja developer, infrastruktur, dan biaya pemeliharaan. Penting untuk mempertimbangkan ROI (Return on Investment) jangka panjang dari pengurangan kerugian stok dan peningkatan efisiensi.

Q6: Apa tantangan terbesar yang mungkin dihadapi selama implementasi batch tracking dan expired alert?

Tantangan terbesar seringkali meliputi akurasi data awal, terutama jika sebelumnya apotek masih menggunakan pencatatan manual atau sistem yang belum terintegrasi. Perubahan proses kerja staf juga bisa menjadi hambatan, memerlukan pelatihan intensif dan adaptasi. Selain itu, masalah teknis seperti integrasi dengan sistem lain yang sudah ada, kinerja database untuk volume data besar, dan pemeliharaan sistem yang berkelanjutan juga perlu diperhatikan. Komitmen dari manajemen dan tim IT yang solid sangat diperlukan untuk mengatasi tantangan ini dan memastikan keberhasilan implementasi.

Implementasi sistem POS apotek dengan fitur batch tracking dan expired alert adalah investasi strategis yang akan memberikan dampak signifikan pada efisiensi operasional, keamanan pasien, dan profitabilitas apotek Anda. Dari pencegahan kerugian akibat obat kedaluwarsa hingga peningkatan kepatuhan regulasi, manfaatnya sangat besar. Dengan perencanaan yang matang, pemilihan teknologi yang tepat, dan komitmen terhadap best practices, Anda dapat mengubah tantangan manajemen inventaris menjadi keunggulan kompetitif. Jika Anda adalah Manajer IT Rumah Sakit, pemilik klinik, atau manajer operasional yang mencari solusi SIMRS, SIM Klinik, atau POS apotek kustom dengan fitur canggih seperti batch tracking dan expired alert, tim kami di Nugroho Setiawan siap membantu. Dengan pengalaman luas dalam integrasi BPJS/SatuSehat/FHIR, E-Office, ERP (termasuk ERP Poultry/Layer), dan berbagai solusi Point of Sales, kami menawarkan konsultasi gratis untuk mendiskusikan kebutuhan spesifik Anda. Hubungi kami melalui website atau email untuk memulai transformasi digital operasional Anda.

Terakhir diperbarui 25 May 2026

Komentar

Komentar ditinjau sebelum tampil.

Belum ada komentar. Jadilah yang pertama!