Ilmu Coding Ilmucoding.com - Merupakan situs yang membantu Anda belajar coding lebih mudah, nyaman, interaktif dan profesional. Belajar sekarang di ilmu coding. GRATIS

Sistem Informasi Penjualan dengan Codeigniter 4 #1 – Pengenalan dan Schema Database

4 min read

Sistem Informasi Penjualan Codeigniter 4

Inilah tutorial cara membuat aplikasi Sistem Informasi Penjualan dengan Codeigniter 4 part ke 1. Pada part ini Anda akan belajar tentang pengenalan aplikasi dan schema database yang akan di bangun menggunakan Codeigniter 4.

Mengapa Anda perlu mengikuti tutorial ini?

Pengenalan Sistem Informasi Penjualan Codeigniter 4

Saat ini sistem informasi merupakan hal yang sangat penting untuk didapatkan. Sekecil apapun informasi tersebut, dapat mengubah sesuatu yang berdampak, baik ke arah positif maupun negative. Namun, kita tidak membicarakan ke arah yang negative. Justru kita memerlukan informasi demi kebaikan.

Salah satunya adalah informasi penjualan. Dengan adanya informasi penjualan seseorang dapat memutuskan apa yang seharusnya ia lakukan terhadap bisnisnya. Ia bisa memanfaatkan informasi untuk memajukan dan mengembangkan bisnisnya.

Informasi tersebut tidak akan mudah didapatkan tanpa adanya IT. Posisi IT sangat penting agar informasi penjualan dapat diolah dengan baik, kemudian menjadi data yang sangat menguntungkan. Untuk itulah kali ini Ilmu Coding akan membuat system informasi penjualan dengan Codeigniter 4.

System Requirement

System ini akan dibangun dengan spesifikasi:

  1. Minimum PHP > 7.2
  2. Apache dan Mysql menggunakan XAMPP
  3. Template Frontend menggunakan AdminLTE
  4. Backend menggunakan Codeigniter 4

Preview Aplikasi

Gambar-gambar di bawah ini merupakan screenshot hasil project akhir.

Halaman Dashboard

Sistem Informasi Penjualan dengan Codeigniter 4 - Halaman Dashboard

Halaman Modul Category

Sistem Informasi Penjualan dengan Codeigniter 4 - Halaman Category

Halaman Modul Product

Sistem Informasi Penjualan dengan Codeigniter 4 - Halaman Product

Halaman Modul Transaction

Sistem Informasi Penjualan dengan Codeigniter 4 - Halaman Transaction

Halaman Login

Sistem Informasi Penjualan dengan Codeigniter 4 - Halaman Login

Halaman Register

Langkah-langkah Membuat Sistem Informasi Penjualan Codeigniter 4

Bagi Anda yang ingin segera membuat aplikasi seperti gambar di atas, silahkan ikuti tutorial ini sampai selesai.

Siap?

Berikut langkahnya:

Step 1 – Install Codeigniter 4

Pertama-tama yang perlu Anda lakukan adalah menginstall Codeigniter 4.

Silahkan kunjungi link berikut ini:

Tutorial Cara Install Codeigniter 4

Step 2 – Koneksikan dengan Database

Ada 2 cara untuk mengkoneksikan Codeigniter 4 dengan database. Anda bisa memilih salah satu yang paling mudah.

Silahkan baca tutorial lengkapnya di sini:

Cara Mengkoneksikan Codeigniter 4 dengan Database

Step 3 – Ubah Env dari Production jadi Development

Ini salah satu hal yang paling penting. Saat baru pertama kali download / install Codeigniter 4, by default, environment yang aktif adalah production. Anda perlu mengubahnya jadi development agar lebih mudah dalam proses development.

Silahkan baca tutorial lengkapnya di link berikut:

Cara Ubah Env dari Production jadi Development

Step 4 – Menyiapkan Database

Pada proyek ini akan menggunakan 4 table, yaitu categories, products, transactions dan users.

Gambarannya seperti ini:

Langkah 1: Membuat table categories

Silahkan ketik command berikut:

php spark migrate:create categories

Kemudian silahkan buka file app/Config/Database/Migration

Buka file .php yang ujungnya ada _categories. Misalnya file 2020-03-26-173901_categories.php

Silahkan isi file tersebut dengan kode berikut:

<?php namespace App\Database\Migrations;

use CodeIgniter\Database\Migration;

class Categories extends Migration
{
	public function up()
	{
		$this->forge->addField([
			'category_id'			=> [
				'type'           	=> 'BIGINT',
				'constraint'     	=> 20,
				'unsigned'       	=> TRUE,
				'auto_increment' 	=> TRUE
			],
			'category_name'       	=> [
				'type'           	=> 'VARCHAR',
				'constraint'     	=> '100',
			],
			'category_status' 		=> [
				'type'           	=> 'ENUM',
				'constraint' 		=> "'Active','Inactive'",
				'default' 			=> 'Active'
			],
		]);
		$this->forge->addKey('category_id', TRUE);
		$this->forge->createTable('categories');
	}

