{"id":100,"date":"2020-02-24T17:13:24","date_gmt":"2020-02-24T17:13:24","guid":{"rendered":"https:\/\/sentraldigitalindonesia.co.id\/blog\/?p=100"},"modified":"2020-02-24T17:13:35","modified_gmt":"2020-02-24T17:13:35","slug":"pengenalan-vue-js","status":"publish","type":"post","link":"https:\/\/sentraldigitalindonesia.co.id\/blog\/2020\/02\/24\/pengenalan-vue-js\/","title":{"rendered":"Pengenalan VUE.JS"},"content":{"rendered":"\n<p><\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"b59f\">Apa Itu vue.js?<\/h1>\n\n\n\n<p>Vue.js adalah suatu librari Javascript yang digunakan untuk membangun antar muka sebuah website yang interaktif. Supaya lebih singkat, untuk selanjutnya Vue.js saya tulis Vue.&nbsp;<em>Library<\/em>&nbsp;dari Vue difokuskan hanya pada&nbsp;<em>view layer<\/em>&nbsp;dan sangat mudah diimplementasikan dan diintegrasikan dengan&nbsp;<em>library<\/em>&nbsp;lain ataupun juga dengan&nbsp;<em>project<\/em>&nbsp;yang sudah ada sebelumnya. Untuk mempelajari Vue ini setidaknya kita sudah mengerti dasar-dasar HTML, CSS dan juga Javascript.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"3e8b\">Instalasi vue.js<\/h1>\n\n\n\n<p>Perlu diketahui bahwa vue tidak mendukung browser IE8 dan versi-versi sebelumnya. Ada beberapa cara instalasi vue namun cara yang paling mudah adalah melalui CDN karena kita tidak perlu menyimpan file Vue.js di dalam\u00a0<em>project<\/em>\u00a0kita. Berikut ini adalah contoh bagaimana mereferensikan vue dari CDN:<br><br><\/p>\n\n\n\n<table class=\"wp-block-table\"><tbody><tr><td>&lt;!DOCTYPE html&gt;<\/td><\/tr><tr><td>&lt;html lang=&#8221;en&#8221;&gt;<\/td><\/tr><tr><td>&lt;head&gt;<\/td><\/tr><tr><td> &lt;meta charset=&#8221;UTF-8&#8243;&gt;<\/td><\/tr><tr><td> &lt;title&gt;Vue1&lt;\/title&gt;<\/td><\/tr><tr><td>&lt;\/head&gt;<\/td><\/tr><tr><td>&lt;body&gt;<\/td><\/tr><tr><td> &lt;script src=&#8221;https:\/\/unpkg.com\/vue&#8221;&gt;&lt;\/script&gt;<\/td><\/tr><tr><td>&lt;\/body&gt;<\/td><\/tr><tr><td>&lt;\/html&gt;<\/td><\/tr><\/tbody><\/table>\n\n\n\n<p>Dengan mereferensikan vue dari CDN seperti cara diatas, maka kita akan secara otomatis mendapatkan versi vue terbaru yang sudah ada di CDN.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"1394\">Data Binding<\/h1>\n\n\n\n<p>Seperti halnya pada saat mempelajari bahasa pemrograman lain, kita awali dengan menampilkan \u201c<em>Hello World<\/em>\u201d. Di sini saya akan menuliskan cara konvensional dan cara vue. Skenarionya adalah kita membuat sebuah&nbsp;<em>input element<\/em>&nbsp;dan pada&nbsp;<em>input element<\/em>&nbsp;tersebut kita akan menuliskan \u201c<em>Hello World<\/em>\u201d dan pada bagian bawahnya akan ada paragraf yang menyatakan nilai dari&nbsp;<em>input element<\/em>&nbsp;tersebut. Apabila kita merubah nilai&nbsp;<em>input element<\/em>&nbsp;maka keterangan di bagian bawahnya juga akan ikut berubah. Kira-kira seperti ini kodenya:<\/p>\n\n\n\n<p>a. Dengan cara konvensional<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"703\" height=\"416\" src=\"https:\/\/sentraldigitalindonesia.co.id\/blog\/wp-content\/uploads\/2020\/02\/a.jpg\" alt=\"\" class=\"wp-image-107\" srcset=\"https:\/\/sentraldigitalindonesia.co.id\/blog\/wp-content\/uploads\/2020\/02\/a.jpg 703w, https:\/\/sentraldigitalindonesia.co.id\/blog\/wp-content\/uploads\/2020\/02\/a-300x178.jpg 300w\" sizes=\"auto, (max-width: 703px) 100vw, 703px\" \/><\/figure>\n\n\n\n<p>Apabila kita buka file HTML tersebut di web browser maka tampilannya seperti ini:<br><br><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/max\/579\/1*mOgxC8lgh565yq171gFsTw.png\" alt=\"\"\/><\/figure>\n\n\n\n<p>b. Dengan cara vue<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"411\" height=\"422\" src=\"https:\/\/sentraldigitalindonesia.co.id\/blog\/wp-content\/uploads\/2020\/02\/b.jpg\" alt=\"\" class=\"wp-image-106\" srcset=\"https:\/\/sentraldigitalindonesia.co.id\/blog\/wp-content\/uploads\/2020\/02\/b.jpg 411w, https:\/\/sentraldigitalindonesia.co.id\/blog\/wp-content\/uploads\/2020\/02\/b-292x300.jpg 292w\" sizes=\"auto, (max-width: 411px) 100vw, 411px\" \/><\/figure>\n\n\n\n<p>Kode ini juga akan menghasilkan tampilan yang kurang lebih sama dengan kode di awal tadi, ada text input dan ada paragraf yang menyatakan nilai dari&nbsp;<em>input element<\/em>. Perilakunya ketika&nbsp;<em>input element<\/em>&nbsp;tersebut berubah nilainya akan mempengaruhi isi dari paragraf dibawahnya juga sama. Yang membedakan dari dua contoh kode diatas ada pada kerumitan kodenya. Dengan cara yang konvensional, kita membutuhkan suatu&nbsp;<em>event listener<\/em>&nbsp;semisal&nbsp;<em>keyup<\/em>&nbsp;ataupun&nbsp;<em>keydown<\/em>&nbsp;supaya perubahan dapat terjadi secara otomatis namun tidak demikian apabila menggunakan vue.<\/p>\n\n\n\n<p>Untuk menggunakan vue, pertama-tama kita buat&nbsp;<em>vue instance<\/em>&nbsp;dahulu, pada contoh kode diatas adalah&nbsp;<code>new Vue({})<\/code>. Langkah selanjutnya adalah menentukan sebuah model yang berasosiasi dengan vue tersebut, pada contoh kode diatas adalah&nbsp;<code>data<\/code>&nbsp;yang nantinya semua&nbsp;<em>object<\/em>&nbsp;yang ada di dalamnya dapat ditampilkan. Langkah terakhir adalah kita tentukan area kerja dari vue. Pada kode diatas saya menggunakan&nbsp;<code>div<\/code>&nbsp;dengan ID \u201c<em>root<\/em>\u201d dan di dalam&nbsp;<em>vue instance&nbsp;<\/em>ditulis<code>el: '#root'.<\/code><\/p>\n\n\n\n<p>Setelah semua langkah tersebut sudah kita lakukan, kita cek ke browser dan apa yang akan terjadi? Browser tidak menampilkan sesuatu yang kita inginkan, itu karena kita belum merelasikan vue tersebut dengan&nbsp;<em>input element<\/em>&nbsp;yang ada. Untuk itu kita perlu menambahkan&nbsp;<code>v-model<\/code>&nbsp;di input element dan kemudian kita tambahkan&nbsp;<code>&lt;p&gt; value dari input adalah: {{message}}. &lt;\/p&gt;<\/code>&nbsp;di bawah&nbsp;<em>input element<\/em>&nbsp;tadi. Apabila kita refresh halaman browser maka pada&nbsp;<em>input element<\/em>&nbsp;tadi akan tertulis \u201cHello World\u201d dan nilai dari tag p adalah \u201cvalue dari input adalah: Hello World\u201d. Apabila kita rubah nilai dari&nbsp;<em>input element<\/em>&nbsp;maka secara otomatis nilai dari tag p juga akan berubah.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Apa Itu vue.js? Vue.js adalah suatu librari Javascript yang digunakan untuk membangun antar muka sebuah website yang interaktif. Supaya lebih singkat, untuk selanjutnya Vue.js saya tulis Vue.&nbsp;Library&nbsp;dari Vue difokuskan hanya &hellip; <\/p>\n","protected":false},"author":1,"featured_media":101,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,10],"tags":[],"class_list":["post-100","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-teknologi","category-tips-belajar"],"_links":{"self":[{"href":"https:\/\/sentraldigitalindonesia.co.id\/blog\/wp-json\/wp\/v2\/posts\/100","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sentraldigitalindonesia.co.id\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sentraldigitalindonesia.co.id\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sentraldigitalindonesia.co.id\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sentraldigitalindonesia.co.id\/blog\/wp-json\/wp\/v2\/comments?post=100"}],"version-history":[{"count":6,"href":"https:\/\/sentraldigitalindonesia.co.id\/blog\/wp-json\/wp\/v2\/posts\/100\/revisions"}],"predecessor-version":[{"id":109,"href":"https:\/\/sentraldigitalindonesia.co.id\/blog\/wp-json\/wp\/v2\/posts\/100\/revisions\/109"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sentraldigitalindonesia.co.id\/blog\/wp-json\/wp\/v2\/media\/101"}],"wp:attachment":[{"href":"https:\/\/sentraldigitalindonesia.co.id\/blog\/wp-json\/wp\/v2\/media?parent=100"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sentraldigitalindonesia.co.id\/blog\/wp-json\/wp\/v2\/categories?post=100"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sentraldigitalindonesia.co.id\/blog\/wp-json\/wp\/v2\/tags?post=100"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}