Skip to main content

EAS MPPL - Demo dan Dokumentasi EAS

 EAS MPPL 2021 Pada kesempatan ini kelompok kami akan menjelaskan salah satu produk perangkat lunak milik Zoho yaitu Zoho Marketing Automation yang dikerjakan secara berkelompok yang beranggotakan: Ricky Supriyanto 05111940000036 Arvel Gavrilla R 05111940000040 M Arif Faizin 05111940000060 Zulfiqar Fauzul Akbar 05111940000101 Raihan Alifianto 05111940000213 Dengan hasil sebagai berikut 1. Deskripsi Produk 2. Manajemen Ruang Lingkup 3. Manajemen Waktu 4. Manajemen Biaya 5. Manajemen Resiko 6. Video demo

Tugas 7 PBKK - CodeIgniter : CRUD

CRUD (Create, Read, Update, dan Delete) merupakan proses utama dalam website. Proses CRUD memungkinkan pengguna dapat berinteraksi dengan layanan yang disajikan dengan benar.

Dalam postingan ini, saya akan menjelaskan cara membuat CRUD (Create, Read, Update, dan Delete) menggunakan framework CodeIgniter 4. Langsung saja, berikut langkah-langkahnya :

  1. Sebelum membuat CRUD, buat terlebih dahulu database baru dengan nama "crud-codeigniter" dan buat sebuah tabel dengan nama "mahasiswa" dengan struktur tabel seperti berikut ini:


  2. Kemudian edit file app/Config/database.php dan sesuaikan nama dan pengaturan database agar sesuai dengan database
  3. Tambahkan beberapa data dummy agar dapat dilihat hasilnya



