Wednesday, March 30, 2016

Mengenal CSS Preprocessors dan SASS

CSS adalah bahasa styling untuk HTML, struktur bahasanya yang sederhana, mudah dipahami namun memberikan pengaruh yang sangat besar terhadap tampilan HTML. Namun jika dilihat dari sisi seorang Developer kesederhanaan CSS ini membuat penulisan kodenya tidak efektif.
Bagi seorang developer pasti ingin ada variable untuk menyimpan warna misalnya atau nilai tertentu agar bisa dipergunakan kembali jika diperlukan. Atau mungkin ingin adanya kemampuan untuk membuat sebuah fungsi untuk menghemat waktu dalam penulis beberapa kode yang banyak dalam CSS.
Untuk menyelesaikan permasalahan di atas, muncullah CSS Preprocessor. CSS Preprocessor memberikan kemampuan untuk membuat variabel, Fungsi, dan penulisan CSS yang lebih terstruktur dan pastinya membuat proses Development lebih cepat dan efisien.
SASS
Syntactically Awesome StyleSheets (SASS)
Saat ini ada beberapa CSS preprocessor yang paling sering digunakan, diantaranya Less.js dan SASS. Keduanya memeliki struktur kode yang sama jadi jika anda telah memahami salah satunya, pun anda dapat memahami CSS preprocessor yang lainnya. Dalam artikel ini saya akan menjelaskan salah satu CSS Preprocessor saja, yakni SASS. Anda dapat mengunjungi situs SASS dihttp://sass-lang.com/

Instalasi SASS

SASS dibangun dengan menggunakan bahasa pemrograman Ruby, maka dari itu kita membutuhkan Ruby agar kita dapat menjalankan SASS dalam komputer kita. anda bisa mendownload Installer Ruby untuk windows di link berikut :
Download Ruby Installer for Windows
Setelah anda menginstall Ruby, selanjutnya kita install Modul SASS. Buka Command Prompt di menu Start→All Programs→Accesories→Command Prompt. dan ketikkan kode berikut untuk menginstall SASS:
gem install sass
Pastikan anda masih terkoneksi ke internet, karena perintah ini akan mendownload modul SASS dan menginstallnya.
Jika proses instalasi selesai, anda akan melihat informasi bahwa proses download dan instalasi telah selesai
Proses Instalasi SASS
Cara kerja SASS adalah dengan memonitor suatu file/folder yang berisi file .scss/.sass (ekstensi untuk file SASS) dan melakukan compiling menjadi file CSS dari file-file tersebut ketika sebuah perubahan dilakukan.

Menjalankan SASS

Untuk menjalankan SASS agar memonitor suatu folder (Misalnya folder untuk projek kita mempunyai nama “project” dan terletak di dalam drive D), ketikkan perintah berikut via Command Prompt lalu tekan Enter
sass --watch "D:/project":"D:/project"
Perintah tersebut akan memonitor folder project dari perubahan file scss/sass yang terjadi dan meng-compilenya ke folder yang sama. Perintah dasarnya adalah seperti berikut
sass [options] [Input] : [Output]
Sass Watching for Changing
Jika sudah, Anda bisa mulai bekerja dengan file .scss dan meminimize command prompt nya. Karena kita tidak akan berurusan lagi dengan Command promptnya. Berikut ini adalah tampilan yang muncul ketika kita melakukan perubahan pada file scss/sass
Sass Compiling
Untuk pembuatan file scss sendiri anda tidak perlu menggunakan text editor khusus, cukup gunakan text editor kesayangan anda seperti Sublime Text atau Notepad++ dan melakukan save as dengan extensi .scss.

Struktur SASS

Bagian ini akan menjelaskan fitur-fitur dari CSS Preprocessor (dalam kasus ini SASS). Kode SASS tidak jauh berbeda dengan CSS namun ada beberapa fitur yang akan membantu anda dan menghemat waktu anda dalam penulisan Kode CSS.

Variabel

Dalam SASS kita bisa membuat sebuah variabel dengan menggunakan tanda dollar diikuti dengan nama variabel.
$warna_dasar:#B4D455;
 
body{
 background-color: $warna_dasar; 
}
Mungkin anda akan bertanya, Kenapa kita perlu Variable? Oke, dengan menggunakan variabel, kita bisa menghemat waktu ketika melakukan perubahan pada CSS. Misalnya seperti ini : “Dalam suatu file CSS kita memiliki 100 lebih property yang memiliki nilai yang sama, dan kita ingin merubah nilai tersebut. Jika dengan CSS biasa anda akan merubahnya satu-satu, atau paling tidak menggunakan fitur Replace (dalam text editor)”. Namun dengan variabel, kita tinggal mengganti nilai dari variabel yang bersangkutan. Sederhana bukan?
Andapun dapat melakukan operasi matematika seperti +,-,*,/ dan % terhadap variabel seperti berikut :
$margin:20px;
 
#box{
 margin:$margin / 2;
}

Nesting

Misalnya kita biasa menuliskan kode CSS seperti berikut :
ul{
 list-style:none;
 background:#DDDDDD;
}

ul li{
 display:inline;
}

ul li a{
 text-decoration:none;
 color:black;
}
Dengan Aturan Nesting dalam SASS, kita bisa menuliskannya seperti berikut :
ul{
 list-style:none;
 background:#DDDDDD;

 li{
  display:inline;
  
  a{
   text-decoration:none;
   color:black;
  }
 }
}
Lebih hemat, dan lebih terstruktur.

Mixins

