Posts

Showing posts with the label programming

Mengenal Framework Slim PHP

Slim PHP merupakan sebuah micro Framework. Ukurannya yang kecil membuat framework ini banyak dipilih untuk membuat project yang minimalis. walaupun ukuranya kecil namun slim php memiliki fungsionalitas yang cukup baik. Slim bekerja sebagai dispatcher yang menerima HTTP request, memanggil callback routine, dan menerima respons HTTP. Official Website : http://www.slimframework.com/ Docs : http://www.slimframework.com/docs/ Github : https://github.com/slimphp/Slim

Mengenal Handlebars

Dibuat pada tahun 2010 oleh Yehuda Katz. Handlebars adalah sebuah templating engine yang dibuat diatas javascript. Handlebars juga kompatibel dengan templating engine lain yaitu Mustache. Keunggulan Handlebars : Bersifat logic-less templates yang dapat memisahkan presentasi dan logika. Sintaks yang bersih sehingga template menjadi mudah untuk dibuat, dibaca, dan diperbaiki. Template yang bersifat compiled dan bukan interpreted. Sangat bagus untuk global helper. Kelemahan Handlebars :  Membutuhkan Server-Side javasript seperti Nodejs didalam sebuah server untuk merender data. web resmi :  http://handlebarsjs.com/

Menginstall nodejs di Linux Ubuntu

untuk menginstall nodejs di linux ubuntu kita dapat menggunakan package manager. Untuk versinya kita akan menggunakan nodejs versi 5.x pertama, buka terminal (ctrl +alt + t). lalu copy-paste command berikut : curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash - sudo apt-get install -y nodejs setelah itu  cek apakah nodejs telah terinstall atau belum. caranya adalah dengan mengetikkan : nodejs atau npm jika pada terminal mengeluarkan pesan: No command 'modejs' found, did you mean: Command 'nodejs' from package 'nodejs' (universe) modejs: command not found itu berarti nodejs belum terinstall. jika terminal mengeluarkan tanda " > " berarti nodejs telah berhasil terinstall. jika belum terinstall ulangi langkah diatas tapi dengan mengetikkan command satu-satu. pertama ketikkan curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash - lalu setelah proses selesai lanjut dengan mengetikan sudo apt-get inst...

Web Framework yang Ringan untuk Python

Image
web framework biasanya akan memudahkan kita untuk mengerjakan suatu project. web framework juga akan mempercepat kerja kita karena kita tidak perlu mengerjakan sesuatu yang sudah dibuat sebelumnya. Pada Python, web framework lebih jarang ditemukan daripada web framework pada PHP.  Berikut ini adalah web framework  ringan yang saya temukan untuk membuat aplikasi web menggunakan python. Flask Website :  http://flask.pocoo.org/ Untuk masalah keringanan flask tidak usah diragukan lagi. Flask termasuk web framework ringan yang banyak diketahui  oleh komunitas python. Cyclone Website :  http://cyclone.io/ Cyclone adalah sebuah web framework yang mengimplentasikan Tornado API sebagai twisted protocol. Otentikasi dan otorisasi dilakukan denagn dekorator. Ini memungkinkan penggunaan kode yang bersih - bersama dengan deferreds inline. CherryPy Website :  http://www.cherrypy.or...

Struktur Dasar Pada Program Java

Terdiri dari statement, primitive data type, arrays, static methods, strings, i/o, data abstraction. menjalankan program java berarti berinteraksi dengan OS atau program development environment. Untuk menjalankan program java kita harus meng-compilenya terlebih dahulu. misal kita akan menjalankan program hitungFib. maka pertama-tama kita harus mengetikan : javac hitungFib.java. maka hitungFib di-compile menjadi Java bytecode. setelah tahap ini selesai maka program telah dicompile. hitungFib akan dibuat menjadi hitungFib.class yang terdiri dari Java bytecode. Java bytecode adalah instruksi lower level yang dapat dibaca oleh komputer namun sulit dibaca oleh manusia. Primitive Data Types dan Expressions Sebuah data type adalah kumpulan nilai-nilai yang didefinisikan dan operasi pada nilai-nilai tersebut. Dalam Java, ada empat primitive data types yaitu: Integer : angka-angka yang dapat diolah dengan operasi aritmatika. (int) Real number : sama dengan integer namun...

Algoritma bag. 1

