{count, plural, one {Program} other {Program}}
Belakangan ini, model open-source semakin marak, dan untuk pengeditan kode, pemain seperti Cursor AI dan GitHub Copilot memungkinkan pengguna mencoba asisten kode AI mereka secara gratis, tetapi kita cepat menemui paywall saat menggunakannya untuk membangun proyek nyata.
Gemini Code Assist, asisten kode AI dari Google, baru saja menghadirkan paket gratis yang sangat dermawan. Ini tersedia dalam bentuk ekstensi Visual Studio Code dan JetBrains.
Dalam tutorial ini, kita mempelajari cara menyiapkannya di Visual Studio Code dan cara menggunakannya dengan beberapa contoh praktis.
Apa Itu Asisten Kode AI?
Asisten kode AI menggunakan AI untuk membantu developer menulis kode lebih efisien dengan menyarankan potongan kode, mengotomatiskan tugas berulang, dan memberikan koreksi waktu nyata di lingkungan pengembangan seperti Visual Studio Code. Ini memungkinkan developer menghabiskan lebih sedikit waktu pada tugas rutin dan lebih banyak pada pekerjaan yang kompleks dan kreatif.
Meskipun chatbot dapat membantu tugas pengodean, penggunaannya bisa merepotkan karena mengharuskan kita bolak-balik antara IDE dan platform AI, melibatkan banyak salin-tempel kode.
Asisten kode AI terintegrasi langsung ke dalam lingkungan pengodean. Ini memungkinkan mereka memahami konteks kode kita dan menghindari keharusan memberikan potongan kode secara eksplisit saat kita bertanya. Ini juga memberi kemampuan kepada asisten untuk langsung memodifikasi kode, sehingga jauh lebih cepat mengintegrasikan perubahan.
Bagaimana Cara Memasang Gemini Code Assist?
Dalam tutorial ini, kita akan menggunakan Gemini Code Assist bersama Visual Studio Code. Gemini Code Assist adalah ekstensi Visual Studio, jadi kita dapat memasangnya seperti ekstensi lainnya:
- Klik tab ekstensi di panel kiri.
- Ketik "gemini code assist" di kotak pencarian.
- Klik tombol "Install".

Setelah terpasang, tab Gemini akan muncul di panel kiri. Untuk mulai menggunakan asisten kode, klik tab dengan logo Gemini tersebut dan masuk ke akun Google Anda.

Menguji Gemini Code Assist
Untuk menguji Gemini Code Assist, saya memutuskan menganalisis dataset terbaru lagu-lagu Spotify menggunakan Python. Dataset yang saya gunakan berasal dari Kaggle dan tersedia di sini.
Untuk memulai, buat sebuah folder dan ekstrak file songs.csv ke dalam folder tersebut. Lalu buka folder itu di Visual Studio Code. Rencananya adalah mulai tanpa kode dan membiarkan Gemini Code Assist menuliskan semuanya untuk kita.
Mulai
Prompt pertama yang saya kirim adalah membuat fungsi Python yang memuat data ke dalam DataFrame pandas.

Biasanya, asisten kode bekerja dengan memodifikasi kode yang ada dan menampilkan diff dengan perubahan baru. Karena saat ini belum ada kode, kita dapat memintanya membuat file baru dengan kode yang diusulkan dengan mengklik tombol terakhir di pojok kanan atas blok kode di jendela chat.

Lalu kita ganti nama filenya menjadi songs.py.
Menjalankan kode
Kita dapat menjalankan kode menggunakan terminal terintegrasi di Visual Studio Code dengan perintah:
python songs.py
Pada kasus ini, kita mendapat error:
ModuleNotFoundError: No module named 'pandas'
Ini karena skrip songs.py mencoba menggunakan pandas, yang belum terpasang. Ini kesempatan bagus untuk memeriksa apakah Gemini Code Assist menyadari adanya terminal di dalam Visual Studio Code atau tidak.
Saya memintanya menjelaskan cara memperbaiki error di terminal. Sayangnya, ia memberikan jawaban generik yang menunjukkan bahwa ia tidak dapat mengakses keluaran terminal. Alternatifnya adalah menyalin dan menempelkan teks error ke chat AI, yang sedikit lebih merepotkan. Namun benar saja, dengan melakukan itu kita mendapat jawaban yang tepat bahwa kita perlu menjalankan perintah pip install pandas di terminal.
Ini merupakan keterbatasan yang disayangkan karena, sebagai software engineer, bertanya tentang error yang saya lihat di terminal adalah salah satu kasus paling umum saat saya menggunakan AI.
Setelah memasang pandas, kita dapat menjalankan kode dengan sukses.

Mengajukan pertanyaan umum
Gemini Code Assist tidak terbatas pada pertanyaan pengodean. Kita juga bisa bertanya hal-hal umum atau terkait data. Mari coba memahami data yang kita miliki di file songs.csv dengan memintanya mencantumkan semua kolom:

Dalam jawabannya, ia membuat fungsi yang mencantumkan kolom, tetapi juga menampilkan daftar langsung di jawabannya:

Sering kali, saat menggunakan Gemini Code Assist, tampaknya ia agak kesulitan membedakan kapan saya bertanya hal umum yang cukup dijawab secara tekstual dan kapan saya ingin ia menulis kode. Ini masalah kecil karena kita bisa mengabaikan bagian kode, namun ini cukup membuat chat menjadi ramai.
Meminta fungsionalitas baru
Dari jawaban sebelumnya, kita lihat ada kolom track_popularity. Mari minta Gemini Code Assist mengimplementasikan fungsi baru yang mendapatkan lagu paling populer.

Saat Gemini Code Assist menulis kode dalam jawaban, fungsinya tidak otomatis terintegrasi ke kode kita. Untuk melakukannya, klik tombol panah ganda "Diff with Open File." Pastikan sebelum mengklik, file tujuan perubahan adalah file yang saat ini terbuka di editor; jika tidak, perubahan akan digabungkan ke file yang salah.

Setelah menekan tombol, kita disajikan diff. Di kiri kita melihat keadaan kode saat ini dan di kanan keadaan barunya. Baris yang disorot merah menunjukkan baris yang akan dihapus atau diubah, sedangkan yang disorot kuning adalah penambahan atau perubahan.

Kita dapat melihat bilah gulir di kanan untuk menemukan perubahan ini. Sering kali, beberapa lokasi dalam file memerlukan perubahan, dan penting untuk meninjau semuanya sebelum menerima perubahan.

Dengan mengarahkan kursor ke atas perubahan, kita melihat panah di tengah:
![]()
Menurut saya, ikonnya kurang intuitif, tetapi mengklik panah ini akan menentukan bahwa kita tidak ingin memasukkan perubahan spesifik itu. Setelah memutuskan mana yang kita inginkan, kita dapat memasukkan kode baru dengan mengklik tombol "Accept” di bagian atas.

Autocomplete
Sejauh ini, kita berinteraksi dengan Gemini Code Assist menggunakan chat AI. Ini sudah menjadi alur kerja yang jauh lebih baik daripada harus menyalin-tempel kode bolak-balik antara platform AI dan editor kode karena semuanya terintegrasi di jendela yang sama dan kita melihat diff, yang memudahkan melihat perubahan baru. Namun, itu bukan satu-satunya kemampuan Code Assist.
Saat kita menulis kode, asisten akan menganalisis apa yang kita tulis dan memberikan saran kode yang dapat diintegrasikan dengan menekan sebuah tombol.
Kolom track_popularity dalam dataset menyimpan popularitas sebuah track. Mari kita tulis fungsi yang menampilkan popularitas lagu-lagu oleh artis tertentu, diurutkan berdasarkan tanggal rilisnya. Kita dapat menggunakan track_album_release_date untuk mengurutkan.
Saat kita menulis fungsi, Gemini Code Assist akan menyarankan penyelesaian otomatis. Saat kita mulai menulis tanda tangan fungsi, Gemini Code Assist akan menebak apa yang kita inginkan dari nama fungsi:

Untuk memasukkan saran, cukup tekan tombol Tab pada keyboard. Selanjutnya, kita ingin membuat salinan DataFrame yang hanya berisi lagu dari artis yang diberikan:

Terkadang, saran kode tidak sesuai dengan yang kita inginkan. Dalam kasus ini, kita tetap perlu menulis manual apa yang kita butuhkan atau, jika cukup mendekati, menerimanya lalu mengeditnya. Dalam contoh ini, langkah berikutnya adalah mengonversi track_album_release_date ke format tanggal. Namun entah mengapa, Gemini Code Assist hanya ingin mengambil tahun rilis, jadi saya menulis baris tersebut secara manual.

Berikutnya, saya ingin mengurutkan lagu berdasarkan tanggal:

Terakhir, saya mengembalikan skor popularitas:

Menargetkan kode tertentu
Kita dapat menargetkan kode tertentu dengan terlebih dahulu memilihnya di editor. Saat kode dipilih, beberapa prompt otomatis akan disarankan, seperti "Explain this" atau "Generate unit tests."

Mampu memilih potongan kode dan menanyakan apa fungsinya atau bagaimana cara kerjanya sangat berguna saat memasuki codebase baru. Saya merasa ini sering menjadi langkah paling sulit saat bekerja pada produk baru dengan codebase yang sudah ada.
Kita juga dapat memintanya memodifikasi kode dengan prompt kustom. Misalnya, kita bisa memintanya meningkatkan fungsi analyze_artist_popularity_over_time() yang baru saja kita buat:

Dalam kasus ini, ia meningkatkan fungsi dengan menambahkan beberapa pengecekan untuk mencegah error.
Batasan Paket Gratis
Paket gratis Gemini Code Assist untuk individu memiliki beberapa batasan dibandingkan dengan paket Standard dan Enterprise:
- Kustomisasi dan integrasi terbatas: Paket gratis tidak memungkinkan Anda menghubungkan repositori kode sumber privat untuk saran kode yang dikustomisasi, yang tersedia di paket Enterprise.
- Akses fitur: Fitur lanjutan tertentu di Gemini for Firebase dan Apigee, serta otomasi berbantuan AI tingkat lanjut di Application Integration, hanya tersedia di paket Standard dan Enterprise.
- Keamanan dan kepatuhan: Paket gratis tidak menyertakan fitur keamanan tingkat enterprise dan alat manajemen, serta ganti rugi kekayaan intelektual (IP indemnification), yang disertakan pada penawaran Standard dan Enterprise.
- Batas operasional: Paket gratis menawarkan batas harian 6.000 permintaan terkait kode dan 240 permintaan chat, yang mungkin cukup untuk penggunaan individu namun bisa membatasi untuk proyek tim yang lebih besar.
- Fitur dan dukungan enterprise: Fitur konteks enterprise untuk pembuatan API dan analisis kualitas aplikasi tingkat lanjut tidak tersedia di paket gratis.
Untuk detail lebih lanjut, kunjungi situs Gemini Code Assist.
Kesan Saya tentang Gemini Code Assist
Saya mendapati Gemini Code Assist bekerja cukup baik secara keseluruhan. Berdasarkan pengalaman saya, kinerjanya mirip dengan para pesaing utamanya, Cursor dan Copilot. Ini sangat mengesankan untuk sebuah alat gratis. Paket gratisnya mendukung hingga 6.000 permintaan terkait kode dan 240 permintaan chat setiap hari. Ini seharusnya lebih dari cukup untuk sebagian besar programmer.
Fitur menarik lain yang tidak kita bahas di sini adalah integrasi GitHub mereka. Gemini Code Assist untuk GitHub membantu meninjau pull request untuk menemukan bug dan masalah gaya, serta menyarankan perubahan dan perbaikan kode secara otomatis. Ini memungkinkan developer lebih fokus pada penulisan kode. Jika membutuhkan bantuan, pengguna bisa bertanya kepada Gemini dengan meninggalkan komentar di pull request mereka.
Satu masalah yang saya temukan adalah ia tampak agak kesulitan dengan permintaan masa lalu. Saya sering meminta beberapa perubahan lalu memutuskan mengambil arah berbeda. Namun, pada iterasi berikutnya, ia terus ingin mengintegrasikan perubahan tersebut. Salah satu contohnya adalah fungsi yang kita tulis untuk menampilkan popularitas sebuah track dari waktu ke waktu. Awalnya, saya ingin membuat plot dari data ini lalu berubah pikiran. Namun, kode untuk membuat plot itu terus ditambahkan ke permintaan lain yang tidak terkait di masa depan, yang agak mengganggu.
Bahaya Asisten Kode
Belakangan, saya melihat lebih banyak programmer menyuarakan kekhawatiran, seperti dalam thread Reddit ini, tentang bagaimana penggunaan asisten kode seperti Cursor atau Copilot perlahan membuat mereka lupa cara menulis kode.
Tidak diragukan lagi, alat-alat ini memberikan peningkatan produktivitas yang luar biasa dan tidak menggunakannya membuat kita berada pada posisi yang kurang menguntungkan dibanding rekan-rekan kita. Namun, saya pikir segala sesuatu di hidup perlu keseimbangan, dan untuk alat pengodean AI, mudah terjebak dalam kebiasaan menerima begitu saja kode yang diberikan. Paling tidak, kita perlu meluangkan waktu untuk membaca dan memahami apa yang dihasilkannya.
Penggunaan penyelesaian kode juga tampak seperti jalan tengah yang lebih baik karena kita setidaknya perlu mulai menulis sesuatu untuk membantu mempertahankan ingatan otot dan mencegah programmer terlalu bergantung pada alat AI. Penyelesaian kode juga cenderung memberikan potongan kode yang lebih kecil, sehingga lebih mudah dicerna.
Kesimpulan
Alat AI terus berkembang, dengan biaya yang menurun dan aksesibilitas yang meningkat. Gemini Code Assist mencerminkan tren ini dengan menawarkan alat bantuan kode AI yang tangguh secara gratis.
Inisiatif dari Google ini menurunkan hambatan bagi para developer, memungkinkan hampir siapa pun menggunakan bantuan AI yang kuat dalam tugas pengodean mereka. Sangat patut diapresiasi bahwa Gemini Code Assist menyediakan fitur yang setara, bahkan kompetitif, dengan layanan berbayar seperti Cursor dan Copilot. Dengan hingga 6.000 permintaan terkait kode dan 240 permintaan chat per hari, ini menawarkan dukungan yang lebih dari cukup bagi developer individu atau proyek kecil.

