Monthly Archives: February 2015

Kerangka Belajar Pemrograman

Saya menemukan salah satu faktor yang membuat seorang pemula sulit belajar programming, yaitu tidak memiliki kerangka belajar pemrograman. Kerangka ini sangat memudahkan kita belajar pemrograman, mempelajari bahasa baru dalam waktu singkat. Bukan karena menghapal rumus cepat 😀 Mau belajar bahasa apapun, baliknya ke kerangka ini lagi. Berikut saya bagikan kerangka belajar pemrograman tersebut.

Tapi sebelum Anda menyesal, saya ingatkan juga bahwa belajar pemrograman memang tidak mudah. Tidak ada cara yang mudah, hanya ada cara yang tepat. LURUSKAN NIAT ANDA. Jika niat Anda cari cara yang mudah, Anda akan sangat-sangat menyesal dan sebaiknya segera tutup halaman ini.

Kerangka ini sebetulnya bisa kita temukan dengan membaca buku Algoritma dan bahasa pemrogaman secara UTUH, bukan secuil-secuil. Buku pemrograman yang bagus, akan mengajarkan kerangka ini dari dasar, langkah demi langkah. Oleh sebab itu sejak tahun 1990an, kita sudah mengenal buku-buku menguasai bahasa pemrograman dalam 21 hari seperti Teach Yourself C++ in 21 days misalnya.

Programmer yang baik akan menguasai kerangka ini dulu, dijadikan sebagai mindset, kemudian dilatih berulang-ulang menjadi habit/kebiasaan. Di luar kerangka ini, kita tinggal baca help, manual atau dokumentasi.

Oke, masih bersama saya rupanya. Berikut kerangka belajar pemrograman yang saya maksud. 🙂

1. Membuat Alur Kerja

Coba pelajari resep sederhana membuat mie rebus atau nasi goreng. Ada langkah-langkahnya kan? Ada urutan prosesnya kan? Nah itulah salah satu bentuk alur kerja. Urutan proses yang benar, akan memberikan hasil yang benar atau diinginkan.

Cobalah ubah urutan prosesnya.Misalnya, pada saat Anda membuat nasi goreng, taruh kecapnya ke dalam bumbu sebelum nasi. Hasilnya apa?

Nah, membuat program juga perlu tahu dulu urutan proses yang harus dilakukan bagaimana sebelum menulis source codenya. Di sinilah kita mengenal pseudo-code, yang mewakili urutan proses tersebut secara abstrak.

Nah di sini kita harus tentukan dulu problemnya apa dan kita mau buat apa? Alur kerjanya bagaimana? Urutan prosesnya apa saja? Apakah itu hanya berupa operasi matematika sederhana atau operasi yang lebih kompleks? Kalau tidak tahu alur kerjanya, trus mau bikin apa?

2. Membuat Statement & Expression

Statement dan Expression adalah perintah atau instruksi yang kita berikan kepada CPU untuk diproses. Misalnya, statement untuk menerima input, menghasilkan output ke layar, operasi matematika, operasi logika, deklarasi variabel.

Untuk tahap awal, fokus saja pelajari statement dasar ini

  • Input & Output: Buatlah program Hello World yang menampilkan nama Anda.
  • Operasi aritmatika sederhana: Buatlah program sederhana untuk penjumlahan 2 variabel, perkalian dan pembagian. Di sini Anda akan belajar berbagai tipe variabel numerik.
  • Operasi logika: Buatlah program sederhana dengan melakukan operasi logika AND, OR, XOR, NOT, NAND, dengan input bertipe boolean, numerik bahkan string.
  • Operasi string: String adalah tipe variabel untuk menampung data teks yang sangat bermanfaat dan sangat sering digunakan. Cobalah buat program sederhana untuk memotong string, menggabungkan 2 string, membolak-balik (reverse) string, mengacak-acak isi elemennya. Percayalah ini bagian yang sangat menyenangkan 😀

Sebagai tambahan, pelajari tipe data yang lebih kompleks seperti record, pointer, array, set, dan tipe data yang spesifik ada di bahasa pemrograman tersebut. Setiap tipe data atau tipe variabel, punya karakternya sendiri. Bagaimana data tersebut disimpan di memori, diolah, ditampilkan ke layar, dan lain sebagainya.

3. Membuat Keputusan (Decision) atau Percabangan

