Sorting Algorithm in Python

Due to my research works, I make myself familiar with Python. Python is a programming language. It is easy to use and human-understandable, especially it has so many tools for analyzing data. Anyway, I am also new in learning Python, I use several online learning resources to deepen my understanding in Python. Here is one of my favorite learning resource: http://interactivepython.org. You need to create an account and log in whenever you want to learn something. Once you are logged in, it will keep track your last reading chapter. Awesome, isn’t it?

Continue reading “Sorting Algorithm in Python”

6 Cities Networking by Tech In Asia Road Trip to Malang

Sesuai nama acaranya, acara ini diselenggarakan di 6 kota besar di Indonesia, dimana Kota Malang menjadi kota terakhir dari serangkaian road trip acara ini. Sebelumnya, panitia penyelenggara—Tech In Asia udah keliling 5 kota : Jakarta, Depok, Bandung, Jogjakarta, Surabaya. Walaupun Kota Malang jadi ‘juru kunci’ acara, tapi acaranya tetep meriah *prok prok* dan peserta hadir dengan penuh antusias—walaupun peserta ceweknya cuma bisa diitung dengan jari.

Peserta yang hadir rata-rata adalah anggota komunitas Stasion yang sudah sering ‘kopi darat’ di berbagai event meet-up para starter-ups di Malang dan usut punya usut semakin menjamurnya para starter-ups di Malang menyebabkan akan semakin banyak investor yang membentuk semacam inkubasi bisnis bagi komunitas starter-ups di Kota Malang. Continue reading “6 Cities Networking by Tech In Asia Road Trip to Malang”

Pake Ini Kalo Mau Ngembangin Web

Halo, berhubung saya sekarang lagi asik (#bohongbesar) ngerjain skripsi. Dan, skripsi saya adalah tentang lagi-lagi web (#loveit). Saya belajar b(u)anyak ilmu baru untuk pengembangan web. Salah satunya adalah pengembangan web secara rapid menggunakan framework.

Tak terasa dunia per-web-an berkembang sebegitu cepatnya, sampe saya kelabakan menerima hal2 baru tentang web *ndeso*. Salah satunya, framework codeigniter dengan konsep MVC yang baru aja saya perlajarin. Kayaknya setiap framework selalu MVC deh.. -,-

Satu lagi, tools yang patut diperhitungkan ama pengembang web: Bootstrap Twitter (itu edisi terbaru per tanggal postingan hari ini). Continue reading “Pake Ini Kalo Mau Ngembangin Web”

Konsep MVC (Model View Controller) Bukan PVC!

Seperti judul di atas, yang di bahas disini adalah tentang MVC, tapi dulunya saya sering kebalik-balik dengan PVC #jayus mode on. Okelah, intermezzo aja kok itu tadi J. Seperti yang sudah dijelaskan dalam posting Little Knowing About CodeIgniter (CI), bahwa CI menerapkan lingkungan pengembangan dengan metode MVC (Model View Controller). MVC memisahkan antara logika pembuatan kode dengan pembuatan template/tampilan website. Penggunaan MVC membuat proses pembuatan sebuah proyek website menjadi lebih terstruktur dan sederhana J. Tetapi, bagi yang terbiasa dengan model spaghetti code (kode acak adul) mungkin model MVC ini agak membingungkan #benarsekali!

Secara sederhana, MVC terdiri dari 3 bagian yaitu: Model, View dan Controller. Dalam website dinamis, setidaknya terdiri dari 3 hal yang paling pokok, yaitu: basis data, logika aplikasi dan cara menampilkan halaman website. Ketiga hal tersebut direpresentasikan dengan MVC, yaitu: Model untuk basis data, View untuk cara menampilkan halaman website dan Controller untuk logika aplikasi.

MODEL

Model merepresentasikan struktur data dari website yang bisa berupa basis data maupun data lain, misalnya dalam bentuk file teks dan xml. Biasanya di dalam model akan berisi class dan fungsi untuk mengambil dan melakukan update dan menghapus data website. Karena sebuah website biasanya menggunakan basis data dalam menyimpan data, maka bagian Model biasanya akan berhubungan dengan perintah-perintah query SQL.

VIEW

View merupakan informasi yang ditampilkan kepada pengunjung website. Sebisa mungkin di dalam View tidak berisi logika-logika kode, tetapi hanya berisi variable-variabel yang berisi data yang siap ditampilkan. View bisadibilang adalah halaman website yang dibuat menggunakan HTML dengan bantuan Javascript atau CSS.

Sederhananya begini, jangan pernah meletakkan kode untuk koneksi ke basis data pada bagian View ini. View hanya dikhususkan untuk menampilkan data-data hasil dari model dan controller.

CONTROLLER

Controller merupakan penghubung antara Model dan View. Di dalam Controller inilah terdapat class dan fungsi-fungsi yang memproses permintaan dari View ke dalam struktur data di dalam Model.

Controller juga tidak boleh berisi kode untuk mengakses basis data. Tugas controller adalah menyediakan berbagai variable yang akan ditampilkan di View, memanggil Model untuk melakukan akses ke basis data, menangani error program, mengerjakan proses logika dari aplikasi serta melakukan validasi/cek terhadap input.

Jadi, secara singkat urutan dari sebuah request adalah sbb: user berhubungan dengan View, dimana di dalam View inilah semua informasi ditampilkan. Saat user melakukan permintaan atau request, missal user klik tombol, maka request tersebut akan diproses oleh Controller. Apa yang harus dilakukan, data apa yang diinginkan? Apakah hanya ingin melihat data atau memasukkan data atau mungkin melakukan validasi data terlebih dahulu, semua diproses oleh Controller. Kemudian Controller akan meminta Model untuk menyelesaikan request (baik dengan atau tidak dengan query). Dari Model, data akan dikirim kembali untuk diproses lebih lanjut dalam Controller, lalu kemudian dari Controller, data akan ditampilkan di View.

Little Knowing About CodeIgniter (CI)

CodeIgniter (familiar as CI) is an open source web application framework that helps web programmer writes kick-ass PHP programs. In Indonesia, CI consists of 2 parts: Code and Igniter. Code means “Kode Program” and Igniter means “Pembakar”. So, CI means kind of system that can make you write the website code program in ‘short’ rowsJ. Well, shorter rows means easier way to write, doesn’t it?

Oke, selanjutnya berbahasa Indonesia saja yaa! #nyerah mode on

Pembaca yang berbahagia, di dalam dunia pemrograman (khususnya website), ada banyak bahasa pemrograman yang bisa digunakan, seperti: HTML, ASP, XML dan PHP. Salah satu bahasa pemrograman yang sering saya gunakan adalah HTML dan PHP.

Untuk tahu tentang PHP, baca posting saya dengan judul Website, Makanan Apa Itu? (Well reader, it’s not exactly talking about the real food! ;)). Jika sudah tahu tentang PHP, yuk lanjut ke bawah bacanya…

