Rabu, 30 September 2015

Berbagai Tipe Programmer Berdasarkan Framework

03.25 Posted by Unknown No comments
Programmer, bukan program manager sebuah acara reality show di televisi swasta ataupun sebuah acara joged joged gak jelas, melainkan seseorang yang mempunyai keterampilan dan keahlian dalam menuangkan algoritma dan bisnis proses ke sebuah kode program yang ditulis kedalam bahasa pemrograman tertentu untuk menjadi sebuah aplikasi yang dapat menyelesaikan kebutuhan penggunanya. Tentu saja programmer membutuhkan bahasa pemrograman untuk membangun aplikasi yang akan mereka kembangkan, namun beberapa dari mereka ada juga yang menggunakan framework open source untuk membantu pengembangan aplikasi mereka dibanding membangun aplikasi dari awal.
Salah satu hal yang paling mencolok kenapa programmer menggunakan framework adalah agar tercipta standard pengembangan aplikasi yang dapat diadaptasi oleh programmer lain dalam satu tim. Selain itu biasanya framework sudah dilengkap berbagai library siap pakai yang tak perlu kita buat lagi dari awal. Misalnya library untuk membuat form, memvalidasi form, akses dan manipulasi ke database, dan lainnya.
Dengan hadirnya framework open source penggunanya pun sangat banyak dan beragam dari berbagai latar belakang. Ada yang cuma hobi sampai seorang profesional. Ada yang masih sekolah sampai sudah berpendidikan tinggi. Keberagaman tersebut memunculkan berbagai tipe orang alias programmer sesuai keseharian mereka terhadap framework tersebut. Tak jarang tipe – tipe programmer yang akan diceritakan di tulisan ini, pasti sering kita temui di forum atau group Facebook terkait.
Saling membantu, berbagi, dan mengejek pun bukan barang aneh ketika seseorang bertanya di suatu forum. Namun itulah indahnya kehidupan. Dengan berbagai tingkah unik mereka, dunia pemrograman pun semakin menjadi seru dan greget yang menciptakan suasana menjadi lebih dinamis. Berikut ini adalah beberapa programmer berdasarkan tingkah mereka terhadap suatu framework open source.

1. Programmer yang Hanya Menggunakan

Tentu saja programmer yang satu ini merupakan paling umum. Programmer yang satu ini sudah mencoba daripada hanya sekedar membicarakan saja suatu framework atau hanya menyebar sentimen negatif suatu framework. Framework yang dipilihnya digunakan untuk mulai dari proyek pribadi, hobi, hingga proyek resminya. Selalu mempertimbangkan pembaharuan framework jika ada update dan tidak terlalu mengikuti isu pengembangan hingga tingkat source code. Baginya yang penting framework tersebut membantunya dalam mempermudah proyeknya. Biasanya programmer yang satu ini akan menanyakan pertanyaan yang memang sudah dihadapi terlebih dahulu, ketimbang menanyakan pertanyaan yang kasusnya belum pernah dihadapi. Sesekali ikut mempromosikan framework yang dia gunakan walaupun hanya person to person.

2. Programmer yang Rajin Membaca Dokumentasi Framework

Tipe programmer ini merupakan tipe lanjutan dari tipe pertama. Mereka yang rajin membaca dokumentasi akan sangat jarang bertanya hal – hal yang sudah dijelaskan di dokumentasi. Tanpa mendahulukan bertanya, dokumentasi framework yang dipilihnya akan selalu menjadi sumber jawaban utama yang dia baca. Biasanya jika membaca dokumentasi framework dengan teliti, maka dia akan menemukan jawaban. Atau bila kurang lengkap, programmer tersebut akan mencari tambahan jawaban dengan searching terlebih dahulu menggunakan mesin pencari dan terdampar di blog atau website yang menjelaskan framework yang dipilihnya.
Sekalipun dia bertanya, pasti akan bertanya hal yang tidak terdapat di dokumentasi ataupun belum ada yang membahasnya. Sehingga diskusi pun akan menjadi seru karena bisa jadi pertanyaannya tersebut menjadi issue baru bagi pengembangan framework. Tipe ini biasanya sangat mudah untuk menggunakan framework lain dari biasanya, jika harus menghadapi proyek yang membutuhkan framework diluar pilihannya. Selama ada dokumentasi, pengembangan pun akan tetap berjalan.

3. Programmer yang Malas Membaca Dokumentasi Framework

Tipe programmer ini merupakan tipe lanjutan dari tipe pertama namun kontradiksi dari tipe kedua. Biasanya kebiasaan malas membaca ini terdapat di newbie yang baru belajar framework yang dipilihnya. Tak jarang bila kita sering melihat pertanyaan remeh yang sebenarnya jawabannya sudah sering didapat dan terpampang jelas di dokumentasi. Biasanya programmer ini akan diarahkan untuk membiasakan membaca dokumentasi sebelum bertanya selain mendapatkan jawaban langsung dari para master yang sudah lebih dulu menguasai framework yang kebetulan sama dengan pilihannya.
Jika sering bertanya tanpa membaca dokumentasi, biasanya akan ada master yang malah akan memberikan sedikit “ketegasan” agar selalu membaca dokumentasi. Memang masalah ini terkendala oleh bahasa Inggris yang menjadi bahasa utama dalam penulisan dokumentasi framework. Jadi tipe programmer ini pun harus diberikan bimbingan dalam mempelajari bahasa Inggris. Namun sekalipun newbie, apabila memiliki kebiasaan membaca seperti tipe kedua, untuk berpindah – pindah framework pun bukan masalah besar yang memakan waktu lama.

4. Programmer yang Suka Ngeluh dengan Fitur dari Sebuah Framework

Suka ngeluh kalau framework yang dipilihnya atau dipilih orang lain mempunyai banyak kekurangan. Padahal bikin karya pakai framework itu pun belum pernah. Ada juga yang sudah menggunakan framework yang dipilihnya tapi ada bagian yang gak suka dengan framework tersebut. Itulah tugasnya programmer ketika menggunakan framework lebih baik ikut berkontribusi untuk mengembangkan framework yang dipilihnya menjadi lebih baik. Karena dengan ngeluh saja, apa yang diinginkan tidak akan muncul begitu saja. Di forum bukan hal aneh kalau suka bikin posting “Kenapa sih masih banyak yang menggunakan framework ini?”, “Kenapa sih ga pada move on ke framework yang lagi mainstream?”. Dan pada akhirnya bila sudah berpengalaman tentu akan sangat jarang mengeluh di forum dan ikut berkontribusi.

5. Programmer yang Suka Ngebanding – Bandingin Framework

Bisa dibilang programmer yang satu ini merupakan lanjutan dari tipe pertama. Dengan modal nekat, biasanya ada programmer yang akan posting, “mana sih yang lebih bagus, framework A atau B?”, “ternyata framework C lebih bagus lho dari A dan B”. Programmer seperti ini biasanya belum pernah mencoba sama sekali atau baru mencoba hanya permukaannya saja. Programmer yang berpengalaman dengan framework yang dipilihnya biasanya akan memaksimalkan penggunaannya, atau kalaupun menggunakan framework lain tentu dia akan lebih memilih diam dan tetap berkarya ketimbang membanding – bandingkan framework. Alhasil, ngebanding – bandingin framework sebenarnya tidak lebih bermanfaat dibandingkan membuat suatu karya. Ayo kita membuat karya :D.

6. Programmer yang Kepo dengan Perkembangan Framework

Bisa jadi programmer yang satu ini adalah seorang jurnalis yang ditugaskan oleh kantornya untuk menulis artikel tentang framework yang dikepoinnya. Atau seorang fans berat dari framework tersebut. Dia kepoin itu framework mulai dari perubahan yang terdapat di changelog, ngintip – ngintip versi alpha dan beta, mencari informasi seputar pembuat framework-nya, sampai – sampai lihat perkembangannya dengan melihat issue yang ada di layanan Git yang digunakan pengembang framework. Tipe programmer ini akan selalu up to date dengan perkembangan framework yang dikepoinnya. Ibarat wota yang selalu kepo dengan oshimen-nya, programmer yang satu ini biasanya follow akun Twitter para developer dan akun – akun yang memiliki informasi terkait framework tersebut.

7. Programmer yang Memahami dan Menguasai Seluk Beluk Framework

