saya ingin anda merancang sistem aplikasi akutansi untuk perusahaan dagang supermarket dan ikuti petunjuk prompt dibawah ini :


Prompt untuk AI: Panduan Desain Aplikasi Form Induk-Anak yang Fleksibel

Tujuan Prompt:

Saya membutuhkan bantuan Anda untuk merancang struktur basis data (SQL DDL) dan konfigurasi JSON yang lengkap untuk sebuah aplikasi manajemen data yang fleksibel, dengan fokus pada model "Form Induk - Grid Anak". Tujuannya adalah untuk memastikan semua aspek, mulai dari definisi tabel, logika bisnis, hingga konfigurasi UI (form dan grid), tercakup secara detail dan konsisten, sehingga meminimalkan potensi missing information atau error di kemudian hari.

Konfirmasi Pemahaman Konsep Aplikasi:

Apakah Anda memahami bahwa aplikasi ini beroperasi sebagai sistem "form induk - grid anak" yang fleksibel? Artinya, ada satu form utama (induk) yang menampilkan data header, dan satu atau lebih grid (anak) yang menampilkan detail terkait yang filternya terhubung secara otomatis dengan ID record dari form induk yang sedang aktif. Contohnya adalah transaksi Penjualan (induk) dengan Detail Penjualan (anak).

Persyaratan Umum untuk Semua Tabel (Wajib Dipenuhi untuk Setiap Tabel yang Dibuat):


Setiap tabel harus memiliki kolom id INT(11) PRIMARY KEY AUTO_INCREMENT.

Setiap tabel harus memiliki kolom brand VARCHAR(3) DEFAULT '001' NOT NULL.

Setiap tabel harus memiliki kolom cab VARCHAR(3) DEFAULT '002' NOT NULL.

Setiap tabel harus memiliki kolom image_paths VARCHAR(40).

Setiap tabel transaksi/master yang relevan harus memiliki user_input VARCHAR(100) dan timestamp_input DATETIME DEFAULT CURRENT_TIMESTAMP.

Struktur Output yang Diharapkan dari AI (untuk setiap modul yang diminta):


SQL DDL: Skrip CREATE TABLE lengkap, termasuk definisi kolom (nama, tipe data, panjang, constraint seperti PRIMARY KEY, FOREIGN KEY, NOT NULL, DEFAULT, UNIQUE), dan INDEX yang relevan.

Logika Bisnis/Relasi Antar Tabel: Penjelasan detail tentang bagaimana tabel-tabel saling berhubungan (FK) dan aturan-aturan validasi atau perhitungan penting yang harus diterapkan (misalnya, total otomatis, validasi unik, nilai default).

JSON Konfigurasi untuk Menu: Bagian JSON yang perlu ditambahkan ke struktur menus global (contoh terlampir di bawah) untuk menampilkan modul baru di navigasi aplikasi.

JSON Konfigurasi untuk Form/Grid (db object): Struktur JSON lengkap untuk setiap node_name (misalnya configjual, juali) termasuk:nama: Nama yang ditampilkan.

table: Nama tabel database yang terkait.

icon: Icon Font Awesome.

model: form atau grid.

Untuk model: "form":filterx: Nama kolom di tabel induk yang menjadi filter utama untuk detail anak (misal: nomor untuk jual).

height: Tinggi form (opsional).

specificFields: Array objek, di mana setiap objek merepresentasikan satu field input di form.id: Nama kolom di database.

label: Label yang ditampilkan di UI.

type: Tipe input (text, number, date, checkbox, select, autocomplete, formula, fungsi, html, prn, noseri).

hidden: Boolean (true/false) jika field tidak ditampilkan.

readonly: Boolean (true/false) jika field hanya untuk tampilan.

autoIncrement: Boolean (true/false) untuk field id.

default: Nilai default.

width: Lebar elemen input (untuk form).

layout: Objek layout CSS (kiri, atas, position).

link: Array objek untuk autocomplete (table, field1, field2, field3).

formula/rumus: String rumus kalkulasi jika type adalah formula.

isi: String fungsi yang dipanggil jika type adalah fungsi.

content: String HTML untuk type: "html".

sum: Boolean (true/false) jika nilai field ini dihitung sum-nya di grid.

options: Array objek {value, label} untuk select dropdown.

searchable: Boolean (true/false) jika field bisa dicari.

fileType: String (misalnya 'image'), untuk upload gambar.

Untuk model: "grid":filter: Nama kolom di tabel anak yang menjadi Foreign Key ke tabel induk (misal: FAKTUR untuk juali).

gridHeight: Tinggi grid.

baris: Jumlah baris default di grid.

lebar: Lebar grid (opsional).

specificFields: Sama seperti form, tetapi layout biasanya tidak digunakan. Perhatikan width untuk kolom grid.

Contoh Struktur JSON Menu Aplikasi (untuk referensi AI):

JSON


