• PEMROGRAMAN WEB DINAMIS

    Pengertian web dinamis adalah suatu web yang konten atau isinya dapat berubah-ubah setiap saat. Sebab dalam teknologi pembuatan web dinamis sudah dirancang semudah mungkin bagi pemakai atau user yang menggunakan web tersebut..

  • SIMULASI DAN KOMUNIKASI DIGITAL

    Suatu proses peniruan dalam bentuk visual yang dideskripsikan menyerupai kata, gambar dan grafis..

  • SISTEM KOMPUTER

    Sistem komputer adalah suatu jaringan elektronik yang terdiri dari perangkat lunak dan perangkat keras yang melakukan tugas tertentu (menerima input, memproses input, menyimpan perintah-perintah, dan menyediakan output dalam bentuk informasi). Selain itu dapat pula diartikan sebagai elemen-elemen yang terkait untuk menjalankan suatu aktivitas dengan menggunakan komputer..

  • DASAR DESAIN GRAPIS

    Banyak yang berpikiran kalau desain yang baik adalah yang membutuhkan jam kerja yang banyak, membutuhkan skill tinggi dan aplikasi yang mahal. Ya, memang, tapi sebenarnya desain yang baik adalah desain yang sederhana, yang membuat setiap orang yang melihatnya mudah menangkap maksud dari sebuah bentuk visual tersebut..

  • BASIS DATA

    Pangkalan data atau basis data (bahasa Inggris: database) adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (database management system, DBMS). Sistem basis data dipelajari dalam ilmu informasi.

10 Prototipe Desain To-Do List Unik

10 Prototipe Desain To-Do List Unik

10 Prototipe Desain To-Do List (UI/UX)

Eksplorasi berbagai gaya desain untuk aplikasi to-do list yang dapat menginspirasi proyek Anda.

Mengapa Desain To-Do List yang Baik Penting?

Aplikasi to-do list adalah salah satu jenis aplikasi yang paling banyak digunakan. Desain yang baik tidak hanya membuatnya lebih menarik secara visual, tetapi juga meningkatkan produktivitas pengguna.

Berikut adalah 10 prototipe desain to-do list dengan gaya yang berbeda-beda, masing-masing menawarkan pendekatan unik terhadap pengorganisasian tugas.

1. Minimalis & Terorganisir

Desain bersih dengan fokus pada fungsionalitas. Menggunakan indikator warna untuk prioritas dan statistik kemajuan yang jelas.

  • Indikator prioritas dengan warna berbeda
  • Progress tracker yang terlihat
  • Tombol aksi yang jelas
  • Tampilan yang tidak membebani pengguna
Cocok untuk: Pengguna yang menyukai kesederhanaan dan efisiensi
Hari Ini, 9 Okt
4/6

Buat presentasi klien

Kirim email konfirmasi

Bayar tagihan listrik

2. Gradient Penuh Warna

Desain yang menarik dengan gradien warna yang hidup, memberikan pengalaman visual yang menyenangkan tanpa mengorbankan fungsionalitas.

  • Header dengan gradien warna yang menarik
  • Floating Action Button (FAB) untuk aksi utama
  • Tampilan tugas yang bersih dengan indikator status
  • Kombinasi warna yang harmonis
Cocok untuk: Pengguna yang menginginkan aplikasi yang menarik secara visual

Todo List Saya

Anda memiliki 3 tugas aktif

Desain halaman utama

Pelajari Tailwind

Review kode

3. Gaya Catatan Kertas Tua

Membawa nuansa nostalgia dengan desain yang menyerupai catatan di kertas tua. Cocok untuk pengguna yang menyukai sentuhan klasik dan personal.

  • Background menyerupai kertas tua dengan garis-garis
  • Font tulisan tangan untuk kesan personal
  • Elemen desain vintage
  • Warna yang hangat dan natural
Cocok untuk: Pengguna yang menyukai estetika vintage dan personal

Daftar Tugas Penting

  • Beli kopi dan roti
  • Baca buku UX
  • Telepon Ibu sore ini

Ditulis: Kamis, 9 Oct '25

4. Mode Gelap Produktif

Desain dengan tema gelap yang mudah di mata, cocok untuk penggunaan dalam waktu lama. Menggunakan aksen warna neon untuk penekanan visual.

  • Tema gelap dengan kontras yang tepat
  • Aksen warna neon untuk elemen penting
  • Tipografi yang mudah dibaca dalam kondisi rendah cahaya
  • Minimalis dengan fokus pada konten
