Skripsi Rekayasa Perangkat Lunak: Implementasi Microservices pada Aplikasi E-Commerce

Perkembangan teknologi informasi yang sangat pesat telah mendorong berbagai sektor industri untuk melakukan transformasi digital, termasuk dalam bidang perdagangan elektronik atau e-commerce. Dalam konteks pengembangan perangkat lunak, arsitektur sistem menjadi faktor krusial yang menentukan skalabilitas, performa, serta kemudahan pemeliharaan aplikasi. Salah satu pendekatan arsitektur modern yang semakin populer digunakan adalah microservices architecture.

Microservices merupakan pendekatan arsitektur yang membagi sistem besar menjadi serangkaian layanan kecil yang saling berkomunikasi melalui protokol ringan. Setiap layanan memiliki tanggung jawab spesifik dan dapat dikembangkan, diuji, dan di-deploy secara independen. Dalam skripsi rekayasa perangkat lunak, topik implementasi microservices pada aplikasi e-commerce menjadi pilihan yang sangat relevan dan aplikatif karena menawarkan kompleksitas yang cukup tinggi dan bermanfaat secara praktis.

Artikel ini akan membahas bagaimana implementasi microservices dapat dilakukan dalam proyek skripsi rekayasa perangkat lunak, khususnya untuk membangun aplikasi e-commerce. Pembahasan meliputi latar belakang, perumusan masalah, tujuan, metodologi, desain arsitektur, implementasi, serta evaluasi sistem yang dibangun.

Baca juga : Skripsi Augmented Reality (AR): Visualisasi Produk E-Commerce.

Latar Belakang

E-commerce adalah bentuk digitalisasi dalam aktivitas jual beli barang dan jasa yang dilakukan melalui jaringan internet. Dalam pengembangannya, sistem e-commerce umumnya memiliki modul-modul penting seperti manajemen produk, sistem pembayaran, manajemen pengguna, keranjang belanja, hingga sistem pelacakan pesanan. Ketika sistem e-commerce berkembang dan melayani banyak pengguna secara bersamaan, arsitektur monolitik sering kali menjadi tidak efisien karena menyulitkan dalam skalabilitas dan pemeliharaan.

Pendekatan microservices memberikan solusi terhadap tantangan tersebut dengan memecah sistem menjadi layanan-layanan kecil yang saling terpisah. Misalnya, layanan manajemen produk bisa dikembangkan terpisah dari layanan otentikasi pengguna. Hal ini memungkinkan pengembangan yang lebih fleksibel, skalabilitas vertikal maupun horizontal, serta isolasi kesalahan yang lebih baik.

Melalui skripsi ini, implementasi microservices dalam sistem e-commerce dapat dijadikan sebagai studi kasus untuk menunjukkan keunggulan pendekatan ini dibandingkan pendekatan monolitik.

Rumusan Masalah

Tentu, mari kita formulasikan rumusan masalah yang lebih spesifik untuk skripsi Anda tentang “Rekayasa Perangkat Lunak: Implementasi Microservices pada Aplikasi E-Commerce.” Rumusan masalah ini akan memandu penelitian Anda dan harus dapat dijawab melalui implementasi dan analisis yang akan Anda lakukan.

  1. Bagaimana merancang sistem e-commerce berbasis arsitektur microservices?
  2. Apa saja layanan utama yang perlu dipisahkan dalam sistem e-commerce berbasis microservices?
  3. Bagaimana proses integrasi antar layanan microservices agar sistem berjalan secara utuh?
  4. Apa keuntungan dan tantangan dalam implementasi microservices pada sistem e-commerce?

Tujuan Penelitian

Tentu, berdasarkan rumusan masalah yang telah kita susun, berikut adalah contoh tujuan penelitian untuk skripsi Anda tentang “Rekayasa Perangkat Lunak: Implementasi Microservices pada Aplikasi E-Commerce”:

  1. Mendesain sistem e-commerce berbasis microservices yang modular dan scalable.
  2. Mengimplementasikan beberapa layanan utama seperti manajemen produk, pengguna, pembayaran, dan pesanan dalam bentuk microservices.
  3. Mengintegrasikan layanan-layanan tersebut menggunakan teknologi komunikasi antar layanan seperti REST API atau message broker (RabbitMQ/Kafka).
  4. Mengevaluasi performa dan maintainability sistem berbasis microservices dibandingkan sistem monolitik.

