Skip to main content

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.



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 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.




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. Membantu memahami basis kode yang sudah ada (legacy), melihat dependensi antar modul/fungsi/kelas, serta pemetaan struktur proyek.
Bahasa/
Platform
Dukungan
Bergantung pada editor dan plugin yang digunakan, umumnya mendukung bahasa populer seperti JavaScript, Python, Java, dan C/C++. Mendukung berbagai bahasa seperti C, C++, Java, Python, serta proyek lintas platform.

Comments

Popular posts from this blog

PART 0.1.0 RAD PROTOTYPE Web-App: Post-Video & Comments [program]

Video List — JP Kanji Ultra Translation CONTROL SECTION — Login (Admin) Username: Password: Login CONTROL SECTION — Admin Panel Enable Comments Disable Comments Logout Activity Log Show Video COMMENTS DISABLED BY ADMIN Leave a Comment: Additional Comment Show Video COMMENTS DISABLED BY ADMIN Leave a Comment: Additional Comment Show Video COMMENTS DISABLED BY ADMIN Leave a Comment: Additional Comment Show Video COMMENTS DISABLED BY ADMIN Leave a Comment: Additional Comment

My Pending and Delayed POSTs SUMMARY [APPs]
MADE by ChatGPT

🔗 My Pending and Delayed POSTs SUMMARY Sort by Date Sort by Auto Title Sort by My Title Ascending Descending (Newest First) Insert URL: Your Own Title (Optional): Status: Pending Done ➕ ADD ENTRY 💾 SAVE EDIT (MAIN FORM) DATE / TIME AUTO TITLE MY TITLE STATUS URL ACTIONS 📝 TO DO LIST SUMMARY Sort by Date Sort by Header Sort by Detail ...

Tablet Holder di Mobil dan Konsep DOUBLE Tablet Holder aka +secondary supporting holder

Gw udah pasang Holder khusus Tablet yg menurut gw sudah pilihan terbaik! Karena memiliki Arm KERAS/RIGID yg dibutuhkan utk menggenggam ERAT Dalam hal menopang Tablet yg lebih berat dr HP biasa Cekidot Lapak (click here!!) Namun .. Setelah gw pasang Bukan tidak bagus Tapi kalau melewati jalan jelek GOYANG (sikit) juga Gan! Akan tetapi .... Gw rasa bisa makin dimaksimalkan KERIGIDAN dengan menambah PENOPANG KEDUA Check it out: Dari searching2 di MarketPlace Gw ketemu yg mirip holder lampu belajar zaman doeloe Dan .. namun .. tiba2 gw menemukan Ide (lanjutan) Mekanisme yg bisa diReApplied kalau suatu saat diperlukan di Kreasi Agan2 lain  Gunakan Kombo 2 Perangkat berikut apabila membutuhkan holdingan tablet tambahan yg memiliki  "hold area"  yg lebih sempit karena holder kedua "takutnya/dirasa" tidak akan muat utk menggenggam Tablet sebagai penopang kedua, sebagai akibat holder pertama/utama sudah "cukup banyak" memakan tempat Perangkat Pertama (kon...