EAS PBKK Kelas D

Evaluasi Akhir Semester

5025201003 - Rahmat Faris Akbar

PBKK (D)


SOAL 1
Bagaimana tahapan pembangunan aplikasi dengan memanfaatkan framework?

Jawaban:

        Pembangunan aplikasi dengan memanfaatkan framework melibatkan beberapa tahapan yang umumnya berlaku untuk sebagian besar proyek pengembangan perangkat lunak. Berikut adalah tahapan-tahapan tersebut:

  1. Analisis kebutuhan: Tahap ini melibatkan pemahaman yang mendalam tentang kebutuhan bisnis atau pengguna yang ingin diselesaikan melalui aplikasi. Kita perlu mengumpulkan persyaratan fungsional dan non-fungsional, serta merancang sketsa atau wireframe awal untuk aplikasi.
  2. Desain: Pada tahap ini, kita merancang arsitektur aplikasi, termasuk struktur folder, pola desain, dan komponen utama. Kita juga perlu merancang basis data dan skema, serta merencanakan antarmuka pengguna (UI) dan antarmuka pemrograman aplikasi (API) jika diperlukan.
  3. Pemilihan framework: Di tahap ini, kita memilih framework yang paling sesuai untuk membangun aplikasi kita . Pemilihan framework harus didasarkan pada kompatibilitas dengan bahasa pemrograman yang kita gunakan, fitur yang dibutuhkan, skalabilitas, dokumentasi, dan dukungan komunitas.
  4. Pengaturan awal: Setelah memilih framework, kita perlu melakukan pengaturan awal untuk proyek. Ini termasuk menginstal dan mengkonfigurasi framework, serta mengatur dependensi dan alat yang diperlukan.
  5. Pengembangan inti: Tahap ini melibatkan pengembangan inti aplikasi menggunakan framework yang dipilih. Kita akan membuat model data, membuat logika bisnis, menangani permintaan HTTP, dan mengintegrasikan berbagai komponen seperti basis data, penyimpanan file, atau layanan pihak ketiga.
  6. Pengujian: Setelah mengembangkan fitur inti, kita perlu melakukan pengujian aplikasi untuk memastikan bahwa semuanya berfungsi dengan benar. Ini termasuk pengujian unit, pengujian integrasi, dan pengujian fungsional untuk memverifikasi bahwa aplikasi berperilaku sesuai dengan harapan.
  7. Debugging dan optimalisasi: Jika ada masalah atau bug yang ditemukan selama pengujian, kita perlu melakukan debugging dan memperbaikinya. Selain itu, kita juga dapat melakukan optimalisasi kinerja untuk meningkatkan kecepatan atau efisiensi aplikasi.
  8. Penyempurnaan UI/UX: Tahap ini melibatkan perbaikan dan penyempurnaan antarmuka pengguna (UI) dan pengalaman pengguna (UX) aplikasi. Kita dapat mengumpulkan umpan balik dari pengguna beta atau mengikuti prinsip desain yang baik untuk meningkatkan tampilan dan interaksi aplikasi.
  9. Penyebaran dan peluncuran: Setelah menguji dan mengoptimalkan aplikasi, kita siap untuk menyebarluaskan dan meluncurkannya ke lingkungan produksi. Ini melibatkan penyiapan infrastruktur server, konfigurasi lingkungan produksi, dan pembaruan domain atau DNS jika diperlukan.
  10. Pemeliharaan dan pembaruan: Setelah meluncurkan aplikasi, pekerjaan kita belum selesai. Kita perlu melakukan pemeliharaan rutin, termasuk memperbaiki bug, melakukan pembaruan keamanan, dan mengembangkan fitur baru sesuai kebutuhan pengguna.

        Setiap tahapan ini dapat memiliki sub-tahapan yang lebih rinci tergantung pada kompleksitas dan skala proyek kita . Penting untuk memiliki perencanaan yang baik, dokumentasi yang tepat, serta menggunakan praktik pengembangan perangkat lunak yang terbaik selama setiap tahapan.


SOAL 2
Dalam membangun aplikasi kapan sebuah framework diperlukan dan kapan tidak memerlukan framework. Jelaskan

Jawaban:

        Pemilihan apakah sebuah aplikasi memerlukan framework atau tidak tergantung pada beberapa faktor, seperti kompleksitas proyek, kebutuhan fungsionalitas, waktu dan sumber daya yang tersedia, serta pengalaman dan preferensi kita sebagai pengembang. Berikut adalah beberapa poin yang dapat membantu kita memutuskan kapan menggunakan atau tidak menggunakan framework:

Kapan menggunakan framework:
  • Skala dan kompleksitas proyek: Jika proyek kita memiliki skala besar dan kompleksitas yang tinggi, menggunakan framework dapat memberikan struktur dan arsitektur yang lebih baik, serta mempercepat pengembangan dengan menyediakan fitur-fitur siap pakai.
  • Kebutuhan fungsionalitas yang kompleks: Jika proyek kita membutuhkan fungsionalitas yang kompleks, seperti pengelolaan basis data yang rumit, integrasi dengan API pihak ketiga, atau pemrosesan yang kompleks, framework dapat menyediakan alat dan komponen yang siap pakai untuk mempermudah pengembangan.
  • Efisiensi waktu dan produktivitas: Framework biasanya dilengkapi dengan banyak fitur dan alat yang dapat mempercepat pengembangan, seperti sistem routing, manajemen session, validasi data, dll. Dengan menggunakan framework, kita dapat menghemat waktu dalam mengembangkan fitur-fitur dasar dan fokus pada pengembangan yang lebih spesifik.
  • Dukungan komunitas yang kuat: Banyak framework memiliki komunitas yang besar dan aktif, yang berarti kita dapat mencari bantuan, dokumentasi, tutorial, dan sumber daya lainnya dengan mudah. Dukungan komunitas ini dapat sangat membantu jika kita mengalami masalah atau membutuhkan saran dalam mengembangkan aplikasi.

Kapan tidak menggunakan framework:
  • Proyek sederhana atau prototipe: Jika proyek kita relatif sederhana atau hanya sebagai prototipe, penggunaan framework mungkin terlalu berlebihan dan memperkenalkan kompleksitas yang tidak perlu. Kita dapat mempertimbangkan menggunakan bahasa pemrograman murni atau library yang lebih ringan untuk memenuhi kebutuhan proyek tersebut.
  • Kustomisasi tinggi: Jika kita memiliki kebutuhan yang sangat spesifik atau ingin memiliki kontrol penuh atas setiap aspek aplikasi, menggunakan framework mungkin membatasi fleksibilitas kita. Dalam hal ini, membangun aplikasi dari awal dengan menggunakan bahasa pemrograman murni atau library dapat memberikan fleksibilitas yang lebih besar.
  • Pengembang yang berpengalaman: Jika kita atau tim pengembang memiliki pengalaman yang cukup dan merasa nyaman dalam mengembangkan aplikasi tanpa framework, kita mungkin dapat membangun aplikasi tanpa bergantung pada framework. Namun, pastikan kita mempertimbangkan aspek-aspek seperti pemeliharaan kode, skalabilitas, dan keamanan yang dapat menjadi lebih rumit tanpa bantuan framework.
        Keputusan akhir untuk menggunakan atau tidak menggunakan framework harus didasarkan pada evaluasi kebutuhan proyek, keahlian dan pengalaman kita sebagai pengembang, serta faktor-faktor lain yang relevan. Perlu diingat bahwa penggunaan atau ketidakhadiran framework bukanlah pilihan yang benar atau salah secara mutlak, tetapi merupakan keputusan yang harus disesuaikan dengan kebutuhan dan konteks proyek kita.

SOAL 3
Dengan menggunakan framework laravel buatlah deskripsi dan fitur  aplikasi sistem POS Alfamart

Jawaban:

        Aplikasi Sistem POS (Point of Sale) Alfamart adalah sebuah aplikasi berbasis web yang dikembangkan menggunakan framework Laravel. Aplikasi ini dirancang khusus untuk membantu pengelolaan dan operasional toko ritel seperti Alfamart. Dengan menggunakan aplikasi ini, toko dapat dengan efisien mengelola inventaris, melakukan penjualan, serta melacak dan menganalisis performa bisnis secara keseluruhan.

