{"id":11258,"date":"2019-04-19T00:00:00","date_gmt":"2019-04-19T00:00:00","guid":{"rendered":"https:\/\/binus.ac.id\/binus-digital\/2019\/04\/19\/minifikasi-kode-css-dan-javascript-menggunakan-gruntjs\/"},"modified":"2024-09-24T02:20:29","modified_gmt":"2024-09-24T02:20:29","slug":"minifikasi-kode-css-dan-javascript-menggunakan-gruntjs","status":"publish","type":"post","link":"https:\/\/binus.ac.id\/binus-digital\/2019\/04\/19\/minifikasi-kode-css-dan-javascript-menggunakan-gruntjs\/","title":{"rendered":"Minifikasi Kode CSS dan JavaScript menggunakan GruntJS"},"content":{"rendered":"<p><span style=\"font-weight: 400\">Minifikasi adalah proses penghapusan data yang tidak penting atau tidak diperlukan tanpa memengaruhi cara pemrosesan <em>resource<\/em> oleh <em>browser<\/em> &#8211; misalnya, komentar kode dan pemformatan, penghapusan kode yang tidak digunakan, penggunaan variabel dan nama fungsi yang lebih pendek, dan lain-lain.<\/span><\/p>\n<p><a href=\"https:\/\/developers.google.com\/speed\/docs\/insights\/MinifyResources?hl=id\">https:\/\/developers.google.com\/speed\/docs\/insights\/MinifyResources?hl=id<\/a><\/p>\n<p><span style=\"font-weight: 400\">Minifikasi (kode) adalah salah satu cara developer website untuk mempercepat load website saat diakses oleh user. Dengan mempercepat performance website, dapat meningkatkan <em>User Experience<\/em>. Beberapa website malah dapat menaikkan <em>traffic<\/em> website mereka.<\/span><\/p>\n<p><a href=\"https:\/\/developers.google.com\/web\/fundamentals\/performance\/why-performance-matters\">https:\/\/developers.google.com\/web\/fundamentals\/performance\/why-performance-matters<\/a><\/p>\n<p><span style=\"font-weight: 400\">Salah satu <em>tools<\/em> untuk melakukan minifikasi kode adalah GruntJS. GruntJS adalah sebuah perintah untuk melakukan tugas yang bersifat repetitif atau berulang seperti minifikasi, kompilasi, <em>unit testing<\/em>, <em>linting<\/em>, dan lain-lain. Tujuannya adalah untuk otomatisasi beberapa tugas dalam satu perintah JavaScript.<\/span><\/p>\n<h3>Install GruntJS<\/h3>\n<p><span style=\"font-weight: 400\">Sebelum meng-<\/span><i><span style=\"font-weight: 400\">install<\/span><\/i><span style=\"font-weight: 400\"> GruntJS, pastikan kamu sudah meng-<em>install<\/em> NodeJS terlebih dahulu. Kamu bisa download <em>installer<\/em>-nya disini:<br \/><\/span><a href=\"https:\/\/nodejs.org\/en\/\">https:\/\/nodejs.org\/en\/<\/a><\/p>\n<p><span style=\"font-weight: 400\">Untuk mengetahui bahwa NodeJS berhasil ter-<em>install<\/em> adalah dengan cara membuka <em>Terminal<\/em> atau <em>Command Prompt<\/em>, lalu ketik perintah \u201c<strong>npm -v<\/strong>\u201d. Jika tampil versi dari NodeJS nya maka proses instalasi telah berhasil.<\/span><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-5005\" src=\"http:\/\/binus.ac.id\/knowledge\/wp-content\/uploads\/2019\/12\/Screen-Shot-2019-12-09-at-4.13.09-PM.png\" alt=\"\" width=\"714\" height=\"336\" \/><\/p>\n<p><span style=\"font-weight: 400\">Jika NodeJS sudah ter-<em>install<\/em>, lanjutkan dengan meng-<em>install<\/em> GruntJS. Caranya adalah sebagai berikut:<\/span><\/p>\n<ol>\n<li><span style=\"font-weight: 400\">Buka terminal (MacOS) atau command prompt (Windows, sebagai <em>administrator<\/em>).<\/span><\/li>\n<li><span style=\"font-weight: 400\">Lalu ketik perintah berikut: \u201c<strong>npm install -g grunt-cli<\/strong>\u201d.<\/span><\/li>\n<li><span style=\"font-weight: 400\">Setelah proses selesai, ketik perintah \u201c<strong>grunt -V<\/strong>\u201d untuk mengecek apakah GruntJS sudah berhasil ter-<em>install<\/em>.<\/span><\/li>\n<\/ol>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-5011\" src=\"http:\/\/binus.ac.id\/knowledge\/wp-content\/uploads\/2019\/12\/Screen-Shot-2019-12-09-at-4.19.19-PM.png\" alt=\"\" width=\"706\" height=\"322\" \/><\/p>\n<p><span style=\"font-weight: 400\">Atau bisa dilihat di website resminya <\/span><a href=\"https:\/\/gruntjs.com\/getting-started\"><span style=\"font-weight: 400\">https:\/\/gruntjs.com\/getting-started<\/span><\/a><span style=\"font-weight: 400\">.<\/span><\/p>\n<h3>Buat Proyek Baru<\/h3>\n<p><span style=\"font-weight: 400\">Sampai sini saya pastikan kamu sudah berhasil meng-<em>install<\/em> GruntJS. Sekarang saatnya mencoba membuat proyek sederhana menggunakan GruntJS untuk melakukan proses minifikasi kode CSS dan JavaScript.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Silahkan kamu buat folder baru, bisa diberi nama \u201c<strong>gruntjs-example<\/strong>\u201d atau penamaan lainnya. Setelah itu kita buat folder baru di dalam folder tersebut, diberi nama \u201c<strong>css<\/strong>\u201d untuk menyimpan file CSS yang sudah kamu buat. Lalu buat file CSS baru dan diberi nama misalnya \u201c<strong>style.css<\/strong>\u201d dan ketik kode berikut: (Hanya contoh, kamu bisa menggunakan kode kamu sendiri)<\/span><\/p>\n<div>\n<pre><strong>*<\/strong> {<br \/> -moz-box-sizing: border-box;<br \/>-webkit-box-sizing: border-box;<br \/> box-sizing: border-box;<br \/>}<br \/><br \/><strong>html<\/strong> {<br \/>font-size: 10px;<br \/>}<br \/><br \/><strong>body<\/strong> {<br \/>margin: 0;<br \/>padding: 0;<br \/>font-size: 1.6rem;<br \/>color: #fff;<br \/>line-height: 1.6;<br \/>background-color: #f2f2f2;<br \/>}<\/pre>\n<div>\u00a0<\/div>\n<\/div>\n<p><span style=\"font-weight: 400\">Setelah itu kita buat folder baru lagi di dalam folder \u201c<strong>gruntjs-example<\/strong>\u201d, beri nama dengan \u201c<strong>js<\/strong>\u201d untuk menyimpan file JavaScript yang sudah kamu buat. Lalu buat file JavaScript baru dan beri nama misalnya \u201c<strong>script.js<\/strong>\u201d dan ketik kode berikut: (Hanya contoh, kamu bisa menggunakan kode kamu sendiri)<\/span><\/p>\n<div>\n<pre>var number_one = 5;<br \/>var number_two = 10;<br \/>var total = number_one + number_two;<br \/>console.log(total);<\/pre>\n<\/div>\n<p><span style=\"font-weight: 400\">Terakhir sebelum membuat perintah, kamu memerlukan file <strong>package.json<\/strong> untuk mendeskripsikan proyek yang dibuat serta mencatat <em>module<\/em> (<em>dependencies &amp; dev dependencies<\/em>) yang dibutuhkan oleh proyek kamu. Caranya ketik perintah berikut pada Terminal. (Pastikan lokasi Terminal kamu sudah berada didalam folder &#8220;gruntjs-example&#8221;)<\/span><\/p>\n<pre><i><span style=\"font-weight: 400\">cd gruntjs-example<br \/><\/span><\/i><i><span style=\"font-weight: 400\">npm init<\/span><\/i><\/pre>\n<p>Setelah itu akan muncul form yang harus kamu isi. Kamu bisa tekan tombol &#8220;Enter&#8221; sampai selesai untuk konfigurasi <em>default<\/em>.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-5015\" src=\"http:\/\/binus.ac.id\/knowledge\/wp-content\/uploads\/2019\/12\/Screen-Shot-2019-12-09-at-4.31.00-PM.png\" alt=\"\" width=\"702\" height=\"315\" \/><\/p>\n<p>Jika sudah selesai akan muncul file baru dengan nama &#8220;<strong>package.json<\/strong>&#8220;.<\/p>\n<h3>Buat Perintah<\/h3>\n<p><span style=\"font-weight: 400\">Sebelum membuat perintah, kamu perlu <em>install<\/em> terlebih dahulu <em>module-module<\/em> yang dibutuhkan untuk menjalankan perintah. Berikut <em>module<\/em> yang kamu butuhkan:<\/span><\/p>\n<ul>\n<li>Local Grunt.<\/li>\n<li><a href=\"https:\/\/github.com\/gruntjs\/grunt-contrib-cssmin\">https:\/\/github.com\/gruntjs\/grunt-contrib-cssmin<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/gruntjs\/grunt-contrib-uglify\">https:\/\/github.com\/gruntjs\/grunt-contrib-uglify<\/a><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">Untuk meng-<em>install<\/em> kedua module tersebut, kamu cukup mengetik kode berikut di terminal:<\/span><\/p>\n<pre><i><span style=\"font-weight: 400\">npm install --save-dev grunt grunt-contrib-cssmin grunt-contrib-uglify<\/span><\/i><\/pre>\n<p><span style=\"font-weight: 400\">Jika sudah, semua <em>module<\/em> yang baru di-<em>install<\/em> tersebut akan tercatat di <em>file<\/em> \u201cpackage.json\u201d yang sebelumnya sudah dibuat.<\/span><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-5020\" src=\"http:\/\/binus.ac.id\/knowledge\/wp-content\/uploads\/2019\/12\/Screen-Shot-2019-12-09-at-4.38.51-PM.png\" alt=\"\" width=\"749\" height=\"316\" \/><\/p>\n<p><span style=\"font-weight: 400\">Selanjutnya adalah kamu perlu membuat <em>file<\/em> baru di dalam folder \u201d<strong>gruntjs-example<\/strong>\u201d, dan beri nama dengan \u201c<strong>Gruntfile.js<\/strong>\u201d (nama <em>file<\/em> tidak boleh berbeda untuk <em>file<\/em> yang ini). <em>File<\/em> tersebut adalah <em>file<\/em> yang akan digunakan untuk menulis perintah.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Sekarang buka file \u201c<strong>Gruntfile.js<\/strong>\u201d lalu ketik kode berikut:<\/span><\/p>\n<div>\n<pre>module.exports = (grunt) =&gt; {<br \/><br \/>\/**<br \/> * Project configuration.<br \/>*\/<br \/>grunt.registerTask('code-minify', 'Minify CSS code and JS code.', () =&gt; {<br \/><br \/>\/**<br \/>* Load NPM tasks.<br \/>*\/<br \/>grunt.loadNpmTasks('grunt-contrib-cssmin')<br \/>grunt.loadNpmTasks('grunt-contrib-uglify')<br \/><br \/>\/**<br \/>* Create configuration.<br \/>*\/<br \/>grunt.initConfig({<br \/><br \/>\/**<br \/>* Minify CSS code.<br \/>*\/<br \/>cssmin: {<br \/>options: {<br \/>level: { 1: { specialComments:0 } }<br \/>},<br \/>main: {<br \/>files: [{<br \/>expand:true,<br \/>cwd:'css',<br \/>src:'style.css',<br \/>dest:'_dist\/css',<br \/>ext:'.css'<br \/>}]<br \/>}<br \/>},<br \/><br \/>\/**<br \/>* Minify JS code.<br \/>*\/<br \/>uglify: {<br \/>main: {<br \/>files: [{<br \/>expand:true,<br \/>cwd:'js',<br \/>src:'script.js',<br \/>dest:'_dist\/js'<br \/>}]<br \/>}<br \/>}<br \/>})<br \/><br \/>\/**<br \/>* Run tasks.<br \/>*\/<br \/>grunt.task.run(['cssmin', 'uglify'])<br \/>})<br \/>}<\/pre>\n<p><span style=\"font-weight: 400\">Jika sudah, buka terminal kamu lalu ketik perintah berikut:<\/span><\/p>\n<pre><span style=\"font-weight: 400\">grunt code-minify<\/span><\/pre>\n<p><span style=\"font-weight: 400\">GruntJS akan menjalankan perintah sesuai nama perintah yang diberikan \u201c<strong>grunt nama-perintah<\/strong>\u201d.<\/span><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-5026\" src=\"http:\/\/binus.ac.id\/knowledge\/wp-content\/uploads\/2019\/12\/Screen-Shot-2019-12-09-at-4.59.54-PM.png\" alt=\"\" width=\"704\" height=\"324\" \/><\/p>\n<p><span style=\"font-weight: 400\">Jika proses sudah selesai, di dalam folder \u201c<strong>gruntjs-example<\/strong>\u201d akan muncul folder baru dengan nama \u201c<strong>_dist<\/strong>\u201d. Folder tersebut berisi file CSS dan JavaScript yang sudah diminifikasi. Hasilnya adalah sebagai berikut:<\/span><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-5023\" src=\"http:\/\/binus.ac.id\/knowledge\/wp-content\/uploads\/2019\/12\/Screen-Shot-2019-12-09-at-4.58.03-PM-768x60.png\" alt=\"\" width=\"768\" height=\"60\" \/><\/p>\n<p><span style=\"font-weight: 400\">Sampai sini tutorial yang dapat diberikan. Semoga bermanfaat. Terima kasih.<\/span><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Minifikasi adalah proses penghapusan data yang tidak penting atau tidak diperlukan tanpa memengaruhi cara pemrosesan resource oleh browser &#8211; misalnya, komentar kode dan pemformatan, penghapusan kode yang tidak digunakan, penggunaan variabel dan nama fungsi yang lebih pendek, dan lain-lain. https:\/\/developers.google.com\/speed\/docs\/insights\/MinifyResources?hl=id Minifikasi (kode) adalah salah satu cara developer website untuk mempercepat load website saat diakses oleh [&hellip;]<\/p>\n","protected":false},"author":20,"featured_media":11259,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[77],"tags":[],"class_list":["post-11258","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-articles"],"_links":{"self":[{"href":"https:\/\/binus.ac.id\/binus-digital\/wp-json\/wp\/v2\/posts\/11258","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/binus.ac.id\/binus-digital\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/binus.ac.id\/binus-digital\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/binus.ac.id\/binus-digital\/wp-json\/wp\/v2\/users\/20"}],"replies":[{"embeddable":true,"href":"https:\/\/binus.ac.id\/binus-digital\/wp-json\/wp\/v2\/comments?post=11258"}],"version-history":[{"count":1,"href":"https:\/\/binus.ac.id\/binus-digital\/wp-json\/wp\/v2\/posts\/11258\/revisions"}],"predecessor-version":[{"id":11992,"href":"https:\/\/binus.ac.id\/binus-digital\/wp-json\/wp\/v2\/posts\/11258\/revisions\/11992"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/binus.ac.id\/binus-digital\/wp-json\/wp\/v2\/media\/11259"}],"wp:attachment":[{"href":"https:\/\/binus.ac.id\/binus-digital\/wp-json\/wp\/v2\/media?parent=11258"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/binus.ac.id\/binus-digital\/wp-json\/wp\/v2\/categories?post=11258"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/binus.ac.id\/binus-digital\/wp-json\/wp\/v2\/tags?post=11258"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}