├── 01-definisi ├── javascript.html └── vuejs.html ├── 02-inisialisasi └── 01.html ├── 03-pengikatan-data ├── 01.html ├── 02.html ├── 03.html ├── 04.html └── 05.html ├── 04-pengkondisian ├── 01.html ├── 02.html ├── 03.html └── 04.html ├── 05-perulangan ├── 01.html ├── 02.html ├── 03.html ├── 04.html ├── 05.html └── 06.html ├── 06-pengikatan-peristiwa ├── 01.html ├── 02.html ├── 03.html ├── 04.html └── musik.mp3 ├── 07-fungsi ├── 01.html ├── 02.html ├── 03.html ├── 04.html └── 05.html ├── 08-pengikatan-data-2-arah ├── 01.html ├── 02.html ├── 03.html ├── 04.html ├── 05.html └── 06.html ├── 09-properti-penghitung ├── 01.html ├── 02.html ├── 03-01.html └── 03-02.html ├── 10-komponen-dasar ├── 01.html ├── 02.html ├── 03.html └── 04.html ├── 11-siklus-hidup └── index.html ├── 12-membuat-ash └── index.html ├── index.html ├── license.md ├── readme.md └── utils └── index.js /01-definisi/javascript.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | JavaScript 8 | 16 | 17 | 18 |
19 |
20 | 21 |
22 |
23 | 24 | 25 |
26 |
27 | 30 | 33 | 36 | 39 |
40 |
41 |
42 | 43 |
44 |

 45 |       
46 |
47 |

 48 |       
49 |
50 | 51 | 188 | 189 | 190 | -------------------------------------------------------------------------------- /01-definisi/vuejs.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vue 8 | 16 | 17 | 18 |
19 |
20 | 21 |
22 |
23 | 24 | 25 |
26 |
27 | 30 | 33 | 36 | 39 |
40 |
Total Hasil: {{ paginasi.total }}
41 |
Halaman ke: {{ paginasi.page }}
42 | 48 |
49 |
{{ jadikanString(paginasi) }}
50 |
51 |
52 |
{{ jadikanString(daftarHasil) }}
53 |
54 |
55 | 56 | 57 | 130 | 131 | 132 | -------------------------------------------------------------------------------- /02-inisialisasi/01.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 | 11 |
12 | 13 | 18 | 19 | -------------------------------------------------------------------------------- /03-pengikatan-data/01.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 | {{ variabel }} 11 |
12 | 13 | 21 | 22 | -------------------------------------------------------------------------------- /03-pengikatan-data/02.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 |
11 | Arahkan Kursor 12 |
13 |
14 | 15 | 23 | 24 | -------------------------------------------------------------------------------- /03-pengikatan-data/03.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 | 11 |
12 | 13 | 21 | 22 | -------------------------------------------------------------------------------- /03-pengikatan-data/04.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 |
11 |
12 | 13 | 23 | 24 | -------------------------------------------------------------------------------- /03-pengikatan-data/05.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 |
11 |
12 | 13 | 21 | 22 | -------------------------------------------------------------------------------- /04-pengkondisian/01.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 |
11 | Tidak Tampil 12 |
13 |
14 | 15 | 23 | 24 | -------------------------------------------------------------------------------- /04-pengkondisian/02.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 |
11 | Pertama 12 |
13 |
14 | Kedua 15 |
16 |
17 | 18 | 26 | 27 | -------------------------------------------------------------------------------- /04-pengkondisian/03.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 |
11 | Pertama 12 |
13 |
14 | Kedua 15 |
16 |
17 | Ketiga 18 |
19 |
20 | 21 | 29 | 30 | -------------------------------------------------------------------------------- /04-pengkondisian/04.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 |
11 | Tidak Tampil 12 |
13 |
14 | 15 | 23 | 24 | -------------------------------------------------------------------------------- /05-perulangan/01.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 | 15 |
16 | 17 | 29 | 30 | -------------------------------------------------------------------------------- /05-perulangan/02.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 | 15 |
16 | 17 | 29 | 30 | -------------------------------------------------------------------------------- /05-perulangan/03.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 | 18 |
19 | 20 | 32 | 33 | -------------------------------------------------------------------------------- /05-perulangan/04.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 | 15 |
16 | 17 | 29 | 30 | -------------------------------------------------------------------------------- /05-perulangan/05.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 | 18 |
19 | 20 | 32 | 33 | -------------------------------------------------------------------------------- /05-perulangan/06.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 | 15 |
16 | 17 | 22 | 23 | -------------------------------------------------------------------------------- /06-pengikatan-peristiwa/01.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 | 13 |

