Bab D: Metode/Teknik yang Digunakan

Pada bab ini, dijelaskan secara rinci metode transformasi data yang diterapkan. Fokus utama adalah pada teknik Python Pre-processing yang digunakan untuk membersihkan data mentah marketplace menjadi dataset berkualitas tinggi.

1. Landasan Teknik & Pemrosesan Data

Data mentah dari hasil scraping memiliki karakteristik yang tidak terstruktur (unstructured). Untuk mengatasi hal ini, dikembangkan algoritma filtering berbasis Python dengan tiga komponen utama:

A. Ekstraksi Spesifikasi Teknis (Regex)

Rationale (Landasan Pemilihan Teknik): Penggunaan Regular Expressions (Regex) dipilih karena pola teks spesifikasi (seperti Watt/Ampere) memiliki struktur pasti namun posisi acak. Metode ini lebih presisi dibanding pencarian kata kunci biasa.

Implementasi Kode:

def extract_specs(name):
    """Mengekstraksi Watt dan Ampere dari nama produk."""
    
    # 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)
    
    # Logika pemilihan nilai
    watt_str = f"{next((x for x in watts[0] if x), '')}W" if watts else ""
    amp_str = f"{next((x for x in amps[0] if x), '')}A" if amps else ""
            
    return watt_str, amp_str

B. Identifikasi & Klasifikasi Brand

Rationale (Landasan Pemilihan Teknik): Menggunakan metode Dictionary-based Lookup. Karena entitas brand terbatas dan statis, metode ini memberikan kompleksitas O(1) yang jauh lebih cepat daripada model Machine Learning.

Implementasi Kode:

def clean_brand_name(name):
    # Knowledge Base: Daftar Brand Valid
    brands = ['Baseus', 'Anker', 'Aukey', 'ACMIC', 'Xiaomi']
    
    name_lower = name.lower()
    for brand in brands:
        if brand.lower() in name_lower:
            return brand 
            
    return "Generic"

C. Semantic Semantic Title Optimization

Rationale (Landasan Pemilihan Teknik): Teknik Template Construction digunakan untuk menstandarisasi judul produk ("Brand + Keyword + Specs"), menghilangkan spam keywords untuk visualisasi dashboard yang bersih.

Implementasi Kode:

def generate_title(row):
    # 1. Ekstraksi Fitur Bersih
    brand = clean_brand_name(row['name'])
    watt, amp = extract_specs(row['name'])
    
    # 2. Penentuan Core Keyword
    if row['category'] == 'Car Charger Adapter':
        keywords = "Car Charger Mobil Fast Charging"
    
    # 3. Konstruksi Judul Baru
    specs = watt if watt else amp
    new_title = f"{brand} {keywords} {specs}"
    
    return new_title.strip()

2. Kesimpulan Implementasi

Transformasi data dengan script Python di atas menghasilkan dataset optimized_titles.csv yang valid, terstruktur, dan siap untuk divisualisasikan.