Home
Blog
TutorialsEventsProjectsAboutContact

Menu

Departures

Latest posts

  1. 26 OCTEDTPencitraan SWIR untuk Inspeksi dan Pemetaan ModernOn time
  2. 26 OCTNWSPlanet Luncurkan 20 Satelit Bersama SpaceX ke OrbitOn time
  3. 26 OCTNWSPeneliti Kembangkan Indeks Spektral Tanpa SWIR untuk Pemetaan MangroveOn time
  4. 26 OCTNWSUkraina Kembangkan Drone Relai Pemancar SinyalOn time
  5. 26 OCTNWSNigeria Berencana Beli 12 Drone Tempur Aksungur Asal TurkiOn time
All departures
5 Kesalahan AI dalam Pair Programming yang Harus Programmer Ketahui

EDTLogbook entry· 9 min read

5 Kesalahan AI dalam Pair Programming yang Harus Programmer Ketahui

AI seperti ChatGPT dan GitHub Copilot sangat membantu coding, tapi ada 5 kesalahan umum yang harus dihindari agar kolaborasi dengan AI lebih efektif dan produktif.

Liu Purnomo
Oleh Liu PurnomoDi tulis tanggal 28 Juli 2025
Editorial
9 min read

Sponsored

Flight Briefing · Newsletter

Suka tulisan ini? Dapatkan artikel berikutnya lewat email.

Tanpa spam. Berhenti kapan saja lewat link di setiap email.

Frequencies

  • #AI
  • #Pair Programming
  • #Web Development
  • #Development Tips

Sponsored

Liu PurnomoCallsign · LPLiu Purnomo

Pendiri Drone Indonesia, direktur Remote Pilot Indonesia, software engineer, dan penulis tiga buku tentang drone.

Selengkapnya
seedbacklinkDMCA.com Protection StatusBanner BlogPartner Backlink.co.id

NAVJelajahi

  • Beranda
  • Blog
  • Tutorial
  • Events
  • Projects
  • Buku

INFTentang

  • Tentang Saya
  • Kerja Sama
  • Kontak
  • Buku Tamu
  • Bio Links
  • Traktir Author

SYSOthers

  • Changelog
  • Systems
  • Sitemap
  • Kalkulator GSD
  • QR Code Generator

Flight Briefing · Newsletter

Artikel pilihan, langsung ke inbox.

Catatan terbaru soal drone, regulasi penerbangan, dan software, dikirim sesekali saja.

Tanpa spam. Berhenti kapan saja lewat link di setiap email.

0927

Tower online · Jakarta (WIB)

© 2026 Liu Purnomo. Some rights reserved.

Kebijakan PrivasiKetentuan Penggunaan
Ikuti tulisan baru

Kecuali dinyatakan lain, tulisan di situs ini dilisensikan di bawah Creative Commons Attribution 4.0 International (CC BY 4.0). Anda boleh mengutip, menyalin, menerbitkan ulang, dan menjadikannya referensi, termasuk untuk keperluan komersial, selama menyebutkan Liu Purnomo sebagai penulis dan menautkan ke artikel aslinya. Foto atau materi pihak lain, logo, dan merek dagang tidak termasuk. Ketentuan lengkap

0
0

Pair programming dengan AI—seperti ChatGPT, GitHub Copilot, atau Claude—udah jadi tren yang nggak bisa dihindari di kalangan developer. Gue sendiri hampir setiap hari pakai AI buat bantuin coding, dari nulis fungsi sederhana sampai brainstorming arsitektur sistem yang kompleks.

Tapi jujur, di awal-awal gue banyak banget bikin kesalahan. Kadang hasilnya malah bikin kerjaan tambah ribet, atau worse—introduce bugs yang susah di-trace. Setelah beberapa bulan trial and error, akhirnya gue nemuin pola kesalahan yang sering terjadi dan cara mengatasinya.

