Showing posts with label Pemprograman web. Show all posts
Showing posts with label Pemprograman web. Show all posts

Tutorial menginstal xdebug di xampp

8:01 PM Add Comment

 

Debuging PHP

Xdebug adalah sebuah extensi PHP yang digunakan untuk memudahkan proses debugging (pemecahan masalah) dalam pengembangan aplikasi web. Xdebug memungkinkan developer untuk melakukan debugging pada kode PHP secara langsung dengan mudah dan cepat. Artikel ini akan membahas tentang cara menginstal Xdebug pada XAMPP di Windows.


Langkah-langkah untuk menginstal Xdebug di XAMPP di Windows adalah sebagai berikut:


Langkah 1: Download Xdebug

Pertama, download file Xdebug yang sesuai dengan versi PHP yang terpasang pada XAMPP. Anda dapat mengecek versi PHP dengan membuka localhost/phpinfo.php pada browser. Kemudian, cari dan catat versi PHP yang terpasang di XAMPP.


Selanjutnya, buka halaman download Xdebug di https://xdebug.org/download. Pilih file Xdebug yang sesuai dengan versi PHP yang terpasang di XAMPP.


Langkah 2: Pindahkan file Xdebug

Setelah mengunduh file Xdebug, ekstrak file tersebut dan pindahkan file Xdebug yang sesuai dengan versi PHP ke direktori "ext" di dalam direktori instalasi XAMPP. Direktori "ext" biasanya terletak di dalam direktori "php" pada direktori instalasi XAMPP.


Langkah 3: Konfigurasi php.ini

Buka file php.ini pada direktori "php" di dalam direktori instalasi XAMPP. Cari baris yang berisi "zend_extension" dan tambahkan baris berikut di bawahnya:


zend_extension = "<path_to_xdebug>/php_xdebug-<version>-<architecture>.dll"


Ganti "<path_to_xdebug>" dengan direktori tempat Anda menyimpan file Xdebug. Ganti "<version>" dan "<architecture>" sesuai dengan versi Xdebug yang Anda unduh.


Langkah 4: Restart Apache

Setelah mengedit file php.ini, restart Apache di XAMPP untuk memuat pengaturan baru.


Langkah 5: Verifikasi instalasi

Untuk memeriksa apakah Xdebug telah terpasang dengan benar, buka localhost/phpinfo.php pada browser. Cari bagian "Xdebug" pada halaman phpinfo.php. Jika Xdebug telah terpasang dengan benar, Anda akan melihat informasi tentang Xdebug di bagian tersebut.


Langkah 6: Konfigurasi Xdebug

Anda dapat menambahkan konfigurasi Xdebug pada file php.ini untuk mempercepat proses debugging. Beberapa konfigurasi Xdebug yang berguna adalah sebagai berikut:


xdebug.remote_enable=1

xdebug.remote_host="localhost"

xdebug.remote_port=9000


Kode di atas akan mengaktifkan debugging jarak jauh, dengan Xdebug yang berjalan pada localhost pada port 9000.


Dengan demikian, tutorial ini telah memberikan panduan tentang cara menginstal Xdebug pada XAMPP di Windows. Setelah berhasil menginstal Xdebug, Anda akan dapat melakukan debugging pada kode PHP dengan mudah dan efektif.

Mengenal Single Page Application (SPA) dan Keuntungannya

7:39 PM Add Comment

Single Page Aplication

 

Single Page Application (SPA) adalah sebuah pendekatan dalam membangun aplikasi web modern yang memungkinkan pengguna untuk berinteraksi dengan satu halaman saja, tanpa perlu memuat ulang seluruh halaman seperti pada aplikasi web tradisional. Dalam SPA, konten pada halaman akan diperbarui secara dinamis sesuai dengan interaksi pengguna, sehingga memberikan pengalaman yang lebih halus dan responsif.


Salah satu contoh dari SPA yang populer adalah Gmail. Saat pengguna mengklik pada pesan email, konten pada halaman tidak perlu dimuat ulang, melainkan diperbarui secara dinamis. Hal ini membuat aplikasi web Gmail terasa lebih responsif dan nyaman digunakan, terlebih jika dibandingkan dengan aplikasi web tradisional yang memerlukan waktu untuk memuat ulang seluruh halaman setiap kali pengguna melakukan interaksi.

Baca juga Angular framework untuk membuat Single Page Application


Keuntungan dari penggunaan pendekatan SPA antara lain:


1. Responsif dan Lebih Cepat

Dalam SPA, sebagian besar sumber daya aplikasi, seperti file CSS, JavaScript, dan gambar, dimuat hanya satu kali pada awalnya, kemudian disimpan di dalam memori browser. Saat pengguna berinteraksi dengan aplikasi, konten akan diperbarui secara dinamis tanpa perlu memuat ulang seluruh halaman. Hal ini membuat aplikasi terasa lebih responsif dan cepat.


2. Pengalaman Pengguna yang Lebih Halus

Dalam aplikasi web tradisional, pengguna harus menunggu seluruh halaman dimuat ulang setiap kali mereka melakukan interaksi, misalnya saat mengklik tautan atau tombol pada navigasi. Dalam SPA, halaman hanya dimuat satu kali pada awalnya, dan setelah itu semua interaksi akan dilakukan secara dinamis. Pengguna akan merasakan pengalaman yang lebih halus dan nyaman karena tidak perlu menunggu seluruh halaman dimuat ulang setiap kali mereka melakukan interaksi.


3. Pemeliharaan yang Lebih Mudah

Dalam SPA, sebagian besar kode aplikasi dijalankan di sisi klien (client-side), sehingga memungkinkan pengembang untuk memisahkan tugas antara sisi klien dan sisi server. Hal ini membuat pemeliharaan aplikasi lebih mudah, karena perubahan pada kode sisi klien tidak akan mempengaruhi kode sisi server. Selain itu, karena sebagian besar sumber daya aplikasi dimuat hanya satu kali pada awalnya, perubahan pada aplikasi dapat diterapkan dengan cepat dan mudah.


4. Dukungan untuk Aplikasi Mobile

SPA sangat cocok untuk digunakan dalam membangun aplikasi mobile, karena ukuran file yang relatif kecil dan pengalaman pengguna yang lebih responsif. Dalam aplikasi mobile, kecepatan dan responsifitas sangat penting, dan SPA mampu memberikan pengalaman yang lebih baik daripada aplikasi web tradisional.


Kesimpulan

Single Page Application (SPA) adalah sebuah pendekatan dalam membangun aplikasi web modern yang memungkinkan pengguna untuk berinteraksi dengan satu halaman saja, tanpa perlu memuat ulang seluruh halaman seperti pada aplikasi web.



Memahami Asynchronous dan Synchronous Programming dalam Pemrograman Javascript

5:07 AM Add Comment
Asynchronous dan Synchronous Programming

