EAS PBKK

EAS PBKK D

Identitas

Nama    : Rycahaya Sri Hutomo
NRP      : 5025201046
Kelas     : Pemrograman Berbasis Kerangka Kerja (PBKK) D
Tahun    : 2023

Sistem POS Alfamart

Aplikasi kasir Alfamart, atau yang juga dikenal sebagai Point of Sale (POS), adalah sistem yang digunakan di toko-toko Alfamart untuk memproses transaksi pembelian dan pengelolaan inventaris

Aplikasi ini mempunyai spesifikasi sbb :
  • Aplikasi harus mampu memproses transaksi penjualan dengan cepat dan akurat.
  • Harus ada antarmuka kasir yang intuitif untuk memasukkan item belanjaan, mengatur kuantitas, dan menghitung total pembayaran.
  • Dukungan untuk berbagai metode pembayaran, seperti tunai, kartu kredit, dan e-wallet, harus tersedia.
  • Aplikasi harus menghasilkan struk atau faktur pembayaran yang mencantumkan detail pembelian kepada pelanggan.
  • Selain itu Aplikasi harus mendukung penerapan promosi dan diskon pada produk tertentu. Kemampuan untuk memasukkan kode promosi atau diskon saat transaksi dan menghitung ulang total pembayaran secara otomatis.
  • Aplikasi harus dapat menghasilkan laporan penjualan berdasarkan promosi atau diskon yang diterapkan.

Soal

  1. Bagaimana tahapan pembangunan aplikasi dengan memanfaatkan framework?
  2. Dalam membangun aplikasi kapan sebuah framework diperlukan dan kapan tidak memerlukan framework. Jelaskan
  3. Dengan menggunakan framework laravel buatlah deskribsi dan fitur  aplikasi sistem POS Alfamart
  4. Tuliskan struktur tabelnya
  5. Desain bentuk laporan output dalam bentuk pdf atau cetakan paper
  6. Implementasikan dan buat presentasi video
Untuk soal no 1-5 diselesaikan sampai pukul 16.00
Untuk soal no 6 boleh dikerjakan kelompok maksimal 3 paling lambat Sabtu 17 Juni 2023

Jawaban

1. Tahapan Pembangunan Aplikasi dengan Memanfaatkan Framework

Membangun aplikasi dengan memanfaatkan framework melibatkan beberapa tahapan yang umumnya diikuti dalam proses pengembangan. Tahapan-tahapan umum dalam membangun aplikasi dengan menggunakan framework adalah sebagai berikut:

a. Keuntungan menggunakan framework:

1) Analisis Kebutuhan
Tahap pertama adalah melakukan analisis kebutuhan untuk memahami secara mendalam apa yang harus dicapai oleh aplikasi yang akan dibangun. Pada tahap ini, diperlukan pemahaman yang jelas tentang fitur, fungsionalitas, dan tujuan dari aplikasi tersebut.

2) Desain Sistem
Setelah menganalisis kebutuhan, langkah selanjutnya adalah merancang sistem aplikasi. Desain sistem melibatkan pemodelan struktur data, perencanaan antarmuka pengguna, dan pengaturan arsitektur aplikasi secara keseluruhan. Hal ini mencakup pemilihan framework yang sesuai untuk pengembangan aplikasi.

3) Pembuatan Prototipe
Tahap ini melibatkan pembangunan prototipe awal aplikasi yang mencakup fitur-fitur utama. Prototipe ini bertujuan untuk memberikan gambaran awal tentang bagaimana aplikasi akan berfungsi dan memastikan bahwa kebutuhan pengguna dapat terpenuhi. Framework dapat digunakan untuk mempercepat proses pembangunan prototipe dengan menyediakan fitur-fitur dan komponen yang siap pakai.

4) Pengembangan Fungsionalitas
Setelah prototipe dibangun dan disetujui, langkah selanjutnya adalah mengembangkan fungsionalitas lengkap dari aplikasi. Pada tahap ini, fitur-fitur tambahan ditambahkan sesuai dengan kebutuhan dan spesifikasi yang telah ditetapkan. Framework menyediakan komponen dan utilitas yang siap digunakan untuk mempercepat pengembangan fungsionalitas aplikasi.

5) Pengujian
Setelah fungsionalitas selesai, aplikasi harus menjalani serangkaian pengujian untuk memastikan bahwa semua fitur berfungsi dengan baik dan aplikasi berfungsi seperti yang diharapkan. Pengujian mencakup pengujian unit, pengujian integrasi, pengujian fungsional, dan pengujian kinerja. Kerangka kerja dapat menyediakan alat dan utilitas pengujian yang memfasilitasi proses pengujian aplikasi. 

