<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="id">
	<id>https://cbtlmsts.my.id/wikits/index.php?action=history&amp;feed=atom&amp;title=Membuat_komponen_dan_mengelola_state</id>
	<title>Membuat komponen dan mengelola state - Riwayat revisi</title>
	<link rel="self" type="application/atom+xml" href="https://cbtlmsts.my.id/wikits/index.php?action=history&amp;feed=atom&amp;title=Membuat_komponen_dan_mengelola_state"/>
	<link rel="alternate" type="text/html" href="https://cbtlmsts.my.id/wikits/index.php?title=Membuat_komponen_dan_mengelola_state&amp;action=history"/>
	<updated>2026-08-29T15:45:47Z</updated>
	<subtitle>Riwayat revisi halaman ini di wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://cbtlmsts.my.id/wikits/index.php?title=Membuat_komponen_dan_mengelola_state&amp;diff=66&amp;oldid=prev</id>
		<title>Admin: ←Membuat halaman berisi &#039;==Tujuan Pembelajaran:== Setelah mempelajari modul ini, mahasiswa diharapkan mampu: * Memahami konsep &#039;&#039;&#039;komponen&#039;&#039;&#039; dalam framework frontend modern * Membedakan antara komponen &#039;&#039;&#039;stateless&#039;&#039;&#039; dan &#039;&#039;&#039;stateful&#039;&#039;&#039; * Mengelola &#039;&#039;&#039;state&#039;&#039;&#039; menggunakan React Hooks (`useState`) * Membuat interaksi antar komponen menggunakan props dan state  ==Persiapan di Ubuntu 24.04==  &#039;&#039;&#039;1. Install Node.js dan npm&#039;&#039;&#039;   sudo apt update  sudo apt install nodejs npm -y  &#039;&#039;&#039;2. Verifika...&#039;</title>
		<link rel="alternate" type="text/html" href="https://cbtlmsts.my.id/wikits/index.php?title=Membuat_komponen_dan_mengelola_state&amp;diff=66&amp;oldid=prev"/>
		<updated>2025-05-10T14:43:32Z</updated>

		<summary type="html">&lt;p&gt;←Membuat halaman berisi &amp;#039;==Tujuan Pembelajaran:== Setelah mempelajari modul ini, mahasiswa diharapkan mampu: * Memahami konsep &amp;#039;&amp;#039;&amp;#039;komponen&amp;#039;&amp;#039;&amp;#039; dalam framework frontend modern * Membedakan antara komponen &amp;#039;&amp;#039;&amp;#039;stateless&amp;#039;&amp;#039;&amp;#039; dan &amp;#039;&amp;#039;&amp;#039;stateful&amp;#039;&amp;#039;&amp;#039; * Mengelola &amp;#039;&amp;#039;&amp;#039;state&amp;#039;&amp;#039;&amp;#039; menggunakan React Hooks (`useState`) * Membuat interaksi antar komponen menggunakan props dan state  ==Persiapan di Ubuntu 24.04==  &amp;#039;&amp;#039;&amp;#039;1. Install Node.js dan npm&amp;#039;&amp;#039;&amp;#039;   sudo apt update  sudo apt install nodejs npm -y  &amp;#039;&amp;#039;&amp;#039;2. Verifika...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Halaman baru&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Tujuan Pembelajaran:==&lt;br /&gt;
Setelah mempelajari modul ini, mahasiswa diharapkan mampu:&lt;br /&gt;
* Memahami konsep &amp;#039;&amp;#039;&amp;#039;komponen&amp;#039;&amp;#039;&amp;#039; dalam framework frontend modern&lt;br /&gt;
* Membedakan antara komponen &amp;#039;&amp;#039;&amp;#039;stateless&amp;#039;&amp;#039;&amp;#039; dan &amp;#039;&amp;#039;&amp;#039;stateful&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Mengelola &amp;#039;&amp;#039;&amp;#039;state&amp;#039;&amp;#039;&amp;#039; menggunakan React Hooks (`useState`)&lt;br /&gt;
* Membuat interaksi antar komponen menggunakan props dan state&lt;br /&gt;
&lt;br /&gt;
==Persiapan di Ubuntu 24.04==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;1. Install Node.js dan npm&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install nodejs npm -y&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;2. Verifikasi versi&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 node -v&lt;br /&gt;
 npm -v&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;3. Install Vite (alternatif lebih ringan dari create-react-app)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 npm create vite@latest nama-proyek -- --template react&lt;br /&gt;
 cd nama-proyek&lt;br /&gt;
 npm install&lt;br /&gt;
 npm run dev&lt;br /&gt;