Kalau lo lagi mulai explore AI untuk coding atau udah pakai tapi merasa hasilnya kurang maksimal, artikel ini bakal bantu lo avoid kesalahan-kesalahan yang gue (dan banyak developer lain) pernah alami.

1. Memberikan Context yang Setengah-setengah

Apa yang Sering Kejadian

Ini kesalahan paling umum dan paling bikin frustasi. Gue dulu sering banget minta AI dengan prompt kayak gini:

Belajar PHP untuk Pemula: Konsep Server-Side, XAMPP, dan Hello World

Baca juga

Belajar PHP untuk Pemula: Konsep Server-Side, XAMPP, dan Hello World

Web Development

> "Buatin validasi email dong"

Terus AI ngasih kode regex standar. Gue pakai, eh ternyata nggak sesuai requirement. Kenapa? Karena gue nggak jelasin kalau sistem gue harus reject disposable email, atau harus support international domain.

AI itu bukan peramal. Dia cuma bisa ngasih solusi yang sebaik data yang lo kasih. Garbage in, garbage out.

Cara yang Lebih Baik

Sekarang gue selalu kasih context selengkap mungkin:

Sponsored

Lihat bedanya? Dengan context yang jelas, AI bisa ngasih solusi yang langsung bisa dipake tanpa banyak revisi.

Kalau lo lagi develop web app, pastikan juga lo familiar dengan manajer package JavaScript yang lo pakai biar bisa kasih info yang lebih spesifik ke AI.

2. Copy-Paste Tanpa Mikir

Apa yang Sering Kejadian

Ini yang paling bahaya. Gue pernah lihat junior developer copy-paste kode dari AI langsung ke production codebase tanpa code review. Hasilnya? Security vulnerability yang baru ketahuan pas udah di production.

Kode dari AI itu bisa jadi:

Apa Itu API dan Bagaimana Cara Kerjanya untuk Pemula

Baca juga

Apa Itu API dan Bagaimana Cara Kerjanya untuk Pemula

Web Development

AI itu tool, bukan pengganti critical thinking lo.

Cara yang Lebih Baik

Setiap kali AI ngasih kode, gue selalu:

Kalau lo kerja dengan Git, selalu review diff sebelum commit. Jangan asal accept semua changes dari AI.

Sponsored

3. Ngabaiin Error Handling

Apa yang Sering Kejadian

AI itu cenderung optimis. Dia sering ngasih kode yang assume everything will work perfectly—kayak API selalu respond, database selalu available, user input selalu valid.

Gue pernah pakai kode AI buat fetch data dari external API. Di development works fine. Begitu production? Crash karena API down dan nggak ada error handling.

Real world itu messy. Users itu unpredictable. Networks itu unreliable.

Cara yang Lebih Baik

Sekarang gue selalu explicitly minta AI untuk consider error scenarios:

Cara Menulis Variabel di TypeScript yang Benar dan Rapi

Baca juga

Cara Menulis Variabel di TypeScript yang Benar dan Rapi

Web Development

Pertanyaan-pertanyaan yang gue sering tanyain ke AI:

Think like a QA engineer yang evil. Try to break your code.

4. Nggak Mikirin Long-term Maintainability

Apa yang Sering Kejadian

AI itu solve problem for now. Tapi kode yang lo tulis sekarang bakal lo (atau orang lain) maintain 6 bulan, 1 tahun, atau bahkan 5 tahun ke depan.

Gue pernah pakai kode AI yang technically works tapi:

Sponsored

Fast forward 3 bulan kemudian pas mau add feature baru? Nightmare. Hampir rewrite from scratch.

Cara yang Lebih Baik

Sekarang gue selalu think ahead:

Tanyain juga ke AI:

Good code is code that's easy to change. Bukan code yang cepat ditulis tapi susah di-maintain.

Baca juga

Ringkasan Isi Blog Ini

Web Development · 21 menit baca

5. Pakai AI Cuma Buat Quick Answers

