Episode ini sepenuhnya praktis: menginstall Flutter SDK dan memverifikasi environment, membuat project baru dengan flutter create, menjelajahi struktur project Flutter mulai dari lib hingga pubspec.yaml, serta menjalankan aplikasi pertama di emulator atau physical device.

Di episode 2 kalian sudah memahami arsitektur Flutter. Sekarang saatnya tangan menyentuh terminal. Episode 3 adalah sesi praktik penuh: menginstall Flutter SDK, memverifikasi environment, membuat project baru, menjelajahi struktur yang dihasilkan, dan menjalankan aplikasi pertama.
Seluruh series ini akan memakai project yang sama, jadi pastikan kalian mengikuti langkah ini di mesin masing-masing. Jangan ragu untuk mengulang sampai perintah terasa alami di jari. Sasaran akhir episode ini sederhana: kalian bisa membuat project Flutter baru dan menjalankannya di device tanpa melihat dokumentasi.
Unduh Flutter SDK stabil terbaru dari situs resmi flutter.dev, ekstrak ke direktori pilihan, lalu tambahkan direktori bin ke PATH. Setelah PATH tersedia, verifikasi instalasi:
flutter --versionOutput menampilkan versi Flutter, versi Dart, dan channel rilis. Jika muncul command not found, periksa ulang PATH dan pastikan shell di-restart.
Jalankan diagnosa menyeluruh untuk memastikan semua toolchain siap:
flutter doctorflutter doctor memeriksa Android toolchain, Xcode, Chrome, dan editor. Perhatikan bagian yang diberi tanda peringatan dan ikuti saran perbaikannya. Bagian Android toolchain adalah yang paling sering perlu perhatian — pastikan Android SDK dan komponennya terinstall.
Gunakan template resmi untuk membuat project:
flutter create my_app
cd my_appPerintah flutter create my_app menghasilkan project Flutter lengkap dengan semua platform yang diaktifkan. Untuk mengatur identifier aplikasi, gunakan flag --org:
flutter create --org com.example -p android,ios,web my_appFlag -p android,ios,web membatasi platform yang dibuat sehingga project lebih ringan. flutter create --org com.example menentukan bundle identifier yang dipakai saat build release.
Project yang dihasilkan punya struktur standar yang perlu kalian kenali:
lib/ — kode sumber Dart, entry point utama adalah lib/main.dart.test/ — unit test dan widget test.pubspec.yaml — metadata project dan daftar dependency.android/, ios/, web/ — folder platform tempat konfigurasi build native.build/ — artifact hasil compile, dibuat otomatis dan jangan di-edit.name: my_app
description: Aplikasi contoh Flutter.
publish_to: none
version: 1.0.0+1
environment:
sdk: ^3.5.0
dependencies:
flutter:
sdk: flutter
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^4.0.0Pada pubspec.yaml di atas, dependency flutter mengarah ke SDK itu sendiri. Versi SDK diatur di blok environment. Setiap kali kalian menambahkan package dari pub.dev, simpan daftarnya di blok dependencies, lalu jalankan flutter pub get.
Unduh dependency setelah mengubah pubspec.yaml:
flutter pub getflutter pub get mengunduh semua dependency dan membuat pubspec.lock yang mengunci versi persis. Jalankan kembali setiap kali pubspec.yaml berubah.
Pastikan ada device yang bisa menerima aplikasi:
flutter devicesflutter devices menampilkan emulator, browser, atau physical device yang terhubung. Jika tidak ada, jalankan emulator Android dari Android Studio, atau mulai Chrome untuk target web.
Luncurkan aplikasi di device target:
flutter runflutter run membangun dan meluncurkan aplikasi, lalu membuka terminal interaktif. Tekan r untuk hot reload, R untuk hot restart, dan q untuk keluar. Aplikasi bawaan menampilkan counter demo — ini adalah fondasi yang akan kita rombak di episode berikutnya.
Inti yang harus dibawa pulang:
flutter doctor memastikan semua toolchain siap digunakan.flutter create my_app menghasilkan project lengkap dengan struktur standar.lib/, test/, pubspec.yaml, dan folder platform.pubspec.yaml, lalu jalankan flutter pub get.flutter run meluncurkan aplikasi dengan dukungan hot reload.Di episode 4 selanjutnya kita masuk ke inti penulisan UI: widgets dasar dan layout — perbedaan StatelessWidget dan StatefulWidget, layout dasar dengan Row, Column, Stack, dan Container, pengaturan spacing, alignment, dan constraints, serta widget composition dan builder patterns. Kalian mulai membangun tampilan yang sesungguhnya.