Sesi 09

Sesi 09: Pengantar VBA & Integrasi Artificial Intelligence (AI) di Excel

Dari persiapan dasar Macro hingga membawa Excel keluar dari batas kemampuannya menggunakan REST API dan Large Language Models (LLM).

🎯 Tujuan Pembelajaran

  1. Mampu melakukan konfigurasi dasar Excel untuk pemrograman (Developer Tab & Security).
  2. Memahami konsep Record Macro dan navigasi Visual Basic Editor (VBE).
  3. Memahami arsitektur komunikasi antara Excel (Client) dan AI (Server) via REST API.
  4. Mampu membuat User Defined Function (UDF) untuk memanggil AI.
  5. Mengotomatisasi pemrosesan data teks massal menggunakan Macro dan Prompt Engineering.

BAGIAN I: Persiapan Dasar VBA

1. Mengaktifkan Tab Developer

Tab Developer adalah “kokpit” utama kita untuk mengakses fitur pemrograman. Secara bawaan, Excel menyembunyikan tab ini.

  1. Buka Excel, klik menu File > Options.
  2. Pilih Customize Ribbon di panel sebelah kiri.
  3. Di panel sebelah kanan (Main Tabs), cari dan centang kotak “Developer”.
Diagram Arsitektur Client-Server REST API

2. Setting Macro & VBA Security

Agar kode yang kita tulis diizinkan berjalan oleh Windows, kita harus mengatur tingkat keamanan Macro. Catatan: Hanya lakukan ini di komputer terpercaya.

  1. Pergi ke tab Developer yang baru muncul > klik Macro Security.
  2. Pada bagian Macro Settings, pilih Enable VBA macros.
  3. Sangat Penting: Centang juga Trust access to the VBA project object model.
Dialog Tools References dengan Microsoft XML v6.0 dicentang

3. Visual Basic Editor (VBE)

VBE adalah lingkungan tempat kita menulis dan mengedit kode. Cara tercepat untuk membukanya adalah dengan menekan tombol shortcut di keyboard:

ALT + F11

Setelah terbuka, Anda akan melihat jendela proyek di kiri dan area kode utama di kanan.

📸 [Placeholder Gambar: Tampilan Antarmuka Visual Basic Editor]

image

BAGIAN II: Integrasi AI & Excel

4. Konsep Dasar: Bagaimana Excel “Berbicara” dengan AI?

Excel secara native tidak cerdas. Kita menghubungkannya ke “otak” AI di server menggunakan metode REST API. Bayangkan seperti memesan makanan di restoran:

  • Request (Pesanan): Excel (Pelanggan) mengirimkan instruksi/prompt dan API Key (uang pembayaran) ke Server AI (Dapur) dalam bungkusan format data bernama JSON.
  • Response (Makanan): Server AI memproses pesanan dan mengirimkan kembali jawabannya dalam bungkusan JSON, yang kemudian “dibuka” oleh VBA untuk ditampilkan di sel.
image

5. Menghubungkan Excel ke Internet (Wajib)

Agar VBA memiliki kemampuan untuk mengirim “pesanan” ke internet, kita harus mengaktifkan library khusus:

  1. Di dalam jendela VBE (ALT+F11), klik menu Tools > References.
  2. Scroll ke bawah pada daftar yang muncul.
  3. Cari dan centang kotak Microsoft XML, v6.0.
  4. Klik OK.

📸 [Placeholder Gambar: Dialog Tools References dengan Microsoft XML v6.0 dicentang]

image

6. Praktik 1: Membuat Rumus Kustom =TANYA_AI() dengan API Gratis

🔑 Cara Mendapatkan API Key Gratis (Google Gemini):

  1. Buka browser dan kunjungi: aistudio.google.com/app/apikey
  2. Login menggunakan akun Google (Gmail) Anda.
  3. Klik tombol biru “Create API key”.
  4. Salin (Copy) rentetan kode rahasia tersebut. Jangan bagikan kode ini ke orang lain!
image

Di VBE, klik Insert > Module, lalu salin kode khusus Google Gemini di bawah ini ke jendela kode putih yang kosong:

Function TANYA_AI(prompt As String) As String
    ' --- 1. Deklarasi Variabel ---
    Dim http As Object
    Dim url As String, apiKey As String
    Dim requestBody As String, response As String
    Dim startPos As Long, endPos As Long
    
    ' --- 2. Konfigurasi API GOOGLE GEMINI ---
    ' PASTE API KEY GOOGLE ANDA DI SINI:
    apiKey = "AIzaSyXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 
    
    ' Endpoint Google Gemini 1.5 Flash (Gratis & Sangat Cepat)
    url = "https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=" & apiKey
    
    ' --- 3. Menyiapkan Object HTTP ---
    Set http = CreateObject("MSXML2.XMLHTTP.6.0")
    
    ' --- 4. Membersihkan Teks Input ---
    prompt = Replace(prompt, """", "\""")
    prompt = Replace(prompt, Chr(10), " ")
    prompt = Replace(prompt, Chr(13), "")
    
    ' --- 5. Membentuk Paket Data JSON (Format Khusus Gemini) ---
    requestBody = "{""contents"": [{""parts"": [{""text"": """ & prompt & """}]}]}"
    
    ' --- 6. Mengirim Request ke Server Google ---
    With http
        .Open "POST", url, False
        .setRequestHeader "Content-Type", "application/json"
        .send requestBody
    End With
    
    ' --- 7. Menangkap & Membedah Jawaban (Response) ---
    response = http.responseText
    
    ' Teknik ekstraksi teks dari JSON Gemini
    startPos = InStr(response, """text"": """) + 9
    If startPos > 9 Then
        endPos = InStr(startPos, response, """}")
        ' Mengambil teks tanpa tanda kutip penutup
        TANYA_AI = Mid(response, startPos, endPos - startPos - 1) 
        ' Membersihkan sisa format (newline)
        TANYA_AI = Replace(TANYA_AI, "\n", Chr(10))
        TANYA_AI = Replace(TANYA_AI, "\""", """")
    Else
        TANYA_AI = "Error API: Periksa API Key atau Koneksi Anda."
    End If
    
    ' Membersihkan memori
    Set http = Nothing
End Function

Cara Penggunaan: Kembali ke lembar kerja Excel, ketik pertanyaan di sel A1, lalu di sel B1 ketik rumus =TANYA_AI(A1). Karena kita menggunakan API gratis, pastikan komputer Anda terkoneksi ke internet!

Integrasi Excel dengan AI

Leave a Comment

Your email address will not be published. Required fields are marked *