Apa yang Sering Kejadian

Banyak developer pakai AI cuma kayak Google yang bisa ngomong:

> "Gimana cara sort array di JavaScript?" > "Apa itu closure?" > "Syntax untuk async/await?"

Padahal AI bisa jadi brainstorming partner yang jauh lebih valuable.

Cara yang Lebih Baik

Gue sekarang leverage AI untuk discussions yang lebih meaningful:

Sponsored

Architecture Decisions:

Problem-Solving:

Trade-offs Discussion:

AI itu bisa jadi sounding board yang nggak akan judge kalau lo nanya hal "bodoh". Use it untuk actually learn, bukan cuma copy-paste.

Pencitraan SWIR untuk Inspeksi dan Pemetaan Modern

Baca juga

Pencitraan SWIR untuk Inspeksi dan Pemetaan Modern

Editorial

Kalau lo developer pemula yang baru belajar coding, baca juga tips di artikel 5 Proyek Wajib Biar Kamu Layak Disebut Developer Beneran buat complement pembelajaran lo dengan AI.

Tips Bonus: Maksimalkan Kolaborasi dengan AI

1. Iterative Refinement

Jangan expect hasil perfect di first try. Treat it like actual pair programming:

Ini lebih natural dan hasilnya lebih on-point daripada coba jelasin everything di satu prompt giant.

2. Minta Explanations, Bukan Cuma Code

Understanding > Just working code.

Sponsored

3. Generate Tests Bareng

AI surprisingly good at thinking about test scenarios:

Testing itu bagian dari development, bukan afterthought.

4. Documentation as Code

Future you (dan teammates) akan thank you for this.

5. Continuous Learning Mindset

Setiap interaksi dengan AI adalah kesempatan belajar:

Don't just collect solutions. Collect knowledge.

Real Talk: AI Bukanlah Silver Bullet

Gue harus jujur: AI itu amazing tool, tapi dia punya limitations.

AI nggak bisa:

AI bisa:

Use AI as a force multiplier, not a replacement for thinking.

Kesimpulan: Own Your Code

Di akhir hari, lo yang sign off the code. Lo yang deploy ke production. Lo yang on-call kalau ada issue di 3 AM.

AI kasih suggestion. Lo yang decide.

Gunakan AI untuk:

Jangan gunakan AI untuk:

Your value sebagai developer bukan dari seberapa cepat lo bisa copy-paste code dari AI. Tapi dari:

Fuel the next flight

Suka dengan tulisan ini?

Kalau artikel ini membantu, traktir saya secangkir kopi. Dukunganmu bikin saya bisa terus menulis dan berbagi lebih banyak.

Traktir kopi

AI adalah assistant yang powerful. Tapi lo tetap yang drive the car.

Happy coding, dan gunakan AI dengan bijak! 🚀

Comments

You must be logged in to comment

No comments yet. Be the first to comment!

Crew ID · Flight deckCaptain
Photo of Liu Purnomo

Written by

Liu Purnomo

I'm a Software Engineer who turns coffee into code, and sometimes I even make interactive web things that work! ☕💻 I'm also a certified multitasker: an Expert Drone Pilot (ask me for aerial selfies!), a Certified Instructor/Public Speaker (I talk a lot), and a Seasonal Runner who believes in running only when the weather is perfect. Let's connect!

Callsign
LPI
Handle
@liupurnomo
Home base
Jakarta, Indonesia
On dutyView profile
Connecting flights

Related posts