Kali ini kita akan  belajar tentang perbedaan Asynchronous dan Synchronous Programming dalam pemrograman Javascript dan bagaimana kedua metode ini mempengaruhi kecepatan eksekusi program. Asynchronous dan Synchronous adalah istilah yang sering digunakan dalam pemrograman Javascript.


Asynchronous Programming adalah pendekatan pemrograman yang tidak terikat pada input output (I/O) protocol. Ini berarti bahwa pemrograman asynchronous tidak melakukan pekerjaan secara berurutan seperti pemrograman lama. Sebaliknya, pekerjaan dilakukan secara independen dan tanpa harus menunggu proses lain selesai. Hal ini membuat waktu eksekusi menjadi lebih singkat dan cepat.


Sedangkan Synchronous Programming memiliki pendekatan yang lebih tradisional, dengan task yang dieksekusi satu per satu sesuai urutan dan prioritas. Namun, Synchronous Programming memiliki kemudahan yang tidak ditawarkan oleh Asynchronous Programming.

Baca juga Apa itu AJAX

Kedepannya, kedua pendekatan ini akan terus berkembang dan berada pada satu tujuan yang sama. Terlebih dengan semakin berkembangnya teknologi seperti Rest API. Pelajari lebih lanjut tentang Asynchronous dan Synchronous Programming dalam pemrograman Javascript!

Membuat layout menggunakan librari semantic-ui-react pada aplikasi react js

1:08 AM Add Comment
Kita akan membuat layout website responsive menggunakan librari semantic-ui-react. Semantic UI adalah semacam UI frameworks yang memudahkan kita membuat website template atau style website, karena source css, javascript, dan html telah siap untuk digunakan atau diimplementasikan ke dalam project website. Dengan ui framework, kita tidak perlu lagi membuat style website dan fungsi-fungsi javascript dari awal, sangat membantu mempercepat pengembangan aplikasi yang kita buat. Librari semantic-ui-react adalah komponen-komponen react js yang dibuat menggunakan style semantic ui (semantic-ui.com). Semua dokumentasi dari setiap komponen react js bisa kita pelajari melalui website https://react.semantic-ui.com. Pada tutorial sebelumnya kita telah membuat halaman-halaman website menggunakan librari react-router-dom. Tutorial kali ini kita akan membuat layout website responsive yang sudah ada navigasi atau menu untuk menuju ke setiap halaman website. Contoh layout yang akan kita buat seperti ini https://react.semantic-ui.com/layouts/homepage Ikuti langkah-langkah berikut ini: 1. Masuk ke project react js yang telah kita buat, dan install librari semantic-ui-react.
$ cd aplikasi-reactjs
$ npm install --save semantic-ui-react
2. Install package css dari semantic ui.
$ npm install --save semantic-ui-css
3. Import semantic-ui-css di dalam file index.js: 4. Buat folder containers dan components di dalam src:
$ mkdir src/containers
$ mkdir src/components
5. Buatlah file-file berikut ini pada folder nya masing-masing: src/components/HomepageHeading.js ---- src/containers/DesktopContainer.js ---- src/containers/MobileContainer.js ---- src/containers/FooterContainer.js ---- src/containers/ResponsiveContainer.js ---- src/Router.js ---- src/pages/HomePage.js ---- src/pages/AboutPage.js ---- src/pages/ContactPage.js ---- 6. Jalankan aplikasi react js anda di localhost: $ npm start Baiklah sampai disini project react js kita sudah memiliki layout yang responsive terdiri dari navigasi, header, footer dan content setiap page. Berikut ini adalah file-file yang baru dibuat dan yang di-edit: File Baru: src/components/HomepageHeading.js src/containers/DesktopContainer.js src/containers/FooterContainer.js src/containers/MobileContainer.js src/containers/ResponsiveContainer.js
File Edit:
src/index.js src/Router.js src/pages/AboutPage.js src/pages/ContactPage.js src/pages/HomePage.js Langkah selanjutnya adalah upload hasil kerja anda ke server hosting. Ikut langkah-langkah pada tutorial bagian 2. Anda bisa melihat hasil dari tutorial ini di alamat website www.opetstudio.com. Source code tutorial di https://github.com/opetstudio/tutorial-reactjs/tree/tutorial-bagian-3. Okey, sekian tutorial cara membuat layout website react js menggunakan librari semantic-ui-react, jika ada bagian yang kurang anda mengerti, anda bisa bertanya langsung di kolom komentar. Ikuti terus seri tutorial react js dalam bahasa Indonesia untuk seri yang akan datang. Terima kasih telah membaca tutorial yang sederhana ini. Semoga bermanfaat. Salam..!!!

Implementasi react-router-dom untuk membuat pages website pada aplikasi react js

12:55 AM Add Comment
Implementasi react-router-dom untuk membuat pages website pada aplikasi react js

Tutorial ini akan membahas tentang penggunaan router pada aplikasi react js. Kita akan menggunakan librari atau package react-router-dom sebagai router. Kegunaan router adalah memisahkan komponen-komponen mana yang akan di-render berdasarkan path url yang sudah ditentukan. Contohnya path url "/home" untuk komponen "HomePage.js", path "/about" untuk "AboutPage.js", path "/contact" untuk "ContactPage.js", dan seterusnya. Ada dua tipe komponen router yang dapat kita pakai dari librari react-router-dom. Pilih salah satu komponen yaitu HashRouter atau BrowserRouter. 

Jika aplikasi react js akan diakses melalui browser, maka disarankan menggunakan BrowserRouter. Berikut ini contoh perbedaan url yang menggunakan HashRouter dan BrowserRouter: HashRouter: http://www.opetstudio.com/#/home BrowserRouter: http://www.opetstudio.com/home Terlihat perbedaannya, yang satu memakai hash, yang satunya lagi tidak memakai hash. Biasanya saya menggunakan HashRouter saat membuat aplikasi dashboard kusus untuk admin. 


