Anda di halaman 1dari 8

LABORATORIUM PEMBELAJARAN ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER


UNIVERSITAS BRAWIJAYA
BAB : PENGANTAR PEMROGRAMAN REAKTIF
NAMA : ONE OCTADION
NIM : 215150209111010
TANGGAL : 02/11/2021
ASISTEN : - FAVIAN PRATISTA WIDAJAT
- IVAN LIANTO

Modul 6: Pengantar Pemrograman Reaktif


Waktu Pelaksanaan Praktikum:
Durasi kegiatan praktikum = 170 menit, dengan rincian sebagai berikut:
a. 15 menit untuk pengerjaan Tes Awal atau wawancara Tugas Pendahuluan
b. 60 menit untuk penyampaian materi
c. 45 menit untuk pengerjaan jurnal, tes akhir atau tugas
d. 50 menit Pengayaan

Tujuan:
Menerapkan teknik pemrograman reaktif sederhana dengan Observable pada pustaka
ReactiveX.

Alat & Bahan:


1. Laptop/PC
2. Software IntelliJ IDEA
3. Koneksi Internet

Dasar Teori:
Secara sederhana, pemrograman reaktif adalah pemrograman dengan
asynchronous data streams. Termasuk events juga akan disampaikan dalam bentuk data
streams. Untuk mempermudah dalam memahami dan mengimplementasikan konsep
pemrograman reaktif, perkuliahan ini menggunakan pustaka ReactiveX Perlu ditekankan
di awal bahwa pada perkuliahan ini tidak membahas tentang “Functional Reactive
Programming”.
ReactiveX adalah pustaka untuk menyusun program asynchronous dan event-
based dengan menggunakan observable sequences. ReactiveX memperluas pola
perancangan Observer untuk mendukung urutan data atau peristiwa (events) dan
menambahkan operator yang memungkinkan untuk membuat urutan (sequence) secara
deklaratif, sekaligus juga mengabstraksi tentang hal-hal seperti low-level threading,
sinkronisasi, thread-safety, concurrent data structures, dan non-blocking I/O structure
sehingga dapat mempermudah dalam mengembangkan aplikasi interaktif. Komponen
utama pustaka Rx terdiri dari:
1. Observables
2. Operators
3. Schedulers
Kelas Observable<T> merupakan salah satu pondasi utama pada kode Rx, yaitu
kemampuan menyediakan sequence of events yang dapat memuat immutable snapshot
of data secara asinkron. Secara sederhana, observables memungkinkan kelas-kelas untuk
melakukan subscribe terhadap nilai-nilai yang dihasilkan kelas-kelas lainnya dari waktu ke
waktu. Kelas Observable<T> mengizinkan satu atau lebih observers untuk bereaksi
terhadap events secara real time dan memperbarui UI aplikasi, atau dapat juga
memproses dan menggunakan data baru atau data yang masuk. Kelas Observable<T>
mengimplementasikan interface ObservableSource<T> yang memiliki 3 jenis events,
yaitu:
 next event, yaitu event yang membawa data terbaru (atau data berikutnya).
Melalui mekanisme ini, observers menerima values.
 complete event, yaitu event yang menghentikan event sequence dengan hasil
sukses. Artinya, Observable telah mengakhiri life-cycle secara sukses dan tidak
akan meng-emit events lainnya.
 error event, yaitu Observable berhenti karena terjadi error dan tidak akan
meng-emit events lainnya.

Prosedur Praktikum:
1. Memasukkan pustaka RxJava dan RxKotlin pada proyek IntelliJ
2. Membuat Observable sederhana yang meng-emit:
a. Next events
b. Complete event

Prosedur 1: Memasukkan pustaka RxJava dan RxKotlin pada proyek IntelliJ


1. Buka IntelliJ IDEA
2. Buat proyek baru
3. Pilih Graddle, kemudian beri tanda centang pada Kotlin/JVM. Apabila ada tanda
centang pada pilihan lainnya, hilangkan. Klik Next.
4. Beri nama proyek: Pengantar Pemrograman Reaktif. Klik Finisih
5. Jika sudah benar, maka IntelliJ IDEA akan menampilkan file build.graddle.
6. Buka web browser, masuk ke Maven Central di https://search.maven.org/
7. Masukkan kata kunci: rxjava
8. Pilih hasil: io.reactivex.rxjava3
9. Klik versi terkini rxjava pada kolom Latest Version
10. Copy teks pada Graddle Groovy DSL