Cocok untuk: Pengguna yang bekerja di malam hari atau menyukai tema gelap

Tugas Hari Ini

Fokus pada yang utama

Siapkan materi rapat

Makan siang

Pikirkan ide konten baru

Kesimpulan

Desain to-do list dapat mengambil berbagai bentuk dan gaya, masing-masing dengan keunggulan dan target pengguna yang berbeda. Mulai dari desain minimalis yang fokus pada fungsionalitas hingga desain dengan elemen gamifikasi yang membuat pengelolaan tugas menjadi lebih menyenangkan.

Pilihan desain yang tepat tergantung pada kebutuhan dan preferensi pengguna. Yang terpenting adalah menciptakan pengalaman pengguna yang intuitif dan menyenangkan.

© 2023 Galeri Desain To-Do List. Semua prototipe menggunakan kombinasi CSS (Tailwind) untuk mensimulasikan tekstur, warna, dan kedalaman UI/UX yang berbeda.

Share:

Berpikir Komputasional dalam Pemasaran Digital: Belajar dari Akun Instagram Sendiri

Berpikir Komputasional dalam Pemasaran Digital: Belajar dari Akun Instagram Sendiri


Di era digital seperti sekarang, dunia pemasaran sudah tidak bisa lepas dari teknologi dan data. Namun, di balik segala istilah keren seperti digital marketing, analytics, dan content strategy, ada satu kemampuan dasar yang sangat penting untuk dimiliki oleh siswa jurusan Pemasaran maupun Rekayasa Perangkat Lunak — yaitu cara berpikir komputasional (Computational Thinking / CT).

Menariknya, berpikir komputasional bukan hanya untuk programmer atau ahli komputer. Dalam konteks pemasaran, cara berpikir ini justru sangat berguna untuk memahami masalah, mengenali pola perilaku konsumen, dan merancang strategi penjualan yang lebih efektif. Mari kita bahas lebih dalam dua langkah awal dalam berpikir komputasional yang bisa langsung kamu terapkan pada akun jualanmu sendiri!


Langkah 1: Dekomposisi – Memecah Masalah Jadi Bagian Kecil

Bayangkan kamu punya akun jualan di Instagram, tapi engagement-nya rendah. Sudah rajin posting, tapi likes dan komentar tetap sepi. Biasanya, kita langsung merasa, “Aduh, jualanku nggak laku.” Padahal sebenarnya, masalah itu bisa dipecah menjadi beberapa bagian kecil.

Inilah inti dari dekomposisi — memecah masalah besar menjadi bagian-bagian yang lebih kecil agar lebih mudah dianalisis. Misalnya:

  • Apakah fotonya sudah menarik dan konsisten?

  • Seberapa sering kamu posting?

  • Apakah kamu aktif membalas komentar atau DM calon pembeli?

  • Sudah tahu belum siapa target pembelimu sebenarnya?

Dengan memisahkan satu per satu aspek tersebut, kamu jadi bisa lebih fokus menemukan akar masalah dan memperbaikinya secara sistematis. Itulah kekuatan berpikir seperti komputer — terstruktur, logis, dan efisien.


Langkah 2: Pengenalan Pola – Menemukan Tren dari Pengalaman

Setelah masalah diurai, saatnya kamu mulai mengenali pola (pattern recognition). Ini langkah yang membantu kamu melihat kesamaan, tren, atau kebiasaan yang muncul dari data yang ada.

Misalnya, setelah beberapa minggu kamu coba eksperimen posting, kamu mungkin menemukan bahwa:

  • Foto dengan pencahayaan terang lebih disukai,

  • Caption lucu atau personal lebih banyak dibagikan,

  • Posting di malam hari menghasilkan lebih banyak komentar.

Nah, dari sini kamu belajar mengenali pola: posting yang cerah + caption menarik + waktu malam = performa lebih baik. Ini bukan kebetulan, tapi hasil dari analisis berpola — bagian penting dari berpikir komputasional.

Dalam dunia pemasaran, kemampuan mengenali pola bisa diterapkan untuk memahami perilaku pembeli, mengatur waktu promosi, hingga menentukan strategi konten yang paling efektif.


Refleksi: Apa Hubungannya dengan Dunia Kerja?