Salah satu fitur yang membuat prosesor itu cukup ‘pintar’ adalah karena ia dapat membuat keputusan berdasarkan kondisi yang diterimanya. Keputusan yang konsisten tentu saja 😀 Membuat keputusan ini direpresentasikan dalam statement IF dan CASE (atau SWITCH).

Dalam bentuk sederhananya seperti ini:

C/C++

if(kondisi)
 {
   // jalankan blok statement ini
 }

Pascal

if kondisi then
 begin
   // jalankan blok statement ini
 end;

Python

if kondisi:
    statement

Pada intinya, statement IF ini artinya: Jika kondisinya begini, lakukan ini, tapi kalau kondisinya begitu, lakukan yang itu. 🙂

Statement IF bisa dibuat beranak-pinak, artinya dalam statement IF, kita bisa buat statement IF lagi di dalamnya. Istilahnya Nested (bersarang).

CASE/SWITCH

Statement CASE atau SWITCH adalah bentuk decision yang lebih lengkap dari pada IF. Jika kita harus melakukan pengecekan variabel yang variasinya bukan cuma TRUE dan FALSE, maka gunakan statement CASE atau SWITCH.

C/C++

switch(condition)
{
  case satu:
  {
    // jalankan statement ini
  }

  case dua:
  {
    // jalankan statement ini  
  }

  else
  {
    // jalankan statement ini  
  }
}

4. Membuat Perulangan, Loop atau Repetition

Nah, perulangan ini sangat membantu programmer dalam membuat program. Kalau CPU tidak mengenal perulangan, niscaya tidak ada orang yang mau jadi programmer 🙂

Perulangan artinya melakukan satu atau beberapa statement sekaligus dalam jumlah tertentu atau sampai menemukan suatu kondisi.

FOR (Unconditional Loop)

Statement FOR pada intinya memberi instruksi kepada CPU untuk menjalankan perintah tersebut sebanyak sekian kali. Disebut Unconditional Loop sebab dia baru selesai setelah melakukannya sebanyak X.

Misalnya, saya mau instruksikan CPU untuk membuat flashdisk custom dengan memanggil fungsi buat_flashdisk_custom() sebanyak 1000 pcs. Kira-kira instruksinya begini.

C/C++

for( jumlah = 1; jumlah <= 1000; jumlah++ )
{
   buat_flashdisk_custom();
}

Pascal

for jumlah:=1 to 1000 do
  buat_flashdisk_custom;

atau

for jumlah:=1 to 1000 do
begin
  buat_flashdisk_custom;
end;

WHILE-DO & DO-WHILE (Conditional Loop)

Conditional Loop artinya memberi instruksi kepada CPU untuk menjalankan perintah berulang-ulang sampai suatu kondisi ditemukan (do-while) atau selama kondisi tersebut ditemukan (while-do). Biar gampang, bedanya hanya di pengecekan kondisi saja. WHILE-DO mengecek kondisi di depan sebelum instruksi loop dijalankan. Sementara DO-WHILE mengecek kondisi di akhir setelah instruksi.

while-do

C/C++

jumlah = 0;
while(jumlah < 1000)
{
  buat_flashdisk_custom();
  jumlah++;
}

do-while

C/C++

jumlah = 0;
do
{
  buat_flashdisk_custom();
  jumlah++;
}
while(jumlah < 1000);

Bisa lihat bedanya? Mungkin belum. Kita butuh kasus yang lebih sesuai untuk mengetahui kapan pakai while-do dan kapan pakai do-while.

Penutup

Nah, kerangkanya sih cuma itu aja. Jangan dihafalkan. Tapi jadikan sebagai mindset, lalu otomatiskan sebagai habit/kebiasaan. Sisanya baca manual dan dokumentasi. Lupa, bingung, error, tinggal baca manual aja kok. Yang susah itu mengalokasikan ruang pikiran dan waktu untuk latihan 😀

Bagaimana dengan Pemrogaman Berorientasi Objek atau OOP (Object Oriented Programming)? OOP itu perluasan saja dari pemrograman fungsional. Anda bisa hidup tanpa OOP, tapi Anda tidak bisa hidup tanpa FUNCTIONAL programming. OOP akan kita bahas di kesempatan lainnya.

Jika Anda tertarik belajar pemrograman terutama C, C++, Pascal/FreePascal/Delphi, Python, PHP, bisa belajar sama saya gratis di kantor. Syaratnya ngga susah kok, cuma rajin dan kerja keras 😀

 