More articles headed the same way as this one.

  1. Gate 01EDTWDE18 Oct 2026Belajar PHP untuk Pemula: Konsep Server-Side, XAMPP, dan Hello WorldPanduan dasar belajar PHP untuk pemula, mulai dari memahami server-side scripting, mengonfigurasi XAMPP dan htdocs, hingga menjalankan skrip pertama di localhost.Via #Web DevelopmentDuration--Boarding
  2. Gate 02EDTWDE18 Oct 2026Apa Itu API dan Bagaimana Cara Kerjanya untuk PemulaPahami apa itu API lewat analogi sederhana, cara kerjanya di aplikasi harian, jenis protokol modern, serta langkah mudah mulai menggunakannya.Via #Web DevelopmentDuration--Boarding
  3. Gate 03EDTWDE18 Oct 2026Cara Menulis Variabel di TypeScript yang Benar dan RapiPelajari cara menulis variabel di TypeScript secara lengkap mulai dari anotasi tipe data, inferensi otomatis, hingga penerapan objek dan immutabilitas.Via #Web DevelopmentDuration--Boarding
  4. Gate 04EDTWDE15 Jul 2025Ringkasan Isi Blog IniPanduan lengkap untuk navigasi semua konten blog, dari dasar drone hingga tutorial web development.Via #Web DevelopmentDuration21mBoarding
  1. WPT 011. Memberikan Context yang Setengah-setengah
  2. WPT 022. Copy-Paste Tanpa Mikir
  3. WPT 033. Ngabaiin Error Handling
  4. WPT 044. Nggak Mikirin Long-term Maintainability
  5. WPT 055. Pakai AI Cuma Buat Quick Answers
  6. WPT 06Tips Bonus: Maksimalkan Kolaborasi dengan AI
  7. WPT 07Real Talk: AI Bukanlah Silver Bullet
  8. WPT 08Kesimpulan: Own Your Code

Sponsored

Departures

Latest posts

  1. 26 OCTEDTPencitraan SWIR untuk Inspeksi dan Pemetaan ModernOn time
  2. 26 OCTNWSPlanet Luncurkan 20 Satelit Bersama SpaceX ke OrbitOn time
  3. 26 OCTNWSPeneliti Kembangkan Indeks Spektral Tanpa SWIR untuk Pemetaan MangroveOn time
  4. 26 OCTNWSUkraina Kembangkan Drone Relai Pemancar SinyalOn time
  5. 26 OCTNWSNigeria Berencana Beli 12 Drone Tempur Aksungur Asal TurkiOn time
All departures
plaintext
1Buatin fungsi validasi email dalam TypeScript untuk form registrasi user dengan requirement:
2- Support format RFC 5322
3- Reject disposable email providers (10minutemail, guerrillamail, dll)
4- Return object dengan isValid dan errorMessage
5- Kalau invalid, kasih error message yang user-friendly dalam bahasa Indonesia
6- Sudah ada dependency validator.js di project
  • Punya performance issue
  • Nggak handle edge cases
  • Punya security hole
  • Nggak sesuai coding standards tim lo

1. Baca dan pahami setiap baris - Nggak ada yang namanya "magic code" 2. Test dengan berbagai skenario - Happy path, edge cases, error conditions 3. Check security implications - Terutama kalau involve user input atau data sensitive 4. Pastikan sesuai project standards - Naming conventions, code structure, dll 5. Minta penjelasan kalau ada yang nggak jelas - "Explain this part" adalah prompt yang powerful

plaintext
1Buatin fungsi untuk fetch user data dari API dengan error handling untuk:
2- Network timeout (max 5 detik)
3- API down / 500 error
4- Invalid JSON response
5- Empty response
6- Missing required fields
7
8Tambahin retry logic untuk network errors (max 3 kali dengan exponential backoff)
9Dan kasih fallback behavior yang jelas untuk setiap error type
  • "Apa yang terjadi kalau input null?"
  • "Gimana kalau API external down?"
  • "Apa handling untuk race condition?"
  • "Gimana kalau user kasih input yang aneh-aneh?"
  • Tightly coupled everywhere
  • Hard-coded values bertebaran
  • Nggak ada separation of concerns
  • Impossible to unit test
  • Nggak ada comments untuk complex logic