Banyak siswa mungkin berpikir bahwa belajar berpikir komputasional hanya berguna bagi siswa teknik atau programmer. Padahal, dunia bisnis modern menuntut semua bidang untuk data-driven — mengambil keputusan berdasarkan data, bukan hanya perasaan.

Dengan berpikir komputasional:

  • Kamu belajar menyelesaikan masalah secara terstruktur (seperti menganalisis performa konten),

  • Mampu mengenali pola pasar dan kebiasaan konsumen,

  • Lebih siap menghadapi tantangan dunia kerja yang serba digital dan berbasis logika.


Tugas Praktik Sederhana:

Pilih satu masalah nyata dari akun media sosialmu. Misalnya:

“Engagement postinganku rendah.”
Lalu uraikan menjadi bagian kecil (dekomposisi):
1️⃣ Cek kualitas foto dan caption.
2️⃣ Bandingkan waktu posting.
3️⃣ Lihat interaksi di komentar.
4️⃣ Analisis konten pesaing.
5️⃣ Uji pola yang berhasil.

Kegiatan sederhana ini akan melatih kamu berpikir seperti pemasar profesional yang juga memahami logika seperti seorang data analyst!


💬 Penutup:
Berpikir komputasional bukan berarti kamu harus jadi coder. Tapi dengan pola pikir ini, kamu akan terbiasa mengurai masalah, mengenali pola, dan membuat keputusan yang lebih cerdas — kemampuan penting yang akan membedakan kamu dari pelaku pemasaran lainnya.

📱 Jadi, yuk mulai belajar berpikir ala komputer — bukan untuk jadi robot, tapi supaya bisa mengambil keputusan yang lebih smart! 🚀


Salam : Redaksi

Share:

📘 Kegiatan Review Kode Program Flutter – Aplikasi To-Do List Siswa

 ðŸ“˜ Kegiatan Review Kode Program Flutter – Aplikasi To-Do List Siswa


Halo semuanya 👋
Hari ini peserta didik melanjutkan pembelajaran pemrograman mobile menggunakan Dart Flutter.
Pada pertemuan sebelumnya, mereka telah berhasil membuat aplikasi To-Do List sederhana menggunakan Zapp.run atau DartPad. Aplikasi tersebut menampilkan daftar tugas yang bisa ditambah dan dikelola oleh pengguna.


🧩 Menafsirkan Kode, Memahami Karya – Review Aplikasi To-Do List Siswa Flutter

Setiap baris kode yang ditulis oleh seorang pembelajar pemrograman bukan sekadar perintah bagi komputer, melainkan juga cerminan cara berpikirnya.
Begitu pula dengan peserta didik kami yang kini sedang berproses memahami Dart Flutter, sebuah bahasa dan framework yang menjadi fondasi banyak aplikasi mobile masa kini.

Beberapa waktu lalu, 11 PPLG 1 & 2 telah membuat aplikasi sederhana bertajuk To-Do List, sebuah aplikasi yang memungkinkan pengguna menuliskan dan mengelola daftar kegiatan sehari-hari.
Bagi sebagian orang, mungkin aplikasi ini terlihat sederhana. Namun bagi mereka, inilah pintu masuk untuk memahami bagaimana kode dapat mewujudkan ide menjadi tampilan nyata di layar ponsel.


🎯 Makna dan Tujuan Pembelajaran Hari Ini

Hari ini, kita tidak lagi sekadar menulis kode, tetapi belajar membaca dan memahami makna di baliknya.
Setiap widget, setiap struktur tampilan, memiliki logika dan peran yang membentuk pengalaman pengguna.

Melalui kegiatan ini, peserta didik diharapkan:

  1. Mampu menjelaskan hubungan antara kode dan tampilan yang dihasilkan dalam aplikasi Flutter.

  2. Mampu mengungkapkan pemahamannya secara tertulis di media digital.

  3. Melatih refleksi diri dan komunikasi teknologi melalui blog pribadi.


💡 Tugas Hari Ini

Tulislah review kode program dari aplikasi To-Do List yang telah kalian buat sebelumnya.
Perhatikan bagaimana setiap bagian kode berperan dalam membentuk tampilan aplikasi.

Langkah-langkah kegiatan:

  1. Buka kembali proyek Flutter kalian di Zapp.run atau DartPad.

  2. Pilih beberapa bagian kode penting (misalnya Scaffold, AppBar, ListView, TextField, FloatingActionButton, dan lainnya).

  3. Buat tabel seperti berikut untuk menjelaskan fungsi tiap bagian:

===========================================================

🧠 Contoh Review Kode Program: Tombol (FloatingActionButton)

💻 Potongan Kode

floatingActionButton: FloatingActionButton( onPressed: () { setState(() { tasks.add(newTaskController.text); newTaskController.clear(); }); }, child: Icon(Icons.add), backgroundColor: Colors.blue, ),

🧩 Penjelasan Fungsi Kode

Bagian KodeWidgetFungsiHasil Tampilan
FloatingActionButton(...)FloatingActionButtonMembuat tombol melayang di pojok bawah kanan aplikasiTombol bundar dengan ikon “+”
onPressed: () { ... }Callback functionMenentukan aksi ketika tombol ditekanMenambahkan tugas baru ke daftar
child: Icon(Icons.add)IconMenampilkan ikon tanda tambah di dalam tombolIkon “+” putih di atas latar biru
backgroundColor: Colors.bluePropertyMengatur warna latar tombolWarna tombol menjadi biru

📱 Tampilan di Aplikasi

Gambar hasil tampilan dapat disertakan oleh siswa, misalnya:

(contoh deskripsi jika tanpa gambar)

Di bagian kanan bawah layar, terdapat tombol bundar berwarna biru dengan ikon “+”. Saat ditekan, pengguna bisa menambahkan item baru ke daftar To-Do List.

Atau jika menyertakan screenshot:
📸 [Sisipkan tangkapan layar tombol di aplikasi]

🪞 Refleksi Siswa (contoh isi paragraf)

Dari bagian kode ini, saya memahami bahwa widget FloatingActionButton bukan hanya elemen visual, tetapi juga memiliki logika interaktif melalui fungsi onPressed. Saat pengguna menekan tombol ini, daftar tugas diperbarui dengan data baru. Saya merasa menarik karena satu potongan kode sederhana bisa menghubungkan tampilan dan aksi pengguna secara langsung.

===========================================================
  1. Tambahkan tangkapan layar (screenshot) dari tampilan aplikasi kalian.

  2. Akhiri tulisan dengan refleksi pribadi, misalnya:

    “Dari proses ini, saya belajar bahwa kode tidak hanya memerintah mesin, tetapi juga membentuk cara kita berpikir terstruktur dan kreatif.”


✍️ Publikasi di Blog Pribadi

Tulisan review ini dipublikasikan di blog pribadi kalian (Blogger, WordPress, Medium, atau platform lain) dengan ketentuan berikut:

  • Judul postingan:
    Review Kode Program Flutter: Aplikasi To-Do List Saya

  • Isi postingan mencakup:

    • Pendahuluan singkat tentang aplikasi

    • Tabel penjelasan fungsi kode

    • Screenshot hasil tampilan

    • Refleksi pribadi


🔗 Membagikan Link di Blog Guru

Setelah postingan kalian terbit, salin tautan (link) postingan tersebut dan tuliskan di kolom komentar di bawah postingan ini dengan format:

Nama:
Kelas:
Link Blog Review:

Dengan cara ini, semua karya siswa akan saling terhubung dan menjadi galeri digital pembelajaran kita bersama — ruang di mana setiap karya bisa dilihat, dibaca, dan diapresiasi oleh banyak mata 👀✨


🌱 Penutup

Kegiatan ini bukan hanya soal memahami kode, tetapi juga tentang memaknai proses belajar.
Setiap widget yang kamu jelaskan adalah bukti bahwa kamu mulai mengenali bagaimana teknologi bekerja — dan bagaimana kamu bisa menjadi bagian dari dunia yang membangunnya.

Mari terus belajar dengan cara yang reflektif dan bermakna.
Selamat menulis, menafsirkan, dan memahami karya kalian sendiri 💻💬

Silakan tulis link blog kalian di kolom komentar di bawah ini 👇
Bapak tunggu hasil refleksi dan penjelasan terbaik dari masing-masing kalian. 


🌱Salam: Redaksi
Share:

Cara Berpikir Komputasional (CT) untuk Pemasaran Digital

Cara Berpikir Komputasional (CT) untuk Pemasaran Digital


