Next.js adalah framework React yang sangat populer dan digunakan oleh perusahaan besar seperti TikTok, Netflix, Github, dan Spotify. Dengan Next.js, developer bisa membuat website yang super cepat, SEO-friendly, dan gampang dikembangkan.

Jika kamu sudah mengenal React, maka Next.js akan terasa sangat menyenangkan dan membantu kerja jadi lebih cepat.

Di artikel ini kamu akan belajar Next.js dari nol:

  • Apa itu Next.js
  • Mengapa harus memakai Next.js
  • Cara instalasi
  • Struktur folder
  • Routing
  • Komponen & halaman
  • Styling (CSS, Tailwind)
  • Fetch data (server & client)
  • API Routes
  • Deploy

Penjelasannya dibuat super mudah untuk pemula. Mari mulai!


Apa Itu Next.js?

Next.js adalah framework berbasis React yang menambahkan fitur penting seperti:

  • Routing otomatis
  • Server-side rendering (SSR)
  • Static site generation (SSG)
  • API routes (backend kecil di dalam Next.js)
  • Optimasi gambar otomatis
  • SEO lebih bagus
  • Performa tinggi

Tidak seperti React biasa yang fokus pada “komponen”, Next.js fokus pada pembangunan aplikasi web lengkap dengan struktur lebih rapi.


Kenapa Harus Pakai Next.js?

Berikut alasan kenapa Next.js populer di dunia frontend:

✅ Routing otomatis, tidak perlu react-router

Buat file → langsung jadi halaman.

✅ SEO-friendly

Google bisa membaca website dengan lebih mudah karena SSR/SSG.

✅ Performa cepat

Next.js mengoptimalkan asset, gambar, caching, dan bundling.

✅ Ada backend kecil

Dengan API routes, kamu bisa membuat endpoint seperti:
/api/login atau /api/products.

✅ Cocok untuk project modern

Seperti dashboard, landing page, ecommerce, hingga SaaS.


Cara Install Next.js (Terbaru 2025)

Pastikan sudah menginstall Node.js.

Lalu jalankan:

npx create-next-app@latest

Next.js akan menanyakan:

✔ TypeScript? … Yes / No
✔ Tailwind CSS? … Yes / No
✔ App Router? … Yes / No (disarankan Yes)
✔ ESLint? ... Yes
✔ Import alias? ... Yes

Setelah selesai:

cd nama-project
npm run dev

Lalu buka:
http://localhost:3000

Next.js kamu siap digunakan!


Struktur Folder Next.js (App Router)

Jika kamu menggunakan App Router (direkomendasikan):

app/
  page.jsx
  layout.jsx
  about/
    page.jsx
public/
styles/

Penjelasan singkat:

  • page.jsx → halaman utama
  • layout.jsx → layout global, seperti header/footer
  • folder/about/page.jsx → otomatis menjadi /about
  • public → tempat gambar & asset statis
  • styles → CSS global

Routing di Next.js

Next.js memakai file-system routing, yaitu:

1 folder = 1 route

1 file page.jsx = 1 halaman

Contoh:

app/page.jsx → "/"
app/about/page.jsx → "/about"
app/blog/page.jsx → "/blog"

Tidak perlu react-router!


Membuat Halaman di Next.js

/app/page.jsx

export default function Home() {
  return (
    <h1>Selamat datang di Next.js!</h1>
  );
}

/app/about/page.jsx

export default function About() {
  return (
    <div>
      <h1>Tentang Kami</h1>
      <p>Ini adalah halaman About.</p>
    </div>
  );
}

Halaman langsung bisa diakses.


Layout di Next.js

Gunakan layout.jsx untuk header, footer, dan styling global.

/app/layout.jsx

export default function RootLayout({ children }) {
  return (
    <html lang="id">
      <body>
        <header>
          <h2>Header Next.js</h2>
        </header>

        {children}

        <footer>
          <p>© 2025 Next.js App</p>
        </footer>
      </body>
    </html>
  );
}

Styling di Next.js

Ada beberapa cara styling:


1. CSS Biasa

Buat file:

styles/global.css

Lalu import di layout.jsx:

import '../styles/global.css'

2. CSS Module

import styles from './home.module.css'

<p className={styles.title}>Halo</p>

3. Tailwind CSS (paling populer)

Pada instalasi create-next-app pilih “Yes” untuk Tailwind.

Lalu gunakan:

<h1 class="text-3xl font-bold">Hello Tailwind</h1>

Tailwind + Next.js adalah kombinasi paling modern.


Fetch Data di Next.js

Next.js punya dua metode:


1. Server Component (default)

Diproses di server.

Contoh fetch API:

export default async function Page() {
  const data = await fetch('https://jsonplaceholder.typicode.com/posts').then(res => res.json());

  return (
    <div>
      <h1>Daftar Post</h1>
      {data.map(post => (
        <p key={post.id}>{post.title}</p>
      ))}
    </div>
  );
}

2. Client Component

Jika butuh interaksi: klik, input, state.

Tambahkan:

'use client'

Contoh:

'use client'
import { useState } from "react";

export default function Counter() {
  const [angka, setAngka] = useState(0);

  return (
    <div>
      <h1>{angka}</h1>
      <button onClick={() => setAngka(angka + 1)}>Tambah</button>
    </div>
  );
}

API Routes (Backend di Next.js)

Next.js menyediakan backend kecil di folder:

/app/api

Contoh API sederhana:

/app/api/halo/route.js

export async function GET() {
  return Response.json({ pesan: "Halo dari API Next.js!" });
}

Akses via browser:

http://localhost:3000/api/halo

Dynamic Routing (URL Dinamis)

Untuk halaman seperti:

/blog/1
/blog/2

Buat folder dengan tanda kurung:

app/blog/[id]/page.jsx

Isi:

export default function BlogDetail({ params }) {
  return <h1>Blog ID: {params.id}</h1>;
}

Menggunakan Image Component

Next.js punya komponen gambar otomatis optimal:

import Image from 'next/image'

<Image src="/hero.png" width={400} height={300} alt="Hero" />

Gambar jadi lebih cepat & tidak pecah.


Deploy Next.js ke Internet

Cara paling mudah:

Deploy ke Vercel (Direkomendasikan)

Next.js dibuat oleh Vercel, jadi:

  • Gratis
  • Sangat cepat
  • Mudah

Langkah:

  1. push project ke GitHub
  2. buka https://vercel.com
  3. pilih “Import Project”
  4. pilih repo GitHub
  5. done, website langsung online

Sumber Belajar Next.js Terbaik

📘 Dokumentasi Resmi
https://nextjs.org/docs

📘 Next.js Learn (Tutorial Resmi Interaktif)
https://nextjs.org/learn

📘 YouTube – Web Programming UNPAS
Cari: “Belajar Next JS Dasar”

📘 YouTube – Traversy Media
Tutorial Next.js terbaik untuk pemula Inggris

📘 UI untuk Next.js – shadcn/ui
https://ui.shadcn.com


Kesimpulan

Next.js adalah framework React terbaik untuk membuat website modern. Dengan fitur seperti halaman otomatis, server-side rendering, optimasi bawaan, API routes, dan performa tinggi, Next.js menjadi pilihan utama developer di 2025.

Jika kamu ingin membangun:

  • Website cepat
  • Portfolio
  • Blog SEO-friendly
  • Dashboard
  • Ecommerce
  • Aplikasi SaaS

Maka Next.js adalah framework terbaik untuk memulai.