REPOST!
++Code Wiki by Google Gemini | Code Visualizer and Sourcetrail
Source Code Understanding Assistant
!!
Code Wiki
by
Google Gemini
Disertai dengan Contoh_1: Source Code CRUD & Contoh_2: Source Code Otorisasi Login
📘 Contoh_1
✨ Google Gemini Code Wiki – Contoh CRUD Core PHP
Contoh ini menunjukkan bagaimana CRUD Core PHP dibaca oleh Google Gemini Code Wiki lalu dikonversi menjadi diagram arsitektur dan fungsi backend yang terstruktur.
config/database.php<?php
$pdo = new PDO(
"mysql:host=localhost;dbname=demo",
"root",
""
);
?>products/create.php – CREATE<?php
require "../config/database.php";
$name = $_POST['name'];
$price = $_POST['price'];
$stmt = $pdo->prepare(
"INSERT INTO products (name, price) VALUES (?, ?)"
);
$stmt->execute([$name, $price]);
echo "Product created";
?>products/read.php – READ<?php
require "../config/database.php";
$stmt = $pdo->query("SELECT * FROM products");
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($data);
?>products/update.php – UPDATE<?php
require "../config/database.php";
$id = $_POST['id'];
$name = $_POST['name'];
$price = $_POST['price'];
$stmt = $pdo->prepare(
"UPDATE products SET name=?, price=? WHERE id=?"
);
$stmt->execute([$name, $price, $id]);
echo "Product updated";
?>products/delete.php – DELETE<?php
require "../config/database.php";
$id = $_POST['id'];
$stmt = $pdo->prepare(
"DELETE FROM products WHERE id=?"
);
$stmt->execute([$id]);
echo "Product deleted";
?>
📐 Diagram CRUD (Hasil Konversi Google Gemini Code Wiki)
Client Request
|
+-- create.php
| |
| +-- database.php
| | |
| | +-- MySQL (products)
|
+-- read.php
| |
| +-- database.php
| | |
| | +-- MySQL (products)
|
+-- update.php
| |
| +-- database.php
| | |
| | +-- MySQL (products)
|
+-- delete.php
|
+-- database.php
|
+-- MySQL (products)
| File | Fungsi |
|---|---|
| create.php | Menambah data (INSERT) |
| read.php | Mengambil data (SELECT) |
| update.php | Memperbarui data (UPDATE) |
| delete.php | Menghapus data (DELETE) |
| database.php | Akses database bersama (PDO) |
💡 Kesimpulan: Dari CRUD Core PHP procedural, Google Gemini Code Wiki mampu membangun diagram arsitektur backend yang jelas: relasi endpoint, dependensi database, dan pembagian fungsi sistem.
🔐 Contoh_2
Google Gemini Code Wiki – Diagram dari auth_check.php
Contoh berikut menunjukkan bagaimana Google Gemini Code Wiki membaca source code Core PHP lalu mengonversinya menjadi diagram logika autentikasi dan auth guard.
auth_check.php – Source Code<?php
session_start();
function checkAuth() {
if (!isset($_SESSION['user_id'])) {
http_response_code(401);
exit("Unauthorized");
}
}
?>
🔍 Analisis oleh Gemini Code Wiki
- Menggunakan Session-based Authentication
- Memiliki fungsi guard / middleware untuk proteksi endpoint
- Mengontrol HTTP Response Code (401)
- Menghentikan request menggunakan
exit()
📊 Diagram Logika Autentikasi (Hasil Konversi Code Wiki)
Client Request
|
v
Protected Endpoint (user_list.php)
|
v
auth_check.php
|
+-- session_start()
|
+-- checkAuth()
|
+-- cek $_SESSION['user_id']
|
+-- TIDAK ADA
| |
| +-- HTTP 401 Unauthorized
| +-- exit()
|
+-- ADA
|
+-- Request dilanjutkan
| Elemen | Fungsi Keamanan |
|---|---|
| session_start() | Mengaktifkan state login user |
| checkAuth() | Auth guard / proteksi endpoint |
| $_SESSION['user_id'] | Identitas user yang login |
| HTTP 401 | Penolakan akses (Unauthorized) |
| exit() | Menghentikan eksekusi script |
✅ Kesimpulan: Walaupun
auth_check.php hanya satu file kecil, Google Gemini Code Wiki mampu mengubahnya menjadi diagram keamanan backend yang jelas, setara dengan konsep middleware / auth guard modern.
🧩 Code Visualizer dan Sourcetrail /KOMPARASI * jg sebagai Code Understanding and Visualization Tools
| Fitur | CodeVisualizer | Sourcetrail |
|---|---|---|
| Deskripsi Singkat | Ekstensi/editor yang menyediakan visualisasi (flowchart fungsi, dependency graph) untuk memahami kode dan struktur proyek. | Alat open-source eksplorasi kode sumber, memungkinkan navigasi proyek besar dengan grafik dependensi dan tampilan kode interaktif. |
| Fokus Utama | Membantu developer memahami fungsi, alur kontrol, dan struktur modul melalui visualisasi dalam editor maupun proyek. | Memahami basis kode legacy, melihat dependensi antar modul/fungsi/kelas, serta pemetaan struktur proyek secara mendalam. |
| Bahasa / Platform Dukungan | Bergantung pada editor/plugin, umumnya mendukung JavaScript, Python, Java, C/C++. | Mendukung C, C++, Java, Python, serta proyek lintas platform. |
| Integrasi & UX | Biasanya berbasis ekstensi VS Code / editor modern, visualisasi cepat. | Aplikasi mandiri dengan indeksasi penuh, grafik interaktif dan pencarian simbol. |
| Ideal untuk | Developer yang ingin memahami fungsi spesifik, alur cepat di dalam editor. | Tim yang menangani kode berskala besar, refactoring, dan eksplorasi arsitektur kompleks. |
🧠 Catatan: Baik CodeVisualizer (ekosistem plugin) maupun Sourcetrail sama-sama membantu memahami codebase, namun pendekatannya berbeda: yang satu ringan dan terintegrasi editor, satunya lagi dedicated tool untuk eksplorasi kode mendalam.
🧠 Mengapa Google Gemini Code Wiki Berbeda?
Dengan kemampuan membaca kode Core PHP (procedural) lalu menghasilkan diagram arsitektur, mapping dependensi, dan logika autentikasi, Gemini Code Wiki membantu developer:
- Memvisualisasikan alur CRUD & Auth Guard secara otomatis
- Mengubah file-file terpisah menjadi relasi fungsional yang mudah dimengerti
- Mempercepat pemahaman proyek lama (legacy) tanpa perlu membaca baris demi baris
- Menjembatani antara source code mentah dan dokumentasi visual interaktif
⭐ Cocok digunakan untuk pembelajaran, audit keamanan, dan dokumentasi backend.
Comments
Post a Comment