Cara Membuat Tabel Dinamis dengan Tombol Navigasi Menggunakan JavaScript


Tabel adalah salah satu elemen HTML yang paling umum digunakan untuk menampilkan data secara terstruktur. Namun, jika data dalam tabel terlalu banyak, dapat menjadi sulit bagi pengguna untuk mencari informasi yang mereka butuhkan. Oleh karena itu, pada artikel ini akan dijelaskan cara membuat tabel dinamis dengan tombol navigasi menggunakan JavaScript.

JavaScript adalah bahasa pemrograman yang populer digunakan dalam pembuatan website modern. Dalam pembuatan tabel dinamis, kita dapat memanfaatkan kemampuan JavaScript untuk membuat tombol navigasi yang dapat digunakan untuk mengakses halaman tabel yang berbeda. Kita dapat menggunakan perintah seperti getElementById dan createElement untuk membuat tabel dinamis dengan tombol navigasi yang responsif dan mudah diakses oleh pengguna.

Penggunaan tabel dinamis dengan tombol navigasi pada website memberikan banyak keuntungan. Pertama, pengguna dapat memanipulasi data dengan lebih mudah dan interaktif. Kedua, tampilan yang menarik dan interaktif pada tabel dinamis dengan tombol navigasi dapat meningkatkan user experience (UX) dan kepuasan pengguna. Terakhir, penggunaan tabel dinamis dengan tombol navigasi juga dapat meningkatkan efisiensi pengguna dalam mengakses informasi dan data pada website. Oleh karena itu, tabel dinamis dengan tombol navigasi sangat cocok digunakan pada website yang memiliki data yang kompleks dan banyak.



Langkah-langkah membuat tabel dinamis dengan tombol navigasi


Berikut adalah langkah-langkah membuat tabel dinamis dengan tombol navigasi menggunakan JavaScript:

1. Buat elemen HTML


Buat elemen HTML untuk menampilkan tabel dan tombol navigasi. Dalam contoh kode program ini, tabel dan tombol navigasi ditempatkan di dalam elemen "scroll" dan "pagination".

<div class="scroll">
  <table>
    <thead>
      <tr>
        <th>No.</th>
        <th>Script Name</th>
        <th>Author</th>
        <th>Date</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>1</td>
        <td>scdeface-1</td>
        <td>anonymous</td>
        <td>2021-01-01</td>
      </tr>
    </tbody>
  </table>
</div>

<div class="pagination">
  <button class="prev disabled">Prev</button>
  <button class="next">Next</button>
</div>

Kode HTML di atas adalah sebuah struktur dasar dari sebuah halaman web sederhana. Berikut ini adalah penjelasan dari setiap elemen HTML yang digunakan dalam kode tersebut:

<!DOCTYPE html>

Ini adalah deklarasi tipe dokumen.

<html lang="en">

Ini adalah tag awal dari sebuah dokumen HTML dan menandakan bahwa dokumen ini ditulis dalam bahasa Inggris.

<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>

Elemen <head> digunakan untuk menampung informasi tentang dokumen HTML, seperti judul halaman dan tag <meta> yang berisi metadata tentang halaman. Dalam kasus ini, ada tag <meta> yang menetapkan jenis karakter dokumen sebagai UTF-8 dan tag <title> yang menetapkan judul halaman.

<body>
  <h1>Hello World!</h1>
  <p>This is a simple web page.</p>
</body>

Elemen <body> berisi semua isi halaman web, seperti teks, gambar, dan elemen lainnya. Di sini, ada sebuah elemen <h1> yang menampilkan teks "Hello World!" sebagai judul utama halaman dan elemen <p> yang menampilkan teks "This is a simple web page." sebagai paragraf di bawahnya.

Semua elemen HTML dalam kode tersebut ditutup dengan tag penutup </...> yang sesuai.

2. Menambahkan Kode CSS


Tambahkan CSS untuk mengatur tampilan tabel dan tombol navigasi.

body {
    font-family: Helvetica, Arial, sans-serif;
}

center {
    text-align: center;
}

h1 {
    font-size: 36px;
    margin-bottom: 0;
}

h2 {
    font-size: 28px;
    margin-top: 0;
}

h3 {
    color: white;
    margin-top: 0;
}

hr {
    margin-top: 20px;
    margin-bottom: 20px;
}

.scroll {
    height: 300px;
    overflow: auto;
}

table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

