Lewati ke konten utama

Tabnine: Panduan dengan Proyek Demo

Pelajari cara membangun editor gambar AI menggunakan Tabnine dan model Nano Banana dari Google.
Diperbarui 28 Sep 2026  · 12 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Menulis kode bisa terasa melelahkan ketika Anda terjebak pada boilerplate atau detail sintaks kecil. Friksi ini semakin terasa saat Anda bereksperimen dengan model AI baru dan hanya ingin fokus membangun. Tabnine membantu mengatasi perlambatan itu dengan pelengkapan kode berbasis AI langsung di editor Anda.

Di artikel ini, saya akan menjelaskan langkah demi langkah cara menggunakan Tabnine di Visual Studio Code (VS Code) untuk membuat editor gambar AI menggunakan model generasi gambar terbaru dari Google, Nano Banana. Di akhir artikel, kita akan memiliki aplikasi Python yang berfungsi yang memungkinkan pengguna menghasilkan dan mengedit gambar menggunakan prompt.

Bagi Anda yang ingin tetap mengikuti model generasi gambar Google terbaru, saya sarankan membaca panduan Nano Banana 2 kami.

Tangkapan layar aplikasi yang kami bangun dalam tutorial menggunakan Tabnine.

Apa Itu Tabnine?

Tabnine adalah asisten pengodean bertenaga AI yang mirip dengan GitHub Copilot dan Cursor. Ini bekerja di sebagian besar editor populer seperti VS Code, PyCharm, Jupyter, dan lainnya.

Beberapa fitur utama Tabnine meliputi:

- Integrasi Jira: Tabnine dapat terhubung ke Jira, platform populer untuk mengelola proyek rekayasa perangkat lunak. Ini memudahkan pengelolaan pekerjaan dan memungkinkan Tabnine melacak tugas-tugas dalam pipeline.

- Perintah kustom: Tabnine dilengkapi dengan berbagai perintah, seperti "Explain code" atau "Fix code." Ini juga memungkinkan pengguna mendefinisikan perintah kustom berbasis prompt.

- Perilaku kustom: Tabnine memungkinkan Anda mengonfigurasi sebuah prompt yang membimbing cara model AI menjawab. Misalnya, jika Anda memiliki pedoman pengodean yang terdefinisi dengan baik, Anda dapat memberikannya agar kode yang dihasilkan mengikuti pedoman tersebut.

- Autocomplete cerdas: Memberikan saran baris penuh atau blok kode, bukan hanya nama variabel.

- Kontekstual: Tabnine beradaptasi dengan struktur proyek dan gaya pengodean Anda.

- Dukungan untuk banyak model AI: Tabnine mendukung model-model AI paling populer, sehingga mudah memilih mana yang akan digunakan.

- Pembelajaran tim: Dalam paket enterprise, Tabnine dapat belajar dari basis kode privat tim Anda untuk memberikan saran yang disesuaikan dengan pola perusahaan Anda.

Penyiapan Tabnine

Untuk memulai, kita perlu membuat akun Tabnine dan berlangganan salah satu paket mereka. Mereka menawarkan uji coba 14 hari, jadi Anda bisa mencobanya gratis. Setelah masa uji coba, Tabnine berharga $9 per bulan.

Setelah Anda membuat akun Tabnine, buka VS Code. Jika Anda belum memiliki VS Code, instal dari sini. Buka tab ekstensi dan ketik "tabnine" untuk menemukan ekstensi resmi.

Daftar ekstensi Tabnine di antarmuka marketplace VS Code yang menampilkan hasil pencarian dan opsi pemasangan.

Setelah ekstensi terpasang, kita akan diminta untuk masuk. Lalu kita dapat mengakses Tabnine di bilah menu kiri (opsi terakhir pada tangkapan layar ini).

Sidebar Visual Studio Code menampilkan ikon penjelajah berkas, pencarian, kontrol sumber, debugger, ekstensi, dan Tabnine.

Menjelajahi UI Tabnine