6) Penyempurnaan dan Debugging
Setelah pengujian, mungkin ditemukan bug atau masalah yang perlu diperbaiki. Fase ini memperbaiki kesalahan, memperbarui kode, dan menyempurnakan aplikasi berdasarkan umpan balik yang diterima selama pengujian. Framework dapat memberikan dukungan debug dan alat lain yang membantu meningkatkan aplikasi.

7) Implementasi dan Peluncuran
Setelah aplikasi dikembangkan dan melalui fase penyempurnaan, langkah selanjutnya adalah membawa aplikasi ke dalam lingkungan produksi dan meluncurkannya. Langkah ini meliputi melakukan konfigurasi server, instalasi, dan persiapan infrastruktur. Kerangka kerja dapat memberikan panduan dan alat untuk membantu penerapan dan proses peluncuran aplikasi.

8) Pemeliharaan dan Perbaikan
Setelah diluncurkan, aplikasi harus terus dipelihara dan diperbarui untuk memastikan kinerja yang optimal. Perbaikan bug, peningkatan fitur, dan penyesuaian untuk mengubah kebutuhan pengguna adalah bagian dari pemeliharaan aplikasi. Framework dapat memberikan dukungan dan pembaruan rutin untuk menjaga agar aplikasi tetap relevan dan aman.

2. Saat Sebuah Framework Diperlukan dan Tidak Diperlukan dalam Membangun Aplikasi

Penggunaan framework saat membangun aplikasi bergantung pada beberapa faktor, seperti kompleksitas proyek, tujuan aplikasi, dan kebutuhan pengembangan. 

a. Saat Sebuah Framework Diperlukan dalam Membangun Aplikasi

1) Proyek Kompleks
Jika proyek aplikasi kompleks dan memiliki banyak fungsi dan fitur yang kompleks, menggunakan framework bisa sangat berguna. Framework menyediakan struktur dan kerangka kerja yang telah ditentukan sebelumnya yang membantu dalam mengelola dan mengatur kode kompleks. Dalam kasus seperti itu, menggunakan framework dapat mempercepat pengembangan, menghindari kesalahan umum, dan menyediakan komponen siap pakai.

2) Pembangunan Perlu Dipercepat:
Ketika proyek aplikasi memiliki waktu pengembangan yang terbatas, menggunakan framework bisa sangat berguna. Framework ini mencakup banyak fungsi dan komponen bawaan yang dapat digunakan kembali dalam pengembangan aplikasi. Framework ini memungkinkan developer untuk memanfaatkan fungsionalitas yang ada dan mengurangi waktu yang dibutuhkan untuk mengembangkan komponen dari awal.

3) Standardisasi dan Praktik Terbaik Diperlukan
Kerangka umumnya mengikuti standar pengembangan yang teruji dengan baik dan praktik terbaik. Kerangka kerja memungkinkan pengembang untuk mengikuti pedoman yang telah ditentukan sebelumnya seperti struktur kode, pola desain, dan konvensi penamaan. Ini membantu meningkatkan kualitas kode, memudahkan pemeliharaan, dan memfasilitasi kerja tim pengembangan aplikasi.

4) Dukungan Komunitas Diperlukan
Banyak kerangka kerja memiliki komunitas pengembang aktif yang dapat memberikan dukungan, saran, dan sumber daya tambahan. Saat membutuhkan dukungan komunitas yang solid untuk memecahkan masalah atau tantangan pengembangan perangkat lunak, kerangka kerja memberikan akses ke jaringan pengembang yang besar dan berpengalaman.

a. Saat Sebuah Framework Tidak Diperlukan dalam Membangun Aplikasi

1) Proyek Sederhana

Jika proyek aplikasi relatif sederhana dan memiliki persyaratan fungsi dasar, menggunakan framework mungkin berlebihan. Dalam hal ini, mengembangkan aplikasi dari awal tanpa framework bisa lebih mudah dan efisien.

2) Kustomisasi Tinggi
Ketika proyek aplikasi memiliki tingkat kebutuhan penyesuaian yang tinggi yang tidak dapat dipenuhi dengan fungsi dan komponen yang disediakan oleh framework, penggunaan framework dapat menjadi hambatan. Dalam situasi ini, mengembangkan dari bawah ke atas tanpa mengandalkan framework dapat memberikan lebih banyak fleksibilitas.

3) Pembelajaran atau Eksperimen
Jika sedang bereksperimen dengan teknologi atau bahasa pemrograman tertentu, penggunaan framework mungkin tidak diperlukan. Dalam kasus ini, mengembangkan tanpa framework dapat mengarah pada pemahaman yang lebih dalam tentang konsep yang mendasarnya dan memungkinkan eksplorasi yang lebih dalam.

