Final Project Pemrograman Berbasis Kerangka Kerja

Nama: Vito Febrian Ananta

NRP: 5025211224

Kelas: Pemrograman Berbasis Kerangka Kerja (B)

Tahun: 2023


Final Project PBKK: Implementasi Aplikasi E-Commerce Tiara Brand menggunakan Framework CodeIgniter


Paper:
Link jurnal: journal.lemabagakita

Pertanyaan:

1. Buatlah deskripsi studi kasus aplikasi ditinjau dari MVC-nya (individu)
2. Buatlah rancangan umum arsitektur atau fitur yang ada dalam aplikasi  (individu)
3. Rancang desain database-nya  (individu)
4. Buat desain frontend (individu)
5. Tentukan Control yang akan menghandle logika backend.  (individu)
6. Implementasi-kan rancangan yang sudah dibuat  menggunakan Framework NET, CI ataupun Framework Google (pilih salah satu - bisa kelompok maksimal 3)
7. Buat video presentasi, upload di youtube, dan didokumentasikan di blog.


Jawaban:

1. Deskripsi Studi Kasus: Implementasi Aplikasi E-Commerce Tiara Brand menggunakan Framework CodeIgniter

- Konteks aplikasi:
Tiara Brand merupakan produsen pakaian dengan penjualan produk yang saat ini dilakukan melalui promosi di media sosial. Proses penjualan menggunakan platform sosial media, terutama WhatsApp, dianggap kurang efisien karena menyulitkan pelanggan dalam melakukan pemesanan. Pemilik usaha juga mengalami kendala dalam mempromosikan produk secara luas. Untuk mengatasi permasalahan ini, dilakukan penelitian untuk merancang dan mengembangkan aplikasi e-commerce berbasis website menggunakan framework CodeIgniter. Hal ini bertujuan untuk memudahkan pelanggan dalam berbelanja produk Tiara Brand secara langsung melalui satu platform website. Selain itu, pemilik usaha juga dapat mengelola transaksi dengan lebih efektif dan mempromosikan produk tanpa batasan geografis.

- Teknologi:
Menggunakan framework PHP, yaitu CodeIgniter, sebagai basis pembangunan aplikasi e-commerce ini. Ini memberikan struktur dan fungsionalitas yang diperlukan untuk mempermudah pengembangan dan manajemen aplikasi.

- Model:
Entitas dalam model aplikasi mencakup:

  • User (customer, guest, admin): Mewakili peran pengguna dalam sistem.
  • Kategori: Menyimpan informasi tentang kategori produk yang tersedia.
  • Pakaian: Mendeskripsikan detail setiap produk yang dijual oleh Tiara Brand.
  • Item Keranjang: Tempat penyimpanan sementara untuk produk yang dipilih oleh pelanggan sebelum pembelian.
  • Keranjang: Mencatat informasi terkait setiap transaksi pembelian produk.
- View:
Tampilan dalam aplikasi mencakup:
  • Halaman landing: Menampilkan informasi utama dan menarik bagi pengunjung.
  • Daftar kategori (list kategoru): Menampilkan daftar kategori yang tersedia.
  • Daftar produk (list pakaian): Menampilkan katalog produk yang tersedia.
  • Detail produk: Halaman khusus untuk menampilkan detail produk.
  • Keranjang belanja: Tampilan yang memungkinkan pelanggan untuk mengelola produk yang akan dibeli.
  • Transaksi: Tampilan untuk melihat riwayat transaksi.
  • Detail transaksi: Halaman khusus yang menampilkan informasi terperinci mengenai setiap transaksi.
- Controller:
Controller bertanggung jawab atas:
  • Mengatur logika aplikasi serta menghubungkan model dan view.
  • Memproses input dari pengguna dan mengarahkan alur aplikasi sesuai kebutuhan.
  • Mengelola aliran informasi dan data di antara model dan view.
- Hubungan dan Interaksi:
  • Pelanggan diharuskan untuk membuat akun sebelum melakukan transaksi, termasuk registrasi dan login.
  • Pelanggan dapat menjelajahi produk, menambahkan ke keranjang belanja, dan melakukan pembayaran.
  • Admin Tiara Brand bertanggung jawab untuk mengelola kategori produk, konfirmasi pembayaran, serta mengubah status pesanan sesuai dengan proses yang berlangsung