Fitur-fitur yang terdapat dalam aplikasi Sistem POS Alfamart:
  1. Manajemen Produk:
    - Pendaftaran produk: Mengelola inventaris dengan mendaftarkan produk baru, termasuk informasi seperti nama, deskripsi, harga, stok, dan atribut lainnya.
    - Kategori dan subkategori: Mengelompokkan produk ke dalam kategori dan subkategori yang memudahkan pengaturan dan pencarian.
    - Penambahan gambar produk: Memungkinkan pengguna untuk mengunggah gambar produk agar dapat dilihat oleh pelanggan.

  2. Manajemen Transaksi:
    Penjualan langsung: Menerima pembayaran dari pelanggan dan mengurangi jumlah stok produk yang dibeli.
    - Pembayaran multi metode: Mendukung berbagai metode pembayaran seperti tunai, kartu kredit, atau pembayaran digital.
    - Pencatatan transaksi: Menyimpan riwayat penjualan untuk tujuan pelacakan dan pelaporan.

  3. Antarmuka Kasir yang Intuitif:
    - Antarmuka kasir yang mudah digunakan dan intuitif memudahkan kasir dalam memasukkan item belanjaan, mengatur kuantitas, dan menghitung total pembayaran dengan cepat.

  4. Dukungan Metode Pembayaran yang Beragam:
    - Mendukung berbagai metode pembayaran seperti tunai, kartu kredit, dan e-wallet, untuk memberikan fleksibilitas kepada pelanggan dalam melakukan pembayaran.

  5. Struk atau Faktur Pembayaran:
    - Menghasilkan struk atau faktur pembayaran yang mencantumkan detail pembelian kepada pelanggan, termasuk informasi produk, harga, kuantitas, total pembayaran, dan metode pembayaran yang digunakan.

  6. Penerapan Promosi dan Diskon:
    Memungkinkan kasir untuk memasukkan kode promosi atau diskon saat transaksi, yang akan secara otomatis mengubah harga produk dan menghitung ulang total pembayaran.
    - Kemampuan untuk menerapkan promosi dan diskon pada produk tertentu, baik dalam bentuk persentase maupun harga khusus.

  7. Laporan Penjualan yang Terperinci:
    Menghasilkan laporan penjualan yang mencakup detail penjualan berdasarkan promosi atau diskon yang diterapkan.
    - Laporan ini memberikan informasi yang berguna untuk menganalisis efektivitas promosi, kinerja produk, dan kebiasaan pembelian pelanggan.

  8. Manajemen Pelanggan:
    Pendaftaran pelanggan: Mencatat informasi pelanggan seperti nama, alamat, nomor telepon, dan riwayat pembelian.
    - Program loyalitas: Mengelola program loyalitas pelanggan, memberikan insentif, atau diskon berdasarkan aktivitas pembelian.

  9. Laporan dan Analitik:
    Laporan penjualan: Membuat laporan terkait penjualan harian, mingguan, bulanan, atau kustom untuk melihat performa toko.
    - Analisis inventaris: Melacak inventaris produk untuk menghindari kekurangan stok atau kerugian karena produk kadaluwarsa.
    - Laporan pelanggan: Menganalisis data pelanggan, pola pembelian, dan preferensi untuk meningkatkan strategi pemasaran.

  10. Manajemen Pengguna:
    Manajemen hak akses: Memiliki sistem peran pengguna yang berbeda (administrator, kasir, dll.) dengan hak akses yang sesuai.
    - Keamanan dan otentikasi: Mengamankan akses dengan otentikasi pengguna dan mekanisme keamanan seperti enkripsi data.

  11. Integrasi Eksternal:
    Integrasi pembayaran: Menghubungkan dengan gateway pembayaran pihak ketiga untuk memungkinkan transaksi non-tunai.
    - Integrasi sistem keuangan: Mengintegrasikan dengan sistem keuangan atau akuntansi eksternal untuk pencatatan transaksi dan pelaporan keuangan yang lebih terintegrasi.

SOAL 4
Tuliskan struktur tabelnya

Jawaban:

Table:products

Table:categories

Table:transactions

Table:transaction_items

Table:promotions

Table:promotion_products

Table:customers


Penjelasan Hubungan Antar Entitas
  • Hubungan One-to-Many: categories - Products
    - Satu kategori dapat memiliki beberapa produk, tetapi satu produk hanya termasuk dalam satu kategori.
    - Foreign Key: category_id pada tabel products merujuk pada id pada tabel categories.
  • Hubungan One-to-Many: transactions - transaction_items
    - Satu transaksi dapat memiliki beberapa item transaksi, tetapi satu item transaksi hanya milik satu transaksi.
    - Foreign Key: transaction_id pada tabel transaction_items merujuk pada id pada tabel transactions.
  • Hubungan One-to-Many: products - transaction_items
    - Satu produk dapat terkait dengan beberapa item transaksi, tetapi satu item transaksi hanya berkaitan dengan satu produk.
    - Foreign Key: product_id pada tabel transaction_items merujuk pada id pada tabel products.
  • Hubungan Many-to-Many: promotions - products
    - Satu promosi dapat terkait dengan beberapa produk, dan satu produk dapat terkait dengan beberapa promosi.
    - Untuk merepresentasikan hubungan ini, kita menggunakan tabel promotion_products sebagai tabel hubung.
    - Foreign Key: promotion_id pada tabel promotion_products merujuk pada id pada tabel promotions, dan product_id pada tabel promotion_products merujuk pada id pada tabel products.

SOAL 5
Desain bentuk laporan output dalam bentuk pdf atau cetakan paper

Jawaban:


SOAL 6
Implementasikan dan buat presentasi video

Jawaban:

Implementasi Program: link repository

Overview Tampilan Fitur Utama Aplikasi:

Login

Dashboard

Products

Purchases - Suppliers

Sales - Customers


Cashier



Tampilan Laporan Output:

Laporan Products

Laporan Purchases - Suppliers

Laporan Sales - Customers

Payment Bill



Video Presentasi:

Comments

Popular posts from this blog

TUGAS 1 PPB F : Aplikasi Profil Diri (Smartphone, Dekstop, Tablet, Smartwatch, TV)

TUGAS 7 PPB F : ViewModel and State in Compose

EVALUASI TENGAH SEMESTER PPB F