Dalam dunia pemasaran digital yang serba cepat, kemampuan berpikir sistematis menjadi kunci penting agar strategi yang kita jalankan bisa tepat sasaran. Salah satu pendekatan yang bisa digunakan adalah Cara Berpikir Komputasional (Computational Thinking / CT). Jangan khawatir — ini bukan soal coding, tapi soal bagaimana cara berpikir untuk menyelesaikan masalah secara terstruktur dan efisien.


💡 Apa Itu Cara Berpikir Komputasional?

Cara berpikir komputasional adalah pendekatan logis dan langkah demi langkah untuk memecahkan masalah, mirip seperti bagaimana komputer bekerja — tetapi diterapkan dalam kehidupan sehari-hari.

Dalam konteks pemasaran, CT membantu kita untuk:

  • Memahami masalah dengan lebih jelas

  • Menyusun strategi berdasarkan data

  • Membagi pekerjaan menjadi bagian-bagian kecil yang mudah dikelola

  • Menemukan solusi yang bisa diulang atau diadaptasi


📱 Contoh Kasus: Akun Jualan Sepi di Instagram

Bayangkan kamu punya akun jualan di Instagram, tapi jumlah interaksinya sangat sedikit. Padahal, kamu sudah sering posting produk.
Lalu kamu mulai berpikir: “Apa ya penyebabnya?”

Kemungkinan penyebabnya bisa bermacam-macam:

  • Fotonya kurang menarik

  • Upload tidak konsisten

  • Tidak membalas komentar atau pesan pembeli

  • Tidak tahu siapa target pembelinya

Saat kamu mencoba mencari tahu satu per satu penyebabnya, kamu sebenarnya sedang melakukan dekomposisi — yaitu memecah masalah besar menjadi bagian-bagian kecil agar lebih mudah dianalisis dan diselesaikan.


🧩 Contoh Dekomposisi Masalah

Masalah utama:

“Akun jualan saya sepi.”

Dekomposisi:

  1. Periksa kualitas foto dan caption

  2. Riset siapa pembeli potensial

  3. Rancang rencana konten mingguan

  4. Tingkatkan interaksi dengan komentar dan DM

  5. Pelajari akun kompetitor yang ramai

Dengan cara ini, kamu tidak lagi merasa bingung harus mulai dari mana. Setiap langkah menjadi lebih terarah dan terukur.


✏️ Tugas Praktik Sederhana

Coba pilih satu masalah yang sering kamu hadapi dalam mengelola akun Instagram, lalu tulis bagian-bagian kecilnya (dekomposisi) seperti contoh berikut:

Format kirim:

Nama: …
Masalah: …
Dekomposisi:

Selamat berpikir kreatif dan terstruktur — karena berpikir seperti komputer bukan berarti kaku, tapi justru membuat kita lebih cerdas dalam mengambil keputusan! 💪✨


Penulis: Darsu Smknesaba

Share:

Membuat Todo List Cantik dengan Flutter: UI/UX yang Memukau untuk Aplikasi Produktivitas

Membuat Todo List Cantik dengan Flutter: UI/UX yang Memukau untuk Aplikasi Produktivitas


Bayangkan memiliki asisten pribadi yang tidak hanya membantu mengatur tugas-tugas Anda, tetapi juga menyajikannya dengan tampilan yang elegan dan interaksi yang menyenangkan. Inilah yang akan kita wujudkan hari ini dengan Flutter!

Sebagai developer, kita tahu bahwa pengalaman pengguna (UX) dan antarmuka (UI) yang baik adalah kunci kesuksesan sebuah aplikasi. Mari kita jelajahi bagaimana membuat aplikasi Todo List yang tidak hanya fungsional tapi juga memukau secara visual.

✨ Kenapa Todo List Biasa Itu Membosankan?

Kebanyakan aplikasi todo list tradisional hanya menampilkan daftar tugas sederhana dengan checkbox. Tapi di era modern ini, pengguna mengharapkan lebih - mereka menginginkan pengalaman yang menyenangkan, animasi yang halus, dan desain yang menarik.

Dengan Flutter, kita bisa menciptakan aplikasi yang:

  • Memiliki animasi yang smooth

  • Tampilan visual yang konsisten

  • Interaksi yang intuitif

  • Pengalaman pengguna yang memorable

🎨 Magic di Balik Kode: UI/UX yang Menawan

Gradient Background yang Menenangkan

dart
Container(
  decoration: BoxDecoration(
    gradient: LinearGradient(
      begin: Alignment.topCenter,
      end: Alignment.bottomCenter,
      colors: [Colors.blue[50]!, Colors.white],
    ),
  ),
)