2. Rancangan umum arsitektur atau fitur yang ada dalam aplikasi.
- Autentikasi Pengguna
  • Registrasi: Memungkinkan pengguna untuk membuat akun baru.
  • Login: Memungkinkan pengguna untuk masuk ke dalam aplikasi menggunakan kredensial yang tepat.
-  Manajemen Kategori
  • Katalog Kategori: Menampilkan daftar kategori yang tersedia.
- Manajemen Produk
  • Katalog Produk: Menampilkan daftar produk yang tersedia dengan detail seperti nama, deskripsi, harga, gambar, dll.
  • Detail Produk: Halaman khusus yang menampilkan informasi terperinci mengenai suatu produk.
- Keranjang Belanja
  • Penyimpanan Sementara Produk: Memungkinkan pengguna untuk menambahkan produk yang ingin dibeli sebelum melakukan pembayaran.
  • Edit dan Hapus Produk: Kemampuan untuk mengedit atau menghapus produk yang telah ditambahkan ke keranjang belanja.
- Proses Pembelian
  • Checkout: Memungkinkan pengguna untuk melihat ringkasan pembelian dan melakukan transaksi.
- Manajemen Transaksi
  • Riwayat Transaksi: Menyimpan riwayat transaksi yang telah dilakukan oleh pengguna.
  • Status Pesanan: Fitur untuk melacak status pesanan, seperti pesanan diproses, dalam pengiriman, atau sudah diterima.
- Manajemen Admin
  • Manajemen Kategori: Memungkinkan admin untuk menambah, mengubah, atau menghapus kategori (CRUD kategori).
  • Manajemen Pakaian: Memungkinkan admin untuk menambah, mengubah, atau menghapus produk (CRUD pakaian).
  • Konfirmasi Pembayaran: Admin dapat mengonfirmasi pembayaran dari pelanggan serta mengatur status transaksi.
- Integrasi Sosial Media
  • Pembagian Produk: Kemampuan untuk membagikan atau mengiklankan produk melalui platform sosial media untuk meningkatkan visibilitas.
3. Rancangan database
- Tabel pakaian:
Berisi informasi tentang produk pakaian yang dijual di toko online.
Kolom-kolomnya meliputi:
  • id: Identifikasi unik untuk setiap produk.
  • title: Judul atau nama produk.
  • slug: Sebuah string yang digunakan dalam URL untuk mengidentifikasi produk.
  • deskripsi: Deskripsi singkat tentang produk.
  • ukuran: Ukuran pakaian yang tersedia.
  • harga: Harga produk.
  • stok: Jumlah stok produk yang tersedia.
  • gambar: Nama file gambar produk.
  • kategori_id: Kunci asing yang terhubung dengan tabel kategori.
  • created_at dan updated_at: Waktu pembuatan dan pembaruan data.
- Tabel itemKeranjang:
Menyimpan detail produk yang ditambahkan ke dalam keranjang belanja.
Kolom-kolomnya termasuk:
  • id: Identifikasi unik untuk setiap item.
  • keranjang_id: Kunci asing yang mengacu pada tabel keranjang.
  • pakaian_id: Kunci asing yang mengacu pada tabel pakaian.
  • kuantitas: Jumlah produk yang ditambahkan ke keranjang.
  • created_at dan updated_at: Waktu pembuatan dan pembaruan data.
- Tabel keranjang:
Menyimpan informasi tentang keranjang belanja pengguna.
Kolom-kolomnya termasuk:
  • id: Identifikasi unik untuk setiap keranjang.
  • isActive: Menandakan apakah keranjang masih aktif.
  • isDone: Menandakan apakah transaksi keranjang sudah selesai.
  • totalHarga: Total harga dari semua item dalam keranjang.
  • pengguna_id: Kunci asing yang mengacu pada tabel pengguna.
  • created_at dan updated_at: Waktu pembuatan dan pembaruan data.
- Tabel kategori:
Berisi informasi tentang kategori-kategori yang diterapkan pada produk.
Kolom-kolomnya termasuk:
  • id: Identifikasi unik untuk setiap kategori.
  • nama: Nama kategori.
  • slug: Sebuah string yang digunakan dalam URL untuk mengidentifikasi kategori.
  • created_at dan updated_at: Waktu pembuatan dan pembaruan data.
