Setelah memahami apa itu Flutter dan bagaimana ekosistemnya bekerja pada Level 0, sekarang saatnya masuk ke tahap yang lebih fundamental.
Sebelum belajar Dart dan mulai membuat aplikasi Flutter, ada satu pertanyaan penting yang perlu dijawab:
Apakah harus bisa programming terlebih dahulu sebelum belajar Flutter?
Jawabannya adalah tidak harus menjadi programmer berpengalaman. Namun, memahami dasar pemrograman akan membuat proses belajar Flutter jauh lebih mudah.
Flutter memang menyediakan banyak widget dan tools yang membantu developer membuat aplikasi. Tetapi di balik setiap aplikasi Flutter tetap terdapat logika pemrograman.
Ketika Anda membuat login, misalnya, Anda membutuhkan kondisi untuk menentukan apakah data valid. Ketika menampilkan daftar produk, Anda membutuhkan collection dan perulangan. Ketika mengambil data dari server, Anda membutuhkan function dan asynchronous programming. Ketika membuat struktur aplikasi yang kompleks, Anda akan berhadapan dengan class dan object.
Artinya, semakin baik pemahaman programming Anda, semakin mudah Anda memahami kode Flutter.
Artikel ini merupakan Level 1 dari Roadmap Belajar Flutter dari Nol Sampai Siap Kerja yang dibahas pada situs Raja Putra Media.
Pada tahap ini kita belum membahas Flutter secara mendalam. Fokusnya adalah membangun fondasi logika dan konsep pemrograman yang nantinya digunakan ketika mempelajari Dart.
Mengapa Harus Belajar Dasar Pemrograman Sebelum Flutter?
Banyak pemula langsung mencari tutorial seperti:
"Cara membuat aplikasi Flutter."
Kemudian mereka menyalin kode dari tutorial dan berhasil menjalankan aplikasi. Masalahnya muncul ketika kode tersebut mengalami error.
Mereka mungkin tidak tahu:
- Apa fungsi sebuah variable?
- Mengapa menggunakan
if? - Mengapa menggunakan
for? - Apa fungsi sebuah function?
- Apa itu class?
- Mengapa sebuah object dibuat?
- Dari mana sebuah data berasal?
- Mengapa data harus diubah terlebih dahulu?
- Mengapa error terjadi?
Inilah alasan dasar pemrograman penting. Flutter hanyalah salah satu alat yang digunakan untuk membangun aplikasi.
Logika pemrograman tetap menjadi fondasinya.
Gambaran sederhananya:
Dasar Pemrograman
↓
Dart
↓
Flutter
↓
Mobile App
Jika fondasi pertama lemah, tahap berikutnya akan terasa jauh lebih sulit.
Apa yang Dimaksud Dasar Pemrograman?
Dasar pemrograman adalah sekumpulan konsep fundamental yang digunakan untuk membuat program.
Beberapa konsep utama termasuk dalam dasar pemrograman Flutter yang perlu dipahami pemula antara lain:
- Algoritma
- Logika pemrograman
- Variable
- Tipe data
- Operator
- Conditional
- Loop
- Function
- Collection
- Object
- Class
- OOP
- Error handling
Anda tidak harus langsung menguasai seluruh konsep tersebut secara mendalam.
Target Level 1 adalah membuat Anda memahami cara berpikir sebuah program.
1. Memahami Algoritma
Sebelum menulis kode, biasakan berpikir dalam bentuk langkah-langkah.
Inilah konsep dasar algoritma. Secara sederhana, algoritma adalah urutan langkah yang digunakan untuk menyelesaikan sebuah masalah.
Contoh sederhana:
Masalah
Anda ingin membuat program yang menentukan apakah seseorang boleh masuk ke sebuah sistem.
Algoritma
1. Ambil username
2. Ambil password
3. Periksa username
4. Periksa password
5. Jika benar → login berhasil
6. Jika salah → login gagal
Kemudian algoritma tersebut diterjemahkan menjadi kode.
Misalnya:
Input
↓
Process
↓
Decision
↓
Output
Cara berpikir seperti ini akan sangat berguna ketika membuat aplikasi Flutter.
2. Memahami Input, Process, dan Output
Salah satu cara sederhana memahami sebuah program adalah menggunakan konsep:
Input → Process → Output
Contohnya aplikasi kalkulator.
Input
10 + 5
↓
Process
Penjumlahan
↓
Output
15
Contoh lain adalah aplikasi login:
Input
Username + Password
↓
Process
Validasi
↓
Output
Login berhasil / gagal
Konsep sederhana ini sebenarnya terdapat di hampir semua aplikasi.
Ketika Anda membuat aplikasi Flutter, widget dapat digunakan untuk menerima input, Dart menjalankan proses, kemudian Flutter menampilkan output kepada pengguna.
3. Variable
Variable adalah tempat untuk menyimpan data yang digunakan oleh program.
Contoh sederhana:
String nama = 'Andi';
int umur = 20;
Pada contoh tersebut:
namamenyimpan teksumurmenyimpan angka
Anda dapat membayangkan variable seperti kotak yang memiliki nama.
nama → "Andi"
umur → 20
Kemudian nilai tersebut dapat digunakan dalam program.
Misalnya:
print(nama);
Program akan menggunakan data yang disimpan dalam variable nama.
Mengapa Variable Penting dalam Flutter?
Hampir semua aplikasi menggunakan data. Contohnya aplikasi e-commerce memiliki:
productName
price
quantity
image
category
Aplikasi employee management dapat memiliki:
employeeName
employeeId
department
position
status
Aplikasi berita dapat memiliki:
title
description
image
author
publishedDate
Data tersebut perlu disimpan dan diproses.
Karena itu, memahami variable merupakan salah satu kemampuan dasar yang wajib dikuasai.
4. Tipe Data
Setiap data memiliki jenis atau tipe. Beberapa tipe data dasar yang akan sering Anda temui dalam Dart adalah:
String
Untuk teks.
String nama = 'Budi';
int
Untuk bilangan bulat.
int umur = 25;
double
Untuk angka desimal.
double harga = 12500.50;
bool
Untuk nilai benar atau salah.
bool isLogin = true;
Gambaran sederhananya:
| Tipe | Contoh | Digunakan untuk |
|---|---|---|
| String | "Flutter" | Teks |
| int | 10 | Bilangan bulat |
| double | 10.5 | Bilangan desimal |
| bool | true | Kondisi benar/salah |
Dart memiliki lebih banyak tipe dan struktur data, tetapi tipe dasar tersebut cukup penting untuk dipahami pada tahap awal.
5. Operator
Operator digunakan untuk melakukan operasi terhadap data. Contoh operator matematika:
+ Penjumlahan
- Pengurangan
* Perkalian
/ Pembagian
% Modulo
Misalnya:
int harga = 10000;
int jumlah = 3;
int total = harga * jumlah;
Hasilnya:
total = 30000
Selain operator matematika, Anda juga akan menemukan operator perbandingan.
Contohnya:
== sama dengan
!= tidak sama
> lebih besar
< lebih kecil
>= lebih besar atau sama
<= lebih kecil atau sama
Ada juga operator logika seperti:
&& AND
|| OR
! NOT
Operator tersebut akan sering digunakan ketika membuat kondisi dalam aplikasi.
6. Conditional atau Percabangan
Program sering kali harus mengambil keputusan.
Contohnya:
Jika pengguna sudah login, tampilkan dashboard. Jika belum, tampilkan halaman login.
Untuk kebutuhan tersebut, kita menggunakan conditional.
Contoh:
if (isLogin) {
print('Masuk ke dashboard');
} else {
print('Silakan login');
}
Secara logika:
isLogin?
│
├── Ya → Dashboard
│
└── Tidak → Login
Konsep conditional sangat penting dalam aplikasi Flutter.
Contohnya:
- Menampilkan loading
- Menampilkan error
- Menentukan akses user
- Menampilkan tombol tertentu
- Memeriksa form
- Memeriksa status transaksi
- Menentukan halaman
7. Multiple Conditions
Terkadang program memiliki lebih dari dua kemungkinan. Misalnya status pengguna:
Admin
HRD
Employee
Guest
Program dapat menggunakan beberapa kondisi.
Contoh konsep:
if (role == 'admin') {
// Admin
} else if (role == 'hrd') {
// HRD
} else {
// User lainnya
}
Konsep seperti ini akan sangat sering digunakan ketika Anda membuat aplikasi yang memiliki role-based access.
8. Loop atau Perulangan
Bagaimana jika kita ingin menampilkan 100 data?
Tidak efisien jika harus menulis kode yang sama 100 kali. Di sinilah loop digunakan. Loop memungkinkan program menjalankan suatu proses berulang kali.
Contoh:
for (int i = 0; i < 5; i++) {
print(i);
}
Program tersebut melakukan proses berulang.
Konsep loop sangat penting ketika bekerja dengan data collection.
Misalnya:
Products
├── Product 1
├── Product 2
├── Product 3
├── Product 4
└── Product 5
Dalam Flutter, data seperti ini nantinya sering ditampilkan menggunakan widget seperti ListView.
9. Collection
Aplikasi hampir selalu bekerja dengan kumpulan data. Dart menyediakan beberapa struktur collection yang penting.
Yang paling dasar adalah:
- List
- Set
- Map
List
List digunakan untuk menyimpan kumpulan data yang berurutan.
Contoh:
List<String> products = [
'Laptop',
'Mouse',
'Keyboard',
];
Secara sederhana:
products
│
├── Laptop
├── Mouse
└── Keyboard
Set
Set digunakan untuk menyimpan kumpulan nilai yang unik.
Map
Map menyimpan data dalam bentuk key-value.
Contoh:
Map<String, dynamic> user = {
'name': 'Budi',
'age': 25,
};
Konsep collection akan menjadi sangat penting ketika Anda mulai mengambil data dari API.
10. Function
Function adalah blok kode yang dibuat untuk melakukan tugas tertentu.
Contoh sederhana:
void sayHello() {
print('Hello Flutter');
}
Kemudian function tersebut dapat dipanggil:
sayHello();
Function membantu membuat kode menjadi lebih terstruktur.
Daripada menulis kode yang sama berkali-kali, Anda dapat membuat function dan menggunakannya kembali.
Function dengan Parameter
Function juga dapat menerima data.
Contoh:
void sayHello(String nama) {
print('Hello $nama');
}
Kemudian:
sayHello('Budi');
Parameter membuat function menjadi lebih fleksibel.
Dalam aplikasi Flutter, function dapat digunakan untuk berbagai hal seperti:
- Validasi
- Perhitungan
- Transformasi data
- Request API
- Navigasi
- Pengolahan input
- Business logic
Function dengan Return Value
Function juga dapat menghasilkan nilai.
Contoh:
int tambah(int a, int b) {
return a + b;
}
Kemudian:
int hasil = tambah(10, 5);
Hasilnya:
15
Konsep return value akan sering digunakan ketika aplikasi mulai memiliki logic yang lebih kompleks.
11. Scope
Scope berkaitan dengan area di mana sebuah variable atau function dapat digunakan.
Contoh sederhana:
void contoh() {
String nama = 'Budi';
}
Variable nama berada dalam scope function tersebut.
Pemahaman scope penting agar Anda mengetahui mengapa sebuah variable dapat atau tidak dapat diakses dari bagian kode tertentu.
Konsep ini akan menjadi semakin penting ketika aplikasi Flutter mulai memiliki banyak class, function, dan state.
12. Object dan Class
Ketika program semakin kompleks, variable dan function saja tidak cukup.
Anda perlu mulai memahami object-oriented programming atau OOP. Konsep dasar OOP dimulai dari class dan object. Class dapat dibayangkan sebagai blueprint.
Misalnya kita ingin membuat object User.
class User {
String name;
int age;
User(this.name, this.age);
}
Kemudian membuat object:
User user = User('Budi', 25);
Sekarang:
User
├── name = Budi
└── age = 25
Class membantu kita mengorganisasi data dan behavior dalam struktur yang lebih jelas.
Mengapa OOP Penting untuk Flutter?
Flutter menggunakan banyak konsep object-oriented programming.
Anda akan berinteraksi dengan:
Widget
Class
Object
Constructor
Method
Property
Inheritance
Misalnya ketika membuat widget:
class MyApp extends StatelessWidget {
...
}
Di sini Anda sudah menggunakan konsep class dan inheritance.
Karena itu, memahami OOP sebelum masuk lebih jauh ke Flutter akan sangat membantu.
13. Property dan Method
Sebuah class dapat memiliki data dan behavior. Data biasanya direpresentasikan sebagai property. Behavior dapat direpresentasikan sebagai method.
Contoh:
class User {
String name;
User(this.name);
void sayHello() {
print('Hello $name');
}
}
Di sini:
name
→ property
sayHello()
→ method
Konsep tersebut akan terus muncul ketika Anda membuat aplikasi Flutter.
14. Constructor
Constructor digunakan ketika membuat object.
Contoh:
class Product {
String name;
double price;
Product(this.name, this.price);
}
Kemudian:
Product product = Product('Laptop', 10000000);
Constructor membantu memberikan nilai awal ketika object dibuat. Konsep constructor akan sangat penting ketika Anda mulai membuat model data dari API.
15. Inheritance
Inheritance memungkinkan sebuah class memperoleh karakteristik dari class lain.
Contoh sederhananya:
Animal
↓
Dog
Dog dapat memiliki karakteristik dari Animal sekaligus menambahkan behavior sendiri.
Flutter juga menggunakan konsep inheritance.
Contohnya:
class MyHomePage extends StatefulWidget {
...
}
MyHomePage merupakan turunan dari StatefulWidget.
Anda belum perlu memahami inheritance secara mendalam pada tahap ini. Namun, Anda perlu mengetahui konsep dasarnya.
16. Encapsulation
Encapsulation berkaitan dengan bagaimana data dan behavior di dalam object dikelola dan dibatasi aksesnya.
Tujuannya antara lain menjaga struktur internal object agar tidak sembarangan diubah dari luar. Konsep ini menjadi semakin penting ketika aplikasi berkembang dan memiliki banyak bagian yang saling berinteraksi.
Untuk pemula, cukup pahami bahwa sebuah class dapat mengontrol bagaimana data dan behavior-nya digunakan.
17. Abstraction
Abstraction berarti menyederhanakan kompleksitas dengan hanya menampilkan bagian yang diperlukan. Contoh sehari-hari adalah tombol mesin ATM.
Anda cukup memilih:
Tarik Tunai
Anda tidak perlu mengetahui bagaimana sistem bank memproses transaksi di belakang layar.
Dalam software development, abstraction membantu developer bekerja dengan sistem yang kompleks melalui interface yang lebih sederhana.
Konsep ini nantinya akan muncul ketika Anda mempelajari architecture dan design pattern.
18. Polymorphism
Polymorphism merupakan konsep OOP yang memungkinkan object dari struktur yang berbeda digunakan melalui interface atau tipe yang sama dalam konteks tertentu.
Konsep ini memang lebih abstrak bagi pemula. Tidak perlu memaksakan diri untuk langsung menguasainya.
Yang penting pada Level 1 adalah mengetahui bahwa OOP memiliki beberapa konsep utama:
OOP
│
├── Class & Object
├── Encapsulation
├── Inheritance
├── Abstraction
└── Polymorphism
Pemahaman yang lebih mendalam dapat dilakukan ketika Anda sudah lebih nyaman dengan Dart.
19. Null dan Data yang Tidak Tersedia
Dalam aplikasi nyata, data tidak selalu tersedia. Misalnya user belum memiliki foto profil.
profileImage = null
Atau API tidak mengembalikan data tertentu.
Program harus dapat menangani kondisi tersebut.
Inilah alasan konsep null penting.
Dart menggunakan konsep null safety untuk membantu developer menangani nilai yang mungkin tidak tersedia secara lebih aman.
Detail null safety akan dibahas lebih lanjut pada Level 2 — Belajar Bahasa Dart dari Nol.
Untuk Level 1, pahami saja satu prinsip:
Jangan menganggap semua data selalu tersedia.
Ini merupakan kebiasaan berpikir penting dalam software development.
20. Error dan Exception
Program tidak selalu berjalan sempurna. Kesalahan dapat terjadi karena:
- Input tidak valid
- Data tidak ditemukan
- File tidak tersedia
- Server gagal
- Internet terputus
- Kesalahan kode
- Dependency bermasalah
Karena itu, developer perlu memahami konsep error handling.
Contoh:
Request API
↓
Berhasil?
┌──┴──┐
Ya Tidak
↓ ↓
Data Error
Ketika nanti belajar Flutter, Anda akan sering menangani kondisi seperti:
Loading
Success
Error
Empty
Kemampuan memahami error merupakan salah satu skill yang membedakan programmer yang hanya mengikuti tutorial dengan programmer yang mampu menyelesaikan masalah.
21. Debugging
Debugging adalah proses mencari dan memperbaiki masalah dalam program. Misalnya aplikasi tidak menampilkan data.
Jangan langsung mengubah kode secara acak.
Biasakan menggunakan pola:
Masalah
↓
Baca error
↓
Identifikasi lokasi
↓
Cari penyebab
↓
Uji solusi
↓
Perbaiki
↓
Test kembali
Ketika menjadi Flutter Developer, kemampuan debugging akan menjadi bagian dari pekerjaan sehari-hari.
Anda akan menemukan berbagai masalah seperti:
- UI tidak muncul
- Data tidak masuk
- API gagal
- State tidak berubah
- Navigation bermasalah
- Null error
- Layout overflow
- Build error
Karena itu, belajar debugging sejak awal merupakan investasi yang sangat berguna.
22. Logika Boolean
Boolean hanya memiliki dua nilai:
true
false
Walaupun sederhana, boolean sangat penting dalam programming.
Contoh:
bool isLogin = true;
Nilai boolean dapat digunakan untuk menentukan kondisi.
Misalnya:
isLogin = true
↓
Tampilkan Dashboard
Sedangkan:
isLogin = false
↓
Tampilkan Login
Boolean akan sering digunakan dalam Flutter untuk mengatur tampilan berdasarkan state.
23. Memahami State Secara Sederhana
Walaupun state management akan dipelajari pada level berikutnya, pemula sebaiknya mulai memahami konsep state sejak sekarang.
State adalah kondisi atau data yang dapat berubah selama aplikasi berjalan.
Contohnya:
isLoading = true
Kemudian setelah data selesai dimuat:
isLoading = false
Atau:
cartCount = 0
Kemudian user menambahkan produk:
cartCount = 1
Perubahan tersebut dapat memengaruhi tampilan aplikasi.
Inilah yang nantinya menjadi dasar ketika Anda mempelajari state management Flutter.
24. Membuat Pseudocode
Sebelum menulis kode, Anda dapat menggunakan pseudocode. Pseudocode adalah cara mendeskripsikan algoritma menggunakan bahasa yang mudah dipahami manusia.
Misalnya aplikasi menghitung total belanja:
START
Ambil harga produk
Ambil jumlah produk
Hitung:
total = harga × jumlah
Jika total > 100000
tampilkan "Mendapatkan promo"
Jika tidak
tampilkan "Tidak mendapatkan promo"
Tampilkan total
END
Setelah logikanya benar, barulah diterjemahkan ke Dart.
Pseudocode membantu Anda memisahkan dua masalah:
- Bagaimana menyelesaikan masalah?
- Bagaimana menulis syntax untuk menyelesaikannya?
Ini merupakan kebiasaan yang sangat baik untuk programmer pemula.
25. Latihan Algoritma Sederhana
Sebelum masuk Dart, cobalah menyelesaikan masalah sederhana.
Latihan 1 — Menentukan Bilangan Genap
Input:
10
Logika:
Jika angka % 2 == 0
Genap
Jika tidak
Ganjil
Latihan 2 — Menghitung Total
Input:
Harga = 20.000
Jumlah = 3
Proses:
20.000 × 3
Output:
60.000
Latihan 3 — Menentukan Kelulusan
Input:
Nilai = 80
Logika:
Jika nilai >= 75
Lulus
Jika tidak
Tidak lulus
Latihan 4 — Menentukan Hak Akses
Input:
Role = admin
Logika:
Jika role == admin
Tampilkan dashboard admin
Jika tidak
Tampilkan dashboard user
Latihan seperti ini sederhana, tetapi sangat berguna untuk membangun logika pemrograman.
Programming Bukan Sekadar Menghafal Syntax
Ini adalah salah satu hal terpenting yang perlu dipahami pemula. Anda tidak perlu menghafalkan semua syntax.
Developer profesional juga sering membuka dokumentasi, mencari referensi, atau melihat contoh implementasi.
Yang lebih penting adalah memahami:
Apa masalahnya, bagaimana cara menyelesaikannya, dan mengapa kode tersebut digunakan?
Misalnya Anda lupa syntax sebuah function.
Itu bukan masalah besar. Tetapi jika Anda tidak tahu kapan function diperlukan, itu merupakan masalah yang lebih fundamental.
Karena itu, prioritaskan:
Logic > Understanding > Practice > Syntax Memorization
Dari Dasar Programming Menuju Flutter
Sekarang mari kita hubungkan materi Level 1 dengan Flutter. Misalnya Anda ingin membuat aplikasi daftar produk.
Anda membutuhkan:
Variable
Untuk menyimpan data:
productName
price
quantity
Collection
Untuk menyimpan banyak produk:
products = [...]
Loop
Untuk memproses daftar produk.
Conditional
Untuk menentukan kondisi:
stok tersedia?
Function
Untuk menjalankan proses tertentu:
addToCart()
removeFromCart()
calculateTotal()
Class
Untuk membuat model:
Product
User
Cart
Order
Object
Untuk membuat instance dari model tersebut.
Jadi, semua konsep yang dipelajari pada Level 1 nantinya akan digunakan kembali dalam aplikasi Flutter.
Contoh Sederhana Hubungan Programming dan Flutter
Bayangkan Anda memiliki data:
products = [
Laptop,
Mouse,
Keyboard
]
Dalam aplikasi Flutter, data tersebut kemudian dapat ditampilkan dalam bentuk daftar.
Secara konsep:
Collection
↓
Loop / List Processing
↓
Widget
↓
List UI
Jika user memilih salah satu produk:
User Tap
↓
Event
↓
Function
↓
Update State
↓
UI berubah
Jika data berasal dari server:
API
↓
JSON
↓
Model
↓
Collection
↓
State
↓
Widget
Inilah mengapa fundamental programming sangat penting.
Flutter bukan pengganti programming. Flutter adalah framework yang digunakan untuk membangun aplikasi menggunakan konsep-konsep programming tersebut.
Berapa Lama Belajar Dasar Pemrograman?
Tidak ada durasi yang berlaku untuk semua orang.
Jika Anda benar-benar baru dalam dunia programming, jangan terburu-buru menyelesaikan materi hanya dalam beberapa hari. Fokuslah pada kemampuan.
Misalnya Anda sudah dapat:
- Menjelaskan variable
- Membuat conditional
- Membuat loop
- Membuat function
- Menggunakan collection
- Memahami class
- Membuat object
- Menjelaskan OOP dasar
- Menyusun algoritma sederhana
- Membaca error sederhana
- Memecahkan masalah sederhana menggunakan pseudocode
Jika kemampuan tersebut sudah mulai terbentuk, Anda dapat melanjutkan ke Dart.
Apakah Pemula Harus Menguasai Algoritma dan OOP?
Tidak harus menguasai secara advanced. Tetapi Anda sebaiknya memahami konsep dasarnya.
Untuk algoritma, pahami:
- Input
- Process
- Output
- Decision
- Repetition
- Problem solving
Untuk OOP, pahami:
- Class
- Object
- Property
- Method
- Constructor
- Inheritance
- Encapsulation
- Abstraction
- Polymorphism
Pemahaman tersebut akan sangat membantu ketika mempelajari Dart dan Flutter.
Checklist Level 1
Sebelum melanjutkan ke Level 2, gunakan checklist berikut.
Fundamental Programming
- Memahami algoritma
- Memahami input, process, dan output
- Memahami variable
- Memahami tipe data
- Memahami operator
- Memahami conditional
- Memahami loop
- Memahami collection
- Memahami function
- Memahami parameter
- Memahami return value
- Memahami scope
- Memahami error dan exception
- Memahami debugging dasar
Object-Oriented Programming
- Memahami class
- Memahami object
- Memahami property
- Memahami method
- Memahami constructor
- Memahami inheritance
- Memahami encapsulation
- Memahami abstraction
- Memahami polymorphism
Problem Solving
- Dapat membuat pseudocode sederhana
- Dapat membuat algoritma sederhana
- Dapat memecahkan masalah menggunakan conditional
- Dapat menggunakan loop untuk data berulang
- Dapat memecah masalah menjadi beberapa function
Jika Anda belum menguasai semuanya, tidak masalah. Anda dapat kembali ke bagian tertentu sambil mulai belajar Dart.
Mini Project Level 1
Sebelum melanjutkan ke Dart, cobalah membuat program sederhana tanpa Flutter.
Project: Program Data Siswa
Buat program yang menyimpan:
Nama
Umur
Nilai
Status
Kemudian program harus dapat:
- Menampilkan nama.
- Menampilkan umur.
- Menentukan apakah nilai siswa lulus.
- Menampilkan status kelulusan.
- Menghitung rata-rata jika memiliki beberapa nilai.
- Menampilkan beberapa siswa menggunakan collection.
- Menggunakan function untuk proses tertentu.
- Menggunakan class
Student.
Struktur logikanya:
Student
│
├── name
├── age
├── scores
│
└── calculateAverage()
↓
Check Result
↓
Pass / Fail
Project sederhana seperti ini sudah cukup untuk menguji apakah konsep dasar programming mulai dipahami.
Roadmap Setelah Level 1
Setelah memahami fundamental programming, Anda siap memasuki bahasa yang digunakan Flutter.
Tahap berikutnya adalah Level 2 — Belajar Bahasa Dart dari Nol. Pada Level 2, pembelajaran akan menjadi lebih spesifik.
Anda akan mempelajari:
- Syntax Dart
- Variable
- Data type
- List
- Set
- Map
- Function
- Null safety
- Class
- Object
- Constructor
- Inheritance
- Abstract class
- Interface
- Exception handling
- Future
- Async/await
- Stream
- Package
- Dependency
Dengan kata lain:
Level 0
Memahami Flutter
↓
Level 1
Memahami Programming
↓
Level 2
Memahami Dart
↓
Level 3
Mulai Menggunakan Flutter
Urutan ini penting karena Anda tidak hanya akan belajar cara menulis kode, tetapi juga memahami mengapa kode tersebut digunakan.
Kesimpulan
Belajar Flutter dari nol tidak harus dimulai dengan Flutter. Justru, salah satu cara yang lebih terstruktur adalah membangun fondasi programming terlebih dahulu.
Pada Level 1, Anda perlu memahami konsep seperti algoritma, variable, tipe data, operator, conditional, loop, function, collection, class, object, dan OOP.
Anda juga perlu mulai membiasakan diri dengan problem solving dan debugging.
Tidak perlu menghafalkan semua syntax. Fokuslah memahami bagaimana sebuah masalah dipecahkan menggunakan logika program.
Ketika konsep tersebut sudah mulai dikuasai, Anda akan lebih siap mempelajari Dart dan memahami kode Flutter.
Secara sederhana, perjalanan kita adalah:
Problem
↓
Algorithm
↓
Programming Logic
↓
Dart
↓
Flutter
↓
Application
Dengan fondasi tersebut, proses belajar Flutter akan menjadi lebih terarah dan tidak sekadar mengikuti tutorial.
Lanjut ke Level 2 — Belajar Bahasa Dart dari Nol: Panduan Lengkap untuk Pemula. Yaitu belajar bahasa Dart dari nol untuk Flutter mulai dari syntax, variabel, tipe data, function, List, Map, OOP, null safety, hingga async await.
Setelah memahami dasar pemrograman, tahap berikutnya adalah mempelajari Dart, bahasa pemrograman yang digunakan Flutter.
Pada Level 2, kita akan mulai menulis kode Dart secara lebih serius dan mempelajari konsep yang nantinya digunakan langsung dalam project Flutter.
- belajar coding dari nol
- belajar Flutter
- belajar Flutter dari nol
- belajar Flutter untuk pemula
- belajar programming untuk pemula
- cara belajar Flutter
- cara kerja Flutter
- Dart dan Flutter
- dasar coding Flutter
- dasar pemrograman
- Flutter Developer
- Flutter untuk pemula
- logika pemrograman
- programming fundamentals
- tutorial Flutter
Tinggalkan komentar