Doa untuk Awal Yang Baru

Ya Allah

Terima kasih untuk 10 tahun yang luar biasa.
Terima kasih untuk kesempatan yang begitu luas.
Terima kasih untuk pekerjaan yang menyenangkan.
Terima kasih untuk rezeki yang cukup dan berlimpah.
Terima kasih untuk kesehatan yang baik.

Walaupun demikian, aku sadar dosaku banyak.

Mohon ampun untuk waktu yang terbuang percuma.
Mohon ampun untuk kesempatan yang disia-siakan.
Mohon ampun untuk kelalaian dan kesalahan yang terulang.
Mohon ampun untuk rezeki yang terbuang percuma.
Mohon ampun untuk kekikiran dan kebodohan.

Oh, Tuhanku

Tahun ini aku akan memulai awal yang baru.
Kami akan membuat produk yang baru dan usaha yang baru.
Kami akan bekerja keras lebih baik, lebih sungguh-sungguh tanpa mengeluh.
Kalau kami sampai mengeluh, mohon ditegur dan ampunilah kami.

Mohon diberikan kesempatan yang luas supaya kami bisa lebih tumbuh pesat.
Mohon diberikan hati yang lapang dan pikiran yang tenang agar kami lebih sabar.
Mohon diberikan ilmu dan pemahaman yang benar supaya kami lebih bijaksana.
Mohon diberikan orang-orang jujur dan terbaik supaya kami lebih dapat diandalkan.
Mohon diberikan rezeki yang berkah, melimpah dan mengalir terus menerus.
Mohon diberikan mitra yang baik dan pelanggan yang loyal.

Oh, Tuhanku

Kali ini kami ingin menempuh resiko yang lebih berat sebab kami yakin,

Jika kami jatuh, Engkau selalu memberikan pertolongan.
Jika kami gagal, Engkau selalu memberikan kekuatan untuk bangkit memperbaiki keadaan.
Jika kami buntu, Engkau selalu memberikan jalan keluar.
Jika kami salah, Engkau selalu memberikan peringatan dan ampunan.
Jika kami dihina, Engkau selalu meninggikan derajat kami.
Jika kami merugi, Engkau selalu memberikan keuntungan yang lebih besar.
Jika kami frustasi, Engkau selalu memberikan kasih sayang.

Resiko tersebut tidak apa-apa, yang penting Engkau jangan membenci kami, yang penting Engkau jangan melaknat kami.

Oh Tuhanku,

Aku berlindung kepada Mu dari pekerjaan yang sia-sia.
Aku berlindung kepada Mu dari kebodohan kami sendiri.
Aku berlindung kepada Mu dari kesombongan kami sendiri.
Aku berlindung kepada Mu dari penghasilan yang tidak halal.
Aku berlindung kepada Mu dari orang-orang munafik.

Mohon dikabulkan, amiiiin.

Sudah Kaya Kok Masih Jualan Sendiri?

Kalau belom punya apa-apa, masih merintis bisnis, kita jualan keliling sendiri udah ngga aneh dong ya. Justru harus namanya. Tapi kalau sudah kaya, serba berkecukupan, usahanya sudah besar, tapi masih turun langsung jualan sendiri, aneh nggak? Ngapain jualan sendiri, apa masih kurang? Ngga ada orang lain lagi yang bisa disuruh?

Ada tetangga saya di Bekasi dekat rumah, mereka keluarga kaya. Sang bapak punya bisnis tambang pasir dan bahan bangunan, istrinya juga anak juragan sembako. Dua-duanya lulusan luar negeri. Anak-anaknya masih kecil. Kamu tahu dong seperti apa kayanya juragan bahan bangunan? Apalagi juragan sembako?

Suatu hari pas acara tujuh belasan, saya lihat kedua anaknya jualan es mambo isi kacang ijo di depan rumahnya. Lucu banget. Duduk berduaan di depan rumah nawarin es mambo ke orang-orang yang lewat. Satu potong es mambo dijual Rp 500,- murah sekali. Apakah bisa balik modal tuh?

Dan sejam kemudian saya lihat mereka ikut mamanya jualan es mambo keliling alun-alun. Mamanya sendiri yang S2 lulusan luar negeri itu yang teriak-teriak “es mambo, es mambo, aa mau es mambo?”  Begitu juga dengan papanya, gantian nemenin anaknya jualan. Itu tidak hanya satu kali dua kali. Tapi sering dilakukan ketika hari libur.

