Claude LearnAdvanced· 10 min

Claude API Basics: Integrasi ke Aplikasi

Panduan praktis mengintegrasikan Claude API ke aplikasi Anda — setup, first call, dan best practices.

Claude API Basics: Integrasi ke Aplikasi

Pelajari cara mengintegrasikan Claude ke dalam aplikasi Anda menggunakan Anthropic API.

Setup

1. Dapatkan API Key

  1. Buka console.anthropic.com
  2. Sign up atau login
  3. Buat API key baru di dashboard
  4. Simpan key dengan aman (jangan commit ke repository!)

2. Install SDK

npm install @anthropic-ai/sdk

3. First API Call

import Anthropic from '@anthropic-ai/sdk';

const anthropic = new Anthropic({
  apiKey: process.env.ANTHROPIC_API_KEY,
});

async function chatWithClaude(message: string) {
  const response = await anthropic.messages.create({
    model: 'claude-sonnet-4-20250514',
    max_tokens: 1024,
    messages: [{ role: 'user', content: message }],
  });

  return response.content[0].text;
}

Message API

Basic Request

const response = await anthropic.messages.create({
  model: 'claude-sonnet-4-20250514',
  max_tokens: 1024,
  system: 'Anda adalah helpful assistant yang spesialis di customer support.',
  messages: [
    { role: 'user', content: 'Bagaimana cara reset password saya?' }
  ],
});

Multi-Turn Conversation

const messages = [
  { role: 'user', content: 'Apa itu TypeScript?' },
  { role: 'assistant', content: 'TypeScript adalah superset JavaScript...' },
  { role: 'user', content: 'Apa bedanya dengan JavaScript?' },
];

const response = await anthropic.messages.create({
  model: 'claude-sonnet-4-20250514',
  max_tokens: 1024,
  messages,
});

Streaming Response

const stream = await anthropic.messages.stream({
  model: 'claude-sonnet-4-20250514',
  max_tokens: 1024,
  messages: [{ role: 'user', content: 'Tulis puisi tentang coding' }],
});

for await (const chunk of stream) {
  process.stdout.write(chunk.delta?.text ?? '');
}

Model Selection

ModelUse CaseSpeedCost
Claude HaikuTask sederhana, classificationFastestLowest
Claude SonnetGeneral purpose, balancedFastMedium
Claude OpusComplex reasoning, analysisSlowerHighest

Recommendation

  • Default: Claude Sonnet — best balance untuk most use cases
  • High volume: Claude Haiku — cost-effective untuk task sederhana
  • Complex tasks: Claude Opus — untuk analysis dan reasoning mendalam

Best Practices

1. Error Handling

import { APIError, RateLimitError } from '@anthropic-ai/sdk';

async function safeChat(message: string) {
  try {
    const response = await anthropic.messages.create({
      model: 'claude-sonnet-4-20250514',
      max_tokens: 1024,
      messages: [{ role: 'user', content: message }],
    });
    return response.content[0].text;
  } catch (error) {
    if (error instanceof RateLimitError) {
      // Implement retry with exponential backoff
      await sleep(2000);
      return safeChat(message);
    }
    if (error instanceof APIError) {
      console.error('API Error:', error.status, error.message);
    }
    throw error;
  }
}

2. Token Management

// Estimate token count (rough: 1 token ≈ 4 chars untuk English)
function estimateTokens(text: string): number {
  return Math.ceil(text.length / 4);
}

// Pastikan tidak exceed limit
const MAX_CONTEXT_TOKENS = 200000; // Claude context window

function canAddMessage(messages: any[], newMessage: string): boolean {
  const currentTokens = messages.reduce(
    (sum, msg) => sum + estimateTokens(msg.content), 0
  );
  return currentTokens + estimateTokens(newMessage) < MAX_CONTEXT_TOKENS;
}

3. System Prompt Design

// Good: spesifik dan actionable
const systemPrompt = `
Anda adalah customer support assistant untuk e-commerce platform.
Guidelines:
- Selalu greet user dengan nama jika tersedia
- Berikan solusi step-by-step
- Jika tidak yakin, acknowledge dan suggest escalation
- Gunakan tone yang friendly tapi professional
- Jangan pernah fabricate information tentang product
`;

Security

  1. Never expose API key di client-side — selalu call dari server
  2. Use environment variables.env files, never hardcoded
  3. Implement rate limiting — prevent abuse di aplikasi Anda
  4. Validate input — sanitize user input sebelum send ke API

Langkah Selanjutnya

Setelah menguasai API basics:

  • Advanced Best Practices — teknik lanjutan untuk production
  • Avoid Sycophancy — bagaimana Claude handle agreement vs honesty
🛠️

Build Better

Integrasikan Claude ke aplikasi dan development workflow Anda.