Pada prakteknya nanti, anda bisa coba-coba kedua tipe router di atas. Okey, kita langsung saja implementasi librari react-router-dom pada project yang sudah kita buat pada tutorial bagian 1, dan langsung kita upload ke hosting sama seperti tutorial bagian 2. Kita akan membuat tiga halaman website yaitu halman home, about dan contact. Ikuti langkah-langkah berikut: 1. Pertama, masuk ke dalam folder project react js dan install librari atau package react-router-dom:
$ cd aplikasi-reactjs
$ npm install --save react-router-dom
option --save artinya save daftar module atau package yang telah kita install ke dalam file package.json. 2. Buatlah folder "pages" di dalam folder src:
$ mkdir src/pages
3. Buatlah file HomePage.js di dalam folder "pages" tadi, dan copy paste script di bawah ini: Save file anda tadi dengan command: ":wq!", atau save file seperti biasa jika menggunakan editor. Saya sarankan gunakan editor Visual Studio Code, biar lebih mudah. 4. Ikut step ke-2 untuk membuat file AboutPage.js dan ContactPage.js, sesuaikan nama class nya dengan nama file nya. Ganti tulisan "ini adalah halaman Home" sesuai dengan halaman masing-masing biar kelihatan perpindahan antara page. Jadi file page yang telah kita buat dan berada di dalam folder src/pages/ adalah file: HomePage.js, AboutPage.js dan ContactPage.js. 5. Buatlah satu file dengan nama "Router.js" di dalam folder src. Copy dan paste script javascript berikut: 6. Edit file src/index.js, Replace semua string "App" dengan "Router. Hasil koding nya seperti ini: 7. Implementasi react-router-dom telah selesai. Sekarang ketik command berikut untuk menjalankan aplikasi react js di localhost:
$ npm start
Akses alamat url berikut untuk membuka setiap halaman yang telah kita buat tadi: http://localhost:3000/home http://localhost:3000/about http://localhost:3000/contact Jreng..Jreng..Jreng.. Halaman-halaman website anda sudah bisa di akses menggunakan alamat url nya masing-masing karena kita telah memasang router pada aplikasi atau project react js. Saya rasa tutorial ini terlalu gampang untuk diikuti. Bukan begitu bukan? Selanjutnya, upload hasil kerja kita tadi ke hosting anda masing-masing. Ikuti langkah-langkah berikut: 1. Jalankan perintah berikut untuk build project react js:
$ npm run build
hasil build file-file source berada di dalam folder build, semuanya sudah di minify dan siap untuk diupload ke server. 2. Buka aplikasi ftp seperti WinScp, Filezilla, Transmit atau aplikasi-aplikasi ftp lainnya yang biasa anda gunakan, lalu masuk ke hosting menggunakan username dan password ftp yang telah diberikan oleh jasa penyedia hosting . Upload semua isi folder build ke folder public_html di server hosting anda. 3. Step ini sangat penting..!!!. Jangan lupa buat file .htaccess dan upload ke dalam folder public_html di server. Copy Paste script berikut ke dalam file .htaccess:
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.html [QSA,L]
Setelah selesai semua proses upload, silahkan akses halaman-halaman website anda menggunakan alamat domain pribadi anda. Contoh alamat domain yang saya gunakan adalah opetstudio.com:


Baiklah sekian tutorial yang sangat singkat ini, jika ada yang kurang anda mengerti, silahkan bertanya di kolom komentar. Ikuti terus seri selanjutnya dari tutorial react js "Tutorial React Js Bahasa Indonesia", sehingga anda bisa mengerti cara membuat aplikasi website menggunakan react js. source code tutorial: https://github.com/opetstudio/tutorial-reactjs Terima kasih sudah membaca tutorial yang sederhana ini.

Konfigurasi NGINX sebagai Reverse Proxy ke lebih dari satu services multi port

12:47 AM Add Comment
NGINX
Tutorial kali ini kita akan melakukan konfigurasi NGINX sebagai Reverse Proxy ke lebih dari satu server atau host aplikasi RESTful API yang berjalan di port nya masing-masing atau multi port. Contohnya anda mempunyai lebih dari satu docker container yang berjalan di mesin komputer yang sama, dan aplikasi client hanya bisa request melalui port 80 saja, atau port 443 jika request menggunakan https. Atau mungkin hanya service biasa yang tidak di bungkus dengan docker container yang langsung berjalan di localhost atau di mesin server yang lain dengan port tertentu. Contoh ilustrasinya seperti ini:
Ilustrasi NGINX services multi port

Baiklah, kita akan membuat NGINX berfungsi sebagai reverse proxy seperti gambar di atas. Server yang kita gunakan untuk menjalankan nginx menggunakan operating system Linux Ubuntu.  Ikuti langkah-langkah berikut ini: 1. Install nginx di server linux ubuntu:
$ sudo apt-get install nginx
2. Buatlah file konfigurasi baru di dalam folder sites-available:
$ sudo vi /etc/nginx/sites-available/api.example.com.conf
3. Copy paste script berikut ke dalam file /etc/nginx/sites-available/api.example.com.conf
server {
 keepalive_timeout 30;
 # SSL configuration
 listen 443 ssl default_server;
 listen [::]:443 ssl default_server;
 server_name api.example.com;
 ssl_certificate /etc/nginx/ssl/certificate.crt;
 ssl_certificate_key /etc/nginx/ssl/certificate.key;
 ssl_session_cache    shared:SSL:10m;
 ssl_session_timeout  10m;
 # application-a
 location /application-a {
  include /etc/nginx/global/include.request.conf;
  rewrite ^/application-a(/.*) $1 break;
  proxy_pass http://127.0.0.1:8881;
 }
 # application-b
 location /application-b {
  include /etc/nginx/global/include.request.conf;
  rewrite ^/application-b(/.*) $1 break;
  proxy_pass http://127.0.0.1:8882;
 }
 # application-c
 location /application-c {
  include /etc/nginx/global/include.request.conf;
  rewrite ^/application-c(/.*) $1 break;
  proxy_pass http://127.0.0.1:8883;
 }
 location / {
  try_files $uri $uri/ =404;
 }
 access_log /etc/nginx/logs/access.log;
 error_log  /etc/nginx/logs/error.log;
}

server {
 listen 80 default_server;
 listen [::]:80 default_server;
 server_name    api.example.com;
 rewrite        ^ https://$server_name$request_uri? permanent;
}
Ganti api.example.com dengan nama domain anda. Jika tidak punya nama domain, ganti dengan ip public server anda. 4. Buat file /etc/nginx/global/include.request.conf
$ sudo mkdir /etc/nginx/global
$ sudo vi /etc/nginx/global/include.request.conf
5. Copy paste script berikut ke dalam file /etc/nginx/global/include.request.conf
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
6. Buat file /etc/nginx/ssl/certificate.crt dan /etc/nginx/ssl/certificate.key sehingga bisa di akses melalui https.
$ sudo mkdir /etc/nginx/ssl
$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/certificate.key -out /etc/nginx/ssl/certificate.crt
7. Aktifkan konffigurasi di atas dengan membuat softlink di folder /etc/nginx/sites-enable
$ sudo ln -s /etc/nginx/sites-available/api.example.com.conf /etc/nginx/sites-enabled/
8. Reload konfigurasi nginx
$ sudo systemctl reload nginx
Okey, sekarang aplikasi RESTful API anda yang terdiri dari beberapa aplikasi dengan port nya masing-masing atau multi port, bisa di akses melalui port 80 atau 443. Seperti contoh berikut: https://api.example.com/application-a/.... https://api.example.com/application-b/.... https://api.example.com/application-c/.... Port nya tidak perlu disertakan pada alamat url, karena secara default akan mengakses ke port 80 untuk http dan ke port 443 untuk https. Sekian tutorial kali ini, semoga tutorial ini bisa sedikit membantu anda memanfaatkan NGINX sebagai proxy untuk aplikasi backend multi port sehingga bisa diakses dari satu port saja. Jika ada pertanyaan atau bagian tutorial yang kurang jelas atau anda mengalami kesulitan saat mengikuti langkah-langkah di atas, silahkan bertanya lewat kolom komentar. Terima kasih sudah mampir di blog yang sangat sederhana ini. Semoga sukses.

