Universitas Sriwijaya
Dart Basics &
Introduction to Flutter
Part 1
About Me
Universitas Sriwijaya
github.com/mfazrinizar
linkedin.com/in/mfazrinizar
instagram.com/mfazrinizar
M. Fazri Nizar
• Mobile Development Team Member
at GDSC UNSRI
Universitas Sriwijaya
Table of Contents
• Why is it Dart?
• Overview of Dart & setting up environment
• Dart Basics (Syntax & Structure):
- Variables & data types
- Functions
- Conditional Operators
- Control flow
Universitas Sriwijaya
Limitations
• Complete deep-code course of Dart.
• Complete Flutter application building
(differed into 4 days of session).
Universitas Sriwijaya
Apa itu Dart?
Universitas Sriwijaya
• Object Oriented Programming (OOP).
• Support development for web, mobile,
desktop, and server.
• Productive-based programming.
2011
Universitas Sriwijaya
dart.dev/overview
Universitas Sriwijaya
dart.dev
Kenapa harus belajar Dart?
Universitas Sriwijaya
Backed by Framework
Universitas Sriwijaya
Getting Started
https://docs.flutter.dev/get-started/install/windows/mobile
Flutter
SDK
Android SDK Toolchain
AVD/Android Emulator
VS Code with Flutter
Extension
Universitas Sriwijaya
Getting Started
Universitas Sriwijaya
Getting Started
USB Debugging
Use your own Android device
https://developer.android.com/codelabs/basic-
android-kotlin-compose-connect-device
Universitas Sriwijaya
Getting Started
DartPad
https://dartpad.dev
Universitas Sriwijaya
Getting Started
Importing Package/Library Commenting
Universitas Sriwijaya
Variables & Data Types
pch.vector via Freepik
Universitas Sriwijaya
Variables & Data Types
Universitas Sriwijaya
Variables & Data Types
final hanya diinisialisasi saat
digunakan.
const harus diinisialisasi dan
diketahui (tidak boleh bernilai null)
Sama-sama bersifat konstan.
Universitas Sriwijaya
Functions
via codeanalogies.com
Universitas Sriwijaya
Functions
Void Non-
Void
Universitas Sriwijaya
Functions
greetPersonOptional('Tono');
atau
greetPersonOptional('Tono', 'Hi');
Universitas Sriwijaya
Functions
greetPersonNamed(name: 'Tono');
atau
greetPersonNamed(name: 'Tono', greeting: 'Hi');
Universitas Sriwijaya
Functions
int result = addNumbersShort(3, 4);
Universitas Sriwijaya
Conditional Operators
Assign result with defaultValue if value is
null
Universitas Sriwijaya
Conditional Operators
Assign message with ‘This is true’ if isTrue ==
true
Universitas Sriwijaya
Conditional Operators
Execute doSomething() if isTrue == true
Universitas Sriwijaya
Control Flow
Universitas Sriwijaya Control Flow
Universitas Sriwijaya Control Flow
Continue =>
skips current true
condition loop
Universitas Sriwijaya
QnA
Universitas Sriwijaya
Quiz
Universitas Sriwijaya
Quiz
1. Yang bukan termasuk dalam control
flow dalam Dart adalah...
A. For loops
B. Try-catch
C. Break & continue
D. Void function()
Universitas Sriwijaya
Quiz
2. Apa itu keyword break dalam Dart?
A. Melewati suatu iterasi true dalam loop
B. Menghentikan proses eksekusi loop
C. Keluar dari suatu fungsi
D. Menunda eksekusi suatu program
Universitas Sriwijaya
Quiz
3. Apa best practice untuk mendeklarasikan
nilai Pi = 3.14159?
A. int Pi = 3.14159
B. double Pi = 3.14159
C. const double Pi = 3.14159
D. final double Pi = 3.14159
Universitas Sriwijaya
Quiz
4. Bagaimana cara mendefinisikan fungsi
tanpa kembalian nilai dalam Dart?
A. function functionName() {}
B. def functionName() {}
C. void functionName() {}
D. int functionName() => ...
A. oof
B. foo
C. Tidak ada output
D. Compilation error
Universitas Sriwijaya
Quiz
5. Apakah outputnya?

Dart Basics & Introduction to Flutter Part 1