dibimbing.id - Mengenal Fungsi Override pada Flutter untuk Pemula

Mengenal Fungsi Override pada Flutter untuk Pemula

Irhan Hisyam Dwi Nugroho

04 September 2025

34

Image Banner

Dalam pengembangan aplikasi Flutter, override adalah fitur yang sangat berguna. Fungsi ini memungkinkan kita untuk menggantikan atau menyesuaikan metode bawaan sesuai dengan kebutuhan aplikasi.

Dengan override, kita bisa mengubah cara kerja metode di kelas induk seperti build() dan initState(). Hal ini memberi fleksibilitas dalam mendesain dan mengatur widget di Flutter.


Pada tutorial ini, kita akan membahas dengan jelas cara menggunakan override dalam Flutter. Yuk, ikuti penjelasan dan contoh praktisnya untuk pemula agar kamu semakin paham!


Baca juga: Panduan Lengkap Flutter Developer Roadmap untuk Pemula



Apa Itu Override pada Flutter?


Override pada Flutter adalah mekanisme untuk menggantikan atau menyesuaikan metode yang ada di kelas induk dengan implementasi baru di kelas turunan.


Hal ini memungkinkan kita untuk memodifikasi atau menambah fungsionalitas yang sudah ada, seperti mengganti cara kerja build() atau initState() dalam widget.


Dengan menggunakan override, kita bisa menyesuaikan perilaku widget atau class sesuai dengan kebutuhan aplikasi tanpa mengubah kode asli kelas induk. 


Fungsi ini sangat berguna untuk menambahkan atau menyesuaikan logika aplikasi tanpa memodifikasi struktur dasar framework Flutter.


Baca juga: Panduan Memilih Bootcamp Mobile Apps Development Terbaik


Fungsi Utama override


Sumber: Canva


Sekarang, Warga Bimbingan, setelah paham tentang dasar override, saatnya kita bahas beberapa fungsi utama yang bisa kamu terapkan dalam Flutter.


Berikut adalah beberapa kegunaan override yang sering digunakan untuk menyesuaikan widget dan fungsionalitas aplikasi:


1. Menyesuaikan Metode build() di Widget


Dengan override, kita dapat mengganti implementasi build() untuk merender tampilan widget sesuai dengan kebutuhan.


Ini memungkinkan kita untuk membuat tampilan yang lebih dinamis dan fleksibel. Kita bisa menambahkan atau mengubah elemen-elemen UI dengan lebih mudah.


2. Mengubah Perilaku initState()


Fungsi initState() berguna untuk setup awal widget sebelum dirender. Dengan override, kita bisa menambahkan logika seperti pengambilan data atau inisialisasi controller. Ini memastikan widget sudah siap dengan data atau status yang diperlukan.


3. Menyusun Ulang Proses Navigasi


Dengan override, kita bisa menyesuaikan metode navigasi seperti didPopNext() untuk menangani aksi saat kembali ke halaman sebelumnya.


Ini memberi kontrol lebih pada bagaimana alur navigasi dan tampilan aplikasi berfungsi. Membantu kita membuat pengalaman pengguna yang lebih mulus.


4. Mengatur Kustomisasi Interaksi Pengguna


Gunakan override untuk menyesuaikan interaksi pengguna seperti onPressed() atau onTap().


Ini memungkinkan kita menambahkan logika tambahan, seperti validasi atau pemrosesan data, sebelum atau setelah interaksi. Dengan override, aplikasi jadi lebih responsif terhadap aksi pengguna.


Baca juga: Mengenal Struktur dan Komponen Flutter dalam Aplikasi


Cara Kerja Fungsi Override


Fungsi override bekerja dengan menggantikan implementasi metode yang ada di kelas induk dengan versi baru di kelas turunan. Hal ini memungkinkan kita untuk menyesuaikan atau memodifikasi perilaku metode sesuai dengan kebutuhan aplikasi.


Setelah menggunakan override, metode yang sudah diganti akan dipanggil saat dijalankan oleh objek dari kelas turunan. Ini berarti, meskipun ada metode yang sama di kelas induk, versi yang ada di kelas turunan yang akan dieksekusi.


Penting untuk diingat bahwa override hanya berfungsi pada metode yang sudah ada dan dapat diganti, seperti build(), initState(), atau metode lainnya. Dengan override, kita bisa mengubah logika dasar dan memberikan fungsionalitas tambahan pada aplikasi.


Baca juga: Flutter Widget: Pengertian, Jenis, dan Cara Menggunakannya




Contoh Penggunaan Override


Sumber: Canva