Type Conversion javascript

12:26 AM Add Comment
Type Conversion javascript

Type Conversion adalah sebuah cara untuk merubah type data pada javascript, misalkan merubah type data string menjadi number atau sering disebut conversion. Conversi ke String
let angka=12;//type data Number
let ubah = String(angka);// "12"
console.log(typeof ubah); // type data menjadi String

let cek = true; //type data boolean
let ubah2= String(cek);//"true"
console.log(ubah2);
atau bisa menggunakan cara yang kedua yaitu menggunakan fungsi toString();
let num=12;//type Number
let ubah =  num.toString();
console.log(typeof ubah);// "String"
Conversi ke Number
let text ="123";//String
let ubah = Number(text);
console.log(typeof ubah);//Number

let cek =true;//boolean
let ubah1 =Number(cek);// 1
console.log(typeof ubah1);//Number
nilai true dan false kalau di konversi dengan Number menjadi 1(true) dan 0(false). cara kedua menggunakan fungsi parseInt dan parseFloat, parseInt digunakan untuk merubah menjadi bilangan bulat sedangkan parseFloat digunakan untuk merubah kebilangan pecahan.

  
let num="12.12";//string
let bulat = parseInt(num); //hasil 12
console.log(typeof bulat);// Number

let pecahan=parseFloat(num);//hasil 12.12
console.log(typeof pecahan);//Number
Conversi ke Boolean
console.log(Boolean(1));//true
console.log(Boolean(0));//false
console.log(Boolean("story"));//true
console.log(Boolean(""));//false
sekian cara konversi type data pada javascript, ada tantangan buat teman-teman silahkan dijawab untuk melatih pemahaman teman-teman.
"" + 2 + 3
"" - 4 + 5
true + true
12 / "3"
"5" * "5"
7 + 8 + "px"
"$" + 1 + 12
"5" - 4
"12px" - 8
12 / 0
"  -12\n" + 5
"  -14\n" - 3
null + 3
undefined + 3

TUTORIAL CARA HOSTING REACT JS

11:39 PM Add Comment
Tutorial kali ini kita akan belajar cara hosting react js atau cara upload ke hosting apache. Biasa nya jasa penyedia hosting yang ada di pasaran, adalah hosting apache yang terdiri dari database mysql, aplikasi php dan web server apache, atau kalau anda sudah mahir biasanya menggunakan vps (virtual private server) atau server dengan teknologi cloud computing.

Biasanya saya menggunakan vultr.com. Jika anda ingin menggunakan vps atau cloud computing, atau server cloud, tapi kurang tahu caranya, anda bisa menghubungi saya. Baiklah mungkin anda memilih menggunakan hosting apache, karena lebih mudah dan lebih praktis karena aplikasi-aplikasi yang dibutuhkan yaitu mysql, php dan apache sudah diinstall dan siap digunakan tanpa harus config sana sini. Silahkan anda pilih jasa-jasa penyedia hosting seperti rumahweb, niaga hoster, dewa web, nusantara host, dan masih banyak lagi situs-situs penyedia hosting lainnya. 

Kunjungi situs penyedia hosting yang anda inginkan, ikuti langkah-langkah untuk berlangganan di sana, pilihlah nama domain yang ter-keren, dan jangan lupa untuk membayar hosting tersebut, biar nantinya diaktifkan oleh admin nya, sehingga nama domain ter-keren yang anda pilih tadi bisa diakses dari browser anda, contohnya www.namadomainterkeren.com. Okeh, kembali ke project anda. Ikuti langkah-langkah berikut untuk membuat project anda bisa dibuka melalui nama domain yang sudah anda pilih.

Langkah langkah cara hosting React JS

1. Lihat script atau command apa saja yang tersedia di dalam project anda.
$ cd aplikasi-reactjs
$ cat package.json
 

 2. Di bagian field scripts, disitu ada command start, build, test dan eject. Command yang kita akan gunakan adalah command build, yaitu untuk bundling source dari project react js kita, yang telah di minify sehingga menjadi sangat ringan, dan siap untuk diupload ke server hosting.
$ npm run build
Tunggu sampai selesai. Hasil build nya berada di dalam folder build. 3. Upload hasil build tadi ke dalam hosting yang telah kita beli dari situs penyedia hosting tadi. Buka aplikasi ftp anda lalu upload ke dalam publc folder. Biasanya nama foldernya adalah www atau public_html. Upload semua isi dari folder build tadi ke dalam folder public di hosting anda. Jangan lupa hapus file home.htm dari dalam folder public_html jika ada.  


 4. Jika telah selesai anda upload semua source yang ada di dalam folder build tadi, maka aplikasi react js anda sudah bisa di akses dari nama domain yang anda telah daftarkan tadi. Untuk tutorial ini, saya menggunakan nama domain "opetstudio.com". Silahakn akses http://www.opetstudio.com untuk melihat hasilnya. Jika anda telah berhasil, share alamat domain ter-keren anda tadi di kolom komentar. Jika ada yang kurang jelas, silahakan bertanya di kolom komentar, saya akan membantu anda sampai bisa. Ikuti terus seri tutorial "Tutorial React Js Bahasa Indonesia". Tutorial yang berikutnya, kita akan membuat router di dalam project react js kita, sehingga kita bisa membuat halaman-halaman di dalam website kita tadi, seperti halaman home, halaman about, halaman contact dan lain-lain. Sekian tutorial kali ini, source code nya ada di dalam https://github.com/opetstudio/tutorial-reactjs Terima kasih sudah membaca tutorial yang sederhana ini. Semoga bermanfaat.

tutorial bootstrap # memahami layout pada bootstrap

1:24 PM Add Comment
memahami layout pada bootstrap



memahami layout pada bootstrap

layout merupakan hal yang sangat penting dalama pembuatan website, maka dari itu kita harus paham dulu agar bisa membuat layout yang responsif.coba temen-temen bayangkan kalau website/blog yang temen-teman kunjungi itu tidak responsif pasti langsung di closs atau cari alternatif lain yang lebih nyaman digunakan.dengan layout yang responsif akan membuat user betah berkunjung di website. layout yang respinsif adalah website yang kita buat bisa beradaptasi dengan device yang user gunakan.layout yang kita pelajari saat ini menggunakan framework, yaitu framework bootstrap.

layout yang paling dasar diboostrap adalah class container, container adalah pembungkus semua element.

class container terbagi menjadi dua:
1. container
2. container-fluid

Baca juga membuat segitiga dengan javascript

class container akan membuat layout berada di tegah-tegah atau hanya 80% saja dari browser.

cara mnggunakanya

<div class="container">
//content
</div>

class container-fluid akan membuat layout berada 100% ukuran browser atau full layar