Bayangkan membuka aplikasi dan disambut dengan gradien biru muda yang lembut ke putih. Ini bukan hanya sekedar warna - ini adalah psikologi warna yang menciptakan perasaan tenang dan fokus, tepat untuk aplikasi produktivitas!

AnimatedList: Keajaiban Visual yang Hidup

dart
AnimatedList(
  key: _listKey,
  initialItemCount: _todos.length,
  itemBuilder: (context, index, animation) {
    return _buildTodoItem(_todos[index], index, animation);
  },
)

Setiap kali Anda menambah atau menghapus tugas, AnimatedList memberikan kehidupan pada daftar Anda dengan animasi yang halus. Bukan lagi sekadar muncul dan hilang, tapi elemen-elemen tersebut "masuk" dan "keluar" dengan graceful transition.

SizeTransition: Seni dalam Setiap Gerakan

dart
Widget _buildTodoItem(Map<String, dynamic> todo, int index, Animation<double> animation) {
  return SizeTransition(
    sizeFactor: animation,
    child: Card(
      // ... rest of the card
    ),
  );
}

Setiap item todo tidak hanya muncul begitu saja - mereka tumbuh dengan animasi yang natural, memberikan feedback visual yang memuaskan bagi pengguna.

🚀 Fitur-Fitur Cerdas yang Membuat Perbedaan

Empty State yang Menghibur

Ketika tidak ada tugas, aplikasi menampilkan ikon dan pesan yang friendly. Ini mencegah kekosongan yang membuat pengguna bingung, dan justru memberikan panduan tentang apa yang harus dilakukan selanjutnya.

Visual Feedback yang Cerdas

  • Status Completed: Teks tercoret dengan warna abu-abu memberikan indikasi visual yang jelas

  • Ikon Kontekstual: Ikon berubah warna berdasarkan status tugas

  • SnackBar Konfirmasi: Ketika menghapus, pengguna mendapat konfirmasi visual

Input yang User-Friendly

TextField dengan ikon plus dan tombol submit yang multiple (baik dengan tombol enter maupun FAB) memastikan pengguna tidak pernah bingung bagaimana menambah tugas baru.

💡 Tips UI/UX untuk Developer Flutter

  1. Konsistensi adalah Kunci: Gunakan ThemeData untuk menjaga konsistensi warna dan font

  2. Feedback adalah Segalanya: Setiap aksi pengguna harus memberikan feedback visual

  3. Animasi yang Bermakna: Gunakan animasi untuk meningkatkan UX, bukan hanya untuk hiasan

  4. Empty States Matters: Desain state kosong dengan hati-hati - ini adalah kesempatan untuk engage dengan pengguna

🎯 Mengapa Ini Penting untuk Dipelajari?

Sebagai siswa atau developer pemula, mempelajari UI/UX dalam Flutter bukan hanya tentang membuat aplikasi yang "bagus dilihat". Ini tentang:

  • Memahami psikologi pengguna: Bagaimana desain mempengaruhi perilaku

  • Meningkatkan retainment: Aplikasi yang beautiful membuat pengguna betah

  • Membangun portfolio yang impressive: Project dengan UI yang baik lebih menarik perhatian recruiter

🚀 Tantangan untuk Kamu!

Coba modifikasi kode ini dengan:

  • Menambahkan kategori tugas dengan warna berbeda

  • Implement swipe to delete dengan Dismissible widget

  • Tambahkan dark mode

  • Buat animasi checklist yang lebih elaborate

💫 Kesimpulan

Membangun aplikasi dengan Flutter bukan hanya tentang fungsi - ini tentang menciptakan pengalaman. Dengan menggabungkan kekuatan widget Flutter dan prinsip-prinsip UI/UX yang baik, kita bisa mengubah aplikasi sederhana seperti todo list menjadi sesuatu yang benar-benar special.

Ingat, dalam dunia development modern, beautiful code creates beautiful experiences. Selamat coding! 🚀

Kode lengkap sudah tersedia di link berikut <<kode lengkap>>- sekarang giliranmu untuk bereksperimen dan membuatnya lebih amazing lagi! 

Share:

MATERI MEMPERDALAM MENGENAL DAN MEMAHAMI WIDGET FLUTTER

MATERI MEMPERDALAM MENGENAL DAN MEMAHAMI WIDGET FLUTTER