	//--------------------------------------------------------------------

	public function down()
	{
		//
	}
}

Terakhir, simpan.

Di table ini, saya membuat field category_id menjadi primary key.

Perhatikan kode berikut:

$this->forge->addKey('category_id', TRUE);

Kode di atas merupakan cara membuat primary key di migration Codeigniter 4.

Langkah 2: Membuat table products

Silahkan ketik command berikut:

php spark migrate:create products

Kemudian silahkan buka file app/Config/Database/Migration

Buka file .php yang ujungnya ada _products. Misalnya file 2020-03-26-173901_products.php

Silahkan isi file tersebut dengan kode berikut:

<?php namespace App\Database\Migrations;

use CodeIgniter\Database\Migration;

class Products extends Migration
{
	public function up()
	{
		$this->db->enableForeignKeyChecks();
		$this->forge->addField([
			'product_id'			=> [
				'type'           	=> 'BIGINT',
				'constraint'     	=> 20,
				'unsigned'       	=> TRUE,
				'auto_increment' 	=> TRUE
			],
			'category_id'        	=> [
				'type'           	=> 'BIGINT',
				'constraint'     	=> 20,
				'unsigned'       	=> TRUE,
				'null'				=> TRUE
			],
			'product_name'       	=> [
				'type'           	=> 'VARCHAR',
				'constraint'     	=> '100',
			],
			'product_price'       	=> [
				'type'           	=> 'INT',
				'constraint'     	=> '11',
			],
			'product_sku'       	=> [
				'type'           	=> 'VARCHAR',
				'constraint'     	=> '100',
			],
			'product_status'       	=> [
				'type'           	=> 'ENUM',
				'constraint' 		=> "'Active','Inactive'",
        		'default' 			=> 'Active'
			],
			'product_image'       	=> [
				'type'           	=> 'VARCHAR',
				'constraint'     	=> '100',
				'null'           	=> TRUE,
			],
			'product_description' 	=> [
				'type'           	=> 'TEXT',
				'null'           	=> TRUE,
			],
		]);
		$this->forge->addKey('product_id', TRUE);
		$this->forge->addForeignKey('category_id','categories','category_id','CASCADE','CASCADE');
		$this->forge->createTable('products');
	}

	//--------------------------------------------------------------------

	public function down()
	{
		//
	}
}

Terakhir, simpan.

Pada table products, saya menentukan field category_id sebagai foreign key dengan tipe on delete dan on update cascade.

Perhatikan potongan kode berikut:

$this->forge->addForeignKey('category_id','categories','category_id','CASCADE','CASCADE');

CASCADE biasa saya gunakan untuk membuat field yang tersambung dapat berubah secara otomatis apabila terjadi delete atau update pada table utama.

Dalam hal ini, table catagories merupakan table utama atau biasa disebut data master.

Langkah 3: Membuat table transactions

Silahkan ketik command berikut:

 php spark migrate:create transactions

Kemudian silahkan buka file app/Config/Database/Migration

Buka file .php yang ujungnya ada _ transactions. Misalnya file 2020-03-26-173901_transactions.php

Silahkan isi file tersebut dengan kode berikut:

<?php namespace App\Database\Migrations;

use CodeIgniter\Database\Migration;

class Transactions extends Migration
{
	public function up()
	{
		$this->db->enableForeignKeyChecks();
		$this->forge->addField([
			'trx_id'				=> [
				'type'           	=> 'BIGINT',
				'constraint'     	=> 20,
				'unsigned'       	=> TRUE,
				'auto_increment' 	=> TRUE
			],
			'product_id'			=> [
				'type'           	=> 'BIGINT',
				'constraint'     	=> 20,
				'unsigned'       	=> TRUE,
				'null'				=> TRUE
			],
			'trx_price'       		=> [
				'type'           	=> 'INT',
				'constraint'     	=> '11',
			],
			'trx_date'       		=> [
				'type'           	=> 'DATE'
			],
		]);
		$this->forge->addKey('trx_id', TRUE);
		$this->forge->addForeignKey('product_id','products','product_id','CASCADE','CASCADE');
		$this->forge->createTable('transactions');
	}

	//--------------------------------------------------------------------

	public function down()
	{
		//
	}
}

Terakhir, simpan.

Pada table ini saya menentukan trx_id sebagai primary key dan product_id sebagai foreign keynya.

Untuk penjelasan sama halnya pada bagian category dan product di atas.

Langkah 4: Membuat table users

