# Mengenal ExpressJs

Express.js didesain untuk memudahkan pembuatan aplikasi backend, dimana Express.js merupakan framework nodejs yang sangat populer. Express.js menyediakan struktur dan abstraksi yang memudahkan kita dalam menangani routing, middleware, dan tugas-tugas backend lainnya.

Untuk memahami cara kerja Express.js, ada beberapa konsep dasar yang perlu dipahami:

**1\. Routing:**  
Routing adalah mekanisme untuk menentukan bagaimana aplikasi akan merespon permintaan HTTP berdasarkan URL (endpoint) dan method HTTP (GET, POST, PUT, DELETE, dll.).

**2\. Middleware:**  
Middleware adalah fungsi yang memiliki akses untuk memodifikasi objek request (`req`) dan response (`res`) sebelum diteruskan ke fungsi handler selanjutnya. Middleware digunakan untuk menangani tugas-tugas umum seperti autentikasi, otorisasi, dan logging.

**3\. Request Object (**`req`):  
Objek `req` berisi informasi tentang permintaan HTTP dari client, seperti URL, method, header, dan body.

**4\. Response Object (**`res`):  
Objek `res` digunakan untuk mengirim respon HTTP ke client, seperti mengirim data JSON, mengatur header, dan kode status.

Untuk memulai membuat aplikasi dengan Express.js, pastikan Node.js dan npm sudah terinstal di komputer. Kemudian, kita bisa menginstall Express.js menggunakan npm dan membuat file JavaScript untuk menulis kode aplikasi.

Meskipun terbilang mudah dipelajari, Express.js menyediakan fleksibilitas dan berbagai fitur canggih untuk mengembangkan aplikasi web yang kompleks. Dengan komunitas yang besar dan dokumentasi yang lengkap, Express.js merupakan pilihan yang tepat untuk mengembangkan aplikasi web dengan Node.js.

Agar bisa mendapatkan sedikit pengalaman dengan ExpressJs, mari kita buat sebuah aplikasi sederhana untuk menampilkan random quotes.

### Persiapan Project

Sebelum mulai, kita perlu mempersiapkan beberapa hal, yaitu:

1. Buat sebuah folder baru untuk project API kita, katakan namanya adalah `random-quotes-app`.
    
2. Buka terminal dan arahkan ke direktori project tersebut.
    
3. Jalankan perintah `npm init -y` untuk menginisialisasi project nodejs dan secara automatis akan membuat file `package.json`.
    
4. Install Express.js dengan perintah `npm install express`.
    
5. Kemudian buat file `index.js` di root direktori project.
    

Sekarang, kita bisa mulai menuliskan kode di file `index.js`:

```javascript
const express = require('express');
const app = express();
const port = 3000;

const quotes = [
  { quote: "Jadilah manusia yang berguna bagi nusa dan bangsa.", from: "Bung Karno" },
  { quote: "Bukan tanah air yang membuat manusia, tetapi manusia yang membuat tanah air.", from: "Bung Karno" },
  { quote: "Kita harus berani bermimpi, tapi mimpi itu harus diwujudkan dengan kerja keras.", from: "Jenderal Sudirman" },
  { quote: "Belajarlah dari sejarah, agar kita tidak mengulang kesalahan yang sama.", from: "Bung Hatta" },
  { quote: "Sesungguhnya amal perbuatan itu tergantung niatnya.", from: "Buya Hamka" },
  { quote: "Islam itu agama fitrah, agama yang sesuai dengan kodrat manusia.", from: "Buya Hamka" },
  { quote: "Ilmu itu adalah harta yang paling berharga.", from: "Buya Hamka" }
];

app.get('/random-quote', (req, res) => {
  const randomIndex = Math.floor(Math.random() * quotes.length);
  const randomQuote = quotes[randomIndex];

  res.json(randomQuote);
});

app.listen(port, () => {
  console.log(`App berjalan di http://localhost:${port}`);
});
```

### Menjalankan API

Setelah semua kode tertulis, jalankan perintah `node index.js` di terminal. API kita akan berjalan di `http://localhost:3000`. Akses endpoint `/random-quotes` di browser atau Postman untuk mencoba API yang baru saja kita buat.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1726369639083/583a0d17-3c28-4611-a1aa-721fd3618906.png align="center")

Terima Kasih

\*Note: Artikel ini pertama kali saya publish di [**kodekoki.com**](http://kodekoki.com/)
