# LAPORAN PROJECT: PEMROSESAN VISUAL DATA

OPTIMALISASI STRATEGI PENJUALAN DENGAN SISTEM REKOMENDASI & ANALISIS PASAR INTERAKTIF MENGGUNAKAN METODE USER-BASED COLLABORATIVE FILTERING

## A. Pendahuluan

### Latar Belakang Pemilihan Dataset

Pemilihan dataset dalam project ini didasarkan pada urgensi pemahaman dinamika pasar e-commerce di Indonesia yang sangat fluktuatif. Dataset yang digunakan merupakan data primer hasil akuisisi teknik Web Scraping dari platform marketplace (Tokopedia/Shopee). Data ini telah melalui proses filtering yang ketat dan disimpan dalam format `filtered_products.csv`.

Dataset ini dipilih karena mengandung variabel multidimensi yang krusial untuk mata kuliah Pemrosesan Visual Data, yaitu: kategori produk, harga, rating, jumlah ulasan, dan lokasi geografis (kota). Dengan memanfaatkan data ini, kita dapat mensimulasikan skenario nyata bagaimana sebuah sistem cerdas (AI) dapat membantu pelaku bisnis melakukan intervensi strategis berdasarkan pola perilaku konsumen, bukan sekadar intuisi.

### Knowledge/Information/Insight yang akan Disajikan

Project ini mentransformasi data mentah tersebut menjadi seperangkat wawasan strategis (*Actionable Insights*):

- AI Market Trend: Identifikasi produk dengan potensi penjualan tertinggi berdasarkan perhitungan algoritmik Collaborative Filtering.
- Growth Dynamics: Visualisasi tren pendapatan bulanan untuk analisis stabilitas arus kas bisnis.
- Sector Analysis: Pemetaan dominasi kategori produk untuk menentukan fokus inventaris.
- Geographic Pulse: Analisis persebaran demografis pembeli berdasarkan kota untuk strategi logistik.

## B. Tujuan

Tujuan utama dari implementasi pemrosesan dan visualisasi data dalam project ini adalah:

1. Akurasi Prediksi: Mengimplementasikan algoritma kemiripan kosinus (Cosine Similarity) untuk membangun sistem rekomendasi yang mampu memprediksi minat pengguna secara personal.
2. Efisiensi Manajerial: Menghadirkan dashboard 'Command Center' yang interaktif bagi administrator untuk memantau KPI (Key Performance Indicators) secara real-time.
3. Komunikasi Data Visual: Menerapkan prinsip desain antarmuka modern (Glassmorphism) dan grafik dinamis (Chart.js) untuk mempermudah interpretasi data yang kompleks menjadi keputusan bisnis yang cepat.

## C. Batasan

Lingkup pengerjaan dan batasan dataset dalam project ini meliputi:

- Dataset: Terbatas pada 600+ data produk aksesoris mobil hasil scraping periode berjalan.
- Variabel Data: Fokus pada atribut Nama Produk, Harga, Kategori, Rating, dan Kota Asal Toko.
- Limitasi Teknis: Informasi deskripsi produk yang terlalu panjang dan data gambar resolusi tinggi tidak disertakan untuk optimalisasi performa sistem.
- Timeline: Simulasi data transaksi dibatasi pada rentang waktu 6 bulan terakhir.

## D. Metode/Teknik yang Digunakan

Bagian ini menguraikan secara teknis alur kerja sistem, dimulai dari akuisisi data mentah hingga transformasi menjadi data visual yang bermakna.

### 1. Perolehan Data (Data Acquisition)

Data diperoleh langsung dari sumbernya di marketplace melalui dua tahapan teknik otomasi:

#### A. Crawling (Navigasi Dataset)

Proses Crawling dilakukan untuk menavigasi struktur halaman kategori (misal: Aksesoris Mobil) secara otomatis. Sistem menyisir halaman demi halaman (pagination) untuk mengumpulkan URL unik setiap produk yang memenuhi kriteria awal (seperti filter rating > 4.0).

#### B. Scraping (Ekstraksi Data)

Setelah mendapatkan daftar URL, proses Scraping dijalankan untuk mengekstraksi elemen data spesifik dari setiap halaman detail produk. Atribut yang diambil meliputi nama produk, harga, lokasi toko, dan metrik kepuasan pelanggan.

### 2. Pra-pemrosesan Data & Filtering Cerdas (Python Processing)

Data mentah dari scraping seringkali mengandung *noise* (kata kunci spam pada judul). Tahap ini menggunakan script Python untuk membersihkan dan memperkaya dataset.

#### A. Ekstraksi Spesifikasi via Regex

