Programming
Kursus Skripsi Tesis Disertasi Flask | “Pembuatan Aplikasi Web untuk Manajemen Pengadaan Barang pada Perusahaan Ritel Menggunakan Flask dan SQLAlchemy”

Silabus Pembuatan Aplikasi Web untuk Manajemen Pengadaan Barang pada Perusahaan Ritel Menggunakan Flask dan SQLAlchemy
Sesi 1: Pengenalan Flask dan SQLAlchemy
- Pengenalan Flask dan SQLAlchemy.
- Konsep aplikasi web dan ORM.
- Instalasi Flask dan SQLAlchemy.
- Struktur dasar proyek Flask.
Sesi 2: Membuat Proyek Flask
- Membuat proyek Flask baru.
- Konfigurasi lingkungan pengembangan.
- Membuat route dan view dasar di Flask.
- Menjalankan server Flask.
Sesi 3: Database dan ORM
- Pengenalan database relational.
- Menghubungkan Flask dengan database menggunakan SQLAlchemy.
- Membuat koneksi database.
- Pengenalan model dalam ORM.
Sesi 4: Membuat Model Barang
- Membuat model
Barang
untuk entitas barang dalam pengadaan. - Menggunakan SQLAlchemy untuk membuat tabel
Barang
. - Operasi CRUD dasar (Create, Read, Update, Delete) dengan SQLAlchemy.
Sesi 5: Membuat Halaman untuk Pengelolaan Barang
- Membuat halaman HTML untuk menampilkan daftar barang.
- Mengintegrasikan Flask dengan template engine Jinja2.
- Menampilkan data barang dari database di halaman web.
Sesi 6: Membuat Form Tambah Barang
- Membuat form untuk menambahkan barang baru.
- Validasi input dari form.
- Mengintegrasikan form dengan database menggunakan SQLAlchemy.
Sesi 7: Mengimplementasikan Fungsi Edit Barang
- Membuat fungsi dan halaman untuk mengedit data barang.
- Proses validasi dan update data di database.
- Menampilkan pesan sukses atau error.
Sesi 8: Mengimplementasikan Fungsi Hapus Barang
- Membuat fungsi dan halaman untuk menghapus barang dari database.
- Penanganan error jika barang tidak ditemukan.
Sesi 9: Pengenalan Blueprint di Flask
- Pengenalan konsep Blueprint untuk modularisasi aplikasi.
- Memisahkan logika barang menjadi modul tersendiri menggunakan Blueprint.
Sesi 10: Membuat Model Vendor
- Membuat model
Vendor
untuk pengelolaan pemasok barang. - Menghubungkan tabel
Vendor
dengan tabelBarang
(relasi one-to-many).
Sesi 11: Pengelolaan Vendor
- Membuat halaman untuk mengelola daftar vendor.
- CRUD operasi untuk vendor (create, read, update, delete).
- Menampilkan relasi antara barang dan vendor di halaman web.
Sesi 12: Membuat Fitur Filter Barang Berdasarkan Vendor
- Membuat fitur untuk memfilter barang berdasarkan vendor.
- Menggunakan query SQLAlchemy untuk filter barang.
- Menampilkan barang sesuai dengan vendor yang dipilih.
Sesi 13: Pengelolaan Stok Barang
- Menambahkan atribut stok pada model
Barang
. - Membuat halaman untuk memperbarui stok barang.
- Validasi input stok dan pengelolaan logika stok.
Sesi 14: Membuat Dashboard Pengadaan Barang
- Membuat halaman dashboard yang menampilkan statistik pengadaan barang.
- Menghitung jumlah total barang, vendor, dan stok.
- Menggunakan SQLAlchemy untuk query agregasi data.
Sesi 15: Pengelolaan Pengguna dan Autentikasi
- Membuat model
User
untuk pengelolaan pengguna. - Menambahkan fitur login dan logout dengan Flask-Login.
- Mengimplementasikan autentikasi sederhana untuk aplikasi.
Sesi 16: Pengelolaan Hak Akses Pengguna
- Membuat fitur hak akses pengguna berdasarkan peran (admin dan staff).
- Membatasi akses ke halaman tertentu berdasarkan peran pengguna.
- Menambahkan middleware untuk pengecekan hak akses.
Sesi 17: Mengelola Pengadaan Barang (Purchase Order)
- Membuat model
PurchaseOrder
untuk mencatat pengadaan barang. - Membuat relasi antara
PurchaseOrder
danBarang
. - Membuat halaman untuk mencatat transaksi pengadaan barang.
Sesi 18: Menampilkan Riwayat Pengadaan
- Membuat fitur untuk menampilkan riwayat pengadaan barang.
- Menggunakan SQLAlchemy untuk query riwayat pengadaan.
- Menambahkan filter berdasarkan tanggal dan vendor.
Sesi 19: Mengelola Pengiriman Barang
- Membuat model
Pengiriman
untuk mencatat proses pengiriman barang. - Menambahkan status pengiriman dalam riwayat pengadaan.
- Membuat halaman untuk melacak status pengiriman barang.
Sesi 20: Mengelola Pembayaran Pengadaan
- Membuat model
Pembayaran
untuk mencatat pembayaran pengadaan barang. - Menghubungkan model
PurchaseOrder
denganPembayaran
. - Membuat fitur untuk mencatat dan menampilkan status pembayaran.
Sesi 21: Fitur Notifikasi Pengadaan Barang
- Membuat fitur notifikasi jika stok barang menipis.
- Mengirimkan notifikasi email menggunakan Flask-Mail.
- Menampilkan notifikasi di dashboard aplikasi.
Sesi 22: Testing Unit dan Integrasi
- Pengenalan unit testing dan integrasi testing di Flask.
- Membuat test case untuk model dan route aplikasi.
- Menggunakan pytest untuk menjalankan test.
Sesi 23: Dokumentasi API untuk Aplikasi
- Membuat dokumentasi API menggunakan Flask-RESTful.
- Menambahkan endpoint untuk mengambil data barang dan pengadaan barang.
- Menggunakan Postman untuk testing API.
Sesi 24: Pengenalan Frontend dengan Bootstrap
- Menggunakan Bootstrap untuk mempercantik tampilan aplikasi.
- Menambahkan elemen Bootstrap di halaman pengelolaan barang dan pengadaan.
- Menggunakan form dan tabel Bootstrap untuk meningkatkan UX.
Sesi 25: Membuat Fitur Export Data ke Excel
- Membuat fitur untuk mengekspor data barang dan pengadaan ke file Excel.
- Menggunakan library
pandas
untuk export data. - Menambahkan tombol export di halaman pengelolaan.
Sesi 26: Deploy Aplikasi ke Heroku
- Pengenalan platform deployment Heroku.
- Menyiapkan aplikasi Flask untuk di-deploy ke Heroku.
- Menghubungkan aplikasi dengan Heroku Postgres untuk database.
Sesi 27: Optimisasi Performa Aplikasi
- Mengoptimalkan query SQLAlchemy untuk performa.
- Menggunakan caching dengan Flask-Caching.
- Melakukan profiling aplikasi untuk menemukan bottleneck.
Sesi 28: Backup dan Restore Database
- Membuat fitur untuk backup dan restore database.
- Menggunakan pg_dump untuk backup PostgreSQL.
- Mengintegrasikan fitur backup ke dalam aplikasi.
Sesi 29: Pengelolaan Aplikasi Berkelanjutan
- Membuat fitur logging untuk mencatat aktivitas pengguna.
- Monitoring performa aplikasi menggunakan tools eksternal.
- Menggunakan Flask-Admin untuk membuat interface admin yang lengkap.
Sesi 30: Review Proyek dan Penyelesaian Aplikasi
- Melakukan review proyek secara keseluruhan.
- Memperbaiki bug dan menambahkan fitur minor.
- Menyiapkan aplikasi untuk presentasi dan deploy akhir.
Silabus ini dirancang agar peserta dapat memahami tahapan pengembangan aplikasi web manajemen pengadaan barang dengan framework Flask dan ORM SQLAlchemy, serta mengimplementasikan fitur yang sesuai dengan kebutuhan perusahaan ritel.