#

Tutorial

MCG - Massive Crud Generator


#

Media info pada Tik-tok (Reserved)

https://www.tiktok.com/@yudhi_ir
#

Activity feeds pada Snack Video (Reserved)

Daftar Snack Video dengan android
search: massivecrudgenerator

Silahkan ikuti/follow/subscribe kami untuk informasi tentang tutorial baru atau demo

Sebelum menjalankan MCG, Anda harus menginstal webserver terlebih dahulu dan buat sebuah database


Instal webserver favorit Anda.
Saya menggunakan laragon dan database MySQL untuk testing.

edit php.ini and set

extension=pdo_mysql
extension=pdo_pgsql

Buka database-tool favourite anda, create MySQL database
-- database: mcg_db
-- Character set: utf8 (UTF-8 Unicode)
-- Collation: utf8_general_ci


Saya harap Anda sudah mengerti tentang fungsi webserver dan cara pembuatan database.

Silakan pelajari lebih lanjut tentang webserver laragon dengan pencarian oleh google. :)



Mari kita coba contoh dari Github terlebih dahulu:

Masuk ke menu:

DOWNLOAD >


Kemudian download file-file berikut:
-Testing for CI4
-Template for CI4 LTE3

anda akan mempunya 2 file:
mcg-ci4-testing-master.zip
mcg-ci4-lte3-templates-master.zip


extract file mcg-ci4-testing-master.zip
ke d:\ menjadi d:\mcg-ci4-testing-master

extract file mcg-ci4-lte3-templates-master.zip
dan copy/move
to d:\mcg-ci4-testing-master (overwrite semua)

buat table dari file: ~merge_table_all.sql
buat view atau procedure dari file: ~merge_sql_all.sql


jalankan command:
D:\laragon\bin\php\php-7.4.19-Win32-vc15-x64\php spark serve --port 8080

note: PHP nama file and directory silahkan sesuaikan


jalankan di browser anda:
http://localhost:8080 >


Meng-Install dan menjalankan Program MCG


1. extract zip file. contoh: mcg_012-last_update-2022-07-13.zip
2. copy directory installer
3. pergi ke directory installer dan jalankan SETUP.exe
4. pergi ke directory d:\MCG
5. jalankan exe file

System akan memberikan option untuk dipilih yaitu 'Include sample data'
pilih no. 1 jika anda tidak memerlukan contoh data

Note:
Menjalankan file tool ini akan membuat file .ini dan generator.db. Jika pernah menginstal MCG, backup terlebih dahulu file .ini dan generator.db atau boleh di rename

#

#

#

Setting dan Lisensi

click menu 'Setting and Licensed' dan set apa yang kita inginkan.
Directory Output : jika dikosongkan akan menyimpan hasil script pada directory yang sama dengan program.

Contoh setting output untuk program mcg_005:

#

Contoh setting output untuk program mcg_012:

#

Program ter-registrasi dan ter-lisensi:

#

Note:
Lisensi Envato masih dalam rencana.
Jangan men-share nomor registrasi anda kepada orang lain.

Membuat script CRUD yang banyak sekali

click menu 'Source Data'.
Ada 3 bagian menu dan anda harus mengisinya disetiap bagian menu tersebut.
bagian menu itu adalah Control-Menu, Grid-Menu, and Field-Menu.



Control Menu:

Anda harus mengisi nama file yang akan menjadi nama output



Grid Menu:

Anda diharuskan mengisi nama tabel, nama tabel digunakan untuk menyimpan field yang dibuat pada Field-Menu.



Field Menu:

Fieldname harus diisi dengan data, kemudian pilih fieldtype yang sesuai.
Setiap tabel harus memiliki SATU field dengan tipe AUTOINC-PRIMARYKEY.
Field tipe AUTOINC-PRIMARYKEY adalah field tipe INTEGER.
Untuk kolom Attribute, isi dengan HIDDEN jika Fieldtype adalah AUTOINC-PRIMARYKEY.



Contoh masukan data:

  • Data-1
    • Control Menu:
      • File Name: sex
      • Title: Tabel Sex
      • Menu Icon: fa-circle
      • Menu Folder: TABLE
      • Description: Tabel Sex

    • Grid Menu:
      • Tablename: sex
      • Title: sex

    • Field Menu:
      • Fieldname: sex_id
      • Fieldtype: AUTOINC-PRIMARYKEY
      • Attribute: HIDDEN
      • Title: Sex ID

      • Fieldname: sex_desc
      • Fieldtype: VARCHAR
      • Attribute: NORMAL
      • Title: Sex Description
      • Validation - Data Is Unique: {"y","Data double."}
      • Validation - Data Required: {"y","Data required."}
      • Show at Lookup: YES


  • Data-2
    • Control Menu:
      • File Name: edu
      • Title: Table Education Level
      • Menu Icon: fa-circle
      • Menu Folder: TABLE
      • Description: Table Education Level

    • Grid Menu:
      • Tablename: edu
      • Title: edu

    • Field Menu:
      • Fieldname: edu_id
      • Fieldtype: AUTOINC-PRIMARYKEY
      • Attribute: HIDDEN
      • Title: Edu ID

      • Fieldname: edu_code
      • Fieldtype: VARCHAR
      • Attribute: NORMAL
      • Title: Edu Code
      • Validation - Data Is Unique: {"y","Data double."}
      • Validation - Data Required: {"y","Data required."}

      • Fieldname: edu_desc
      • Fieldtype: VARCHAR
      • Attribute: NORMAL
      • Title: Edu Description
      • Validation - Data Required: {"y","Data required."}
      • Show at Lookup: YES


  • Data-3
    • Control Menu:
      • File Name: emp
      • Title: Employee
      • Menu Icon: fa-circle
      • Menu Folder: MASTER
      • Description: Employee

    • Grid Menu:
      • Tablename: emp
      • Title: emp

    • Field Menu:
      • Fieldname: emp_id
      • Fieldtype: AUTOINC-PRIMARYKEY
      • Attribute: HIDDEN
      • Title: Emp ID

      • Fieldname: emp_name
      • Fieldtype: VARCHAR
      • Attribute: NORMAL
      • Title: Emp Name
      • Show at Lookup: YES

      • Fieldname: emp_bday
      • Fieldtype: DATE
      • Attribute: NORMAL
      • Title: Birth Day

      • Fieldname: sex_id
      • Fieldtype: LOOKUP-COMBO
      • Attribute: HIDDEN

      • Fieldname: sex_desc
      • Fieldtype: RELATION
      • Attribute: NORMAL

      • Fieldname: edu_code
      • Fieldtype: LOOKUP-COMBO
      • Attribute: HIDDEN

      • Fieldname: edu_desc
      • Fieldtype: RELATION
      • Attribute: NORMAL