Ruang Lingkup

Penelitian ini dibatasi pada pengembangan sistem backend e-commerce yang terdiri dari layanan-layanan berikut:

  • Layanan manajemen pengguna (User Service)
  • Layanan manajemen produk (Product Service)
  • Layanan manajemen pesanan (Order Service)
  • Layanan pembayaran (Payment Service)
  • Layanan notifikasi (Notification Service)

Sistem frontend dikembangkan secara sederhana hanya untuk menguji interaksi antar layanan. Komunikasi antar layanan menggunakan protokol HTTP dan format data JSON, serta ditambahkan dukungan message queue (RabbitMQ) untuk komunikasi asinkron.

Metodologi Penelitian

Tentu, mari kita bahas lebih lanjut mengenai bab “Metodologi Penelitian” untuk skripsi Anda tentang “Implementasi Microservices pada Aplikasi E-Commerce.” Bab ini akan menjelaskan secara rinci langkah-langkah dan metode yang akan Anda gunakan untuk menjawab rumusan masalah dan mencapai tujuan penelitian.

1. Studi Pustaka

Menelusuri jurnal, artikel ilmiah, dan dokumentasi teknologi mengenai arsitektur microservices, sistem e-commerce, dan studi kasus implementasinya.

2. Analisis Kebutuhan Sistem

Menganalisis fitur-fitur utama dalam sistem e-commerce dan mengelompokkannya menjadi layanan-layanan yang dapat dikembangkan secara modular.

3. Perancangan Sistem

Melakukan perancangan arsitektur microservices, basis data per layanan (database per service), serta flow interaksi antar layanan.

4. Implementasi

Menggunakan teknologi Node.js dan Express.js untuk pengembangan service, MongoDB/PostgreSQL untuk penyimpanan data, Docker untuk containerization, dan RabbitMQ untuk message broker.

5. Pengujian dan Evaluasi

Melakukan pengujian unit pada masing-masing service dan pengujian integrasi antar layanan. Evaluasi dilakukan dengan mengukur response time, skalabilitas, dan ketahanan terhadap error.

Desain Arsitektur Microservices

Arsitektur sistem dirancang dengan prinsip bounded context, di mana setiap layanan memiliki tanggung jawab spesifik dan basis data tersendiri. Berikut adalah deskripsi singkat tiap layanan:

1. User Service

Mengelola proses registrasi, login, dan otorisasi pengguna. Menggunakan JWT (JSON Web Token) untuk keamanan.

2. Product Service

Menyediakan data produk, stok barang, dan pencarian produk. Layanan ini digunakan saat pelanggan ingin melihat atau memilih produk.

3. Order Service

Mengelola proses pembuatan pesanan dari keranjang belanja. Berinteraksi dengan Product Service untuk validasi stok dan dengan Payment Service untuk pemrosesan pembayaran.

4. Payment Service

Menyediakan simulasi sistem pembayaran dan validasi pembayaran. Berbasis REST API dan dapat diintegrasikan dengan payment gateway nyata pada pengembangan lanjut.

5. Notification Service

Mengirim notifikasi ke pengguna melalui email atau sistem internal. Menggunakan RabbitMQ sebagai message broker.

Setiap layanan dijalankan di container Docker berbeda dan dikomunikasikan melalui HTTP atau AMQP protocol (untuk RabbitMQ).

Implementasi Sistem

Implementasi dilakukan dengan pendekatan DevOps untuk mempercepat proses deployment dan integrasi.

1. Teknologi yang Digunakan:

  • Node.js + Express.js: Backend service
  • MongoDB & PostgreSQL: Penyimpanan data
  • Docker & Docker Compose: Container dan orkestrasi
  • RabbitMQ: Message broker
  • NGINX: API Gateway
  • Postman: Alat pengujian API