cara menggunakannya

<div class="container-fluid">
//content
</div>

dalam satu halaman web bisa saja digunakan dua-duanya sesuai kebutuhan.

selanjutnya class row, class row sama seperti row/baris pada tabel pada umumnya.

class col sama seprti colum tabel pada umunya, row dan col selalu berdampingan penggunanya.

<div class="container">
<div class="row">
<div class="col">
1 of 2
</div>
<div class="col">
2 of 2
</div>
</div>
</div>

perlu di perhatikan layout pada framework boostrap itu terbagi menjadi 12 collum

terdapat juga beberapa pilihan class grid

Small untuk ukuran layar ≥576px dengan nama classnya sm, class sm bisa diisi 1-12

<div class="row">
<div class="col-sm-12">
//content
</div>
</div>

Medium untuk ukuran layar ≥768px dengan nama class md, class md sama juga bisa diisi 1-12

<div class="row">
<div class="col-md-12">
//content
</div>
</div>

Large untuk ukuran layar ≥992px dengan nama class lg, class lg sama juga bisa diisi 1-12

<div class="row">
<div class="col-lg-12">
//content
</div>
</div>

Extra large untuk layar ≥1200px dengan nama class xl, class xl juga bisa diisi -12

<div class="row">
<div class="col-xl-12">
//content
</div>
</div>

class grid bisa di kombinasikan penggunaanya tergantung dari website target pengguna website temen-teman

<div class="row">
<div class="col-xl-12 col-md-8">content</div>
</div>

terdapat satu class keren yaitu class offset, class ini digunakan jika kamu ingin membuang beberapa collum sebelunya.

<div class="row">
<div class="col-md-4">col-md-4</div>
<div class="col-md-4 offset-md-4">col-md-4 .offset-md-4</div>
</div>

silahkan lihat documentasinya klik disini

artikel ini hanya membahas pengenalnya saja

 

Kenalan dengan Progressive Web Apps(PWA)

10:16 AM Add Comment
Kepanjangan dari PWA adalah Progressive Web Apps. lantar apa itu pengertian dari Progressive Web Apps ??

Apa itu Progressive Web Apps(PWA)  ?


Progressive Web Apps adalah sebuah metode untuk membuat sebuah webiste berjalan,terlihat, dan terasa seperti aplikasi native pada umumnya, tetapi merupakan situs web yang sudah di optimized untuk dijalankan dimobile. meskipun seperti aplikasi native kita tidak perlu mendownload di app store, cukup dengan membuka webiste yang sudah teroptimized beberapa  detik nanti akan muncul pop-up untuk mengijinkan apakah web tersebut diizinkan dipasang di HOME. meskipun sudah terpasang dihome pwa tetap berjalan di atas browser dan pwa yang baik harus bisa berjalan meskipun di jaringan 3G dan offline, juga memiliki fitur offline caching,background syncing dan push notifications dengan menggunakan service worker. apa itu service worker ? service worker adalah sebuah aplikasi file javascript yang berjalan di background dan tidak dapat berintarksi langsung dengan halaman website maupun tidak bisa mengakses DOM Secara langsung tetapi dapat berkomunikasi melalui messages (Post Messages). pwa harus menggunakan service worker karena service worker bertindak sebagai proxy server diantara web app, browser dan jaringan(bila tersedia). pada load pertama kali service worker akan mendownload content webiste tersebut dan di simpan dicache browser. dengan demikian jika mengakses lagi dapat memuat website tersebut lebih cepat karena tinggal mengambil data dari cache browser yang disimpan tadi. Dengan cara ini website akan bisa diakses secara offline atau sedang mengalami sinyal yang buruk. Perusahan yang sudah menerapkan pwa pada website mereka
alibaba pwa
Alibaba
trivago pwa
trivago
Instagram pwa
Instagram
twiter pwa
Twitter
dan masi banyak lagi website keren yang sudah menggunakan pwa. dengan menggunakan pwa akan memberikan pengalam kepada user yang membuka website kita sebagai berikut : => Reliable  proses load website akan lebih cepat user tidak lagi melihat downasaur bahkan dalam jaringan yang sangat buruk sekalipun. => fast dengan respon yang cepat dapat mencegah user meninggalkan website kita karena 53% user akan meninggakan webiste kita jika dalam 3 menit webiste kita tidak memberikan respon apapun atau malah muncul downasaur. => Engaging karena pwa terlihat seperti aplikasi native pada umunya maka akan memberikan user  experience yang sangat mendalam. hal yang perlu di perhatikan dalam pembuatan pwa: Service Worker service worker bertindak sebagai proxy server diantara web app, browser dan jaringan(bila tersedia). pada load pertama kali service worker akan mendownload content webiste tersebut dan di simpan dicache browser. dengan demikian jika mengakses lagi dapat memuat website tersebut lebih cepat karena tinggal mengambil data dari cache browser yang disimpan tadi. Dengan cara ini website akan bisa diakses secara offline atau sedang mengalami sinyal yang buruk. Manifest File manifest File adalah file JSON config yang mencakup tentang informasi dari aplikasi seperti jenis icon yang akan disimpan dilayar ketika diisntall, tema,dan nama pendek dari aplikasi. HTTPS service worker memerlukan https untuk tujuan keamanan.karena service worker memiliki kemampuan untuk memodifikasi respon disisi client dan dapat mencegah request jaringan, semua komunikasi antara browser dan jaringan perlu di dienkripsi.
alat yang dibutuhkan untuk membuat pwa:
  1. Chrome 52 atau di atasnya
  2. Web Server for Chrome, atau server web pilihan Anda
  3. Text Editor
  4. Pengetahuan dasar tentang HTML, CSS, JavaScript, dan Chrome DevTools
setelah pwa selesai di bagun jangan lupa testing dengan developer tools => audits semoga bermanfaat

12. Post Data Ke Rest API Menggunakan React Js | Belajar React Js pemula

10:12 AM Add Comment
Post Data Ke Rest API Menggunakan React Js | Belajar React Js pemula

Post Data Ke Rest API Menggunakan React Js

pada tutorial sebelumnya kita sudah belajar bagaimana caranya get data dari rest api menggunakan react js, nah pada tutorial kali ini kita akan belajar menggunakan react js. Untuk berintraksi dengan rest api disini kita akan menggunakan axios sama seperti tutorial sebelumnya. jadi jika belum paham cara menginstal axios pada project react temen-temen silahkan buka tutorial seblumnya. disana sudah dijelakan cara menambhakan axios pada project react temen-temen. sebelum masuk pada tutorial ini temen-temen harus paham state, action, handle form pada react js karana pada tutorial kali ini kita akan meggunakannya. pada tutorial kali ini kita akan ngpost data meggunakan fake rest api https://jsonplaceholder.typicode.com/ untuk data yang akan kita post adalah data blog atau post blog baru dan untuk library yang kita gunakan adalah axios untuk berintraksi dengan rest api.
import React from "react";
import ReactDOM from "react-dom";
import axios from 'axios';
import "./styles.css";

