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