3. Deskripsi dan Fitur Aplikasi Sistem POS Alfamart dengan Menggunakan Framework Laravel

a. Deskripsi

Aplikasi Sistem POS Alfamart adalah sebuah sistem kasir yang digunakan di Alfamart. Tujuan utama dari aplikasi ini adalah untuk mempermudah proses penjualan dan pengelolaan inventaris. Dengan aplikasi ini, kasir dapat dengan mudah dan efisien memproses transaksi pembelian pelanggan, menghitung total pembayaran, dan menghasilkan struk atau faktur pembayaran yang terperinci.

b. Fitur-Fitur

1) Autentikasi
Pegawai kasir sebagai pengguna memiliki akun pengguna yang unik, yang digunakan untuk login ke dalam aplikasi.

2) Antarmuka Kasir

  • Aplikasi menyediakan antarmuka kasir yang mudah digunakan dan intuitif.
  • Kasir dapat dengan cepat memasukkan item belanjaan ke dalam sistem.
  • Kasir dapat mengatur kuantitas produk dengan mudah.
  • Aplikasi secara otomatis menghitung total pembayaran.

3) Beragam Metode Pembayaran

  • Aplikasi mendukung berbagai metode pembayaran, seperti tunai, kartu kredit, dan e-money.
  • Kasir dapat memilih metode pembayaran yang sesuai dengan preferensi pelanggan.
  • Aplikasi melakukan perhitungan otomatis untuk total pembayaran berdasarkan metode pembayaran yang dipilih.

4) Pembuatan Struk atau Faktur Pembayaran

  • Setelah transaksi selesai, aplikasi menghasilkan struk atau faktur pembayaran yang terperinci.
  • Struk mencantumkan detail pembelian, termasuk produk yang dibeli, harga, jumlah, dan total pembayaran.
  • Struk memberikan informasi yang jelas kepada pelanggan mengenai transaksi yang dilakukan.

5) Dukungan Promosi dan Diskon

  • Aplikasi mendukung penerapan promosi dan diskon pada produk tertentu.
  • Kasir dapat memasukkan kode promosi atau diskon saat melakukan transaksi.
  • Aplikasi secara otomatis menghitung ulang total pembayaran dengan memperhitungkan potongan harga yang berlaku.

5) Laporan Penjualan:

  • Aplikasi menghasilkan laporan penjualan yang mencakup informasi mengenai promosi atau diskon yang diterapkan.
  • Laporan ini membantu memantau dan menganalisis performa promosi atau diskon dalam meningkatkan penjualan.
  • Manajemen dapat menggunakan laporan ini untuk mengambil keputusan strategis berdasarkan data penjualan yang akurat.

4. Struktur Tabel

a. Tabel "pelanggan"

  • pelanggan_id: integer (ID pelanggan)
  • pelanggan_nama: string (Nama pelanggan)
  • alamat: string (Alamat pelanggan)
  • telepon: string (Nomor telepon pelanggan)

b. Tabel "produk"

  • produk_id: integer (ID produk)
  • produk_nama: string (Nama produk)
  • produk_harga: decimal (Harga produk)
  • stok: integer (Jumlah stok produk)

c. Tabel "transaksi"

  • transaksi_id: integer (ID transaksi)
  • transaksi_id_pelanggan: integer (ID pelanggan terkait)
  • transaksi_tanggal: date (Tanggal transaksi)
  • total_pembayaran: decimal (Total pembayaran transaksi)

c. Tabel "item_transaksi"

  • item_id: integer (ID item transaksi)
  • item_id_transaksi: integer (ID transaksi terkait)
  • item_id_produk: integer (ID produk terkait)
  • item_jumlah: integer (Jumlah item)
  • item_harga: decimal (Harga per item)
  • item_diskon: decimal (Potongan harga)

c. Tabel "metode_pembayaran"

  • metode_id: integer (ID metode pembayaran)
  • metode_nama: string (Nama metode pembayaran)

c. Tabel "promosi"

  • promosi_id: integer (ID promosi)
  • promosi_nama: string (Nama promosi)
  • tanggal_mulai: date (Tanggal mulai promosi)
  • tanggal_berakhir: date (Tanggal berakhir promosi)
  • persentase_diskon: decimal (Persentase potongan harga)

5. Desain Bentuk Laporan Output dalam Bentuk PDF atau Cetakan Paper


6. Implementasi dan Video Presentasi

Implementasi ke kode program dapat diakses melalui Github Repository.




Comments

Popular posts from this blog

Tugas Codeigniter MVC

Tugas Kelompok: Aplikasi Kasir