- Tabel pengguna:
Berisi informasi pengguna atau pelanggan di toko online.
Kolom-kolomnya termasuk:
  • id: Identifikasi unik untuk setiap pengguna.
  • namaDepan dan namaBelakang: Nama depan dan belakang pengguna.
  • email: Alamat email pengguna.
  • password: Kata sandi pengguna yang dienkripsi.
  • isAdmin: Menandakan apakah pengguna adalah admin atau tidak.
  • created_at dan updated_at: Waktu pembuatan dan pembaruan data.
Setiap tabel memiliki kunci utama (PRIMARY KEY) untuk identifikasi unik dan beberapa di antaranya memiliki kunci asing (FOREIGN KEY) yang menghubungkan tabel satu dengan yang lain untuk menjaga integritas referensial data. ForeignKey juga memiliki aksi ON DELETE dan ON UPDATE CASCADE, yang berarti jika ada pembaruan atau penghapusan pada suatu data di tabel utama, data yang terkait di tabel lain akan diperbarui atau dihapus secara otomatis untuk menjaga konsistensi.

Berikut gambar dari physical data model (PDM) dari aplikasi yang akan dibuat:


4. Berikut adalah desain dari halaman-halaman yang akan dibuat untuk studi kasus ini:
- Landing page:

- Daftar kategori:


- Daftar pakaian:

- Detail pakaian:

- Keranjang belanja:

- Riwayat transaksi:


- Detail transaksi:

5. Controller yang menghandle logika backend:
Dalam konteks aplikasi e-commerce Tiara Brand dengan implementasi framework CodeIgniter, beberapa bagian kontrol yang mungkin akan meng-handle logika back end meliputi:
  • UserController: Bertanggung jawab untuk proses autentikasi pengguna (registrasi, login, manajemen sesi).
  • PakaianController: Mengatur logika terkait manajemen produk (pakaian), termasuk penambahan, penghapusan, pengeditan pakaian.
  • KategoriController: Bertanggung jawab untuk manajemen kategori produk, termasuk penambahan, penghapusan, pengeditan kategori.
  • KeranjangController: Menangani interaksi terkait keranjang belanja.
  • ItemKeranjangController: Kontrol ini mengatur logika terkait item dalam keranjang belanja, seperti menambah, menghapus, atau mengubah jumlah item tertentu di dalam keranjang.
6. Implementasi (1 orang)
Anggota kelompok:
- Nama: Vito Febrian Ananta
- NRP: 5025211224
- Kelas: Pemrograman Berbasis Kerangka Kerja (B)
- Tahun: 2023

Source code implementasi dapat dilihat pada repository github berikut ini: vitoananta/pbkk-b-2023-fp-tiara-brand (github repository)

7. Video presentasi dapat dilihat pada video youtube di bawah ini:


Timeline:
  • 00.00 - 00.21: Pembukaan
  • 00.21 - 01.48: Deskripsi studi kasus
  • 01.48 - 03.45: Rancangan arsitektur dan fitur-fitur
  • 03.45 - 05.00: Rancangan database
  • 05.00 - 05.30: Desain-desain frontend
  • 05.30 - 06.24: Model (implementasi code)
  • 06.24 - 07.55: Controller + form validation (implementasi code) 
  • 07.55 - 09.00: View: partial view + component (implementasi code) 
  • 09.00 - 10.00: View
  • 10.00 - 10.50 : Mulai demo  view sebagai tamu
  • 10.50 - 13.00: Migration dan seeder
  • 13.00 - 13.30: Lanjutan view sebagai tamu
  • 13.30 - 15.40: Rgister
  • 15.40 - 15.50: Login
  • 15.50 - 16.45: View sebagai customer
  • 16.45 - 17.07: Share produk
  • 17.07 - 19.20: Keranjang
  • 19.20 - 19.30: Checkout
  • 19.30 - 20.35: Transaksi
  • 20.35 - 21.55: Transaksi dengan customer yang berbeda
  • 21.55 - 22.35: View sebagai admin
  • 22.35 - 24.00: CRUD Kategori
  • 24.00 - 28.30: CRUD Pakaian
  • 28.30 - 30.45: Konfirmasi transaksi
  • 30.45 - 32.03: Penutupan

Comments

Popular posts from this blog

Latihan 1 Membuat Aplikasi Desktop Sederhana (Calculator)

Latihan 3 Membuat Aplikasi dengan Windows Presentation Foundation (List Nama dan Dashboard)

Latihan 4 Membuat Aplikasi PhotoLab dengan Universal Windows Platform