Saya jadi ingat apa yang dikatakan mentor saya beberapa tahun yang lalu. Saya juga jadi ingat beberapa cerita teman saya yang waktu kecilnya diajak jualan sama orang tuanya. Mengapa mereka masih jualan asongan sendiri, padahal kan sudah kaya?

Nah berikut beberapa faktor yang sempat saya gali dari mereka.

1. Melawan Gengsi atau Malu

Disadari atau tidak, makin banyak harta biasanya orang jadi makin gengsi atau malu. Gengsi melakukan pekerjaan kotor atau pekerjaan rendah. Apalagi kalau sudah biasa dilayani bawahan seperti raja kecil. Kita akan malu pegang sapu untuk bersih-bersih, turun langsung, apalagi berjualan langsung. Gengsi dong. Gua kan atasan.

Kalau kadarnya masih wajar, tidak masalah. Tapi kalau sudah bikin kita tidak bisa luwes dan tidak mau kerja keras, itu sudah berbahaya. Maka dari itu perlu melawan rasa gengsi atau malu seperti itu. Gengsi yang terlalu tinggi bisa membuat kita menjadi kurang waspada, tidak luwes dan tidak terlatih bekerja keras.

Kebayang dong ya kalau kita belum apa-apa sudah gengsi bekerja keras?

2. Melatih Insting

Salah satu faktor penting dalam berbisnis adalah insting atau naluri. Dalam banyak hal, naluri yang terlatih dan terbentuk puluhan tahun lamanya sangat membantu dalam mengambil keputusan dengan efektif. Terutama jika informasi yang kita perlukan sangat terbatas dan tidak berkualitas. Sehingga dalam situasi yang mendesak, minim informasi, dan serba terbatas, masih bisa mengambil keputusan yang tepat. Itulah yang biasanya membuat kita terlihat aneh dan tidak masuk akal di mata orang lain.

Naluri tersebut adalah anugerah dari Allah yang Maha Bijaksana. Perlu dilatih dan dipertajam terus menerus agar dapat membantu pikiran dalam mengambil keputusan. Seperti otot, jika terus dilatih maka akan makin besar dan kuat. Namun jika tidak dilatih akan mengendur dan mengecil dan menjadi lemah. Begitu pula dengan insting.

Sayangnya lingkungan dan sekolah seringkali membuat naluri tersebut makin lemah dan tidak terlatih. Oleh sebab itu kita sendiri yang harus melatihnya dengan banyak interaksi dengan orang lain dan mengamati situasi.

3. Mempelajari Perilaku

Produk yang bisa diterima pasar seringkali bukan produk yang canggih atau paling bagus fiturnya. Tapi produk yang cocok dengan perilaku konsumen. Konsumen itu adalah orang, manusia yang punya emosi, logika dan perilaku. Aspek perilaku inilah yang membedakan antara lingkungan Indonesia dengan Singapura atau Malaysia misalnya. Apalagi dengan Amerika?

Mengapa di sini hanya sedikit orang yang mempunyai rekening bank? Mengapa di sini sedikit sekali yang punya kartu kredit? Pelajarilah perilakunya. Mungkin ada logika mereka yang kita belum tahu.

Dari sini kita bisa memperoleh pandangan yang lain mengapa perilaku konsumen kita seperti itu. Pandangan ini membantu kita dalam membuat produk dan mengambil keputusan.

4. Mempelajari Pola Baru

Ada kalanya pengetahuan yang kita pelajari di kampus, di lembaga training, di sesi coaching sudah kadaluarsa dan tidak relevan lagi. Memang seperti itulah kondisi pasar, sangat dinamis dan berubah begitu cepat. Relevansi dari pengetahuan sangat penting di sini.

Maka dari itu untuk mendapatkan gambaran mengenai apa yang sedang terjadi dan mendapatkan pola yang baru, kita perlu turun langsung. Melihat langsung. Melakukan langsung. Ada aspek-aspek yang hanya bisa kita lihat kalau kita turun langsung, kerjakan langsung.

Mengapa banyak orang pakai Blackberry? Lalu mengapa mereka ganti ke IOS atau Android? Tapi mengapa masih banyak yang menggunakan feature phone 2G? Jangan terburu nafsu melihat angka penjualan yang menurun atau meningkat.

Kesimpulan

