Showing posts with label react. Show all posts
Showing posts with label react. Show all posts

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.

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.

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!

pwa tutorial # cara melakukan caching di pwa

12:12 PM Add Comment

Berikut penjelasan tetang cara melakukan caching di pwa

Dengan service worker webiste kita dapat berjalan didalam keaadaan sinyal yang buruk bahkan offline, bahkan browser tidak lagi dihantui oleh kemunculan dinosaurus. karena service worker telah mendownload content yang telah kita akses dan disimpan didalam cache. content yang telah disimpan didalam cache nanti akan digunakan lagi ketika user sedang offline atau dalam jaringan yang sangat buruk. maksud dari caching adalah proses download content yang dilakukan servie worker agar website bisa berjalan saat offline. ada beberapa strtegi yang di rekomendarikan.

hanya cache

strategi ini akan mengambil data dari cache sepenuhnya dan tidak akan mengambil data dari jaringan selama website kita berjalan. cara ini harus semua content sudah ada didalam cache sehingga kita dapat bergantung pada cache.

hanya jaringan

strategi ini akan mengambil data hanya dari jaringan, keuntungan dari strtegi ini datanya selalu terupdate. tetapi terjadi masalah jika dengan offline atau jaringan sedang buruk akan menyebabkan muncul pesan erorr atau aplikasi lama diakses.

cache kemudian jaringan

strategi ini akan mengambil data dari cache bila ada.jika tidak ada makan akan melekukan request ke jaringan.dengan strategi ini aplikasi kita akan diakses lebih cepat karena akan ditampilkan data-data yang ada dicache dahulu dan jika ada jaringan maka datanya akan terupdate.

Cache kemudian network sambil masukkan ke cache lagi

strategi ini sama seperti diatas cuma ada tambahan ketika data baru yang didapat dari jaringan, kemudian data tersebut disimpan dicache.

jaringan kemudian cache

strategi ini akan mengambil data dari jaringan jika jaringan tidak tersedia maka akan menampilkan data yang ada dicache.

cache atau jaringan

strategi ini akan mengecek mana yang lebih cepat, jika jaringan lebih cepat dari pada cache maka akan mengambil data dari jaringan. dan jika jaringan mengalami ganguan atau lambat maka akan mengambil data dari cache.namun terdapat sedikit masalah jika data yang dibutuhkan sudah ada di cache namun cache jaringan lebih cepat dari cache maka tetap pengambilan data tetap dari jaringan itu menyebabkan pemborosan data. dari semua strategi diatas temen-teman bisa sesuaikan dengan kasus teman-teman masing-masing.

1. apa itu react js | belajar react js untuk pemula

8:27 PM Add Comment
apa itu react js | belajar react js untuk pemula

Apa itu React JS ?

React JS adalah sebuah library javascript yang dibuat oleh facebook dan bersifat open source (React is MIT Licensed). React JS digunakan untuk membangun User Interface menjadi lebih mudah. React Js hanya mengurusi semua hal yang berkaitan dengan tampilan dan logikanya atau bisa disebut frontend libraries. didalam menggunakan react js kita masi tetap menulis code-code html,css dan javascript hanya saja ada beberapa cara penulisan dan aturanya berbeda. jadi sebelum mempelajari react js teman-teman harus paham dulu html,css dan javascript agar nanti saat menggunkan react js tidak mengalami kesulitan.

cara install react js

ada beberapa persiapan yang dilakukan sebelum menggunakan react js

1. install nodejs terlebih dahulu lihat dokumentasi disini , pilihlah yang bersi LTS. untuk melihat apakah node js sudah berhasil terinstall bisa jalankan printah berikut
node -v
nanti akan menampilkan versi node js yang teman-teman install seperti berikut
v8.15.0
tentu hasilnya akan berbeda tergantung kapan teman-teman mulai belajar reactjs dan install node js. dalam tutorial ini nodejs ini fungsinya untuk menjalankan server saat teman-taman belajar reactjs. selanjutnya jalankan printah berikut pada terminalnya untuk mengecek NPM sudah terinstall atau belum.
npm -v
hasilnya
6.4.1
hasilnya walaupun berbeda tidak apa-apa. npm fungsinya untuk menginstaall package-package yang mungkin diperlukan saat membuat project dengan reactjs.

2. siapkan konfigurasi reactjs

untuk mulai belajar reactjs ada beberapa konfigurasi yang harus dilakukan, tetapi untuk memudahkan membuat konfigurasi itu teman-teman cukup menginstall create-react-app melalui npm di komputer teman-teman, nanti akan secara otomatis akan dibuatkan konfigurasi defalutnya.

jalankan printah berikut di terminalnya untuk menginstall create-react-app secara global.
npm i -g create-react-app
proses install create-react-app cukup dilakukan satu kali saja. untuk memastikan create-react-app udah teristall jalankan printah berikut.
create-react-app --varsion
hasilnya
2.1.1
setelah semua berhasil kita siap belajar react js

3. membuat dan menjalankan project react js

jalankan printah berikut untuk membuat project reactjs dan pastikan menjalankan printah di direktori yang teman-teman pilih untuk menyimpan project reactjs.
create-react-app hello-dev
nama projectnya adalah hello-dev, jadi namanya projectnya bebas. setelah proses selesai akan dibuat kan beberapa struktur folder, sekarang masuk ke src lalu buka file App.js ganti semua codenya dengan code dibawah.

import React, { Component } from 'react';
class App extends Component {
render() {
return (
<h1>selamat ada telah berhasil membuat project reactjs</h1>
);
}
}
export default App;
untuk penjelasan code di atas tunggu tutorial berikutnya. untuk menjalankan project riact js silahkan jalankan printah berikut
npm start
dan nanti akan otomatis membuka browser
semoga bermanfaat!.