Showing posts with label programming. Show all posts
Showing posts with label programming. Show all posts

Monday, August 03, 2015

Mengenal beberapa BackEnd Framework untuk pengembangan Web

Pada pos sebelumnya "Memilih CSS Front-End Framework untuk pengembangan web" kita telah dikenalkan dengan beberapa framework yang digunakan sebagai front-end framework. Maka kali ini kita akan membahas dan mengenal beberapa Backend Framework untuk  pengembangan web. Secara alfabetis akan kita bahas satu persatu tiap-tiap framework yang ada.


Framework Description
Aura If you like clean code, fully decoupled libraries, and truly independent packages, then the Aura project is for you.
Backbone.js Backbone.js gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing API over a RESTful JSON interface.
CakePHP Rapid development PHP framework.
CodeIgniter CodeIgniter is a proven, agile & open PHP web application framework with a small footprint. It is powering the next generation of web apps.
Dart Dart is a new platform for scalable web app engineering.
Django Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.
express Express is a minimal and flexible node.js web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications.
Flight An extensible micro-framework for PHP.
FuelPHP FuelPHP is a simple, flexible, community driven PHP 5.3+ framework, based on the best ideas of other frameworks, with a fresh start.
Kohana An elegant HMVC PHP5 framework that provides a rich set of components for building web applications.
Lavarel Laravel is a PHP framework built on top of several Symfony components, giving your application a great foundation of well-tested and reliable code.
Lithium Lithium is a full-stack web application framework, for producing web applications. It is written in PHP, supporting PHP 5.3 and onwards and is based on the model–view–controller development architecture. It is described as adhering to no-nonsense philosophies
MEAN.IO MEAN is an opinionated fullstack javascript framework - which simplifies and accelerates web.
Mean.js MEAN.JS is a full-stack JavaScript solution that helps you build fast, robust and maintainble production web applications using MongoDB, Express, AngularJS, and Node.js. MEAN.JS is a fork of mean.io.
MooTools MooTools is a compact, modular, Object-Oriented JavaScript framework designed for the intermediate to advanced JavaScript developer for building Backend and Frontend Applications
node.js Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
Phalcon Phalcon is a web framework implemented as a C extension offering high performance and lower resource consumption. According to the creators, it is the fastest PHP framework.
Phonegap PhoneGap is a free and open source framework that allows you to create mobile apps using standardized web APIs for the platforms you care about.
Ruby on Rails Ruby on Rails is an open source web framework that's optimized for programmer happiness and sustainable productivity.
Sinatra Sinatra is a free and open source software web application library and domain-specific language written in Ruby. It is an alternative to other Ruby web application frameworks such as Ruby on Rails, Merb, Nitro and Camping.
Sysmfony Symfony is a set of reusable PHP components and a PHP framework for web projects. Yii
Yii Yii is a high-performance PHP framework best for developing Web 2.0 applications. Yii comes with rich features: MVC, DAO/ActiveRecord, I18N/L10N, caching, authentication and role-based access control, scaffolding, testing, etc.
Zend framework implemented in PHP 5 and licensed under the New BSD License.
Bagikan :   |  Facebook|  Twitter|  Google+

Monday, July 06, 2015

Head First Scripting menggunakan bash






Berikut merupakan dasar-dasar scripting menggunakan bash. Bash merupakan scripting language yang accessable pada sistem operasi, artinya dapat diakses secara langsung melalui console. Bash merupakan shell scripting yang terdapat pada sistem operasi linux (bawaan).

#which bash
root@kalipad#/bin/bash
Buat sebuah file dengan ekstensi *.sh (asumsikan kita membuat file dengan nama program.sh) kemudian ubah permission file dengan cara berikut
#chmod +x program.sh
Kemudian edit file tersebut menggunakan editor tertentu seperti vim, pico, nano atupun editor GUI seperti gedit, leafpad, mousepad
#!/bin/bash
echo "content"
Contoh selanjutnya yakni penggunaan variable
#!/bin/bash
string="sebuah kata"
echo $string
root@kalipad#./program.sh
sebuah kata
 
Penggunaan function dan variable global dan lokal
#!/bin/bash
#Definisikan variabel global
#Variabel ini bersifat global dapat diakes dari dalam maupun luar(fungsi)
VAR="global variable"
function bash {
#Definisikan variabel lokal
#Berlaku lokal pada fungsi
local VAR="local variable"
echo $VAR
}
echo $VAR
bash
Bagikan :   |  Facebook|  Twitter|  Google+

Friday, July 03, 2015

Memilih CSS Front-End Framework untuk pengembangan web

