Anda di halaman 1dari 18

Struktur Proyek Flutter

Pengembangan Aplikasi Bergerak I


Tujuan Pembelajaran
Membuat Proyek Baru
• Ada dua cara
• Menggunakan Command Line Interface
• Menggunakan IDE (misalnya, Android Studio, VS Code, dll.)
Menggunakan Command Line Interface
• Menggunakan perintah flutter create nama_proyek untuk membuat
proyek Flutter baru.
• Struktur direktori proyek akan otomatis dibuat oleh perintah ini.
• Keuntungan: Cepat dan efisien untuk membuat proyek sederhana.
Menggunakan Android Studio
• Buka Android Studio.
• Pilih "Start a new Flutter project".
• Ikuti panduan untuk mengkonfigurasi proyek Flutter Anda.
• Android Studio akan membuat proyek dengan struktur direktori yang
sesuai.
• Keuntungan: Android Studio menyediakan lingkungan
pengembangan terpadu yang lengkap.
Struktur Proyek
• lib: Folder ini berisi kode sumber aplikasi yang kita tulis dengan menggunakan bahasa pemrograman Dart. Di
dalam folder ini, kita dapat membuat file-file Dart sesuai dengan kebutuhan aplikasi kita, seperti widget,
model, controller, dan lain-lain. File Dart utama yang akan dijalankan oleh aplikasi adalah main.dart.
• pubspec.yaml: File ini berisi informasi tentang proyek dan dependensi yang digunakan oleh aplikasi. Di
dalam file ini, kita dapat menentukan nama, deskripsi, versi, dan lingkungan aplikasi kita. Kita juga dapat
menambahkan package atau library eksternal yang dibutuhkan oleh aplikasi kita dengan menggunakan
perintah pub get.
• android: Folder ini berisi kode sumber khusus platform Android. Di dalam folder ini, kita dapat mengatur
konfigurasi, aset, permission, dan lain-lain yang berkaitan dengan Android. Folder ini juga berisi file
build.gradle yang digunakan untuk mengatur proses build aplikasi.
• ios: Folder ini berisi kode sumber khusus platform iOS. Di dalam folder ini, kita dapat mengatur konfigurasi,
aset, permission, dan lain-lain yang berkaitan dengan iOS. Folder ini juga berisi file Runner.xcodeproj yang
digunakan untuk membuka proyek di Xcode.
• test: Folder ini berisi kode sumber Dart untuk testing aplikasi. Di dalam folder ini, kita dapat membuat file
Dart yang digunakan untuk melakukan pengujian unit, widget, atau integrasi pada aplikasi kita. Kita dapat
menjalankan tes dengan menggunakan perintah flutter test.
Struktur Proyek
• linux: Folder ini berisi kode sumber khusus platform Linux. Di dalam folder ini, kita dapat mengatur
konfigurasi, aset, permission, dan lain-lain yang berkaitan dengan Linux. Folder ini juga berisi file
CMakeLists.txt yang digunakan untuk mengatur proses build aplikasi.
• macos: Folder ini berisi kode sumber khusus platform macOS. Di dalam folder ini, kita dapat mengatur
konfigurasi, aset, permission, dan lain-lain yang berkaitan dengan macOS. Folder ini juga berisi file
Runner.xcworkspace yang digunakan untuk membuka proyek di Xcode.
• windows: Folder ini berisi kode sumber khusus platform Windows. Di dalam folder ini, kita dapat mengatur
konfigurasi, aset, permission, dan lain-lain yang berkaitan dengan Windows. Folder ini juga berisi file
CMakeLists.txt yang digunakan untuk mengatur proses build aplikasi.
• web: Folder ini berisi kode sumber khusus platform web. Di dalam folder ini, kita dapat mengatur
konfigurasi, aset, permission, dan lain-lain yang berkaitan dengan web. Folder ini juga berisi file index.html
yang digunakan sebagai halaman utama aplikasi web.
• external libraries: Folder ini berisi library atau package eksternal yang digunakan oleh aplikasi. Library atau
package eksternal adalah kode sumber dari pihak ketiga yang dapat digunakan untuk menambahkan fitur atau
fungsi tertentu ke aplikasi. Library atau package eksternal dapat diinstal dengan menggunakan perintah pub
get atau flutter pub get.
Menjalankan Aplikasi Flutter
• Alternatif 1: Menggunakan Command Line
• Menggunakan perintah flutter run melalui command line untuk menjalankan
aplikasi Flutter.
• Perintah flutter run akan mengkompilasi dan menjalankan aplikasi pada
perangkat target yang telah ditentukan sebelumnya.
• Alternatif 2: Menggunakan Android Studio
• Pilih perangkat target yang ingin Anda gunakan (emulator atau perangkat
fisik) dari toolbar atau dropdown menu di Android Studio.
• Klik tombol "Run" atau "Debug" di Android Studio untuk mengkompilasi
dan menjalankan aplikasi pada perangkat target yang telah Anda pilih.
Android Manifest
• Atribut seperti nama aplikasi, ikon, versi aplikasi, dan aktivitas
utama dapat dikonfigurasi melalui AndroidManifest.xml.
• Izin (permissions) yang diperlukan oleh aplikasi juga didefinisikan
dalam manifest untuk memungkinkan aplikasi mengakses sumber
daya atau layanan tertentu di perangkat.
• Misalnya, izin menggunakan akses internet dan lokasi. Anda juga
dapat mengubah nama aplikasi.
Gradle Modification
• Berkas build.gradle digunakan dalam proyek Flutter untuk
mengatur konfigurasi build dan mengelola dependencies.
• Dalam build.gradle, Anda dapat menyesuaikan berbagai aspek dari
build aplikasi, termasuk versi SDK Android yang digunakan, versi
Flutter, dan konfigurasi lainnya.
• Anda juga dapat menambahkan dependencies tambahan untuk
mengintegrasikan pustaka eksternal yang diperlukan oleh aplikasi
Anda.
Gradle File
Untuk melakukan modifikasi gradle dalam proyek Flutter, Anda dapat
mengedit berbagai file berikut.
• android/build.gradle: File ini berisi konfigurasi tingkat proyek, seperti
versi plugin gradle, repositori, dan dependensi yang digunakan oleh
proyek. Anda dapat mengubah versi plugin gradle dengan mengubah
nilai classpath di dalam blok dependencies3.
• android/app/build.gradle: File ini berisi konfigurasi tingkat aplikasi,
seperti versi SDK, versi aplikasi, nama aplikasi, dan dependensi yang
digunakan oleh aplikasi. Anda dapat menambahkan dependensi
eksternal dengan menggunakan perintah implementation di dalam
blok dependencies
Izin (Permission) dalam Aplikasi Android
• Izin (permission) adalah hak akses yang diberikan oleh pengguna
kepada aplikasi Android untuk mengakses sumber daya atau layanan
tertentu di perangkat, seperti akses internet, kamera, lokasi, kontak,
penyimpanan, dan lainnya.
• Izin digunakan untuk menjaga privasi pengguna dan memastikan
aplikasi hanya memiliki akses yang diperlukan.
Mengelola Izin
• AndroidManifest.xml adalah berkas yang digunakan untuk mendefinisikan izin yang
dibutuhkan oleh aplikasi.
• Untuk menambahkan izin, Anda perlu menyertakan elemen <uses-permission> dalam
berkas AndroidManifest.xml dengan mendefinisikan nama izin yang dibutuhkan.
• Contoh izin umum meliputi:
• android.permission.INTERNET,
• android.permission.ACCESS_FINE_LOCATION, dan
• android.permission.READ_CONTACTS.
• Pengembang perlu memastikan bahwa izin yang diminta relevan dengan fitur dan
fungsionalitas aplikasi.
• Saat aplikasi diinstal, pengguna akan diminta untuk memberikan izin yang diperlukan,
dan pengembang perlu menangani logika saat pengguna menolak izin atau memberikan
izin.
Pustaka Eksternal
• Pustaka eksternal adalah kode yang telah ditulis sebelumnya dan
dibagikan secara terbuka untuk penggunaan umum.
• Dalam proyek Flutter, Anda dapat menambahkan pustaka eksternal
dengan mendefinisikan mereka sebagai dependencies dalam berkas
pubspec.yaml proyek Anda.
• Contoh dependencies dapat berupa pustaka UI, manajemen keadaan
(state management), akses ke layanan web, dan banyak lagi.
Menambahkan Pustaka Eksternal
• Buka berkas pubspec.yaml dalam proyek Flutter Anda.
• Di dalam berkas tersebut, temukan bagian dependencies.
• Tambahkan pustaka eksternal yang ingin Anda gunakan dengan
menuliskan nama dan versi yang sesuai.
• Jalankan perintah flutter pub get untuk mengunduh dan menginstal
pustaka-pustaka tersebut ke dalam proyek Anda.
Latihan
• Pengembangan aplikasi pengecekan koneksi internet.
• Aplikasi ini membutuhkan permission:
<uses-permission android:name="android.permission.INTERNET"/>
• Digunakan pustaka (cek di pub.dev): connectivity_plus.
• Sumber gambar yang digunakan dapat diambil di sini.
Tampilan Aplikasi
• Tampilan pertama
adalah pada kondisi
terhubung ke internet
dan yang kedua pada
kondisi tidak
terhubung.
Terima kasih

Anda mungkin juga menyukai