Selanjutnya, kita akan menampilkan data dari database terlebih dahulu atau proses Read. Ikuti langkah berikut :

  1. Buat sebuah file baru  di app/Models/MahasiswaModel.php, lalu isikan dengan kode berikut
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    <?php
    
    namespace App\Models;
    
    use CodeIgniter\Model;
    
    class MahasiswaModel extends Model
    {
        protected $table      = 'mahasiswa';
        protected $primaryKey = 'id';
    
        protected $useAutoIncrement = true;
        
    }
    
  2. Kemudian buat route baru pada app/Config/routes.php dengan menambahkan baris berikut
    1
    2
    $routes->get('/mahasiswa', 'News::index');
    $routes->get('/mahasiswa/(:any)', 'News::viewMahasiswa/$1');
    
  3. Lalu atur tampilan view dari welcome sehingga berbentuk seperti ini

  4. Kemudian buat controller baru di app/Controllers/Mahasiswa.php dengan isi seperti ini

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    <?php
    
    namespace App\Controllers;
    
    use App\Models\MahasiswaModel;
    use CodeIgniter\Exceptions\PageNotFoundException;
    
    class Mahasiswa extends BaseController
    {
    	public function index()
    	{
            // buat object model $mahasiswa
    		$mahasiswa = new MahasiswaModel();
            
            /*
             siapkan data untuk dikirim ke view dengan nama $mahasiswas
            */
    		$data['mahasiswas'] = $mahasiswa->findAll();
    
            // kirim data ke view
    		return view('mahasiswa', $data);
    	}
    
    	//------------------------------------------------------------
    
    	public function viewMahasiswa($id)
    	{
    		$mahasiswa = new MahasiswaModel();
    		$data['mahasiswa'] = $mahasiswa->where([
    			'id' => $id
    		])->first();
    
            // tampilkan 404 error jika data tidak ditemukan
    		if (!$data['mahasiswa']) {
    			throw PageNotFoundException::forPageNotFound();
    		}
    
    		echo view('mahasiswa_detail', $data);
    	}
    }
    
  5. Lalu buat view app/Views/mahasiswa.php dengan isi seperti ini:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    <?= $this->extend('layout/main') ?>
    
    <?= $this->section('header') ?>
    	<header>
    	<div class="p-5 mb-4 bg-light rounded-3">
          <div class="container-fluid py-5">
            <h1 class="display-5 fw-bold">Mahasiswa</h1>
          </div>
        </div>
        </header>
    <?= $this->endSection() ?>
    
    <?= $this->section('content') ?>
        <div class="container">
            <a href="<?= base_url('mahasiswa/create') ?>" class="btn btn-success float-right mb-3">Tambah Mahasiswa Baru</a>
            <div class="table-responsive">
                <table class="table table-bordered">
                    <thead>
                        <th>No</th>
                        <th>Nama</th>
                        <th>Action</th>
                    </thead>
                    <tbody>
                        <?php 
                        foreach($mahasiswas as $key => $mahasiswa) { ?>
                        <tr>
                            <td><?= $key+1; ?></td>
                            <td><?= $mahasiswa['nama'] ?></td>
                            <td>
                                <div class="btn-group">
                                    <a href="<?= base_url('mahasiswa/edit/'.$mahasiswa['id']) ?>" class="btn btn-primary btn-sm">Edit</a>
                                    <a href="<?= base_url('mahasiswa/delete/'.$mahasiswa['id']) ?>" class="btn btn-danger btn-sm" onclick="return confirm('Apakah Anda yakin ingin menghapus produk <?= $mahasiswa['nama'] ?> ini?')">Hapus</a>
                                </div>
                            </td>
                        </tr>
                        <?php } ?>
                    </tbody>
                </table>
            </div>
        </div>
    <?= $this->endSection() ?>
    
  6. Kemudian buat view app/Views/mahasiswa_detail.php dengan isi seperti ini:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?= $this->extend('layout/main') ?>
    
    <?= $this->section('header') ?>
    	<header>
    	<div class="p-5 mb-4 bg-light rounded-3">
          <div class="container-fluid py-5">
            <h1 class="display-5 fw-bold"><?= $mahasiswa['nama'] ?></h1>
          </div>
        </div>
        </header>
    <?= $this->endSection() ?>
    
    <?= $this->section('content') ?>
            <div class="row">
                <div class="col-md-12 mb-2 card">
                    <div class="card-body">
                        <p>NRP: <?= $mahasiswa['nrp'] ?></p>
                        <p>Jurusan: <?= $mahasiswa['jurusan'] ?></p>
                        <p>Jenis Kelamin: <?= $mahasiswa['jenis kelamin'] ?></p>
                    </div>
                </div>
            </div>
    <?= $this->endSection() ?>
    

Kemudian buka halaman /mahasiswa maka tampilannya akan seperti ini



Lalu klik di salah satu item maka tampilannya akan seperti ini

Selanjutnya kita akan menambahkan data baru, atau proses Create. Ikuti langkahnya sebagai berikut :

  1. Tambahkan route baru di app/Config/routes.php untuk menampilkan view mahasiswa_create. Pastikan route tersebut berada sebelum route detail

    1
    $routes->match(['get', 'post'], '/mahasiswa/create', 'Mahasiswa::create');
    
  2. Buat view baru di app/Views/mahasiswa_create.php dan isi dengan kode berikut:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    <?= $this->extend('layout/main') ?>
    
    <?= $this->section('header') ?>
    	<header>
    	<div class="p-5 mb-4 bg-light rounded-3">
          <div class="container-fluid py-5">
            <h1 class="display-5 fw-bold">Mahasiswa Baru</h1>
          </div>
        </div>
        </header>
    <?= $this->endSection() ?>
    
    <?= $this->section('content') ?>
    <div class="container">
        <form method="POST" action="<?= base_url('mahasiswa/create') ?>">
            <div class="mb-3">
                <label for="nama" class="form-label">Nama</label>
                <input type="text" name="nama" class="form-control" id="nama">
            </div>
            <div class="mb-3">
                <label for="nrp" class="form-label">NRP</label>
                <input type="text" name="nrp" class="form-control" id="nrp">
            </div>
            <div class="mb-3">
                <label for="jurusan" class="form-label">Jurusan</label>
                <input type="text" name="jurusan" class="form-control" id="jurusan">
            </div>
            <div class="mb-3">
                <label for="jenis_kelamin" class="form-label">Jenis Kelamin</label>
                <select id="jenis_kelamin" name="jenis_kelamin" class="form-select">
                    <option value="Laki-laki">Laki-laki</option>
                    <option value="Perempuan">Perempuan</option>
                </select>
            </div>
            <button type="submit" class="btn btn-primary">Tambahkan Data Baru</button>
        </form>
    </div>
    <?= $this->endSection() ?>
    
  3. Tambahkan kode berikut pada controller app/Controllers/Mahasiswa.php

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    public function create()
        {
            // lakukan validasi
            $validation =  \Config\Services::validation();
            $validation->setRules(['nama' => 'required']);
            $isDataValid = $validation->withRequest($this->request)->run();
    		// return redirect('mahasiswa');
            // jika data valid, simpan ke database
            if($isDataValid){
                $mahasiswa = new MahasiswaModel();
                $mahasiswa->insert([
                    "nama" => $this->request->getPost('nama'),
                    "nrp" => $this->request->getPost('nrp'),
                    "jurusan" => $this->request->getPost('jurusan'),
                    "jenis_kelamin" => $this->request->getPost('jenis_kelamin'),
                ]);
    			session()->setFlashdata('success', 'Product created successfully');
                return redirect('mahasiswa');
            }
    		
            // tampilkan form create
            return view('mahasiswa_create');
        }
    

