{"id":13624,"date":"2023-04-11T02:42:00","date_gmt":"2023-04-10T19:42:00","guid":{"rendered":"https:\/\/www.jetorbit.com\/blog\/?p=13624"},"modified":"2023-04-11T10:14:33","modified_gmt":"2023-04-11T03:14:33","slug":"apa-itu-redux","status":"publish","type":"post","link":"https:\/\/www.jetorbit.com\/blog\/apa-itu-redux\/","title":{"rendered":"Apa Itu Redux, Kelebihan, dan Cara Install Redux"},"content":{"rendered":"\n<p>Pasti ada yang masih asing sekali dengan istilah Redux. Iya, kan? Apalagi jika kalian bukan anak IT. Baiklah, tanpa mengulur waktu agar menjadi tak asing, langsung simak sampai kelar yuk <strong>Apa Itu Redux, Kelebihan, dan Cara Install Redux<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Apa Itu Redux?<\/strong><\/h2>\n\n\n\n<p>Redux pertama kali diperkenalkan oleh Dan Abramov dan Andrew Clark pada tahun 2015. Redux adalah sebuah aplikasi <em>state management<\/em>. Jadi, Redux itu bekerja dengan cara membuat sebuah <em>store <\/em>yang berisi seluruh <em>state <\/em>pada aplikasi web.<\/p>\n\n\n\n<p>Ketika terjadi perubahan pada <em>state<\/em>, Redux akan membuat sebuah <em>action <\/em>yang akan diolah oleh <em>reducers <\/em>sehingga <em>store <\/em>akan berubah sesuai dengan perubahan <em>state<\/em>. Maka dari itu, seluruh komponen pada aplikasi web akan menggunakan <em>state <\/em>yang sama dan dapat dengan mudah diakses.<\/p>\n\n\n\n<p>FYI, Redux sering digunakan bersamaan dengan library reactjs yang saat ini sangat populer digunakan sebagai library javascript. Tenang, Redux bisa digunakan untuk <em>framework <\/em>JavaScript yang lain.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Apa Itu State?<\/strong><\/h2>\n\n\n\n<p><em>State <\/em>adalah <em>data private <\/em>sebuah <em>component<\/em>. Data ini hanya tersedia untuk <em>component <\/em>tersebut ya dan tak bisa diakses dari <em>component <\/em>lain. Kalian dapat menggunakan <em>state <\/em>jika ingin mengolah data yang bersifat internal di dalam <em>component <\/em>itu sendiri.<\/p>\n\n\n\n<p>Kalian akan menyimpan <em>state <\/em>di setiap komponen tanpa <em>state management library<\/em>. Namun hal ini akan menghadirkan tantangan jika aplikasi yang dibangun semakin kompleks.<\/p>\n\n\n\n<p>Kalian akan kesulitan untuk mengatur <em>state <\/em>di komponennya, belum lagi jika ada komunikasi data antarkomponen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Kelebihan Redux<\/strong><\/h2>\n\n\n\n<p>Redux memiliki banyak kelebihan selain <em>state management <\/em>yang lebih baik, yakni:&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Redux membuat state dapat diprediksi<\/strong><\/h3>\n\n\n\n<p>Sebuah <em>state <\/em>umumnya dapat diprediksi di library Redux karena <em>reducer <\/em>selalu mengembalikan <em>output <\/em>yang sama ketika <em>state <\/em>atau <em>action <\/em>yang sama diteruskan ke <em>reducer<\/em>.<\/p>\n\n\n\n<p>Pada Redux, setiap status tidak dapat diubah, ya. Hal tersebut menguntungkan <em>developers <\/em>karena dapat melakukan aktivitas yang cepat dengan memanfaatkan <em>infinite redo and undo<\/em>.<\/p>\n\n\n\n<p>Oia, memungkinkan juga untuk mengimplementasikan <em>time travel <\/em>yang mana kemampuan ini digunakan untuk bergerak <em>back and forth <\/em>antara <em>previous state <\/em>dan melihat hasilnya secara <em>real time<\/em>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Redux bersifat maintainable atau dapat dipelihara<\/strong><\/h3>\n\n\n\n<p>Kalian tahu kah bahwa Redux tergolong sebagai <em>platform <\/em>yang ketat dalam mengatur kode? Namun, aturan kode yang ketat ini justru memudahkan <em>developer <\/em>yang sudah memiliki pengetahuan mendalam untuk memahami struktur aplikasi Redux. Akibatnya, Redux sangat bermanfaat untuk aplikasi besar yang sering membutuhkan pembaruan.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Debugging yang mudah menggunakan Redux<\/strong><\/h3>\n\n\n\n<p>Redux juga memudahkan untuk debug aplikasi, loh. Redux yang selalu mencatat <em>action <\/em>dan <em>state <\/em>akan memudahkan <em>developer <\/em>memahami kesalahan <em>coding<\/em>, jaringan, dan bentuk <em>bug <\/em>lain yang mungkin muncul selama proses produksi.<\/p>\n\n\n\n<p>Selain pencatatan <em>action <\/em>dan <em>state<\/em>, Redux juga memiliki DevTools yang memungkinkan melakukan <em>time travel action<\/em>, mempertahankan tindakan saat memuat ulang halaman, dan sebagainya.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Performa yang baik<\/strong><\/h3>\n\n\n\n<p>Redux tepat digunakan untuk melakukan pelacakan <em>component\u2019s state<\/em>. Redux berisi beberapa peningkatan kinerja yang diimplementasikan di dalamnya, termasuk pembuatan ulang komponen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Kemudahan saat melakukan pengujian<\/strong><\/h3>\n\n\n\n<p>Sebagai <em>reducer functions<\/em> yang digunakan untuk mengubah fungsi murni, redux menghasilkan <em>output <\/em>yang sama untuk <em>input <\/em>yang sama. Oleh karena itu, menguji fungsi murni menjadi tugas yang mudah dan sederhana.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>State yang persistent<\/strong><\/h3>\n\n\n\n<p>Redux memungkinkan untuk mempertahankan beberapa <em>state <\/em>aplikasi ke penyimpanan lokal dan memulihkannya setelah melakukan <em>refresh<\/em>. Tentunya ini bagus sebab memudahkan serta membuat pekerjaan lebih efisien.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Memungkinkan untuk Rendering Sisi Server<\/strong><\/h3>\n\n\n\n<p>Saat sebuah <em>state <\/em>berubah di Redux maka akan dihasilkan <em>state <\/em>baru yang seringkali termasuk <em>shallow copy<\/em>. Akibatnya, <em>re-rendering<\/em> lebih kecil kemungkinannya.<\/p>\n\n\n\n<p>Tak usah khawatir sebab dengan Redux, bisa menangani <em>re-rendering <\/em>aplikasi dengan mengirimkan <em>application state <\/em>ke server bersama dengan responsnya terhadap <em>server requests<\/em>. Komponen yang dibutuhkan lalu di render dalam HTML dan dikirim ke klien.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Kekurangan Redux<\/strong><\/h2>\n\n\n\n<p>Selanjutnya terkait kekurangan dari redux adalah:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Tanpa Enkapsulasi<\/strong><\/h3>\n\n\n\n<p>Library Redux tidak mengizinkan enkapsulasi data ya sehingga tidak ada cara untuk mencegah terjadinya masalah keamanan saat aplikasi berkembang dengan pesat.<\/p>\n\n\n\n<p>Jika aplikasi menjadi lebih kompleks maka risiko kelemahan keamanan juga meningkat, loh. Sebab dengan tidak adanya enkapsulasi data, komponen manapun dapat membacanya.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Batasan Desain<\/strong><\/h3>\n\n\n\n<p>Redux sering dikritik karena tidak fleksibel dan relatif kaku. Makanya Redux hanya digunakan untuk mengelola aplikasi sederhana.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Penggunaan Memori yang Berlebihan<\/strong><\/h3>\n\n\n\n<p>Setiap <em>state <\/em>di Redux tidak dapat diubah. Oleh karena itu, <em>reducer <\/em>harus melakukan <em>return new form<\/em> setiap kali dipanggil untuk mengubah <em>existing condition<\/em>. Pada jangka panjang, metode ini dapat meningkatkan penggunaan memori yang dihasilkan dari kompilasi.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Peningkatan Kompleksitas<\/strong><\/h3>\n\n\n\n<p>Redux memiliki <em>learning curve<\/em> yang lebih tinggi dalam hal <em>layering <\/em>karena <em>manipulation logic actions<\/em> atau <em>reducers<\/em>.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Memakan Waktu<\/strong><\/h3>\n\n\n\n<p>Redux dapat memakan waktu implementasi untuk <em>local state management, <\/em>baik minor maupun medium-level karena butuh lebih banyak input kode <em>boilerplate <\/em>untuk memulainya.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Cara Install Redux&nbsp;<\/strong><\/h2>\n\n\n\n<p>Nah, sebelum melakukan instalasi Redux, harus menginstall Nodejs dan NPM dulu, ya. Jika sudah memilikinya, silakan ikuti langkah-langkah menginstall Nodejs dan NPM berikut ini:&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Mengakses Web Node.js<\/strong><\/h3>\n\n\n\n<p>Buka URL <a href=\"https:\/\/nodejs.org\/\" target=\"_blank\" rel=\"noopener\">https:\/\/nodejs.org\/<\/a> dan install package filenya.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.jetorbit.com\/blog\/wp-content\/uploads\/2023\/04\/Apa-Itu-Redux-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"454\" src=\"https:\/\/www.jetorbit.com\/blog\/wp-content\/uploads\/2023\/04\/Apa-Itu-Redux-1.png\" alt=\"apa itu redux\" class=\"wp-image-13625\" \/><\/a><\/figure><\/div>\n\n\n<h3 class=\"wp-block-heading\"><strong>Melakukan Instalasi Node.js<\/strong><\/h3>\n\n\n\n<p>Setelah selesai mengakses web Node.js, silakan <em>download <\/em>installer Node.js. Tunggu proses pengunduhan lalu run installer dan ikuti instruksi instalasi serta setujui perjanjian lisensinya. Selanjutnya, silakan buka hasil unduhan installer Node.js dan lakukan instalasi Node.js<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.jetorbit.com\/blog\/wp-content\/uploads\/2023\/04\/Apa-Itu-Redux-2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"362\" src=\"https:\/\/www.jetorbit.com\/blog\/wp-content\/uploads\/2023\/04\/Apa-Itu-Redux-2.png\" alt=\"apa itu redux\" class=\"wp-image-13626\" \/><\/a><\/figure><\/div>\n\n\n<h3 class=\"wp-block-heading\"><strong>Melakukan Instalasi Redux<\/strong><\/h3>\n\n\n\n<p>Sebelum melakukan instalasi redux, <em>restart <\/em>dulu ya perangkat kalian untuk menjalankannya. Setelah itu, kalian dapat memeriksa instalasi yang berhasil dengan membuka command prompt dan ketik node -v.<\/p>\n\n\n\n<p>Perintah ini akan menunjukkan versi Node terbaru di sistem kalian. Sedangkan untuk memeriksa apakah npm berhasil diinstal, silakan ketik npm \u2013v yang memunculkan versi npm terbaru di perangkat kalian.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.jetorbit.com\/blog\/wp-content\/uploads\/2023\/04\/Apa-Itu-Redux-3.png\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"158\" src=\"https:\/\/www.jetorbit.com\/blog\/wp-content\/uploads\/2023\/04\/Apa-Itu-Redux-3.png\" alt=\"redux adalah\" class=\"wp-image-13627\" \/><\/a><\/figure><\/div>\n\n\n<p>Sudah selesai mengunduh dan menginstall Nodejs dan NPM? Untuk melakukan instalasi Redux, cukup jalankan perintah berikut ini di dalam command prompt atau terminal.<\/p>\n\n\n\n<p>npm install &#8211;save redux<\/p>\n\n\n\n<p>Lalu untuk menggunakan Redux dengan aplikasi React, perlu menginstall dependensi tambahan dengan menuliskan perintah berikut pada command prompt:&nbsp;<\/p>\n\n\n\n<p>npm install &#8211;save react-redux<\/p>\n\n\n\n<p>Cek pada direktori C: atau tempat pilihan yang digunakan untuk menyimpan instalasi nodejs dan npm kalian. Jika muncul folder node_modules maka tandanya sudah berhasil menginstall Redux, ya.<\/p>\n\n\n\n<p>Silakan buka folder tersebut untuk melihat apakah dependensi react-redux juga sudah berhasil kalian install.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Simpulan&nbsp;<\/strong><\/h2>\n\n\n\n<p>Sudah kalian pahami ya bahwa Redux adalah salah satu <em>library <\/em>yang berfungsi untuk melakukan perubahan <em>state <\/em>yang dibutuhkan pada fungsional aplikasi.<\/p>\n\n\n\n<p>Jadi bagaimana? Kalian sudah paham kan apa itu Redux dan cara menginstallnya?&nbsp;<\/p>\n\n\n\n<p>Selamat mencoba dan tunggu info-info menarik lainnya dari kami, ya \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pasti ada yang masih asing sekali dengan istilah Redux. Iya, kan? Apalagi jika kalian bukan anak IT. Baiklah, tanpa mengulur waktu agar menjadi tak asing, langsung simak sampai kelar yuk Apa Itu Redux, Kelebihan, dan Cara Install Redux Apa Itu Redux? Redux pertama kali diperkenalkan oleh Dan Abramov dan Andrew Clark pada tahun 2015. Redux &#8230; <a title=\"Apa Itu Redux, Kelebihan, dan Cara Install Redux\" class=\"read-more\" href=\"https:\/\/www.jetorbit.com\/blog\/apa-itu-redux\/\" aria-label=\"Read more about Apa Itu Redux, Kelebihan, dan Cara Install Redux\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":13644,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"generate_page_header":"","footnotes":""},"categories":[25],"tags":[4579,4581,4585,283,7,4584,4583,4580,4582],"class_list":["post-13624","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-info","tag-apa-itu-redux","tag-apa-itu-state","tag-cara-install-redux","tag-domain-murah","tag-hosting-murah","tag-kekurangan-redux","tag-kelebihan-redux","tag-redux-adalah","tag-state-adalah","infinite-scroll-item","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-33"],"_links":{"self":[{"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/posts\/13624","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/comments?post=13624"}],"version-history":[{"count":2,"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/posts\/13624\/revisions"}],"predecessor-version":[{"id":13661,"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/posts\/13624\/revisions\/13661"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/media\/13644"}],"wp:attachment":[{"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/media?parent=13624"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/categories?post=13624"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jetorbit.com\/blog\/wp-json\/wp\/v2\/tags?post=13624"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}