class App extends React.Component {
  constructor(){
    super();
 this.state={
      title: '',
      body: '',
      userId: 1
    }
  }  
  onChange =(e) =>{
    this.setState({
      [e.target.id]:e.target.value
    })
  }
 onSubmit=()=>{
    let data ={
      title: this.state.title,
      body: this.state.body,
      userId: this.state.userId
    }
    axios.post('https://jsonplaceholder.typicode.com/posts',data)
 .then((res)=>{
      console.log(res)
 }).catch((err)=>{
      console.log(err)
    })
  }
  render() {
    return (
      <div className="App">
        <div>
          <label>Title</label>
          <input type="text" id="title" onChange={this.onChange} />
        </div>
        <div>
          <label>Body</label>
          <textarea id="body" onChange={this.onChange} />
        </div>
        <button type="button" onClick={this.onSubmit}>Post</button>
      </div>
    );
  }
}
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);

demikian lah cara untuk post data ke rest api menggunakan react js dan axios, cukup simple kan?

11. React fetch data from api | Belajar React Js pemula

9:21 AM Add Comment
React fetch data from api | Belajar React Js pemula

Get Data Dari API Menggunakan React js

Tugas dari front-end developer adalah salah satunya mengelolah data agar memanjakan user dalam menggunakan website kita. Data yang di olah yaitu salah satu sumbernya adalah dari rest api. Nah  pada turorial kali ini kita akan belajar get data deri rest api menggunkan react.

Persiapan untuk mulai get data dari rest api

untuk get data dari rest api yang teman-teman harus pahami adalah membuat list karena data yang kita get dari rest api akan kita olah menjadi berupa list sederhana. Yang selanjutnya teman-teman harus siapkan adalaah axios, axios salah satu library javasxript yang akan kita gunakan untuk get data dari rest api.

cara install axios

silahkan tambahakan axios di project temen-teman dengan cara jalankan printah berikut untuk menginstall axios pada project react
npm install axios
atau
yarn add axios
jika ingin melihat documentasi axios silahkan klik disini dan temukan fitur-fitur keren di documentasi axios. Cara import axios pada project react teman-teman
import axios from 'axios';
untuk latihan get data kali ini kita akan menggunakan Fake rest api. silahkan buka link di bawah
https://jsonplaceholder.typicode.com/
ok, langsung saja kita praktek get data dari rest api, pada tutorial kali ini kita akan membuat dua component, Component pertama yaitu App.js yang berisi state untuk menyimpan data dari rest api dan satu life cycle yaitu componentDidMount yang berfungsi untuk mencajalan kode untuk get data dari rest api menggunakan axios. pertama silahkan deklarasikan state pada component App.js
constructor() {
    super();
    this.state = {
      data: []
    };
  }
get data dari rest api menggunakan axios pada life cycle componentDidtMount
    componentDidMount() {
    axios.get("https://jsonplaceholder.typicode.com/posts").then(res =>
      this.setState({
        data: res.data
      })
    );
  }
jika data sudah di get dari rest api, sekarang tinggal tampilkan data yang sudah di dapat munggunakan map
render() {
    return <>{this.state.data.map((data, key) => {
    return  	
  })}</>;
  }
dan pada component list hanya menerima title dan body dari artikel yang di get dari rest api tadi.
import React, { Component } from "react";
class List extends Component {
  render() {
    return (
      <div>
        <h4>{this.props.judul}</h4>
        <p>{this.props.isi}</p>
        <hr/>
      </div>
    );
  }
}
export default List;

full code component App
import React, { Component } from "react";
import axios from "axios";
import List from "./List";
class App extends Component {
  constructor() {
    super();
    this.state = {
      data: []
    };
  }
  componentDidMount() {
    axios.get("https://jsonplaceholder.typicode.com/posts").then(res =>
      this.setState({
        data: res.data
      })
    );
  }
  render() {
    return <>{this.state.data.map((data, key) => {
    return <List judul={data.title} isi={data.body} />
  })}</>;
  }
}
export default App;

kesimpulan

untuk memudahkan belajar get data dari rest api, teman-teman harus paham dulu tentang life cycle yang ada direact js. selain axios teman-teman juga bisa menggunakan fetch untuk mengget data rest api.

10. Menghandle Form Pada React Js | Belajar React Js pemula

8:44 AM Add Comment
Menghandle Form Pada React Js | Belajar React Js pemula

Menghandle Form Pada React Js

pada tutorial kali ini kita akan belajar menghandle form pada react js, tutorial ini sangat penting karen setiap website pasti memiliki form yang digunakan untuk berintraksi dengan user. sebelum masuk tutorial ini teman-teman harus paham materi props, state dan event handling. jika belum silahkan jelajahi blog saya disini sudah ada meteri tersebut. magsud dari handle from adalah bagaimana caranya mengambil value yang ada di dalam file input lalu dikirim ke backend melalui rest api.
langsung saja kita buat form sederhana menggunakan react js

import React, { Component } from "react";
class App extends Component {
  constructor(){
    super();
 this.state={
      email:'',
      password:''
    }
  }
  //mengambil text value dari input 
  //kemudia di pindahkan ke state
 onChang=(e)=>{
    this.setState({
      [e.target.id]:e.target.value
    })
  }
  //mengumpulkan data dari state untuk di kirimkan ke server
 onSubmit=()=>{
    let data={
      email:this.state.email,
      password:this.state.password
    }
    console.log(data);
  }
  render() {
    return <div>
        <input type="email" id="email" placeholder="masukan email" onChange={this.onChang} /><br/>
        <input type="password" id="password" placeholder="Masukan password" onChange={this.onChang}/><br/>
        <button type="button" onClick={this.onSubmit}>login</button>
    </div>;
  }
}
export default App;
pada code di atas dibagian submit saya menggunakan console.log karena kita belum belajar bagaimana manacaranya mengirim data ke server menggunakan react js, nanti akan saya bahas pada tutorial selanjutnya. untuk tag input lainya sama saja caranya menghandle.

9. Lists and Keys | Belajar React Js pemula

8:32 AM Add Comment
Lists and Keys | Belajar React Js pemula

Lists and Keys Pada React JS

Dalam tutorial kali ini kita akan belajar bagaimana caranya membuat list dan keys pada react js dan belajar apa itu keys. list akan sangat berguna jika teman punya data yang banyak dan mau di tampilin dalam bentuk list dan yang perlu diingat setiap list wajib memiliki key yang berbeda. dalam tutorial ini kita akan menggunakan studi kasus membuat list makan menggunakan react js.

semple data

