Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Slide DevCoach
Search
shabilla
April 11, 2024
35
0
Share
Slide DevCoach
DevCoach 128 : Front-End | Praktik Wajib Membangun Formulir dengan Baik
shabilla
April 11, 2024
More Decks by shabilla
See All by shabilla
Slide DevCoach #151
shabillarestu
0
59
Slide DevCoach
shabillarestu
0
62
Slide DevCoach
shabillarestu
0
34
Slide DevCoach
shabillarestu
0
30
Slide DevCoach
shabillarestu
0
35
Slide DevCoach
shabillarestu
0
23
Slide DevCoach
shabillarestu
0
36
Slide DevCoach
shabillarestu
0
33
Slide DevCoach
shabillarestu
0
37
Featured
See All Featured
Claude Code のすすめ
schroneko
67
220k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.6k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
890
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
290
The Cost Of JavaScript in 2023
addyosmani
55
9.8k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
330
4 Signs Your Business is Dying
shpigford
187
22k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
530
A better future with KSS
kneath
240
18k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Transcript
Dicoding Slides Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Sed do eiusmod tempor incididunt ut labore. Front-End Web
Position Praktik Wajib Membangun Formulir dengan Baik Front-End Web Nur
Rizki Adi Curriculum Developer
None
Learning Objectives • Menjelaskan cara web developer mengambil data user.
• Menunjukkan validasi yang tepat untuk format data yang benar. • Menjelaskan pentingnya styling bagi formulir. • Menjelaskan pentingnya script bagi formulir. • Menunjukkan praktik-praktik baik dalam membangun formulir. Front-End Web
Bagaimana cara kita mendapatkan data dari user? Front-End Web
None
None
None
Formulir apa yang pernah kalian buat? Front-End Web
Tipe-Tipe Input Front-End Web
Kontainer Formulir Front-End Web
Submit dengan Tombol Front-End Web
Communication Between Client-Server Front-End Web
Request Method Form GET POST Front-End Web
<form> <label> Street <input type="text" name="street" id="street" /> </label><br />
<label> Postal Code <input type="text" inputmode="numeric" name="postalCode" id="postalCode" /> </label><br /> <label> Regency <select name="regency" id="regency"> <option value="bandung">Bandung</option> <option value="semarang">Semarang</option> <option value="surabaya">Surabaya</option> </select> </label><br /> <button>Kirim</button> </form> Formulir Alamat Front-End Web
Perbedaan Pengiriman Data Front-End Web
Front-End Web Communication Between Client-Server
Mendukung Input Bertipe Blob Front-End Web
Formulir Pendataan Pribadi Front-End Web
Front-End Web
Validasi Input Front-End Web
Native Input Validation • Ketepatan Tipe Input • Wajib Diisi
• Batasan Diperlukan • Lebih Ketat Lebih Baik Front-End Web
Ketepatan Tipe Input Front-End Web Memilih tipe input yang tepat
dapat memberikan metode validasi yang tepat sesuai tipenya.
Wajib Isi Front-End Web
Menambahkan Batasan Front-End Web
Lebih Ketat Lebih Baik Front-End Web
Formulir Pendataan Pribadi Tipe input apakah yang tepat? Front-End Web
1. ………… 3. ………. 2. …………. 4. ……………….. text email url <select>
Front-End Web <label> Domisili <select name="regency" id="regency"> <option value="" selected
disabled>Silakan pilih opsi</option> <option value="bandung">Bandung</option> <option value="semarang">Semarang</option> <option value="surabaya">Surabaya</option> </select> </label>
Meningkatkan UX dengan CSS • Memperjelas dengan Fokus • Lebih
Terbaca Saat Besar • Tampilkan dengan Layak • Mengubah Aksen • Invalid State Front-End Web
Memperjelas dengan Fokus <form> <div class="form-group"> <label for="name">Nama</label> <input type="text"
name="name" id="name" /> </div> <button class="btn">Kirim</button> </form> input:focus-visible { appearance: none; outline: none; box-shadow: 0 0 0 6px rgb(30, 144, 255, 0.65); } label:has(+ input:focus-visible) { font-weight: bold; } Front-End Web
Lebih Terbaca Saat Besar Front-End Web <input name="name" id="default-font-size" class="default-font-size"
value="Default font-size" /> <input name="name" id="change-font-size" class="change-font-size" value="1rem font-size" /> input.change-font-size { font-size: 1rem; }
Tampilkan dengan Layak input { border: 1px solid #333333; }
Front-End Web
Mengubah Aksen Front-End Web input[type='radio'], input[type='checkbox'], input[type='range'] { accent-color: salmon;
}
Invalid State Front-End Web <form> <div class="form-group"> <label for="name">Nama</label> <input
type="text" name="name" id="name" required /> </div> <button class="btn">Kirim</button> </form>
Peran Penting Script bagi Form Front-End Web
Conditional Form Front-End Web conditional-form-example-3gv479 - codesandbox.io
Menampilkan Data Sebelumnya Front-End Web Menetapkan nilai awal (initial value)
pada <input> dengan getAttribute.
Tips Menjadi Form Baik Front-End Web
Label Dahulu Form Control Kemudian • Menulis <label> lebih awal
akan sangat membantu menentukan tujuan awal. • Deskripsi form control secara lebih jelas.
Berjelajah dengan Mudah • Layout formulir ternyata memiliki pengaruh terhadap
kendala dalam melengkapi datanya. • Layout terbaik untuk membangun formulir adalah satu kolom.
None
Memperjelas Caption Tombol Submit Memberikan caption yang tepat akan memberikan
gambaran jelas mengenai hal yang selanjutnya akan terjadi atau user hadapi.
Thank You nurrizkiadip Nur Rizki Adi Prasetyo @NAdiPrasetyo
[email protected]
Nur
Rizki Adi Prasetyo Nur Rizki Adi Prasetyo Front-End Web
Feedback! Hadiah: • 2 Token Langganan Academy (30 Hari) *untuk
pengisi feedback terpilih! dicoding.id/devcoachfeedback
Front-end Web