Sebelum membangun editor gambar AI kita, mari bahas secara singkat elemen utama Tabnine.

Saat kita membuka Tabnine, kita disambut antarmuka chat AI:

Antarmuka Tabnine di Visual Studio Code yang menampilkan opsi bantuan terkait kode, ekstensi, dan snippet, dengan Gemini 2.5 Pro dipilih di menu.

Di bagian atas, ada pemilih model. Di sini, kita dapat memilih model yang akan digunakan. Saya akan tetap menggunakan bawaan pada tutorial ini, Gemini 2.5 Pro.

Antarmuka pemilihan model AI di Tabnine, menampilkan opsi seperti Claude 3.5 Sonnet, Claude 3.7 Sonnet, Claude 4 Sonnet, Gemini 2.0 Flash, Gemini 2.5 Pro, GPT-4o, dan Tabnine Protected, menyoroti optimasi kinerja dan fitur privasi.

Di bagian bawah, kita dapat mendefinisikan konteks. Ini menentukan apa yang ingin kita perlihatkan kepada model AI saat menjawab.

Antarmuka chat Tabnine di VS Code dengan opsi untuk perintah, cuplikan kode, berkas saat ini, dan pengaturan ruang kerja.

Secara bawaan, konteks mencakup berkas saat ini dan workspace (proyek). Kita dapat menambahkan hal lain, seperti Terminal, yang sangat berguna agar model mengetahui kesalahan saat kita mengalaminya. Kita juga dapat memberikan cuplikan kode tertentu menggunakan karakter "@" lalu mengetik nama fungsi yang ingin kita tambahkan ke konteks.

Di menu hamburger, kita dapat mengonfigurasi Tabnine:

Antarmuka pengaturan Tabnine yang menampilkan opsi untuk integrasi, panjang respons, perilaku kustom, perintah kustom, penyelesaian chat, dan peningkatan produk.

Dua pengaturan yang patut diperhatikan adalah perilaku kustom dan perintah kustom. Di bagian perilaku kustom, kita dapat menyetel prompt yang membimbing model saat menghasilkan kode. Ini berguna ketika kita ingin kode mengikuti pedoman tertentu.

Antarmuka pengaturan perilaku chat kustom Tabnine di VS Code, menampilkan kotak input teks untuk mendefinisikan instruksi guna menyesuaikan respons AI, termasuk contoh prompt untuk panduan langkah demi langkah dalam bahasa Jerman.

Bagian perintah memungkinkan pendefinisian perintah kustom yang dapat dieksekusi menggunakan /<command-name> di antarmuka chat. Perintah pada dasarnya adalah prompt untuk melakukan tindakan tertentu. Ini cara yang baik untuk menghemat waktu dan menghindari pengulangan prompt yang sama berulang kali.

Antarmuka Tabnine untuk mendefinisikan perintah kustom baru, menampilkan kolom untuk memasukkan nama perintah, deskripsi, dan templat prompt, dengan opsi untuk menyimpan atau membatalkan.

Vibe-coding Editor Gambar AI dengan Tabnine

Di bagian ini, saya akan memandu Anda membangun aplikasi Python yang menggunakan Nano Banana, model generasi gambar terbaru Google, untuk mengedit gambar. Pengguna dapat menggunakan prompt untuk menghasilkan gambar atau menggabungkan dan mengedit gambar yang ada dengan prompt tersebut.

Tujuan saya adalah melihat apakah mungkin melakukan vibe-coding untuk aplikasi ini, artinya membangunnya sepenuhnya dari prompt sejak awal.

Semua kode yang dihasilkan dalam tutorial ini dapat ditemukan di repositori GitHub ini.

Membuat UI dasar

Untuk memulai, saya ingin membuat UI dasar tempat pengguna dapat memilih gambar dari komputer mereka dan mengetik prompt. Saya membuat folder baru dan membuka VS Code di folder tersebut. Saya tidak membuat berkas apa pun. Ini adalah prompt pertama saya:

Prompt desain antarmuka pengguna di Tabnine, menyarankan pembuatan antarmuka untuk memilih gambar dari komputer.

Saya baru menyadari setelahnya bahwa saya lupa menyebutkan bahwa saya sedang membangun aplikasi Python. Entah bagaimana, saya beruntung, dan itu yang diasumsikan model AI. Ia menanggapi prompt saya dengan menjelaskan perintah yang akan dijalankan dan kode yang akan ditulisnya.

Untuk menerapkan perubahan, kita perlu menerapkannya satu per satu atau mengklik tombol "Apply All" di bagian bawah layar. Perlu dicatat bahwa beberapa perubahan melibatkan eksekusi perintah. Dalam kasus tersebut, perintah menginstal paket Python yang diperlukan dan membuat berkas serta folder untuk menyimpan kode.

Ini tampilan antarmukanya saat saya menjalankan skrip yang dibuatnya:

Antarmuka pengeditan gambar AI dengan input teks yang menampilkan path berkas ke gambar dan tombol "Select Images" di bagian bawah.

Di bagian atas, ada daftar semua gambar yang dipilih dan tombol untuk membuka pemilih berkas. Pengguna dapat memilih satu atau beberapa berkas, dan berkas yang dipilih akan didaftarkan. Namun, saat berkas baru dipilih, daftar lama ditimpa, jadi saya memintanya untuk menambahkan berkas baru ke daftar alih-alih menghapus yang lama.

Selanjutnya, saya ingin meningkatkan UI untuk menampilkan thumbnail gambar alih-alih path-nya:

Prompt UI di antarmuka pengodean yang menyarankan untuk menampilkan thumbnail alih-alih path gambar dengan solusi kode yang melibatkan pustaka Pillow untuk pemrosesan gambar.

Hasilnya seperti ini:

Antarmuka editor gambar AI pada latar bertema gelap yang menampilkan thumbnail gambar dan tombol "Select Images" di bagian bawah, dirancang untuk interaksi pengguna dengan kemampuan pemilihan berkas.

Fitur penting lainnya adalah kemampuan untuk dengan mudah menghapus gambar:

Prompt UI di antarmuka Tabnine dengan perintah untuk mengaktifkan penghapusan gambar dari pilihan.

Dengan prompt ini, kode diubah sehingga saat kita klik kanan pada thumbnail, muncul menu pop-up yang memungkinkan kita menghapus gambar. Saya menginginkannya bekerja seperti ini, jadi saya meminta perubahan tersebut:

Teks prompt di antarmuka pengodean AI untuk membuat menu pop-up klik kanan dengan opsi hapus.

Ketika saya mencoba aplikasi setelah perubahan ini, penghapusan gambar tidak berfungsi lagi. Saya curiga karena saya menggunakan Mac, tetapi saya tidak mengatakannya. Saya ingin melihat apakah ia bisa mengetahuinya sendiri.

Antarmuka chat yang menampilkan pengguna melaporkan masalah fungsi klik kanan tidak berfungsi, diikuti tanggapan bahwa ini adalah masalah lintas platform umum dengan tkinter.

Ini bekerja dengan sangat baik, dan saya bisa klik kanan pada gambar untuk menghapusnya:

Langkah terakhir pada UI dasar adalah menambahkan kotak teks untuk prompt.

Prompt UI dari asisten pengodean AI yang menyarankan menambahkan input teks multiline berlabel "Prompt" di bawah pratinjau gambar.

Dengan ini, UI dasar selesai. Kita bisa memilih gambar dan mengetik prompt. Namun, kita belum bisa menghasilkan gambar. Itu yang akan kita implementasikan di bagian berikutnya.

Mengintegrasikan Nano Banana

Agar kode tetap terorganisasi, saya memintanya membuat skrip Python baru dengan fungsi yang menggunakan API generatif AI Google dengan model gambar terbaru mereka untuk menghasilkan gambar.

Prompt untuk membuat skrip Python guna menghasilkan gambar menggunakan model Nano Banana Google, dengan pengelolaan kunci API melalui berkas .env.