Disadari atau tidak, begitulah cara mereka mengedukasi diri sendiri. Semangat untuk kerja keras dan terus mempelajari hal-hal baru adalah kekayaan yang luar biasa dalam diri mereka. Tidak puas dengan pendidikan dan ilmu dari sekolah. Itu yang membuat mereka bukan hanya SMART tapi juga STREET SMART. Kata mentor saya mah, “Jangan asal pinter, tapi harus pinter-pinter”

Mereka saja yang sudah kaya begitu, ngga gengsi turun langsung dan kerja keras. Mengapa kita-kita yang masih belum apa-apa sudah gengsi?

Semoga bermanfaat dan monggo subscribe newsletternya 😀

Saatnya Untuk Awal Yang Baru

Tidak terasa sudah 10 tahun lamanya saya mengembangkan produk software Voucha. Saya masih ingat betul waktu itu Januari 2005 saya mulai mengerjakan fitur-fitur software ini sendirian, satu demi satu. Kami hanya menggunakan komputer bekas Pentium III 1GHz dengan ram 256MB, menggunakan Operating System Windows 2000 Profesional seharga kurang dari Rp 1 juta.

Saya sangat bersyukur, walaupun waktu itu situasinya serba terbatas namun pada kenyataannya keterbatasan itu tidak menghalangi kami dalam berkarya. Saya juga bersyukur dalam perjalanannya saya bisa bertemu dan bekerja sama dengan banyak orang baik yang menjadi sahabat dan rekan bisnis saya sampai hari ini. Saya juga bersyukur banyak ilmu dan pengalaman yang kami peroleh dalam menjalankan usaha ini. Saya juga bersyukur, kualitas hidup kami jauh lebih baik dari pada 10 tahun yang lalu.

Saya bersyukur dan juga takjub kami bisa bertahan selama 10 tahun lamanya di produk dan bisnis yang sama. Sungguh sebetulnya itu sebuah keberuntungan yang amat besar, bukan karena kami hebat. Melihat bahwa teman-teman kami tidak seberuntung ini. Melihat bahwa sebetulnya saya sendiri masih banyak kekurangan yang perlu diperbaiki dan sebetulnya bisa lebih baik lagi. Kurang ilmu, kurang disiplin, kurang cepat belajar, dan lain sebagainya.

Kini tibalah saatnya saya memantapkan diri memulai awal yang baru. Selain Sandiloka, saya juga telah memulai usaha pembuatan Flashdisk Custom untuk Merchandise, USBCRAFT pada Januari 2013. Di akhir tahun kemarin saya juga sudah merintis WHMAUTO, yang menyediakan modul-modul provisioning, payment gateway dan plugins untuk WHMCS.

Sandiloka sendiri masih mengembangkan Voucha. Bahkan dengan tim yang baru, kami dapat melayani Software Development, Network Infrastructure dan satu bidang yang saya belum bisa sebutkan di posting ini. Dengan kapabilitas seperti itu, Sandiloka dapat melayani klien-klien baru seperti instansi pemerintah dan swasta yang skala proyeknya besar.

Besar harapan saya kepada Allah agar kami semua dimampukan untuk mencapai sasaran yang diinginkan, diberikan pemahaman yang baik dan sempurna, diberikan kelapangan dan kesabaran, dianugerahi taufik dan hidayah dalam mencapainya, dan diberikan orang-orang yang terbaik untuk mengerjakannya.

Nah bagi Anda yang membutuhkan layanan kami tersebut, monggo segera hubungi kami. 😀

 

Sulit Belajar Programming, Apa Sebabnya?

Beberapa orang pernah bertanya kepada saya mengapa mereka sulit sekali belajar programming. Sudah belajar dari kuliah tapi nggak ngerti-ngerti juga. Nah ini menarik, sebab definisi problemnya jelas: Sudah belajar tapi tetap ngga ngerti juga, atau sudah berusaha tapi tetap ngga dapat juga. Untuk mengurai apa penyebabnya, maka saya tanyakan satu persatu.

1. Berapa jam yang kamu habiskan tiap hari untuk belajar programming?

Rata-rata jawabannya adalah 1 jam kurang atau 2 jam. Bandingkan dengan kami yang sampai saat ini masih belajar programming rata-rata 8 jam sehari.

2. Berapa buku pemrograman yang kamu baca?

