Bab 6: HTML5 APIs dan Advanced Features

Bab 6: HTML5 APIs dan Advanced Features

6.1 Storage APIs

6.1.1 LocalStorage

// Menyimpan data
localStorage.setItem('username', 'john_doe');
localStorage.setItem('preferences', JSON.stringify({
    theme: 'dark',
    fontSize: '16px'
}));

// Mengambil data
const username = localStorage.getItem('username');
const preferences = JSON.parse(localStorage.getItem('preferences'));

// Menghapus data
localStorage.removeItem('username');

// Menghapus semua data
localStorage.clear();

// Event listener untuk storage changes
window.addEventListener('storage', (e) => {
    console.log('Storage changed:', e.key, e.newValue);
});

6.1.2 SessionStorage

6.1.3 IndexedDB

6.1.4 Cache API

6.2 Drag and Drop

6.2.1 Draggable Elements

6.2.2 Drop Zones

6.2.3 File Drag and Drop

6.3 Geolocation dan Device APIs

6.3.1 Geolocation API

6.3.2 Device Orientation

6.3.3 Battery Status

6.3.4 Media Capture

Latihan Praktik

Latihan 1: Todo App dengan LocalStorage

Buat aplikasi todo list yang:

  • Menyimpan tasks di LocalStorage

  • Mendukung CRUD operations

  • Memiliki fitur drag and drop untuk mengatur urutan

  • Menyimpan preferensi pengguna

Latihan 2: File Upload dengan Drag and Drop

Buat sistem upload file yang:

  • Mendukung drag and drop

  • Menampilkan preview untuk gambar

  • Memiliki progress indicator

  • Mendukung multiple files

Latihan 3: Location-based Service

Buat aplikasi yang:

  • Menggunakan Geolocation API

  • Menampilkan lokasi di peta

  • Menghitung jarak ke titik tertentu

  • Memperbarui lokasi secara real-time

Ringkasan Bab

  • Storage APIs menyediakan berbagai opsi penyimpanan data

  • Drag and Drop API memungkinkan interaksi yang intuitif

  • Geolocation dan Device APIs memberikan akses ke fitur perangkat

  • HTML5 APIs memperkaya pengalaman pengguna

Quiz Bab 6

  1. Apa perbedaan antara localStorage dan sessionStorage?

  2. Bagaimana cara implementasi drag and drop untuk file?

  3. Jelaskan penggunaan Geolocation API!

  4. Apa fungsi dari Battery Status API?

  5. Bagaimana cara mengakses kamera menggunakan Media Capture?

Referensi

Last updated

Was this helpful?