Kenapa Toko Online Kamu Butuh Pencarian yang Lebih Pintar

Pernah nggak kamu belanja online, ketik “baju kerja cowok kalem”, lalu hasil pencariannya malah kosong atau nampilin barang yang nggak nyambung? Itu masalah klasik search engine biasa yang cuma nyocokin kata kunci satu per satu. Customer bilang “kalem”, database kamu cuma kenal kata “formal”. Hasilnya: customer pergi, checkout batal.

Di sinilah AI semantic search masuk. Alih-alih nyocokin huruf, AI memahami makna dari query customer. “Baju kerja cowok kalem” bakal paham bahwa customer nyari kemeja atau polo shirt warna netral buat kondangan kantor. Riset dari berbagai platform e-commerce besar menunjukkan fitur search yang bagus bisa menaikkan konversi belanja cukup signifikan, karena mayoritas customer pakai kolom pencarian sebagai pintu utama menemukan produk.

Kabar baiknya: sekarang kamu nggak perlu jadi perusahaan raksasa untuk punya fitur ini. Cukup dengan API key dari penyedia AI (OpenAI, Anthropic, dan lainnya), kamu bisa bikin semantic search sendiri di toko online-mu. Artikel ini bakal bahas langkah demi langkah, dari konsep sampai implementasi.

Sebelum mulai, kalau kamu masih bingung bedanya API key dengan akun login biasa, baca dulu artikel API key vs akun login untuk pakai AI biar makin paham konteksnya.

Konsep Dasar: Apa Itu Embedding?

Jantung dari semantic search adalah teknologi yang namanya embedding. Singkatnya, embedding itu proses mengubah teks (nama produk, deskripsi, kategori) jadi deretan angka yang mewakili “makna” teks tersebut.

Contoh sederhana:

  • “Kemeja flanel pria lengan panjang” → [0.12, -0.45, 0.88, ...]
  • “Flannel shirt cowok sleeves long” → [0.13, -0.44, 0.87, ...]
  • “Galon isi ulang 19 liter” → [-0.71, 0.33, -0.12, ...]

Dua teks pertama maknanya mirip, jadi deretan angkanya juga mirip. Angka-angka ini lalu dibandingkan pakai rumus matematis sederhana (biasanya cosine similarity). Produk dengan angka yang paling mirip ke query customer = produk paling relevan. Sesederhana itu.

Alurnya seperti ini:

  1. Siapkan data produk — nama, deskripsi, kategori.
  2. Embed semua produk sekali di awal, simpan hasilnya.
  3. Saat customer mencari, embed query-nya juga.
  4. Bandingkan query embedding dengan semua embedding produk.
  5. Tampilkan produk dengan skor kemiripan tertinggi.

Langkah 1: Siapkan API Key

Pertama, kamu butuh API key. Beberapa opsi populer:

  • OpenAI API — punya model embedding (text-embedding-3-small) yang murah dan cepat.
  • Claude API — andal untuk memproses dan memfilter hasil pencarian dengan bahasa natural.
  • Gemini API — alternatif dengan harga kompetitif.

Kamu bisa beli API key dari reseller terpercaya seperti abdijualan.online kalau metode pembayaran langsung ke provider jadi kendala. Setelah dapat key, simpan baik-baik dan jangan pernah hardcode di kode yang bisa diakses publik. Kalau belum familiar dengan praktik aman, artikel cara amankan API key AI biar tidak bocor wajib kamu baca dulu.

Langkah 2: Embed Data Produk Kamu

Misal kamu punya 500 produk. Kamu perlu satu script sederhana untuk meng-embed semuanya. Contoh pakai Python:

import json
from openai import OpenAI

client = OpenAI(api_key="API_KEY_KAMU")

products = [
    {"id": 1, "nama": "Kemeja flanel pria lengan panjang", "deskripsi": "Bahan cotton twill, motif kotak, cocok untuk kerja dan santai"},
    {"id": 2, "nama": "Sneakers canvas putih unisex", "deskripsi": "Sol karet, ringan, cocok untuk gaya kasual harian"},
    # ... produk lainnya
]

for produk in products:
    teks = f"{produk['nama']}. {produk['deskripsi']}"
    response = client.embeddings.create(
        model="text-embedding-3-small",
        input=teks
    )
    produk["embedding"] = response.data[0].embedding

with open("produk_embeddings.json", "w") as f:
    json.dump(products, f)

print("Semua produk berhasil di-embed!")

Untuk 500 produk dengan deskripsi pendek, proses ini cuma butuh beberapa menit dan biayanya sangat kecil — biasanya di bawah satu dolar. Kalau kamu mau lebih detail soal hitung-hitungan biaya API per proyek, artikel cara hitung biaya API AI per project ada breakdown lengkapnya.

