digilib@itb.ac.id +62 812 2508 8800

Rehagana Kevin C Sembiring [13519117].pdf
Terbatas  Dessy Rondang Monaomi
» Gedung UPT Perpustakaan

Aplikasi kolaboratif seperti Google Docs, Figma, dll sudah sangat umum digunakan sehari-hari apalagi setelah mulainya budaya work from anywhere(WFA). Budaya WFA ini menyebabkan banyaknya penggunaan aplikasi kolaboratif untuk memenuhi kebutuhan pekerjaan dalam keadaan dimana para pekerja harus bekerja ditempat yang berbeda-beda. Umumnya aplikasi ini memiliki sebuah server yang menjadi sebuah pusat kebenaran data dan aplikasi hanya dapat bekerja pada saat pengguna terkoneksi dengan server tersebut. Akan tetapi server sebagai pusat kebenaran data akan mengalami masalah jika beberapa pengguna mengirimkan perubahan yang dapat menyebabkan konflik pada saat terhubung ke server. Salah satu alternatif yang dapat digunakan untuk mengatasi konflik ini adalah dengan menggunakan teknologi conflict-free replicated data types(CRDT). Aplikasi editor graf menjadi alternatif sebagai kasus uji yang digunakan, karena aplikasi ini dapat merepresentasikan bagaimana resolusi konflik yang terjadi dengan baik dan juga aplikasi ini banyak digunakan pada saat ini, seperti pada figma, google jamboard, dll. Implementasi CRDT yang digunakan pada tugas ini adalah dengan menggunakan library Yjs. Library ini digunakan karena dari benchmark yang pernah dilakukan untuk beberapa kasus umum CRDT dan juga terhadap beberapa library lainnya Yjs ini memberikan performa yang lebih baik. Pengujian dilakukan dengan melakukan pengembangan aplikasi edit graf yang memiliki beberapa fitur yang ditujukan untuk menjawab permasalahan pada Tugas Akhir ini yaitu operasi yang tidak komutatif. Berdasarkan pengujian implementasi CRDT dengan Yjs sudah dapat menangani fitur yang diperlukan dengan beberapa aturan yang dimiliki oleh Yjs itu sendiri. Setiap pengguna sudah memperoleh hasil yang sama setelah sinkronisasi pada server akan tetapi belum berhasil memperoleh hasil terbaik untuk beberapa kasus operasi non-komutatif.