Rata-rata jawabannya adalah tidak punya, hanya punya 1 atau 2 buku. Itupun buku kuliah. Bandingkan dengan kami yang sampai saat ini tetap membaca puluhan buku pemrograman walaupun internet menyediakan search engine yang mudah dan instan.

3. Berapa banyak soal yang kamu coba?

Rata-rata jawabannya hanya 1 atau 2, itupun tugas kuliah. Bandingkan dengan kami yang sampai saat ini terus berusaha mengatasi 2 sampai 3 bug per harinya.

4. Apakah suka dengan dunia pemrograman?

Rata-rata jawabannya ya sebenarnya suka sih, tapi….

Jadi apa penyebabnya?

1. Pola belajarnya salah

Saya pernah bahas di blog ini bahwa pola belajar itu penting. Jika polanya benar, Insya Allah dapat ilmunya dan diberikan pemahaman. Jika polanya salah, tidak akan mengerti. Ada sebagian orang jenius yang tanpa diajari, dia bisa mengerti sendiri. Jumlah mereka sedikit sekali.

Pemrograman pada dasarnya memang berat. Kata siapa gampang? Kalau gampang, pasti sudah banyak orang yang bisa kan? Karena memang pada dasarnya berat, maka usahanya juga harus istimewa. Ini tentang effort.

Sampai saat ini kami masih berusaha menyerap ilmu-ilmu baru sepanjang hari atau rata-rata 8 jam per harinya. Bahkan sebagai pengusaha, kami bekerja rata-rata 18 jam per-hari. Dengan demikian kami lebih berpeluang untuk berhasil. Sementara kamu hanya belajar 1 jam – 2 jam per hari tapi pengen berhasil?

Ngimpi! 😀

mimpi-lo-ketinggian

2. Kurang Referensi Berkualitas

Pada saat kami kuliah, hasil pencarian di Yahoo! belumlah akurat seperti sekarang ini. Baru ketika muncul Google pada tahun 1999, pencarian menjadi demikian mudahnya dan akurat. Tapi sementara waktu itu, kami mengandalkan buku-buku di perpustakaan atau penjual buku bekas di Palasari atau Cikapundung. Maklum mahasiswa, duitnya cekak. Tapi itu tidak menghalangi usaha kami untuk mencari Referensi Berkualitas.

Sampai saat ini kami masih membeli dan membaca buku-buku teknologi, komputer, pemrograman dan buku apa saja yang menurut kami menarik untuk dibaca. Search engine sudah banyak membantu mempersingkat pencarian yang gampang-gampang. Sayangnya, hasilnnya belum tentu berkualitas. Banyak juga tutorial yang ngaco, tidak jelas, dan kurang akurat.

Saat ini saya masih menyimpan dan membaca puluhan buku-buku pemrograman, teknologi, bisnis, marketing, dan topik-topik lainnya yang menurut saya menarik. Belum termasuk buku-buku yang hilang, yang dipinjam orang tapi nggak dibalikin, yang disumbangkan dan lain sebagainya.

Bandingkan dengan kamu yang cuma baca 1 atau 2 buku. Dengan referensi seperti itu, apakah kamu punya peluang besar untuk berhasil? Yang realistis ajalah, jangan ngimpi!

3. Kurang Latihan

Perbandingan yang wajar untuk belajar programming adalah 1:9, artinya 10% pasif dan 90% aktif. Membaca, dengerin kuliah, nonton tutorial di YouTube termasuk pasif. Dan latihan, problem solving termasuk yang aktif.

Kalau ada contoh yang diberikan di buku, tutorial, help, dokumentasi, usahakan coba-coba kombinasi cara lain. Bagaimana kalau ini diganti? Bagaimana kalau itu diganti? Pelajari bagaimana perubahan dan error yang didapatkan. Coba atasi error yang dihasilkan.

Kalau cuma latihan soal 1 atau 2, berapa besar peluang kamu mengerti?

4. Tidak punya minat

Ini adalah akar masalah paling utama, yaitu tidak punya minat. Ini pernah saya bahas di tulisan 5 Syarat Menjadi Programmer. Walaupun mengaku suka dengan dunia pemrograman, bukan berarti punya minat. Banyak orang yang mengaku suka programming dan tidak bisa programming. Dia cuma pengen bisa, tapi tidak bersedia mengeluarkan effort yang dibutuhkan.

