Skip to main content

EAS MPPL - Demo dan Dokumentasi EAS

 EAS MPPL 2021 Pada kesempatan ini kelompok kami akan menjelaskan salah satu produk perangkat lunak milik Zoho yaitu Zoho Marketing Automation yang dikerjakan secara berkelompok yang beranggotakan: Ricky Supriyanto 05111940000036 Arvel Gavrilla R 05111940000040 M Arif Faizin 05111940000060 Zulfiqar Fauzul Akbar 05111940000101 Raihan Alifianto 05111940000213 Dengan hasil sebagai berikut 1. Deskripsi Produk 2. Manajemen Ruang Lingkup 3. Manajemen Waktu 4. Manajemen Biaya 5. Manajemen Resiko 6. Video demo

Tugas 5 PWEB - Membuat Validasi Form dengan Javascript

 

Pada postingan ini, saya akan menjelaskan tentang bagaimana membuat validasi dalam form menggunakan Javascript.

Berikut adalah link live website terebut Link

Sebelumnya, kode ini menggunakan Framework Bootstrap untuk mempercepat pembuatan tampilan website. Dalam website ini, ada beberapa kolom yang harus divalidasi, sebagai berikut :

  1. Nama, harus diisi
  2. NRP, harus diisi, harus memiliki panjang antara 10-14 karakter, dan semuanya merupakan angka
  3. Kota Domisili, harus diisi
  4. Jurusan, harus diisi
  5. Email, harus diisi, harus berformat seperti email
  6. Status Vaksin, harus diisi
  7. Persetujuan, harus diisi

Langsung saja, untuk kode index.html nya adalah sebagai berikut

<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>Validasi Form menggunakan JavaScript</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<script src="/index.js"></script>
</head>
<body>
<section class="container p-4 flex-column min-vh-100 d-flex align-items-center justify-content-center">
<h1>Formulir Persetujuan Kuliah Tatap Muka</h1>
<form id="tatapmuka" class="w-100" style="max-width: 50rem;" name="tatapmuka" onsubmit="return validateForm();">
<div class="row">
<div class="col-md-6">
<div class="mb-3">
<label for="inputName" class="form-label">Nama</label>
<input type="text" class="form-control" id="inputName" required>
</div>
</div>
<div class="col-md-6">
<div class="mb-3">
<label for="inputNRP" class="form-label">NRP</label>
<input type="text" class="form-control" id="inputNRP" required minlength="10" maxlength="14">
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="mb-3">
<label for="inputDomisili" class="form-label">Kota Domisili</label>
<input type="text" class="form-control" id="inputDomisili" required>
</div>
</div>
<div class="col-md-6">
<div class="mb-3">
<label for="inputJurusan" class="form-label">Jurusan</label>
<input type="text" class="form-control" id="inputJurusan" required>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="mb-3">
<label for="inputEmail" class="form-label">Email</label>
<input type="email" class="form-control" id="inputEmail" required>
</div>
</div>
<div class="col-md-6">
<div class="mb-3">
<label for="selectVaksin" class="form-label">Status Vaksin</label>
<select class="form-select" aria-label="Select Vaksin" id="selectVaksin" required>
<option selected disabled>pilih salah satu</option>
<option value="1">Belum Vaksin</option>
<option value="2">Sudah Vaksin Dosis Ke-1</option>
<option value="3">Sudah Vaksin Dosis Ke-2</option>
</select>
</div>
</div>
</div>
<div class="row">
<div class="col">
<div class="mb-3">
<label for="selectSetuju" class="form-label">Dengan ini saya menyatakan setuju mengikuti
kegiatan tatap muka</label>
<select class="form-select" aria-label="Select Setuju" id="selectSetuju" required>
<option selected disabled>pilih salah satu</option>
<option value="1">Setuju</option>
<option value="2">Tidak Setuju</option>
</select>
</div>
</div>
</div>
<button id="btnSubmit" type="submit" class="btn btn-primary">Submit</button>
</form>
</section>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js"
integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM"
crossorigin="anonymous"></script>
</body>
</html>
view raw index.html hosted with ❤ by GitHub

Kemudian fungsi javascript dijelaskan sebagai berikut

