Update Blog

Senin, 02 Maret 2026

Review Film Scream (1996): Awal Mula Teror Si Wajah Penyok yang Mengubah Genre Horor

Review Film Scream (1996): Awal Mula Teror Si Wajah Penyok yang Mengubah Genre Horor

Film Scream (1996) bukan sekadar film slasher biasa. Film garapan Wes Craven ini berhasil merevolusi genre horor dengan elemen meta-fiksi dan aturan-aturan "film horor" yang unik. Mari kita bedah bagaimana teror ini bermula.

1. Pembukaan yang Ikonik dan Tragis

Film dibuka dengan adegan yang sangat mencekam [01:02]. Seorang gadis bernama Casey (Drew Barrymore) menerima telepon misterius yang awalnya tampak seperti iseng, namun berubah menjadi mimpi buruk saat si penelepon mulai membahas film horor dan mengancam nyawa pacarnya, Steve. Adegan ini menetapkan nada film yang penuh ketegangan, di mana pengetahuan tentang film horor bisa menjadi penentu hidup atau mati. Sayangnya, Casey dan Steve harus menjadi korban pertama dari sang psikopat bertopeng "Ghostface" [02:19].

2. Sidney Prescott: Sang Protagonis yang Tangguh

Kita kemudian diperkenalkan dengan Sidney Prescott [02:44], seorang remaja yang masih berduka atas kematian ibunya, Maureen, setahun yang lalu. Sidney menjadi target utama teror Ghostface. Ketegangan semakin meningkat saat kekasihnya, Billy Loomis, tiba-tiba muncul di kamarnya lewat jendela tepat setelah serangan terjadi, membuat Sidney (dan penonton) mulai menaruh curiga [03:34].

3. Aturan Main Film Horor