Ia membuat skrip baru dan berkas .env. Berkas ini digunakan untuk menyimpan kunci API yang diperlukan untuk terhubung ke API Google. Jika Anda mengikuti langkahnya, Anda perlu membuat kunci API di sini dan menempatkannya di berkas .env.

Kemudian, saya memintanya menambahkan tombol baru ke antarmuka untuk memanggil fungsi pembuat gambar. Tombolnya ditambahkan, tetapi ketika saya mengkliknya, saya mendapat error. Jadi, saya memastikan menambahkan terminal ke konteks sebelum memintanya memperbaiki error tersebut.

Antarmuka Tabnine di Visual Studio Code yang menampilkan scope terpilih: Current file, Workspace, dan Terminal, dengan opsi untuk menambah atau mengatur ulang scope.

Pesan kesalahan yang ditampilkan di antarmuka Tabnine saat eksekusi skrip.

Ia melakukan beberapa pembaruan pada berkas, tetapi error tetap ada. Saya mencoba memintanya memperbaiki, namun tidak berhasil. Ia mulai mengatakan model AI tidak ada, dan ingin mengubah kode ke arah yang saya tahu tidak tepat.

Untuk mengatasinya, saya harus memperbaiki kode secara manual. Saya pergi ke situs resmi Gemini dan menyalin serta menyesuaikan contoh kode dari sana.

Inilah salah satu alasan mengapa saya pikir penting memiliki pengetahuan dasar tentang pengodean, bahkan saat vibe coding. Sering terjadi kita menemui sesuatu yang tidak bisa diperbaiki oleh model AI, dan mengetahui cara pemrograman penting agar kita paham ketika apa yang dikatakan model tidak benar dan kita bisa memperbaikinya. Alat seperti ini seharusnya selalu digunakan untuk mempercepat proses, bukan menggantikannya sepenuhnya.

Namun, sekalipun harus menulis kode ini secara manual, Tabnine tetap membantu berkat kemampuan autocompletenya. Misalnya, saat saya ingin mengonversi path gambar yang dipilih menjadi gambar untuk diberikan ke model, saya cukup mulai mengetik apa yang saya inginkan dan mendapat kode yang benar:

Cuplikan kode yang menggambarkan fitur autocomplete Tabnine.

Kita juga melihat di atas nama fungsi bahwa Tabnine menyediakan alat untuk mengedit, menguji, memperbaiki, menjelaskan, dan mendokumentasikan fungsi. Misalnya, saya menggunakan fungsi dokumentasi untuk mendokumentasikan kode, dan ia menampilkan diff dengan perubahan yang direncanakan, yang kemudian bisa saya terima atau tolak:

Hasil akhir

Aplikasi kini fungsional dan siap digunakan. Mari coba membuat action figure untuk seseorang dengan aksesori yang diambil dari gambar lain:

Berikut hasilnya:

Pengujian dengan Tabnine

Sangat penting menulis pengujian otomatis saat mengerjakan proyek. Salah satu fitur Tabnine adalah membantu kita menulis pengujian ini.

Fitur ini tersedia di tab "Test" atau dengan mengklik opsi "Test" di atas definisi fungsi. Saat kita melakukannya, Tabnine akan membuat rencana pengujian untuk fungsi tersebut.

Antarmuka Tabnine di VS Code yang menampilkan pembuatan rencana pengujian baru dengan opsi untuk meninjau berkas uji yang ada atau membuat yang baru, bersamaan dengan fitur pengeditan kode Python.

Rencana pengujian terdiri dari skenario dengan perilaku yang diharapkan dari fungsi. Berikut beberapa skenario yang diidentifikasi Tabnine untuk fungsi kita:

Antarmuka rencana pengujian yang menampilkan modul terpilih dan path berkas uji, dengan kasus uji yang disarankan untuk generator gambar AI.

Untuk menghasilkan pengujian untuk skenario tertentu, kita cukup mengkliknya. Ia akan menghasilkan fungsi pengujian untuk skenario tersebut, yang kemudian bisa kita integrasikan ke dalam rangkaian pengujian.