Bahasa: Santai & Mudah Dimengerti

1. APA ITU WIDGET? BAYANGKAN SEPERTI "LEGO DIGITAL"

Bayangkan kamu mau membangun sebuah rumah dari Lego. Kamu punya:

  • Lego bata (untuk dinding)

  • Lego jendela

  • Lego pintu

  • Lego atap

Nah, di Flutter, Widget adalah Lego-lego digitalnya. Semua yang kamu lihat di aplikasi Flutter, dari teks, gambar, button, hingga layoutnya, adalah Widget.

Kesimpulan 1: Flutter adalah "Dunia Lego". Aplikasi kamu adalah hasil susunan dari berbagai macam Widget.


2. JENIS-JENIS WIDGET: DUA KELUARGA BESAR

Widget dalam Flutter terbagi menjadi dua jenis utama. Ini konsep paling penting!

a. StatelessWidget: Si "Bodoh" yang Tidak Berubah

  • Analoginya: Seperti foto atau poster. Isinya sudah ditentukan dari awal dan tidak akan pernah berubah.

  • Ciri-cirinya:

    • Tampilannya statis.

    • Tidak bisa mengingat data.

    • Tidak akan berubah meskipun kamu menekannya (kecuali dipaksa oleh parent-nya).

Contoh Widgetnya:

  • Text('Halo, Nama Saya Andre') → Teksnya sudah tetap "Andre".

  • Icon(Icons.favorite) → Ikon hati yang tidak bisa berubah warna sendiri.

  • Image.asset('foto_saya.jpg') → Gambarnya tetap.

b. StatefulWidget: Si "Pintar" yang Bisa Berubah-ubah

  • Analoginya: Seperti tombol lampu. Saat ditekan, nyala. Ditekan lagi, mati. Keadaannya (state) berubah.

  • Ciri-cirinya:

    • Tampilannya dinamis dan bisa berinteraksi.

    • Bisa mengingat data (state).

    • Bisa "me-rebuild" (menggambar ulang) dirinya sendiri ketika ada perubahan data.

Contoh Widgetnya:

  • Checkbox() → Bisa dicentang dan tidak dicentang.

  • Slider() → Bisa digeser-geser.

  • TextField() → Bisa diisi teks oleh user.

  • Counter (contoh dari project baru Flutter) → Angkanya bisa naik ketika tombol ditekan.

Cara Membedakan:
Tanyakan pada widget itu, "Apakah kamu bisa berubah setelah dibuat?"

  • Tidak bisa berubah? → StatelessWidget

  • Bisa berubah? → StatefulWidget


3. SUSUNAN WIDGET: POHON KELUARGA (WIDGET TREE)

Bayangkan lagi kamu bikin rumah Lego. Kamu tidak bisa asal tempel. Kamu punya fondasi, lalu dinding, lalu atap, lalu pintu.

Di Flutter, susunannya disebut Widget Tree. Ini seperti silsilah keluarga widget.

Contoh Sederhana:

dart
// Ini kode Flutter, jangan takut! Coba baca analoginya.
MaterialApp( // Kakek: Widget utama aplikasi
  home: Scaffold( // Ayah: Kerangka halaman (punya AppBar, Body)
    appBar: AppBar( // Anak 1: Bagian kepala
      title: Text('Aplikasi Pertamaku'), // Cucu: Teks di kepala
    ),
    body: Center( // Anak 2: Bagian badan
      child: Column( // Cicit: Menyusun anak-anaknya secara vertikal
        children: [
          Text('Halo Dunia!'), // Cicit 1
          ElevatedButton( // Cicit 2: Tombol
            onPressed: () {},
            child: Text('Tekan Aku'),
          ),
        ],
      ),
    ),
  ),
);

Apa yang terjadi?

  • MaterialApp adalah "kakek" dari semua widget di halaman ini.

  • Scaffold adalah "ayah" yang memberikan struktur dasar (seperti badan manusia).

  • AppBar dan Body adalah "anak" dari Scaffold.

  • CenterColumnText, dan ElevatedButton adalah "cucu" dan "cicit".

Flutter akan membangun UI-nya dengan membaca pohon ini dari atas ke bawah.


4. CONTOH WIDGET-WIDGET PENTING LAINNYA