Langkah 3: Bangun Fungsi Pencarian

Sekarang bagian serunya. Saat customer mengetik query, embed query tersebut lalu bandingkan dengan semua produk:

import math

def cosine_similarity(a, b):
    dot = sum(x * y for x, y in zip(a, b))
    norm_a = math.sqrt(sum(x * x for x in a))
    norm_b = math.sqrt(sum(x * x for x in b))
    return dot / (norm_a * norm_b)

def cari_produk(query, products, top_n=5):
    response = client.embeddings.create(
        model="text-embedding-3-small",
        input=query
    )
    query_embedding = response.data[0].embedding

    hasil = []
    for produk in products:
        skor = cosine_similarity(query_embedding, produk["embedding"])
        hasil.append((produk, skor))

    hasil.sort(key=lambda x: x[1], reverse=True)
    return hasil[:top_n]

# Contoh penggunaan
hasil = cari_produk("baju cowok buat ke kantor yang nggak formal-formal banget", products)
for produk, skor in hasil:
    print(f"{produk['nama']} (skor: {skor:.2f})")

Coba perhatikan: query-nya “baju cowok buat ke kantor yang nggak formal-formal banget”. Kata “baju”, “kantor”, “cowok” — tidak ada satupun yang harus persis sama dengan nama produk. Tapi semantic search akan paham konteksnya dan kemungkinan besar menampilkan kemeja flanel di urutan atas. Magic!

Langkah 4: Sempurnakan dengan Claude untuk Filtering

Trik bonus biar hasil makin relevan: pakai Claude untuk menyaring ulang top 10 hasil dari semantic search. Claude bisa menilai konteks yang lebih dalam, misalnya memahami bahwa “nggak formal-formal banget” berarti customer mau kemeja polo atau batik versi kasual, bukan blazer.

def filter_dengan_claude(query, kandidat):
    prompt = f"""
    Customer mencari: "{query}"

    Kandidat produk:
    {chr(10).join(f"- {p['nama']}: {p['deskripsi']}" for p in kandidat)}

    Pilih 5 produk paling relevan dengan alasan singkat.
    """
    response = client.messages.create(
        model="claude-sonnet-4-20250514",
        max_tokens=500,
        messages=[{"role": "user", "content": prompt}]
    )
    return response.content[0].text

Kombinasi embedding (cepat dan murah) + Claude (pintar memahami konteks) ini pola yang banyak dipakai toko online modern. Pola serupa juga dipakai di tutorial bikin chatbot FAQ dari dokumen PDF dengan API AI kalau kamu mau explore lebih jauh.

Tips Praktis Biar Hasil Makin Bagus

  1. Gabungkan nama + deskripsi + kategori saat embed. Semakin lengkap konteksnya, semakin akurat hasilnya.
  2. Simpan hasil embedding di database (PostgreSQL dengan ekstensi pgvector, atau yang simpel dulu: file JSON/SQLite). Jangan embed ulang semua produk setiap ada pencarian.
  3. Update embedding hanya saat produk berubah. Produk baru ditambah atau deskripsi diedit? Embed ulang produk itu saja.
  4. Fallback ke pencarian biasa. Kalau query customer berisi kode produk atau SKU eksak (misal “SKU-1024”), keyword search biasa justru lebih tepat. Kombinasikan keduanya.
  5. Pantau query yang gagal. Query yang return hasil kosong adalah emas untuk riset — artinya ada gap antara bahasa customer dan deskripsi produk kamu.

Berapa Biaya Total?

Kasus realistis untuk toko dengan 2.000 produk:

  • Embed awal: dilakukan sekali, di bawah $1.
  • Query pencarian: masing-masing satu panggilan embedding murah + (opsional) satu panggilan Claude kecil. Kalau ada 1.000 pencarian per hari, total biaya bulanan masih jauh di bawah biaya iklan satu hari.

Kalau kamu cari cara memangkas biaya lebih lanjut, ada trik-trik di artikel tips hemat kuota token API AI yang bisa langsung kamu terapkan.

Penutup

Semantic search bukan lagi teknologi yang cuma bisa diakses raksasa e-commerce. Dengan API key dan sedikit kode, toko online kecil pun bisa punya pencarian yang memahami bahasa manusia — dan customer zaman sekarang memang belanja pakai bahasa sehari-hari, bukan kata kunci kaku.

Mulai dari kecil: embed 50 produk dulu, uji dengan query-query nyata dari customer, lalu scaling pelan-pelan. Kalau nanti kamu butuh kapasitas lebih besar dan mulai jual API key ke klien juga, artikel cara scaling bisnis reseller API key AI bisa jadi langkah lanjutanmu.

Selamat mencoba, dan semoga konversi tokomu naik!