&lt;br /&gt;
&amp;gt; Proyek React siap dijalankan di `http://localhost:5173`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==1. Konsep Komponen==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Apa Itu Komponen?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Komponen adalah blok bangunan UI yang dapat digunakan kembali. Dalam React, komponen bisa ditulis sebagai &amp;#039;&amp;#039;&amp;#039;function&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Contoh Komponen Sederhana:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 // File: src/components/Header.jsx&lt;br /&gt;
 function Header() {&lt;br /&gt;
   return &amp;lt;h1&amp;gt;Selamat Datang di Web Saya&amp;lt;/h1&amp;gt;;&lt;br /&gt;
 }&lt;br /&gt;
 export default Header;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kemudian digunakan di `App.jsx`:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 import Header from &amp;#039;./components/Header&amp;#039;;&lt;br /&gt;
 &lt;br /&gt;
 function App() {&lt;br /&gt;
   return (&lt;br /&gt;
     &amp;lt;div&amp;gt;&lt;br /&gt;
       &amp;lt;Header /&amp;gt;&lt;br /&gt;
     &amp;lt;/div&amp;gt;&lt;br /&gt;
   );&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==2. Mengelola State==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Apa Itu State?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
State adalah data yang dikelola di dalam komponen yang bisa berubah seiring interaksi user.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Contoh: Counter dengan `useState`&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 import { useState } from &amp;#039;react&amp;#039;;&lt;br /&gt;
 &lt;br /&gt;
 function Counter() {&lt;br /&gt;
   const [count, setCount] = useState(0); &lt;br /&gt;
&lt;br /&gt;
   return ( &lt;br /&gt;
     &amp;lt;div&amp;gt;&lt;br /&gt;
       &amp;lt;p&amp;gt;Nilai: {count}&amp;lt;/p&amp;gt;&lt;br /&gt;
       &amp;lt;button onClick={() =&amp;gt; setCount(count + 1)}&amp;gt;Tambah&amp;lt;/button&amp;gt;&lt;br /&gt;
     &amp;lt;/div&amp;gt;&lt;br /&gt;
   );&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 export default Counter;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==3. Mengoper Data dengan Props==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Apa Itu Props?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Props&amp;#039;&amp;#039;&amp;#039; (properties) digunakan untuk mengirim data dari satu komponen ke komponen lain.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Contoh Props:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 function Welcome(props) {&lt;br /&gt;
   return &amp;lt;h2&amp;gt;Halo, {props.name}!&amp;lt;/h2&amp;gt;;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 // Di App.jsx&lt;br /&gt;
 &amp;lt;Welcome name=&amp;quot;Dzaq&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==4. Interaksi antar Komponen==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Parent dan Child Component&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Misal: `App.jsx` mengelola state dan mengirimkan ke `ChildComponent`&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 function Child({ message }) {&lt;br /&gt;
   return &amp;lt;p&amp;gt;Pesan dari parent: {message}&amp;lt;/p&amp;gt;;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function App() {&lt;br /&gt;
   const [msg, setMsg] = useState(&amp;quot;Halo Dunia&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
   return (&lt;br /&gt;
     &amp;lt;div&amp;gt;&lt;br /&gt;
       &amp;lt;Child message={msg} /&amp;gt;&lt;br /&gt;
     &amp;lt;/div&amp;gt;&lt;br /&gt;
   );&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Struktur Proyek yang Disarankan&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 src/&lt;br /&gt;
 │&lt;br /&gt;
 ├── components/&lt;br /&gt;
 │   ├── Header.jsx&lt;br /&gt;
 │   ├── Counter.jsx&lt;br /&gt;
 │   └── Footer.jsx&lt;br /&gt;
 │&lt;br /&gt;
 ├── App.jsx&lt;br /&gt;
 └── main.jsx&lt;br /&gt;
&lt;br /&gt;
==Tugas Praktik Mahasiswa==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Tujuan:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Membuat halaman sederhana dengan komponen dinamis menggunakan state dan props.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Instruksi:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Buat komponen `Header`, `Counter`, dan `Footer`&lt;br /&gt;
* `Counter` memiliki 2 tombol: Tambah &amp;amp; Kurangi&lt;br /&gt;
* `Footer` menampilkan total klik tombol (dikirim dari `App` via props)&lt;br /&gt;
* Gunakan minimal 2 state dan 1 props&lt;br /&gt;
* Jalankan dan screenshot hasilnya&lt;br /&gt;
&lt;br /&gt;
==Tugas Diskusi (Kelompok)==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Topik: &amp;quot;State vs Props – Kapan Kita Gunakan Salah Satunya?&amp;quot;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Buat presentasi mini 5 menit&lt;br /&gt;
* Sertakan contoh kode&lt;br /&gt;
* Bandingkan penggunaan state dan props dalam komponen kompleks (misal: form input, shopping cart, dsb.)&lt;br /&gt;
&lt;br /&gt;
==Referensi==&lt;br /&gt;
&lt;br /&gt;
* [React Docs – Components and Props](https://react.dev/learn/passing-props-to-a-component)&lt;br /&gt;
* [React Docs – State: A Component’s Memory](https://react.dev/learn/state-a-components-memory)&lt;br /&gt;
* [Vite + React Setup](https://vitejs.dev/guide/)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pranala Menarik==&lt;br /&gt;
&lt;br /&gt;
* [[Web Programming]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>