a. Widget untuk Tata Letak (Layout)

  • Container() → Seperti kotak kosong yang bisa diisi warna, padding, margin, dll. Serba bisa!

  • Row() → Seperti barisan horizontal. Anak-anak widgetnya akan berjejer ke samping.

  • Column() → Seperti barisan vertikal. Anak-anak widgetnya akan bertumpuk ke bawah.

  • Stack() → Seperti tumpukan kartu. Widget anaknya akan ditumpuk satu sama lain.

b. Widget untuk Konten (Content)

  • Text() → Untuk menampilkan teks.

  • Image() → Untuk menampilkan gambar.

  • Icon() → Untuk menampilkan ikon.

c. Widget untuk Interaksi (Interaction)

  • ElevatedButton() → Tombol yang timbul.

  • TextField() → Kotak input teks.

  • Checkbox()Radio() → Untuk pilihan.


5. PRAKTEK: MEMBUAT "KARTU NAMA" SEDERHANA

Mari kita rancang sebuah kartu nama sederhana dengan Widget Tree.

Apa yang kita inginkan?

  • Sebuah latar biru.

  • Di tengahnya, ada foto profil (bulat).

  • Di bawah foto, ada nama dan jabatan.

Kira-kira Widget Tree-nya:

text
Center (Untuk membuat semuanya ke tengah)
└── Column (Untuk menyusun secara vertikal)
    ├── CircleAvatar (Foto profil bulat)
    ├── Text('Nama Lengkap')
    └── Text('Flutter Developer')

Kode Flutternya (salin ke main.dart untuk mencoba):

dart
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        backgroundColor: Colors.blueGrey[900], // Latar belakang biru tua
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center, // Agar isi Column ada di tengah vertikal
            children: [
              CircleAvatar(
                radius: 50.0, // Ukuran lingkaran
                backgroundImage: NetworkImage('https://i.pravatar.cc/300'), // Foto dari internet
              ),
              SizedBox(height: 20), // Jarak antara foto dan teks (seperti spacer)
              Text(
                'Budi Santoso',
                style: TextStyle(
                  fontSize: 30,
                  color: Colors.white,
                  fontWeight: FontWeight.bold,
                ),
              ),
              Text(
                'Flutter Developer Pemula',
                style: TextStyle(
                  fontSize: 18,
                  color: Colors.white70,
                ),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

RINGKASAN & KESIMPULAN

  1. Widget adalah Lego Digital untuk membangun UI.

  2. Ada 2 Jenis Utama:

    • StatelessWidget: Statis, tidak berubah (seperti Foto).

    • StatefulWidget: Dinamis, bisa berubah (seperti Tombol Lampu).

  3. Aplikasi Flutter disusun sebagai Pohon Widget (Widget Tree) yang punya hubungan parent-child.

  4. Untuk mahir, hafalkan dan pahami fungsi widget-widget dasar (Container, Row, Column, Text, dll) lalu praktekkan dengan menyusunnya.

Tips Belajar Selanjutnya:

  • Jangan menghafal semua widget! Fokus dulu pada yang dasar.

  • Sering-sering praktek dan ubah-ubah kode contoh. Lihat apa yang berubah.

  • Gunakan documentasi Flutter (docs.flutter.dev) dan tekan Ctrl + Spasi di VS Code/Android Studio untuk melihat opsi-opsi yang tersedia dari sebuah widget.

Selamat belajar! Semoga dengan analogi ini, Flutter menjadi lebih menyenangkan


📚 Sumber Materi & Referensi

  1. Flutter Official Documentation – Introduction to widgets
    👉 https://docs.flutter.dev/ui/widgets

  2. Flutter.dev – Your first Flutter app (Panduan resmi untuk pemula)
    👉 https://docs.flutter.dev/get-started/codelab

  3. Flutter Widget Catalog – Daftar lengkap widget beserta contoh
    👉 https://docs.flutter.dev/ui/widgets/catalog

  4. Buku: Flutter Apprentice (Raywenderlich, 2021) – Cocok untuk pemula memahami dasar Flutter.

  5. Medium & Flutter Community Articles – banyak artikel analogi Lego & Widget Tree, salah satunya:
    👉 https://medium.com/flutter-community


✍️ Sumber Materi:

  • Dokumentasi resmi Flutter (docs.flutter.dev)

  • Flutter Widget Catalog

  • Flutter Community (Medium)

  • Flutter Apprentice (Raywenderlich, 2021)

Share:

Blogger Tricks

Blogger Themes