Kemudian buka kembali halaman /mahasiswa lalu pilih Tambah Mahasiswa Baru maka akan muncul tampilan berikut :


Lalu isikan data baru, dan pilih tambah, hasilnya data yang baru ditambahkan akan ditampilkan dalam list.

Sampai disini dulu, postingan kali ini, semoga bermanfaat, terima kasih



Comments

Popular posts from this blog

Tugas 4 PBKK - Menerapkan MVVM di Windows Presentation Foundation

Postingan kali ini akan membahas tentang cara membuat aplikasi menggunakan Windows Presentation Foundation (WPF) pada Visual Studio. Langsung saja, ikuti langkah-langkah berikut : Buka Visual Studio, pilih Create a New Project, kemudian pilih WPF Application C#, Windows, lalu pilih Next Kemudian buat project dengan nama "LatihanMVVM", lalu pilih Next Lalu pada Additional Information, pilih Create Kemudian isikan kode berikut pada MainWindow.xaml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 <Window x:Class= &q

Tugas 8 PBKK - CodeIgniter : Implemetasi CRUD dalam Toko Online

Nama Anggota : 05111840000132 -  Reihan Nanda Ramadhan  05111940000060 - Muhammad Arif Faizin  05111940000228 - Muhammad Arsyad Ardiansyah Pada post kali ini, kami akan menjelaskan mengenai toko online yang telah kami buat menggunakan CodeIgniter. Toko online kami ini bernama OutFact – Toko yang menjual berbagai barang fashion seperti baju, celana, masker dll. OutFact memiliki 2 role, yaitu Admin dan Customer. Sebelumnya kami akan menjelaskan apa saja fitur-fitur yang dimiliki oleh masing-masing role. Fitur yang ada pada role Customer adalah :           1. Registrasi           2. Login           3. Halaman Awal dan View Product           4. View Detail Product           5. Add product ke keranjang           6. Checkout ba

Tugas 9 MPPL - Membuat Kerangka Acuan Kerja, Prototipe Aplikasi, Manajemen Waktu, dan Manajemen Keuangan dari Proyek

  Pada postingan ini, saya akan menjelaskan Rancangan Keseluruhan dari Toko Online SSTORE. Nama Kelompok :  Muhammad Arif Faizin (05111940000060) Aji Wahyu Admaja Utama (05111940000073) Berikut detail dari Rancangan Kesluruhan dari proyek SSTORE yang telah kami kerjakan :  Kerangka Acuan Kerja Desain Prototipe Aplikasi Manajemen Waktu Manajemen Keuangan Video Presentasi