{{ variabel }}

14 |
15 | 16 | 24 | 25 | -------------------------------------------------------------------------------- /06-pengikatan-peristiwa/02.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 | 13 |

{{ variabel }}

14 |
15 | 16 | 24 | 25 | -------------------------------------------------------------------------------- /06-pengikatan-peristiwa/03.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 | 17 |
{{ keadaan }}
18 |
19 | 20 | 28 | 29 | -------------------------------------------------------------------------------- /06-pengikatan-peristiwa/04.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 | 13 |

{{ variabel }}

14 |
15 | 16 | 24 | 25 | -------------------------------------------------------------------------------- /06-pengikatan-peristiwa/musik.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jefrydco/vuejs-fundamental/0c095bfefd5d0157878a83d8cfeceb9d3e390246/06-pengikatan-peristiwa/musik.mp3 -------------------------------------------------------------------------------- /07-fungsi/01.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 | 13 |

{{ variabel }}

14 |
15 | 16 | 29 | 30 | -------------------------------------------------------------------------------- /07-fungsi/02.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 | 13 |

{{ variabel }}

14 |
15 | 16 | 29 | 30 | -------------------------------------------------------------------------------- /07-fungsi/03.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 | 13 |

{{ variabel }}

14 |
15 | 16 | 29 | 30 | -------------------------------------------------------------------------------- /07-fungsi/04.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 | 13 |

{{ variabel }}

14 |
15 | 16 | 29 | 30 | -------------------------------------------------------------------------------- /07-fungsi/05.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 | 13 |

{{ variabel }}

14 |
15 | 16 | 29 | 30 | -------------------------------------------------------------------------------- /08-pengikatan-data-2-arah/01.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 |
11 | 17 |

{{ variabel }}

18 |
19 | 20 | 33 | 34 | -------------------------------------------------------------------------------- /08-pengikatan-data-2-arah/02.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 |
11 | 16 |
17 | 18 | 31 | 32 | -------------------------------------------------------------------------------- /08-pengikatan-data-2-arah/03.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 | 16 | 17 |

Cek

18 |

Tidak Cek

19 |
20 | 21 | 34 | 35 | -------------------------------------------------------------------------------- /08-pengikatan-data-2-arah/04.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 | 16 | 17 |

Cek

18 |

Tidak Cek

19 |
20 | 21 | 34 | 35 | -------------------------------------------------------------------------------- /08-pengikatan-data-2-arah/05.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 | 26 |

Makanan Terpelih: {{ makanan }}

27 |
28 | 29 | 47 | 48 | -------------------------------------------------------------------------------- /08-pengikatan-data-2-arah/06.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 | 13 | 18 |

{{ variabel }}

19 |
20 | 21 | 29 | 30 | -------------------------------------------------------------------------------- /09-properti-penghitung/01.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 | 11 | 16 |
17 | 18 | 23 |

{{ jumlah }}

24 |
25 | 26 | 40 | 41 | -------------------------------------------------------------------------------- /09-properti-penghitung/02.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 | 11 | 16 |
17 | 18 | 23 |

{{ jumlah('Jumlah') }}