th {
    background-color: #f2f2f2;
    text-align: left;
}

td,
th {
    padding: 8px;
    border: 1px solid #ddd;
}

.cari-media {
    width: 50%;
    padding: 12px 20px;
    margin: 8px 0;
    box-sizing: border-box;
    border: 2px solid #ccc;
    border-radius: 4px;
    background-color: #f8f8f8;
    font-size: 16px;
    background-image: url('https://cdn.icon-icons.com/icons2/1650/PNG/512/111155-zoom-icon_111245.png');
    background-position: 10px 10px;
    background-repeat: no-repeat;
    padding-left: 40px;
}

.cta {
    background-color: #1c1c1c;
    color: white;
    padding: 8px 16px;
    border-radius: 4px;
    border: none;
    cursor: pointer;
    font-size: 16px;
    margin-top: 20px;
}

.cta:hover {
    background-color: #333;
}

.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
}

.prev,
.next {
    background-color: #1c1c1c;
    color: white;
    padding: 8px 16px;
    border-radius: 4px;
    border: none;
    cursor: pointer;
    font-size: 16px;
    margin: 0 5px;
}

.prev:hover,
.next:hover {
    background-color: #333;
}

.disabled {
    opacity: 0.5;
    cursor: default;
}

@media screen and (max-width: 600px) {
.cari-media {
        width: 100%;
}

Kode CSS di atas berfungsi untuk menentukan tampilan atau style halaman HTML yang digunakan. Berikut adalah penjelasan dari setiap bagian kode CSS di atas:

  • body: mengatur font family yang digunakan pada halaman HTML.
  • center: mengatur tampilan text-align pada posisi center.
  • h1: mengatur tampilan font-size dan margin-bottom untuk judul level 1.
  • h2: mengatur tampilan font-size dan margin-top untuk judul level 2.
  • h3: mengatur tampilan warna text pada judul level 3.
  • hr: mengatur tampilan margin-top dan margin-bottom pada horizontal line.
  • .scroll: mengatur tampilan tinggi dan overflow pada div dengan class "scroll".
  • table: mengatur tampilan lebar, border-collapse dan margin-bottom pada tabel.
  • th: mengatur tampilan background-color dan text-align pada header tabel.
  • td, th: mengatur tampilan padding dan border pada cell tabel.
  • .cari-media: mengatur tampilan width, padding, margin, border, border-radius, background-color, font-size, background-image, background-position, dan padding-left pada input dengan class "cari-media".
  • .cta: mengatur tampilan background-color, color, padding, border-radius, border, cursor, font-size, dan margin-top pada tombol dengan class "cta".
  • .cta:hover: mengatur tampilan background-color pada tombol dengan class "cta" saat dihover.
  • .pagination: mengatur tampilan display, justify-content, align-items, dan margin-top pada div dengan class "pagination".
  • .prev, .next: mengatur tampilan background-color, color, padding, border-radius, border, cursor, font-size, dan margin pada tombol dengan class "prev" dan "next".
  • .prev:hover, .next:hover: mengatur tampilan background-color pada tombol dengan class "prev" dan "next" saat dihover.
  • .disabled: mengatur tampilan opacity dan cursor pada elemen dengan class "disabled".

3. Membuat Kode JavaScript


Kode JavaScript ini digunakan untuk membuat tabel dinamis dengan tombol navigasi berdasarkan data yang tersimpan dalam array scripts.

const prevButton = document.querySelector('.prev');
const nextButton = document.querySelector('.next');
	let currentPage = 1;
	const scriptsPerPage = 10;
	const scripts = ['scdeface-1', 'scdeface-2', 'scdeface-3', 'scdeface-4', 'scdeface-5', 'scdeface-6', 'scdeface-7', 'scdeface-8', 'scdeface-9', 'scdeface-10', 'scdeface-11', 'scdeface-12', 'scdeface-13', 'scdeface-14', 'scdeface-15', 'scdeface-16', 'scdeface-17', 'scdeface-18', 'scdeface-19', 'scdeface-20'];

	function displayScripts(start, end) {
		const table = document.querySelector('table tbody');
		table.innerHTML = '';
		for (let i = start; i < end; i++) {
			const script = scripts[i];
			const row = `<tr><td>${i+1}</td><td>${script}</td><td>anonymous</td><td>2021-01-01</td></tr>`;
			table.insertAdjacentHTML('beforeend', row);
		}
	}

	function updatePagination() {
		if (currentPage === 1) {
			prevButton.classList.add('disabled');
		} else {
			prevButton.classList.remove('disabled');
		}
		if (currentPage === Math.ceil(scripts.length / scriptsPerPage)) {
			nextButton.classList.add('disabled');
		} else {
			nextButton.classList.remove('disabled');
		}
	}

	displayScripts(0, scriptsPerPage);
	updatePagination();

	prevButton.addEventListener('click', () => {
		if (currentPage > 1) {
			currentPage--;
			const start = (currentPage - 1) * scriptsPerPage;
			const end = start + scriptsPerPage;
			displayScripts(start, end);
			updatePagination();
		}
	});

	nextButton.addEventListener('click', () => {
		if (currentPage < Math.ceil(scripts.length / scriptsPerPage)) {
			currentPage++;
			const start = (currentPage - 1) * scriptsPerPage;
			const end = start + scriptsPerPage;
			displayScripts(start, end);
			updatePagination();
		}
	});


Pertama-tama, kita mengambil elemen tombol prev dan next dengan menggunakan metode querySelector dan menyimpannya ke dalam variabel prevButton dan nextButton.

Kemudian kita menentukan nilai awal variabel currentPage dengan angka 1 dan variabel scriptsPerPage dengan angka 10. Selain itu, kita juga membuat array scripts yang berisi nama-nama skrip.

Fungsi displayScripts(start, end) bertanggung jawab untuk menampilkan baris tabel yang sesuai dengan halaman yang sedang ditampilkan. Fungsi ini dijalankan dengan parameter start dan end yang menentukan indeks dari array scripts yang akan ditampilkan di tabel. Di dalam fungsi ini, kita mengambil tabel dengan menggunakan querySelector dan menghapus semua baris yang ada di dalamnya dengan menggunakan innerHTML. Selanjutnya, kita menggunakan perulangan for untuk menampilkan baris tabel sebanyak scriptsPerPage baris, mulai dari indeks start hingga end. Setiap baris tabel yang ditampilkan terdiri dari nomor urut, nama skrip, nama pengguna, dan tanggal dibuat.

Fungsi updatePagination() bertanggung jawab untuk memperbarui tampilan tombol prev dan next sesuai dengan halaman yang sedang ditampilkan. Jika halaman pertama sedang ditampilkan, maka tombol prev akan dinonaktifkan dengan menambahkan kelas disabled. Jika halaman terakhir sedang ditampilkan, maka tombol next akan dinonaktifkan dengan cara yang sama.

Selanjutnya, kita memanggil fungsi displayScripts(0, scriptsPerPage) dan updatePagination() untuk menampilkan baris tabel dan memperbarui tampilan tombol prev dan next ketika halaman pertama dimuat.

Terakhir, kita menambahkan event listener ke tombol prev dan next untuk menangani klik pengguna. Jika tombol prev diklik, kita mengurangi nilai variabel currentPage dan memanggil kembali fungsi displayScripts() dan updatePagination() dengan indeks yang sesuai. Jika tombol next diklik, kita menambah nilai variabel currentPage dan memanggil kembali fungsi yang sama dengan indeks yang berbeda.

Semua kode JavaScript ini bekerja bersama-sama dengan kode HTML dan CSS yang telah dijelaskan sebelumnya untuk menciptakan tabel dinamis dengan tombol navigasi yang berfungsi.

Baik, sekarang kita bisa melanjutkan dengan menyelesaikan kode HTML untuk membuat tabel dinamis dan tombol navigasi.

Berikut adalah contoh kode HTML lengkap yang bisa kamu gunakan untuk membuat Tabel Dinamis dengan Fungsi Prev dan Next Menggunakan JavaScript:



Penjelasan kode program


Pertama, kode ini adalah untuk membuat tampilan halaman web HTML dan CSS yang mencakup tabel sederhana yang terdiri dari empat kolom dan satu baris sebagai header, dan satu baris sebagai isi tabel. Ada juga tombol navigasi "Prev" dan "Next" di bawah tabel.

Kode JavaScript yang terkait digunakan untuk menangani fungsi tombol navigasi. Fungsi ini memungkinkan pengguna untuk mengklik tombol "Next" dan "Prev" untuk mengganti halaman dan menampilkan data yang sesuai dalam tabel.

Ini adalah penjelasan untuk bagian HTML dan CSS:

  • <!DOCTYPE html> adalah deklarasi tipe dokumen untuk halaman web.
  • Dalam tag <html>, ada dua bagian utama dalam tag <head> dan <body>.
  • Tag <head> berisi informasi tentang halaman, seperti judul dan file CSS yang terkait.
  • Tag <body> adalah tempat semua konten halaman web ditampilkan.
  • Di dalam tag <body>, ada beberapa elemen HTML, seperti tag <center> yang digunakan untuk menengahkan judul halaman web.
  • Judul halaman web ditetapkan dengan tag <h1> dengan kelas "global-header".
  • Ada juga tag <div> dengan kelas "scroll" yang memungkinkan pengguna untuk melihat tabel yang lebih panjang dan tag <table> dengan kelas kosong yang menampilkan tabel data.
  • Baris header dalam tabel ditetapkan dengan tag <thead> dan baris isi ditetapkan dengan tag <tbody>.
  • Kolom header ditetapkan dengan tag <th> dan kolom isi ditetapkan dengan tag <td>.
  • Tag <style> digunakan untuk mengatur tampilan halaman web. CSS ini mengatur font dan beberapa elemen seperti ukuran dan warna.

Ini adalah penjelasan untuk bagian JavaScript:

  • Variabel prevButton dan nextButton mendapatkan elemen HTML tombol navigasi dari HTML.
  • Variabel currentPage digunakan untuk menunjukkan halaman saat ini.
  • Variabel scriptsPerPage digunakan untuk menunjukkan jumlah skrip yang akan ditampilkan dalam satu halaman.
  • Variabel scripts adalah daftar skrip deface palsu yang akan ditampilkan di tabel.
  • Fungsi displayScripts(start, end) mengambil dua argumen: start dan end. Ini mengambil skrip dari scripts dari indeks start hingga indeks end dan menambahkannya ke dalam tabel.
  • Fungsi updatePagination() memeriksa apakah pengguna berada di halaman pertama atau terakhir dan menentukan apakah tombol "Prev" atau "Next" harus dinonaktifkan. Ini juga memanggil fungsi displayScripts() untuk menampilkan skrip yang sesuai pada halaman saat ini.

Demikian penjelasan singkat untuk kode program yang Anda berikan. Semoga ini membantu Anda dalam menulis artikel yang berkualitas. Jangan lupa untuk memberikan penjelasan lebih rinci tentang tabel dan kode program yang digunakan dalam artikel Anda.

Setelah melalui langkah-langkah membuat tabel dinamis dengan tombol navigasi dan menambahkan CSS untuk mengatur tampilan tabel dan tombol navigasi, kita telah berhasil membuat sebuah halaman web yang memungkinkan pengguna untuk menavigasi tabel dengan mudah dan cepat. Dengan menggunakan teknologi HTML, CSS, dan JavaScript, kita dapat membuat halaman web yang interaktif dan responsif.

Melalui tutorial ini, kita telah belajar bagaimana cara membuat tabel dinamis dengan tombol navigasi menggunakan JavaScript dan bagaimana cara mengatur tampilan tabel dan tombol navigasi menggunakan CSS. Selain itu, kita juga telah mempelajari beberapa konsep dasar pemrograman JavaScript seperti variabel, fungsi, dan loop.

Dalam membuat sebuah halaman web yang interaktif dan responsif, kita harus memperhatikan beberapa aspek penting seperti pengaturan tata letak, pemilihan warna yang tepat, dan navigasi yang mudah dipahami oleh pengguna. Selain itu, kita juga harus memperhatikan faktor kecepatan loading halaman dan kompatibilitas dengan berbagai jenis perangkat.


Kesimpulan


Pada Tutorial ini, kita telah mempelajari bagaimana cara membuat sebuah halaman web yang interaktif dan responsif menggunakan teknologi HTML, CSS, dan JavaScript. Dengan memperhatikan berbagai aspek penting dalam desain web, kita dapat menciptakan sebuah halaman web yang menarik dan efektif untuk pengguna. Semoga tutorial ini bermanfaat bagi Anda yang ingin belajar membuat sebuah halaman web yang interaktif dan responsif.

Demikian posting kali tentang Cara Membuat Tabel Dinamis dengan Tombol Navigasi Menggunakan JavaScript. Semoga artikel ini bermanfaat dan dapat membantu Anda. Yuk share artikel ini untuk membantu teman-teman yang lain. Terima kasih!
Next Post Previous Post
No Comment
Add Comment
comment url