plaintext
1Buatin payment processing module dengan considerations:
2- Harus easy to swap payment providers (sekarang pakai Stripe, tapi mungkin mau ganti Xendit)
3- Implement repository pattern untuk data access
4- Tambahin dependency injection biar easy to mock untuk testing
5- Follow SOLID principles
6- Pisahin business logic dari framework-specific code
  • "Gimana struktur yang memudahkan unit testing?"
  • "Bisa refactor pakai [design pattern] untuk better scalability?"
  • "Apa trade-off dari approach ini untuk maintenance jangka panjang?"
plaintext
1Gue punya requirement untuk build real-time notification system dengan constraints:
2- Perlu handle 10K concurrent users
3- Budget server terbatas
4- Tim cuma familiar dengan Node.js
5- Perlu scale horizontal
6
7Apa pilihan architecture yang bisa dipertimbangkan?
8Tolong jelasin pros/cons WebSocket vs Server-Sent Events vs Long Polling untuk case ini.
plaintext
1Gue stuck dengan infinite render loop di React component ini [paste code].
2Bisa bantuin analyze kenapa terjadi dan suggest beberapa alternative solutions?
3Explain juga kenapa masing-masing solution work.
plaintext
1Untuk feature ini, gue consider antara:
21. Implement di client-side (faster UX, tapi logic exposed)
32. Implement di server-side (secure, tapi slower)
4
5Dengan context [jelaskan context bisnis], mana yang lebih make sense?
6Apa ada hybrid approach yang bisa dipertimbangkan?
plaintext
1[First prompt] Buatin fungsi X dengan Y
2[AI kasih solusi]
3[Second prompt] Okay, tapi gimana kalau Z juga dipertimbangkan?
4[AI refine]
5[Third prompt] Could you make this more performant? Maybe use caching?
plaintext
1"Explain step-by-step gimana algoritma ini work"
2"Kenapa pakai approach ini instead of [alternative]?"
3"Apa potential performance bottleneck dari code ini?"
plaintext
1"Buatin unit tests untuk fungsi ini, cover happy path dan edge cases"
2"Apa saja integration test scenarios yang perlu dipertimbangkan?"
3"Bantuin setup mock untuk dependency ini"
plaintext
1"Tambahin JSDoc comments untuk fungsi ini"
2"Buatin README section untuk explain gimana pakai module ini"
3"Generate API documentation dari code ini"
  • "Kenapa pakai Map instead of Object di sini?"
  • "Apa advantage dari pattern ini?"
  • "Bisa recommend resources untuk deep dive into this topic?"
  • Understand business context yang spesifik ke company lo
  • Make judgment calls yang perlu domain expertise
  • Detect subtle bugs yang require deep system understanding
  • Navigate political/technical debt yang ada di codebase lo
  • Replace your experience dan intuition sebagai developer
  • Speed up boilerplate code writing
  • Suggest alternative approaches yang mungkin lo nggak kepikiran
  • Help debugging dengan fresh perspective
  • Generate test scenarios
  • Explain complex concepts dengan berbagai angle

Kalau lo masih pemula dan sering denger 5 Nasihat Karir yang Sebenarnya Berbahaya, jangan jadikan "AI bakal gantiin programmer" sebagai excuse buat nggak belajar fundamentals. Justru yang punya fundamental strong bakal lebih powerful dengan AI.

  • ✅ Speed up development
  • ✅ Learn new concepts faster
  • ✅ Generate boilerplate code
  • ✅ Brainstorm solutions
  • ✅ Catch obvious mistakes
  • ❌ Shortcut understanding fundamentals
  • ❌ Avoid learning proper software engineering
  • ❌ Replace critical thinking
  • ❌ Ship code yang lo nggak paham
  • ❌ Excuse untuk nggak do proper testing
  • Judgment dalam memilih approach yang tepat
  • Experience dalam anticipate problems
  • Skill dalam navigate trade-offs
  • Ability untuk maintain dan evolve system
  • Understanding the business context dan user needs