Mungkin telah banyak yang tahu mengenai bagaimana proses pengembangan web. Web dibangun dengan berbagai macam platform, fitur, keunggulan dan juga keragaman. Membangun sebuah web dapatnya seperti memilih jenis parfum yang terdapat pada suatu swalayan, kalian dapat melihat dan merasakan perbedaanny namun yang pasti semuanya berfungsi sebagai parfum. :D ...(Oke abaikan)

Web pada zaman sekarang telah banyak mengalami kemajuan dimana memberikan keluwesan pengembang dengan berbagai pilihan, praktis dan dipermudah, tidak hanya pada pengembangan front-end namun juga pada back-end.  

Penulis walau hanya memakai blogger untuk menulis namun juga tidak ketinggalan untuk  menikmati bagaimana pengembangan suatu web dengan penggunaan framework. Framework merupakan perangkat/tools/plugin telah tersusun dan tersistematis memberikan kemudahan dengan daftar fungsi tertentu untuk memudahkan pengembangan suatu sistem, dan pasti dalam dunia IT web framework termasuk salah satu yang paling pesat perkembangannya. Sudah dijelaskan sebelumnya dalam mengembangkan web, terdapat beberapa part tertentu yang memang  jadi bahasan utama dan mereka tidak dapat dimixing satu dengan yang lain 

Part pertama yakni Front-End Development Framework. Untuk pengembangan web front-end atau antarmuka pasti melibatkan CSS. CSS dikembangkan dalam suatu framework tertentu dengan fungsi dan kegunaan tertentu yang pasti lebih handal, aman, cepat dan juga eyecatching. Terdapat beberapa framework yang pada pengembangannya sudah menarik perhatian developer seluruh dunia. Framework tersebut antara lain :  

  1. Bootstrap, 
  2. Foundation, 
  3. Semantic UI, 
  4. 960 Grid System, 
  5. Kube, 
  6. Cardinal Framework, 
  7. Less Framework, 
  8. Blue Print,
  9. YAML, 
  10. Wee,
  11. Modest Grid, 
  12. Floatz, 
  13. UI Kit, 
  14. Skeleton.

Diatas mungkin masih sebahagian yang disebutkan. Namun daripada yang disebutkan diatas terdapat beberapa framework yang memang pada dasarnya sudah populer dan paling banyak digunakan, seperti Bootstrap, Semantic UI dan Foundation merupakan 3 besar yang paling populer. Front-End framework juga biasa disebut sebagai CSS framework karena dominasi penggunaan CSS pada framework tersebut. Perbedaan masing-masing framework tersebut terletak pada preprocessor dari CSS yang digunakan dan juga license dari framework tersebut. Sebut saja Bootstrap yang menggunakan MIT license dan juga menggunakan kedua preprocessor seperti SASS dan juga LESS selanjutnya Semantic UI juga merupakan MIT License namun hanya menggunakan LESS Preprocessor.

Jadi dengan segitu banyak framework yang ada kita sebagai pengembang harus memilih yang mana? Jika harus memilih maka pilihlah yang paling populer karena kemungkinan perangkat yang populer perkembangannya berkelanjutan. Penulis sendiri lebih prefer dengan penggunaan Bootstrap sebagai awal percobaan, karena bootstrap cukup populer.

Oke begitulah sedikit pengantar mengenai penggunaan dan memilih CSS framework dalam pengembangan web. Selanjutnya kita mungkin akan membahas penggunaannya.

Bagikan :   |  Facebook|  Twitter|  Google+

Sunday, February 01, 2015

Scripting language pada sistem operasi Linux dan Windows

Web developer, sysadmin, network engineer sebagaimana mereka menyebutnya, script programming pada dasarnya  berbeda dibandingkan dengan bahasa pemrograman lain yang dikenal oleh banyak orang, pemrograman script yang pasti juga berbeda dalam proses eksekusi programmnya dan karena itu bahasanya pun berbeda dengan bahasa pemrograman umum yang menggunakan compiler.
Beberapa sumber mendefinisikan hal ini sebagai berikut :

" A scripting language or script language is a programming language that supports scripts, programs written for a special run-time environment that can interpret (rather than compile) and automate the execution of tasks that could alternatively be executed one-by-one by a human operator. Environments that can be automated through scripting include software applications, web pages within a web browser, the shells of operating systems (OS), and embedded systems "