24 |
25 | 26 | 42 | 43 | -------------------------------------------------------------------------------- /09-properti-penghitung/03-01.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 | 11 | 16 |
17 | 18 | 23 |

{{ jumlah().waktu }}

24 |

{{ jumlah().angka }}

25 |
26 | 27 | 49 | 50 | -------------------------------------------------------------------------------- /09-properti-penghitung/03-02.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 | 11 | 16 |
17 | 18 | 23 |

{{ jumlah.waktu }}

24 |

{{ jumlah.angka }}

25 |
26 | 27 | 49 | 50 | -------------------------------------------------------------------------------- /10-komponen-dasar/01.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 | 11 |
12 | 13 | 22 | 23 | -------------------------------------------------------------------------------- /10-komponen-dasar/02.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 | 11 |
12 | 13 | 27 | 28 | -------------------------------------------------------------------------------- /10-komponen-dasar/03.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 13 | 14 | 15 |
16 | 17 |
18 | 19 | 29 | 30 | -------------------------------------------------------------------------------- /10-komponen-dasar/04.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 | 11 |
12 | 13 | 30 | 31 | -------------------------------------------------------------------------------- /11-siklus-hidup/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vue 7 | 8 | 9 |
10 | 13 |

Angka: {{ angka }}

14 |
15 | 16 | 48 | 49 | -------------------------------------------------------------------------------- /12-membuat-ash/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vue 8 | 16 | 17 | 18 |
19 | 20 |
21 | 22 |
23 | 24 |
25 | 26 | 27 |
28 | 29 |
30 | 33 | 36 | 39 | 42 |
43 | 44 |
Total Hasil: {{ paginasi.total }}
45 |
Halaman ke: {{ paginasi.page }}
46 | 47 | 53 | 54 |
55 | 56 | 57 | 126 | 127 | 128 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vuejs Fundamental 8 | 9 | 10 | 11 |
12 |

Vuejs Fundamental

13 |

Kode Sumber: GitHub

14 | 119 |
120 | 121 | 122 | -------------------------------------------------------------------------------- /license.md: -------------------------------------------------------------------------------- 1 | Copyright 2020 Jefry Dewangga 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # Vuejs Fundamental 2 | 3 | > Kode sumber untuk demo materi webinar Vue.js Fundamental PENS 2020 4 | 5 | - [Salinda (_Slide_)](https://bit.ly/slide-vuejs) 6 | - [Kode](https://bit.ly/kode-vuejs) 7 | - [Rekaman Ulang](https://bit.ly/playback-vuejs) 8 | - [Formulir Submisi](https://bit.ly/belajar-vuejs) 9 | - [Contoh Aplikasi](https://bit.ly/contoh-vuejs) 10 | -------------------------------------------------------------------------------- /utils/index.js: -------------------------------------------------------------------------------- 1 | // Source: https://github.com/sindresorhus/p-debounce/blob/master/index.js 2 | function pDebounce(fn, wait, options = {}) { 3 | if (!Number.isFinite(wait)) { 4 | throw new TypeError("Expected `wait` to be a finite number") 5 | } 6 | 7 | let leadingValue 8 | let timer 9 | let resolveList = [] 10 | 11 | return function(...arguments_) { 12 | return new Promise(resolve => { 13 | const runImmediately = options.leading && !timer 14 | 15 | clearTimeout(timer) 16 | 17 | timer = setTimeout(() => { 18 | timer = null 19 | 20 | const result = options.leading 21 | ? leadingValue 22 | : fn.apply(this, arguments_) 23 | 24 | for (resolve of resolveList) { 25 | resolve(result) 26 | } 27 | 28 | resolveList = [] 29 | }, wait) 30 | 31 | if (runImmediately) { 32 | leadingValue = fn.apply(this, arguments_) 33 | resolve(leadingValue) 34 | } else { 35 | resolveList.push(resolve) 36 | } 37 | }) 38 | } 39 | } 40 | --------------------------------------------------------------------------------