Silahkan ketik command berikut:

php spark migration:create users

Kemudian silahkan buka file app/Config/Database/Migration

Buka file .php yang ujungnya ada _ users. Misalnya file 2020-03-26-173901_users.php

Silahkan isi file tersebut dengan kode berikut:

<?php namespace App\Database\Migrations;

use CodeIgniter\Database\Migration;

class Users extends Migration
{
	public function up()
	{
		$this->forge->addField([
			'id'			=> [
				'type'           	=> 'BIGINT',
				'constraint'     	=> 20,
				'unsigned'       	=> TRUE,
				'auto_increment' 	=> TRUE
			],
			'username'       		=> [
				'type'           	=> 'VARCHAR',
				'constraint'     	=> '100',
			],
			'name'       			=> [
				'type'           	=> 'VARCHAR',
				'constraint'     	=> '100',
			],
			'email'       			=> [
				'type'           	=> 'VARCHAR',
				'constraint'     	=> '100',
			],
			'password'       		=> [
				'type'           	=> 'VARCHAR',
				'constraint'     	=> '255',
			],
			'status' 				=> [
				'type'           	=> 'ENUM',
				'constraint' 		=> "'Active','Inactive'",
				'default' 			=> 'Active'
			],
			'level' 				=> [
				'type'           	=> 'ENUM',
				'constraint' 		=> "'Admin','User'",
				'default' 			=> 'Admin'
			],
		]);
		$this->forge->addKey('id', TRUE);
		$this->forge->createTable('users');
	}

	//--------------------------------------------------------------------

	public function down()
	{
		//
	}
}

Terakhir, simpan.

Pada table ini saya hanya membuat primary keynya saja.

Step 5 – Migrate Database

Jika semua table sudah selesai dibuat, jalankan command berikut ini:

php spark migrate

Setelah command di atas dijalankan, maka di phpmyadmin akan terbentuk table-table yang sudah kita buat melalui migration.

Perhatikan gambar di bawah ini:

Salah satu kelebihan Codeigniter 4 ini adalah kemudahan membuat table dengan script saja. Ini akan mempermudah programmer bertukar informasi mengenai database tanpa harus download dan upload.

Step 6 – Insert Dummy User

Supaya ke depannya Anda bisa melakukan login, untuk itu Anda memerlukan insert 1 data user sebagai contoh.

Codeigniter 4 memfasilitasi fitur seed. Fitur ini memungkinkan Anda untuk menginsert data ke database melalui script dan command line.

Pertama-tama silahkan buat file bernama AdminSeeder.php dan simpan di direktori app/Database/Seeds

Kedua, silahkan ketik kode berikut:

<?php namespace App\Database\Seeds;

class AdminSeeder extends \CodeIgniter\Database\Seeder
{
    public function run()
    {
        $data = [
            'username'  => 'admin',
            'name'      => 'Admin',
            'email'     => 'admin@example.com',
            'password'  => '$2y$10$sOKww3LkoNzBtuW5SKxcJOVcY5eN3L1UsTMZpzgWLDd5MfiZ2mmNe',
            'status'    => 'Active',
            'level'     => 'Admin'
        ];
        $this->db->table('users')->insert($data);
    }
} 

Ketiga, simpan.

Keempat, jalankan command berikut ini untuk menambah data ke dalam table users.

php spark db:seed AdminSeeder

Ke depannya Anda bisa login dengan akun berikut:

Email: admin@example.com
Password: admin123

Pengantar

Demikianlah part #1 dari tutorial cara membuat aplikasi sistem informasi penjualan dengan Codeigniter 4. Aplikasi ini boleh dikatakan jauh dari sempurna. Untuk itu apabila mempunyai saran yang positif boleh sertakan di kolom komentar.

Untuk selanjutnya, tutorial part 2 akan membahas templating adminLTE.

Kunjungi Part 2: Templating

Jangan sungkan untuk share artikel ini agar makin banyak yang merasakan manfaatnya, tidak hanya Anda. Semoga jadi amal jariyah buat kita semua.

Aamiin.

Selamat belajar.

Download Source Code

Ilmu Coding Ilmucoding.com - Merupakan situs yang membantu Anda belajar coding lebih mudah, nyaman, interaktif dan profesional. Belajar sekarang di ilmu coding. GRATIS

2 Replies to “Sistem Informasi Penjualan dengan Codeigniter 4 #1 – Pengenalan…”

  1. waktu mengetik di terminal (VS Code)”“php spark migration:create users” muncul pesan error “Command “{0}” not found.

    kenapa ya ? maaf tadi salah.

Leave a Reply

Your email address will not be published. Required fields are marked *

Jika terbantu dengan artikel ini, silahkan share, beri komentar dan "klik" 1 kali pada iklan ya.