Salah satu daya tarik utama film ini adalah karakter Randy dan Stuart yang sangat terobsesi dengan film horor [04:48]. Mereka sering membahas "aturan" agar selamat dalam film horor, seperti:

  • Jangan pernah melakukan hubungan s*ks.

  • Jangan minum alkohol atau memakai narkoba.

  • Jangan pernah berkata "Aku akan segera kembali" (I'll be right back).

4. Puncak Teror di Pesta Stuart

Teror mencapai puncaknya saat diadakan pesta di rumah Stuart. Satu per satu karakter gugur, termasuk Tatum (sahabat Sidney) yang tewas mengenaskan di pintu garasi [10:51]. Keadaan menjadi semakin kacau ketika mobil ayah Sidney ditemukan di dekat lokasi, membuat polisi mencurigai ayahnya sebagai pelaku [12:06].

5. Plot Twist yang Tak Terduga

Di akhir film, terungkaplah kebenaran yang mengejutkan. Ternyata pembunuhnya bukan satu orang, melainkan dua: Billy Loomis dan Stuart [14:59].

  • Motif Billy: Dendam pribadi karena ibu Sidney dianggap telah merusak rumah tangga orang tuanya [15:22].

  • Rencana Mereka: Mereka berniat membantai semua orang dan menjebak ayah Sidney sebagai pelakunya dengan cara saling melukai diri sendiri agar terlihat seperti korban selamat [15:51].

6. Akhir Perlawanan

Beruntung, Sidney berhasil membalikkan keadaan. Dengan bantuan reporter Gale Weathers yang ternyata masih hidup [16:43], Sidney melakukan perlawanan sengit. Ia berhasil melumpuhkan Stuart dengan televisi (vas bunga/barang di sekitar) dan akhirnya menembak mati Billy tepat di kepalanya untuk memastikan sang psikopat tidak bangkit lagi [18:11].

Kesimpulan

Scream (1996) adalah mahakarya yang cerdas karena berani menertawakan klise horor sambil tetap memberikan ketegangan yang murni. Film ini mengajarkan kita bahwa terkadang monster yang paling menakutkan bukanlah makhluk gaib, melainkan orang-orang terdekat yang memiliki dendam membara.

Rabu, 18 Februari 2026

Belajar Claude Code - Mengapa Rencana yang Matang Adalah "Senjata Rahasia" di Era AI Coding

Belajar Claude Code - Mengapa Rencana yang Matang Adalah "Senjata Rahasia" di Era AI Coding

 


Banyak orang mengira bahwa di tahun 2026, membangun perangkat lunak hanyalah soal mengetikkan satu kalimat perintah ke dalam AI dan menunggu aplikasi jadi dalam sekejap. Realitanya? Kita justru sedang memasuki era di mana kemampuan perencanaan (planning) jauh lebih berharga daripada kemampuan mengetik baris kode itu sendiri.

Jika Anda hanya memberikan instruksi yang dangkal, AI akan memberikan hasil yang "dangkal" pula—atau yang sering disebut sebagai AI Slop. Berikut adalah cara beralih dari sekadar "bertanya pada AI" menjadi "berkolaborasi dengan AI" secara profesional.


1. Berhenti Memberi Perintah, Mulailah Berdialog

Kesalahan terbesar pengembang pemula adalah membiarkan AI membuat terlalu banyak asumsi. Saat Anda ingin membangun sebuah fitur, jangan langsung meminta kodenya. Gunakan teknik Reverse Interview.

Mintalah AI untuk mewawancarai Anda terlebih dahulu. Ajukan permintaan seperti: "Saya ingin membangun fitur X, tolong tanyakan saya 10 pertanyaan teknis dan UI/UX yang paling krusial sebelum kamu mulai menulis kode." Dengan cara ini, Anda memastikan AI memahami batasan database, alur pengguna, hingga skema warna yang Anda inginkan.

2. PRD (Product Requirements Document) Adalah Segalanya

Di era tradisional, PRD mungkin hanya tumpukan dokumen yang membosankan. Namun bagi agen AI, PRD adalah peta jalan yang absolut. Pastikan Anda memiliki file markdown (misalnya PRD.md) yang berisi:

  • Core Features: Daftar fitur utama secara mendetail.

  • Technical Stack: Teknologi apa yang ingin digunakan (React, Tailwind, Supabase, dll).

  • User Flow: Bagaimana pengguna berpindah dari layar A ke layar B.

  • Trade-offs: Apa yang harus diprioritaskan (misal: kecepatan akses lebih penting daripada animasi yang berat).

3. Prinsip "Satu Fitur, Satu Tes"

Otomasi memang menggoda, tetapi melompat langsung ke sistem looping otomatis tanpa pengawasan sering kali berakhir dengan kode yang berantakan (buggy). Gunakan pendekatan yang lebih metodis:

  1. Bangun satu fitur spesifik.

  2. Minta AI menulis unit test untuk fitur tersebut.

  3. Pastikan tes tersebut lulus (pass).

  4. Baru lanjut ke fitur berikutnya.

4. Menjaga "Kebersihan" Konteks

Sama seperti manusia, model AI bisa menjadi bingung jika dijejali terlalu banyak informasi dalam satu waktu. Jika sesi percakapan Anda sudah terlalu panjang, AI cenderung mulai melupakan instruksi awal atau membuat kesalahan logika.

Tips Pro: Jika konteks pembicaraan sudah mencapai titik jenuh, buatlah sesi baru. Rangkum progres terakhir, unggah file PRD yang sudah diperbarui, dan lanjutkan pekerjaan di "lembaran bersih".

5. Dari Coding ke Engineering: Fokus pada "Taste"

Sekarang, siapa pun bisa mengkloning aplikasi bernilai miliaran dolar dalam hitungan jam. Pertanyaannya: apa yang membuat aplikasi Anda berbeda?

Di sinilah peran Audacity (Keberanian) dan Taste (Selera) masuk. Gunakan AI untuk menangani hal-hal teknis yang berat, namun Anda harus tetap memegang kendali atas estetika, kehalusan animasi, dan empati terhadap pengalaman pengguna. Software yang hebat di masa depan bukan software yang kodenya paling bersih, melainkan software yang paling "terasa" manusiawi bagi penggunanya.


Kesimpulan

AI tidak akan menggantikan insinyur perangkat lunak, tetapi pengembang yang tahu cara merencanakan dengan matang akan menggantikan mereka yang hanya bisa melakukan copy-paste prompt. Investasikan waktu Anda pada tahap perencanaan, karena kode yang baik dimulai dari pemikiran yang jernih.


Jumat, 06 Februari 2026

Download Excel Perhitungan Gizi Gratis Untuk Mengitung Gizi Pada Menu MBG

Download Excel Perhitungan Gizi Gratis Untuk Mengitung Gizi Pada Menu MBG

 

 


Halo rekan-rekan Dietisien dan Ahli Gizi!

Dalam mendukung program Makan Bergizi Gratis (MBG), ketepatan perhitungan zat gizi dan efisiensi waktu adalah kunci. Kita tahu bahwa menyusun siklus menu yang memenuhi standar kecukupan gizi sekaligus mempertimbangkan biaya bukanlah pekerjaan yang mudah jika dilakukan secara manual.

Untuk membantu sesama rekan sejawat, saya ingin membagikan Tool Excel Perhitungan Gizi yang telah saya kembangkan. Tool ini dirancang khusus untuk mempermudah operasional kita di lapangan.

Apa saja keunggulan Excel ini?

  • Database Bahan Makanan Lengkap: Mengacu pada Tabel Komposisi Pangan Indonesia.

  • Perhitungan Otomatis: Cukup input berat bahan, total kalori, protein, lemak, dan karbohidrat akan langsung muncul.

  • Monitoring Standar Porsi: Membantu memastikan porsi makan sudah sesuai dengan target kelompok usia.

  • User-Friendly: Ringan, mudah digunakan, dan bisa dimodifikasi sesuai kebutuhan instansi masing-masing.

Mengapa saya membagikannya secara gratis?

Saya percaya bahwa kolaborasi lebih kuat daripada kompetisi. Dengan alat yang tepat, kita bisa fokus pada kualitas asuhan gizi dan edukasi masyarakat, tanpa harus pusing dengan teknis perhitungan yang repetitif.

"Gizi yang baik adalah investasi terbaik untuk masa depan bangsa. Mari kita mulai dengan perhitungan yang presisi."


Cara Mendapatkan:

Rekan-rekan bisa mengunduh file Excel tersebut melalui tautan di bawah ini:https://docs.google.com/spreadsheets/d/15FKPO6FYY4s7Pe6nBsjXBRtD5l1vCgkp/export?format=xlsx

Semoga bermanfaat! Jika ada masukan atau pertanyaan terkait penggunaan tool ini, jangan ragu untuk berdiskusi di kolom komentar ya.

Selasa, 09 Agustus 2022

Menginstal WSL Ubuntu dan Configurasi GUI

Menginstal WSL Ubuntu dan Configurasi GUI

 https://p4.wallpaperbetter.com/wallpaper/547/745/272/black-grey-linux-simple-background-wallpaper-preview.jpg

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
wsl --set-default-version 2

!Ubuntu GUI commands:
sudo apt update && sudo apt -y upgrade
sudo apt-get purge xrdp
sudo apt install -y xrdp
sudo apt install -y xfce4
sudo apt install -y xfce4-goodies

sudo cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.bak
sudo sed -i 's/3389/3390/g' /etc/xrdp/xrdp.ini
sudo sed -i 's/max_bpp=32/#max_bpp=32\nmax_bpp=128/g' /etc/xrdp/xrdp.ini
sudo sed -i 's/xserverbpp=24/#xserverbpp=24\nxserverbpp=128/g' /etc/xrdp/xrdp.ini
echo xfce4-session > ~/.xsession

sudo nano /etc/xrdp/startwm.sh
!comment these lines to:
#test -x /etc/X11/Xsession && exec /etc/X11/Xsession
#exec /bin/sh /etc/X11/Xsession

!add these lines:
# xfce
startxfce4

sudo /etc/init.d/xrdp start

!Now in Windows, use Remote Desktop Connection
localhost:3390

!Then login using your Ubuntu username and password

!Good links:
Microsoft GUI announcement: https://devblogs.microsoft.com/commandline/the-windows-subsystem-for-linux-build-2020-summary/
Ubuntu WSL2 GUI Install:
https://dev.to/darksmile92/linux-on-windows-wsl-with-desktop-environment-via-rdp-522g
WSL 2 install: https://docs.microsoft.com/en-us/windows/wsl/install-win10
Docker for WSL2: https://docs.docker.com/docker-for-windows/wsl/
What is WSL? https://docs.microsoft.com/en-us/windows/wsl/about
WSL documentation: https://docs.microsoft.com/en-us/windows/wsl/
WSL 2 Announcement: https://devblogs.microsoft.com/commandline/announcing-wsl-2/
!WSL commands:

Minggu, 07 Agustus 2022

Gunakan Framestorm untuk Menghasilkan Ide Baru

Gunakan Framestorm untuk Menghasilkan Ide Baru

 Jika brainstorming Anda tidak menghasilkan ide-ide inovatif yang Anda harapkan, cobalah pendekatan berbeda yang melibatkan pertanyaan tentang suatu masalah, bukan solusi.

Curah pendapat memiliki reputasi buruk—ini terkait dengan rencana setengah matang yang terlalu aman atau terlalu menggelikan, dan tidak pernah ke mana-mana. Sebagai gantinya, cobalah melakukan framestorming: mengajukan pertanyaan untuk membingkai tantangan yang ada. Istilah ini diciptakan oleh profesor Universitas Stanford Tina Seelig, dan digunakan oleh perusahaan seperti Microsoft, Kaiser Permanente, dan Pfizer. Jika Anda ingin melakukan framestorm, ikuti model ini dari Right Question Institute.



Gunakan Framestorm untuk Menghasilkan Ide Baru

  1. Nyatakan fokus.  Tentukan masalah mana yang menjadi fokus dan buat pernyataan yang provokatif, seperti, "Tiga puluh persen pelanggan kami tidak senang dengan layanan kami."
  2. Minta peserta untuk mengajukan pertanyaan.  Bagilah tim Anda menjadi kelompok-kelompok yang terdiri dari empat hingga enam orang, dengan satu anggota kelompok menuliskan setiap pertanyaan. Dorong semua orang untuk melanjutkan selama 10 menit penuh, tidak diperbolehkan mengedit atau berdebat.
  3. Mintalah kelompok untuk membersihkan pertanyaan. Setelah 10 menit, kelompok berkumpul untuk meninjau dan mengklarifikasi pertanyaan.
  4. Beritahu mereka untuk memilih pertanyaan terbaik. Setiap kelompok memilih dua atau tiga pertanyaan terbaik mereka untuk dibagikan dan memilih yang terbaik—yaitu, pertanyaan yang paling menarik minat ruangan dan membuka cara berpikir baru.
  5. Putuskan bagaimana untuk bergerak maju. Ini mungkin bagian yang paling menantang. Pilih pertanyaan yang paling dapat ditindaklanjuti dan garis besar rencana tindakan untuk bergerak maju.
  6. Tutup dengan refleksi. Minta peserta untuk membagikan apa yang telah mereka pelajari dengan menggunakan pertanyaan dengan cara baru ini. Rothstein mengatakan ini dapat menyebabkan "benjolan metakognitif" yang dapat membantu lebih lanjut mendorong framestorming.

Sabtu, 06 Agustus 2022

Apa yang dipelajari machine learning tentang DFT?

Apa yang dipelajari machine learning tentang DFT?

 Widget Container memiliki widget AspectRatio, yang memiliki Container turunan dalam warna yang berbeda.

Akibatnya, kita melihat berbagai jenis kombinasi warna.

Mari kita lihat kode lengkapnya sekarang.

Ingat, dalam setiap kasus, widget AspectRatio mencoba menemukan ukuran terbaik dan menyesuaikan turunannya.

Itu datang untuk membantu kami, ketika kami mencoba mengubah ukuran gambar dengan cepat.

pembelajaran mesin (ML) dan informatika material (MI).

Untuk memahami metode ML untuk MI, saya mencoba menggunakan tumpang tindih mulus posisi atom (SOAP) , yang merupakan deskriptor yang banyak digunakan untuk molekul. Menggunakan deskriptor SOAP sebagai input, saya menerapkan model jaringan saraf sederhana (NN) di PyTorch (lihat Gbr.1 (a)). Setelah melatih model NN dengan energi, akurasinya sangat baik, dan kemudian saya memindahkan model NN yang terlatih ke celah HOMO-LUMO. Saya memperoleh hasil sebagai Gambar.1 (b) dan (c).


Gbr.1: (a) Model NN berbasis input deskriptor SOAP. (b) Kurva pembelajaran untuk energi atomisasi (eV) yang disediakan oleh database QM9 , yang merupakan database benchmark terkenal di MI. Kesalahan uji energi sekitar 2,0 eV. (c) Transfer pembelajaran untuk kesenjangan HOMO-LUMO dengan model yang telah dilatih sebelumnya.

Saya menemukan bahwa hasil transfer sangat buruk (akurasi acak dan pra-terlatih (kesalahan) adalah sama, sekitar 1,2 eV seperti yang ditunjukkan pada Gambar.1 (c))... Untuk studi saya, saya mencoba menggunakan ML lain model (misalnya, jaringan saraf grafik dan potensi jaringan saraf ), tetapi hasilnya juga sangat buruk atau jauh lebih buruk ...

Di sini, saya punya pertanyaan; apakah ini berarti model NN di atas hanya pas untuk energi saja, tidak belajar fisika sama sekali? Selain itu, apakah sebagian besar model ML yang hanya memuat energi masuk akal dari sudut pandang DFT? Dalam DFT, sejauh yang saya pelajari, menyelesaikan persamaan Kohn-Sham menghasilkan energi dan kepadatan keadaan dasar dengan prinsip variasi, dan juga memberikan nilai eigen (yaitu, energi orbital), sehingga kita dapat mengetahui berbagai sifat fisik seperti HOMO dan LUMO.

Kesan saya adalah bahwa model ML hanya memprediksi "molekul serupa memiliki energi yang sama (lihat Gbr.2)", dan sangat mudah jika kita memiliki sejumlah besar molekul serupa dan energinya dalam database. Namun, bahkan dalam kasus ini, dapatkah kita mengatakan bahwa "ML dapat memperkirakan perhitungan DFT"? (Faktanya, sebagian besar makalah penelitian di ML dan MI mengklaim demikian, dan sejujurnya saya sangat bingung…)



Gbr.2: Energi molekul sisi kanan harus mendekati sekitar -86,7X eV (energi sebenarnya adalah -86,75 eV), tetapi ini sangat mudah diprediksi karena kita telah mengetahui energi molekul sisi kiri sebagai sampel data pelatihan, yang sangat mirip dengan molekul sisi kanan.


Postscript: sebenarnya, saya sekarang tertarik pada "model dasar" dalam penelitian AI/ML ( https://arxiv.org/pdf/2108.07258.pdf ). Saya ingin tahu apakah AI/ML dapat menyelesaikan berbagai tugas (misalnya, tidak hanya memprediksi energi total tetapi juga memberikan nilai eigen HOMO LUMO, kepadatan, dan sifat fisik lainnya) dengan satu model (pra-terlatih). Saya ingin bertanya tentang kemungkinan sebagai pertanyaan lain.


Jawaban: 


Energi total dan kesenjangan HOMO-LUMO adalah jumlah yang sangat berbeda, dan tentu saja memerlukan desain jaringan saraf yang sangat berbeda (termasuk pilihan deskriptor dan arsitektur) untuk menggambarkan secara efisien dan akurat. Sebagai contoh:


Energi total adalah properti ukuran-luas, sedangkan celah HOMO-LUMO adalah ukuran-intensif. Dua salinan molekul yang sama yang tidak berinteraksi memiliki persis dua kali energi sebagai molekul tunggal, dan celah HOMO-LUMO yang persis sama (bukan dua kali lebih besar) sebagai molekul tunggal. Banyak jaringan saraf yang dirancang untuk memprediksi energi total bekerja dengan mengekspresikan energi total sebagai jumlah energi atom, dan memprediksi energi atom; ini menjamin ukuran-ekstensivitas dengan konstruksi, tetapi yang juga berarti bahwa jaringan saraf yang sama sama sekali tidak cocok untuk memprediksi properti ukuran-intensif.

Energi total adalah properti yang relatif lokal, tetapi kesenjangan HOMO-LUMO sangat non-lokal. Bayangkan sebuah molekul besar di mana HOMO terlokalisasi di satu sisi sementara LUMO terlokalisasi di sisi lain. Jaringan saraf tidak dapat secara tepat memperkirakan celah HOMO-LUMO sistem dengan hanya melihat sebagian darinya, bahkan ketika ia menghitung perkiraan untuk banyak bagian kecil dari molekul dan kemudian mengumpulkan hasilnya. Pada beberapa titik prediksi jaringan saraf, harus ada pengurangan dua kuantitas yang dihitung dari dua bagian molekul yang jauh secara sembarang. Ini juga mengesampingkan banyak arsitektur jaringan saraf umum. Sebaliknya, semua interaksi melalui ruang yang terlibat dalam peluruhan energi total setidaknya sebagai1 / R, dan jauh lebih cepat dari itu jika sistem tidak mengandung ion.

Selain itu, ada beberapa masalah yang memengaruhi prediksi energi total dan kesenjangan HOMO-LUMO, tetapi jauh lebih parah untuk yang terakhir:


Celah HOMO-LUMO adalah fungsi tak terdiferensiasi dari geometri molekul. Pertimbangkan sistem yang keadaan dasarnya dan keadaan tereksitasi pertama membentuk persimpangan kerucut (misalnya sistem Jahn-Teller orde pertama), dan kami memvariasikan geometri secara terus menerus dari satu sisi persimpangan kerucut, sampai kami melewati titik persimpangan. Kesenjangan HOMO-LUMO akan berkurang kira-kira secara linier. Kemudian pada titik persimpangan, HOMO dan LUMO tiba-tiba bertukar, dan kesenjangan HOMO-LUMO meningkat kira-kira secara linier lagi. Tidak ada jaringan saraf yang dibangun dari fungsi aktivasi halus yang dapat mereproduksi perilaku ini. Sementara jaringan saraf yang menggunakan, misalnya fungsi aktivasi ReLU memang memiliki diskontinuitas turunan, itu adalah tugas yang sulit untuk memastikan bahwa diskontinuitas turunan hanya terjadi pada (atau setidaknya dekat) persimpangan kerucut.

Celah HOMO-LUMO terkadang bergantung pada apakah ada bilangan genap atau ganjil dari suatu gugus fungsi tertentu. Hal ini paling baik dicontohkan oleh aturan 4n+2 Hückel: cincin terkonjugasi dengan elektron 4n+2 bersifat aromatik dan memiliki celah HOMO-LUMO yang relatif besar, sedangkan cincin dengan elektron 4n bersifat antiaromatik dan memiliki celah HOMO-LUMO yang kecil. Sangat menantang untuk mempelajari fakta ini dengan jaringan saraf kecuali dengan mengkodekan aturan secara keras dan/atau dengan sengaja memasukkan sejumlah besar sistem aromatik dan antiaromatik yang berbeda dalam set pelatihan.

Ini mungkin menjelaskan mengapa sulit untuk memprediksi kesenjangan HOMO-LUMO dengan akurasi tinggi. Saya pribadi akan merekomendasikan memprediksi matriks Fock sebagai gantinya, dan kemudian mendapatkan celah HOMO-LUMO dengan mendiagonalisasi matriks Fock. Matriks Fock adalah objek yang berperilaku jauh lebih baik daripada celah HOMO-LUMO: elemen matriks sebagian besar ditentukan dari atom terdekat, tidak memiliki diskontinuitas turunan yang kuat, dan tidak memiliki pergantian genap ganjil seperti celah HOMO-LUMO memiliki untuk cincin terkonjugasi. Selain itu, saya percaya bahwa ada teknik mapan untuk memprediksi matriks Fock melalui pembelajaran mesin.


Cara menggunakan aspect ratio widget

Cara menggunakan aspect ratio widget

Widget AspectRatio mencoba menemukan ukuran terbaik untuk mempertahankan rasio aspek widget anak.

Widget AspectRatio mencoba mengukur turunan ke rasio aspek tertentu.

Misalkan kita memiliki widget Container dengan lebar 100, dan tinggi 100. Dalam hal ini rasio aspeknya adalah 100/100; yaitu 1.0.

Sekarang, setiap Widget memiliki batasannya sendiri . Akibatnya, Widget AspectRatio mencoba menemukan ukuran terbaik untuk mempertahankan rasio aspek. Namun, saat melakukannya, itu menghormati batasan tata letak.

Mari kita lihat tangkapan layar di mana kami telah menggunakan tiga jenis rasio aspek yang berbeda.

 

Widget Container memiliki widget AspectRatio, yang memiliki Container turunan dalam warna yang berbeda.

Akibatnya, kita melihat berbagai jenis kombinasi warna.

Mari kita lihat kode lengkapnya sekarang.

import 'package:flutter/material.dart';

class AspectRatioSample extends StatelessWidget {
  const AspectRatioSample({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      title: 'AspectRatio Sample',
      debugShowCheckedModeBanner: false,
      home: AspectRatioSampleHomme(),
    );
  }
}

class AspectRatioSampleHomme extends StatelessWidget {
  const AspectRatioSampleHomme({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('AspectRatio Sample'),
      ),
      body: Center(
        child: Column(
          children: [
            Container(
              color: Colors.red,
              alignment: Alignment.center,
              padding: const EdgeInsets.all(10),
              width: 100.0,
              height: 100.0,
              child: AspectRatio(
                aspectRatio: 2.0,
                child: Container(
                  width: 50.0,
                  height: 50.0,
                  color: Colors.yellow,
                ),
              ),
            ),
            const SizedBox(
              height: 10,
            ),
            Container(
              color: Colors.blue,
              alignment: Alignment.center,
              width: 100.0,
              height: 100.0,
              child: AspectRatio(
                aspectRatio: 2.0,
                child: Container(
                  width: 80.0,
                  height: 70.0,
                  color: Colors.white,
                ),
              ),
            ),
            const SizedBox(
              height: 10,
            ),
            Container(
              color: Colors.green,
              alignment: Alignment.center,
              width: 100.0,
              height: 100.0,
              child: AspectRatio(
                aspectRatio: 0.5,
                child: Container(
                  width: 100.0,
                  height: 50.0,
                  color: Colors.black26,
                ),
              ),
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () {},
        child: const Icon(Icons.add_a_photo),
      ),
    );
  }
}

Ingat, dalam setiap kasus, widget AspectRatio mencoba menemukan ukuran terbaik dan menyesuaikan turunannya.

Itu datang untuk membantu kami, ketika kami mencoba mengubah ukuran gambar dengan cepat.