CI merupakan salah salah satu dari sekian banyak framework PHP yang ada. CI dikembangkan oleh Mas Rick Ellis (see @ http://www.ellislab.com). Framework adalah alat yang digunakan untuk membantu pekerjaan kita dalam memprogram (coding), berisi kumpulan dari libraryberupa fungsi-fungsi/class-class yang kita butuhkan untuk membuat website. Framework tidak hanya digunakan di website, tetapi juga digunakan di bahasa pemrograman desktop—seperti misalnya file dengan ekstensi .dll (data link library) merupakan library untuk pemrograman desktop dengan bahasa pemrograman Visual Basic. File .dll bisa kita definisikan sendiri atau tidak (alias langsung comot dan copas)!

Tujuan dari CI adalah mempermudah programmer website dalam membuat maupun mengembangkan proyek website, sehingga dapat diselesaikan lebih cepat daripada membuat dan mengembangkan website dengan koding manual. CI menyediakan banyak sekali library yang dibutuhkan dalam pembuatan website, dengan interface yang sederhana dan struktur logika untuk mengakses pustaka yang dibutuhkan.

Selain CI, framework untuk website ada lagi jenisnya, seperti ZEND dan Symphony. Lalu, mengapa kita menggunakan CI? #coz the title said that ;), karena :

1.       Gratis

CI dilisensikan di bawah lisensi dari Apache/BSD style open source license, ini berarti kita dapat menggunakannya sesuai dengan keinginan kita.

2.       Berjalan di PHP 4 dan 5

Sekarang ini PHP sudah mencapai versi 5, tetapi masih banyak juga orang yang menggunakan PHP versi 4, oleh sebab itu CI dikembangkan agar tetap kompatibel dengan PHP versi 4 dan dapat dijalankan dengan baik pada PHP versi 5.

3.       Ringan dan Cepat

Secara default, CI hanya berjalan dengan meload beberapa library saja, dengan demikian hanya membutuhkan beberapa resource yang sedikit sehingga ringan dan cepat dijalankan. Library0library lainnya akan digunakan sesuai dengan kebutuhan program.

4.       Menggunakan MVC

CI merupakan lingkungan pengembangan dengan metode MVC (Model-View-Controlller) yang membedakan antara logika dan tampilan, sehingga tugas bisa lebih mudah dipecah-pecah. Ada bagian yang khusus membuat tampilan dan bagian yang membuat core programnya.

5.       Dokumentasi

Salah satu hal yang dapat dijadikan tolak ukur apakah sebuah aplikasi benar-benar dikembangkan atau tidak adalah melalui dokumentasinya. Dalam  hal ini, CI mempunyai dokumentasi yang lengkap tentang semua hal yang ada di CI. Mulai dari langkah instalasi hingga fungsi-fungsi yang tersedia. Dokumentasi ini juga memudahkan pemula dalam mempelajari lingkungan pengembangan website dengan CI.

6.       Library yang lengkap

CI dilengkapi dengan berbagai library siap pakai untuk berbagai kebutuhan, misalnya: untuk koneksi database, email, pengaturan session dan cookies, keamanan, manipulasi gambar, dll.

Uda jelas kan, kenapa framework CI itu penting dalam mempermudah kita dalam pembuatan website? Belum puas belajar tentang CI? Kunjungi aja situsnya CI di www.codeigniter.com, kita bisa download CI dan dokumentasinya juga, trus langsung install di server local kita J. Oke, reader.. Happy Coding with CI 🙂