Reactive Programming 🧐

Aditya Putra Pratama
3 min readSep 26, 2022

--

reactive programming

Apa itu Reactive Programming?

Reactive programming is programming with asynchronous data stream.

Reactive Programming adalah paradigma pemrograman yang berorientasi pada stream data dan penyebaran perubahan. Ini berarti bahwa harus memungkinkan untuk mengekspresikan stream data statis atau dinamis dengan mudah dalam bahasa pemrograman yang digunakan, dan bahwa model eksekusi yang mendasarinya akan secara otomatis menyebarkan perubahan melalui stream data. reactive programming ini banyak di terapkan oleh perusahaan besar. bisa di implementasikan frontend maupun backend

Data stream reactive

dari gambar di atas dapat kita terjemahkan data stream akan turun ke bawah setelah mengeksekusi debounce, hal ini sangat menarik bagi saya karena reactive programming ini memiliki banyak sekali operator dan dapat digabungkan satu dengan yang lain. data ini di olah sedemikian rupa dan hasil nya akan di subscribe.

Reactive programming sendiri sudah mendukung banyak bahasa pemogramman seperti Java, Js dan PHP, namun untuk contoh dan implementasi saya akan menggunakan sintak rxsj

Reactive programming sendiri terdiri dari 3 bagian yaitu Observable, Observer dan Operator

Apa itu Observable?

Observable ini dapat di analogikan sebagai pengirim, observable ini mengimplementasi Observer Design Patern. nantinya observable ini akan mengirimkan data ke observer

Apa itu Observer?

observer adalah penerima ,observer ini lah yang akan menerima data dan melewatkan data subscribe, contoh kodingan Observable dan Observer sebagai berikut

const one$ = new Observable(observer => {   
observer.next(1);
observer.complete();
});
one$.subscribe({
next: value => console.log(value),
// 1 });

Apa itu Operator?

Operator merupakan kumpulan fungsi untuk memanipulasi data berikut contoh kodingannya, pada keyword pipe, terdapat filter dan map yang merupakan Operator

range(1, 200)
.pipe(
filter(x => x % 2 === 1),
map(x => x + x)
)
.subscribe(x => console.log(x));

Kapan waktu yang cocok untuk menggunakan Reactive Programming?

ketika kita banyak berhubungan dengan manipulasi data, high load data atau multiuser aplikasi seperti

  • Social networks, chats
  • Games
  • Audio and video apps (more so in streaming)

Contoh penggunaan Realcase

ketika kita meload suatu data kita perlu mengolah data tersebut sebelum di tampilkan dalam UI

contoh reactive dalam mengolah data response api

disini terlihat kita dapat memanipulasi data response API, kita dapat filter dan catch error juga menerapkan retry hanya dalam satu Observable, sehingga data yang kita dapatkan dari subscribe merupakan hasil dari penerapan Operator, Berikut hasilnya

Kesimpulan

reactive programming merupakan solusi untuk mengelola data secara asyncronous, memiliki banyak operator yang dapat digunakan, juga di dukung untuk beberapa bahasa pemograman, perusahaan besar sekelas netflix juga menggunakan reactive

Ikatlah ilmu dengan Menulisnya

Semoga Bermanfaat

--

--

Aditya Putra Pratama

Exploring the intersections of technology and humanity. Seeking insights and sharing discoveries.