Ilmu Coding Ilmucoding.com - Merupakan situs yang membantu Anda belajar coding lebih mudah, nyaman, interaktif dan profesional. Belajar sekarang di ilmu coding. GRATIS

Flutter #4 – Perbedaan Stateless Widget dan Statefull Widget

1 min read

Flutter-Perbedaan-Stateless-Widget-dan-Statefull-Widget

Ilmucoding.com – Pada materi sebelumnya, kami pernah menyinggung tentang stateless widget maupun statefull widget di dalam Flutter. Sebenarnya, apa sih yang dimaksud dengan keduanya? Dan apa perbedaaanya?

Pada kesempatan kali ini kami akan membahasnya secara ringkat namun tetap berupaya agar mudah dipahami oleh pembaca budiman.

Secara garis besar, nama sebuah class di Flutter akan mengextends kedua State ini, yaitu Stateless Widget dan Statefull Widget. Masing-masing dari keduanya punya tugas dan fungsi yang berbeda-beda. Beberapa dari developer Flutter pun sering memadukan di antara keduanya.

Nah, langsung saja kita bahas lebih detail tentang keduanya …

Apa itu Stateless Widget?

Stateless Widget adalah widget yang tidak akan pernah berubah. Stateless Widget  merupakan widget yang di-build hanya dengan konfigurasi yang telah diinisiasi sejak awal.

Misalnya kita membuat aplikasi berisi Text dengan kata “Hello World”. Kemudian aplikasi kita tidak punya fungsi untuk merubah kata tersebut. Dalam kasus  yang digunakan di sini adalah Stateless Widget.

Contoh:

class MyApp extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
        return Scaffold(
            appBar: AppBar(
                title: Text('Flutter Demo'),
            ),
            body: Center(
                child: Text(
                    '10',
                    style: TextStyle(
                        fontSize: 30
                    ),
                ),
            )
        );
    }
}

Dan Apa Maksud dari Statefull Widget?

Merupakan Widget yang dapat berubah-ubah secara dinamis. Jika dianalogikan Statefull Widget seperti sebuah teko yang berisi air, namun air tersebut bisa berubah-ubah. Misalnya di hari pertama si teko isinya air putih, lalu hari kedua isinya air the dan hari ketiga isinya kopi.

Jadi apapun Widget yang dapat berubah-ubah bisa disebut dengan Statefull Widget. Statefull Widget inipun bisa dikombinasikan dengan Stateless Widget. Karena seringkali kami mendapati kebutuhan aplikasi yang mengharuskan kombinasi di antara keduanya.

Contoh penerapan pada aplikasi di Flutter misalnya kita membuat sebuah aplikasi dimana jika setiap kita memencet icon “+”. Angka yang ada di tengah tampilan akan bertambah satu.

Contoh:

import 'package:flutter/material.dart';

class FirstApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
      return Scaffold(
          appBar: AppBar(
              title: Text('Flutter Demo Ilmucoding'),
          ),
          body: Container(
              child: NumberScreen(),
          )
      );
  }
}

class NumberScreen extends StatefulWidget {
  @override
  _NumberScreenState createState() => _NumberScreenState();
}

class _NumberScreenState extends State<NumberScreen> {
  int number = 1;

  @override
  Widget build(BuildContext context) {
    return Stack(
      children: <Widget>[
        Center(
            child: Text(
                this.number.toString(),
                style: TextStyle(
                    fontSize: 30
                ),
            ),
        ),
        Positioned(
            bottom: 50,
            right: 50,
            child: FloatingActionButton(
                child: Icon(Icons.add),
                onPressed: () {
                    setState(() {
                        this.number += 1;
                    });
                },
            ),
        )
      ],
    );
  }
}

Hasilnya:

Flutter-3-Perbedaaan-Stateless-Widget-dan-Statefull-Widget

Kesimpulan: Apa Persamaan Stateless Widget dan Statefull Widget

Pada intinya Stateless Widget merupakan Widget yang tidak bisa berubah-ubah sedangkan Statefull Widget sebaliknya. Keduanya sangat mudah dipahami karena pengertiannya saling bertolak belakang. Penggunaan kedua widget ini sangat tergantung pada kebutuhan aplikasi. Dan seringnya, keduanya digunakan dalam satu file dart.

Baca Juga: Membuat Aplikasi Pertama Anda dengan Flutter

Sebagai penutup, jika Anda ingin bertanya silahkan melalui kolom komentar. Kami berharap, tutorial ini bisa membantu. Aamiin.

Ilmu Coding Ilmucoding.com - Merupakan situs yang membantu Anda belajar coding lebih mudah, nyaman, interaktif dan profesional. Belajar sekarang di ilmu coding. GRATIS

Leave a Reply

Your email address will not be published. Required fields are marked *

Jika terbantu dengan artikel ini, silahkan share, beri komentar dan "klik" 1 kali pada iklan ya.