{"id":61,"date":"2025-09-21T04:12:12","date_gmt":"2025-09-21T04:12:12","guid":{"rendered":"https:\/\/infokand23.my.id\/2015\/?p=61"},"modified":"2025-09-23T11:24:59","modified_gmt":"2025-09-23T11:24:59","slug":"setup-flutter-development-stateless-statefull-widget-basic-widgets","status":"publish","type":"post","link":"https:\/\/infokand23.my.id\/2015\/setup-flutter-development-stateless-statefull-widget-basic-widgets\/","title":{"rendered":"SETUP FLUTTER DEVELOPMENT, STATELESS, &amp; STATEFULL WIDGET, BASIC WIDGETS"},"content":{"rendered":"\n<p>Praktikum kali ini kita membahas mengenai dasar flutter seperti stateless dan statefull. Flutter merupakan sebuah open source framework untuk membuat aplikasi multi platform hanya dengan satu kode. Agar lebih memahami materi ini langsung saja kita ke langkah-langkah pengerjaan. <\/p>\n\n\n\n<p><strong>A. Lingkungan Pengembangan <\/strong><\/p>\n\n\n\n<p>Sediakan lingkungan flutter development berupa git, Android Studio, Visual Studio Code, dan instal SDK Flutter. <\/p>\n\n\n\n<p><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-black-color\">Download GIT<\/mark> : <a href=\"https:\/\/github.com\/git-for-windows\/git\/releases\/download\/v2.51.0.windows.1\/Git-2.51.0-64-bit.exe\">https:\/\/github.com\/git-for-windows\/git\/releases\/download\/v2.51.0.windows.1\/Git-2.51.0-64-bit.exe<\/a><\/p>\n\n\n\n<p>Download Visual Studio : <a href=\"https:\/\/c2rsetup.officeapps.live.com\/c2r\/downloadVS.aspx?sku=community&amp;channel=Release&amp;version=VS2022&amp;source=VSLandingPage&amp;includeRecommended=true&amp;cid=2030\">https:\/\/c2rsetup.officeapps.live.com\/c2r\/downloadVS.aspx?sku=community&amp;channel=Release&amp;version=VS2022&amp;source=VSLandingPage&amp;includeRecommended=true&amp;cid=2030<\/a><\/p>\n\n\n\n<p>Download Android Studio : <a href=\"https:\/\/developer.android.com\/studio#get-android-studio\">https:\/\/developer.android.com\/studio#get-android-studio<\/a><\/p>\n\n\n\n<p><strong>B. Stateless dan Statefull Widget<\/strong><\/p>\n\n\n\n<p><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">Stateless <\/mark><\/p>\n\n\n\n<p>Stateless widget digunakan ketika laman yang kita bikin datanya tidak mengalami perubahan ketika sebuah state dijalankan. Widget ini bersifat statis atau tetap biasanya hanya berisi text, logo aplikasi dan sebagainya. Untuk membuat laman Stateless silakan buat class pada directory lib dengan nama stateless.dart. Kemudian  tambahkan kode program seperti berikut.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-14-1024x576.png\" alt=\"\" class=\"wp-image-64\" srcset=\"https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-14-1024x576.png 1024w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-14-300x169.png 300w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-14-768x432.png 768w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-14-1536x864.png 1536w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-14-1140x641.png 1140w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-14.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>output :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-15-1024x576.png\" alt=\"\" class=\"wp-image-65\" srcset=\"https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-15-1024x576.png 1024w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-15-300x169.png 300w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-15-768x432.png 768w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-15-1536x864.png 1536w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-15-1140x641.png 1140w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-15.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">Statefull<\/mark><\/p>\n\n\n\n<p>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 lainnya berubah. Ada dua hal yang perlu kita ketahui di Statefull widget :<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>MyStateFulWidget : class utama widget (immutable\/tetap) kelas ini dianalogikan sebagai pintu masuk saja dan di dalamnya tidak terdapat state <\/li>\n\n\n\n<li>_MyStateFulWidgetState : Berfungsi pegang variabel yang bisa berubah misalnya counter, warna, input,text,dll<\/li>\n<\/ol>\n\n\n\n<p>Untuk membuat Statefull widget silakan buat class statefull dan tambahkan kode pogram berikut <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-19-1024x576.png\" alt=\"\" class=\"wp-image-69\" srcset=\"https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-19-1024x576.png 1024w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-19-300x169.png 300w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-19-768x432.png 768w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-19-1536x864.png 1536w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-19-1140x641.png 1140w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-19.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-20-1024x576.png\" alt=\"\" class=\"wp-image-70\" srcset=\"https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-20-1024x576.png 1024w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-20-300x169.png 300w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-20-768x432.png 768w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-20-1536x864.png 1536w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-20-1140x641.png 1140w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-20.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-21-1024x576.png\" alt=\"\" class=\"wp-image-71\" srcset=\"https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-21-1024x576.png 1024w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-21-300x169.png 300w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-21-768x432.png 768w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-21-1536x864.png 1536w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-21-1140x641.png 1140w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-21.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Output :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-18-1024x576.png\" alt=\"\" class=\"wp-image-68\" srcset=\"https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-18-1024x576.png 1024w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-18-300x169.png 300w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-18-768x432.png 768w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-18-1536x864.png 1536w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-18-1140x641.png 1140w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-18.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>C. Basic Widget <\/p>\n\n\n\n<p>Dari dua langkah di atas terdapat dasar-dasar widget yang telah kita implementasikan diantaranya :<\/p>\n\n\n\n<p><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">Text<\/mark><\/p>\n\n\n\n<p>Text merupakan widget dasar yang digunakan utnuk menampilkan text pada layer. <\/p>\n\n\n\n<p>Text memiliki proprti berikut :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>data : Berisi teks yang akan ditampilkan<\/li>\n\n\n\n<li>style : menerima objek TextStyle yang digunakan untuk mengontrol tampilan<\/li>\n\n\n\n<li>teks seperti fontSize, color, fontWeight (bold), fontStyle (italic)<\/li>\n\n\n\n<li>textAlign : mengatur teks secara horizontal seperti TextAlign.center, left, right<\/li>\n\n\n\n<li>maxLines :berfungsi membatas jumlah baris yang akan ditampilkan<\/li>\n\n\n\n<li>overflow : w mengatur teks yang terlalu panjang (TextOverflow.ellipsis) untuk menambahkan \u201c\u2026..\u201d di akhir teks<\/li>\n<\/ul>\n\n\n\n<p><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">Container<\/mark><\/p>\n\n\n\n<p>Container merupakan widget yang berfungsi sebagai KOTAK yang dapat menampung ssatu widget child dan menyediakan berbagai properti untuk dekorasi, mengatur posisi dan mengatur ukuran widget.<\/p>\n\n\n\n<p>Properti Container :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>child : properti yang menerima satu widget yang akan ditempatkan didalam container<\/li>\n\n\n\n<li>color : mengatur warna background<\/li>\n\n\n\n<li>width dan height : mengatur lebar dan tinggi container<\/li>\n\n\n\n<li>padding : mengatur jarak antara konten dengan bagian dalam container<\/li>\n\n\n\n<li>margin : mengatur jarak antara container dengan widget lain diluar container<\/li>\n\n\n\n<li>decoration :  properti yang menerima objek BoxDecoration yang dapat mengatur warna, border, corner radius dan shadow pada Container<\/li>\n<\/ul>\n\n\n\n<p><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">ElevatedButton<\/mark><\/p>\n\n\n\n<p>ElevatedButton merupakan widget yang mewakili tombol dan memiliki shadow<br>Properti :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>onPressed berfungsi untuk menerima sebuah fungsi atau callback ketika tombol di tekan<\/li>\n\n\n\n<li>child properti yang berisi satu widget yang akan ditampilkan didalam tombol biasanya Text<br>atau Icon<\/li>\n\n\n\n<li>style properti yang menerima objek ButtonStyle sehingga dapat menyesuaikan tampilan<br>tombol seperti backgroundColor, foregroundColor, padding dan shape<\/li>\n<\/ul>\n\n\n\n<p><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">Icon<\/mark><\/p>\n\n\n\n<p>Icon merupakan widget yang digunakan untuk menampilkan icon, Flutter telah menyediakan set icon<br>seperti Material Icons dari Google atau Cupertino Icons dari Apple<br>Properti :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>icon properti yang menerima object IconData yang merepresentasikan ikon yang akan<br>ditampilkan dari kelas Icons atau CupertinoIcons<\/li>\n\n\n\n<li>color mengatur warna ikon<\/li>\n\n\n\n<li>size mengatur ukuran ikon dalam piksel<\/li>\n<\/ul>\n\n\n\n<p><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">Image<\/mark><\/p>\n\n\n\n<p>Image merupakan widget dasar yang digunakan untuk menampikan gambar dari berbagai sumber<br>seperti asset, network, memory (byte data), file system.<br>Properti :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>image properti yang menerima object ImageProvider seperti AssetImage, NetworkImage dll)<\/li>\n\n\n\n<li>width dan height mengatur lebar dan tinggi gambar<\/li>\n\n\n\n<li>fit digunakan untuk menyesuaikan ukuran gambar seperti cover, fill, contain<\/li>\n\n\n\n<li>aligment digunakan untuk mengatur posisi gambar<\/li>\n<\/ul>\n\n\n\n<p><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">CircleAvatar<\/mark><br>CircleAvatar adalah widget yang sering digunakan untuk menampilkan gambar profil pengguna atau<br>inisialnya dalam bentuk lingkaran.<br>Properti :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Child Widget yang akan ditampilkan di dalam lingkaran seperti Text (inisial) atau Icon.<\/li>\n\n\n\n<li>backgroundImage Digunakan untuk menampilkan gambar dari ImageProvider, seperti<br>NetworkImage atau AssetImage.<\/li>\n\n\n\n<li>radius Mengontrol ukuran lingkaran, ukuran defaultnya adalah 20.<\/li>\n\n\n\n<li>backgroundColor Mengatur warna latar belakang lingkaran<\/li>\n<\/ul>\n\n\n\n<p><strong>C. Tugas<\/strong><\/p>\n\n\n\n<p>Membuat profil pribadi menggunakan staless widget.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-24-1024x576.png\" alt=\"\" class=\"wp-image-83\" srcset=\"https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-24-1024x576.png 1024w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-24-300x169.png 300w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-24-768x432.png 768w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-24-1536x864.png 1536w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-24-1140x641.png 1140w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-24.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-25-1024x576.png\" alt=\"\" class=\"wp-image-84\" srcset=\"https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-25-1024x576.png 1024w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-25-300x169.png 300w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-25-768x432.png 768w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-25-1536x864.png 1536w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-25-1140x641.png 1140w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-25.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-26-1024x576.png\" alt=\"\" class=\"wp-image-85\" srcset=\"https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-26-1024x576.png 1024w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-26-300x169.png 300w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-26-768x432.png 768w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-26-1536x864.png 1536w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-26-1140x641.png 1140w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-26.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-27-1024x576.png\" alt=\"\" class=\"wp-image-86\" srcset=\"https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-27-1024x576.png 1024w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-27-300x169.png 300w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-27-768x432.png 768w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-27-1536x864.png 1536w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-27-1140x641.png 1140w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-27.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-28-1024x576.png\" alt=\"\" class=\"wp-image-87\" srcset=\"https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-28-1024x576.png 1024w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-28-300x169.png 300w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-28-768x432.png 768w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-28-1536x864.png 1536w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-28-1140x641.png 1140w, https:\/\/infokand23.my.id\/2015\/wp-content\/uploads\/2025\/09\/image-28.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>D<\/strong>. <strong>Simpulan<\/strong><\/p>\n\n\n\n<p>Dari praktikum ini dapat disimpulkan bahwa proses pengembangan aplikasi dengan Flutter membutuhkan pemahaman awal mengenai instalasi dan konfigurasi lingkungan pengembangan yang tepat. Selain itu, pemahaman tentang perbedaan antara <strong>Stateless Widget<\/strong> dan <strong>Stateful Widget<\/strong> menjadi hal yang sangat penting, karena keduanya merupakan fondasi utama dalam membangun antarmuka pengguna. Stateless Widget digunakan untuk tampilan yang statis, sedangkan Stateful Widget memungkinkan tampilan aplikasi berubah sesuai interaksi dan perubahan data. Praktikum ini juga memberikan pengalaman dalam menggunakan berbagai basic widgets seperti <code>Text<\/code>, <code>Container<\/code>, <code>ElevatedButton<\/code>, <code>Icon<\/code>, <code>Image<\/code>, dan <code>CircleAvatar<\/code>, yang menjadi komponen dasar dalam menyusun tampilan aplikasi Flutter. Dengan menguasai konsep dasar ini, pengembangan aplikasi yang lebih kompleks di Flutter akan menjadi lebih mudah dipahami dan diterapkan.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Praktikum kali ini kita membahas mengenai dasar flutter seperti stateless dan statefull. Flutter merupakan sebuah open source framework untuk membuat aplikasi multi platform hanya dengan satu kode. Agar lebih memahami materi ini langsung saja kita ke langkah-langkah pengerjaan. A. Lingkungan Pengembangan Sediakan lingkungan flutter development berupa git, Android Studio, Visual Studio Code, dan instal SDK Flutter. Download GIT : https:\/\/github.com\/git-for-windows\/git\/releases\/download\/v2.51.0.windows.1\/Git-2.51.0-64-bit.exe Download Visual Studio : https:\/\/c2rsetup.officeapps.live.com\/c2r\/downloadVS.aspx?sku=community&amp;channel=Release&amp;version=VS2022&amp;source=VSLandingPage&amp;includeRecommended=true&amp;cid=2030 Download Android Studio : https:\/\/developer.android.com\/studio#get-android-studio B. Stateless dan Statefull Widget Stateless Stateless widget digunakan ketika laman yang kita bikin datanya tidak mengalami perubahan ketika sebuah state dijalankan. Widget ini bersifat statis atau tetap biasanya hanya berisi text, logo aplikasi dan sebagainya. Untuk membuat laman Stateless silakan buat class pada directory lib dengan nama stateless.dart. Kemudian tambahkan kode program seperti berikut. output : Statefull 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 lainnya berubah. Ada dua hal yang perlu kita ketahui di Statefull widget : Untuk membuat Statefull widget silakan buat class statefull dan tambahkan kode pogram berikut Output : C. Basic Widget Dari dua langkah di atas terdapat dasar-dasar widget yang telah kita implementasikan diantaranya : Text Text merupakan widget dasar yang digunakan utnuk menampilkan text pada layer. Text memiliki proprti berikut : Container Container merupakan widget yang berfungsi sebagai KOTAK yang dapat menampung ssatu widget child dan menyediakan berbagai properti untuk dekorasi, mengatur posisi dan mengatur ukuran widget. Properti Container : ElevatedButton ElevatedButton merupakan widget yang mewakili tombol dan memiliki shadowProperti : Icon Icon merupakan widget yang digunakan untuk menampilkan icon, Flutter telah menyediakan set iconseperti Material Icons dari Google atau Cupertino Icons dari AppleProperti : Image Image merupakan widget dasar yang digunakan untuk menampikan gambar dari berbagai sumberseperti asset, network, memory (byte data), file system.Properti : CircleAvatarCircleAvatar adalah widget yang sering digunakan untuk menampilkan gambar profil pengguna atauinisialnya dalam bentuk lingkaran.Properti : C. Tugas Membuat profil pribadi menggunakan staless widget. D. Simpulan Dari praktikum ini dapat disimpulkan bahwa proses pengembangan aplikasi dengan Flutter membutuhkan pemahaman awal mengenai instalasi dan konfigurasi lingkungan pengembangan yang tepat. Selain itu, pemahaman tentang perbedaan antara Stateless Widget dan Stateful Widget menjadi hal yang sangat penting, karena keduanya merupakan fondasi utama dalam membangun antarmuka pengguna. Stateless Widget digunakan untuk tampilan yang statis, sedangkan Stateful Widget memungkinkan tampilan aplikasi berubah sesuai interaksi dan perubahan data. Praktikum ini juga memberikan pengalaman dalam menggunakan berbagai basic widgets seperti Text, Container, ElevatedButton, Icon, Image, dan CircleAvatar, yang menjadi komponen dasar dalam menyusun tampilan aplikasi Flutter. Dengan menguasai konsep dasar ini, pengembangan aplikasi yang lebih kompleks di Flutter akan menjadi lebih mudah dipahami dan diterapkan.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-61","post","type-post","status-publish","format-standard","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/infokand23.my.id\/2015\/wp-json\/wp\/v2\/posts\/61","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/infokand23.my.id\/2015\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/infokand23.my.id\/2015\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/infokand23.my.id\/2015\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/infokand23.my.id\/2015\/wp-json\/wp\/v2\/comments?post=61"}],"version-history":[{"count":5,"href":"https:\/\/infokand23.my.id\/2015\/wp-json\/wp\/v2\/posts\/61\/revisions"}],"predecessor-version":[{"id":88,"href":"https:\/\/infokand23.my.id\/2015\/wp-json\/wp\/v2\/posts\/61\/revisions\/88"}],"wp:attachment":[{"href":"https:\/\/infokand23.my.id\/2015\/wp-json\/wp\/v2\/media?parent=61"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/infokand23.my.id\/2015\/wp-json\/wp\/v2\/categories?post=61"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/infokand23.my.id\/2015\/wp-json\/wp\/v2\/tags?post=61"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}