Nama : Bintang Dwi Anggara
Kelas : X-RPL
CODE NYA :
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>table tr td, table tr th {border: 1px solid;text-align: center;}button {margin: 0 auto;display: block;}.berat {border-color: black;animation: beratAnimation 1s ease 0s infinite alternate;}@keyframes beratAnimation {0% {background-color: rgb(255, 114, 114); color: white;}100% {background-color: red; color: white;}}</style></head><body><form ><label>Nama Buah:</label><input style="margin-bottom: 1px;" type="text" id="namaBuah"> <br><label style="margin-right: 41px;">Berat:</label><input type="number" id="beratBuah" min="0"><span>kg</span> <br><button style="margin: 1px 0 0 84px;" onclick="saveFruit()">Simpan</button><hr><table id="tableBuah"><tr><th width="35px">No</th><th width="160px">Nama Buah</th><th width="70px">Berat</th><th width="75px">Action</th></tr></table></form><script>// Simpan elemen dalam variabellet tableBuah = document.getElementById("tableBuah");let namaBuah = document.getElementById("namaBuah");let beratBuah = document.getElementById("beratBuah");// Function menyimpan data buahfunction saveFruit() {// Check jika input memiliki nilai/valueif ((namaBuah && namaBuah.value) && (beratBuah && beratBuah.value)) {event.preventDefault();// Buat element trlet tr = document.createElement("tr");// Buat variable untuk Nomor Urutlet nomorUrut = document.createTextNode(tableBuah.childElementCount);// Buat variable untuk Nama Buahlet addNamaBuah = document.createTextNode(namaBuah.value);// Buat variable untuk Berat Buahlet addBeratBuah = document.createTextNode(beratBuah.value + " kg");// Buat Tombol Resetlet deleteButton = document.createElement("button");deleteButton.textContent = "Hapus";// tambahkan attribute onclick untuk button dengan function deleteFruit// 'this' mengambil elemen (button) bila function dipanggil sebagai parameterdeleteButton.setAttribute("onclick", "deleteFruit(this)");// Buat array agar bisa di iterasi for loopslet tableDataArray = [nomorUrut,addNamaBuah,addBeratBuah,deleteButton];// for loops appendChild setiap data di array ke dalam tdfor (let i = 0; i < tableDataArray.length; i++) {let td = document.createElement("td");td.appendChild(tableDataArray[i]);// check jika berat di atas 5, dan apakah index sedang berada di addBeratBuahif (Number(beratBuah.value) > 5 && i == tableDataArray.indexOf(addBeratBuah)) {td.classList.add("berat");}tr.appendChild(td);tableBuah.appendChild(tr);}}// Jika tidak ada nilai di input, berikan alertelse {window.alert("Masukan Input")}}// function untuk menghapus buahfunction deleteFruit(button) {// mencari elemen 'tr' yang terdekat dari elemen buttonlet tableButtonRow = button.closest("tr");if (tableButtonRow) { // jika true...tableBuah.removeChild(tableButtonRow);updateNomorUrut();}}// function update Nomor Urutfunction updateNomorUrut() {let rows = tableBuah.getElementsByTagName('tr');for (let i = 0; i < rows.length; i++) {// check setiap row (ditambah satu karena index 0 merupakan head)// check children pertamanya (column pertama)// tambahkan text content dengan index + 1rows[i + 1].children[0].textContent = i + 1;}}</script></body></html>
HASILNYA :
1. Struktur Dasar HTML
Kode HTML yang pertama mendefinisikan struktur dasar dokumen. Dengan menggunakan tag <form>, kita membuat formulir untuk memasukkan data buah seperti nama dan berat. Informasi ini kemudian dapat disimpan dan ditampilkan.
<!DOCTYPE html> <html lang="en"> <head> <!-- Meta tags dan judul dokumen --> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Penyimpanan Data Buah</title> <!-- Style untuk tata letak dan animasi --> <style> /* Style untuk tabel dan tombol */ /* ... (diberikan dalam kode) ... */ </style> </head> <body> <!-- Formulir input dan tabel untuk menampilkan data --> <!-- ... (diberikan dalam kode) ... --> <!-- Script JavaScript untuk logika aplikasi --> <script> // ... (diberikan dalam kode) ... </script> </body> </html>
2. Formulir Input
Formulir input menggunakan elemen <form> dan menyediakan kolom untuk memasukkan nama buah dan beratnya. Tombol "Simpan" diprogram untuk menyimpan data buah ke dalam tabel.
fungsi dan Kegunaan:Input Fields: Menyediakan input untuk nama buah dan beratnya.
<button>: Tombol "Simpan" yang, ketika diklik, memanggil fungsi saveFruit() untuk menyimpan data buah.
<button>: Tombol "Simpan" yang, ketika diklik, memanggil fungsi saveFruit() untuk menyimpan data buah.
<form> <label>Nama Buah:</label> <input type="text" id="namaBuah"> <br> <label>Berat:</label> <input type="number" id="beratBuah" min="0"> <span>kg</span> <br> <button onclick="saveFruit()">Simpan</button> <!-- ... (diberikan dalam kode) ... --> </form>
3. Tabel Penyimpanan Data Buah
Tabel digunakan untuk menampilkan data buah yang telah dimasukkan. Setiap baris tabel memiliki nomor urut, nama buah, berat, dan tombol "Hapus" untuk menghapus data buah tertentu.
4.Variabel dan Element HTML
Tabel digunakan untuk menampilkan data buah yang telah dimasukkan. Setiap baris tabel memiliki nomor urut, nama buah, berat, dan tombol "Hapus" untuk menghapus data buah tertentu.
<table id="tableBuah"> <tr> <th>No</th> <th>Nama Buah</th> <th>Berat</th> <th>Action</th> </tr> </table>
Fungsi dan Kegunaan:tableBuah: Menyimpan referensi ke elemen tabel dengan id "tableBuah".
namaBuah dan beratBuah: Menyimpan referensi ke elemen input dengan id "namaBuah" dan "beratBuah" untuk mendapatkan nilai yang dimasukkan pengguna.
namaBuah dan beratBuah: Menyimpan referensi ke elemen input dengan id "namaBuah" dan "beratBuah" untuk mendapatkan nilai yang dimasukkan pengguna.
let tableBuah = document.getElementById("tableBuah"); let namaBuah = document.getElementById("namaBuah"); let beratBuah = document.getElementById("beratBuah");
Fungsi dan Kegunaan:Validasi Input: Memeriksa apakah kedua input, namaBuah dan beratBuah, memiliki nilai atau tidak.
Membuat Elemen Baru: Jika valid, membuat elemen <tr> baru untuk menampilkan data buah di dalam tabel.
Memeriksa Berat: Jika berat buah di atas 5 kg, menambahkan kelas CSS "berat" untuk memberikan efek visual tertentu.
Menambahkan Data ke Tabel: Menambahkan elemen baru ke dalam tabel dengan nomor urut, nama buah, berat, dan tombol "Hapus".
Memanggil updateNomorUrut(): Untuk memastikan nomor urut di tabel diperbarui.
Membuat Elemen Baru: Jika valid, membuat elemen <tr> baru untuk menampilkan data buah di dalam tabel.
Memeriksa Berat: Jika berat buah di atas 5 kg, menambahkan kelas CSS "berat" untuk memberikan efek visual tertentu.
Menambahkan Data ke Tabel: Menambahkan elemen baru ke dalam tabel dengan nomor urut, nama buah, berat, dan tombol "Hapus".
Memanggil updateNomorUrut(): Untuk memastikan nomor urut di tabel diperbarui.
function saveFruit() { // ... (diberikan dalam kode) ... }
6. Fungsi deleteFruit(button)
Menghapus Baris Tabel: Menghapus baris tabel yang sesuai dengan tombol "Hapus" yang diklik.
Memanggil updateNomorUrut(): Untuk memastikan nomor urut di tabel diperbarui setelah penghapusan
Memanggil updateNomorUrut(): Untuk memastikan nomor urut di tabel diperbarui setelah penghapusan
function deleteFruit(button) { // ... (diberikan dalam kode) ... }
Memperbarui Nomor Urut: Mengubah nomor urut di kolom pertama setiap baris tabel setelah penghapusan.
function updateNomorUrut() { // ... (diberikan dalam kode) ... }
terimakasih :)


Tidak ada komentar:
Posting Komentar