<?xml version='1.0'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:atom="http://www.w3.org/2005/Atom" >
<channel>
	<title><![CDATA[Catatan Harian: Projek Sederhana }]]></title>
	<link>https://sharka.site/3blog/pages/view/82/projek-sederhana</link>
	<atom:link href="https://sharka.site/3blog/pages/view/82/projek-sederhana" rel="self" type="application/rss+xml" />
	<description><![CDATA[}]]></description>
		<item>
	<guid isPermaLink="true">https://sharka.site/3blog/pages/view/82/projek-sederhana</guid>
	<pubDate>Thu, 23 Oct 2025 19:57:40 +0800</pubDate>
	<link>https://sharka.site/3blog/pages/view/82/projek-sederhana</link>
	<title><![CDATA[Projek Sederhana ]]></title>
	<description><![CDATA[<div style="background-color:#ffffff;border-radius:16px;box-shadow:0 2px 10px rgba(0,0,0,0.1);color:#222;font-family:'Poppins',sans-serif;line-height:1.7;margin:auto;max-width:700px;padding:20px;width:100%;"><h2 style="color:#0d47a1;margin-bottom:10px;text-align:center;">💻 Proyek Sederhana CodeIgniter 4 (CRUD Lengkap)</h2><p style="text-align:justify;">Berikut contoh <strong>projek sederhana CodeIgniter 4 (CI4)</strong> yang menampilkan <i>landing page</i> dengan data dari database, serta fitur <strong>Tambah, Edit, dan Hapus</strong> data produk. Tampilan responsif dan bisa digunakan untuk pembelajaran CRUD dasar.</p><hr><h3 style="color:#1565c0;">📘 1. Struktur Folder</h3><pre style="background-color:#e3f2fd;border-radius:10px;overflow:auto;padding:10px;"><code class="language-plaintext">
app/
 ├─ Controllers/
 │   └─ ProdukController.php
 ├─ Models/
 │   └─ ProdukModel.php
 ├─ Views/
 │   ├─ layout/
 │   │   ├─ header.php
 │   │   └─ footer.php
 │   ├─ landingpage.php
 │   ├─ tambah_produk.php
 │   ├─ edit_produk.php
 │   └─ tentang.php
  </code></pre><h3 style="color:#1565c0;">🧩 2. Database (MySQL)</h3><pre style="background-color:#f1f8e9;border-radius:10px;overflow:auto;padding:10px;"><code class="language-plaintext">
CREATE DATABASE db_toko;
USE db_toko;

CREATE TABLE produk (
  id INT AUTO_INCREMENT PRIMARY KEY,
  nama_produk VARCHAR(100),
  harga INT
);

INSERT INTO produk (nama_produk, harga) VALUES
('Buku Tulis', 5000),
('Pensil 2B', 3000);
  </code></pre><h3 style="color:#1565c0;">🧭 3. Routes – <code>app/Config/Routes.php</code></h3><pre style="background-color:#fff3e0;border-radius:10px;overflow:auto;padding:10px;"><code class="language-plaintext">
$routes-&gt;get('/', 'ProdukController::index');
$routes-&gt;get('/tentang', 'ProdukController::tentang');
$routes-&gt;get('/produk/tambah', 'ProdukController::tambah');
$routes-&gt;post('/produk/simpan', 'ProdukController::simpan');
$routes-&gt;get('/produk/edit/(:num)', 'ProdukController::edit/$1');
$routes-&gt;post('/produk/update/(:num)', 'ProdukController::update/$1');
$routes-&gt;get('/produk/hapus/(:num)', 'ProdukController::hapus/$1');
  </code></pre><h3 style="color:#1565c0;">🧠 4. Model – <code>app/Models/ProdukModel.php</code></h3><pre style="background-color:#e3f2fd;border-radius:10px;overflow:auto;padding:10px;"><code class="language-plaintext">
&lt;?php
namespace App\Models;
use CodeIgniter\Model;

class ProdukModel extends Model {
  protected $table = 'produk';
  protected $primaryKey = 'id';
  protected $allowedFields = ['nama_produk', 'harga'];
}
  </code></pre><h3 style="color:#1565c0;">🎛️ 5. Controller – <code>app/Controllers/ProdukController.php</code></h3><pre style="background-color:#f1f8e9;border-radius:10px;overflow:auto;padding:10px;"><code class="language-plaintext">
&lt;?php
namespace App\Controllers;
use App\Models\ProdukModel;

class ProdukController extends BaseController {
  public function index() {
    $model = new ProdukModel();
    $data['produk'] = $model-&gt;findAll();
    return view('landingpage', $data);
  }

  public function tentang() {
    return view('tentang');
  }

  public function tambah() {
    return view('tambah_produk');
  }

  public function simpan() {
    $model = new ProdukModel();
    $model-&gt;save([
      'nama_produk' =&gt; $this-&gt;request-&gt;getPost('nama_produk'),
      'harga' =&gt; $this-&gt;request-&gt;getPost('harga')
    ]);
    return redirect()-&gt;to('/');
  }

  public function edit($id) {
    $model = new ProdukModel();
    $data['produk'] = $model-&gt;find($id);
    return view('edit_produk', $data);
  }

  public function update($id) {
    $model = new ProdukModel();
    $model-&gt;update($id, [
      'nama_produk' =&gt; $this-&gt;request-&gt;getPost('nama_produk'),
      'harga' =&gt; $this-&gt;request-&gt;getPost('harga')
    ]);
    return redirect()-&gt;to('/');
  }

  public function hapus($id) {
    $model = new ProdukModel();
    $model-&gt;delete($id);
    return redirect()-&gt;to('/');
  }
}
  </code></pre><h3 style="color:#1565c0;">🧱 6. Header &amp; Footer (layout)</h3><p><strong>app/Views/layout/header.php</strong></p><pre style="background-color:#fff3e0;border-radius:10px;overflow:auto;padding:10px;"><code class="language-plaintext">
&lt;div style="background:#0d47a1;padding:10px;text-align:center;"&gt;
  &lt;h2 style="color:white;margin:0;"&gt;🛒 Toko Delta Marena&lt;/h2&gt;
  &lt;div style="margin-top:10px;"&gt;
    &lt;a href="/" style="color:white;margin:0 15px;text-decoration:none;"&gt;Home&lt;/a&gt;
    &lt;a href="/produk/tambah" style="color:white;margin:0 15px;text-decoration:none;"&gt;Tambah Produk&lt;/a&gt;
    &lt;a href="/tentang" style="color:white;margin:0 15px;text-decoration:none;"&gt;Tentang&lt;/a&gt;
  &lt;/div&gt;
&lt;/div&gt;
  </code></pre><p><strong>app/Views/layout/footer.php</strong></p><pre style="background-color:#fff3e0;border-radius:10px;overflow:auto;padding:10px;"><code class="language-plaintext">
&lt;div style="background:#0d47a1;color:white;text-align:center;padding:10px;margin-top:20px;"&gt;
  &lt;p style="margin:0;"&gt;&amp;copy; &lt;?= date('Y'); ?&gt; Delta Marena&lt;/p&gt;
&lt;/div&gt;
  </code></pre><h3 style="color:#1565c0;">🏠 7. View Landing Page – <code>landingpage.php</code></h3><pre style="background-color:#e3f2fd;border-radius:10px;overflow:auto;padding:10px;"><code class="language-plaintext">
&lt;!DOCTYPE html&gt;
&lt;html lang="id"&gt;
&lt;head&gt;
  &lt;meta charset="UTF-8"&gt;
  &lt;meta name="viewport" content="width=device-width,initial-scale=1.0"&gt;
  &lt;title&gt;Landing Page&lt;/title&gt;
&lt;/head&gt;
&lt;body style="font-family:'Poppins',sans-serif;margin:0;background:#e3f2fd;"&gt;
  &lt;?= view('layout/header'); ?&gt;
  &lt;div style="max-width:600px;margin:20px auto;padding:20px;background:white;border-radius:12px;"&gt;
    &lt;h2 style="color:#0d47a1;text-align:center;"&gt;Daftar Produk&lt;/h2&gt;
    &lt;table style="width:100%;border-collapse:collapse;"&gt;
      &lt;thead&gt;
        &lt;tr style="background:#bbdefb;"&gt;
          &lt;th style="padding:8px;border:1px solid #ccc;"&gt;Nama&lt;/th&gt;
          &lt;th style="padding:8px;border:1px solid #ccc;"&gt;Harga&lt;/th&gt;
          &lt;th style="padding:8px;border:1px solid #ccc;"&gt;Aksi&lt;/th&gt;
        &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
        &lt;?php foreach($produk as $p): ?&gt;
        &lt;tr&gt;
          &lt;td style="padding:8px;border:1px solid #ccc;"&gt;&lt;?= esc($p['nama_produk']); ?&gt;&lt;/td&gt;
          &lt;td style="padding:8px;border:1px solid #ccc;"&gt;Rp &lt;?= number_format($p['harga'],0,',','.'); ?&gt;&lt;/td&gt;
          &lt;td style="padding:8px;border:1px solid #ccc;text-align:center;"&gt;
            &lt;a href="/produk/edit/&lt;?= $p['id']; ?&gt;" style="color:#1565c0;text-decoration:none;"&gt;Edit&lt;/a&gt; |
            &lt;a href="/produk/hapus/&lt;?= $p['id']; ?&gt;" style="color:#d32f2f;text-decoration:none;" onclick="return confirm('Yakin hapus?')"&gt;Hapus&lt;/a&gt;
          &lt;/td&gt;
        &lt;/tr&gt;
        &lt;?php endforeach; ?&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
  &lt;?= view('layout/footer'); ?&gt;
&lt;/body&gt;
&lt;/html&gt;
  </code></pre><h3 style="color:#1565c0;">➕ 8. View Tambah Produk – <code>tambah_produk.php</code></h3><pre style="background-color:#f1f8e9;border-radius:10px;overflow:auto;padding:10px;"><code class="language-plaintext">
&lt;form action="/produk/simpan" method="post" style="max-width:500px;margin:auto;padding:20px;background:white;border-radius:12px;"&gt;
  &lt;h2 style="text-align:center;color:#2e7d32;"&gt;Tambah Produk&lt;/h2&gt;
  &lt;label&gt;Nama Produk&lt;/label&gt;
  &lt;input type="text" name="nama_produk" style="width:100%;padding:8px;margin:8px 0;border:1px solid #ccc;border-radius:6px;" required&gt;
  &lt;label&gt;Harga&lt;/label&gt;
  &lt;input type="number" name="harga" style="width:100%;padding:8px;margin:8px 0;border:1px solid #ccc;border-radius:6px;" required&gt;
  &lt;button type="submit" style="background:#2e7d32;color:white;padding:10px 20px;border:none;border-radius:8px;"&gt;Simpan&lt;/button&gt;
&lt;/form&gt;
  </code></pre><h3 style="color:#1565c0;">✏️ 9. View Edit Produk – <code>edit_produk.php</code></h3><pre style="background-color:#fff3e0;border-radius:10px;overflow:auto;padding:10px;"><code class="language-plaintext">
&lt;form action="/produk/update/&lt;?= $produk['id']; ?&gt;" method="post" style="max-width:500px;margin:auto;padding:20px;background:white;border-radius:12px;"&gt;
  &lt;h2 style="text-align:center;color:#ef6c00;"&gt;Edit Produk&lt;/h2&gt;
  &lt;label&gt;Nama Produk&lt;/label&gt;
  &lt;input type="text" name="nama_produk" value="&lt;?= esc($produk['nama_produk']); ?&gt;" style="width:100%;padding:8px;margin:8px 0;border:1px solid #ccc;border-radius:6px;" required&gt;
  &lt;label&gt;Harga&lt;/label&gt;
  &lt;input type="number" name="harga" value="&lt;?= esc($produk['harga']); ?&gt;" style="width:100%;padding:8px;margin:8px 0;border:1px solid #ccc;border-radius:6px;" required&gt;
  &lt;button type="submit" style="background:#ef6c00;color:white;padding:10px 20px;border:none;border-radius:8px;"&gt;Update&lt;/button&gt;
&lt;/form&gt;
  </code></pre><h3 style="color:#1565c0;">ℹ️ 10. View Tentang Kami – <code>tentang.php</code></h3><pre style="background-color:#e3f2fd;border-radius:10px;overflow:auto;padding:10px;"><code class="language-plaintext">
&lt;div style="max-width:600px;margin:auto;padding:20px;background:white;border-radius:12px;"&gt;
  &lt;h2 style="color:#0d47a1;text-align:center;"&gt;Tentang Kami&lt;/h2&gt;
  &lt;p style="text-align:justify;"&gt;
    Kami adalah toko sederhana bernama &lt;strong&gt;Delta Marena&lt;/strong&gt; yang menjual perlengkapan sekolah.
    Sistem ini dibuat untuk latihan CRUD di CodeIgniter 4.
  &lt;/p&gt;
&lt;/div&gt;
  </code></pre><hr><h3 style="color:#1565c0;">✅ Hasil Akhir</h3><ul><li><strong>Home</strong> – Menampilkan daftar produk (bisa Edit &amp; Hapus)</li><li><strong>Tambah Produk</strong> – Form tambah data</li><li><strong>Edit Produk</strong> – Mengubah data</li><li><strong>Tentang Kami</strong> – Halaman statis</li></ul><p style="color:#1565c0;font-weight:500;margin-top:20px;text-align:center;">🚀 Proyek ini siap kamu kembangkan menjadi aplikasi toko, inventaris, atau katalog produk.</p></div>]]></description>
	<dc:creator>Muh.Taqiuddin.S</dc:creator>		</item>
</channel>
</rss>