Tipe ketujuh ini merupakan turunan dari tipe pertama, kedua, dan keenam. Dia tidak hanya menguasai di permukaan atas saja, sampai unit terdalam pun dia tahu cara kerjanya. Selain memahami dokumentasi, bagian dalam yang dikuasainya suka dimodifikasi juga untuk keperluan tingkat lanjut. Mulai dari sekadar mengubah informasi kesalahan validasi, hingga mengubah core dari framework tersebut dapat dilakukannya. Dia sangat jarang menjawab pertanyaan yang sudah sering ditanyakan atau yang dapat dijawab dengan dokumentasi, pertanyaan yang menggigitlah yang biasanya akan dijawab. Sedikit lagi tipe ketujuh dapat menjadi tipe kedelapan ataupun kesembilan.

8. Programmer yang Ikut Berkontribusi Mengembangkan Framework

Tipe kedelapan ini mungkin merupakan gabungan dari tipe pertama, kedua, keenam, dan ketujuh. Bagaimana tidak, dengan mengetahui setiap seluk beluk bagian framework, dia akan lebih mengerti ada kekurangan apa sajakah yang terdapat di framework pilihannya. Jika ada yang kurang, dia tidak akan mem-posting-nya di forum terbuka, tapi mengirimkan pesan langsung kepada pengembang framework untuk izin ikut kontribusi ataupun sekadar memberitahu. Bila ia belum siap menyumbang kode, meningkatkan dokumentasi pun bisa jadi salah satu pilihan yang dapat ditempunya untuk mengembangkan framework pilihannya. Tipe ini patut dicontoh oleh programmer lain demi kemajuan framework pilihannya.

9. Programmer yang Membuat Sebuah Karya dengan Framework

Tipe kesembilan ini, tipe yang talk less do more. Ketika orang lain memperdebatkan berbagai kekurangan framework pilihannya. Dia berusaha membuat karya yang tidak dibuat oleh orang lain yang berdebat. Dia juga berusaha membuat terobosan baru untuk memajukan komunitas dan negaranya. Ada yang membuat layanan cloud api, ada yang membuat website untuk menguji kemampuan pemrograman seseorang, ada yang membuat content management system, ada yang membuat perangkat pendukung IoT, ada yang membuat portal kelas online, dan masih banyak lagi.
Tidak hanya membuat sebuah produk skala besar, ada juga diantara mereka yang membuat library, plugin, atau generator untuk CRUD, Form, Model, dan tampilan. Umumnya mereka adalah orang yang sudah lama malang melintang, tapi orang yang baru terjun pun tidak sedikit ikut berkarya dengan framework pilihannya. Tipe ini bisa jadi referensi bagi orang – orang yang masih galau mau ngapain dengan framework pilihannya.

10. Programmer yang Membuat Framework

Yah ketika orang masih ribut – ribut soal framework mana yang lebih bagus dan ngejelek – jelekin framework lain. Ada beberapa programmer yang justru membuat framework-nya sendiri. Peruntukkannya pun bermacam – macam, ada untuk pengembangan aplikasi web, desktop, dan lainnya. Memang tipe kesepuluh ini biasanya adalah tipe yang sudah pernah menggunakan framework tertentu dan sudah pasti menguasainya. Kemudian mencoba fokus untuk mengembangkan framework-nya sendiri dalam memenuhi kebutuhan konsumen. Ada juga yang sebagian membuat framework-nya sendiri karena merasa tidak puas dengan framework yang sudah ada atau malah mengembangnkan dari yang sudah ada. Mereka yang berbicara seperti itu bukan anak kemarin sore, tapi sudah makan asam garam dengan dilengkapi berbagai pengetahuan, misalnya design pattern, object oriented analysis, dan harus juga menguasai bahasa pemrograman serta teknologi terkait yang dia pilih.
Sebagai contoh saja, Di Indonesia sendiri sudah ada beberapa framework yang dikembangkan oleh programmer Indonesia. Mereka adalah para profesional yang sudah cukup lama malang melintang di dunia pemrograman Indonesia.
  • FastPlaz, web framework untuk Pascal ini dikembangkan oleh Luri Darmwawan
  • Dee Framework, web framework untuk PHP ini dikembangkan oleh Misbahul D. Munir
  • EmeraldBox, web framework untuk Python yang dikembangkan diatas Flask dan Werkzeug ini digagas oleh Fauzan Emmerling
  • KokoroPy, web framework untuk Python yang dikembangkan diatas Bottle ini digagas oleh Go Fendi Asgard
  • IGNSDK, application framework untuk pengembangan aplikasi desktop Linux berbasis teknologi web ini dikembangkan oleh Ibnu Yahya dari IGOS Nusantara
  • Kecik, web framework untuk PHP berupa single file ini dikembangkan oleh Elsprananda Klan
  • Panada, web framework untuk PHP ini dikembangkan oleh Iskandar Soesman
  • Senthot, web framework untuk PHP ini dikembangkan oleh Senthot
Memang perlu waktu dan tenaga untuk menjadi tipe kesepuluh ini. Tapi Anda yang membaca tulisan ini pasti suatu saat ingin juga mengembangkan framework Anda sendiri untuk skala dunia :D. Ayo terus belajar dan berjuang.

Mencoba Banyak Bahasa Pemrograman atau Menguasai Beberapa Saja?

03.24 Posted by Unknown No comments

Pendahuluan

