Form Validasi Vaksinasi Mahasiswa
Nama : Jonathan Leonardo Hasiholan Simanjuntak
NRP : 05111940000150
Kelas : Pemrograman Web A 2021
NRP : 05111940000150
Kelas : Pemrograman Web A 2021
Pada pertemuan keenam kelas PWEB A, kami diberikan tugas untuk mengembangkan sebuah website form validasi vaksinasi mahasiswa dengan memanfaatkan penggunaan Javascript. Disini, kami diminta untuk memvalidasi data - data yang dimasukkan pada form yang telah kami buat, baik itu kelengkapan ataupun format dari datanya. Setelah website berhasil di susun secara lokal, website yang kita susun tersebut juga akan di hosting-kan. Pada tugas ini, hosting website dilakukan menggunakan Github Pages. Websitenya sendiri, dapat diakses lewat link ini.
Berikut adalah tampilan hasil websitenya :
- Tampilan Isian Form Validasi Vaksinasi Mahasiswa
- Tampilan Isian Form Sukses Disimpan
Source Code
Untuk source code dari webnya, masing - masing halaman tampilan source code HTML-nya saya pisahkan. Untuk styling template halaman, saya masukkan kedalam style.css. Selain metode external style sheet, untuk styling khusus tertentu pada suatu elemen, digunakan metode inline style. Untuk melengkapi tema yang saya buat, saya juga menggunakan library CSS Bootstrap, tepatnya Bootstrap 4.4.1. Sedangkan untuk logical-nya, saya masukkan ke dalam main.js. Berikut source code dari website tersebut :
- index.htmlThis file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Form Validasi Vaksinasi Mahasiswa</title> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"> <link rel="stylesheet" href="./contents/style.css"> <script src="./contents/main.js"></script> </head> <body> <header> <img src="images/sso.png" alt="gambar"> </header> <div class="formContainer" style="margin-top: 80px; margin-bottom: 80px"> <h1 style="margin-bottom: 40px;">Form Validasi Vaksinasi Mahasiswa</h1> <div class="container"> <form id="formMahasiswa" autocomplete="off"> <div class="form-group"> <label>Nama</label> <input type="text" name="nama" placeholder="Nama Lengkap Mahasiswa" class="form-control" minlength="3" maxlength="40"> </div> <div class="form-group"> <label>NRP</label> <input type="text" name="nrp" placeholder="NRP Mahasiswa" class="form-control" minlength="10" maxlength="16"> </div> <div class="form-group"> <label>Domisili</label> <input type="text" name="domisili" placeholder="Domisili Mahasiswa Saat Ini" class="form-control" minlength="1"> </div> <div class="form-group"> <label>Email</label> <input type="email" name="email" placeholder="Email Aktif Mahasiswa" class="form-control"> </div> <div class="form-group"> <label>Jurusan</label> <select name="jurusan" class="form-control"> <option value="0">Pilih Jurusan Mahasiswa</option> <option value="1">Fisika</option> <option value="2">Matematika</option> <option value="3">Statistika</option> <option value="4">Kimia</option> <option value="5">Biologi</option> <option value="6">Aktuaria</option> <option value="7">Teknik Perkapalan</option> <option value="8">Teknik Sistem Perkapalan</option> <option value="9">Teknik Kelautan</option> <option value="10">Teknik Transportasi Laut</option> <option value="11">Teknik Mesin</option> <option value="12">Teknik Kimia</option> <option value="13">Teknik Fisika</option> <option value="14">Teknik Sistem dan Industri</option> <option value="15">Teknik Material</option> <option value="16">Teknik Elektro</option> <option value="17">Teknik Biomedik</option> <option value="18">Teknik Komputer</option> <option value="19">Teknik Informatika</option> <option value="20">Sistem Informasi</option> <option value="21">Teknologi Informasi</option> <option value="22">Teknik Sipil</option> <option value="23">Arsitektur</option> <option value="24">Teknik Lingkungan</option> <option value="25">Perencanaan Wilayah dan Kota</option> <option value="26">Teknik Geomatika</option> <option value="27">Teknik Geofisika</option> <option value="28">Desain Produk Industri</option> <option value="29">Desain Interior</option> <option value="30">Desain Komunikasi Visual</option>/ <option value="31">Manajemen Bisnis</option> <option value="32">Studi Pembangunan</option> <option value="33">Manajemen Teknologi</option> </select> </div> <div class="form-group"> <label>Status Vaksinasi</label><br> <input type="radio" name="vaksin" value="1"> Belum Vaksin<br> <input type="radio" name="vaksin" value="2"> Dosis-1<br> <input type="radio" name="vaksin" value="3"> Dosis-2<br> </div> <button type="button" class="btn btn-primary" onclick="submitForm()" style="margin-top: 20px;">Submit</button> </form> </div> </div> <footer> <h6>© All Rights Reserved.</h6> </footer> </body> </html> - success.htmlThis file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Berhasil</title> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"> <link rel="stylesheet" href="../contents/style.css"> <script src="../contents/main.js"></script> </head> <body> <header> <img src="../images/sso.png" alt="gambar"> </header> <div class="formContainer" style="margin-top: auto; margin-bottom: auto;"> <h1>Data Berhasil Ditambahkan</h1> <br><br> <a href="../index.html"><p id="prevLink">[Kembali ke menu sebelumnya]</p></a> </div> <footer> <h6>© All Rights Reserved.</h6> </footer> </body> </html> - style.cssThis file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
.formContainer { margin-right: auto; margin-left: auto; width: 1000px; background-color: #f2f5f5; border-radius: 20px; height: auto; padding: 70px; } body { min-height: 100vh; display: flex; flex-direction: column; } h1 { text-align: center; font-family: Arial; font-weight: bolder; color: #013880; } header { background-color: #013880; } header img { margin-bottom: 20px; margin-top: 20px; margin-left: 60px; } footer { background-color: #013880; margin-top: auto; display: flex; flex-direction: column; } footer h6 { text-align: center; padding-top: 30px; padding-bottom: 30px; color: whitesmoke; font-family: Georgia; font-weight: bold; } .btn-primary { font-weight: 400; color: whitesmoke; background-color: #013880; border-color: #013880; } .btn-primary:hover { color: whitesmoke; background-color: #f39c12; border-color: #f39c12; } label { font-weight: bolder; } .form-group { margin: 5px 0px 15px 0px; } #prevLink { text-align: center; font-family: Arial; font-weight: 400; color: #013880; } - main.jsThis file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
function submitForm(){ if (validateForm()) { if(confirm("Apakah anda sudah yakin?")){ window.location.href = "./contents/success.html"; } } } function validateForm() { if (document.forms["formMahasiswa"]["nama"].value == "") { alert("Nama Tidak Boleh Kosong"); document.forms["formMahasiswa"]["nama"].focus(); return false; } if (document.forms["formMahasiswa"]["nrp"].value == "") { alert("NRP Tidak Boleh Kosong"); document.forms["formMahasiswa"]["nrp"].focus(); return false; } else if (isNaN(document.forms["formMahasiswa"]["nrp"].value)) { alert("NRP Harus Berupa Angka"); document.forms["formMahasiswa"]["nrp"].focus(); return false; } if (document.forms["formMahasiswa"]["domisili"].value == "") { alert("Domisili Tidak Boleh Kosong"); document.forms["formMahasiswa"]["domisili"].focus(); return false; } if (document.forms["formMahasiswa"]["email"].value == "") { alert("Email Tidak Boleh Kosong"); document.forms["formMahasiswa"]["email"].focus(); return false; } if(document.forms["formMahasiswa"]["email"].value.indexOf("@") == -1){ alert("Pastikan format email yang dimasukkan sudah benar."); document.forms["formMahasiswa"]["email"].focus(); return false; } if(document.forms["formMahasiswa"]["email"].value.indexOf(".") == -1){ alert("Pastikan format email yang dimasukkan sudah benar."); document.forms["formMahasiswa"]["email"].focus(); return false; } if (document.forms["formMahasiswa"]["jurusan"].selectedIndex < 1) { alert("Anda Belum Memilih Jurusan."); document.forms["formMahasiswa"]["jurusan"].focus(); return false; } if (document.forms["formMahasiswa"]["vaksin"].value < 1) { alert("Anda Belum Memilih Status Vaksinasi."); document.forms["formMahasiswa"]["vaksin"].focus(); return false; } return true; }
Sekian pengerjaan tugas yang telah saya lakukan. Mohon maaf apabila terdapat kesalahan atau kekurangan pada pekerjaan saya. Terima kasih atas perhatiannya.
Komentar
Posting Komentar