Mixins bisa juga kita sebut dengan Fungsi, sebagaimana fungsi dari sebuah “Fungsi” adalah melakukan beberapa operasi hanya dengan memanggil fungsi yang bersangkutan. Contohnya, ketika kita ingin menerapkan border-radius, maka paling tidak kita akan menulis 5 baris kode untuk border-radius untuk menjaga kompatibilitas dengan browser lama.
#box{
 border-radius:10px;
 -o-border-radius:10px;
 -ms-border-radius:10px;
 -moz-border-radius:10px;
 -webkit-border-radius:10px;
}
Untuk permasalahan seperti ini, kita dapat membuat mixins khusus untuk border-radius seperti berikut :
@mixin border_radius($radius :3px){
 border-radius: $radius;
 -o-border-radius: $radius;
 -ms-border-radius: $radius;
 -moz-border-radius: $radius;
 -webkit-border-radius: $radius; 
}
@mixin adalah kode untuk membuat sebuah mixins (baca:fungsi), border_radius adalah nama mixinsnya dan kita menambahkan property fungsi $radius dengan nilai defaultnya3px. Seluruh variabel $radius dalam mixin ini akan diganti dengan nilai yang diberikan dalam property mixins.
Untuk menggunakan mixin tersebut kita gunakan kode @include diikuti dengan nama fungsi.
#box{
 @include border_radius(30px);
}
Bagaimana? sangat mudah bukan? jadi setiap anda akan menambahkan border-radius, anda cukup menulis satu baris kode saja.

Kapan Harus Menggunakan CSS Preprocessor?

CSS Preprocessor seperti SASS adalah alat bantu kita sebagai web developer dalam penulisan kode CSS yang lebih terstruktur dan lebih cepat dengan bantuan variabel, mixins atau nesting. Sedangkan untuk implementasinya kita tetap menggunakan file CSS hasil dari compiling sass bukan file .scss/.sass itu sendiri.
file .scss hanya untuk proses pembangunan/development agar lebih mudah ketika ingin melakukan maintenance/perubahan terhadap style. Seperti yang saya sebutkan sebelumnya, kita hanya perlu merubah nilai variabel atau merubah mixins yang telah kita buat.

Saya benci Command Prompt, Adakah Aplikasi GUInya?

Jika anda merasa tidak nyaman dengan Command Prompt, Anda dapat menginstall aplikasi berbasis GUI seperti Scout. Scout adalah aplikasi yang dibangun dengan Adobe Air, jadi untuk menginstallnya anda harus menginstall Adobe Air terlebih dahulu.
Download Adobe Air Download Scout
Pengaturannya sangat mudah, anda tinggal menambahkan folder yang ingin anda monitor, dan mengatur bagaimana output yang dihasilkan. Selanjutnya tinggal menekan tombol play untuk memulai memonitor folder yang bersangkutan.
Scout

Kesimpulan

Keberadaan CSS Preprocessor sangat membantu dalam proses Development file CSS, penulisan Kode CSS lebih optimal dengan adanya variabel dan mixins, semua fungsi tersebut membuatnya menjadi lebih reusable dan tentunya akan menghemat waktu anda + tenaga yang dikeluarkan untuk mengetik baris-baris kode yang sama :).

Sumber Referensi

Sumber : www.ariona.net/mengenal-css-preprocessors-dan-sass/

Pengenalan JSON

JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. Format ini dibuat berdasarkan bagian dari Bahasa Pemprograman JavaScriptStandar ECMA-262 Edisi ke-3 - Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa pemprograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python dll. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran-data.
JSON terbuat dari dua struktur:
  • Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan sebagai objek (object), rekaman (record), struktur (struct), kamus (dictionary), tabel hash (hash table), daftar berkunci (keyed list), atau associative array.
  • Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau urutan (sequence).
Struktur-struktur data ini disebut sebagai struktur data universal. Pada dasarnya, semua bahasa pemprograman moderen mendukung struktur data ini dalam bentuk yang sama maupun berlainan. Hal ini pantas disebut demikian karena format data mudah dipertukarkan dengan bahasa-bahasa pemprograman yang juga berdasarkan pada struktur data ini.
JSON menggunakan bentuk sebagai berikut:
Objek adalah sepasang nama/nilai yang tidak terurutkan. Objek dimulai dengan { (kurung kurawal buka) dan diakhiri dengan } (kurung kurawal tutup). Setiap nama diikuti dengan : (titik dua) dan setiap pasangan nama/nilai dipisahkan oleh , (koma).

Larik adalah kumpulan nilai yang terurutkan. Larik dimulai dengan [ (kurung kotak buka) dan diakhiri dengan ] (kurung kotak tutup). Setiap nilai dipisahkan oleh , (koma).

Nilai (value) dapat berupa sebuah string dalam tanda kutip ganda, atau angka, atau true atau false atau null, atau sebuah objek atau sebuahlarik. Struktur-struktur tersebut dapat disusun bertingkat.

String adalah kumpulan dari nol atau lebih karakter Unicode, yang dibungkus dengan tanda kutip ganda. Di dalam string dapat digunakanbackslash escapes "\" untuk membentuk karakter khusus. Sebuah karakter mewakili karakter tunggal pada string. String sangat mirip dengan string C atau Java.

Angka adalah sangat mirip dengan angka di C atau Java, kecuali format oktal dan heksadesimal tidak digunakan.

Spasi kosong (whitespace) dapat disisipkan di antara pasangan tanda-tanda tersebut, kecuali beberapa detil encoding yang secara lengkap dipaparkan oleh bahasa pemprograman yang bersangkutan.

sumber : dari http://www.json.org/json-id.htm