Wednesday, June 17, 2026
Saham

Ngoprek API Saham: Menarik Data Harga Real-Time dengan Google Apps Script

Halo sobat Ngoprek Tech! Pada tutorial sebelumnya, kita sudah sukses membangun tracker portofolio portabel menggunakan fungsi bawaan =GOOGLEFINANCE di Google Sheets. Sistem tersebut sudah cukup memadai untuk kebutuhan pemantauan standar.

Namun, sebagai developer dan sysadmin, terkadang kita membutuhkan lebih dari sekadar data di tabel. Bagaimana jika kita ingin mengolah data harga saham tersebut lebih jauh? Misalnya, menyimpannya ke dalam database eksternal MySQL, menjadikannya endpoint JSON untuk aplikasi web kustom kita, atau mengirimkannya ke bot Telegram?

Fungsi standar Sheets tidak bisa melakukan itu. Di sinilah kita harus melakukan leveling up menggunakan Google Apps Script (GAS). Mari kita ngoprek code-nya!

Konsep Dasar: Menjembatani Sheets dan Apps Script

Google Apps Script (GAS) pada dasarnya adalah JavaScript yang berjalan di atas server Google (serverless execution).

Meskipun saat ini BEI (Bursa Efek Indonesia) tidak menyediakan API publik gratis yang stabil untuk ditarik langsung, kita bisa menggunakan sebuah trik atau workaround. Kita akan memerintahkan Apps Script untuk “membaca” data yang sudah berhasil ditarik oleh fungsi GOOGLEFINANCE di dalam spreadsheet, lalu mengubahnya menjadi format Object (JSON) agar bisa kita olah sebebas-bebasnya.

Langkah 1: Siapkan Spreadsheet “Database” Sementara

Pertama, kita harus membuat “jembatan” datanya terlebih dahulu.

  1. Buka Google Sheets dan buat dokumen baru (Misalnya beri nama: API Saham GAS).
  2. Di sel A1, ketikkan kode saham (misal: IDX:BBCA).
  3. Di sel B1, ketikkan rumus: =GOOGLEFINANCE(A1, "price").
  4. Pastikan di sel B1 sudah muncul angka harganya (misal: 9000).

(Sheet ini akan bertindak sebagai trigger internal agar server Google terus me- refresh data).

Langkah 2: Buka Editor Google Apps Script

  1. Masih di halaman Google Sheets yang sama, klik menu Extensions (Ekstensi) > Apps Script.
  2. Tab baru akan terbuka menampilkan Code Editor dari Apps Script.
  3. Hapus semua function bawaan yang ada di layar, sehingga editor benar-benar kosong.

Langkah 3: Menulis Skrip (Mengekstrak Data)

Sekarang, copy dan paste baris kode JavaScript (GAS) berikut ini ke dalam editor Anda:

JavaScript

function getStockPrice() {
  // 1. Definisikan Spreadsheet dan Sheet yang aktif
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0]; // Mengambil Sheet pertama
  
  // 2. Baca nilai dari baris 1, kolom 1 (Kode) dan kolom 2 (Harga)
  var stockCode = sheet.getRange(1, 1).getValue();
  var currentPrice = sheet.getRange(1, 2).getValue();
  
  // 3. Buat Object (Dictionary) untuk menampung data
  var stockData = {
    "ticker": stockCode,
    "price": currentPrice,
    "timestamp": new Date().toISOString()
  };
  
  // 4. Tampilkan output ke dalam Log (Console)
  Logger.log(JSON.stringify(stockData));
  
  // Return data untuk fungsi lain yang mungkin memanggilnya
  return stockData;
}

Penjelasan Skrip:

  • getActiveSpreadsheet(): Berfungsi untuk mengaitkan skrip dengan file Google Sheets tempat kita bekerja.
  • getRange(1, 1).getValue(): Ini adalah perintah untuk mengambil data fisik dari sel A1.
  • new Date().toISOString(): Sangat penting! Kita menyisipkan stempel waktu (timestamp) agar kita tahu persis kapan data harga ini diekstrak.
  • JSON.stringify(): Mengubah objek JavaScript menjadi format JSON murni.

Langkah 4: Uji Coba Skrip (Debugging)

Mari kita jalankan skripnya untuk memastikan tidak ada syntax error.

  1. Klik tombol Save (ikon disket) atau tekan Ctrl+S.
  2. Di bagian atas editor, pastikan nama fungsi yang terpilih di kotak dropdown adalah getStockPrice.
  3. Klik tombol Run (Jalankan).
  4. Penting: Karena ini pertama kalinya skrip dijalankan, Google akan meminta Otorisasi (Authorization Required). Klik Review Permissions, pilih akun Google Anda, klik Advanced, lalu pilih Go to Untitled project (unsafe). Terakhir, klik Allow.
  5. Perhatikan bagian bawah layar Anda (Execution Log). Anda akan melihat output berupa struktur JSON seperti ini:

{"ticker":"IDX:BBCA","price":9000,"timestamp":"2026-06-17T00:05:36.000Z"}

(Sisipkan Gambar: Tangkapan layar dari Execution Log di layar Apps Script yang menampilkan output JSON sukses)

Langkah 5 (Bonus): Menjadikannya Web App (Endpoint API)

Data sudah berhasil diekstrak! Tapi data ini masih terkurung di dalam Execution Log. Jika Anda ingin aplikasi luar (seperti program Python Anda atau aplikasi Android) bisa membaca data harga saham ini, kita harus mengubah fungsi di atas menjadi endpoint URL API (Web App).

Tambahkan kode ini di bagian paling bawah editor Anda:

JavaScript

function doGet(e) {
  var data = getStockPrice();
  
  // Kirim output sebagai layanan JSON
  return ContentService.createTextOutput(JSON.stringify(data))
    .setMimeType(ContentService.MimeType.JSON);
}

Untuk mendeploy-nya:

  1. Klik tombol Deploy di pojok kanan atas > New deployment.
  2. Pilih tipe (Select type) > Web app.
  3. Who has access: Ubah menjadi Anyone (Siapa saja).
  4. Klik Deploy.
  5. Anda akan mendapatkan sebuah Web app URL. Simpan URL tersebut!

Sekarang, Anda (atau skrip server Anda) cukup melakukan GET request ke URL tersebut, dan server Google akan merespons dengan data harga saham real-time berformat JSON!

Kesimpulan

Bermodalkan JavaScript dasar di lingkungan Google Apps Script, kita baru saja berhasil menciptakan endpoint API custom kita sendiri untuk menarik data saham secara real-time.

Dengan payload JSON yang bersih, langit adalah batasnya. Anda bisa mengarahkan data ini ke dalam dashboard HTML statis Anda, atau bahkan menghubungkannya ke skrip auto-trading jika Anda mau. Pada artikel berikutnya, kita akan memanfaatkan data API ini untuk membangun bot notifikasi saham otomatis ke Telegram. Jangan lewatkan keseruannya!

Similar Posts

Leave a Reply

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