Source Code Understanding Assistant
REPOST! ++Code Wiki by Google Gemini | PART-3: Coba (lagi) AI Code Explaining Assistant Code Visualizer and Sourcetrail
!!
Code Wiki by Google Gemini
Disertai dengan
Contoh_1: Source Code CRUD , dan
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.
Source Code:
config/database.php
<?php $pdo = new PDO( "mysql:host=localhost;dbname=demo", "root", "" ); ?>
CREATE:
products/create.php
<?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"; ?>
READ:
products/read.php
<?php
require "../config/database.php";
$stmt = $pdo->query("SELECT * FROM products");
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($data);
?>
UPDATE:
products/update.php
<?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"; ?>
DELETE:
products/delete.php
<?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)
Pemetaan Fungsi (Cara Code Wiki Membaca CRUD)
| File | Fungsi |
|---|---|
| create.php | Menambah data |
| read.php | Mengambil data |
| update.php | Memperbarui data |
| delete.php | Menghapus data |
| database.php | Akses database bersama |
Kesimpulan:
Dari CRUD Core PHP yang bersifat procedural, Google Gemini Code Wiki mampu membangun diagram arsitektur backend yang jelas: relasi endpoint, dependensi database, dan pembagian fungsi sistem.
Dari CRUD Core PHP yang bersifat 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.
Contoh Source Code:
auth_check.php
<?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 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
Penjelasan Fungsional (Bukan Sekadar Alur)
| Elemen | Fungsi |
|---|---|
| session_start() | Mengaktifkan state login user |
| checkAuth() | Auth guard / proteksi endpoint |
| $_SESSION['user_id'] | Identitas user login |
| HTTP 401 | Penolakan akses |
| exit() | Menghentikan eksekusi script |
Kesimpulan:
Walaupun
Walaupun
auth_check.php hanya satu file kecil,
Google Gemini Code Wiki mampu mengubahnya menjadi
diagram keamanan backend yang jelas dan mudah dipahami,
setara dengan konsep middleware / auth guard modern.
Comments