[
  {id:1,nama:'soto',harga:8000},
  {id:2,nama:'sate',harga:7000},
  {id:3,nama:'bakso',harga:10000},
  {id:4,nama:'nasi campur',harga:5000}
]
App.js
import React, { Component } from "react";
import List from "./List";
class App extends Component {
  constructor() {
    super();
    this.state = {
      list: [
        { id: 1, nama: "soto", harga: 8000 },
        { id: 2, nama: "sate", harga: 7000 },
        { id: 3, nama: "bakso", harga: 10000 },
        { id: 4, nama: "nasi campur", harga: 5000 }
      ]
    };
  }
  render() {
    return (
      <>
        <h1>daftar makanan</h1>
        <ol>
          {this.state.list.map((data, key) => {
            return <List key={key} nama={data.nama} harga={data.harga} />
          })}
        </ol>
      </>
    );
  }
}
export default App;
List.js
import React, { Component } from "react";
class List extends Component {
  render() {
    return (
      <li>
        {this.props.nama} = {this.props.harga}
      </li>
    );
  }
}

export default List;
pada contoh code diatas sengaja saya pisah agar kita sekalain belajar ngirim props ke component parent pada react.

8. Conditional Rendering | Belajar React js pemula

8:19 AM Add Comment
Conditional Rendering | Belajar React Bahasa indonesia
Coditional Rendering React js

Conditional Rendering Pada React js

Didalam react js kita dapat menetukan sebuah componet atau tag html dirender atau tidak pada kondisi tertentu, itu yang disebut Conditional Rendering. Dalam penggunaan Conditional Rendering terdapat dua cara paling umum yang sering digunakan yaitu ternary operator dan menggunakan operator &&.
// ternary
import React, { Component } from 'react';
class App extends Component {
  constructor(){
    super();
 this.state={
      isLoggedIn:true
    }
  }
  render() {
    return (
       <div>
      {this.state.isLoggedIn ? (
        <button>Logout</button>
      ) : (
        <button>Login</button>
      )}
    </div>
    );
  }
}

export default App;

operator &&
import React, { Component } from 'react';
class App extends Component {
  constructor(){
    super();
 this.state={
      isLoggedIn:true
    }
  }
  render() {
    return (
       <div>
      {this.state.isLoggedIn &&
          <h5>selamat datang</h5>
      }
    </div>
    );
  }
}

export default App;

dialam penggunaan operator && component hanya akan dirender jika kondirinya bernilai true

7. Event Handling | Belajar React js pemula

7:49 AM Add Comment
Event Handling | Belajar React Bahasa indonesia

React event handling functions

Pada tutorial kali ini kita akan belajar tentang Event Handling pada react, apa itu Event Handling ? adalah sebuah cara untuk menangani setiap event yang terjadi pada website kita. Misalkan event Click, Event Handling sangat penting karena setiap website pasti memiliki event, sebagai contoh misalkan didalam websitemu terdapat form pendaftaran, didalam form pendaftaran pasti memiliki event submit untuk mengirim data ke server dan kemudian di proses oleh server.

langsung aja kita praktek aja

Event Handling sangat mudah jika temen-teman sudah terbiasa menulis event pada html dan js. ayo kita lihat perbandinganya.
 
//html
<button id="foobutton" onclick="handleClick()">
  simpan
</button>

//js
function handleClick() {
  alert('tombol simpan diclik');
};
sedangkan pada react js tidak akan jauh berbeda.
//code react
class ButtonMe extends Component {
  handleClick = () => {
    alert('tombol di clik');
  }
  render() {
    return <button onClick={this.handleClick}>kilk saya</button>
  }
}
didalam react ada beberapa cara penulisana Event Handling, cara pertama memelukan bind pada constructor dan cara kedua menggunakan penulisan arrow function, cara penulisan ini tidak memerlukan bind pada constuktor contohnya bisa di lihat pada code dibawah ini.
// cara pertama
class Component1 extends Component {
constructor(){
super();
this.handleClick = this.handleClick.bind(this);
}
handleClick(){
    alert('clicked.');
  }
  render() {
    return <button onClick={this.handleClick}>Click Me</button>
  }
}

// cara kedua
class Component1 extends Component {
  handleClick = () => {
    alert('clicked.');
  }
  render() {
    return <button onClick={this.handleClick}>Click Me</button>
  }
}

Latihan Event Handling

pada latihan ini tidak hanya belajar Event Handling tapi sekaligus belajar state dan cara merubah state dengan Event Handling.
import React, { Component } from 'react';
class App extends Component {
  constructor(){
    super();
 this.state={
      num:10
    }
 this.increment=this.increment.bind(this);
  }
  increment(){
    this.setState({
      num:this.state.num + 1
    })
  }
 decrement=()=>{
    this.setState({
      num:this.state.num - 1
    })
  }
  render() {
    return (
      <div>
        <button onClick={this.increment}>+</button>
        <div>{this.state.num}</div>
        <button onClick={this.decrement}>-</button>
      </div>
    );
  }
}

export default App;

6. React Lifecycle | belajar react js untuk pemula

7:14 AM Add Comment
React Lifecycle |  belajar react js untuk pemula

React Lifecycle

pada tutorial kali ini akan belajar tentang apa itu React Lifecycle, Lifecycle adalah siklus hidup component react dari pertama di render hingga selesai. analoginya seperti Lifecycle pada nyamuk, dari terlur lalu berkembang menjadi larva,pupa dan larva kemudian nyamuk dewasa seperti itu juga component react yaitu Mounting,Updating dan Unmaunting. dalam proses 3 fase Lifecycle pada react, componenn akan menjalanakan beberapa fungsi atau method.

Fase Mounting

  1. constructor : disini akan di inisialisasikan state
  2. componentDidMount : biasnya disini digunakan untuk me-request data dari rest api
  3. componentWillMount :  bisa digunakan untuk merubah state yang tidak mempengaruhi UI

Fase Updating

  1. componentWillReceiveProps : dipanggil ketika ada perubahan pada props yang diterima oleh Component.
  2. shouldComponentUpdate : Dipanggil Setelah props Atau State Berubah, dan ini juga yang menentukan sebuah component itu dirender ulang atau tidak.
  3. componentWillUpdate : Dipanggil Sebelum Component di Render Setelah Ada perubahan Pada State.
  4. componentDidUpdate : Dipanggil Setelah Component di Render Setelah Ada perubahan Pada State.

Fase Unmounting

  1. componentWillUnmount : Dipanggil Setelah component dihapus atau di lepas. 
React Lifecycle
Sumber: https://rangle.github.io/react-training/react-lifecycles/

React Lifecycle sangat penting dipahami dalam mengelolah UI dan component react, untuk melihat bisa klik link ini

5. React Fragment | belajar react js untuk pemula

6:56 AM Add Comment
React Fragment | belajar react js untuk pemula

React Fragment

perlu di perhatikan saat belajar react js bahwa sebuah component pada react js hanya bisa megembalikan(return) satu element saja, jika ingin me-return dua element harus membukusnya dengan element div  biasanya. hanya saja element div yang sebagai pembungkus tadi ikut ter-render untuk menghidari itu ada namanya React.Fragment. React.Fragment adalah sebuah tag pembungkus yang di sedikan oleh react, tag ini tidak akan terlihat saat react merender page. Contoh menggunakan React.Fragment .



