Final Project & Deployment APK
Perjalananmu dari kode mentah menjadi aplikasi nyata yang bisa di-install & dibanggakan!
Mengubah kode Flutter jadi file .apk siap install
Tanda tangan digital agar aplikasi resmi & aman
Wajah aplikasi: ikon launcher & layar pembuka
Penomoran versi seperti generasi produk
Menyimpan & membagikan kode ke seluruh dunia
README & portfolio yang profesional
Setelah bab ini kamu mampu mem-build, menandatangani, dan men-deploy aplikasi Flutter, serta mengelola kode dengan Git/GitHub.
Satu APK release yang ter-install, ter-publish di GitHub, dan satu Final Project sebagai isi portfolio-mu.
APK (Android Package) adalah file hasil "memasak" proyek Flutter menjadi satu paket yang bisa di-install di HP Android.
Kode Flutter-mu ibarat naskah tulisan tangan. Perintah build seperti mesin cetak yang mengubah naskah menjadi buku jadi (file .apk) yang siap dibagikan ke pembaca (pengguna).
Penjelasan: Naskah = source code, mesin cetak = compiler Flutter, buku = APK. Sekali "dicetak", siapa pun bisa memasangnya tanpa butuh kode aslimu.
# Build APK untuk rilis (siap dibagikan)
flutter build apk --release
# Hasil ada di:
# build/app/outputs/flutter-apk/app-release.apk
# Build per-arsitektur agar ukuran lebih kecil:
flutter build apk --split-per-abi
๐ฌ DEMO: Lihat animasi mesin cetak di atas โ naskah masuk, APK keluar!
Dua "mode masak" yang berbeda tujuan: satu untuk uji coba, satu untuk dirilis.
Debug = memasak sambil mencicipi (cepat diubah, banyak catatan). Release = hidangan final yang disajikan ke tamu (rapi, cepat, tanpa coretan dapur).
Untuk pengembangan. Ada hot reload, pesan error lengkap, performa belum optimal, ukuran besar.
Untuk pengguna akhir. Kode dioptimasi (tree-shaking), tanpa debug info, cepat, ukuran ringkas.
flutter run # jalan dalam DEBUG mode (default)
flutter run --release # uji performa nyata di device
flutter build apk --release # buat APK final untuk dibagikan
Signing = menandatangani aplikasi secara digital dengan keystore agar Android percaya bahwa aplikasi benar buatanmu.
Keystore ibarat tanda tangan + materai pribadimu. Tanpa tanda tangan, dokumen (APK) dianggap tidak resmi. Play Store hanya menerima aplikasi yang sudah "ditandatangani".
Penjelasan: File keystore berisi kunci rahasia. Simpan baik-baik โ jika hilang, kamu tidak bisa meng-update aplikasimu di Play Store!
keytool -genkey -v -keystore my-key.jks \
-keyalg RSA -keysize 2048 -validity 10000 \
-alias upload
android {
signingConfigs {
release {
storeFile file("my-key.jks")
storePassword "PASSWORD_KAMU"
keyAlias "upload"
keyPassword "PASSWORD_KAMU"
}
}
buildTypes {
release { signingConfig signingConfigs.release }
}
}
๐ฌ DEMO: Animasi tanda tangan menggores layar di atas โ๏ธ
Ikon launcher adalah hal pertama yang dilihat pengguna di layar HP mereka.
Ratusan toko berjajar di mall. Papan nama & etalase yang menarik membuat orang ingin masuk. Icon aplikasi = etalase aplikasimu di antara puluhan app lain.
dev_dependencies:
flutter_launcher_icons: ^0.13.1
flutter_launcher_icons:
android: true
ios: true
image_path: "assets/icon/icon.png"
flutter pub get
flutter pub run flutter_launcher_icons
Layar pembuka singkat saat aplikasi pertama dibuka โ kesan pertama yang berkelas.
Sebelum masuk kamar, kamu disambut lobby megah selama beberapa detik. Splash screen = lobby aplikasimu: menyambut sambil menyiapkan isi di belakang layar.
dev_dependencies:
flutter_native_splash: ^2.4.0
flutter_native_splash:
color: "#0A0A0F"
image: assets/splash/logo.png
android_12:
color: "#0A0A0F"
image: assets/splash/logo.png
flutter pub get
flutter pub run flutter_native_splash:create
๐ก Durasi ideal: 2โ3 detik. Cukup untuk berkesan, tidak membuat bosan.
Versi memberi tahu pengguna & sistem seberapa baru aplikasimu.
iPhone 1 โ 2 โ 3 โ ... Tiap angka naik = ada perubahan. Sama seperti versi aplikasi: makin besar angkanya, makin baru fiturnya.
Perubahan besar yang bisa tidak kompatibel dengan versi lama
Fitur baru, tetap kompatibel dengan versi sebelumnya
Perbaikan bug kecil tanpa fitur baru
# format: versionName+versionCode
version: 1.2.0+5
# ^^^^^ ^
# tampil nomor build (naik tiap upload ke Play Store)
Git = mesin waktu untuk kodemu. Menyimpan setiap perubahan agar bisa kembali kapan saja.
Tiap commit = ruas batang baru. Tiap branch = cabang yang tumbuh ke arah eksperimen tanpa merusak batang utama. Merge = menyatukan cabang kembali.
git init # mulai repository
git add . # siapkan semua perubahan
git commit -m "fitur awal" # simpan snapshot
git branch fitur-baru # buat cabang
git checkout fitur-baru # pindah ke cabang
git merge fitur-baru # gabungkan kembali
GitHub = tempat menyimpan repository Git secara online agar aman & bisa dibagikan.
Seperti Drive menyimpan dokumen di cloud, GitHub menyimpan kodemu di cloud โ lengkap dengan riwayat perubahan, dan bisa diakses dari mana pun.
# Hubungkan repo lokal ke GitHub
git remote add origin https://github.com/USERNAME/nama-repo.git
git branch -M main
git push -u origin main # kirim kode ke cloud โ๏ธ
# Update berikutnya cukup:
git add .
git commit -m "update fitur"
git push
๐ฌ DEMO: File terbang dari laptop ๐ป menuju cloud โ๏ธ di atas!
File README.md adalah halaman depan proyekmu โ penjelasan agar orang lain paham aplikasimu.
Setiap mobil punya buku manual: cara pakai, fitur, peringatan. README = manual aplikasimu agar pengguna & developer lain langsung paham.
# ๐ฑ Nama Aplikasi
Deskripsi singkat aplikasi dalam 1-2 kalimat.
## โจ Fitur
- Fitur 1
- Fitur 2
## ๐ Cara Menjalankan
flutter pub get
flutter run
## ๐ ๏ธ Teknologi
- Flutter & Dart
- Provider (state management)
## ๐ค Pembuat
Nama โ Kelas 11
Kumpulan karya terbaikmu yang menunjukkan kemampuan kepada guru, sekolah, bahkan calon kampus/perusahaan.
Seniman memajang lukisan terbaik di galeri agar pengunjung terkesan. Portfolio = galeri digitalmu โ pajang proyek & APK terbaik.
Screenshot aplikasi, deskripsi singkat, link GitHub, link download APK, daftar fitur & teknologi.
Demo video pendek, penjelasan tantangan yang diselesaikan, rapi & konsisten.
Aplikasi kasir sederhana untuk mencatat transaksi penjualan.
โ Tambah produk & harga
๐งฎ Hitung total belanja
๐งพ Cetak/lihat struk
๐ Riwayat transaksi
FlutterProviderSharedPreferencesListView
๐ก Cocok untuk yang suka logika hitung & manajemen data.
Aplikasi catatan dengan Create, Read, Update, Delete + Local Storage + Dark Mode.
๐ Tambah catatan (Create)
๐ Lihat daftar (Read)
โ๏ธ Edit catatan (Update)
๐๏ธ Hapus catatan (Delete)
๐ Toggle Dark Mode
FluttersqfliteProviderThemeMode
๐ก Menguasai CRUD = fondasi hampir semua aplikasi nyata.
To-Do App untuk mengatur tugas: Tambah, Edit, Hapus, dan ubah Status selesai/belum.
โ Tambah tugas + deadline
โ๏ธ Edit detail tugas
๐๏ธ Hapus tugas
โ๏ธ Tandai selesai / belum
๐ Filter berdasarkan status
FlutterHiveCheckboxListView.builder
๐ก Latihan state management & data lokal yang sangat praktis.
Tiruan UI toko online: Home, Detail Produk, Keranjang, dan Profil.
๐ Home โ daftar produk & banner
๐ Detail โ foto, harga, deskripsi
๐ Cart โ item & total belanja
๐ค Profile โ info & pengaturan
FlutterGridViewNavigationHero Animation
๐ก Paling menantang secara UI โ pamerkan skill desainmu!
12 skill yang telah kamu kuasai dari BAB 1 sampai BAB 12! ๐
๐ Kamu sekarang siap membangun aplikasi nyata dari nol hingga rilis!
flutter build apk --release.1 file app-release.apk + 3 screenshot + dokumentasi (.md/.pdf).
ยฑ 2 jam ยท Dikumpulkan akhir minggu ini.
| Kriteria | Bobot |
|---|---|
| APK berhasil di-build & terinstall | 40% |
| Icon & versi diatur dengan benar | 30% |
| Screenshot & dokumentasi jelas | 30% |
git init).Link repository GitHub publik berisi kode + README.md rapi.
ยฑ 1.5 jam ยท Branch main harus bersih.
| Kriteria | Bobot |
|---|---|
| Kode berhasil di-push ke GitHub | 40% |
| README.md lengkap & rapi | 40% |
| Commit message bermakna | 20% |
Pilih SATU dari 4 Final Project, lalu bangun, build APK, push ke GitHub, dan presentasikan di kelas.
APK release + repo GitHub + slide presentasi (3โ5 menit).
ยฑ 1 minggu ยท Presentasi minggu depan.
| Kriteria | Bobot |
|---|---|
| Fungsi aplikasi berjalan baik | 35% |
| UI/UX menarik & rapi | 25% |
| Deploy (APK + GitHub) lengkap | 25% |
| Presentasi jelas & percaya diri | 15% |
๐ Selamat! Kamu telah menamatkan perjalanan Flutter Kelas 11 Semester 1! ๐โจ