Alasan mempelajari Algoritma karena dapat menghemat banyak biaya. Menambah komputer baru akan memperbesar biaya dan hanya mempercepat pekerjaan beberapa kali lipat. Jika kita dapat membuat Algoritma yang baik maka akan mempercepat pekerjaan berjuta-juta kali lebih cepat. Memilih Algoritma terbaik melibatkan proses yang rumit, kadang membutuhkan analisis matematika yang mutakhir. Dalam Ilmu Komputer, proses tersebut termasuk kedalam Analisa Algoritma (analysis of algorithms). Algoritma sangat erat kaitanya dengan Struktur Data. Maka dari itu kita juga akan banyak mengulas tentang Struktur Data. Studi tentang Algoritma sangat menarik karena ilmu ini masih tergolong baru walaupun dasar-dasarnya telah diketahui sejak lama. Hampir semua algoritma yang kita pelajari berumur kurang dari 50 tahun. Beberapa algoritma lainnya, baru-baru ini ditemukan. Penemuan algoritma-algoritma baru terus mencul namun hanya beberapa yang dipahami secara utuh. --      -- catat...

Sedikit Catatan Tentang Sorting Algorithm

Sorting algorithm adalah sebuah algoritma untuk menyortir elemen yang ada pada sebuah urutan acak untuk menghasilkan urutan yang pasti. Singkat kata, sorting algorithm mengurutkan suatu urutan yang masih acak. Ada beberapa Sorting algortihm, yaitu : Bubble Sort Mengurutkan dengan cara membandingkan dua urutan pertama, lalu urutan yang lebih kecil dipindahkan ke kanan. Begitu seterusnya hingga semua elemen terurut. Insertion Sort Start with a sorted list of 1 element on the left, and N-1 unsorted items on the right. Take the first unsorted item (element #2) and insert it into the sorted list, moving elements as necessary. We now have a sorted list of size 2, and N -2 unsorted elements. Repeat for all elements. Selection Sort Menyisir semua elemen dan menemukan yang paling kecil. Kemudian di tukar ke posisi pertama. Merge Sort  Merge sort takes advantage of the ease of merging already sorted lists into a new sorted list. It starts by comparing every two elem...

Apa itu Boilerplate?

Dalam bahasa pemrograman, boilerplate adalah potongan kode yang dapat dipakai berulang-ulang. secara kasar, dapat disamakan juga dengan 'template'. Boilerplate berguna untuk menghindari pengulangan atau menghindari mengetik ulang kode-kode yang selalu dipakai. Istilah ini berasal dari Industri percetakan. Pada abad 19, banyak digunakan alat untuk mencetak koran yang disebut boilerplate.

Belajar Dasar Programming Online Course

Video-video pembelajaran online sekarang sudah dengan mudah didapat di Internet secara gratis. Bahkan Universitas-universitas kelas dunia seperti MIT hingga Harvard telah membuka akses untuk kita mempelajari programming. Berikut ini situs-situs yang telah saya kumpulkan untuk belajar dasar programming Online Course. Introduction to Computer Science (Harvard, edx) :   https://goo.gl/UQJrmm Introduction to Computer Science and Programming (MIT) :  http://goo.gl/Pm0Sld Algorithms, Part I (Princeton, Coursera) :   https://goo.gl/j9IlMc Algorithms, Part II  (Princeton, Coursera)  :  https://goo.gl/jjNwJs Cryptography I ( Princeton, Coursera) :   https://goo.gl/dv7IcL Database Fundamentals (Microsoft Virtual Academy) :   https://goo.gl/1Jwa94 Cloud Computing Concepts (University of Illinois, Coursera) :   https://goo.gl/55zMQ1 Cloud Computing Concepts: Part 2 (University of Illinois, Coursera) :  https://goo.gl/vdzUb...

Pengertian Scripting dan Compiled Language

Pada bahasa pemrograman terdapat 2 istilah yang membedakan satu bahasa dengan yang lainnya. Istilah tersebut disebut dengan Scripting dan Compiled language. Perbedaan itu dapat diketahui dari bagaimana kode diolah hingga sampai ke perangkat yang digunakan oleh user.  Jika kode di-compile(  sebelum program dikirim hingga dapat dijalankan oleh user maka bahasa tersebut disebut compiled language. Pada Scripting language kode akan dikirim secara bulat-bulat ke user lalu perangkat akan menerjemahkan kode tersebut dan akhirnya program dapat dijalankan. Kedua jenis bahasa tersbut mempunyai kelebihan dan kekurangan masing-masing terkait dengan kecepatan, dann fleksibilistas.