class BlogPostExcerpt extends Component {
  render() {
    return (
      <React.Fragment>
        <h1>Judul Blog</h1>
        <p>ini isi blog</p>
      </React.Fragment>
    )
  }
}

React.Fragment memiliki shorthand tetapi hanya didukung oleh react versi terbaru dan babel 7+


class BlogPostExcerpt extends Component {
  render() {
    return (
      <>
        <h1>Judul Blog</h1>
        <p>ini isi blog</p>
      </>
    )
  }
}

jadi sekarang sudah tau kan apa itu Fragment dan cara mengunakannya.

4. apa itu props | belajar react js untuk pemula

6:12 AM Add Comment
apa itu props | belajar react js untuk pemula

apa itu props

pada tutorial kali ini kita akan belajar apa itu props pada react js dan bagaimana cara menggunakannya. props adalah sebuah properti("variabel") yang dimiliki component react yang berfungsi untuk menyimpan data atau juga untuk melempar data ke component lainya, tepatnya dari component perent ke component child.

cara menggunakan props, misalkan saya mempunya component perent yang ingin melempar data ke component child ke component anak yang saya berinama adalah Welcome

import React, { Component } from 'react';
import Welcome from "./Welcome"

class App extends Component {
render() {
return (
<div classname="App">
<welcome name="andi"/>
</div>
);
}
}

export default App;
ini component childnya

import React, { Component } from 'react';
class Welcome extends Component {
render() {
return (
<h1>Welcome back,{this.props.name}</h1>
);
}
}
export default Welcome;
teman-teman juga bisa memberikan default props pada component react, default props ini juga akan digunakan juga component perentnya tidak mengirimkan atau melempar props.

Welcome.defaultProps={
name:'eka'
}
bisa juga dengan keyword static

static defaultProps={
name:'eka'
}
selain memberikan nilai defaul pada props kita juga bisa memvalidasi type props yang dilempar ke component anak, cara memvalidasi props yang pertama harus dilakukan adalah dengan cara menginstall satu package yang namanya prop-types. cara install prop-types

npm install prop-types --save
jika ingin menggunakan prop-types tinggal import saja

import PropTypes from 'prop-types';
untuk menggunkan prop-types

Welcome.propsType={
name:PropType.string
}
jika props itu wajib dikirim oleh perentnya tambahkan keyword .isRequired

Welcome.propsType={
name:PropType.string.isRequired
}
berikut beberapa validasi yang bisa dilakukan oleh prop-types

  • PropTypes.any — untuk type prop apapun
  • PropTypes.bool — untuk type prop boolean 
  • PropTypes.number — untuk type prop number 
  • PropTypes.string — untuk type prop string 
  • PropTypes.func — untuk prop berupa function 
  • PropTypes.array — untuk type prop berupa array 
  • PropTypes.object — untuk type prop berupa object 
  • PropTypes.symbol — untuk type prop berupa symbol 
ada banyak cara yang bisa dilakukan untuk memvalidasi props menggunakan prop-types,silahkan di explore lagi jika ada yang di tanyakan silahkan lampirkan pada colom comentar
App.js

class App extends Component {
render() {
return (
<div classname="App">
<welcome name="andi"/>
</div>
);
}
}

export default App;
Welcome.js

import React, { Component } from 'react';
import PropType from "prop-types"
class Welcome extends Component {
render() {
return (
<h1>Welcome back,{this.props.name}</h1>
);
}
}
Welcome.defaultProps={
name:'eka'
}
Welcome.propsType={
name:PropType.string
}
export default Welcome;

2. Component | belajar react js untuk pemula

5:39 AM Add Comment
Component | belajar react js untuk pemula
pada tutorial ini kita akan belajar apa itu component dan belajar menggunakan component pada react js. dalam menggunakan libarary react js teman-teman akan sering menggunakan component bahkan selalu menggunakan component, karena saat membuat website menggunakan react js yang kita lakukan adalah menggabungkan component-component misalkan component header,component body, dan conponent footer. satu component bisa digunakan berkali-kali, tinggal import saja component yang ingin digunakan. dalam satu file javascript bisa membuat beberapa component dan juga bisa dipisah-pisah difile yang berbeda-beda.

dalam pembuatan component terbagi menjadi dua cara yaitu menggunakan class dan function.

contoh yang pertama membuat component menggunakan class jalankan create-react-app untuk membuat project baru
create-react-app namaproject
setelah project selesai dibuat kita akan bermain di file App.jsdidalam file App.js sudah dibuatkan satu component.
App.js

import React,{ Component } from 'react';
class App extends Component{
render(){
return(
<h1>hello </h1>
)
}
}
export default App;

penulisan component diatas menggunakan class, ada beberapa aturan dalam membuat component :

1. nama component disarankan sama dengan nama file, agar mudah memeperbaiki kalo ada eroor.
2. saat pembuatan component wajib di export jika ingin digunkanan di file lain.
3. penulisan tag html jika lebih dari satu tag harus dibungkus dengan tag div yang wajib ada dalam pembuatan component yaitu import react
import React,{ Component } from 'react';
dan
export default Nama component
didalam satu file juga bisa terdapat beberapa component
App.js

import React, { Component } from 'react';
class Nama extends Component {
render() {
return (
<span>developer</span>
);
}
}
class App extends Component {
render() {
return (
<div className="App">
<h1>hello <Nama /></h1>
<Footer />
</div>
);
}
}

export default App;
dalam contoh di atas telah ditambahkan component yang diberi nama Nama dan didelarasikan di component App. contoh selanjutnya pembuatan component menggunakan function component.
App.js

import React, { Component } from 'react';
import Header from './Header';
class Nama extends Component {
render() {
return (
<span>developer</span>
);
}
}
const Footer =()=>{
return(
<h3>ini footer</h3>
)
}
class App extends Component {
render() {
return (
<div className="App">
<h1>hello <Nama /></h1>
<Footer />
</div>
);
}
}
export default App;
pada contoh di atas telah ditambahkan component footer dengan cara penulisan function component 

pada contoh selanjutnya kita bagaimana caranya mengimport component difile yang berbeda. pertama buat dulu file misalkan diberi nama Header.js
Header.js

import React,{ Component } from 'react';
class Header extends Component {
render() {
return (
<div className="App">
<h1>ini header</h1>
</div>
);
}
}
export default Header;
selanjutnya import component tersebut kedalam component App, tambahkan code berikut didalam file App.js
import Header from './Header';
setelah diimport deklarasikan component header dibagian atas tag
App.js

import React, { Component } from 'react';
import Header from './Header';
class App extends Component {
render() {
return (
<div className="App">
<Header />
<h1>hello </h1>
<Footer />
</div>
);
}
}
export default App;
jadi demikianlah cara bermain dengan component.
semoga bermanfaat!