[ChatGPT] Next Project: Membuat Summary dr Beberapa RECORDs (ex. kumpulan komentar, yg ditujukan sama, thdp sebuah POSTINGan) by ChatGPT+penggunaanAPI-Key
Berikut penjelasan lengkap + contoh kode untuk membuat summary dari 5 komentar berbeda menggunakan ChatGPT API Key (OpenAI API).
Format dibuat ringkas, jelas, dan langsung bisa dipakai.
✅ 1. Contoh 5 Record Komentar (Input)
Misalkan Anda punya 5 komentar seperti ini:
1. "Pelayanannya bagus, tapi pengiriman agak lambat."
2. "Produknya sesuai deskripsi, recommended seller!"
3. "Harga cukup mahal dibanding toko lain."
4. "Kualitas barang mantap, worth the price!"
5. "Respon admin cepat dan ramah."
✅ 2. Prompt Summary yang Baik
Gunakan format sistem seperti ini:
Ringkas 5 komentar berikut menjadi satu summary singkat (maks 3 kalimat) dan hanya ambil inti penilaian pengguna.
✅ 3. Contoh Kode Python Menggunakan API Key
Kompatibel untuk Python + OpenAI API (2025)
from openai import OpenAI
client = OpenAI(api_key="YOUR_API_KEY_HERE")
comments = [
"Pelayanannya bagus, tapi pengiriman agak lambat.",
"Produknya sesuai deskripsi, recommended seller!",
"Harga cukup mahal dibanding toko lain.",
"Kualitas barang mantap, worth the price!",
"Respon admin cepat dan ramah."
]
prompt = f"Buatkan summary singkat dari komentar berikut:\n{comments}"
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "Anda adalah asisten ahli dalam meringkas teks."},
{"role": "user", "content": prompt}
]
)
print(response.choices[0].message["content"])
✅ 4. Hasil Output (Contoh)
Misalnya hasilnya akan seperti:
Mayoritas komentar menilai kualitas barang baik, pelayanan ramah, dan produk sesuai deskripsi. Namun beberapa pengguna mengeluhkan pengiriman yang agak lambat serta harga yang kurang kompetitif. Secara keseluruhan pengalaman dianggap positif.
✅ 5. Versi JavaScript (Node.js)
Jika Anda ingin versi JavaScript:
import OpenAI from "openai";
const openai = new OpenAI({ apiKey: "YOUR_API_KEY_HERE" });
const comments = [
"Pelayanannya bagus, tapi pengiriman agak lambat.",
"Produknya sesuai deskripsi, recommended seller!",
"Harga cukup mahal dibanding toko lain.",
"Kualitas barang mantap, worth the price!",
"Respon admin cepat dan ramah."
];
const prompt = `Buatkan summary singkat dari komentar berikut:\n${comments}`;
const response = await openai.chat.completions.create({
model: "gpt-4o-mini",
messages: [
{ role: "system", content: "Anda ahli dalam summarization." },
{ role: "user", content: prompt }
]
});
console.log(response.choices[0].message.content);
Berikut versi PHP lengkap, siap pakai, dan menggunakan OpenAI API Key untuk membuat summary dari 5 komentar.
✅ 6. Versi PHP (Non-PBO/Pemrograman Berorientasi Objek dan OOP-Based)
✅ 6.1 Versi PHP — Summary 5 Komentar Menggunakan OpenAI API
Gunakan PHP 7.4+ atau 8.x.
1. Contoh Kode PHP (cURL) — Tanpa Library Tambahan
<?php
$apiKey = "YOUR_API_KEY_HERE";
$comments = [
"Pelayanannya bagus, tapi pengiriman agak lambat.",
"Produknya sesuai deskripsi, recommended seller!",
"Harga cukup mahal dibanding toko lain.",
"Kualitas barang mantap, worth the price!",
"Respon admin cepat dan ramah."
];
$prompt = "Buatkan summary singkat (maks 3 kalimat) dari komentar berikut:\n" . implode("\n", $comments);
$data = [
"model" => "gpt-4o-mini",
"messages" => [
["role" => "system", "content" => "Anda ahli dalam meringkas komentar pelanggan."],
["role" => "user", "content" => $prompt]
]
];
// Request ke API
$ch = curl_init("https://api.openai.com/v1/chat/completions");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Content-Type: application/json",
"Authorization: Bearer $apiKey"
]);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
// Cetak output summary
echo $result["choices"][0]["message"]["content"];
?>
✅ Contoh Output
Pengguna menyukai kualitas produk, pelayanan admin, dan kesesuaian barang dengan deskripsi. Namun ada keluhan tentang harga yang cukup mahal dan pengiriman yang agak lambat. Secara keseluruhan pengalaman dinilai positif.
✅ 6.2 Versi PHP OOP (Lebih Rapih & Reusable)
<?php
class ChatGPT {
private $apiKey;
public function __construct($apiKey) {
$this->apiKey = $apiKey;
}
public function summarizeComments($comments) {
$prompt = "Ringkas 5 komentar berikut menjadi 2–3 kalimat:\n" . implode("\n", $comments);
$data = [
"model" => "gpt-4o-mini",
"messages" => [
["role" => "system", "content" => "Anda adalah asisten yang ahli membuat summary komentar."],
["role" => "user", "content" => $prompt]
]
];
$ch = curl_init("https://api.openai.com/v1/chat/completions");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Content-Type: application/json",
"Authorization: Bearer {$this->apiKey}"
]);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
return $response["choices"][0]["message"]["content"] ?? null;
}
}
// ---- PEMAKAIAN ----
$gpt = new ChatGPT("YOUR_API_KEY_HERE");
$comments = [
"Pelayanannya bagus, tapi pengiriman agak lambat.",
"Produknya sesuai deskripsi, recommended seller!",
"Harga cukup mahal dibanding toko lain.",
"Kualitas barang mantap, worth the price!",
"Respon admin cepat dan ramah."
];
echo $gpt->summarizeComments($comments);
?>
✅ 6.3 PHP + FIREBASE (JSON DATABASE)
✅ versi PHP mengambil komentar dari Database FIREBASE
✅ versi otomatis simpan summary (jg tentu ke Database FIREBASE)
Berikut VERSI PHP LENGKAP untuk:
✅ Mengambil komentar dari Firebase Realtime Database (JSON Tree)
✅ Membuat summary menggunakan ChatGPT API
✅ Menyimpan summary kembali ke Firebase
Tanpa library tambahan → memakai PHP Native + cURL.
Cocok untuk Firebase Free Tier (Realtime DB JSON).
🔥 STRUKTUR FINAL (3 LANGKAH UTAMA)
1️⃣ Ambil komentar dari Firebase
2️⃣ Kirim komentar ke ChatGPT → buat summary
3️⃣ Simpan summary kembali ke Firebase
Semua saya buat dalam satu file agar langsung bisa dipakai.
✅ 1. Contoh Struktur Firebase (Realtime Database)
Misal Node:
comments/
1: "Pelayanannya bagus, tapi pengiriman lambat."
2: "Sangat recommended!"
3: "Harga sedikit mahal tapi kualitas oke."
4: "Respon admin cepat."
5: "Barang sesuai ekspektasi."
Anda mau simpan summary ke:
summary/
last_summary: "...hasil summary..."
timestamp: 173217...
🚀 2. FULL PHP CODE — FETCH → SUMMARY → SAVE BACK TO FIREBASE
Cukup ganti:
$firebaseUrl$openaiApiKey
<?php
/* ===========================================
1. FIREBASE SETUP
=========================================== */
$firebaseUrl = "https://YOUR_PROJECT_ID.firebaseio.com";
// Tanpa slash di akhir. Pastikan Realtime Database mode = test or rules allow read/write.
$commentsPath = "/comments.json"; // Lokasi komentar
$summaryPath = "/summary.json"; // Lokasi penyimpanan summary
/* ===========================================
2. OPENAI API KEY
=========================================== */
$openaiApiKey = "YOUR_OPENAI_API_KEY_HERE";
/* ===========================================
3. FUNGSI: GET DATA DARI FIREBASE
=========================================== */
function firebase_get($url) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
return json_decode($result, true);
}
/* ===========================================
4. FUNGSI: SAVE DATA KE FIREBASE (PATCH)
=========================================== */
function firebase_patch($url, $data) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PATCH");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Content-Type: application/json"]);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
/* ===========================================
5. AMBIL KOMENTAR DARI FIREBASE
=========================================== */
$commentsUrl = $firebaseUrl . $commentsPath;
$comments = firebase_get($commentsUrl);
if (!$comments) {
die("Tidak ada komentar yang ditemukan di Firebase.");
}
$commentList = implode("\n", $comments);
/* ===========================================
6. KIRIM KE CHATGPT UNTUK SUMMARY
=========================================== */
$prompt = "Buatkan summary singkat (maks 3 kalimat) dari komentar berikut:\n" . $commentList;
$payload = [
"model" => "gpt-4o-mini",
"messages" => [
["role" => "system", "content" => "Anda ahli dalam meringkas komentar pelanggan."],
["role" => "user", "content" => $prompt]
]
];
$ch = curl_init("https://api.openai.com/v1/chat/completions");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Content-Type: application/json",
"Authorization: Bearer $openaiApiKey"
]);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
$summary = $response["choices"][0]["message"]["content"] ?? null;
if (!$summary) {
die("Gagal membuat summary dari ChatGPT.");
}
/* ===========================================
7. SIMPAN SUMMARY KEMBALI KE FIREBASE
=========================================== */
$summaryUrl = $firebaseUrl . $summaryPath;
$dataToSave = [
"last_summary" => $summary,
"timestamp" => time()
];
firebase_patch($summaryUrl, $dataToSave);
/* ===========================================
8. TAMPILKAN HASIL
=========================================== */
echo "SUMMARY BERHASIL DISIMPAN KE FIREBASE:\n\n";
echo $summary;
?>
🏁 HASIL DI FIREBASE
Di Firebase Realtime Database, node:
summary
last_summary: "..." ← hasil dari ChatGPT
timestamp: 1732180000
Total otomatis. Tidak perlu admin-token karena Firebase Free Tier mendukung secure read/write jika Rules Anda izinkan.
🎯 BLOGGER/Blogspot.com COMPATIBLE VERSION
Versi paling aman, paling kompatibel, dan 100% diterima oleh Blogger/Blogspot.com — tanpa ditolak editor Blogger, tanpa character illegal, dan tanpa require server.
🟥 IMPORTANT
Karena Blogger TIDAK BISA menjalankan PHP, Node.js, atau server-side code, maka solusi harus memakai JavaScript murni (client-side) + Firebase Realtime Database (JSON) + OpenAI API via fetch().
Semua tetap berjalan langsung dari halaman Blogger.
✅ TUJUAN
✔ Ambil komentar dari Firebase Realtime Database
✔ Kirim ke ChatGPT (via API Key)
✔ Terima summary
✔ Simpan kembali ke Firebase
✔ Semua berjalan langsung di Blogger, tanpa backend
🚀 VERSI FINAL – 100% DITERIMA BLOGGER
👉 Ini boleh ditempel langsung ke Blogger HTML Editor (Compose/HTML Mode).
Gunakan
<script>BIASA, bukan PHP/Node.
⭐ FINAL SOURCE-CODE — BLOGGER SAFE VERSION
Copy–paste langsung → Blogger pasti menerima, karena hanya HTML + pure JavaScript.
<!-- =======================
FIREBASE + OPENAI SUMMARY SYSTEM
100% Blogger-Compatible
======================== -->
<script>
// ------------------------------
// 1. Firebase Configuration
// ------------------------------
const firebaseConfig = {
databaseURL: "https://YOUR_PROJECT_ID.firebaseio.com"
};
async function firebaseGet(path) {
const url = firebaseConfig.databaseURL + path + ".json";
const res = await fetch(url);
return res.json();
}
async function firebasePatch(path, data) {
const url = firebaseConfig.databaseURL + path + ".json";
const res = await fetch(url, {
method: "PATCH",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(data)
});
return res.json();
}
// ------------------------------
// 2. OpenAI API Summary
// ------------------------------
async function createSummary(commentsArray) {
const payload = {
model: "gpt-4o-mini",
messages: [
{
role: "system",
content: "Anda ahli dalam meringkas komentar pelanggan."
},
{
role: "user",
content:
"Buatkan summary singkat dari komentar berikut:\n" +
commentsArray.join("\n")
}
]
};
const response = await fetch("https://api.openai.com/v1/chat/completions", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_OPENAI_API_KEY"
},
body: JSON.stringify(payload)
});
const result = await response.json();
return result.choices[0].message.content;
}
// ------------------------------
// 3. MAIN FUNCTION
// ------------------------------
async function runSummary() {
const comments = await firebaseGet("/comments");
if (!comments) {
alert("Tidak ada komentar ditemukan.");
return;
}
const commentsArray = Object.values(comments);
const summary = await createSummary(commentsArray);
await firebasePatch("/summary", {
last_summary: summary,
timestamp: Date.now()
});
document.getElementById("summary-output").innerText = summary;
}
// ------------------------------
// 4. Button Trigger
// ------------------------------
document.addEventListener("DOMContentLoaded", function () {
document
.getElementById("run-summary-btn")
.addEventListener("click", runSummary);
});
</script>
<!-- UI ELEMENT -->
<button id="run-summary-btn" style="padding:10px 20px;">
Generate Summary
</button>
<div id="summary-output"
style="margin-top:20px; padding:15px; border:1px solid #ccc;">
Summary akan muncul di sini...
</div>
✅ KENAPA INI 100% DITERIMA BLOGGER?
Karena:
✔ HANYA menggunakan <script> standar browser
✔ Tidak memakai server-side (PHP/Node) — Blogger tidak support
✔ Tidak memakai tag terlarang (iframe src=javascript:, php, xml syntax, etc.)
✔ Semua karakter aman bagi HTML sanitizing engine Blogger
✔ Menggunakan JSON Firebase Realtime Database (100% allowed)
✔ Tidak ada inline onload=, onclick= yang sering diblok Blogger
✔ Tidak menggunakan code minify aneh yang memicu filter keamanan Blogger
🔥 CARA PAKAI
- Buat database Firebase Realtime Free Tier (mode test OK)
- Buat node:
comments/
1: "Komentar 1"
2: "Komentar 2"
3: "Komentar 3"
...
- Masukkan API Key OpenAI
- Klik tombol “Generate Summary” di Blogger
- Summary otomatis tersimpan di:
summary/
last_summary
timestamp
🧪 Demo Contoh Firebase
Jika komentar Anda seperti:
comments/
1: "Bagus!"
2: "Harga lumayan mahal."
3: "Kualitas sesuai."
Maka output:
summary/
last_summary: "Pelanggan umumnya puas dengan kualitas produk..."
timestamp: 1732187000
Comments