Dunia IT (information technology) merupakan sebuah ranah ilmu yang terlihat semacam satu kesatuan (asalkan bisa menggunakan komputer) bagi orang awam namun kenyataannya terdapat banyak sekali cabang ilmu yang tidak bisa kita ambil semuanya dalam waktu yang sebentar. Sebagai contoh kecil, di dunia IT sendiri terdapat fokus ilmu pada bidang teori komputasi, jaringan komputer, algoritma dan pemrograman, sistem informasi, kecerdasan buatan, dan masih banyak lagi bidang ilmu di dunia IT yang bahkan dalam kuliah pun hanya dibahas kulitnya saja.
Bagi seseorang yang baru mengenal dunia IT tentu punya ambisi untuk ingin menguasai segalanya. Mulai dari jaringan komputer hingga menguasai semua bahasa pemrograman. Sekarang kita akan ambil contoh kasus dalam konteks seseorang ingin menguasai bahasa pemrograman. Tentu bahasa pemrograman merupakan salah satu hal yang menarik bagi seseorang yang ingin menguasai dunia IT. Kenapa? ada banyak sekali bahasa pemrograman yang cukup membuat seseorang ingin menguasainya.
Bahasa pemrograman ini ada banyak sekali ragamnya. Dari segi sistem operasi ada yang hanya tersedia untuk Windows (C#, Visual Basic), ada yang hanya tersedia untuk OSX (Swift, Objective-C), ada yang hanya tersedia untuk Linux (BASH), dan ada juga yang tersedia untuk semuanya (Python, PHP, Javascript, C, C++). Dari segi perangkat ada yang hanya disediakan untuk komputer desktop, perangkat mobile, perangkat IoT, dan embedded machine. Dari sedikit aspek yang telah disebutkan, waktu yang dibutuhkan untuk semuanya tidak akan pernah cukup. Berikut ini adalah beberapa hal yang dapat Anda simak untuk memilih apakah harus mencoba banyak atau menguasai beberapa bagi Anda yang masih kuliah di jurusan IT atau baru mengenal dunia IT khususnya pemrograman.

Kuasai Saja Beberapa dan Fokus

Di kehidupan nyata mungkin ada seorang mahasiswa IT yang mencoba 10 bahasa pemrograman, ada yang mencoba menguasai 3 bahasa pemrograman untuk digunakan mengerjakan tugas kuliah yang diberikan dosennya, ada yang ingin memperdalam 1 bahasa pemrograman untuk hobi dan proyeknya. Tidak ada yang keliru dengan hal ini, namun dapat dipastikan seseorang yang mencoba menguasai bahasa pemrograman terlalu banyak belum pernah terlibat dalam proyek freelance ataupun membuat karya tertentu.
Berbeda dengan seorang mahasiswa yang fokus pada 3 bahasa pemrograman misalnya. Dia menggunakan 2 bahasa pemrograman untuk kuliah dan proyek pribadinya, satu lagi mungkin untuk hobinya. Jadi waktu yang diinvestasikan seorang penguasa 3 bahasa pemrograman tercurahkan untuk fokus pada pengembangan produk yang dibuatnya. Belum lagi timeframe yang dimiliki seorang mahasiswa hanya 4 ~ 7 tahun. Ketika lulus apakah perusahaan akan mencari seseorang yang menguasai banyak bahasa pemrograman namun tidak mendalam? atau seorang fresh graduate yang menguasai sedikit bahasa pemrograman namun lebih fokus dan menguasai satu saja bahasa pemrograman sampai topik spesifik? Akan semakin lebih baik apabila memiliki sebuah karya dalam bentuk aplikasi dengan menggunakan bahasa pemrograman yang dipilihnya.
Berikut ini adalah diagram sederhana yang dapat menunjukkan kenapa kita harus fokus pada bahasa pemrograman tertentu”
  • Anda tetap dalam kondisi labil hingga banyak sekali bahasa pemrograman yang Anda coba tapi tidak menguasai sampai hal dasar
    Belajar banyak bahasa pemrograman tapi hanya menguasai bagian umum
    Belajar banyak bahasa pemrograman tapi hanya menguasai bagian umum
  • Anda mulai mencoba fokus pada beberapa bahasa pemrograman saja sampai akhirnya Anda membuat sebuah karya dan produk
    Menguasai sedikit bahasa pemrograman dan mencoba lebih fokus
    Menguasai sedikit bahasa pemrograman dan mencoba lebih fokus
  • Anda menguasai satu saja tapi akhirnya ketika lulus sudah dapat dianggap sebagai orang yang piawai dalam bahasa pemrograman tersebut
    Mencoba fokus pada satu bahasa pemrograman sampai akhirnya mengerti betul seluk beluk bahasa pemrogramant ersebut
    Mencoba fokus pada satu bahasa pemrograman sampai akhirnya mengerti betul seluk beluk bahasa pemrogramant ersebut
Jadi sekarang Anda dapat memilih apakah ingin menguasai 10 bahasa pemrograman hanya kulitnya saja? atau menguasai sedikit atau satu bahasa pemrograman namun punya kompetensi dan kemampuan yang mendalam hingga ke bagian inti dari bahasa pemrograman tersebut. Pilihan tersebut akan selalu ada di tangan Anda.

Pelajari Hal Lain di Waktu yang Tepat

Misal Anda hanya ingin fokus pada PHP dan Javascript namun harus menguasai Visual Basic untuk memenuhi tugas kuliah desktop programming? atau harus menggunakan Matlab hanya untuk membuat skrip perhitungan matriks dan aljabar linier? tidak masalah, pelajari saja Visual Basic dan Matlab tersebut sampai tugas Anda benar – benar terpenuhi untuk mata kuliah tersebut. Setelah beres perkuliahan Anda dapat meninggalkan kedua bahasa pemrograman tersebut apabila memang tidak benar – benar dibutuhkan dan bukan menjadi fokus utama untuk kemampuan programming yang akan Anda kuasai.
Hal serupa pun dapat terjadi ketika Anda yang sudah biasa menggunakan suatu Relational Database, misalnya MySQL, namun diminta menggunakan Microsoft SQL Server untuk suatu proyek yang Anda dapatkan. Anda dapat mencoba untuk mulai mempelajarinya dan kuasai beberapa hal yang dapat menyokong pengerjaan Anda pada proyek tersebut. Bila ada orang lain yang lebih expert dalam tim Anda, tentu itu akan lebih membantu Anda karena tidak harus menguasai seluk beluk dari SQL Server tersebut. Tapi bila tidak ada lagi orang yang diamanahi, Anda dapat mulai mempelajarinya hanya untuk lingkup proyek tersebut.
Jadi menguasai hal baru diluar fokus yang Anda kejar, dapat Anda lakukan hanya di waktu yang tepat. Terlebih waktu yang Anda miliki pasti terbatas bila harus semua Anda coba dalam satu waktu.

Jangan Merasa Malu Karena Tidak Bisa Menguasai yang Orang Lain Kuasai

Ketika Anda melihat seorang teman yang piawai membuat game dengan menggunakan ActionScript 3.0, tentu Anda akan terpukau melihatnya bahkan sedikit tergiur untuk mencoba membuat game tersebut. Bila Anda memang ingin fokus di dunia game development, hal tersebut bisa menjadi sebuah jalan bagi karir Anda. Tapi bila hanya untuk hobi? itu juga tidak masalah, namun Anda tidak perlu merasa malu bila teman Anda dapat menguasai suatu hal yang tidak dapat Anda kuasai. Sejatinya manusia hidup dengan cara berkelompok dan kolaborasi. Suatu saat mungkin saja kemampuan Anda dan teman Anda dapat dibutuhkan dalam suatu proyek. Anda memperoleh bagian Anda, teman Anda memperoleh bagiannya sendiri.
Kadang ketertarikan untuk mengikuti seseorang tersebut terjadi karena kurangnya kepercayaan diri yang kita miliki. Ada kalanya apa yang kita pelajari terasa kurang menarik untuk saat ini ataupun di masa depan. Tapi tunggu dulu. Bila Anda hanya baru sebulan, 6 bulan, atau satu tahun mencoba. Tentu hasil yang diharapkan tidak akan dapat Anda peroleh begitu saja. Misal bila Anda adalah seorang web programmer bila hanya mencoba Javascript selama satu tahun, mungkin yang Anda kuasai baru dasarnya saja. Tapi bila Anda sudah terlibat dengan proyek dan konsisten mencoba Javascript selama lebih dari 1 ~ 2 tahun, bukan hal asing bila Anda akan sudah menguasai Ajax, Validasi Form, membuat komponen web sendiri, dan mungkin Anda membuat library Javascript untuk Anda sendiri.
Untuk menguasai kompetensi terdalam dalam suatu bahasa pemrograman, Anda tidak dapat melakukannya hanya dalam “satu hari” saja, Anda bukanlah Sangkuriang yang harus menyelesaikan sesuatu dalam satu malam, bahkan menurut legenda Sangkuriang pun tidak pernah menyelesaikan perahunya. Dalam suatu bahasa pemrograman selain ada bidang yang secara umum dapat dilakukan dengan bahasa pemrograman tersebut, ada juga bidang khusus yang tidak dapat dilakukan suatu bahasa pemrograman. Kita ambil contoh sebuah bahasa pemrograman seperti C, Javascript, dan Java.
Secara umum, kita dapat menggunakan ketiga bahasa pemrograman tersebut untuk keperluan belajar algoritma dan logika pemrograman. Tapi Anda dapat menemukan bidang spesifik yang hanya dapat dilakukan oleh salah satu bahasa pemrograman tersebut. Misalnya bahasa C sendiri merupakan bahasa pemrograman yang banyak digunakan di dunia mikrokontroler dan embedded system, bahkan C sendiri digunakan untuk membuat library bagi bahasa pemrograman lain. Tapi tentunya C belum pernah digunakan untuk manipulasi halaman web yang saat ini dikuasai oleh Javascript. Javascript digunakan untuk membuat konten web semakin menarik dan interaktif sehingga halaman HTML statis yang biasa tampil tak bergerak akhirnya memiliki animasi yang indah dan memberikan reaksi interaktif terhadap pengguna web. Begitupun Java, yang saat ini menguasai ranah mobile apps development khususnya di Android.
Jadi ketika Anda sedikit merasa malu bahwa Anda hanya bisa menguasai satu bahasa pemrograman, atau hanya beberapa saja. Tidak perlu ragu. Kuasailah bahasa pemrograman tersebut sampai ke akar – akarnya dan bidang khususnya. Sehingga setelah waktu yang Anda lalui cukup lama, Anda dapat menjadi ahli untuk bahasa pemrograman tersebut beserta bidang yang Anda geluti.

Penutup

Fenomena ini sangat menarik, karena selalu terjadi di setiap generasi dan pada semua orang yang baru saja mengenal dunia IT. Pada akhirnya seseorang akan melihat dan mengakui Anda sebagai seorang expert yang di bidangnya. Katakanlah bila Anda menguasai bahasa pemrograman PHP sampai bagian terdalam, orang akan memiliki kepercayaan lebih terhadap Anda dibandingkan Anda yang hanya menguasai bagian kulit dari banyak bahasa pemrograman yang Anda coba.
Tulisan ini sebagian besar didasari oleh pengalaman penulis sendiri dan beberapa teman penulis di dunia IT khususnya programming selama kuliah hingga sekarang bekerja. Tulisan ini bisa saja berbeda dengan kenyataan pembaca. Bila ada perkataan yang kurang berkenan sekiranya mohon maaf, karena kesempurnaan hanya milik Tuhan semata. Semoga bermanfaat.

10 Bahasa Pemrograman Populer di Indonesia

03.20 Posted by Unknown No comments
Bahasa pemrograman merupakan untaian kata-kata berupa instruksi/perintah-perintah yang biasanya terdiri dari banyak baris yang bisa dimengerti oleh komputer. Bahasa pemrograman ini wajib dikuasai oleh seorang developer agar dapat membangun sebuah aplikasi/software. Dan untuk membuat aplikasi tertentu maka digunakan juga bahasa pemrograman yang sesuai dengan kebutuhan aplikasi yang akan dibuat tersebut.
10 Bahasa Pemrograman Populer di Indonesia
Jumlah bahasa pemrograman ini sangat banyak. Dari sekian banyak bahasa pemrograman yang ada saat ini, tentu saja developer tidak menggunakan seluruh bahasa pemrograman yang ada. Mereka hanya menggunakan 1 atau 2 bahasa pemrograman dalam melakukan developing software.
Menurut Tiobe, salah satu lembaga riset yang telah beberapa tahun berupaya membuat peringkat bahasa pemrograman populer dunia yang diwujudkan dalam bentuk TIOBE Programming Community Index edisi bulan Desember 2014, Java dan C masih menjadi bahasa pemrograman terpopuler urutan pertama dan kedua.
Bahasa Pemrograman yang Paling Banyak Dipakai Menurut Hasil Survey TIOBE
Bahasa Pemrograman yang Paling Banyak Dipakai Menurut Hasil Survey TIOBE
Kemudian dalam PYPL Popularity of Programming Language juga merilis 11 bahasa pemrograman yang banyak dipakai sampai pada bulan November 2014, menunjukan Java dan PHP berada di posisi pertama dan kedua sementara C menempati urutan ke 6.
Hasil Survey dari PYPL
Hasil Survey dari PYPL
Data di atas merupakan bahasa pemrograman yang populer digunakan di dunia, di artikel kali ini CodePolitan akan rangkum 10 bahasa pemrograman yang populer digunakan di indonesia. Selain menggunakan data dari TIOBE dan PYPL, CodePolitan merangkum bahasa pemrograman populer berdasarkan jumlah member grup Facebook yang membahas tentang pemrograman. Berikut adalah ulasan 10 bahasa pemrograman populer di Indonesia:

1. JAVA

Logo Java
Logo Java
Java merupakan bahasa pemrograman yang dapat dijalankan di berbagai platform, dari mulai PC sampai perangkat mobile. Bahasa pemrograman ini awalnya dikembangkan pada The Green Project pada tahun 1991 oleh Sun Microsystem yang kemudian dilepas pada Oracle. Nama Java sendiri dipilih karena salah seorang pendiri Java, James Gosling, sangat menyukai kopi murni yang langsung digiling dari mesin giling (kopi tubruk) dimana kopi jenis ini berasal dari pulau Jawa di Indonesia.
Java menjadi salah satu bahasa pemrograman terpopuler bukan karena tanpa alasan, bahasa pemrograman ini memiliki beberapa kelebihan seperti misalnya bisa berjalan di sistem operasi yang berbeda-beda, kemudian bahasa pemrograman ini termasuk kedalam pemrograman OOP (pemrograman orientasi objek) sehingga programer lebih mudah dalam menyusun program menggunakan bahasa ini, selain itu bahasa ini juga memiliki library yang lengkap sehingga akan sangat memudahkan programer. Dan saat ini merupakan era dimana smartphone Android sangat banyak digunakan. Aplikasi dalam smartphone Android dibangun menggunakan bahasa Java, sehingga banyak juga programer-programer yang menggunakan bahasa ini karena memang sedang banyak dibutuhkan.

2. C

Bahasa C
Bahasa C ini termasuk bahasa pemrograman tertua yang pernah ada. Bahasa pemrograman C ini dikembangkan dari sekitar tahun 70-an. Bahasa C menjadi bahasa pemrograman yang populer di Indonesia karena hampir sebagian besar perguruan tinggi jurusan IT ataupun lembaga kursus pemrograman menggunakan bahasa ini untuk dipelajari pertama kali sebelum mempelajari bahasa pemrograman yang lain. Bukan tanpa sebab bahasa C ini menjadi dasar untuk mempelajari bahasa pemrograman yang lain, karena memang bahasa C ini merupakan “bapak” dari bahasa pemrograman lain seperi C#, Java, C++, dan lain sebagainya.

3. PHP

PHP
Logo PHP
PHP (PHP Hypertext Pre-processor) merupakan bahasa pemrograman yang paling banyak digunakan di Indonesia. Selain karena gratis, PHP banyak digunakan karena bahasa pemrograman ini merupakan server side scripting yang memang dirancang untuk membangun website dinamis. Selain itu banyak website-website ternama seperti Facebook, WordPress, ataupun Digg yang menggunakan PHP dalam pengembangannya.

4. VisualBasic

Logo Visual Basic
VisualBasic merupakan bahasa pemrograman yang dikembangkan oleh Microsoft. Bahasa pemrograman ini menawarkan IDE visual dalam pembuatan software, dan bahasa pemrograman ini dikembangkan untuk membuat software-software berbasis sistem operasi Windows. VisualBasic sendiri adalah keturunan dari bahasa pemrograman BASIC.
Sebuah survey pada tahun 2005 menunjukan 62% developer software menggunakan VisualBasic dalam pengembangan software nya, sehingga hal tersebut menjadikan VisualBasic sebagai salah satu bahasa pemrograman yang populer. Di Indonesia sendiri terdapat grup Visual Basic Indonesia yang telah memiliki 22 ribu member lebih.

5. Python

Python
Logo Python
Dalam tingkatan bahasa pemrograman, Python termasuk bahasa tingkat tinggi. Python menjadi salah satu bahasa pemrograman yang dapat membangun aplikasi, baik itu berbasis web ataupun berbasis mobile. Bahasa phyton ini termasuk kedalam bahasa pemorgraman yang cukup mudah bagi pemula, karena bahasa tersebut mudah untuk dibaca dengan syntax yang mudah untuk dipahami juga. Banyak perusahaan besar menggunanakn Phyton dalam pengembanganya seperti Instagram, Pinterest dan Rdio. Python juga digunakan oleh para pengembang Google, Yahoo!, dan juga NASA.
Di Indonesia sendiri terdapat grup Facebook yang membahas tentang Python yang telah memiliki lebih dari 6000 anggota. Grup ini cukup aktif, grup ini bernama Python Indonesia.

6. C++

C++
C++ merupakan bahasa pemrograman pengembangan dari bahasa C. C++ dan C memiliki sintaks penulisan yang hampir sama, meski begitu kedua bahasa pemrograman ini memiliki perbedaan pada penyelesaian masalahnya. Pada bahasa C penyelesaian masalah dilakukan dengan membagi-bagi kedalam sub-sub masalah yang lebih kecil lagi atau bisa disebut bahasa pemrograman prosedural, sedangakan C++ berorientasi pada objek dimana permasalahan dibagi-bagi kedalam class-class.
C++ ini menjadi bahasa pemrograman yang populer karena banyak juga perusahaan-perusahaan software besar yang menggunakan bahasa ini untuk membangun software nya seperti Adobe, Firefox, ataupun Winamp yang sekarang pengembanganya di hentikan.

7. JavaScript

JavaScript
JavaScript adalah bahasa pemrograma yang dikembangkan oleh Netscape. Penggunaan JavaScript saat ini kebanyakan terdapat pada pengembangan web. Dengan JavaScript ini kita bisa membuat web yang interaktif dan menarik. Di Indonesia sendiri terdapat grup Facebook yang membahas tentang JavaScript ini dengan nama JavaScript Indonesia. Grup yang beranggotakan lebih dari 10 ribu orang ini masih aktif sampai sekarang.

8. C#

C#
C# adalah bahasa pemrograman yang dikembangkan oleh Microsoft. C# ini menggabungkan prinsip dari C dan C++. C# ini banyak digunakan untuk mengembangkan software yang menggunakan platform Windows.

9. Objective-C

Logo Objective – C
Objective-C adalah bahasa pemrograman yang berorientasi objek. Bahasa pemrograman ini digunakan untuk pengembangan aplikasi yang digunakan pada perangkat Apple, bahkan sistem operasi iOS pun dikembangkan menggunakan bahasa pemrograman Objective-C ini.

10. ActionScript

Logo ActionScript
ActionScript adalah bahasa pemrograman yang dibuat berdasarkan ECMAScript yang digunakan dalam pengembangan situs web dan perangkat lunak menggunakan platform Adobe Flash Player. ActionScript juga dipakai pada beberapa aplikasi basis data, seperti Alpha Five. Bahasa ini awalnya dikembangkan oleh Macromedia, tapi kini sudah dimiliki dan dilanjutkan perkembangannya oleh Adobe, yang membeli Macromedia pada tahun 2005.
Action Script terbaru saat ini adalah Action Script 3.0. Action Script 3.0 adalah bahasa terbaru dari edisi yang sebelumnya dikenal dengan Action Script 2.0. Action Script 3.0 memiliki beberapa kelebihan dibanding pendahulunya, antara lain fitur yang ditawarkan adalah file pada Action Script 3.0 dapat dibuat terpisah saat runtime. (wikipedia.org)
Di indonesia ActionScript ini menjadi populer karena banyaknya developer berbasis Flash yang tentu saja menggunakan ActionScript untuk keperluan koding. Di Facebook juga terdapat grup ACTIONSCRIPT Indonesia yang masih aktif hingga sekarang. Grup ini memiliki 1000 lebih anggota.
(ap/putuyoga/oracle.com/cplusplus.com/ridwanbejo.wordpress.com/mediabisnisonline/pypl/tiobe.com)

Fitur Umum Sebuah CRUD yang Wajib Dikuasai Pemula

03.19 Posted by Unknown No comments
CRUD atau create, read, update, delete / destroy merupakan sebuah skema umum aplikasi yang dikembangkan oleh para software developer. CRUD biasa kita dengar di forum – forum web programming seperti grup PHP Indonesia, CodeIgniter Indonesia, Laravel PHP Indonesia, dan lain – lain. Sebenarnya dalam fitur CRUD ini ada beberapa bagian yang semestinya perlu dihafal dan tidak perlu ditanyakan lagi kepada project owner apakah fitur tersebut dibutuhkan atau tidak.
Terkadang untuk sebuah CRUD saja programmer pemula yang baru terjun di dunia kerja sering kebingungan harus menampilkan fitur apa saja dalam sebuah CRUD. Ada beberapa hal yang tidak harus ditanyakan lagi kepada atasan, dan ada beberapa yang harus didiskusikan terlebih dahulu. Oleh karena itu mari kita lihat beberapa fitur umum CRUD yang sudah tidak perlu ditanyakan lagi untuk meningkatkan efektivitas pengembangan aplikasi dan kualitas aplikasi.
Terlepas dari apapun bahasa pemrogramannya. Berikut adalah fitur umum CRUD yang harus selalu ada di sebuah CRUD:

Daftar Data

Daftar data biasanya ditampilkan dalam bentuk list atau tabel. Bila ditampilkan list biasanya jika harus menampilkan data kompleks seperti galeri atau peta. Bila ditampilkan dalam bentuk tabel, biasanya digunakan untuk menampilkan data yang tidak kompleks. Tentu di setiap item harus terdapat tombol paling tidak untuk melihat detail data, tombol untuk melakukan pengubahan data, dan tombol untuk melakukan penghapusan data. Alangkah lebih baiknya untuk menyediakan tombol yang dapat digunakan pengguna untuk melakukan penambahan data.

Pagination

Tidak mungkin menampilkan 1000 data dalam satu kali query kan? Apakah tidak akan memakan waktu lama jika menampilkan 1000 data dalam satu halaman dengan pemrosesan tampilan yang cukup kompleks kan? oleh karena itu tabel yang sudah memiliki jumlah data yang besar, perlu adanya pagination untuk memudahkan penampilan data. Dengan adanya pagination pengguna dapat melihat daftar data di bagian paling akhir, paling awal, dan halaman tertentu. Biasanya pagination memiliki pembatasan jumlah data yang ditampilkan sesuai dengan kebutuhan aplikasi, ada yang satu halaman cuma 5 data, hingga 100 data. Bila Anda menggunakan web framework biasanya sudah disediakan library untuk melakukan pagination yang terdapat di library tersebut. Sebagai contoh, web framework seperti Django, CodeIgniter, Yii2, dan FuelPHP sudah menyediakan built-in library untuk pagination
Ada juga yang menggunakan Datatables. Widget ini sekarang sudah umum digunakan oleh para web developer untuk melakukan penampilan data yang cukup banyak dan ingin melewati fase pembuatan penyaringan dan pengurutan serta pencarian. Memang widget yang satu ini sudah menyediakan fitur penyaringan dan pengurutan serta pencarian. Namun ada beberapa kesalahan penggunaan Datatables yang pada akhirnya membuat aplikasi menjadi optimal. Karena sebenarnya pagination di Datatable dilakukan dengan Javascript, ada web developer yang menampilkan melalui Datatable tapi secara serentak, ada yang 100 data langsung, ada juga yang 1000 data langsung. Cara tersebut dapat membuat waktu pemuatan halaman yang mengandung Datatable menjadi lama untuk diakses. Jika Anda menggunakan Datatables untuk menampilkan data yang cukup banyak, pastikan menggunakan Ajax Datatable.

Validasi Form dan Sanitasi

Apakah Anda mau apabila data yang dikirimkan dari pengguna adalah script jahat yang dapat memunculkan seluruh isi tabel tertentu dari aplikasi Anda? Apakah Anda ingin bila data yang dikirimkan pengguna memiliki inkonsistensi dan format yang keliru. Sudah menjadi hal lazim bila data yang dikirimkan dari pengguna terkadang tidak sesuai dengan yang dibutuhkan. Misal ketika ingin mengisi field umur yang harusnya diisi angka, malah terisi huruf. Atau mengisi field umur yang harusnya diisi angka lebih dari sama dengan 0 malah terisi -100. Ada juga field yang dibutuhkan harus berupa string dengan format e-mail atau URL, tapi malah terisi dengan string berformat tanggal. Tentu sangat tidak diharapkan bukan? Validasi dapat dilakukan di sisi backend dengan server side scripting yang digunakan ataupun di sisi frontend dengan bantuan Javascript.
Pilihannya beragam, mulai dari membangun sendiri kode program untuk validasi atau menggunakan library, bila Anda menggunakan web framework seperti Django, Laravel, FuelPHP, CodeIgniter, Ruby on Rails, dan Yii2 sudah terdapat library untuk melakukan validasi form dari sisi backend. Anda pun dapat menggunakan validasi di sisi frontend dengan menggunakan kode Javascript Anda atau menggunakan library Javascript yang siap pakai. Dengan melakukan validasi di sisi frontend Anda dapat membantu sebagian beban kerja yang akan dilakukan oleh backend, tentu validasi tidak hanya soal format data yang dibutuhkan, namun ada validasi lain seperti memeriksa validitas sebuah hak akses pengguna, memeriksa apakah tanggal yang dikirimkan masih berlaku untuk sebuah acara atau sudah lewat, dan validasi kompleks lainnya.
Menyoal validasi, biasanya sudah terdapat juga proses sanitasi data yang menjaga aplikasi Anda dari serangan seperti SQL Injection atau Cross-site Scripting. Anda dapat menggunakan library tambahan atau fungsi – fungsi tertentu untuk melakukan proses ini yang disediakan oleh bahasa pemrograman yang Anda gunakan.

Pencarian

Apakah pengguna aplikasi Anda mau mencari satu – satu data yang mempunyai nama yang berakhiran “n” satu persatu halaman? Apakah pengguna aplikasi Anda mau untuk mencari item yang mempunyai kode tertentu tapi berada di halaman ke 50? Itu berarti Anda memerlukan pencarian. Dengan pencarian, pengguna dapat mengetikkan beberapa bagian kata kunci yang ingin dicari atau langsung mencari suatu data berdasarkan kode tertentu. Hal ini diperlukan untuk memudahkan pengguna dalam melakukan proses bisnisnya dan tidak perlu membuang waktu banyak hanya untuk mencari data yang akan diproses. Pencarian ini dapat dilakukan dengan menggunakan Ajax sehingga Anda dapat menampilkan progress bar sebagai upaya membantu pengguna untuk melihat proses yang sedang terjadi.

Notifikasi, Konfirmasi, dan Progress State

Ketika pengguna akan melakukan penghapusan data apakah langsung dihapus begitu saja? atau membiarkan pengguna berpikir dahulu sebelum menghapus datanya? Lebih baik kita membantu pengguna untuk menentukan apakah data yang dipilihnya akan dihapus saat itu juga atau dipikirkan terlebih dahulu bila mempunyai pertimbangan lain. Dengan memunculkan pop up untuk melakukan konfirmasi, pengguna dapat menentukan keputusan apakah data yang dipilihnya akan dihapus atau tidak. Tentu kita tidak mau kan hanya karena salah klik akibat mouse yang rusak, tombol hapus pada baris data lain tidak sengaja tertekan oleh pengguna? dengan adanya konfirmasi maka pengguna akan membantu pengguna untuk menghapus data.
Notifikasi juga cukup diperlukan untuk membantu pengguna mengetahui kelanjutan sebuah proses apakah proses yang dilakukannya berhasil atau tidak. Notifikasi bisa Anda munculkan ketika sehabis menghapus data, menambahkan data, atau mengubah data. Anda dapat menampilkan juga notifikasi ini ketika proses validasi form gagal dengan menampilkan error – error yang didapatkan dari proses validasi. Atau dimunculkan ketika ada bagian form yang belum terisi.
Progress state yang umumnya diimplementasikan dalam loading bar atau progress bar merupakan sarana untuk membantu pengguna mengetahui sejauh mana proses yang sedang dilakukan atau paling tidak menjadi teman untuk menunggu bagi pengguna. Tanpa progress state pengguna dapat dipastikan akan kebingungan proses apa yang terjadi ketika sedang melakukan penghapusan data. Progress state ini cukup diperlukan sebelum menampilkan notifikasi. Terlebih bila aplikasi Anda menggunakan cukup banyak Ajax. Karena Ajax sendiri tidak akan menampilkan progress dari proses yang sedang dijalankan. Kita sendirilah yang harus menyiasati agar aplikasi tidak berkesan terjadi error saat suatu proses dijalankan.

Penyaringan dan Pengurutan

Sebenarnya fitur ini tidak terlalu mendesak untuk sebuah CRUD, namun alangkah lebih baik bila ada fitur ini untuk memudahkan pengguna memilah data yang ingin dilihat dan diproses. Anda dapat membuatnya dengan bantuan Javascript atau langsung mengurutkan dengan server side scripting yang Anda gunakan. Dapat juga menggunakan plugin – plugin dari JQuery atau MooTools untuk mengimplementasikakn fitur ini pada CRUD yang Anda buat.
Sebenarnya masih ada banyak fitur pendukung CRUD lain seperti ekspor ke file csv / excel / txt / pdf ketika masuk ke halaman daftar semua data, fitur yang telah dipaparkan sebelumnya hanya merupakan hal yang sudah biasa dikerjakan oleh para programmer yang sudah bekerja dengan CRUD. Alangkah lebih baiknya kalau programmer yang masih pemula dapat memahami fitur dasar ini sehingga dapat meningkatkan efektivitas pekerjaan bersama tim dan meningkatkan kualitas diri di dunia kerja.

10 Hal yang Bisa Kamu Lakukan Sebagai Programmer Ketika Internet Bermasalah

03.17 Posted by Unknown No comments


Internet merupakan sumber daya utama bagi seorang programmer. Mengapa penting ? dengan Internet seorang programmer biasanya menggunakan version control system (VCS) untuk mengirim hasil pekerjaannya yang berupa source code ke server VCS yang digunakannya, selain itu tentu dengan internet programmer akan mencari pemecahan masalah terhadap kode program yang ditulisnya, jika programmer tersebut bergulat dengan web service atau web development sudah pasti jika internet bermasalah pasti akan membuatnya kesel dan bete di atas meja kerjanya.
Selain internet digunakan untuk keperluan programming, tentunya digunakan untuk komunikasi antar anggota dalam tim atau atasan. Misal kita memerlukannya untuk chatting via messenger, email untuk mengirim report hasil testing dari software atau hardware yang kita uji kepada atasan atau tester, menerima pengumuman timeline dari project manager kita, dan lainnya.
Masalah internet yang biasanya dijumpai adalah, lupa bayar biaya internet, bandwidth-nya kehabisan karena banyak yang pakai internet buat nge-download ketimbang dipake buat kerja, putus sambungan dari penyedia layanan, atau karena bencana misalnya kabelnya digigit tikus atau kehujanan. Tapi jangan khawatir, apabila hal tersebut terjadi, beberapa hal berikut dapat kamu lakukan sambil menunggu internetnya normal kembali:

1. Mempelajari projek yang sedang Anda kerjakan

Hal ini perlu dilakukan karena Anda harus tahu standard menulis kode program yang ada di tempat Anda bekerja. Standard tersebut seperti penamaan sebuah fungsi, class, menulis SQL, atau memperhatikan standard penamaan di HTML. Selain itu cara kerja dari software atau hardware yang sedang dibangun harus dipahami juga dengan seksama. Jangan sampai ada yang salah perkiraan.

2. Membaca dokumentasi dari teknologi yang digunakan

Tentu jika Anda mengerjakan suatu proyek dan sudah diberi job desc, Anda harus mencermati dan mengeksekusinya. Mempelajari projek tidak hanya sekadar mempelajari kode sumber yang sedang Anda kerjakan. Ada hal lain yang harus dipelajari seperti hasil testing, dokumen entity relationship diagram, aturan payment suatu bank, dokumen bisnis proses, dan lainnya

3. Tidur sejenak

Ngantuk merupakan hal yang wajar, jika lelah tidurlah sejenak di meja Anda, di kursi Anda, di bangku taman (kalau gak hujan), atau kalau ada ruang tidur yah silahkan gunakan. Tapi pasang alarm yah jangan sampai bablas berjam – jam tidurnya, entar dimarahi si Bos :D !

4. Berbincang dengan rekan semeja atau satu divisi

Berbincang dapat seputar proyek, suasana kantor, atau hobi yang memang sama. Bahkan bisa saja membahas seputar pilpres dan piala dunia 2014 yang lagi hot. Jangan lupa dengan krisis kemanusiaan yang terjadi di berbagai tempat seperti Gaza, Suriah, Ukraina, Afrika, dan tentu saja dalam negeri yang harus jadi perhatian kita.

5. Menonton video tentang programming

Anda seorang programmer kan ? tentu mempunyai ketertarikan terhadap sebuah teknologi dari suatu pemrograman atau teknologi informasi dan komunikasi lain tentunya, entah itu tutorial sebuah object relation mapper, web framework, image processing, data structure, css framework, dan lainnya. Jika Anda hobi mengunduh video tutorial dari penyedia tutorial seperti CodeAcademy, Khan Academy, Udemy pasti sudah terbiasa melihat video tentang tutorial pemrograman.

6. Membaca majalah

Kalau dikantor Anda ada majalah, ayo segera baca. Biasanya ada info menarik yang dapat Anda temukan di majalah walaupun sudah berlalu lama. Apabila Anda pernah mengunduh majalah elektronik segera dibuka lagi karena banyak yang menarik di majalah tersebut. Sayang banget kalau dibiarkan saja tanpa dibaca

7. Membaca jurnal ilmiah dari bidang yang Anda tekuni

Jika Anda seorang antusias ilmu komputer, pasti Anda mempunyai koleksi jurnal selama Anda melakukan penelitian (skripsi, thesis, disertasi, riset pemerintah). Jadikan jurnal tersebut untuk menjadi sebuah pengayaan kembali bagi keilmuan Anda. Atau dapat digunakan juga sebagai nostalgia selama Anda mengerjakan penelitian tersebut. Bagi yang belum melakukan penelitian, inilah kesempatan Anda untuk melirik jurnal – jurnal yang harus Anda baca

8. Membaca tutorial bahasa pemrograman, framework, atau library yang Anda sukai

Bagi Anda pengguna framework atau library tertentu biasanya suka mengunduh dokumentasi ataupun panduan lainnya kan? ketimbang memenuhi harddisk, lebih baik mulai ditelusuri fungsi – fungsi khususnya, fungsi umum, kemudian detail – detail dari framework atau library tersebut. Sehingga ketika mulai mengerjakan lagi proyek, Anda sudah mahir menggunakan panduan tersebut.

9. Mencari angin segar di pekarangan kantor

Terlalu lama duduk biasanya membuat Anda pusing kan? cobalah jalan – jalan ke pekarangan kantor, dan menyaksikan indahnya pekarangan kantor Anda (kalau bersih :D), lalu mungkin kalau masih belum bener internetnya jalan – jalan di sekitaran jalan kantor sambil melihat aktivitas warga di sekitar kantor. Barangkali kalau bukan lagi bulan puasa, bisa jajan gorengan dulu atau ngopi di warung. Biar gaul jajannya ke supermarket (kalau deket itu juga)

10. Membaca buku yang Anda sukai

Biasanya sih tergantung hobi, jika Anda seorang geek banget. Buku yang dikoleksi biasanya seputar pemrograman, sistem operasi, database, web programming, dan macam lainnya. Jika Anda seorang penggemar novel, novel tersebut senantiasa ada di meja Anda dan siap dibaca jika kondisinya sesuai. Jika Anda masih kuliah, pastinya buku yang harus Anda baca adalah buku yang sesuai dengan mata kuliah yang Anda kontrak saat ini

Cara Enjoy Memulai Belajar Pemrograman

03.15 Posted by Unknown No comments

Pada prinsipnya sama seperti kita ingin menuju Roma, akan ada banyak jalan. Kita bisa lewat Bogor, kemudian ke Bandung lalu sampai di Roma. Atau kita juga bisa lewat Karawang, kemudian ke Jakarta, selanjutnya mendaki gunung Krakatau dan sampailah di Roma (anggap saja itu benar :D). Ya, untuk menjadi seorang programmer pun demikian, ada banyak cara yang bisa ditempuh untuk belajarnya.
Beberapa di antara kita tentu berbeda-beda caranya dalam mempelajari pemrograman, dan ini dipengaruhi oleh banyak faktor, seperti latar belakang, kecepatan belajar, keadaan ekonomi dan juga mungkin lingkungan. Selain itu, cara saya jatuh cinta dengan pemrograman bisa jadi berbeda dengan cara Kamu. Dan mungkin itu pun mempengaruhi.
Sesuatu yang harus kita pahami adalah, bahwa tidak mungkin hari ini ingin jadi seorang master programmer, kemudian kita hanya nonton tv, kemudian tidur dan pagi harinya kita tiba-tiba bisa membuat program super keren yang bisa mengalahkan sofware buatan Microsoft. Tidak ada ceritanya kita sedang berjalan-jalan di musium Taman Mini, tiba-tiba ada seekor laba-laba yang menggigit kita, kemudian kita ketiduran di jalanan, dibangunkan satpam dan setelah bangun kita langsung bisa coding sambil bergelantungan di pohon. Satu hal yang harus kita sepakati adalah, ada sebuah proses yang harus kita lalui untuk itu.
Pernah ada yang bertanya pada saya, “Kak, saya sudah lama ingin belajar pemrograman, gimana ya caranya?”. Kemudian saya tanyakan, “Apa yang sudah kamu lakukan supaya Kamu bisa belajar pemrograman?”, kemudian dia menggeleng dan menjawab “belum ngapa-ngapain sih”. Kemudian saya tanya, “Kamu sudah coba beli buku tentang pemrograman?”, dia jawab “belum”. “Kamu sudah baca artikel di internet tentang pemrograman?”, dia pun menjawab belum. Saya kaget, kok bisa menginginkan sesuatu, tapi tidak melakukan sesuatu untuk mencapainya? Semua butuh proses kawan…
Sesuatu yang saya ingin sampaikan di atas adalah, buat Kamu yang ingin bisa pemrograman, Kamu harus siap untuk menjalani prosesnya, tidak ada yang instan untuk pandai pemrograman. Tidak gampang memang, tapi saya jamin akan menarik. Kalau kamu sependapat dengan saya, sebenarnya programming itu bukan hanya sebatas ilmu untuk membuat program komputer, tetapi juga merupakan gaya hidup, dan kamu bisa menikmatinya.
Artikel ini saya tulis bukan untuk yang sudah mahir pemrograman, tidak… tidak mungkin saya mengajarkan ikan cara untuk berenang :D. Artikel ini khusus untuk Kamu yang baru melihat keindahan dari pemrograman, dan kamu tergoda untuk mendalaminya, karena kamu melihat ada secercah kebahagiaan yang bisa didapatkan di dalamnya, namun Kamu bingung bagaimana cara memulainya.
Apa yang akan saya sampaikan selanjutnya, tidak bersifat absolute, artinya tidak mesti demikian. Karena seperti yang saya singgung di awal, ada banyak jalan untuk menuju Roma. Dan cara setiap orang berbeda-beda. Namun semoga ini bisa membantu Kamu untuk memulai. Buat teman-teman yang sudah lama mendalami programming, dan punya sebuah “cara”, nanti bisa dishare juga ya di kotak komentar, itu pasti akan bermanfaat.
Berikut ini adalah beberapa hal yang bisa Kamu lakukan untuk memulai belajar pemrograman:
1. Mengerti dulu apa itu “programming”
Sebelum Kamu melakukan sesuatu, Kamu harus tau dulu dong apa yang ingin Kamu lakukan. Kamu harus tau dulu apa itu programming. Sama seperti Kamu suka seorang wanita, sebelum Kamu mulai melakukan pendekatan, apalagi menembaknya, minimalnya Kamu harus punya informasi tentang dia. Misalnya Kamu harus tau berapa jumlah lubang hidungnya, apakah dia makan menggunakan tangan atau tidak, bagaimana cara berjalannya, apakah kakinya ada 2, apakah ibunya perempuan :D. Semakin banyak informasi yang Kamu tau, maka akan semakin baik. Dan mungkin akan membuat Kamu semakin jatuh cinta.
Sebagian dari kita tidak mencoba mendalami pemrograman, karena mungkin hanya tau sebagian saja. Misalnya hanya tau, “pemrograman itu lo akan nulis kode di texteditor dan lo bisa bikin program”. Kalau hanya itu yang diketahui, wajar saja jika dia tidak tertarik untuk belajar pemrograman.
Bayangkan jika kita tau bahwa dengan pemrograman kita bisa membuat sebuah program yang bermanfaat bagi orang banyak, semua dunia akan senang menggunakan program kita, bahkan dengan program itu kita bisa menjadi kaya raya, kita bisa membuat perusahaan sendiri, kita bisa membuka lapangan pekerjaan baru, dan bisa membuat orang lain bahagia dan sejahtera. Itu akan terdengar lebih menarik. Atau mungkin juga, ketika kita punya anak nanti, kita bisa membuatkan game khusus edisi spesial untuk ulang tahun anak kita, atau membuatkan website untuk keluarga bahagia kita, atau mungkin kita bisa membuat sebuah aplikasi untuk menembak gebetan kita dengan aplikasi yang super romantis. Bro.. Bayangkan banyak sekali yang bisa kita lakukan. Semakin banyak informasi yang kita tahu, maka semakin banyak juga alasan yang kita punya untuk mempelajari pemrograman.

2. Pilihlan sebuah bahasa pemrograman
languages
Pada akhirnya kita memang harus memilih. Banyak sekali bahasa pemrograman yang ada di dunia, mulai dari bahasa mesin, bahasa tingkat rendah, bahasa tingkat menengah dan bahasa tingkat tinggi. Kamu bisa cek sendiri di sini http://id.wikipedia.org/wiki/Bahasa_pemrograman, silahkan pelajari kelebihan dan kekurangannya masing-masing.
Kamu mungkin bisa saja mempelajari semuanya, tapi saya sarankan pilihlah satu terlebih dahulu. Kuasailah satu terlebih dahulu. Dalamilah. Yang harus kita ingat adalah, bahasa pemrograman bukanlah sebuah agama yang kita hanya boleh memilih satu dan tidak bisa seenaknya kita ganti. Kamu bebas saja berganti-ganti bahasa pemrograman yang Kamu ingin kuasai nanti, jika Kamu mau. Tapi… Pelajarilah dulu satu. Kuasailah secara mendalam.

3. Mulailah belajar
Sekarang Kamu sudah tau apa itu pemrograman dan Kamu sudah punya bahasa pemrograman yang ingin Kamu kuasai, selanjutnya pelajarilah. Belajarlah algoritma dasar dengan bahasa pemrograman yang Kamu pilih. Caranya banyak sekali, bisa melalui buku, bisa juga melalui artikel-artikel di internet, atau Kamu juga bisa coba belajar pemrograman dari majalah pemrograman seperti nyankodMagz, kuliah jurusan IT, kursus pemrograman, mengikuti seminar atau workshop. Ya, banyak sekali caranya. Silahkan Kamu pilih sendiri yang paling sesuai dengan metode belajarmu.

4. Buatlah program-program sederhana
Slide1
(sumber: http://rumadimatematika.blogspot.com)
Belajar saja tidak cukup, harus dipraktekan. Cobalah buat program-program sederhana. Jika Kamu masih sekolah, Kamu bisa mencoba membuat program sederhana untuk mata pelajaran Matematikamu, seperti membuat program “menghitung luas lingkaran”, “menghitung volume balok”. Itu sangat menarik kawan, dulu saya melakukan hal itu. Kalau Kamu adalah seorang guru, mungkin Kamu bisa membuat program untuk menjelaskan pada muridmu bagaimana sebuah planet berputar. Atau apa saja lah… Nggak mesti yang serius juga bisa, misalnya membuat program untuk mendaftar nama mantan-mantanmu. Hehehe… Pada intinya, cobalah untuk membuat sesuatu, mulai dari yang sederhana dari apa yang Kamu sudah kuasai.

5. Updatelah selalu informasi
Informasi sangat penting kawan. Boleh jadi apa yang Kamu sedang pelajari sudah tidak lagi dipelajari oleh orang lain karena sudah ada yang lebih menarik atau lebih baik. Kamu tidak akan tau itu kecuali Kamu update informasi.
Salah satu cara update informasi adalah, kamu bisa mengunjungi web-web yang senantiasa memberikan informasi, seperti SitePoint, Mashable, OMG! Ubuntu!, Tech in Asia atau CodePolitan (website yang sedang kamu baca ini).
Kamu juga bisa like fan page dan follow twitter, pihak-pihak yang senantiasa memberikan informasi tentang programming atau teknologi secara umum.
Beberapa akun twitter orang hebat yang bisa Kamu follow bisa Kamu baca di sini http://www.codepolitan.com/koleksi-akun-twitter-pembuat-framework/.
Kamu juga bisa like fanpage Kami di http://www.facebook.com/codepolitan dan follow twitter kami di @CodePolitan, kami selalu update informasi yang mungkin bisa bermanfaat buat kamu.

6. Bergabunglah di grup-grup atau forum-forum pemrograman
Selection_008
Kawan, Kamu tidak sendiri! Banyak sekali orang-orang sepertimu yang sedang belajar atau bahkan sudah jago. Kamu bisa menyapa mereka, bahkan Kamu bisa bertanya kepada mereka jika memang perlu.
Ketika Kamu bergabung di forum atau grup pemrograman, Kamu akan melihat ada banyak orang hebat yang bisa Kamu tiru dan teladani dari segi programmingnya. Bahkan nggak jarang, mereka pun sering memberikan informasi-informasi penting yang mungkin bermanfaat buat Kamu. Dan ketika Kamu terlibat dalam sebuah forum, Kamu pun bisa membantu rekan-rekan yang lain yang mungkin bisa Kamu bantu. Beberapa forum pemrograman yang bisa Kamu ikuti bisa Kamu baca di http://www.codepolitan.com/17-grup-populer-tentang-pemrograman-di-facebook-yang-berasal-dari-indonesia/ atau http://www.codepolitan.com/5-grup-pemrograman-visual-basic-terbesar-dari-indonesia-di-facebook/.

Demikianlah, semoga bermanfaat. Ingat kawan, memang tidak mudah belajar pemrograman. Kita harus belajar algoritma yang penuh dengan logika yang rumit, kita juga harus mempelajari sebuah bahasa pemrograman yang bahasanya nggak mirip dengan bahasa manusia. Tapi jika dijalani dan menganggapnya sebagai sebuah tantangan dan proses yang harus dilalui, ternyata itu semua bisa menjadi menyenangkan.
Selamat belajar, semoga menyenangkan… :D

7 Cara Asyik Belajar Pemrograman Java

03.13 Posted by Unknown No comments

Kadang belajar pemrograman Java lewat buku saja membuat rasa kantuk datang. Dengan bahasa buku yang terlalu kaku menjadi sulit dipahami. Apalagi salah satu kesulitan dalam belajar pemrograman Java adalah susah memahami class yang berisi banyak prosedural. Belajar pemrograman Java juga tidak mungkin tanpa menggunakan IDE.
Java memiliki kekakuan, karena sintaks verbose tidak dapat dipersingkat dengan mudah. Fleksibilitas dan pemeliharaan kadang harus dikorbankan untuk struktur dan konsistensi coding. Bagi pembaca yang belum merasakan pemrograman berorientasi objek akan menjadi kendala dalam belajar bahasa pemrograman ini. Namun masalah tersebut bisa diatasi dengan 7 cara asyik belajar pemrograman Java berikut:

1. Belajar via online

compile-online-java
Asyiknya belajar dengan cara ini, pembaca tidak perlu menginstall IDE[1]. Langsung coding dan compile, pembaca sudah bisa melihat hasilnya. Dilengkapi dengan tutorial yang interaktif, pembaca akan lebih mudah untuk memahami class dalam Java. Pembaca tinggal memilih chapter, dan mengikuti intruksinya. Ini dia penyedianya tutorialspoint dan learn java online.

2. Belajar by doing

programming-by-doing
Jika pembaca pernah mencoba untuk melatih skill pemrograman Java secara otodidak dan belum merasakan tantangan didalamnya. Pembaca bisa memecahkan tantangan asyik yang diberikan oleh situs programmingbydoing. Lebih dari 2000 sekolah sudah mencoba tantangan ini. Dengan gaya problem solving, pembaca bisa menguji skill yang sedang dikuasai.

3. Belajar via video

new-boston-java-video
Dengan belajar lewat konten video akan lebih asyik dan mudah diserap karena dijelaskan dengan memuat banyak unsur multimedia. Dibandingkan belajar lewat buku yang menampilkan teks dan gambar saja bisa memakan waktu yang banyak untuk memahaminya. Apalagi kadang pembaca sibuk dan banyak hal yang harus dikerjakan. Pembaca bisa menikmati jutaan video mengenai pemrograman Java pada situs youtube, vimeo dan lain-lain. Dan salah satu channel video tutorial pemrograman Java paling dikenal adalah NewBoston.

4. Kursus Online

kursus-online
Pembaca kadang tidak paham mengenai penjelasan di buku pemrograman Java, apalagi sintaks yang relatif sulit dipahami. Hal ini bisa diatasi dengan mengikuti kursus online mengenai pemrograman Java. Dengan kursus online, pembaca bisa langsung bertanya pada lecture dan berdiskusi dengan peserta lain. Salah situs penyedia kursus online pemrograman Java adalah Udemy. Lebih dari 47,000 peserta mengikuti kursus ini. Selain Udemy, kursus online yang lain adalah eLearning Rakyat yang digagas oleh Pak Onno W. Purbo. Di situs tersebut juga terdapat kursus online pemrograman Java.

5. Belajar dengan animasi

greenfoot
Yang lebih asyik lagi adalah belajar pemrograman Java dengan animasi. Situs Greenfoot menyediakan animasi untuk belajar pemrograman Java. Didalamnya terdapat coding yang dipasangkan dengan animasi agar program lebih mudah dipahami. Pembaca juga bisa berdiskusi, sharing dan berhubungan langsung dengan komunitas antara pengguna, dari peserta maupun guru. Model animasinya didesain agar pemrograman jadi lebih mudah dengan animasi dua dimensi. Pembaca bisa mengunduh animasinya untuk sistem operasi Linux, Mac dan Windows.

6. Belajar bareng teman

bt-indones-teman
Saat mendengarkan penjelasan guru atau dosen kadang malu bertanya, padahal masih bingung mengenai materi pemrograman Java. Di dalam kelas pasti ada yang jago coding Java, jika anda menemuinya maka ajaklah teman anda tersebut agar belajar bersama. Biasanya dia menolak diajak belajar bareng. Kalau mendapat kondisi tersebut, bawalah sesuatu yang dia sukai. Misalkan dia suka martabak manis. Bawalah dua atau tiga bungkus martabak manis dan ajak lagi, kemungkinan besar pasti diterima. Pembaca bisa belajar dan leluasa bertanya tentang soal pemrograman java seharian penuh bareng teman. Coding sambil ngopi bareng teman, asyik bukan.

7. Belajar bareng komunitas

bt-indones-komunitas
Komunitas ada yang online juga ada yang offline. Kalau yang online, pembaca bisa temukan komunitas pemrograman Java di Kaskus, Grup Facebook dan forum lain. Sedangkan yang komunitas offline, pembaca bisa gabung grup pemrograman Java di wilayah sekitar pembaca. Dengan belajar bareng, pembaca akan mendapat resource lebih mengenai pemrograman Java. Selain itu juga bisa mendapat pekerjaan terkait pemrograman Java. Asyik bukan, sudah dapat materi, dapat kerjaan lagi.
Belajar pemrograman Java tidak melulu dengan buku. Dengan 7 cara asyik belajar pemrograman Java ini, pembaca tinggal pilih sesuai selera yang diinginkan. Semoga bisa membuat pemrograman Java tambah asyik, ya.
(yp/codecondo)

Dapat manfaat dari artikel ini? yuk bagikan :)