# Middleware Adalah: Pengertian, Fungsi, dan Contohnya

> Middleware adalah lapisan perantara yang menghubungkan aplikasi atau memproses request sebelum sampai ke kode utama. Pahami fungsi, jenis, dan contohnya.

**URL:** https://www.ciptadusa.com/blog/middleware-adalah  
**Type:** blog  
**Author:** PT Cipta Dua Saudara  
**Category:** Teknologi  
**Published:** 2026-10-27  
**Cover:** https://www.ciptadusa.com/media/uploads/blog/2026-10/1793067783912-middleware-adalah-20261027.webp  

## Article

Middleware adalah perangkat lunak perantara yang berada di antara dua bagian sistem dan mengatur komunikasi di antara keduanya. AWS mendefinisikannya sebagai perangkat lunak yang digunakan oleh aplikasi yang berbeda untuk berkomunikasi satu sama lain, dan bertindak sebagai jembatan antara teknologi, alat, dan basis data yang beragam ([sumber](https://aws.amazon.com/id/what-is/middleware/)). IBM menyebutnya sebagai "software glue", yaitu perekat yang mengikat sistem-sistem berbeda ([sumber](https://www.ibm.com/think/topics/middleware)).

Istilah ini dipakai dalam dua konteks. Pertama, middleware sebagai penghubung antar aplikasi, misalnya lapisan yang mengalirkan data dari toko online ke ERP dan gudang. Kedua, middleware di dalam framework web seperti Laravel, Express.js, atau ASP.NET Core, yaitu fungsi yang memeriksa dan memproses setiap request sebelum sampai ke kode utama aplikasi. Artikel ini membahas keduanya: pengertian, fungsi, cara kerja, jenis, contoh, perbedaannya dengan API dan backend, serta hal yang perlu diperhatikan bisnis sebelum memakainya.

## Pengertian Middleware

Secara bahasa, middleware berarti perangkat lunak yang berada "di tengah". Posisi tengah ini bisa di antara aplikasi frontend dan backend, di antara dua aplikasi bisnis, atau di antara request pengguna dan kode yang menanganinya.

AWS memberi contoh sederhana: aplikasi frontend di Windows mengirim dan menerima data dari server backend Linux, tetapi pengguna tidak menyadari perbedaannya karena middleware menjembatani keduanya ([sumber](https://aws.amazon.com/id/what-is/middleware/)). Tanpa middleware, menurut AWS, developer harus membangun modul pertukaran data untuk setiap komponen yang terhubung ke aplikasi.

Kalau Anda belum familiar dengan istilah sisi klien dan sisi server, baca dulu [frontend adalah](/blog/frontend-adalah) dan [backend adalah](/blog/backend-adalah). Middleware berada di jalur yang menghubungkan keduanya.

### Dua Makna Middleware yang Perlu Dibedakan

| Konteks | Contoh pertanyaan pencarian | Yang dimaksud |
| --- | --- | --- |
| Integrasi dan arsitektur sistem | middleware server, aplikasi middleware, middleware engineer | Software terpisah yang menghubungkan aplikasi, database, dan layanan, seperti message broker, API gateway, ESB, atau iPaaS |
| Framework web | middleware Laravel, middleware API, middleware Express | Fungsi atau kelas di dalam aplikasi yang memproses request HTTP sebelum dan sesudah sampai ke route atau controller |

Keduanya berbagi ide yang sama: ada lapisan perantara yang memeriksa, mengubah, atau meneruskan data. Bedanya ada pada skala. Middleware integrasi menghubungkan banyak sistem, sedangkan middleware framework bekerja di dalam satu aplikasi.

### Sejarah Singkat

IBM mencatat istilah middleware pertama kali muncul pada akhir 1960-an, karena versi awalnya berperan sebagai mediator antara aplikasi front-end (klien) dan sumber daya back-end seperti database atau aplikasi mainframe ([sumber](https://www.ibm.com/think/topics/middleware)). AWS menambahkan bahwa middleware dimulai sebagai jembatan antara aplikasi baru dan sistem lama, lalu makin dikenal pada 1980-an ([sumber](https://aws.amazon.com/id/what-is/middleware/)).

## Fungsi Middleware

Berdasarkan penjelasan AWS dan IBM, fungsi middleware dapat dirangkum menjadi beberapa kelompok:

- **Menghubungkan sistem yang berbeda.** Aplikasi yang ditulis dengan bahasa, sistem operasi, atau format data berbeda tetap bisa bertukar data. IBM menyebut middleware menyediakan layanan agar komponen yang ditulis dengan Java, C++, PHP, dan Python bisa saling berkomunikasi ([sumber](https://www.ibm.com/think/topics/middleware)).
- **Mengamankan jalur komunikasi.** AWS menyebut middleware menyediakan saluran komunikasi yang aman antara aplikasi terdistribusi ([sumber](https://aws.amazon.com/id/what-is/middleware/)). IBM menambahkan kemampuan autentikasi, misalnya meminta kredensial atau sertifikat digital dari aplikasi front-end ([sumber](https://www.ibm.com/think/topics/middleware)).
- **Mengatur lalu lintas.** Middleware dapat mendistribusikan request ke beberapa server saat trafik naik, sehingga satu server tidak menanggung semua beban ([sumber](https://www.ibm.com/think/topics/middleware)).
- **Menyesuaikan respons.** AWS mencontohkan middleware yang menyortir dan memfilter hasil sebelum dikirim ke frontend ([sumber](https://aws.amazon.com/id/what-is/middleware/)). IBM memberi contoh aplikasi e-commerce yang mengurutkan hasil pencarian produk berdasarkan toko terdekat dari informasi lokasi di header request ([sumber](https://www.ibm.com/think/topics/middleware)).
- **Membantu modernisasi sistem lama.** Middleware menjadi jembatan saat aplikasi lama dipecah atau dipindahkan ke arsitektur yang lebih baru tanpa menulis ulang semuanya sekaligus ([sumber](https://www.ibm.com/think/topics/middleware)).

Di level framework web, fungsinya lebih spesifik. Dokumentasi Laravel menyebut middleware sebagai mekanisme untuk memeriksa dan memfilter request HTTP yang masuk ke aplikasi, dengan contoh pengecekan login, pencatatan log setiap request, dan proteksi CSRF ([sumber](https://laravel.com/docs/13.x/middleware)).

## Cara Kerja Middleware

### Middleware sebagai Penghubung Antar Aplikasi

AWS menjelaskan bahwa middleware mengabstraksi proses komunikasi antar komponen, sehingga aplikasi frontend cukup berkomunikasi dengan middleware tanpa perlu memahami "bahasa" setiap komponen backend ([sumber](https://aws.amazon.com/id/what-is/middleware/)). Pertukaran data memakai kerangka olahpesan standar seperti JSON, REST API, XML, layanan web, dan SOAP.

Contoh dari AWS: server web adalah middleware yang menghubungkan situs web ke database backend. Saat Anda mengirim formulir di website, browser mengirim request dalam format JSON atau XML ke server web. Server web lalu menjalankan logika bisnis, mengambil data dari database, atau berkomunikasi dengan layanan lain ([sumber](https://aws.amazon.com/id/what-is/middleware/)).

Menurut AWS dan IBM, arsitektur middleware integrasi terdiri dari beberapa komponen: konsol manajemen, antarmuka klien, antarmuka internal, antarmuka platform, pengelola kontrak (aturan pertukaran data), pengelola sesi, pengelola database, dan monitor runtime yang mencatat pergerakan data ([sumber AWS](https://aws.amazon.com/id/what-is/middleware/), [sumber IBM](https://www.ibm.com/think/topics/middleware)). Contoh fungsi pengelola kontrak menurut AWS: mengembalikan pesan error jika aplikasi mengirim angka padahal yang diharapkan adalah teks.

### Middleware dalam Framework Web

Di dalam aplikasi, middleware bekerja seperti rangkaian pos pemeriksaan. Laravel menggambarkannya sebagai serangkaian "lapisan" yang harus dilewati request HTTP sebelum sampai ke aplikasi, dan setiap lapisan bisa memeriksa request bahkan menolaknya ([sumber](https://laravel.com/docs/13.x/middleware)).

Express.js memakai konsep yang sama. Dokumentasinya menyebut aplikasi Express pada dasarnya adalah serangkaian pemanggilan fungsi middleware selama siklus request-response. Fungsi middleware bisa menjalankan kode apa pun, mengubah objek request dan response, mengakhiri siklus request-response, atau meneruskan kendali ke middleware berikutnya lewat `next()`. Jika tidak mengakhiri siklus dan tidak memanggil `next()`, request akan menggantung ([sumber](https://expressjs.com/en/guide/using-middleware.html)).

Alur sederhananya:

1. Request masuk ke server.
2. Middleware pertama berjalan, misalnya mencatat waktu dan alamat request.
3. Middleware berikutnya memeriksa sesi login. Jika belum login, request dihentikan dan pengguna diarahkan ke halaman login.
4. Jika lolos semua pemeriksaan, request sampai ke route atau controller yang menjalankan logika bisnis.
5. Response kembali ke pengguna, dan di beberapa framework melewati middleware dalam urutan terbalik.

Microsoft Learn menegaskan poin kelima untuk ASP.NET Core: urutan middleware yang ditulis di aplikasi menentukan urutan pemanggilan pada request, dengan urutan terbalik untuk response. Urutan ini disebut sangat penting untuk keamanan, performa, dan fungsionalitas ([sumber](https://learn.microsoft.com/id-id/aspnet/core/fundamentals/middleware/?view=aspnetcore-10.0)).

## Jenis-Jenis Middleware

IBM membagi middleware ke dalam dua kelas besar: middleware integrasi aplikasi enterprise dan middleware platform ([sumber](https://www.ibm.com/think/topics/middleware)). Di dalamnya ada banyak jenis. Berikut ringkasan beberapa jenis yang dijelaskan IBM:

| Jenis | Fungsi singkat | Contoh |
| --- | --- | --- |
| Message-oriented middleware (MOM) | Menerjemahkan dan merutekan pesan antar aplikasi dengan protokol berbeda, sesuai urutan | Message queue, message broker |
| Remote procedure call (RPC) | Satu aplikasi memicu prosedur di aplikasi lain seolah berada di komputer yang sama | Framework RPC |
| Database middleware | Menyederhanakan akses ke database backend | Server database SQL |
| API middleware | Alat untuk membuat, membuka, dan mengelola API | API gateway, platform API management, portal developer |
| Transactional middleware | Menjalankan transaksi data lintas jaringan sampai tuntas | Transaction processing monitor |
| Asynchronous data streaming | Menyalin aliran data ke penyimpanan perantara agar bisa dipakai banyak aplikasi | Apache Kafka |
| Enterprise application integration | Pusat integrasi untuk menghubungkan semua aplikasi dan proses | ESB, iPaaS |
| Platform middleware | Lingkungan runtime untuk menjalankan logika aplikasi | Java runtime, container, server aplikasi, CMS |

Sumber tabel: [IBM](https://www.ibm.com/think/topics/middleware). IBM juga mencatat bahwa ESB pernah menjadi bentuk integrasi enterprise yang dominan dalam arsitektur SOA, dan kini iPaaS memungkinkan organisasi menghubungkan aplikasi, data, dan proses lintas lingkungan on-premise dan cloud tanpa mengelola server integrasinya sendiri.

## Contoh Middleware

### Contoh Middleware di Sistem Bisnis

Ilustrasi berikut menggambarkan distributor yang memakai toko online, ERP, aplikasi gudang, dan CRM. Ini contoh rekaan untuk menjelaskan konsep, bukan studi kasus klien:

- **API gateway** menerima semua request dari aplikasi mobile sales, memeriksa API key, membatasi jumlah request, lalu meneruskannya ke layanan pesanan atau layanan stok.
- **Message broker** menampung pesan "pesanan baru" dari toko online. ERP, aplikasi gudang, dan CRM mengambil pesan itu masing-masing, sehingga toko online tidak perlu tahu berapa sistem yang mendengarkan.
- **iPaaS** menyalin data pelanggan baru dari formulir website ke [CRM](/blog/crm-adalah) dan data faktur dari [ERP](/blog/erp-adalah) ke software akuntansi, dengan pemetaan field yang diatur di satu tempat.

Pembahasan pola integrasi yang lebih luas, termasuk point-to-point, hub-and-spoke, webhook, dan ETL, ada di artikel [integrasi sistem adalah](/blog/integrasi-sistem-adalah).

### Contoh Middleware di Laravel

Laravel menyediakan middleware bawaan untuk autentikasi dan proteksi CSRF. Middleware autentikasi memeriksa apakah pengguna sudah login. Jika belum, pengguna diarahkan ke halaman login; jika sudah, request diteruskan ke aplikasi ([sumber](https://laravel.com/docs/13.x/middleware)). Middleware baru dibuat dengan perintah `php artisan make:middleware`, lalu bisa dipasang secara global untuk semua request, per route, atau dalam grup seperti grup `web` dan `api` ([sumber](https://laravel.com/docs/13.x/middleware)).

### Contoh Middleware di Express.js

Contoh berikut adalah middleware Express yang mencatat metode dan alamat setiap request, lalu meneruskannya:

```js
app.use((req, res, next) => {
  console.log(req.method, req.url)
  next()
})
```

Dokumentasi Express membagi middleware menjadi lima jenis: application-level, router-level, error-handling, built-in, dan third-party ([sumber](https://expressjs.com/en/guide/using-middleware.html)).

### Middleware di Next.js Kini Bernama Proxy

Di Next.js, file `middleware` sudah dinyatakan deprecated dan diganti namanya menjadi `proxy` sejak versi 16.0.0. Proxy berjalan di server sebelum route dirender dan berguna untuk logika seperti autentikasi, logging, dan redirect ([sumber](https://nextjs.org/docs/app/api-reference/file-conventions/proxy)). Tim Next.js menjelaskan bahwa nama "proxy" dipilih karena fitur ini berperilaku seperti batas jaringan di depan aplikasi. Jika proyek Next.js Anda masih memakai `middleware.ts`, rencanakan migrasinya saat upgrade versi. Panduan keamanan Next.js lainnya ada di [security dan deployment Next.js](/blog/nextjs-security-deployment).

## Middleware, API, dan Backend: Apa Bedanya?

Ketiga istilah ini saling berkaitan, tetapi tidak sama:

| Istilah | Peran | Analogi |
| --- | --- | --- |
| Backend | Sisi server yang menyimpan data dan menjalankan aturan bisnis | Dapur restoran |
| API | Kontrak atau antarmuka yang mendefinisikan cara dua software berkomunikasi | Menu dan format pesanan |
| Middleware | Lapisan perantara yang meneruskan, memeriksa, atau menerjemahkan komunikasi | Pelayan yang mengecek pesanan sebelum diteruskan ke dapur |

AWS mendefinisikan API sebagai mekanisme yang memungkinkan dua komponen perangkat lunak saling berkomunikasi menggunakan serangkaian definisi dan protokol ([sumber](https://aws.amazon.com/id/what-is/api/)). Middleware bisa menyediakan API standar untuk komponen di belakangnya, seperti dijelaskan AWS pada kasus penggunaan pengembangan perangkat lunak ([sumber](https://aws.amazon.com/id/what-is/middleware/)). Jadi "middleware API" atau API gateway adalah middleware yang mengelola lalu lintas API, bukan API itu sendiri.

Analogi restoran di tabel di atas adalah penyederhanaan dari CDS untuk membantu pembaca non-teknis, bukan definisi formal.

## Hal yang Perlu Diperhatikan Saat Memakai Middleware

### Urutan Menentukan Hasil

Karena middleware berjalan berurutan, salah urutan bisa membuat pemeriksaan keamanan terlewati atau cache menyimpan data yang tidak seharusnya. Microsoft Learn menyebut urutan middleware sangat penting untuk keamanan, performa, dan fungsionalitas ([sumber](https://learn.microsoft.com/id-id/aspnet/core/fundamentals/middleware/?view=aspnetcore-10.0)). Dokumentasikan urutan middleware aplikasi dan uji ulang setiap kali urutannya diubah.

### Jangan Jadikan Satu-satunya Pengaman

Pada Maret 2025, Next.js menambal kerentanan kritis CVE-2025-29927 yang memungkinkan middleware dilewati melalui header internal `x-middleware-subrequest`. Patch dirilis di Next.js 14.2.25 dan 15.2.3. Dalam postmortem-nya, tim Next.js menyatakan tidak merekomendasikan middleware sebagai satu-satunya metode untuk melindungi route aplikasi ([sumber](https://nextjs.org/blog/cve-2025-29927)).

Pelajarannya berlaku umum: middleware cocok untuk pemeriksaan awal, tetapi hak akses tetap perlu dicek lagi di tempat data diambil atau diubah, misalnya di service backend atau query database.

### Middleware Menambah Lapisan yang Harus Dirawat

Setiap lapisan perantara adalah komponen yang perlu dipantau, diperbarui, dan diamankan. Untuk middleware integrasi seperti message broker atau API gateway, siapkan log, alert, dan rencana jika lapisan itu berhenti bekerja, karena semua sistem yang bergantung padanya ikut terdampak. Praktik pemantauan dan rilis seperti ini dibahas di [DevOps adalah](/blog/devops-adalah), dan biaya perawatannya bisa dihitung dengan panduan [biaya maintenance aplikasi](/blog/biaya-maintenance-aplikasi).

## Kapan Bisnis Membutuhkan Middleware Integrasi?

Daftar berikut adalah panduan internal CDS untuk diskusi awal, bukan aturan baku. Middleware integrasi layak dipertimbangkan jika:

- Lebih dari dua aplikasi perlu bertukar data yang sama, misalnya pelanggan, produk, atau pesanan.
- Satu peristiwa (pesanan baru, pembayaran masuk) harus diteruskan ke beberapa sistem sekaligus.
- Ada sistem lama yang tidak bisa diubah, tetapi datanya dibutuhkan aplikasi baru.
- Tim ingin satu tempat untuk memantau, mencatat, dan mengulang pengiriman data yang gagal.
- API dibuka untuk mitra atau aplikasi mobile dan butuh kontrol akses serta pembatasan request yang seragam.

Jika kebutuhannya hanya menghubungkan dua aplikasi dengan alur sederhana, integrasi langsung lewat API atau webhook bisa cukup. Keputusan ini sebaiknya diambil setelah alur data dipetakan, bukan dari nama produk middleware.

## Middleware di Proyek CDS

Di [layanan pembuatan software custom](/services/software), CDS membangun aplikasi web, aplikasi mobile, tools internal, dan integrasi API dengan stack seperti Laravel + PHP, Node.js, Go, React/Next.js, Cloudflare Workers, serta REST API dan webhook. Tahap Ship mencakup QA, migrasi data, deploy ke produksi, dan pemantauan setelah rilis. Untuk perusahaan yang aplikasinya sudah banyak, [layanan konsultasi IT](/services/consulting) CDS mencakup audit ketergantungan antar sistem dan desain arsitektur target, termasuk integrasi, keamanan, dan jalur migrasi bertahap.

Produk CDS [Zetta CRM](/incubating/zetta-crm) memakai pola lapisan yang mirip: server MCP berbasis Go ini menerima request di endpoint `POST /mcp` dan setiap akses dijaga API key, sehingga AI agent mengakses data CRM lewat satu pintu yang terkontrol. Contoh proyek yang sudah berjalan bisa dilihat di halaman [karya CDS](/works).

## FAQ Seputar Middleware

### Middleware adalah apa dalam bahasa sederhana?

Middleware adalah perangkat lunak perantara yang menghubungkan dua bagian sistem atau memproses request sebelum sampai ke kode utama. Contohnya API gateway yang menghubungkan aplikasi mobile ke layanan backend, atau middleware login di Laravel yang menolak pengguna yang belum masuk.

### Apa contoh middleware?

Contoh middleware integrasi menurut IBM: message broker, API gateway, ESB, iPaaS, dan Apache Kafka ([sumber](https://www.ibm.com/think/topics/middleware)). AWS juga menyebut server web sebagai middleware yang menghubungkan website ke database ([sumber](https://aws.amazon.com/id/what-is/middleware/)). Di framework web, contohnya middleware autentikasi, CSRF, dan logging di Laravel.

### Apa itu middleware di Laravel?

Middleware di Laravel adalah kelas yang memeriksa dan memfilter request HTTP sebelum masuk ke aplikasi, misalnya memastikan pengguna sudah login atau token valid ([sumber](https://laravel.com/docs/13.x/middleware)).

### Apa perbedaan middleware dan API?

API adalah kontrak komunikasi antar software. Middleware adalah lapisan yang menjalankan, meneruskan, atau mengelola komunikasi tersebut. API gateway adalah contoh middleware yang mengelola lalu lintas API.

### Apakah middleware termasuk backend?

Middleware framework berjalan di sisi server, sehingga termasuk bagian backend aplikasi. Middleware integrasi seperti message broker atau iPaaS berdiri sebagai lapisan terpisah di antara beberapa backend.

### Apa fungsi middleware dalam keamanan aplikasi?

Middleware dapat memeriksa autentikasi, membatasi request, dan mengamankan jalur komunikasi. Namun tim Next.js menyarankan agar middleware tidak menjadi satu-satunya pelindung route ([sumber](https://nextjs.org/blog/cve-2025-29927)). Hak akses tetap perlu dicek di backend.

## Butuh Integrasi yang Rapi Antar Aplikasi Bisnis?

Jika data pesanan, stok, pelanggan, dan keuangan Anda tersebar di beberapa aplikasi yang belum saling terhubung, tim CDS bisa membantu memetakan alur datanya lebih dulu, lalu memilih pendekatan yang sesuai: API langsung, webhook, atau lapisan middleware. Diskusikan kebutuhan Anda lewat halaman [jasa pembuatan software custom](/services/software) atau mulai dari [konsultasi arsitektur IT](/services/consulting).


---

*Markdown version of https://www.ciptadusa.com/blog/middleware-adalah — generated for AI agents and LLM crawlers.*