Perbedaan yang pertama yang terlihat antara lain, jika bahasa pemrograman seperti java, c, c++ yang menggunakan compiler, linker untuk mengeksekusi program, sedangkan secara umum scripting language tidak berjalan demikian, program dapat dijalankan cukup dengan melalui konsol dan juga API/engine dari scripting language itu telah terpasang dalam sistem operasi. Untuk orang-orang yang bergerak dibidang networking, seperti sysadmin tentunya, yang biasanya sangat familiar dengan scripting. Sysadmin menggunakan script untuk membantunya menyelesaikan tugas dengan lebih cepat dan efektif. Seperti BASH (Bourne again Shell) shell script yang default terdapat pada sistem operasi linux, teknik scripting ini biasa disebut sebagai shell scripting.

Selanjutnya dalam memprogram dengan menggunakan scripting language lebih cepat dibandingkan dengan bahasa pemrograman umum, karena scripting language menerapkan interpreter dalam mengeksekusi program. 

Beberapa scripting language yang telah dikenal banyak orang antara lain adalah Erlang, Unix shell script(bash, ksh, csh), Perl, Lua, Python, PHP,  jscript, javascript, vbscript, windows poweshell. Setelah kita mengetahui beberapa poin antara sejarah umum bahasa scripting kita kategorikan dari yang paling tua hingga keterbaruan.

1. Erlang (1986)
2. Shell Script ()
3. Perl (1987)
4. Tcl (1988)
5. Python (1991)
6. Ruby (1995)
7. PHP (1995)
8. Javascript (1995)
9. Powershell (2006)

Diantara beberapa bahasa berikut yang kurang familiar mungkin adalah Erlang, Tcl, Powershell. Penulis akan menjelaskan secara singkat perbedaan dan sejarah untuk tiap bahasa yang kita anggap kurang familiar berikut . .

Erlang, bisa dikatakan Erlang merupakan predecessor dari setiap bahasa scripting yang kita kenal sekarang, karena ia telah ada sejak awal berkisar pada tahun 1986 dan juga telah berumur  kurang dari 30 tahun (waw).
Tcl, pronounce Tickle juga merupakan bahasa scripting yang telah ada dan merupakan scripting language yg juga dikembangkan di Barkeley University
Poweshell, Untuk bahasa script berikut ini diterapkan di platform Windows Server dan yang pasti tidak bersifat opensource namun proprietary. 


Bagikan :   |  Facebook|  Twitter|  Google+

Thursday, December 11, 2014

SMART HOME Kontrol lampu berbasis web

Sudah lama gak nulis, jadi kepengen nulis dan bagi-bagi pengetahuan kepada semua, kali ini mengenai smart home, ya projek tugas besar sistem embedded semester 7 dengan sks yang gede 4sks, jadi ngeri kalo gak jadi hhe. Oh ia, gak lupa kasih tau kalo penulis jurusan "sistem komputer" jadi ya tugasnya pasti ada alat, ada ngoding. Oke baca lanjutannya ya .... 

Smart home, secara sepintas mungkin sistem yang dibangun terlihat sangat kompleks, padahal sebenarnya bisa dibilang sistem yang dibuat ini cukup sederhana dengan memanfaatkan beberapa komponen seperti board controller, laptop dan juga Access point kita sudah dapat membangun rumah pintar sederhana, ditambah dengan pengetahuan web programming, karena sistem yang dibuat berbasis web setidaknya memiliki pengethuan mengenai HTML, CSS, JS, PHP dan Jquery. Oke, jadi yang jadi pertanyaan adalah perangkat-perangkat apa saja yang digunakan untuk membuat sistem seperti ini ? Berikut adalah jawabannya . .

- Maket rumah (dapat dibuat dengan akrilik/triplek)
- 3 buah LED yang telah disolder dalam PCB bolong dan dibuat kabel jumpernya
- Laptop ( Disarankan menggunakan linux)
  •   Debian distros 
  •   Web Server Installed (Apache2)
  •   PHP 5 Installed
- Arduino UNO - Board Controller
  •  Full package Board + USB-Serial cable
  •  Arduino IDE (IDE Compiler nya arduino jg harus terinstal)
- Access Point atau Wireless Router
  • Merk apapun bisa digunakan, dalam percobaan menggunakan LINKSYS  WRTG54G
  • Atau bisa juga menggunakan hostapd (ap-hotspot) di linux yang bisa jalandi distro berbasis debian seperti ubuntu, mint dan varian lain.
- Ethernet Cable (AP to PC)
- Mobile Phone ( Android, iOS, WindowsPhone)

Berikut merupakan skematik perancangan smart home - kontrol lampu berbasis web




                                                        Gambar(1) skematik perancangan




Maket
Maket dibuat dengan menggunakan kayu, triplek dan juga akrilik, dapat dilihat seperti gambar berikut, LED diletakkan pada bagian atas agar menyerupai bola lampu






                                                         Gambar(2) hasil jadi sistem
 


