Tujuan praktikum ini yaitu mahasiswa mampu menginstall lingkungan flutter development, stateless dan statefull widget dan basic widgets flutter:
1. Mahasiswa mampu menyiapkan lingkungan development flutter seperti install sdk flutter, git, android SDK, IDE dll
2. Mahasiswa mampu membuat stateless dan statefull widget flutter
3. Mahasiswa mampu membuat contoh basic widgets flutter
Computer / laptop yang telah terinstall flutter development
Ada library flutter yang dibut menggunakan Bahasa C++ maka perlu diinstall Visual Studio.
1. Download visual studio disini
2. Install visual studio kemudan centang pada Desktop development with C++
Meskipun kita dapat membuat aplikasi flutter tanpa menggunakan Android Studio akan tetapi sangat direkomendasikan unutk menginstallnya, karena pada Android Studio terdapat Android SDK Manager dan kita dapat membuat emulator untuk menjalankan aplikasi flutter.
1. Download Android Studio disini
2. Install android studio, tutorial lengkap dapat dilihat disini
3. Setelah selesai diinstall, buat project baru kemudian cari menu SDK Manager
4. Pilih SDK Tools kemudian ceklis seperti gambar berikut:
5. Tunggu sampai proses download selesai
1. Download visual studio code disini
2. Install visual studio code
3. Tambahkan extentions flutter
1. Download SDK Flutter versi stable disini
2. Extract SDK Flutter pada computer, misalkan pada directory C:\Users\{username}\dev
3. Selanjutnya tambahkan pada PATH dengan cara mengetikkan environment pada pencarian
4. Klik Environment Variables
5. Edit path dan tambahkan directory hasil extract kedalam path, misalkan directory extract C:\Users\{username}\dev tambahkan \bin
1. Setelah mengikuti Langkah-langkah diatas, selanjutnya kita pastikan apakah lingkungan flutter development siap untuk digunakan.
2. Buka Command Prompt / PowerShell / Terminal kemudian ketikkan flutter doctor
Jika tidak ada tanda silang maka kita siap untuk praktek membuat aplikasi menggunakan flutter
Membuat project flutter dapat dilakukan menggunakan beberapa cara yaitu dapat melalui Command Prompt / Terminal dan juga dapat dibuat langsung dari IDE yang kita gunakan
1. Buka terminal / command prompt kemudian ketikkan flutter create hai
2. Masuk directory cd hai dan ketikkan flutter run untuk menjalankan project hai
Muncul beberapa pilihan project akan dijalankan pada windows, chrome, edge
1. Buka Visual Studio Code.
2. Buka Command Palette dengan menekan Ctrl+Shift+P (pada Windows/Linux) atau Cmd+Shift+P (pada macOS).
3. Ketik Flutter: New Project dan pilih opsi tersebut dari daftar.
4. Pilih jenis proyek yang ingin dibuat, biasanya "Application".
5. Pilih direktori tempat untuk menyimpan proyek.
6. Masukkan nama proyek “hai” dan tekan Enter
Keterangan :
Stateless Widget merupakan widget yang data atau tampilannya tidak mengalami perubahan ketika sebuah state dijalankan, Widget ini bersifat statis atau tetap misalnya teks statis, logo aplikasi dll
1. Buat class baru pada directory lib dengan nama stateless.dart kemudian tambahkan kode program berikut.
import 'package:flutter/material.dart';
void main() {
runApp(const MyStateless());
}
class MyStateless extends StatelessWidget {
const MyStateless({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text("Stateless Widget"),
),
body: const Center(
child: Text("ini body"),
),
),
);
}
}
Output :
Statefull Widget merupakan widget dinamis yang ketika sebuah state berubah maka tampilan UI juga berubah. contohnya ketika tombol diklik atau ditekan maka tombol berubah warna atau form input nilainya berubah.
1. Buat file baru pada directory bin dengan nama statefull.dart kemudian tambahkan kode berikut :
import 'package:flutter/material.dart';
void main() {
runApp(const MyStatefull());
}
class MyStatefull extends StatefulWidget {
const MyStatefull({super.key});
@override
State<MyStatefull> createState() => _MyStatefullState();
}
class _MyStatefullState extends State<MyStatefull> {
int _kelipatan = 0;
void _kelipatanDua() {
setState(() {
_kelipatan += 2;
});
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text("Statefull Widget"),
),
body: Center(
child: Container(
width: 100,
height: 100,
color: Colors.amber,
child: Column(
children: [
const Text("Kelipatan 2 : "),
Text(
'$_kelipatan',
style: Theme.of(context).textTheme.headlineMedium,
)
],
),
),
),
floatingActionButton: FloatingActionButton(
onPressed: _kelipatanDua,
tooltip: "Kelipatan 2",
child: const Icon(Icons.add),
),
),
);
}
}
Output :
Text merupakan widget dasar yang digunakan untuk menampikan teks pada layer
Properti :
contoh :
return Text(
"Hai i am Text Widget",
style: TextStyle(
fontSize: 14.0,
color: Colors.red,
fontWeight: FontWeight.bold,
fontStyle: FontStyle.italic),
textAlign: TextAlign.center,
);
Output :
Container merupakan widget yang berfungsi sebagai KOTAK yang dapat menampung satu widget child dan menyediakan berbagai properti untuk dekorasi, mengatur posisi dan mengatur ukuran widget.
Properti Container :
Contoh :
return Container(
width: 200,
height: 200,
margin: const EdgeInsets.all(20),
padding: const EdgeInsets.all(20),
decoration: BoxDecoration(
color: Colors.blueAccent,
border: Border.all(color: Colors.white, width: 2),
borderRadius: BorderRadius.circular(10)),
);
Output :
ElevatedButton merupakan widget yang mewakili tombol dan memiliki shadow
Properti :
Contoh :
return ElevatedButton(
onPressed: () {
print("tombol ditekan");
},
style: ElevatedButton.styleFrom(
backgroundColor: Colors.green,
foregroundColor: Colors.white,
padding: const EdgeInsets.all(20),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(16))),
child: const Text("Elevated Button"));
Output :
Icon merupakan widget yang digunakan untuk menampilkan icon, Flutter telah menyediakan set icon seperti Material Icons dari Google atau Cupertino Icons dari Apple
Properti :
Contoh :
Icon(
Icons.add,
color: Colors.amber,
size: 50.0,
),
// Apple Icons
Icon(
CupertinoIcons.add,
color: Colors.red,
size: 50.0,
),
Output :
Image merupakan widget dasar yang digunakan untuk menampikan gambar dari berbagai sumber seperti asset, network, memory (byte data), file system.
Properti :
Image.network(
"https://upload.wikimedia.org/wikipedia/commons/thumb/0/01/Logo_Unand.svg/600px-Logo_Unand.svg.png",
width: 100,
height: 150,
),
Output :
1. Buat folder di dalam proyek misalnya assets/images.
2. Masukkan gambar (misalnya, logo.png) ke dalam folder tersebut.
3. Daftarkan di pubspec.yaml: Buka file pubspec.yaml dan tambahkan baris berikut di bawah bagian flutter:.
Contoh :
Image.asset(
'assets/images/logo.png',
width: 100,
height: 150,
),
CircleAvatar adalah widget yang sering digunakan untuk menampilkan gambar profil pengguna atau inisialnya dalam bentuk lingkaran.
Properti :
Contoh :
CircleAvatar(
radius: 30,
backgroundColor: Colors.green,
child: Text(
"IF",
style: TextStyle(fontSize: 20, color: Colors.white),
),
),
SizedBox(
width: 10,
),
CircleAvatar(
radius: 30,
backgroundColor: Colors.blue,
child: Icon(
Icons.person,
color: Colors.white,
size: 30,
))
Output :