Saat saya menerapkan perubahan ini, berkas uji hanya berisi fungsi uji dan tidak ada yang lain. Import dan kelas pengujian pembungkusnya tidak ada. Saya harus kembali ke tab "Chat" untuk memintanya menyelesaikan implementasi uji. Setelah itu, saya mengalami error karena nama berkas yang dibuatnya salah. Seperti sebelumnya, saya memberi tahu bahwa terjadi error, dan ia memperbaikinya. Sekarang pengujiannya berjalan dengan sukses.

Saat saya menambahkan uji lain setelah ini, semuanya berjalan baik.

Tangkapan layar yang menunjukkan output terminal dengan eksekusi unittest Python. Menampilkan pesan kesalahan: "An error occurred during Gemini API call: Prompt cannot be empty." Tes menjalankan satu pengujian dalam 0.001 detik, menghasilkan status "OK" meskipun ada error prompt.

Kesimpulan

Tabnine menunjukkan potensinya sebagai alat yang kuat untuk pengembangan cepat dengan integrasi yang mudah ke editor kode populer. Kemampuan pengodean berbantuan AI mempercepat proses, memungkinkan pengembang fokus pada inovasi alih-alih tugas berulang.

Namun, upaya saya untuk membangun aplikasi murni melalui vibe-coding menyoroti pentingnya pemahaman dasar yang kuat tentang prinsip pengodean. Ketergantungan buta pada kode yang dihasilkan AI tanpa memverifikasi kesesuaiannya dapat menimbulkan komplikasi, membuat pengembang rentan terhadap kesalahan yang mungkin tidak sepenuhnya dipahami.

Tabnine sebagian besar berfungsi dengan efisien, namun sering terasa seolah model AI yang mendasari adalah penggerak utamanya, sebanding dengan alat lain seperti GitHub Copilot. Meskipun Tabnine memang alat yang berguna, pengalaman ini menegaskan nilai tak tergantikan dari pengetahuan pengodean tradisional untuk memastikan pengembangan aplikasi perangkat lunak kompleks yang efektif dan berkelanjutan.


François Aubry's photo
Author
François Aubry
LinkedIn
Insinyur full-stack & pendiri di CheapGPT. Mengajar selalu menjadi passion saya. Sejak masa awal sebagai mahasiswa, saya aktif mencari peluang untuk membimbing dan membantu mahasiswa lain. Passion ini mendorong saya menempuh studi PhD, di mana saya juga menjadi asisten pengajar untuk mendukung kegiatan akademik saya. Selama tahun-tahun itu, saya menemukan kepuasan besar dalam suasana kelas tradisional, membangun koneksi dan memfasilitasi proses belajar. Namun, dengan hadirnya platform pembelajaran daring, saya melihat potensi transformatif pendidikan digital. Bahkan, saya terlibat aktif dalam pengembangan salah satu platform tersebut di universitas kami. Saya sangat berkomitmen untuk mengintegrasikan prinsip-prinsip pengajaran tradisional dengan metodologi digital yang inovatif. Tujuan saya adalah menciptakan kursus yang tidak hanya menarik dan informatif, tetapi juga mudah diakses oleh para pembelajar di era digital ini.
Topik
Kecerdasan Buatan
Large Language Models

Pelajari AI dengan kursus-kursus ini!

{count, plural, one {Kursus} other {Kursus}}

Pengembangan Perangkat Lunak dengan Windsurf

{hours} jam {minutes} menit
3.1K
Tingkatkan kemampuan pemrograman Anda dengan Windsurf, IDE bertenaga AI yang membantu Anda membangun, mendebug, dan mengimplementasikan kode lebih cepat.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

{count, plural, one {blog} other {blogs}}

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

{count, plural, one {blog} other {blogs}}

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

{count, plural, one {blog} other {blogs}}

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

{count, plural, one {blog} other {blogs}}

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

Lihat SelengkapnyaLihat Selengkapnya