Langsung ke konten utama
Cursor menyediakan alat terintegrasi untuk pengembangan data science melalui lingkungan yang dapat direplikasi, dukungan notebook, dan bantuan kode berbasis AI. Panduan ini membahas pola penyiapan penting untuk alur kerja Python, R, dan SQL.

Pengembangan notebook

Untuk dukungan notebook lengkap, unduh ekstensi Jupyter (id: ms-toolsai.jupyter) yang dipublikasikan oleh ms-toolsai.
Cursor mendukung file .ipynb dan .py dengan eksekusi sel terintegrasi. Tab, Inline Edit, dan Agent berfungsi di dalam notebook, sama seperti di file kode lainnya. Kemampuan utama:
  • Eksekusi sel inline menjalankan kode langsung di dalam antarmuka editor
  • Tab, Inline Edit, dan Agent semuanya memahami pustaka data science termasuk pandas, NumPy, scikit-learn, dan perintah SQL magic

Integrasi database

Database bisa diintegrasikan dengan Cursor lewat dua mekanisme utama: server MCP dan ekstensi.
  • Server MCP bikin agent lo bisa terhubung ke database lo
  • Ekstensi ngintegrasiin IDE lo secara lebih luas dengan database lo

Lewat MCP

Server MCP memungkinkan agent lo buat ngejalanin kueri langsung ke database lo. Ini bikin agent lo bisa milih buat ngekueri database lo, nulis kueri yang sesuai, ngejalanin perintah, dan nganalisis output, semuanya sebagai bagian dari task yang lagi berjalan. Misalnya, lo bisa nyambungin database Postgres ke instance Cursor lo dengan nambahin konfigurasi MCP berikut ke Cursor:
{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-postgres",
        "postgresql://localhost/mydb"
      ]
    }
  }
}
Untuk info lebih lanjut tentang MCP, lihat dokumentasi MCP kami.

Via Extensions

Install ekstensi khusus database (PostgreSQL, BigQuery, SQLite, Snowflake) buat ngejalanin query langsung dari editor. Ini ngilangin context switching antar alat dan bikin AI bisa bantu ngeoptimalin query.
-- Cursor ngasih saran buat indeks, window function, dan optimasi kueri
SELECT
    user_id,
    event_type,
    COUNT(*) as jumlah_event,
    RANK() OVER (PARTITION BY user_id ORDER BY COUNT(*) DESC) as peringkat_frekuensi
FROM events
WHERE created_at >= NOW() - INTERVAL '7 hari'
GROUP BY user_id, event_type;
Gunakan Agents untuk menganalisis query yang lambat, ngasih saran peningkatan performa, atau ngehasilin kode visualisasi buat hasil query. Cursor paham konteks SQL dan bisa ngerekomendasiin tipe chart yang pas berdasarkan struktur data lo.
Snowflake Extension

Visualisasi data

Bantuan AI dari Cursor mencakup pustaka visualisasi data seperti Matplotlib, Plotly, dan Seaborn. Agen bisa ngasilin kode buat visualisasi data, bantu lo eksplor data dengan cepat dan mudah, sambil bikin artefak yang bisa direplikasi dan dibagikan.
import plotly.express as px
import pandas as pd

# AI menyarankan jenis plot yang relevan berdasarkan kolom data
df = pd.read_csv('sales_data.csv')
fig = px.scatter(df, x='advertising_spend', y='revenue',
                 color='region', size='customer_count',
                 title='Pendapatan vs Pengeluaran Iklan per Wilayah')
fig.show()

Pertanyaan yang sering ditanyakan

Bisa pakai Jupyter notebook yang sudah ada? Bisa, Cursor bisa membuka file .ipynb dengan eksekusi sel penuh dan dukungan AI completion. Gimana cara menangani dataset besar yang nggak muat di memori? Pakai library komputasi terdistribusi seperti Dask, atau sambungkan ke cluster Spark lewat koneksi Remote-SSH ke mesin yang lebih besar. Apakah Cursor mendukung file R dan SQL? Ya, Cursor menyediakan bantuan AI dan penyorotan sintaks untuk skrip R (.R) dan file SQL (.sql). Apa cara yang direkomendasikan buat berbagi environment pengembangan? Commit folder .devcontainer ke version control. Anggota tim bisa membangun ulang environment secara otomatis saat membuka proyek. Gimana cara nge-debug data processing pipeline? Pakai debugger terintegrasi Cursor dengan breakpoint di skrip Python, atau manfaatkan Agent buat menganalisis dan ngejelasin transformasi data yang kompleks langkah demi langkah.

Reprodusibilitas lingkungan

Container pengembangan

Container pengembangan bantu kamu memastikan runtime dan dependensi tetap konsisten di seluruh anggota tim dan lingkungan deployment. Ini bisa menghilangkan bug yang spesifik terhadap lingkungan dan mengurangi waktu onboarding anggota tim baru. Untuk pakai container pengembangan, mulai dengan membuat folder .devcontainer di root repository kamu. Selanjutnya, buat file devcontainer.json, Dockerfile, dan requirements.txt.
// .devcontainer/devcontainer.json
{
  "name": "ds-env",
  "build": { "dockerfile": "Dockerfile" },
  "features": {
    "ghcr.io/devcontainers/features/python:1": { "version": "3.11" }
  },
  "postCreateCommand": "pip install -r requirements.txt"
}
# .devcontainer/Dockerfile
FROM mcr.microsoft.com/devcontainers/python:3.11
COPY requirements.txt .
RUN pip install --upgrade pip && \
    pip install -r requirements.txt
# requirements.txt
pandas==2.3.0
numpy
# tambahkan dependensi lain yang kamu butuhkan untuk proyekmu
Cursor bakal otomatis mendeteksi devcontainer dan nge-prompt lo buat buka ulang project lo di dalam container. Atau, lo bisa buka ulang manual di container via Command Palette (Ctrl+Shift+P) dan cari Reopen in Container. Development container ngasih beberapa keuntungan:
  • Isolasi dependency mencegah konflik antaproject
  • Build yang dapat direproduksi memastikan perilaku konsisten di seluruh environment development dan production
  • Onboarding yang simpel bikin anggota tim baru bisa langsung mulai tanpa setup manual

Remote development dengan SSH

Kalau analisis lo butuh resource komputasi tambahan, GPU, atau akses ke dataset privat, sambung ke mesin remote sambil tetap ngejaga environment development lokal lo.
  1. Sediain instance cloud atau akses server on‑premises dengan resource yang diperlukan
  2. Clone repository lo ke mesin remote, termasuk konfigurasi .devcontainer
  3. Connect lewat Cursor: Ctrl+Shift+P → “Remote-SSH: Connect to Host”
Pendekatan ini ngejaga tooling tetap konsisten sambil ngescaled up/down resource komputasi sesuai kebutuhan. Konfigurasi development container yang sama jalan di environment lokal maupun remote.
I