Programming
Seri 5:
Membaca Data Array
Online, FAB dan Card
Expandable
&
Framework7 Apache Cordova
B. Praktikum 1
Aplikasi yang dibangun hanya membaca array sederhana. Langkah – langkah yaitu adalah sebagai berikut :
1. Buat folder mobile3 di htdocs.
2. Copy folder core, css, fonts, img dan js dari folder mobile2 (folder praktikum sebelumnya) kemudian paste di folder mobile3.
Sehingga struktur didalam folder mobile3 seperti gambar disamping.
3. Buat file index.html didalam folder mobile3. Kemudian tambahkan syntax berikut kedalam file index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, viewport-fit=cover">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<meta name="theme-color" content="#2196f3">
<link rel="stylesheet" href="core/css/framework7.bundle.min.css">
<link rel="stylesheet" href="css/app.css">
<link rel="apple-touch-icon" href="img/f7-icon-square.png">
<link rel="icon" href="img/f7-icon.png">
</head>
<body>
<div id="app">
<div class="statusbar"></div>
<div class="view view-main view-init safe-areas" data-master-detail-breakpoint="800" data-url="/">
<div class="page">
<div class="navbar" style="background: #43CBFF; color: white">
<div class="navbar-inner">
<div class="title sliding">Praktikum 3</div>
</div>
</div>
<div class="page-content">
</div>
</div>
</div>
</div>
<script src="core/js/framework7.bundle.min.js"></script>
<script src="js/jquery-3.4.1.min.js"></script>
<script src="js/routes.js"></script>
<script src="js/app.js"></script>
</body>
</html>
4. Karena konsep kita kali ini adalah membaca data array dan memunculkannya pada sebuah object Card, maka kita harus memiliki data array-nya terlebih dahulu. Data array berisi data daftar film yang telah ditempatkan secara online
di https://drive.crazycoding.info/movie.js (jika ingin membuktikan silahkan link tersebut dijalankan terlebih dahulu pada browser). Sehingga langkah berikutnya adalah menempatkan link tersebut untuk
diinclude-kan pada sistem yang dibangun. Tambahkan syntax yang berwarna biru
<script src="js/app.js"></script>
<script src="https://drive.crazycoding.info/movie.js"></script>
</body>
5. Berikutnya adalah mempelajari struktur dari Card. Card yang digunakan adalah jenis Styled Card akan tetapi nanti tanpa footer (dimodifikasi). Silahkan melihat pada cards.html pada package Framework7 atau melihat pada
dokumentasi online Framework7.
6. Tambahkan syntax berikut diantara tag <div class="page-content">……</div>. Syntax berikut digunakan untuk menampung Card hasil looping data array.
<div id="blokdata">
</div>
</script>
</body>
8. Buat function javascript dengan nama ambildata dan letakkan diantara tag <script>……</script>. Syntax sebagai berikut
function ambildata(){
var hasil = "";
var x;
for(x in film){
judul = film[x].judul;
pemain = film[x].pemain;
tahun = film[x].tahun;
rating = film[x].rating;
sinopsis = film[x].sinopsis;
sampul = film[x].cover;
hasil += "<div class='card demo-card-header-pic'><div valign='bottom' class='card-header' style='background-image:url("+ sampul +
")'></div><div class='card-content card-content-padding'><p class='date'>" + judul + "</p><p style='text-align: justify;'>"
+ sinopsis.substr(0, 125) + ".....</p></div></div>";
}
$("#blokdata").html(hasil);
}
9. Langkah berikutnya adalah memanggil function ambildata agar langsung dijalankan saat aplikasi dijalankan. Buat pemanggilan
function javascript dalam tag javascript. Tambahkan syntax yang berwarna biru
<script>
ambildata();
function ambildata(){
10. Silahkan dicoba pada mode mobile Google Chrome pada posisi jaringan online (karena data array diletakkan pada server hosting).
Jika berhasil akan tampil seperti gambar disamping
C. Praktikum 2
Praktikum selanjutnya adalah memodifikasi hasil pada prakitkum diatas dengan menambahkan pilihan tampilan data. Jika diatas menggunakan Card, maka nanti ada 2 pilihan yang disiapkan yaitu pilihan bentuk Card (default) seperti
diatas dan bentuk Card Expandable. Untuk bentuk pilihan dapat menggunakan interface FAB (Floating Action Button). Berikut langkah-langkahnya
1. Tambah syntax untuk membuat FAB berikut ke dalam tag <div class=”page”>……</div> sehingga sejajar dengan tag <div class=”navbar”>……</div> maupun <div class=”page-content”>……</div> sesuai struktur
diatas. Untuk melihat syntax yang digunakan untuk membuat FAB bisa melihat di file fab.html pada package Framework7 atau pada dokumentasi online Framework7. Syntax FAB sebagai berikut:
<div class="fab fab-right-bottom">
<a href="#">
<i class="icon f7-icons">bars</i>
<i class="icon f7-icons">viewfinder</i>
</a>
<div class="fab-buttons fab-buttons-top">
<a href="" class="fab-label-button fab-close">
<span>1</span><span class="fab-label">Card</span>
</a>
<a href="" class="fab-label-button fab-close">
<span>2</span><span class="fab-label">Card Expand</span>
</a>
</div>
</div>
4. Langkah berikutnya adalah memberikan Event pada menu FAB. Event dihubungkan dengan function ambildata
yang telah dimodifikasi sebelumnya. Tambahkan syntax yang berwarna biru
<div class="fab fab-right-bottom">
<a href="#">
<i class="icon f7-icons">bars</i>
<i class="icon f7-icons">viewfinder</i>
</a>
<div class="fab-buttons fab-buttons-top">
<a href="" class="fab-label-button fab-close" onclick="ambildata('card')">
<span>1</span><span class="fab-label">Card</span>
</a>
<a href="" class="fab-label-button fab-close" onclick="ambildata('carde')">
<span>2</span><span class="fab-label">Card Expand</span>
</a>
</div>
</div>