| dc.description.abstract | Performa aplikasi seluler merupakan faktor penting dalam menentukan kualitas pengalaman pengguna, terutama pada aplikasi modern yang bergantung pada komunikasi jaringan dan pemrosesan data real-time. Dalam arsitektur microservices, respons API secara alami memiliki variasi latensi dan ukuran payload akibat pemecahan layanan dan proses agregasi data lintas layanan. React Native, sebagai kerangka kerja lintas platform dengan pemisahan JavaScript thread dan UI thread, memiliki sensitivitas tinggi terhadap keterlambatan respons dan beban data, karena seluruh proses parsing JSON dan logika aplikasi dieksekusi pada JavaScript thread yang sama. Meskipun pedoman industri menekankan pentingnya API yang efisien, batas toleransi empiris terhadap latensi dan ukuran payload dalam konteks React Native belum tersedia sebagai rujukan yang terukur dan dapat direplikasi. Penelitian ini bertujuan untuk mengkaji secara empiris pengaruh karakteristik respons API, khususnya latensi dan ukuran payload, terhadap performa aplikasi React Native pada sisi klien. Variabel latensi dan payload direkayasa secara deterministik untuk mengamati dampaknya terhadap lima metrik performa, yaitu waktu pemuatan data, waktu rendering UI, penggunaan CPU, penggunaan memori, dan frame rate, tanpa melakukan analisis mendalam terhadap mekanisme internal backend microservices. Penelitian dibatasi pada kondisi tunak (steady-state) dengan profil beban satu pengguna, sehingga pengaruh kedua variabel dapat diisolasi dari faktor konkurensi maupun variabilitas jaringan nyata.
Metode penelitian menggunakan eksperimen kuantitatif dengan rancangan faktorial penuh 4×4. Latensi diatur pada empat tingkat (50 ms, 150 ms, 300 ms, dan 600 ms), sedangkan ukuran payload ditetapkan pada empat tingkat (5 KB, 20 KB, 50 KB, dan 100 KB), menghasilkan 16 kondisi eksperimen yang masing-masing dijalankan sebanyak 20 replikasi sehingga diperoleh 320 observasi. Aplikasi uji React Native dikembangkan pada konfigurasi mode release dengan Hermes engine dan diuji pada Xiaomi Redmi Note 14 (RAM 8 GB, MediaTek Helio G99-Ultra, prosesor octa-core, resolusi FHD+, refresh rate 60 Hz) dalam lingkungan terkontrol; metrik direkam menggunakan instrumen bawaan aplikasi, antarmuka FrameMetrics native Android, dan profiler berbasis ADB. Analisis data mengikuti alur bertahap yang terdiri atas statistik deskriptif, uji asumsi (normalitas, homogenitas varians, dan independensi residual), Two-Way ANOVA, regresi linear berganda, serta uji lanjut Tukey HSD untuk kontras kondisi terbaik (L1P1) dan terburuk (L4P4).
Hasil penelitian menunjukkan bahwa latensi dan ukuran payload berpengaruh signifikan terhadap kelima metrik performa, tetapi bekerja pada aspek yang berbeda. Latensi merupakan faktor dominan pada waktu pemuatan data (?² = 0,975), dengan setiap tambahan 1 ms latensi memperpanjang waktu muat sekitar 0,60 ms. Sebaliknya, ukuran payload menjadi determinan terkuat pada empat metrik lainnya, di antaranya waktu rendering UI (?² = 0,981) yang meningkat sekitar 0,80 ms, penggunaan memori yang bertambah sekitar 0,91 MB, dan frame rate yang menurun sekitar 0,079 FPS untuk setiap tambahan satu kilobit payload. Model regresi linear berganda menunjukkan kecocokan yang sangat kuat pada seluruh metrik, dan efek interaksi antara latensi dan payload tidak signifikan pada semua metrik, yang mengindikasikan bahwa kedua faktor bekerja secara aditif dan independen.
Uji lanjut Tukey HSD mengonfirmasi bahwa kondisi terburuk (L4P4) berbeda signifikan dari kondisi terbaik (L1P1) pada seluruh metrik (p < 0,001): waktu pemuatan data meningkat dari 128,70 ms menjadi 731,88 ms, waktu rendering UI dari 24,11 ms menjadi 110,00 ms, penggunaan CPU dari 21,23% menjadi 38,34%, penggunaan memori dari 167,66 MB menjadi 291,48 MB, dan frame rate menurun dari 59,19 menjadi 48,38 FPS. Besarnya selisih tersebut menunjukkan bahwa akumulasi latensi tinggi dan payload besar menghasilkan degradasi performa yang substansial, bukan sekadar signifikan secara statistik.
Temuan ini menegaskan bahwa latensi dan ukuran payload memengaruhi dua fase yang terpisah dalam pipeline eksekusi aplikasi: latensi menentukan lamanya fase penantian data, sedangkan payload menentukan beban fase pemrosesan dan rendering setelah data diterima. Implikasi praktisnya, pengendalian ukuran payload melalui paginasi, seleksi atribut, dan kompresi data perlu menjadi prioritas optimasi sisi klien, sementara pengendalian latensi lebih efektif dilakukan pada sisi server dan desain API. Karena tidak terdapat efek interaksi, kedua strategi optimasi tersebut dapat diterapkan secara terpisah dan paralel. Secara keseluruhan, penelitian ini memberikan bukti empiris bahwa perancangan API pada arsitektur microservices bukan hanya isu backend, melainkan faktor penentu kualitas dan responsivitas aplikasi seluler lintas platform. | |
| dc.description.abstract | Mobile application performance is an important factor in determining the quality of user experience, especially in modern applications that rely on network communication and real-time data processing. In microservices architecture, API responses naturally vary in latency and payload size due to service decomposition and cross-service data aggregation. React Native, as a cross-platform framework that separates the JavaScript thread from the UI thread, is highly sensitive to response delays and data load, because all JSON parsing and application logic are executed on the same JavaScript thread. Although industry guidelines emphasize the importance of efficient APIs, empirical tolerance thresholds for latency and payload size in the React Native context are not yet available as measurable, replicable references. This study aims to empirically examine the influence of API response characteristics, particularly latency and payload size, on the client-side performance of React Native applications. The latency and payload variables were engineered deterministically to observe their impact on five performance metrics, namely data load time, UI rendering time, CPU usage, memory usage, and frame rate, without conducting an in-depth analysis of the internal mechanisms of microservices backends. The study was limited to steady-state conditions with a single-user load profile, so that the effects of both variables could be isolated from concurrency factors and real-network variability.
The research method used a quantitative experiment with a full 4×4 factorial design. Latency was set at four levels (50 ms, 150 ms, 300 ms, and 600 ms), while payload size was set at four levels (5 KB, 20 KB, 50 KB, and 100 KB), resulting in 16 experimental conditions, each run with 20 replications for a total of 320 observations. The React Native test application was built in release mode with the Hermes engine and tested on a physical mid-range Android device in a controlled environment; metrics were recorded using in-app instrumentation, the native Android FrameMetrics interface, and an ADB-based profiler. Data analysis followed a staged pipeline consisting of descriptive statistics, assumption testing (normality, homogeneity of variance, and residual independence), Two-Way ANOVA, multiple linear regression, and a Tukey HSD post-hoc contrast between the best (L1P1) and worst (L4P4) conditions.
The results show that latency and payload size significantly affect all five performance metrics, but operate on different aspects. Latency is the dominant factor for data load time (?² = 0.975), with each additional 1 ms of latency extending load time by approximately 0.60 ms. Conversely, payload size is the strongest determinant of the other four metrics, including UI rendering time (?² = 0.981), which increases by approximately 0.80 ms, memory usage, which grows by approximately 0.91 MB, and frame rate, which decreases by approximately 0.079 FPS for each additional kilobyte of payload. The multiple linear regression models show very strong fits across all metrics, and the interaction effect between latency and payload is not significant for any metric, indicating that the two factors operate additively and independently.
The Tukey HSD post-hoc test confirms that the worst condition (L4P4) differs significantly from the best condition (L1P1) on all metrics (p < 0.001): data load time increases from 128.70 ms to 731.88 ms, UI rendering time from 24.11 ms to 110.00 ms, CPU usage from 21.23% to 38.34%, memory usage from 167.66 MB to 291.48 MB, and frame rate decreases from 59.19 to 48.38 FPS. The magnitude of these differences shows that the accumulation of high latency and large payloads produces substantial performance degradation, not merely statistical significance.
These findings confirm that latency and payload size affect two separate phases of the application execution pipeline: latency determines the length of the data-waiting phase, while payload determines the processing and rendering load after the data is received. Practically, payload size control through pagination, selective field retrieval, and data compression should be the priority for client-side optimization, while latency control is more effectively addressed on the server side and in API design. Since no interaction effect was found, both optimization strategies can be applied separately and in parallel. Overall, this study provides empirical evidence that API design in microservices architecture is not merely a backend concern, but a decisive factor in the quality and responsiveness of cross-platform mobile applications. | |