Tutorial Flutter — Widgets

Mengenal Berbagai Widget pada Flutter

Jeremia Manogi Mario
Komunitas Android  CCIT-FTUI
8 min readAug 31, 2019

--

Halo semua, Jeremy disini. Kali ini kita akan membahas mengenai Widget yang ada di dalam flutter.

Nih saya kasitau dulu apa pengertian Widget.

Semua yang berhubungan dengan komponen Flutter disebut dengan Widget, dimulai dari text input, button, radio button, label text, dan sejenisnya. Widget ini disusun secara hierarki dan ditampilkan pada layar.

Oke udah tau kan pengertian Widget? Pada flutter terdapat dua widget utama yang berperan sebagai container dari seluruh layar kita, mereka disebut dengan Stateful Widget dan Stateless Widget.

Stateful Widget

Stateful Widget adalah widget yang dinamis atau dapat berubah-ubah. Dinamis yang dimaksud disini adalah setiap isi komponen dalam Stateful widget dapat berubah secara dinamis pada saat pengguna menggunakan aplikasi.

Code dasar dari Stateful Widget:

Stateless Widget

Stateless Widget adalah widget yang statis atau tidak dapat berubah-ubah. Widget ini biasanya digunakan sebagai komponen sekunder didalam stateful widget yang dapat diisi sebuah komponen kustomisasi yang dibuat oleh pengguna.

Code dasar dari Stateless Widget:

Masih bingung cara membedakan Stateful Widget dan Stateless Widget? Oke saya kasih contoh deh.

src: https://dev.to/rubensdemelo/flutter-widget-tree-and-state-management-31an

Nah lihat deh contoh diatas, MyLoginScreen, MyCatalog, dan MyCart merupakan Stateful Widget, hal ini dibuktikan karena mereka merupakan komponen utama yang dapat berubah isinya.

Sedangkan MyAppBar, dan MyListItem adalah Stateless Widget yang merupakan komponen statis dan telah dikustomisasi secara kebutuhan oleh developer. Kedua widget ini berada didalam Stateful Widget karena komponen ini tidak akan berubah dan bersifat statis, sedangkan MyListItem bisa saja berubah menjadi komponen lain dan hal ini diizinkan oleh Stateful Widget yang bersifat dinamis.

Kita juga dapat melihat bahwa Stateless Widget melakukan extends ke class Stateful Widget, masih ingat konsep Inheritance kan? 😉

Sekarang kita akan membahas widget lainnya yang bisa digunakan dalam Flutter.

Icon

Seperti yang kita tau, icon adalah gambar kecil untk “mewakili” penjelasan sebuah object. pada aplikasi mobile, pada bagian atas aplikasi yang disebut dengan App Bar, kita akan melihat ada gambar kecil. Kita juga dapat menggunakan Icon untuk membuat gambar tersebut. Tapi kita hanya memanggil Icon — icon yang hanya tersedia di flutter.

Contoh syntax nya:

Text

Dari judulnya aja kita udah tau ya ini kegunaanya apa? Yap, tentu saja untuk menampilkan sebuah teks. Tanpa teks di aplikasi kita, tentu saja semua terasa jadi aneh bukan?

Code Syntax:

Text Field

Jika dalam sebuah aplikasi kita suka melihat sebuah tempat untuk memasukkan teks (input), maka ini adalah widget tersebut di Flutter. Jelas sekali kegunaannya, yaitu untuk membuat sebuah text input.

Code dengan Text Field:

Sekarang mari perhatikan, disni kita menambahkan TextEditorControler untuk menerima teks yang dimasukkan oleh pengguna pada Text Field dan dengan fungsi onChanged, kita akan mencetaknya di text widget setiap ada perubahan.

Text Form Field

Text Form Field digunakan apabila kita membutuhkan fungsi Validator yang berfungsi dalam melakukan validasi seperti teks kosong, atau angka kurang dari 10.

Codenya sebagai berikut:

Image

Sebelum memasukkan gambar, buka pubspec.yaml dan hapus tanda pagar pada assets.

Pubspec.yaml

Lalu buat folder dengan nama assets pada root folder. Caranya adalah, klik kanan pada mouse di ruang kosong explore lalu pilih new folder.

Membuat folder assets di root folder

Kembali ke pubspec.yaml dan ketikan assets/ seperti yang ada di bawah.

Mengaktifkan Folder Assets

Cara tadi adalah untuk melakukan konfigurasi agar kita bisa menyimpan gambar di folder assets dan Flutter bisa membaca gambar dari folder tersebut. Cara memanggilnya juga bisa menggunakan URL. Tapi untuk saat ini, kita menggunakan file lokal.

Codenya sebagai berikut:

Button

Sebuah aplikasi harus memiliki sebuah tombol untuk menjalankan perintah lanjutan dari pengguna. Contohnya adalah ketika pengguna sudah menuliskan sesuatu yang dia cari pada textf ield, maka dibutuhkan tombol untuk mencari apa yang sudah pengguna tulis. Oleh karena itu kita membutuhkan widget button.

Pada code diatas, ada fungsi bernama ConstrainedBox. ConstrainedBox membantu memberikan batas tambahan(seperti minimal atau maksimal) suatu widget seperti container.

Dropdown Button

Dengan widget ini, kita bisa membuat sebuah tombol yang berisikan beberapa pilihan yang keluar jika kita menekannya. Seperti saat kita ingin membuat akun gmail, kita diminta untuk memilih jenis kelamin dan widget ini yang digunakan untuk menampilkan pilihan.

Codenya sebagai berikut:

Disini kita dapat melihat List<String>. Dalam flutter, List sama seperti array pada bahasa programming lainnya. Cara penggunannya juga sama, hanya penamaanya saja yang berbeda. Disini, list akan diisi dan digunakan untuk membuat pilihan dalam dropdownbutton.

Tampilan Dropdown Button

List View

List View sebetulnya termasud dalam widget layout. Seperti namanya, list view digunakan untuk membuat sebuah halaman daftar pada aplikasi mobile. Untuk list view akan ada chapter sendiri.

List Tile

Widget Ini bisa di bilang “anak-nya listview”, kenapa? Karena List Tile maksimal hanya dapat di isi di 3 bagian. Yaitu pada bagian kanan untuk gambar/icon, tengah untuk text title dan subtitle, lalu pada bagian kiri untuk icon/atau widget kecil lainnya seperti dropdownbutton. Widget ini membuat aplikasi terlihat seperti satu bagian dari sebuah daftar.

List Tile

Switch

Kalian ingat ada tombol on-off dalam sebuah aplikasi seperti ini?

Switch Widget

Codenya adalah sebagai berikut:

Check Box

Check Box Widget

Check Box adalah sebuah kotak pilihan yang biasanya digunakan untuk membuat kolom kategori, pada kolom tersebut kita dapat menentukan banyak pilihan dengan menekan check box yang kalian inginkan dan mematikan centang di checkbox yang tidak diinginkan atau tidak diperlukan.

Progress Indicator

Ingat dalam sebuah aplikasi ketika kita berpindah halaman akan ada sebuah lingkaran yang berputar? Pada flutter, widget itu adalah Progress Indicator, terdapat dua indicator, yaitu linear dan circular.

Cara memanggilnya:

Radio Button

Sama halnya seperti check box. Radio juga digunkan untuk memilih dalam sebuah kategori atau hal lainnya yang berkaitan dengan pilihan. Namun, radio button hanya bisa memilih satu saja.

Radio Button

Codenya adalah sebagai berikut:

Capek juga nulis tutorial sepanjang ini, yaudah deh, semoga bermanfaat dan happy coding ya! ^^

--

--