2. Contoh Struktur Folder Service:

lua

SalinEdit

/product-service

|– app.js

|– routes/

|– controllers/

|– models/

|– config/

|– Dockerfile

3. Contoh Endpoints:

  • User Service: POST /register, POST /login, GET /profile
  • Product Service: GET /products, POST /products
  • Order Service: POST /orders, GET /orders
  • Payment Service: POST /pay
  • Notification Service: konsumen dari RabbitMQ queue

4. Docker Compose File:

yaml

SalinEdit

version: ‘3’

services:

user-service:

build: ./user-service

ports:

– “5001:5000”

product-service:

build: ./product-service

ports:

– “5002:5000”

order-service:

build: ./order-service

ports:

– “5003:5000”

rabbitmq:

image: rabbitmq:3-management

ports:

– “5672:5672”

– “15672:15672”

Pengujian dan Evaluasi

Tentu, mari kita bahas lebih lanjut mengenai bab “Pengujian dan Evaluasi” untuk skripsi Anda tentang “Implementasi Microservices pada Aplikasi E-Commerce.” Bab ini akan menjelaskan bagaimana Anda akan menguji fungsionalitas sistem yang Anda implementasikan dan mengevaluasi kinerjanya.

1. Pengujian Unit dan Integrasi

Setiap service diuji menggunakan unit testing framework seperti Jest atau Mocha. Integrasi diuji menggunakan Postman dan automated test script.

2. Evaluasi Performa

Perbandingan dilakukan antara sistem berbasis monolitik dan microservices untuk mengukur:

  • Response time saat pemrosesan order
  • Beban CPU dan memori
  • Downtime saat salah satu service gagal

Hasil evaluasi menunjukkan bahwa sistem microservices memiliki:

  • Skalabilitas tinggi, karena layanan bisa diduplikasi sesuai kebutuhan.
  • Ketahanan terhadap error, karena satu layanan gagal tidak membuat seluruh sistem down.
  • Kemudahan pengembangan, karena tim dapat mengerjakan layanan berbeda secara paralel.

Tantangan Implementasi

Meskipun memberikan banyak keuntungan, implementasi microservices juga memiliki tantangan tersendiri:

  1. Kompleksitas komunikasi antar layanan
    Diperlukan mekanisme komunikasi yang andal serta pengelolaan dependensi yang tepat.
  2. Manajemen data terdistribusi
    Tiap layanan memiliki basis data sendiri, sehingga transaksi lintas layanan lebih kompleks dan membutuhkan pola seperti Saga Pattern.
  3. Deployment dan monitoring
    Butuh sistem monitoring dan log terpusat (misal: ELK Stack) serta otomatisasi deployment (CI/CD).
Baca juga : Skripsi Klasifikasi Data: Data E-commerce.

Implementasi arsitektur microservices pada aplikasi e-commerce dalam konteks skripsi rekayasa perangkat lunak memberikan gambaran nyata tentang tantangan dan keuntungan pendekatan ini. Sistem menjadi lebih modular, fleksibel, dan mudah diskalakan. Pengembangan dapat dilakukan lebih terstruktur, dan layanan dapat ditingkatkan tanpa mempengaruhi layanan lain.

Topik ini sangat cocok bagi mahasiswa teknik informatika atau sistem informasi yang ingin menggali lebih dalam penerapan arsitektur modern dan pengembangan sistem berskala besar. Selain memberikan pengalaman praktis, proyek ini juga memberi nilai lebih karena sesuai dengan kebutuhan industri saat ini.

Terakhir, jika Anda mengalami kesulitan dalam menyusun penelitian baik skripsi, tesis, maupun disertasi dan membutuhkan bimbingan bersama mentor yang kredibel. Segera konsultasikan kesulitanmu bersama jasa bimbingan skripsi Hubungi kami melalui whatsapp maupun instagram untuk tahu lebih banyak seputar layanan.