Lihat Claude Code Beraksi

Pengembangan Perangkat Lunak dengan Claude Code

Dani Zysman

AI Curriculum Manager @ DataCamp

Pengembangan Perangkat Lunak dengan Claude Code

Posisi Claude Code

Hierarki produk Claude: Web Chat, Aplikasi Desktop, Terminal CLI

  • Claude.ai: Antarmuka chat, tugas umum
  • Claude Desktop: Aplikasi dengan akses file
  • Claude Code: Berbasis terminal, dibuat untuk pengodean
Pengembangan Perangkat Lunak dengan Claude Code

Mulai

$ curl -fsSL https://claude.ai/install.sh | bash

Info selengkapnya: https://code.claude.com/docs/en/overview

$ cd /path/to/your/project
$ claude

Perintah berguna:

  • /clear untuk menghapus riwayat percakapan
  • /exit atau Ctrl + C untuk keluar dari sesi
  • /help menampilkan perintah yang tersedia
Pengembangan Perangkat Lunak dengan Claude Code

Menavigasi Kode yang Membingungkan

def process_data(records, threshold=0.5):
    result = []
    for r in records:
        if r.get('value') and r['value'] > threshold:
            x = r['value'] * 1.1 if r.get('premium') else r['value']
            result.append({'id': r['id'], 'adjusted': x, 'flag': x > 1})
    return sorted(result, key=lambda d: d['adjusted'], reverse=True)[:10]
  • Variabel satu huruf
  • Tanpa komentar
  • Logika padat
Pengembangan Perangkat Lunak dengan Claude Code

Claude Menjelaskan dan Mendokumentasikan

> What does process_data() do?
process_data(): Filter, Sesuaikan & Urutkan

Filter: Simpan record dengan value > threshold (bawaan: 0,5)
Adjust: Tambah 10% jika premium=True
Transform: Keluarkan id, nilai adjusted, dan flag (jika adjusted > 1)
Sort: Kembalikan 10 teratas berdasarkan adjusted menurun
> Add a docstring to process_data()
"""Menyaring record di atas threshold, menambah 10% untuk premium, dan
mengembalikan 10 teratas berdasarkan nilai adjusted."""
Pengembangan Perangkat Lunak dengan Claude Code

Menemukan Bug

def add_item(item, item_list=[]):
    item_list.append(item)
    return item_list

Dapatkah Anda menemukan masalahnya?

Pengembangan Perangkat Lunak dengan Claude Code

Claude Menemukan dan Memperbaiki Bug

> Find the bug in add_item() and fix it
Bug ditemukan dan diperbaiki: Masalahnya adalah argumen bawaan yang dapat diubah (mutable).

Menggunakan item_list=[] membuat semua pemanggilan add_item() tanpa argumen
list berbagi objek list bawaan yang sama, sehingga item menumpuk antar pemanggilan.

def add_item(item, item_list=None): if item_list is None: item_list = [] item_list.append(item) return item_list
Pengembangan Perangkat Lunak dengan Claude Code

Pemecahan Masalah

Masalah Solusi
"Context window exceeded" Gunakan /clear untuk reset
Batas laju Tunggu lalu coba lagi
Hasil kurang baik Fokuskan prompt pada satu tugas
Pengembangan Perangkat Lunak dengan Claude Code

Siklus Umpan Balik

Siklus pengembangan: Describe, Generate, Review, Refine

Pengembangan Perangkat Lunak dengan Claude Code

Ayo berlatih!

Pengembangan Perangkat Lunak dengan Claude Code

Preparing Video For Download...