const btnSubmit = document.getElementById("btnSubmit");
const inputName = document.getElementById("inputName");
const inputNRP = document.getElementById("inputNRP");
const inputDomisili = document.getElementById("inputDomisili");
const inputJurusan = document.getElementById("inputJurusan");
const inputEmail = document.getElementById("inputEmail");
const selectVaksin = document.getElementById("selectVaksin");
const selectSetuju = document.getElementById("selectSetuju");
function isArrayOfNumber(string) {
let length = string.length;
for (let i = 0; i < length; i++) {
if (isNaN(parseInt(string[i]))) {
return false;
}
}
return true;
}
function validateForm() {
if (inputName.length = 0) {
window.alert("Kolom Nama masih kosong!");
return false;
}
if (inputNRP.length = 0) {
window.alert("Kolom NRP masih kosong!");
return false;
} else if (isArrayOfNumber(inputNRP.value) === false) {
window.alert("Kolom NRP tidak valid!");
return false;
}
if (inputDomisili.length = 0) {
window.alert("Kolom Domisili masih kosong!");
return false;
}
if (inputJurusan.length = 0) {
window.alert("Kolom Jurusan masih kosong!");
return false;
}
if (inputEmail.length = 0) {
window.alert("Kolom Email masih kosong!");
return false;
}
if (selectVaksin.selectedIndex < 1) {
window.alert("Kolom Status Vaksin masih belum diisi!");
return false;
}
if (selectSetuju.selectedIndex < 1) {
window.alert("Kolom Persetujuan masih belum diisi!");
return false;
}
return true;
}
view raw index.js hosted with ❤ by GitHub

Berikut tampilan ketika ada kolom yang tidak terisi

 

Berikut tampilan ketika kolom NRP tidak memenuhi 10-14 karakter

 

Berikut tampilan ketika kolom NRP tidak valid

 

Berikut tampilan ketika kolom Email tidak berformat email

Sekian postingan ini, semoga bermanfaat


Comments

Popular posts from this blog

Tugas 1 PBKK - Portofolio Aplikasi Framework

Berikut beberapa aplikasi yang pernah dibuat menggunakan bantuan framework : Kulturan Link Website Kulturan merupakan aplikasi berbasis website yang dapat digunakan oleh pekerja seni, drama, dan tari untuk mempromosikan serta memperjualbelikan karyanya secara online. Pengguna dapat membeli hasil karya pekerja seni berupa hasil pementasan atau pertunjukkan seniman di Indonesia. Framework : ReactJS, ExpressJS, Node.js dan Material UI Screenshot tampilan :  Medify.id Link Website Medify.id merupakan salah satu aplikasi berbasis website yang merupakan website dari perusahaan Medify. Website ini menyediakan informasi-informasi penting serta fitur-fitur yang ditawarkan oleh Medify. Framework : Bootstrap, Laravel 8 Screenshot tampilan : Presto Link Website Presto merupakan aplikasi berbasis website yang berisi daftar restoran terdekat beserta detailnya. Dalam website ini, pengguna juga bisa berkomentar di masing-masing restoran, dan juga menambahkan restoran ke dalam daftar favoritnya. Fr...

EAS PWEB - Pemrograman Web

  Pada postingan ini, saya akan menjelaskan hasil pengerjaan EAS yang telah saya kerjakan   Dan berikut adalah hasil desain rancangan prototipe dari aplikasi yang akan dibuat

Tugas 9 PBKK - Laravel : Membuat Landing Page

Pada postingan kali ini, akan membahas membuat landing page menggunakan Laravel 8. Pada postingan ini saya akan mencoba membuat Landing Page dari Dicoding Indonesia ( dicoding.com ) dengan tampilan yang berbeda. Langsung saja ikuti langkah-langkah berikut: Pertama, buat sebuah view baru pada resources/views/ dengan nama homepage.blade.php lalu isi dengan kode berikut: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 <!DOCTYPE html> <html lang= "{{ str_replace('_', '-', app()->getLocale()) }}" > <head> <meta charset= "utf-8" > <meta name= "viewport" content= "width=device-width, initial-scale=1" > <title> Dicoding - Bangun Karirmu sebagai Developer Profesional </title> <!-- Fonts --> <link href= "https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700&display=swap" r...