11. Kembali ke IntelliJ IDEA, tambahkan pada dependencies di file build.graddle.


12. Kembali ke Maven Central di web browser, sekarang cari: rxkotlin.
13. Lakukan hal yang sama seperti rxjava yang tadi.
14. File build.graddle akan terlihat kurang lebih seperti ini:
15. Klik tombol “Load Graddle Changes”

Prosedur 2.1: Konfigurasi Run


1. Pada folder src/main/kotlin, buatlah file main.kt
2. Pada file main.kt tambahkan kode sbb:

3. Klik menu Run > Edit Configurations


4. Pada dialog yang muncul, klik tanda +, kemudian pilih Kotlin
5. Pada baris Use classpath of module, pilih
Pengantar_Pemrograman_Reaktif.main
6. Pada baris Main class, pilih MainKt
7. Tampilan kurang lebih akan seperti ini:

8. Klik OK
9. Kita coba jalankan dengan meng-klik tombol Run.
10. Jika berhasil, maka akan muncul pesan: Process finished with exit code 0
Prosedur 2.2: Membuat Observable pertama
1. Pada file main.kt, tambahkan kode sbb:

2. Letakkan typing cursor (yang berkedip) di dalam kata just, kemudian letakkan
kursor mouse di atasnya. Ambil tangkapan layar dan tempel/paste di kolom
jawaban sbb:
Jawaban:

3. Jalankan kode tersebut dengan menekan tombol Run, apa yang tampil pada
IDE?
Jawaban:

4. Tambahkan kode menjadi sbb:

5. Jalankan kode tersebut dengan menekan tombol Run, apa yang tampil pada
IDE?
Jawaban:

6. Apakah kesimpulan yang dapat saudara tarik?


Jawaban:

Observable class merupakan kelas reaktif yang menawarkan metode


factory, operator, dan memiliki kemampuan untuk menggunakan aliran
data reaktif sinkron dan/atau asinkron. Just adalah operator yang
mengubah item menjadi observable yang mengemit item tersebut.
Ketika observable belum memiliki observer di run maka tidak
memunculkan apa apa, agar observer dapat melihat item yang di emit
oleh observable, diperlukan operator subscribe sebagai perekat yang
menghubungkan observer dengan observable dengan cara observer
melakukan subscribe ke observable dengan operator ini, kemudian nilai
dapat di print dan ditunjukkan.

7. Tambahkan kode sbb:

8. Jalankan kode tersebut dengan menekan tombol Run, apa yang tampil pada
IDE?
Jawaban:

9. Apakah kesimpulan yang dapat saudara tarik?


Jawaban:

subscriberPertama dan subscriberKedua sama sama melakukan subscribe


ke observablePertama, hal ini menyebabkan ke dua subscriber tersebut
terhubung dengan observable yang sama dan item yang diemit
observable juga sama, dan ketika di print akan memunculkan keluaran
yang sama seperti gambar diatas.

10. Ubahlah kode di atas, sehingga output berubah menjadi:


Jawaban:

11. Sisipkan kode berikut ini setelah variabel subscriberKedua:

12. Dari library/package apakah method subscribeBy berasal?


Jawaban:

Berasal dari io.reactivex.rxjava3.kotlin.subscribeBy

13. Jalankan kode tersebut dengan menekan tombol Run, apa yang tampil pada
IDE?
Jawaban:

14. Kesimpulannya, jika kita membuat suatu instance dari Observable dengan
method just seperti kode yang telah ditulis, maka dia akan memancarkan
(meng-emit) event apa saja?
Jawaban:

Pada kode diatas, observable menghasilkan (emit) event Next yaitu nilai
satu, dua, dan tiga sebagai keluaran, kemudian menghasilkan Complete
event, yaitu kata selesai, sequence tersebut tidak menghasilkan event
onError dikarenakan tidak adanya error dalam sequence tersebut.

Anda mungkin juga menyukai