Langkah kerja
1.  Langkah pertama kita akan "coding" board controller (arduino) terlebih dahulu
karena kita tahu terdapat 3 buah LED yang digunakan maka otomatis kita juga akan menggunakan 3 buah pin, antara lain pin 8, 12, 13 dimana ketiga pin ini merupakan pin digital. Dapat anda lihat sendiri pada datasheet ATMEGA 328.
Dan jangan lupa untuk melakukan grounding untuk setiap led.

2. Kemudian program board tersebut setidaknya dapat dijalankan menggunakan input berupa huruf atau angka. Pada contoh dibawah kita menggunakan input user berupa angka yang dapat dibaca melalui serial monitor nantinya Contoh seperti berikut : 

 int ledPin13 = 13;
 int ledPin12 = 12;
 int ledPin8 = 8;
 int incomingByte;

void setup() {

 

Serial.begin(9600); // initialize serial communication
pinMode(ledPin13, OUTPUT);
pinMode(ledPin12, OUTPUT);
pinMode(ledPin8, OUTPUT);
}

 void loop()
 

 {

   // see if there's incoming serial data:

   if (Serial.available() > 0)

     {

       incomingByte = Serial.read(); // read the oldest byte in the serial buffer

     //Preform the code to switch on or off the leds

      if (incomingByte == '0') {

    digitalWrite(ledPin13, HIGH); //If the serial data is 0 turn red LED on

  }

   if (incomingByte == '1') {

   digitalWrite(ledPin13, LOW); //If the serial data is 1 turn red LED off

 }
     if (incomingByte == '2') {
    digitalWrite(ledPin12, HIGH); //If the serial data is 2 turn green LED on

  }
   if (incomingByte == '3') {

   digitalWrite(ledPin12, LOW); //If the serial data is 3 turn green LED off

 }
   if (incomingByte== '4') //If the serial data is 3 turn green LED on

   {

   digitalWrite(ledPin8, HIGH);
    }
   if(incomingByte=='5') //If the serial data is 3 turn green LED off

     {
     digitalWrite(ledPin8, LOW);
     }
 }
}


<!-end of code block ============================================--> 3. Lanjut, untuk web server kita dapat menggunakan bundling ataupun dapat di instal secara stand-alone install apache2 dan php5, karena kita tidak membutuhkan database maka tidak perlu memasang mysql. Jika telah terpasang buatlah folder/direktori yang akan diakses nantinya 

seperti direktori 'smart' atau dapat disesuaikan dengan selera kalian, selanjutnya kita buat file index.php dan style.css karena kedua file ini saling terkait satu sama lain.

4. Jika telah selesai kita akan masuk ke poin utama bagaimana pemrosesan arduino dapat diakses melalui web server. Bagian inilah yang menjadi bagian penting agar sistem tersebut dapat diakses secara mobile melalui web. Sebelumnya penulis akan menjelaskan bahwa secara hardware Arduino UNO untuk dapat digunakan menjadi web server harus menggunakan suatu extension atau kita bisa sebut sebagai shield tambahan yg harus diembedd pada board UNO sehingga dapat dijadikan web server, Shield ini dikenal dengan nama ethernet shield, mungkin karena keterbatasan rupiah yg ada pada penulis maka penulis mencari cara bagaimana agar arduino terlebih komunikasi serial nya dapat langsung dihubungkan tanpa adanya perangkat tambahan dan hal tersebut ternyata dimudahkan karena terdapat pengembang yang membuat suatu class (kelas) dalam pemrograman berorientasi objek dalam php yang artinya dapat kita gunakan dan akses dari  kelas tersebut, seperti koneksi serial, untuk buka dan tutup komunikasi. Dari itu penulis juga hanya melakukan akses dari kelas tersebut dengan membuat objek baru pada file index sehingga dapat berjalan.

5. Portal web dapat dibuat sesuka hati dan sebagus mungkin, dan dibuat sefisien mungkin, kalo jago css nya pasti 'insha Allah' bisa bagus. Untuk contoh ini yang penulis buat karena dibuat terpisah antara akses melalui 'desktop/laptop' sama akese lewat 'Mobile Phone' seperti ini tampilannya, sederhana hanya ada header, ACTIVE/INACTIVE button, status lampu. Yang pasti dibuat sesederhana mungkin, terlihat akses terdapat pada direktori php, dan untuk mobilenya nanti adalah php2. Untuk kegunaan yang pasti sama, dan pada mobile yang pasti dibuat dengan ukuran mobile.


Gambar(3) Web based interface



Bagikan :   |  Facebook|  Twitter|  Google+

