WEBLEB
Inicio
Editora de código
Iniciar sesión
Pro
Español
English
Français
Español
Português
Deutsch
Italiano
हिंदी
Sitio web responsivo de datos de estudiantes
998
securearray365
Abrir en el editor
Publica tu código
Recomendado
17 July 2025
Formulario de registro de inicio de sesión giratorio 3D HTML CSS
19 July 2025
Fragmento HTML de animación de texto 3D
10 December 2024
Un código de staticbug455
HTML
Copy
Data Mahasiswa
Data Mahasiswa
Tambah
Nama
Umur
Jurusan
Aksi
CSS
Copy
/* Reset default margin dan padding */ * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Arial', sans-serif; background-color: #fff4e1; /* Batik-like background color */ background-image: url('/img/Download\ Traditional\ Indonesian\ Batik\ Background\ Template\ for\ free.jpeg'); /* Background batik pattern */ background-size: cover; background-position: center; color: #333; } /* Container utama */ .container { width: 80%; margin: 40px auto; padding: 20px; background-color: rgba(255, 255, 255, 0.8); /* Semi-transparent white */ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); border-radius: 8px; } /* Styling judul */ h1 { text-align: center; margin-bottom: 20px; color: #9c5f2f; /* Batik brown color */ } /* Form input data */ .form-group { display: flex; gap: 10px; margin-bottom: 20px; justify-content: center; } .form-group input { padding: 10px; width: 200px; border: 1px solid #9c5f2f; border-radius: 4px; outline: none; } .form-group input:focus { border-color: #de8d45; /* Lighter brown color on focus */ } .btn { padding: 10px 20px; background-color: #8b4513; /* Dark batik brown */ color: white; border: none; border-radius: 4px; cursor: pointer; } .btn:hover { background-color: #de8d45; /* Lighter brown color */ } /* Search bar */ .search-bar { text-align: center; margin-bottom: 20px; } #search { padding: 10px; width: 50%; border: 1px solid #9c5f2f; border-radius: 4px; outline: none; } #search:focus { border-color: #de8d45; /* Lighter brown color */ } /* Tabel untuk data mahasiswa */ table { width: 100%; border-collapse: collapse; margin-top: 20px; } th, td { padding: 12px; text-align: left; } th { background-color: #8b4513; /* Dark batik brown */ color: white; } tr:nth-child(even) { background-color: #f9f9f9; } td button { padding: 5px 10px; margin-right: 5px; cursor: pointer; } .edit-btn { background-color: #ffbf00; /* Yellow batik */ } .delete-btn { background-color: #dc3545; /* Red color */ } .edit-btn:hover { background-color: #e0a800; /* Dark yellow on hover */ } .delete-btn:hover { background-color: #c82333; /* Dark red on hover */ } /* Media query untuk responsif */ @media screen and (max-width: 768px) { .form-group { flex-direction: column; } #search { width: 100%; } }
JS
Copy
// Class Mahasiswa untuk OOP class Mahasiswa { constructor(nama, umur, jurusan) { this.nama = nama; this.umur = umur; this.jurusan = jurusan; } } $(document).ready(function () { // Mengambil data mahasiswa dari Local Storage let mahasiswaData = JSON.parse(localStorage.getItem("mahasiswa")) || []; // Fungsi untuk menampilkan data mahasiswa function renderData() { $("#mahasiswa-list").empty(); mahasiswaData.forEach((mhs, index) => { $("#mahasiswa-list").append(` <tr> <td>${mhs.nama}</td> <td>${mhs.umur}</td> <td>${mhs.jurusan}</td> <td> <button class="edit-btn" data-index="${index}">Edit</button> <button class="delete-btn" data-index="${index}">Hapus</button> </td> </tr> `); }); } // Menambah mahasiswa baru $("#tambah").click(function () { const nama = $("#nama").val(); const umur = $("#umur").val(); const jurusan = $("#jurusan").val(); if (nama && umur && jurusan) { const newMahasiswa = new Mahasiswa(nama, umur, jurusan); mahasiswaData.push(newMahasiswa); localStorage.setItem("mahasiswa", JSON.stringify(mahasiswaData)); renderData(); $("#nama").val(""); $("#umur").val(""); $("#jurusan").val(""); } else { alert("Semua field harus diisi!"); } }); // Edit data mahasiswa $(document).on("click", ".edit-btn", function () { const index = $(this).data("index"); const mhs = mahasiswaData[index]; $("#nama").val(mhs.nama); $("#umur").val(mhs.umur); $("#jurusan").val(mhs.jurusan); mahasiswaData.splice(index, 1); // Hapus sementara untuk update localStorage.setItem("mahasiswa", JSON.stringify(mahasiswaData)); }); // Hapus data mahasiswa $(document).on("click", ".delete-btn", function () { const index = $(this).data("index"); mahasiswaData.splice(index, 1); localStorage.setItem("mahasiswa", JSON.stringify(mahasiswaData)); renderData(); }); // Search mahasiswa $("#search").keyup(function () { const searchTerm = $(this).val().toLowerCase(); const filteredData = mahasiswaData.filter(mhs => mhs.nama.toLowerCase().includes(searchTerm) || mhs.umur.toString().includes(searchTerm) || mhs.jurusan.toLowerCase().includes(searchTerm) ); $("#mahasiswa-list").empty(); filteredData.forEach((mhs, index) => { $("#mahasiswa-list").append(` <tr> <td>${mhs.nama}</td> <td>${mhs.umur}</td> <td>${mhs.jurusan}</td> <td> <button class="edit-btn" data-index="${index}">Edit</button> <button class="delete-btn" data-index="${index}">Hapus</button> </td> </tr> `); }); }); // Render data awal renderData(); });