Pengembangan Arsitektur Sistem Analisa Halaman Hasil Mesin Pencari Menggunakan Domain Driven Design
Abstract
Website memiliki peran krusial dalam memudahkan akses informasi,
sementara search engine berfungsi sebagai alat efisien untuk mencari informasi.
Mayoritas pengguna internet umumnya mengandalkan mesin pencari sebagai
sarana utama untuk menemukan konten yang mereka butuhkan. Sekitar 62% dari
pengguna internet menunjukkan minat pada situs yang muncul dalam 10 atau 20
peringkat teratas pada halaman 1 dan 2 hasil pencarian mesin pencari (Search
Engine Result Page - SERP). Oleh karena itu, banyak dari pemilik situs
berkomitmen meningkatkan peringkat situs mereka melalui implementasi teknik
dan strategi Search Engine Optimization (SEO).
Meskipun PT XYZ, konsultan SEO, berusaha meningkatkan perangkat SEO
yang dikenal dengan system analisa SERP, desain sistem yang saat ini digunakan
dianggap kurang memadai karena tidak sepenuhnya mematuhi prinsip-prinsip
perusahaan, yaitu Scalability, Accuracy, Reliability, dan Consistency. Setelah
dianalisa lebih mendalam, masalah ini disebabkan oleh penggunaan arsitektur
monolitik sebagai dasar sistem. Meskipun arsitektur ini memberikan keleluasaan
dalam pengembangan dan pengujian, namun memiliki kelemahan, terutama dalam
hal skalabilitas dan fleksibilitas. Pada desain monolitik, pengembangan seluruh
komponen dilakukan secara bersamaan, menghasilkan aplikasi yang kompleks dan
sulit dikelola, yang pada gilirannya berdampak pada performa dan pemeliharaan
aplikasi.
Pergeseran arsitektur dari monolitik ke microservice dianggap sebagai
solusi terbaik untuk sistem yang besar atau kompleks, menjadikannya lebih
terorganisir dan dapat dengan cepat beradaptasi terhadap perkembangan kebutuhan
bisnis. Meskipun arsitektur microservice memiliki kelemahan dalam memisahkan
layanan tanpa aturan pasti terkait desain sistem, pendekatan yang diambil dalam
pemodelan arsitektur microservice terintegrasi secara efektif melalui pola desain yang dikenal sebagai Domain Driven Design (DDD). DDD memperluas dan
menerapkan konsep domain untuk memfasilitasi pengembangan perangkat lunak
yang kompleks dengan mengaitkan potongan perangkat lunak yang relevan ke
dalam model yang selalu berkembang.
Dalam upaya mengembangkan desain arsitektur sistem analisa SERP
menggunakan Domain Driven Design, penelitian ini melibatkan beberapa tahapan,
dimulai dengan analisa sistem saat ini. Analisa sistem saat ini ditujukan untuk
memahami lebih dalam mengenai sistem yang ada, kemudian dilanjutkan dengan
identifikasi arsitektur menggunakan DDD yang mencakup analisis domain,
identifikasi bounded context, identifikasi entitas dan services, serta identifikasi
microservice. Selanjutnya, dilakukan spesifikasi sumber daya untuk menyusun
dokumentasi dan spesifikasi dengan desain sistem arsitektur dan layanan cloud
yang akan digunakan.
Pembangunan arsitektur microservice pada sistem Analisa SERP XYZ
menggunakan Domain Driven Design menganalisis 5 subdomain, yakni Account
Subdomain, Payment Subdomain, Data Provider Subdomain, Data Processing
Subdomain, dan Management Subdomain Project Management. Desain ekosistem
microservice yang dibuat tersusun dari Cloud Scheduler, Crawler Initializer, SERP
Publisher, HTML Fetcher, SERP Data Fetcher, dan SERP Data Cleaner. Setelah
arsitektur diterapkan, penelitian menunjukkan bahwa sistem dengan design pattern
domain driven design lebih mudah dikembangkan dalam jangka panjang dan
dengan tim yang besar. Sistem microservice memudahkan scaling, karena tidak
perlu melakukan scaling untuk seluruh sistem, melainkan hanya pada sub sistem
yang diperlukan.