Sunday, April 06, 2014

Instalasi Omnet++ di Ubuntu 11.04 ( Natty)



instalasi omnet++ di ubuntu











Kali ini saya akan menjelaskan tahap - tahap instalasi omnetpp. Pada dasarnya manual books atau Installation Guide sudah tersedia dan di bundling ke dalam aplikasi tersebut. Jadi kali ini saya akan menjelaskan proses dan tahapan instalasi tersebut. Aplikasi tersebut dapat di unduh disini (official) Link

Omnet++ merupakan perangkat lunak aplikasi yang dikhususkan pada simulasi network dimana berbasiskan framework, dan komponen base ny didasarkan pada C++. Untuk pembangunan dan performasi jaringan yang berbasis wired, wireless, protocol dan berbagai macam spesifikasi yang dibangun dari simulator ini. Omnet merupakan simulator yang bersifat terbuka, artinya tidak dituntutnya lisensi akan penggunaan perangkat ini. Dan lebih bagusnya lagi. KIta juga dapat mengembangkan modul" sendiri yang dikhususkan dalam mensimulasikan bahasan yang kita buat ( walau saya sendiri baru memulai ).

Kesulitan dalam penggunaan aplikasi ini mungkin pada dasarnya adalah penggunaan bahasa berorientasi objek dimana digunakan C++. C++, yang seperti kita ketahui merupakan bahasa yang dikembangkan oleh BJarne S. Bagi penulis sendiri bahasa ini lebih kompleks dibandingkan bahasa pemrograman lain yang sudah mendukung Objek seperti, C#, Java yang mana lebih ramah apabila kita ingin memulai. Namun kita masih harus tetap belajar dan belajar. :D

Oke kita lanjutkan, apabila file tersebut telah diunduh. dan anda dapet memindahkan file tersebut terlebih dahulu langsung dibawah direktori /home, yang sebelumnya file tersebut berada di direktori


/home/"user"/Downloads


File yang anda unduh akan berbentuk tape archive (tar.gz). Untuk meng-ekstrak file tersebut anda dapat melakukan sesuai perintah dibawah , dengan mode previlage root

root@PC:/home# tar -xzf omnetpp-4.4.1-src.tgz 


Maka file tersebut telah terekstrak di direktori home. Dan sebelumnya ubah permission dari file tersebut. Agar tidak sengaja ter-remove oleh anda :P .

root@PC:/home# chmod 711 omnetpp-4.4.1-src.tgz 

pastikan anda dalam keadaan root untuk merubah permission

Kemudian menuju direktori omnetpp-4.4.1 


root@PC:/home# cd omnetpp-4.4.1 


Anda akan melihat banyak file dan direktori di file tersebut. Eitss Namun sebelumnya kita jeda terlebih dahulu karena dimungkinkan terdapat package yang tidak mendukung.
Kali ini penulis khusukan pada pengguna yang menggunakan distro debian based yang packaging menggunakan APT (Advanced Packaging Tool).

Jika telah terkoneksi ke internet. Install daftar package seperti berikut

root@PC:/home/omnetpp-4.4.1# apt-get install build-essential gcc g++ bison flex perl \
tcl-dev tk-dev blt libxml2-dev zlib1g-dev openjdk-6-jre \
doxygen graphviz openmpi-bin libopenmpi-dev libpcap-dev

Kemudian tunggu sampai package" tersebut selesai dipasang.
Jika telah selesai update package tersebut.

root@PC:/home/omnetpp-4.4.1# sudo apt-get update



Oke langkah yang bagus untuk kali ini :D .... 
Masih ke direktori sebelumnya 

root@PC:/home/omnetpp-4.4.1#


Kalian harus menjalankans script configure dengan cara

user@PC:/home/omnetpp-4.4.1# ./configure


Tunggu hingga selesai. Apabila tidak terdapat notifikasi error, atau package yang kurang pada saat instalasi maka kita tinggal mengkompilasi dengan cara

root@PC:/home/omnetpp-4.4.1# make


Tunggu proses kompilasi selesai. Setelah selesai maka anda tinggal melaunch program tersebut

root@PC:/home/omnetpp-4.4.1# omnetpp


JIka program tersebut berjalan. Maka dapat dipastikan proses instalasi anda berjalan lancar.
kalian juga dapat mencoba menjalankan sample yang terdapat disana


root@PC:/home/omnetpp-4.4.1# cd samples/dyna


root@PC:/home/omnetpp-4.4.1/samples/dyna# ./dyna


JIka berhasil maka akan tampil contoh simulasi sederhana.


Sekian :D





Bagikan :   |  Facebook|  Twitter|  Google+