#

Generate Code

Data akan dibuat jika tidak ada kesalahan dalam Source Data. Anda dapat melihat di Log Monitor.
Jika ada kesalahan, perbaiki kesalahan Anda, dan ulangi lagi proses ini.
Hasil file akan dibuat di Directory Output.

#

#



Hasil output di www directory untuk mcg_005:

#

Bagaimana menggunakan SQL script hasil dari output MCG

Buka database-tool favourite anda, create database kemudian beri nama database-nya dengan nama: mcg_db

run atau copy paste script dari hasil output MGC tool: ~merge_table_all.sql

#

jika anda menggunakan PhpMyAdmin

#

run atau copy paste ~merge_sql_all.sql

#

jika anda menggunakan PhpMyAdmin

#

Bagaimana mengetes SQL script hasil dari output MCG

Ada 2 cara untuk mengetes SQL script dari output MCG

1. Perintah umum:

INSERT INTO sex (sex_id, sex_desc) VALUES
(1, 'Laki-laki'),
(2, 'Perempuan');


INSERT INTO edu (edu_id, edu_code, edu_desc) VALUES
(1, 'TK', 'Taman Kanak-kanak'),
(2, 'SD', 'Sekolah Dasar'),
(3, 'SMP', 'Sekolah Menengah Pertama'),
(4, 'SMU', 'Sekolah Menengah Umum'),
(5, 'UNIV', 'Universitas');


UPDATE sex SET
	sex_desc='Male'
WHERE 
	sex_id=1
		

DELETE FROM sex
WHERE 
	sex_id=1


SELECT sex.sex_id, sex.sex_desc
FROM sex




2. Memanggil script hasil dari output MCG:

CALL sex_one_add(1, 'Laki-laki');
CALL sex_one_add(2, 'Perempuan');

CALL sex_one_edit(1, 'Male');

CALL sex_one_delete(1);

SELECT * from  sex_one_view;



jika anda menggunakan PhpMyAdmin

#

Note: anda harus membuat MySql database dengan nama database: mcg_db

File/Directory Structure Web Server

Structure mcg_005:
#

Structure mcg_012:

---reserved

Contoh kode PHP dengan PDO Connection

Contoh berikut menggunakan PDO connection, untuk meng-aktif-kan PDO connection ada pada file php.ini,
anda harus menghilangkan/uncomment pada baris-baris berikut:

  • extension=pdo_mysql
  • extension=pdo_pgsql
Setelah mengubahnya kemudian restart web server anda.


Untuk program mcg_005, contoh ada pada directory mcg_testing
Copy file contoh tersebut ke webserver yang anda targetkan:
httdocs atau mungkin www

Kamu dapat memanggilnya pada browser dengan:

http://localhost/mcg_testing/mcg_005/sex.php
http://localhost/mcg_testing/mcg_005/edu.php
http://localhost/mcg_testing/mcg_005/emp.php

Note: anda harus membuat MySql database dengan nama database: mcg_db
atau anda dapat mengganti databasename kemudian set file inc/conn.php

Contoh Standar kode PHP

		foreach ($rows as $row){
			if($row["sex_id"] == null || $row["sex_id"] == "") $row["sex_id"] = "0";
			if($row["sex_desc"] == null) $row["sex_desc"] = "";

			$sql = "CALL sex_one_edit";
			$sql .= " (";
			$sql .= ":sex_id";
			$sql .= ",:sex_desc";
			$sql .= ")";

			$rs = $myconn->prepare($sql);
			$rs->bindParam(':sex_id', $row['sex_id']);
			$rs->bindParam(':sex_desc', $row['sex_desc']);
			$rs->execute();
		}				

Contoh kode PHP dengan Codeigniter 4

  • Controllers
  • 
    	public function saveedit_one($id)
    	{
    		$arrResult=$this->Sex_model->saveedit_one([
    			'sex_id' => $id
    			, 'sex_desc' => $this->request->getVar('sex_desc')
            ]);
    		session()->setFlashdata('pesan', 'Data berhasil diubah.');
    		return redirect()->to('/sex');
    	}	
    	
    
  • Models
  • 
        public function saveedit_one($arrdata)
    	{
    		$sql_edit = " CALL Sex_one_edit";
    		$sql_edit.= " (";
    		$sql_edit.= "'".$arrdata['sex_id']."'";
    		$sql_edit.= ",'".$arrdata['sex_desc']."'";
    		$sql_edit.= ")";
    		return $this->db->query($sql_edit)->getRowArray();
    	}	
    
#

Quick: speed up script file creation

#

Fast: generate a CRUD file PHP and SQL script

#

Easy: output script file can be used directly