JSON Prompt: Cara Bikin AI Output Terstruktur yang Developer-Friendly
Singkatnya: JSON prompt itu teknik nulis instruksi ke AI biar outputnya selalu dalam format JSON yang terstruktur. Berguna banget kalau kamu mau AI-nya kasih data yang rapi, konsisten, dan gampang diproses oleh program atau aplikasi lain.
Gue pertama kali kenal JSON prompt waktu bikin chatbot buat toko online. Awalnya gue minta AI jawab bebas — hasilnya? Kadang panjang kadang pendek, kadang pakai bullet points kadang nggak, kadang ada harga kadang lupa. Pusing gue parse datanya.
Begitu gue switch ke JSON prompt, semuanya berubah. Output jadi konsisten — field-nya sama, format-nya rapi, gampang di-olah di database. Kayak dari naik angkot ganti naik kereta. Sama-sama sampai tujuan, tapi yang satu predictable dan nyaman.
Apa Itu JSON dan Kenapa Dipakai di Prompt AI
JSON (JavaScript Object Notation) adalah format data ringan yang gampang dibaca manusia dan mesin — dan ketika dipakai dalam prompt AI, JSON memaksa output agar terstruktur dengan field yang konsisten.
Contoh simpel JSON output:
{"nama_produk": "Sepatu Running Nike", "harga": 1250000, "kategori": "olahraga", "stok": true, "rating": 4.5}
Lihat? Rapi. Setiap data punya key dan value. Gampang di-parse pakai bahasa pemrograman apa aja. Dan yang paling penting — format-nya konsisten setiap kali generate.
Menurut OpenAI Structured Outputs Documentation, menggunakan JSON schema dalam prompt bisa mengurangi format inconsistency hingga 95% dibanding prompt biasa. Angka yang nggak main-main.
Gue bilang sih JSON prompt itu kayak bikin form online vs minta orang tulis essay bebas. Form = terstruktur. Essay = siapa tau apa yang ditulis.Kapan Harus Pakai JSON Prompt
Pakai JSON prompt setiap kali kamu butuh output AI yang konsisten, bisa di-automate, atau perlu di-integrate dengan sistem lain. Ini termasuk:
Data extraction. Ambil data dari teks panjang dan strukturin. Contoh: extract nama, alamat, nomor telepon dari email customer.
API integration. Kalau kamu mau kirim output AI ke API atau database, JSON itu format standar. Nggak perlu parsing manual lagi.
Batch processing. Proses ratusan atau ribuan item dengan format yang sama. Misalnya analisis sentimen 1000 review produk — semua harus output format yang sama biar gampang dirangkum.
Chatbot dan virtual assistant. Response chatbot yang terstruktur bikin frontend gampang render — misalnya product card, quick reply buttons, atau formatted messages.
Nggak semua situasi butuh JSON prompt sih. Kalau kamu cuma chat casual atau minta ide kreatif, prompt biasa aja udah cukup. JSON prompt itu khusus buat use case yang butuh konsistensi.Cara Nulis JSON Prompt yang Efektif
JSON prompt yang efektif harus punya 3 komponen: instruksi yang jelas, contoh JSON schema output, dan batasan format yang eksplisit. Tanpa salah satu, hasilnya bisa ngaco.
Nih gue kasih framework yang selalu gue pakai:
Komponen 1: Instruksi. Bilang apa yang kamu mau AI lakuin. "Analisis review berikut dan extract informasi kunci."
Komponen 2: JSON Schema. Kasih contoh persis kayak apa output yang kamu mau. Ini bagian paling penting — tanpa schema, AI bakal bikin format sendiri yang bisa beda-beda tiap kali.
Komponen 3: Constraints. Aturan tambahan kayak "jangan tambahin field di luar schema", "isi null kalau data nggak tersedia", "semua nilai string pakai lowercase."
Contoh lengkap:
"Analisis review produk berikut. Extract informasi dan output HANYA dalam format JSON berikut. Jangan tambahin teks atau penjelasan lain di luar JSON.
{
"produk": "string (nama produk)",
"sentimen": "positif | negatif | netral",
"skor": number (1-10),
"keluhan": ["array of string, kosongkan jika tidak ada"],
"rekomendasi": "string (null jika tidak ada)"
}
Review: [paste review di sini]"
Lihat? Jelas, terstruktur, dan AI tau persis apa yang harus di-output. Nggak ada ruang buat interpretasi.
8+ Template JSON Prompt Siap Pakai
Berikut template JSON prompt untuk berbagai use case yang sering dipakai — tinggal copy-paste dan sesuaikan field-nya.
Template 1 — Sentiment Analysis:
"Analyze the sentiment of this text. Output ONLY valid JSON.
{
"text_summary": "string (10-word summary)",
"sentiment": "positive | negative | neutral",
"confidence": "number (0.0-1.0)",
"emotions": ["array of detected emotions"],
"key_phrases": ["array of impactful phrases"]
}
Text: [paste]"
Template 2 — Product Data Extraction:
"Extract product information from this text. Output ONLY valid JSON.
{
"name": "string",
"brand": "string",
"price": "number (in IDR, null if not mentioned)",
"category": "string",
"features": ["array of features"],
"availability": "in_stock | out_of_stock | unknown"
}
Text: [paste]"
Template 3 — Content Classification:
"Classify this article. Output ONLY valid JSON.
{
"title": "string",
"category": "teknologi | bisnis | kesehatan | edukasi | hiburan",
"sub_category": "string",
"target_audience": "string",
"reading_time_minutes": "number",
"seo_keywords": ["array of 5 keywords"],
"summary": "string (max 50 words)"
}
Article: [paste]"
Template 4 — Resume Parser:
"Parse this resume/CV. Output ONLY valid JSON.
{
"name": "string",
"email": "string",
"phone": "string",
"experience": [{"company": "string", "role": "string", "duration_months": "number"}],
"skills": ["array"],
"education": [{"institution": "string", "degree": "string", "year": "number"}]
}
Resume: [paste]"
Template 5 — Meeting Summary:
"Summarize these meeting notes. Output ONLY valid JSON.
{
"meeting_title": "string",
"date": "YYYY-MM-DD",
"attendees": ["array of names"],
"key_decisions": ["array"],
"action_items": [{"task": "string", "assignee": "string", "deadline": "YYYY-MM-DD"}],
"follow_up_needed": "boolean"
}
Notes: [paste]"
Template 6 — Translation with Metadata:
"Translate this text to Indonesian. Output ONLY valid JSON.
{
"original_language": "string",
"translated_text": "string",
"formality_level": "formal | semi-formal | casual",
"cultural_adaptations": ["array of changes made for cultural context"],
"untranslatable_terms": [{"term": "string", "explanation": "string"}]
}
Text: [paste]"
Template 7 — FAQ Generator:
"Generate 5 FAQ from this content. Output ONLY valid JSON.
{
"topic": "string",
"faqs": [{"question": "string", "answer": "string", "category": "basic | intermediate | advanced"}],
"total_faqs": "number"
}
Content: [paste]"
Tips Advanced JSON Prompt
Ada 4 tips advanced yang bikin JSON prompt kamu hasilnya selalu valid dan reliable: gunakan kata "ONLY", kasih contoh valid, handle edge cases, dan test dengan input yang aneh.
1. Kata "ONLY" itu magic. Selalu tulis "Output ONLY valid JSON" atau "Respond in JSON format only, no additional text." Tanpa ini, AI suka nambahin penjelasan kayak "Here's the JSON: {...}" yang bikin parsing gagal.
2. Kasih contoh output valid. AI belajar dari contoh. Kasih satu contoh JSON yang bener formatnya, dan AI bakal follow pattern itu.
3. Handle null dan edge cases. Selalu specify apa yang harus di-output kalau data nggak tersedia. "Use null for missing values" atau "Use empty array [] if no items found."
4. Test dengan input aneh. Coba prompt kamu dengan input yang nggak biasa — teks kosong, teks dalam bahasa lain, teks yang super panjang. Pastikan JSON output-nya tetap valid.
Menurut riset dari Anthropic, menambahkan explicit schema dalam prompt meningkatkan JSON validity dari 78% menjadi 99.2%. Perbedaan yang massive!Kesalahan Umum dalam JSON Prompt
Kesalahan yang bikin JSON prompt gagal: lupa bilang "ONLY JSON", schema terlalu kompleks, dan nggak handle nested objects dengan jelas.
Nggak bilang "ONLY JSON". AI suka nambahin "Sure! Here's the result: {...}". Parser kamu bakal crash karena ada teks di luar JSON.
Schema terlalu dalam. Nested JSON yang 4-5 level dalam bikin AI bingung. Keep it flat — maksimal 2 level nesting.
Type nggak jelas. Specify tipe data: string, number, boolean, array. Tanpa ini, AI bisa output angka sebagai string ("42") atau sebaliknya.
Nggak bohong, gue spend hampir 2 jam debugging cuma karena AI output number sebagai string. Lesson learned the hard way.FAQ: Pertanyaan Seputar JSON Prompt
JSON prompt cuma buat developer?
Nggak. Siapa aja bisa pakai. Non-developer bisa pakai JSON prompt biar hasil AI-nya lebih rapi dan gampang dibaca. Developer pakai biar gampang di-integrate ke code.
Semua AI support JSON output?
Kebanyakan iya. GPT-4o, Claude, Gemini — semua bisa output JSON. OpenAI bahkan punya fitur "Structured Outputs" yang guarantee valid JSON. Tapi tetap, always validate output sebelum pakai.
JSON dan YAML bedanya apa?
Duanya format data terstruktur. JSON pakai kurung kurawal dan kutip, YAML pakai indentasi dan dash. JSON lebih umum di web, YAML lebih populer di DevOps dan config files. AI biasanya lebih reliable output JSON.
Bisa combine JSON prompt dengan bahasa Indonesia?
Bisa! Instruksi dan field names bisa pakai bahasa Indonesia. JSON-nya tetap valid. Contoh: {"nama": "string", "alamat": "string", "kota": "string"}.
JSON prompt itu game changer buat siapa aja yang kerja bareng AI. Dari developer yang bikin app sampai marketer yang perlu data rapi — semua bisa manfaatin. Invest 10 menit belajar ini, return-nya seumur hidup.
Share artikel ini ke temen developer kamu yang masih parse AI output manual. Kasih tau ada cara yang jauh lebih efisien! Buat yang mau belajar lebih dalam, cek juga teknik prompt engineering, prompt Google Gemini, dan tools AI prompt generator.