Untuk mengeluarkan effort, perlu minat. Sehingga jika menemukan kesulitan, tidak terasa berat namun malah terobsesi. Saya sendiri memulai dari minat yang kuat terhadap dunia komputasi dan menemukan obsesi yang menggebu-gebu ketika belajar pemrograman. Otak saya biasa-biasa saja. Masih banyak yang lebih jenius.

Jika kamu punya minat, kamu akan memiliki obsesi yang menggebu-gebu jika menemukan soal yang sulit. Kamu akan bersemangat untuk mengatasinya dan bersedia berusaha mati-matian dalam mengatasinya. Bukan mengeluh tidak bisa.

Kesimpulan

Poin penting yang ingin saya sampaikan adalah MINAT dan USAHA. Obsesi dan Effort. Coba periksa kembali sebesar apa minat kamu terhadap pemrograman. Jika memang tidak berminat, lebih baik cari bidang lain. Periksa kembali sebesar apa effort yang telah kamu keluarkan, jika belum sempurna, maka sempurnakanlah.

Ini pesan Nabi: Luruskan niat, sempurnakan ikhtiar, sabar menerima hasilnya.

Lebih lanjut lagi, saya sarankan kamu baca tulisan saya yang lain:

  1. Self-Learning dan Pola Belajar yang Benar
  2. 5 Syarat Menjadi Programmer
  3. 5 Watak Dasar yang dimiliki Programmer
  4. 5 Skill yang paling dibutuhkan programmer

Kumpulan Karya sejak 2005

Hari ini saya mulai memajang karya-karya saya sejak tahun 2005. Ada yang saya bikin sendiri, ada yang dibikin bareng-bareng bersama tim. Ada yang sudah jalan, stabil dan ada juga yang masih dalam proses pengembangan. Tentu saja tidak semua karya saya pajang. Hanya yang masih relevan dan kira-kira masih dibutuhkan saja. Karya-karya yang saya buat antara tahun 1999 – 2005 sudah tidak bisa dipajang karena entah ada di mana file-filenya. Kecuali tugas akhir 😀

Pada saat saya menengok perjalanan 10 tahun ke belakang sejak tahun 2004, saya jadi heran sendiri. Waktu itu ilmu saya masih terbatas, pengalaman masih sedikit, networking belum luas, tapi toh produk bisa jalan juga, bisa dapat project juga. Kok bisa ya?

Pada saat saya lihat ke belakang lagi dari tahun 1999, makin heran lagi. Komputer belum punya, internet masih mahal, kalau butuh harus ke warnet atau ke kampus yang koneksinya lelet. Kemana-mana bawa disket atau tas kecil berisi CD-RW buat backup. Tapi toh bisa juga bikin sesuatu yang bermanfaat. Kok bisa ya?

Lalu saya lihat hari ini. Ilmu ada, pengalaman ada, networking ada, karyawan ada, modal ada, waktunya ada, koneksi internet kenceng, komputer banyak, fasilitas cukup. Dengan begitu saya jadi lebih SEMANGAT lagi berkarya.

Anda dapat melihat sebagian daftar karya, produk, project yang pernah saya kerjakan di sini.

 

Perang Ayat, Buat Siapa?

Sungguh kelihatan lucu sekali kalau melihat orang-orang sedang perang ayat. Ayatnya udah bener, sunnahnya juga bener. Tapi karena yang menafsirkan masih kurang ilmu, tidak memahami kaidah tafsir yang benar, belum menerima petunjuk, tapi sudah pamer dan niatnya memang menguntungkan/memutlakkan pendapatnya sendiri (dengan memanfaatkan ayat Allah), akhirnya jadilah perang ayat.

Kalau referensinya sama-sama benar, mengapa harus berbantah-bantahan kalau bukan untuk kepentingan pribadi?

Pada dasarnya yang diperselisihkan itu pendapat pribadi mengenai suatu hal. Pendapat pribadi ini sifatnya selalu relatif dan terbatas. Namun pendapat ini ingin dimutlakkan dengan memanfaatkan ayat-ayat Allah dan Al-Hadits. Padahal tidak boleh pendapat pribadi dimutlakkan melebihi wahyu.

Untuk menafsirkan kandungan wahyu yang tidak terbatas, seorang ahli tafsir saja masih meminta petunjuk dari Allah. Bagaimana mungkin akal manusia yang terbatas bisa menyerap kandungan wahyu yang tidak terbatas, kecuali diberi petunjuk?

Dari pada ikutan gila, mending gua kejar yang jualan cilok. Maaaaang beli ciloooooknyaaaa……