Bagaimana menjadi seorang programmer
- Tahap mengenal logika program
Seorang programmer harus mampu mengembangkan logika dalam dunia nyata dan mengimplementasikannya kedalam bentuk program. Sebagaimana diketahui program komputer merupakan bentuk otomasi sesuatu. Sebelum kita dapat mengotomasi sesuatu tentu saja kita harus mengenal sesuatu tersebut. Misalnya saja kita akan membuat sebuah program otomasi pustaka, ya tentu saja kita harus mengenal terlebih dahulu sistem perpustakaan yang ideal itu bagaimana.
Setidaknya ada beberapa bentuk yang harus difahami sebagai dasar dalam pembuatan program:
Pengenalan struktur program
Struktur program merupakan cara berfikir ala program, tanpa mengenal struktur program kita akan kesulitan dalam mengembangkan program, pengenalan sintak, keyword, urut-urutan penulisan program dan sebagainya.
Dalam struktur program kita akan mengenal variabel, tipe data, bagaimana struktur pemilihan, bagaimana struktur perulangan. - Pemilihan bahasa pemrograman
Bahasa pemrograman yang dipilih adalah tergantung masing-masing person, ada yang suka dengan java, ada yang suka dengan vb ada yang suka dengan foxpro, powerbuilder, c++ dan lain sebagainya. Tapi tentu saja pembuatan program tidak hanya melulu masalah suka saja. Namun lebih kepada kemampuan dari masing-masing program.
Si programmer harus bijak memilih bahasa pemrograman yang akan digunakan, java misalnya terkenal dengan fitur frameworknya yang bisa digunakan di berbagai sistem operasi, C++ merupakan bahasa induknya bahasa, yang bisa membuat bahasa pemrograman lain, bahkan sistem operasi, foxpro terkenal dengan databasenya, delphi sangat terkenal dengan kemampuannya dalam pengontrolan alat, powerbuilder terkenal dengan program yang minus coding, visual basic terkenal dengan kemudahan dan keluwesannya.
Tentu saja tidak ada bahasa pemrograman yang terbaik, semuanya tergantung kepada kebutuhan si pemakai, bagi pengguna bahasa pemrograman tertentu, bahasa itulah yang terbaik.
Bahasa pemrograman yang dipilih sebaiknya bahasa yang abadi, maksudnya selalu disupport oleh perkembangan hardware komputer yang perkembangannya tidak tanggung-tanggung. Boleh jadi pada masa sekarang ini yang lagi trend adalah bahasa pemrograman dengan kerangka kerja lintas sistem operasi seperti java dan .Net yang juga sudah ikut-ikutan.
Dalam perkiraan, pengembangan bahasa pemrograman web akan sangat berkembang, karena bahasa pemrograman jenis ini tidak membutuhkan settingan khusus pada komputer client, dengan bahasa pemrograman yang mendukung fitur server side seperti php, asp, dan jsp maka installasi cukup hanya dilakukan pada server saja. Selanjutnya client tinggal mengakses menggunakan browser seperti internet explorer, mozilla dan lain sebagainya, jenis teknologi yang murah dalam pengembangan dan impelementasi dibandingkan dengan pemrograman desktop.
Tentunya akan sulit untuk menguasai seluruh bahasa pemrograman, bukan bermaksud pesimis, misalnya saja untuk menguasai VB .Net saya membaca sebuah e-book yang tebalnya 500 lembar, bayangkan saja betapa butuh waktunya untuk memahami buku tersebut, itupun baru satu sumber saja. Kalaupun bisa nantinya kita hanya akan memahami kulit-kulit saja dari pemrograman tersebut, saran saya pilihlah satu tapi matang. - Memilih perangkat pendukung
Setelah memahami logika program dan memilih bahasa pemrograman yang tepat tentunya kita membutuhkan software dan hardware pendukung yang tepat,
Perangkat database
Ada sebagian bahasa pemrograman yang telah memiliki database yang include dengan bahasanya sendiri, namun karena perkembangan teknologi database sendiri, yang memungkinkan mereka untuk membuat bahasa pemrograman sendiri, mau tak mau programmer sebaiknya juga mengenal teknologi database yang relevan seperti MySQL, Access, Oracle, Sybase, SQL Server, dan lain sebagainya.
Seperti bahasa pemrograman, masing-masing database mempunyai fitur yang menarik bagi si pemakai, namun karena fungsi pokoknya sebagai penyimpan data, kita tida sesaklek belajar bahasa pemrograman, karena biasanya database mempunyai konsep yang sama, ada database, ada table, ada query ada view, trigger, stored procedure dan lain sebagainya.
SQL (Structured Query Language) merupakan komponen penting didalam pemrograman, pemrosesan data akan sangat lambat jika si programmer terlalu mengandalkan logika sekuensial dalam mengakses data.
Perangkat Report
Sebagaimana kita tahu, pembuatan program database apa saja selalu berakhir pada pembuatan laporan. Laporan dimaksudkan untuk mengolah data sehingga menjadi informasi yang nantinya akan disajikan kepada para pengguna informasi yang membutuhkan. Baik gunanya untuk mengambil keputusan, audit, perbandingan dan lain sebagainya.
Sebagian bahasa pemrograman memiliki perangkat untuk membuat report sendiri, seperti data report pada visual basic, quick report pada delphi dan lain sebagainya, namun ini tidak membuat pengembang pembuatan software laporan menjadi berkecil hati. Malah menjadi tantangan tersendiri untuk menyajikan software pembuat laporan yang bahkan melebihi software report yang ada pada bahasa pemrograman yang telah terpasang.
Crystal report merupakan salah satu perangkat software pembuat laporan yang sangat terkenal, kompabilitasnya untuk digabungkan dengan berbagai bahasa pemrograman membuat posisinya selalu teratas dalam perangat pembuatan laporan.
Perangat Installasi
Deployment merupakan tahap final dalam pembuatan program, setelah program dibuat, dikompilasi tentu saja perlu disebar luaskan, para pengguna akan cenderung tidak tertarik jika installasi software yang digunakan sangat rumit. Kecuali tentu saja software yang memang tidak diragukan lagi ketangguhannya, oracle termasuk rumit dalam installasi.
Seperti database dan laporan, banyak pengembang-pengembang software yang menyediakan perangkat installasi tersendiri, install shield, NSIS merupakan nama-nama software yang dirancang untuk mengemas aplikasi sehingga lebih cantik dan mudah dalam proses penginstallasiannya.
Kenapa perlu installasi?, harusnya semua software bahasa pemrograman sudah menyediakan paket installasinya, memang benar, namun hal tersebut tidak akan mumpuni jika kita menggunakan banyak perangkat luar dari bahasa pemrograman itu sendiri, sebab masing-masing perangkat tentu saja membutuhkan file-file seperti dll, ocx yang berbeda masing-masingnya. Dengan perangkat installasi semua kebutuhan itu bisa dibungkus menjadi satu buah kumpulan file installasi saja. - Menjadi terkenal
Kemampuan yang setinggi apapun jika tidak dipublikasikan dengan baik, hanya akan menjadi musium saja. Untuk itu perlu mengaplikasikan ilmu yang telah didapat dalam dunia kerja. Mulailah dulu dengan menjadi tangan kanan, carilah kenalan sebanyak-banyaknya terutama yang mempunyai hubungan dengan pelaku pasar (pelanggan).
Jalin dulu kerjasama, kenalan kita yang mengurus segala bentuk urusan administrasi dengan pelanggan, kemudian kita yang bekerja. Tidak apa-apa, tak ada yang langsung jadi bintang kok, minimal harus ikut indonesian idol dulu. 70-30 rasanya pembagian yang cukup adil, kecuali mungkin dia mintak lebih, itu tergantung besar kecilnya proyek dan kemauan kita saja.
Yang jelas orientasi kita pertama adalah menambah khasanah ilmu, ingat prinsip “latihan setahun masih kalah dengan pertandingan sehari”. Dengan mengerjakan proyek program secara langsung, kita akan mendapatkan tambahan ilmu yang tidak tanggung-tanggung, sebab teori selalu tidak sama dengan praktek. Ada kebutuhan yang selama ini kita pandang tidak perlu ternyata menjadi bagian kritis bagi pelanggan.
Setelah berpetualang menjadi tangan kanan, lambat laun para pelanggan akan mulai menghubungi kita secara langsung, ingat nomor hp dan alamat email jangan sampai diganti, sebab bisa saja menghilangkan sekian belas projek. Ketika proyek sudah murni ditangan kita, satu hal yang harus dijaga adalah “kepercayaan para pelanggan”, sekali kita berbuat salah yang tidak sesuai maka rusaklah nama, nama baik tidak bisa diganti dengan apapun. Namun itu tidak membuat kita menjadi murahan, lakukan sesuai dengan permintaan, jika ada permintaan tambahan, konfirmasikan kembali bahwa ini permintaan tambahan yang tentu saja perlu honor tambahan.
Prinsip terutama selagi kita masih pemula adalah “jangan pernah bilang tidak!”, manfaatkan kenalan yang kita punya, misalkan pelanggan butuh pengadaan hardware sedangkan kita tidak mampu, gunakan jasa kenalan, tapi tetap dengan mengatas namakan kita, siapa sih yang ndak mau berbisnis asalkan saling menguntungkan.
Berikan service-service yang memuaskan, satu saja pelanggan merasa puas, mereka akan bercerita dengan bangga tentang kerjasamanya dengan kita, tentu saja hp kita mulai banyak deringannya. Pastikan batrai jangan sampai low, kadang kala pelanggan kita ada yang mempunyai gengsi tinggi lho…
Persiapkan source code yang anti maling, maksudnya bebaskan para calon pengguna untuk menginstall program yang kita buat, tapi buat settingan waktu kapan program itu mati dengan sendirinya, kalau tidak kita bisa rugi. Setidaknya calon pengguna sudah mencoba, tertarik atau tidak itu tergantung lobi dan nasib kita tentunya.
Berbisnis dengan swasta kelas menengah memerlukan upaya yang cukup sabar, kenapa?, biasanya dananya cetek tapi mintanya segenap-genapnya. Ketika orderan sudah cukup banyak mulailah menggunakan perangkat hukup seperti notaris, mulailah bekerja berdasarkan kontrak, sehingga kita bisa meminimalkan permintaan tambahan dari pengguna dengan memanfaatkan kontrak kerja sama yang telah dibuat. Biasanya jika kontrak kerjasama telah ditandatangani notaris, maka para pelanggan tidak akan mau macam-macam, kita juga tidak akan dipandang sebelah mata.
Berbisnis dengan pemerintah kudu lebih sabar lagi, karena project harus selesai dulu baru dana bisa dikucurkan, kalaupun sudah selesai biasanya menunggu dana dari KPKN dulu baru bisa dicairkan bisa berbulan-bulan, tapi yang jelas bisnis dengan kantor pemerintah uangnya lebih pasti. Tapi kudu berhati-hati dengan oknum-oknum yang tidak bertanggung jawab, jangan terjebak dengan meja ini meja itu, apalagi meja hijau, eaeaeaeae…. - Kembangkan bisnis
Ketika kita sudah punya nama dan relasi yang cukup, mulailah merekrut tenaga-tenaga potensial, dekati lingkungan kampus. Cari bibit-bibit programmer unggul dan ajaklah kerjasama, tenaga muda biasanya haus pengalaman, usahakan penduduk setempat agar bisa berlanjut, berikan kebutuhan mereka seperti hardisk yang besar, laptop sehingga mereka betah. Kita kemudian bertindak sebagai pencari kerja, dan biarkan tenaga muda yang bekerja, karena bagi mereka sekarang khasanah ilmu merupakan hal yang terbaik.Usahakan untuk pengkaderan, artinya pekerjaan jangan hanya tertumpuk pada satu orang saja, agar jika terjadi masalah, tidak akan kelimpungan.
Pada masa ini, jika sebelumnya lisensi software belum ada, usahakan pada masa ini sudah ada, karena kegiatan yang dilakukan seharusnya selalu dibawah lindungan hukum, dengan memanfaatkan jasa notaris tadi, jangan nanti malah ketangkap membajak lagi
Cukup panjang ya…Siap?, selamat mencoba….