Teknik Regular Expression (Regex) digunakan untuk "membaca" spesifikasi teknis yang tertanam dalam teks judul secara otomatis.

    # Cuplikan Kode Python: Ekstraksi Watt & Ampere
    def extract_specs(name):
        # Regex untuk menangkap angka Watt (e.g., 30W, 65 Watt)
        watts = re.findall(r'(\d+)\s*[Ww]att|(\d+)[Ww]', name, re.IGNORECASE)

        # Regex untuk menangkap angka Ampere (e.g., 2.4A, 3 Amp)
        amps = re.findall(r'(\d+\.?\d*)\s*[Aa]mp|(\d+\.?\d*)[Aa]', name, re.IGNORECASE)

        return watts, amps

Analisis: Dengan teknik ini, sistem dapat mengelompokkan produk berdasarkan kapasitas dayanya (misal: Charger 30W vs 65W), sebuah fitur yang tidak disediakan oleh data mentah marketplace.

#### B. Identifikasi Brand & Klasifikasi

Sistem melakukan pencocokan kata kunci (*keyword matching*) terhadap daftar brand ternama (seperti Baseus, Anker, Xiaomi) untuk memisahkan nama produsen dari deskripsi produk. Hal ini penting untuk analisis pangsa pasar per brand.

#### C. Semantic Title Optimization (Rekonstruksi Judul)

Filtering terakhir adalah menyusun ulang judul produk menjadi format standar yang bersih, menggunakan formula: `[Brand] + [Core Keyword] + [Specs]`.

    def generate_title(row):
        # Logika penyusunan judul baru yang bersih
        brand = clean_brand_name(row['name'])
        watt, amp = extract_specs(row['name'])

        # Mapping keyword inti berdasarkan kategori
        if row['category'] == 'Car Charger':
            keywords = "Car Charger Fast Charging"

        return f"{brand} {keywords} {watt if watt else amp}"

### 3. Diagram Alur Kerja (Flowchart)

Berikut adalah representasi visual alur sistem dari hulu ke hilir:

[TEMPAT UNTUK MENEMPEL DIAGRAM FLOWCHART DARI MERMAID/DRAW.IO]

## E. Hasil dan Analisis

### 1. Analisis Algoritma Rekomendasi (Collaborative Filtering)

Sistem ini menerapkan algoritma User-Based Collaborative Filtering untuk memprediksi produk diminati.

    // Cuplikan Logika PHP (RecommendationService.php)
    private function calculateCosineSimilarity($u1, $u2) {
        // Menghitung kemiripan pola belanja antar user
        $dotProduct = 0; $norm1 = 0; $norm2 = 0;
        // ... kalkulasi vektor ...
        return $dotProduct / ($denominator);
    }

Analisis: Hasil perhitungan Similarity Score menunjukkan bahwa algoritma ini efektif dalam memberikan rekomendasi silang (*cross-selling*). Produk yang dibeli oleh user dengan profil serupa (User A dan User B) memiliki probabilitas konversi yang lebih tinggi.

### 2. Visualisasi Dashboard (Chart.js)

Data hasil olahan ditampilkan dalam dashboard bertema Command Center.

- Line Chart: Digunakan untuk memvisualisasikan tren pendapatan. Efek gradien pada grafik membantu admin melihat puncak (*peak*) dan lembah (*trough*) penjualan dengan cepat.
- Polar Area Chart: Dipilih untuk menampilkan distribusi kota asal pembeli. Grafik ini memberikan perspektif visual yang lebih menarik dibanding Bar Chart standar untuk membandingkan jangkauan area.

## F. Kesimpulan

Berdasarkan implementasi dan pengujian sistem, dapat disimpulkan:

1. Integrasi teknik Scraping dan Filtering Python terbukti mampu meningkatkan kualitas data input secara signifikan, mengubah data tekstual mentah menjadi atribut terukur (Watt/Ampere).
2. Algoritma Collaborative Filtering berhasil memberikan dimensi baru pada analisis pasar, memungkinkan identifikasi produk 'Hidden Gem' yang secara statistik diminati namun belum tentu memiliki volume penjualan tertinggi.
3. Pendekatan Visual Data Processing melalui dashboard interaktif memberikan efisiensi waktu bagi pengambil keputusan untuk memahami kondisi pasar secara komprehensif dalam satu tampilan layar.

## G. References

[1] J. S. Breese, D. Heckerman, and C. Kadie, "Empirical analysis of predictive algorithms for collaborative filtering," in Proc. 14th Conf. Uncertainty in Artificial Intelligence (UAI-98), 1998.

[2] V. Geroimenko and C. Chen, Visualizing the Semantic Web: XML-based Internet and Information Visualization. London: Springer-Verlag, 2002.

[3] Chart.js Documentation, "Chart.js 3.x Migration Guide," Available: https://www.chartjs.org/.

[4] Laravel Documentation, "Eloquent ORM & Database Seeding," Available: https://laravel.com/.