Ar-Rasyid, Radityo (2025) Penggunaan Pola Command and Query Responsibility Segregation (CQRS) dan Event Sourcing pada Aplikasi Monolitik Berbasis Web. Other thesis, Institut Teknologi Sepuluh Nopember.
![]() |
Text
5002211034-Undergraduate_Thesis.pdf - Accepted Version Restricted to Repository staff only Download (5MB) | Request a copy |
Abstract
Dalam pengembangan perangkat lunak, performa sistem menjadi faktor penting, khususnya dalam menangani beban data besar dan permintaan pengguna yang tinggi. Command Query Responsibility Segregation (CQRS) dan event sourcing merupakan pendekatan arsitektural yang umum digunakan dalam sistem berbasis microservices untuk meningkatkan efisiensi dan ketahanan sistem. Namun, penerapannya dalam arsitektur monolitik masih jarang dieksplorasi, padahal banyak aplikasi skala menengah masih menggunakan pendekatan ini. Penelitian ini menghasilkan implementasi pola CQRSdan event sourcing pada aplikasi web berbasis Laravel dengan arsitektur monolitik menggunakan studi kasus sistem pengelolaan arsip digital berdasarkan data dari Semantic Scholar API. Sistem dikembangkan dalam tiga pendekatan arsitektur berbeda, yaitu sistem monolitik tanpa penerapan CQRS, dengan penerapan CQRS, serta dengan penerapan CQRS dan event sourcing. Evaluasi performa dilakukan dengan pengujian skalabilitas sistem dengan menggunakan metrik waktu respons, throughput, penggunaan CPU dan RAM skalabilitas sistem terhadap 3 rentang dataset, 3 tingkat concurrency, dan 2 jumlah permintaan. Pengujian dilakukan dengan 18 skenario pada endpoint yang mencerminkan setiap proses select, insert, update, dan delete menggunakan Apache Benchmark dan script PowerShell. Hasil penelitian ini menunjukkan bahwa penerapan pola arsitektur CQRS mampu memberikan pemisahan logis antara proses command dan query, serta meningkatkan performa sistem pada sisi query lebih dari 5 kali lipat dibandingkan arsitektur tanpa CQRS. Pada sisi command, arsitektur tanpa penerapan pola CQRS menunjukkan sedikit keunggulan sebesar 1.1 kali dibandingan arsitektur dengan penerapan pola CQRS. Penambahan pola event sourcing tidak menunjukkan perbedaan performa yang signifikan dibandingkan penerapan pola CQRS saja, tetapi memperkuat kemampuan sistem dalam pencatatan riwayat perubahan (audit) dan pemulihan versi data (rollback).
=====================================================================================================================================
In software development, system performance is a critical factor, especially in handling large data loads and high user demands. Command Query Responsibility Segregation (CQRS) and event sourcing are architectural approaches commonly used in microservices-based systems to enhance efficiency and resilience. However, their implementation in monolithic architectures remains underexplored, despite many medium-scale applications still adopting this approach. This research presents the implementation of the CQRS and event sourcing patterns in a Laravel-based web application using a monolithic architecture, with a case study on a digital archive management system utilizing data from the Semantic Scholar API. The system was developed using three different architectural approaches: a monolithic system without CQRS, with CQRS, and with CQRS and event sourcing. Performance evaluation was conducted through system scalability testing using response time, throughput, CPU and RAM usage as metrics, across 3 dataset durations, 3 concurrency levels, and 2 request volumes. Testing was performed over 18 scenarios representing the select, insert, update, and delete processes using Apache Benchmark and PowerShell scripts. The results show that implementing the CQRS architectural pattern enables logical separation between command and query processes and improves query-side performance by more than 5 times compared to the non-CQRS architecture. On the command side, the architecture without CQRS showed only a slight advantage, with a 1.1 times performance increase over the CQRS-based architecture. Addition of event sourcing did not result in significant performance differences compared to CQRS alone but strengthened the system’s capabilities in change history logging (audit) and data version recovery (rollback).
Item Type: | Thesis (Other) |
---|---|
Uncontrolled Keywords: | CQRS, Event Sourcing, Monolitik, Pengujian, Perbandingan Performa, CQRS, Event Sourcing, Monolithic, Performance Comparison, Testing |
Subjects: | Q Science > QA Mathematics Q Science > QA Mathematics > QA76.754 Software architecture. Computer software Q Science > QA Mathematics > QA76.76.P37 Software patterns. Q Science > QA Mathematics > QA76.9D338 Data integration |
Divisions: | Faculty of Science and Data Analytics (SCIENTICS) > Mathematics > 44201-(S1) Undergraduate Thesis |
Depositing User: | Radityo Ar Rasyid |
Date Deposited: | 30 Jul 2025 06:40 |
Last Modified: | 30 Jul 2025 06:40 |
URI: | http://repository.its.ac.id/id/eprint/123193 |
Actions (login required)
![]() |
View Item |