Setelah memahami apa itu override, Warga Bimbingan, mari kita lihat beberapa contoh penggunaan praktisnya dalam aplikasi Flutter. Berikut adalah beberapa contoh situasi di mana override sering digunakan:


1. Override Metode build() di Widget


Dengan override, kita bisa mengganti implementasi metode build() untuk merender tampilan widget sesuai kebutuhan.


Misalnya, kita bisa menyesuaikan tampilan widget dengan widget lainnya atau menambahkan elemen baru.


Contoh Kode:


class CustomHomePage extends StatefulWidget {

 @override

 _CustomHomePageState createState() => _CustomHomePageState();

}


class _CustomHomePageState extends State<CustomHomePage> {

 @override

 Widget build(BuildContext context) {

  return Scaffold(

   appBar: AppBar(title: Text('Override Contoh')),

   body: Center(child: Text('Hello, Flutter!')),

  );

 }

}


Penjelasan:

Di sini, build() di-override untuk menampilkan tampilan yang sederhana dengan Text() di tengah layar. Kita mengganti implementasi default build() untuk menyesuaikan tampilan sesuai keinginan.


2. Override Metode initState() untuk Setup Awal


Jika kita perlu melakukan setup awal sebelum widget dirender, kita bisa menggunakan initState(). Biasanya, ini digunakan untuk mengambil data dari API atau menyiapkan resource lainnya.


Contoh Kode:


class HomePage extends StatefulWidget {

 @override

 _HomePageState createState() => _HomePageState();

}


class _HomePageState extends State<HomePage> {

 @override

 void initState() {

  super.initState();

  fetchData(); // Mengambil data dari API

 }


 void fetchData() async {

  await Future.delayed(Duration(seconds: 2));

  print('Data diambil!');

 }


 @override

 Widget build(BuildContext context) {

  return Scaffold(

   appBar: AppBar(title: Text('Override initState')),

   body: Center(child: Text('Data sedang dimuat...')),

  );

 }

}


Penjelasan:

initState() di-override untuk memulai pengambilan data dari API atau melakukan setup lainnya. Setelah data siap, aplikasi akan menampilkan UI yang sudah diperbarui.


3. Override Metode dispose() untuk Mengelola Resource


Metode dispose() digunakan untuk membersihkan resource atau controller saat widget tidak lagi digunakan. override memungkinkan kita untuk menyesuaikan logika ini.


Contoh Kode:


class CounterPage extends StatefulWidget {

 @override

 _CounterPageState createState() => _CounterPageState();

}


class _CounterPageState extends State<CounterPage> {

 late TextEditingController _controller;


 @override

 void initState() {

  super.initState();

  _controller = TextEditingController();

 }


 @override

 void dispose() {

  _controller.dispose(); // Membebaskan controller saat widget dihapus

  super.dispose();

 }


 @override

 Widget build(BuildContext context) {

  return Scaffold(

   appBar: AppBar(title: Text('Override dispose')),

   body: Center(

    child: TextField(controller: _controller),

   ),

  );

 }

}


Penjelasan:

Di sini, dispose() di-override untuk membersihkan TextEditingController saat widget dihapus dari tampilan. Hal ini mencegah kebocoran memori saat aplikasi berjalan.


Baca juga: Panduan Belajar Flutter untuk Membuat Aplikasi Mobile


Ingin Jadi Mobile Developer Profesional?


Setelah memahami cara menggunakan override pada Flutter, kini saatnya mengasah kemampuanmu lebih jauh!


Yuk, ikuti Bootcamp Mobile Developer di dibimbing.id! Di sini, kamu akan mempelajari Flutter secara mendalam, mulai dari desain antarmuka yang responsif hingga pembuatan aplikasi mobile yang optimal di berbagai perangkat.


Belajar langsung dari mentor berpengalaman dengan kurikulum praktis yang siap membekali kamu untuk sukses di dunia mobile development. 


Dengan lebih dari 840+ hiring partner dan tingkat keberhasilan alumni 96%, peluang kariermu semakin terbuka lebar!

Jadi, tunggu apa lagi? Daftar sekarang disini dan mulai perjalananmu untuk menjadi Mobile Developer profesional! #BimbingSampeJadi!


Referensi

  1. Method Overriding in Dart [Buka]

Share

Author Image

Irhan Hisyam Dwi Nugroho

Irhan Hisyam Dwi Nugroho is an SEO Specialist and Content Writer with 4 years of experience in optimizing websites and writing relevant content for various brands and industries. Currently, I also work as a Content Writer at Dibimbing.id and actively share content about technology, SEO, and digital marketing through various platforms.

Hi!👋
Kalau kamu butuh bantuan,
hubungi kami via WhatsApp ya!