Vue - Js Fundamental
Vue - Js Fundamental
js
Fundamental
PENS - 26 Juli 2020
Hai, saya Jefry Dewangga 👋
Associate Software Development Engineer @ DANA Indonesia
Kontributor Komunitas Vue.js Indonesia
Informatika PENS 2016
@jefrydco
@jefrydco
Lisensi untuk Konten
Dengan Ketentuan
@jefrydco
Lisensi untuk Kode
MIT
Hak Cipta (C) 2020 Jefry Dewangga
Dengan ini diberikan izin, bebas biaya, kepada siapa saja yang memperoleh salinan perangkat lunak ini dan file dokumentasi terkait (
"Perangkat Lunak"), untuk memanfaatkan Perangkat Lunak tanpa pembatasan, termasuk tanpa batasan hak untuk menggunakan, menyalin,
memodifikasi, menggabungkan , mempublikasikan, mendistribusikan, mensublisensikan, dan / atau menjual salinan Perangkat Lunak, dan
untuk mengizinkan orang yang diberi Perangkat Lunak ini untuk melakukannya, asalkan tunduk pada persyaratan berikut:
Pemberitahuan hak cipta di atas dan pemberitahuan izin ini harus dimasukkan dalam semua salinan atau bagian substansial dari Perangkat
Lunak.
PERANGKAT LUNAK INI DISEDIAKAN "APA ADANYA", TANPA JAMINAN APAPUN, TERSURAT MAUPUN TERSIRAT, TERMASUK NAMUN TIDAK
TERBATAS PADA JAMINAN DIPERDAGANGKAN, KESESUAIAN UNTUK TUJUAN TERTENTU DAN PELANGGARAN. DALAM KEADAAN APAPUN
PENULIS ATAU HAK CIPTA PEMEGANG BERTANGGUNG JAWAB ATAS KLAIM, KERUSAKAN ATAU KEWAJIBAN LAIN, BAIK DALAM TINDAKAN
KONTRAK, KESALAHAN ATAU LAINNYA, YANG TIMBUL DARI, ATAU BERHUBUNGAN DENGAN PERANGKAT LUNAK ATAU PENGGUNAAN ATAU
MASALAH LAINNYA DI PERANGKAT LUNAK.
@jefrydco
Ingin Bertanya?
sli.do/VUEJS
@jefrydco
Berbagi Keseruan Webinar
@jefrydco
Topik Vue.js Fundamental
Pengikatan
Definisi Inisialisasi Pengkondisian
Data
Pengikatan
Data Pengikatan
Fungsi Perulangan
2 Arah Peristiwa
@jefrydco
Apa itu?
@jefrydco
bit.ly/survei-web
@jefrydco
@jefrydco
HTML + CSS + JavaScript HTML + CSS + JavaScript + Vue.js
@jefrydco
HTML HTML + Vue.js
@jefrydco
JavaScript JavaScript + Vue.js
@jefrydco
JavaScript
Inisialisasi penghubung
Inisialisasi data
Deklarasi fungsi/method
Pemanggilan fungsi
@jefrydco
JavaScript + Vue.js
Inisialisasi penghubung
Inisialisasi data
Deklarasi fungsi/method
@jefrydco
Apa itu?
@jefrydco
Vue.js adalah kerangka kerja JavaScript nan progresif
@jefrydco
02
Inisialisasi Vue
(Vue Initialization)
@jefrydco
@jefrydco
03
Pengikatan Data
(Data Binding)
@jefrydco
Pengikatan Data 1
Menampilkan Data
@jefrydco
Pengikatan Data 2
Mengikat Data dengan
Atribut
@jefrydco
Pengikatan Data 3
Mengikat Data dengan
Atribut untuk Input
@jefrydco
Pengikatan Data 4
Mengikat Data dengan
Gaya
@jefrydco
Pengikatan Data 5
Sintaks Ringkas untuk
Atribut
@jefrydco
04
Pengkondisian
(Conditional)
@jefrydco
Pengkondisian 1
Menggunakan v-if
@jefrydco
Pengkondisian 2
Menggunakan v-else
@jefrydco
Pengkondisian 3
Menggunakan v-else-if
@jefrydco
Pengkondisian 4
Menggunakan v-show
@jefrydco
Perbedaan v-if dan v-show
v-if
v-show
@jefrydco
Kuis
kahoot.it
@jefrydco
05
Perulangan
(Looping)
@jefrydco
Perulangan 1
Dasar
@jefrydco
Perulangan 2
Mendapatkan indeks
@jefrydco
Perulangan 3
Menggunakan key
(Cukup Disarankan)
@jefrydco
Perulangan 4
Daftar objek
@jefrydco
Perulangan 5
Daftar objek menggunakan key
(Sangat Disarankan)
@jefrydco
Perulangan 6
Daftar Angka
@jefrydco
Ayo Pindai Segera 😆
DANA Kaget
@jefrydco
06
Pengikatan Peristiwa
(Event Binding)
@jefrydco
Pengikatan Peristiwa 1
Mengubah Data - Peristiwa
Klik
@jefrydco
Pengikatan Peristiwa 2
Mengubah Data - Peristiwa
Kursor di atas elemen
@jefrydco
Pengikatan Peristiwa 3
Mengubah Data - Peristiwa
Audio
@jefrydco
Pengikatan Peristiwa 4
Mengubah Data - Sintaks
Ringkas
@jefrydco
Lebih Banyak Peristiwa
bit.ly/peristiwa-html
@jefrydco
Sumber Gambar: https://math-exercises.com/analysis-of-functions/properties-of-functions
@jefrydco
07
Fungsi
(Method)
@jefrydco
Fungsi 1
Dasar
@jefrydco
Fungsi 2
Parameter
@jefrydco
Fungsi 3
Parameter Pengikatan
Peristiwa Implisit
bit.ly/objek-peristiwa-html
@jefrydco
Fungsi 4
Parameter Pengikatan
Peristiwa Eksplisit
@jefrydco
Fungsi 5
Parameter + Parameter
Pengikatan Peristiwa
Eksplisit
@jefrydco
08
Pengikatan Data 2 Arah
(Two-way Binding)
@jefrydco
Pengikatan Data 2 Arah 1
Input Teks
@jefrydco
Pengikatan Data 2 Arah 2
Area Teks
@jefrydco
Pengikatan Data 2 Arah 3
Kotak Centang
@jefrydco
Pengikatan Data 2 Arah 4
Radio
@jefrydco
Pengikatan Data 2 Arah 5
Pilihan
@jefrydco
Pengikatan Data 2 Arah 6
Sintaks Ringkas
@jefrydco
Kuis
kahoot.it
@jefrydco
09
Properti Penghitung
(Computed Property)
@jefrydco
Properti Penghitung
(Computed Property)
@jefrydco
Properti Penghitung 1
Dasar
@jefrydco
Properti Penghitung 2
Parameter
@jefrydco
Properti Penghitung 3 - Bagian 1
Fungsi vs Properti Penghitung
@jefrydco
Properti Penghitung 3 - Bagian 2
Fungsi vs Properti Penghitung
@jefrydco
10
Komponen Dasar
(Basic Component)
@jefrydco
Komponen Dasar
@jefrydco
Komponen Dasar
@jefrydco
Komponen Dasar 1
Dasar
@jefrydco
Komponen Dasar 2
Elemen Akar Tunggal (Single Root Element)
@jefrydco
Komponen Dasar 3
Atribut Kustom
@jefrydco
Komponen Dasar 3
Peristiwa Kustom
@jefrydco
Sumber Gambar: https://sites.google.com/site/edu222lifecyclesyoap/day-1
@jefrydco
11
Siklus Hidup
(Life Cycle)
@jefrydco
new Vue() beforeCreate(), beforeMount(), destroyed() jarang digunakan
mounted() beforeUpdate()
beforeDestroy() updated()
destroyed()
Lebih Lengkap: https://docs.vuejs.id/v2/guide/instance.html#Diagram-Siklus-Hidup
@jefrydco
Siklus Hidup
@jefrydco
Ayo Pindai Segera 😆
DANA Kaget
@jefrydco
12
Membuat Aplikasi Satu Halaman
(Single Page Application)
@jefrydco
Aplikasi Satu Halaman (Single Page Application) adalah aplikasi web yang
menampilkan data secara dinamis dari internet tanpa harus memuat ulang
peramban
Sumber: https://en.wikipedia.org/wiki/Single-page_application
@jefrydco
@jefrydco
Kode Sumber Demo
bit.ly/kode-vuejs
@jefrydco
Belajar Membuat Aplikasi Satu Halaman
Ketentuan Penilaian
● Menggunakan penamaan variabel, fungsi dan
komponen yang jelas sesuai dengan kegunaannya
● Menggunakan gaya (style) tampilan se-kreatif
mungkin
● Menggunakan semantik HTML
bit.ly/belajar-vuejs
Batas waktu pengumpulan adalah 8 Agustus 2020
@jefrydco
Belajar Membuat Aplikasi Satu Halaman
@jefrydco
Belajar Membuat Aplikasi Satu Halaman
bit.ly/belajar-vuejs
@jefrydco
Belajar Membuat Aplikasi Satu Halaman
bit.ly/belajar-vuejs
bit.ly/contoh-vuejs
@jefrydco
Kuis
kahoot.it
@jefrydco
Pertanyaan yang Sering Diajukan
@jefrydco
Pertanyaan yang Sering Diajukan
● Vue.js versi 3 sudah memasuki fase calon rilis (release candidate), versi mana yang harus saya
pelajari?
Versi 2; Vue.js versi 3 memiliki antarmuka pemrograman aplikasi (API) yang sama seperti versi
2
@jefrydco
Pertanyaan yang Sering Diajukan
@jefrydco
Pertanyaan yang Sering Diajukan
● Apakah Vue.js dapat diluncurkan (deploy) di layanan hosting berbagi yang berbasis PHP?
Ya; Layanan hosting berbagi dapat berperan sebagai hosting statis
● Dimana kita dapat meluncurkan (deploy) aplikasi web Vue.js secara gratis?
Netlify, Vercel, GitHub Pages, Firebase Hosting
● Saya sudah bisa Vue.js, kira-kira saya harus belajar apa lagi?
Bisa lanjut mempelajari Vuex, Vue Router, Nuxt.js
● Saya bingung harus membuat proyek aplikasi apa sebagai bahan latihan?
Dari yang sederhana terlebih dahulu, misalkan aplikasi daftar pekerjaan. Kemudian semakin
kompleks, misalkan membuat klon aplikasi Google Slide ini. 😄
@jefrydco
Komunitas Vue.js Indonesia
vuejs.id
docs.vuejs.id
bit.ly/vuejsid-github
bit.ly/vuejsid-telegram
bit.ly/vuejsid-facebook
bit.ly/vuejsid-twitter
@jefrydco
Vue.js Indonesia Membutuhkan Bantuan Kamu
@jefrydco
bit.ly/subjs-10
@jefrydco
@daysinDANA
@DANA.ID
DANA Indonesia
DANA Indonesia
@jefrydco
“Hal-hal besar itu selalu
berawal dari diri kita sendiri”
@jefrydco
Formulir Umpan Balik
bit.ly/EvalWebinarHimit2
@jefrydco
Dokumentasi REST API
Parameter Kueri
@jefrydco
URL : https://cari-teks-video-api.vercel.app/api/search
Metode : POST
Parameter Kueri :
Nama Tipe Data Nilai Contoh Nilai Nilai Standar Wajib Ada? Deskripsi
Parameter
@jefrydco
URL : https://cari-teks-video-api.vercel.app/api/search
Metode : POST
Parameter Kueri :
Nama Tipe Data Nilai Contoh Nilai Nilai Standar Wajib Ada? Deskripsi
Parameter
@jefrydco
URL : https://cari-teks-video-api.vercel.app/api/search
Metode : POST
Parameter Kueri :
Nama Tipe Data Nilai Contoh Nilai Nilai Standar Wajib Ada? Deskripsi
Parameter
@jefrydco
Dokumentasi API
Respon
@jefrydco
URL : https://cari-teks-video-api.vercel.app/api/search?
url=https://www.youtube.com/watch?v=klnvttPfOUM&q=webdev
Metode : POST
Contoh Respon :
@jefrydco
URL : https://cari-teks-video-api.vercel.app/api/search?
url=https://www.youtube.com/watch?v=klnvttPfOUM&q=webdev
Metode : POST
Keterangan :
@jefrydco
URL : https://cari-teks-video-api.vercel.app/api/search?
url=https://www.youtube.com/watch?v=klnvttPfOUM&q=webdev
Metode : POST
Keterangan :
@jefrydco
URL : https://cari-teks-video-api.vercel.app/api/search?
url=https://www.youtube.com/watch?v=klnvttPfOUM&q=webdev
Metode : POST
Keterangan :
@jefrydco
URL : https://cari-teks-video-api.vercel.app/api/search?
url=https://www.youtube.com/watch?v=klnvttPfOUM&q=webdev
Metode : POST
Keterangan :
@jefrydco
URL : https://cari-teks-video-api.vercel.app/api/search?
url=https://www.youtube.com/watch?v=klnvttPfOUM&q=webdev
Metode : POST
Keterangan :
@jefrydco
URL : https://cari-teks-video-api.vercel.app/api/search?
url=https://www.youtube.com/watch?v=klnvttPfOUM&q=webdev
Metode : POST
Keterangan :
@jefrydco
URL : https://cari-teks-video-api.vercel.app/api/search?
url=https://www.youtube.com/watch?v=klnvttPfOUM&q=webdev
Metode : POST
Keterangan Item Hasil :
@jefrydco