Wah…wah..wah……judulnya kok ada embel-embel zero to heronya sich….cem betul aja…!!! hmm…hmm..hm…begini lho..maksudnya…melalui tulisan ini penulis berharap semoga adik-adik almamater penulis maupun siapa saja yang membaca oret-oret ini bisa memahami step by step yang harus ditempuh mulai dari null (nol boookkk…!!!) untuk belajar pemrograman. ( NB : bagi yang udah pakar mendingan nggak usah ikutan baca aja dech…!!!! Ntar malah…xxxxx ????)
Selama ini pemrograman oleh banyak rekan penulis (…teman-teman satu stambuk penulis dulu…) dan adik-adik almamater penulis dianggap sebagai suatu disiplin ilmu yang njelimet…dan pelik….!!! Lho…apa..iya…mas…??? jawabannya bisa iya bisa tidak..!!! lho koq plin-plan gitu jawabannya…??? Begini lho…kalo kita buat program sederhana tentunya kan nggak njelimet….tapi…kalo buat suatu aplikasi yang kompleks..wahhh…pasti njelimet tuhh…he…he…he….!!!!.
Sebagaimana yang telah kita dapatkan dari meja kuliah (“intrupsi bro….bukan meja kuliah…!!!! Tapi bangku kuliah…!!! Ya…iya..dech…”) kalo pemrograman adalah proses mengkonversi solusi bentuk algoritma menjadi solusi dalam bentuk program komputer yang dikembangkan berdaasarkan algoritma yang telah disusun sebelumnya. Sedangkan program komputer adalah rangkaian instruksi/perintah yang harus dilaksanakan oleh komputer untuk mencapai tujuan dengan menggunakan bahasa yang dapat dipahami oleh komputer. Dimana bahasa yang dimaksud dalam defenisi di atas adalah bahasa pemrograman.
Berdasarkan defenisi di atas dapat kita ambil sebuah kesimpulan bahwa kalo kita ingin belajar pemrograman maka kita harus belajar algoritma dulu…emangnya algoritma itu apaan..??? algoritma adalah suatu himpunan berhingga langkah-langkah/prosedur logika yang harus dilaksanakan untuk menyelesaikan suatu permasalahan yang berorientasi pada pemrograman komputer. Tujuan algoritma adalah memberikan petunjuk tentang langkah/prosedur logika penyelesaian suatu permasalahan dalam bentuk yang mudah dipahami secara nalar sebagai acuan yang membantu saat mengembangkan program komputer. Pemahaman tentang algoritma merupakan aspek kritis dalam pemrograman komputer, yakni guna memperoleh kebenaran logika (logical validity) program aplikasi yang dikembangkan. Pemahaman tentang algoritma akan mencegah sejak dini kemungkinan terjadinya kesalahan logika pada program komputer yang dikembangkan. Peranan algoritma menjadi penting, karena kesalahan logika program akan mengakibatkan kesalahan yang fatal pada hasil eksekusinya.
Memahami solusi permasalahan dalam bentuk algoritma, berati mengerti tentang permasalahannya dan mengerti tentang bagaimana menyelesaikannya dengan benar. Hal ini jauh lebih penting dan bermanfaat lho..!!!. Kebiasaan cara berfikir logis, terstruktur, dan sistematis dan kemampuan menerapkan trik-trik yang tepat dalam menyelesaikan suatu permasalahan, merupakan tuntutan dan sekaligus menjadi keuntungan yang nyata bagi seseorang yang mempelajari algoritma. Pada sisi lain pemahaman konsep algoritma menuntut kita untuk dapat menentukan pilihan alternatif solusi yang paling tepat bagi program aplikasi. Gimana… dah ngudeng khan…???
Oh ya sebelum bicara lebih jauh tentang pemrograman, berikut penulis lampirkan lima aspek penting dalam membuat sebuah program aplikasi. Lima aspek (tahapan) yang dimaksud adalah :
- Analisis masalah
- merancang algoritma
- membuat program komputer
- menguji hasil program komputer
- dokumentasi
Tahap 1 dan ke-2 pada tahapan diatas disebut fase penyelesaian masalah sedangkan tahap 3 sampe ke-5 disebut fase implementasi. Untuk memahami tahap 1 dan ke-2, penulis menyarankan pembaca mempelajari betul-betul materi sebagai berikut :
1. logika dan algoritma pemrograman
2. perancangan dan analisis algoritma
3. struktur data
4. object oriented engineering
object oriented engineering di era sekarang ini menjadi sangat penting mengingat hampir sebagian besar bahasa pemrograman sekarang ini mengusung teknologi Object Oriented Programming (OOP) itu. Wah…banyak amat…ya yang harus dipelajari??? Ya begitulah….!!!!oh..ya…dimana kita bisa ngambil tutorial tentang itu semua….??? Jawabannya bisa di internet (googling aja…!!!!) atau beli bukunya di Toko Buku (ingat..Toko Buku…bukan toko besi…!!!he..he..he…).
Penulis sarankan ketika anda mempelajari fase penyelesaian masalah ini, pelan-pelan anda mulai men-translate-nya kedalam bahasa pemrograman berbasis console (CLI : Command Line Interface), seperti Pascal, C/C++, atau Python. Ingat..kedalam bahasa yang berbasi console ya…jangan yang GUI seperti Visual basic atau Visual Borland delphi…dulu…!!!! Kenapa ….???? Gini…lho….untuk lebih memperdalam pemahaman kita tentang aspek kritis algoritma kita harus mulai dengan console, karena kalo dengan GUI hal itu nggak akan tercapai…percayalah…!!!! Kemudian ketika anda sudah masuk ke materi object oriented, anda bisa gunakan C++ atau python sebagai pengantar lalu kemudian kembangkan pemahaman anda dengan bahasa Java (anda akan menemukan keasyikannya…), tapi ingat….start with console…!!!!!.
Setelah anda sudah cukup merasa paham…lalu coba anda kembangkan kemampuan anda dengan mempelajari GUI based programming language seperti : Visual Studio 6.0 (misal: Visual Basic 6.0), Visual Borland Delphi 7.0, dll. Untuk OOP nya gunakan Visual Studio. Net (misal : Visual Basic .Net) atau IDE Java (Netbeans, Jbuilder). Tanpa terasa sebenarnya anda sudah memasuki pinggiran rimba fase implementasi lho….!!!!asyik kan petualangannya…!!!. Ketika sudah sampai disini cari tutorial lagi utk belajar pemrograman web client side (HTML/XHTML, CSS, Javascript, XML)….nah..untuk client side web programming ini gunakan text editor biasa dulu seperti Notepad di Windows atau vi di Unix System, jangan gunakan IDE dulu seperti Dreamweaver atau NVU. Setelah mahir….baru gunakan IDE untuk mempermudah kerja kita….!!!.
Ketika anda sudah mulai memasuki fase Implementasi ini, pelan-pelan pelajarilah aspek-aspek pokok pada masing-masing bahasa pemrograman yang dipelajari. Buatlah aplikasi-aplikasi untuk menunjukkan tingkat pemahaman anda…buatlah aplikasi yang menambah semangat dan motivasi anda untuk belajar (misalnya…mbuat virus atau game ….gitu….!!!! Lho koq…???? alnya dengan begitu kita malah jadi ngerasa asyik…dan puas…lho!!!) lalu teruskan dengan aplikasi-aplikasi seperti aplikasi multimedia, dll. Setelah itu pelajarilah konsep sistem basis data dilanjutkan dengan mempelajari software-software RDBMS (Relational Database Management System) seperti Ms. Access, SQL Server, MySQL atau Oracle. Lalu pelajarilah Analisa dan Perancangan Sistem (SSADM maupun OOA&D). Setelah pemahaman anda tentang hal itu sudah OK, lanjutkan dengan membuat aplikasi Sistem Informasi -1 tier. Setelah itu sambil mempelajari materi-materi informatika lain, coba anda terapkan kemampuan anda untuk membuat aplikasi-aplikasi lain, misalnya : aplikasi Sistem Pakar, aplikasi Client Server -2 tier (tentunya untuk ini anda harus belajar Jaringan Komputer dulu…!!!!). Oh ya…jangan lupa pelajarilah pemrograman web (Server Side…,gunakanlah PHP atau JSP atau ASP.Net..,jangan lupa pelajari juga AJAX-nya…!!!), Mobile Web (WML, XHTML MP), Mobile Programming (.Net Mobile atau J2ME). Nah sampai disini anda bisa main-main untuk mencari informasi dari para suhu di internet untuk membuat aplikasi-aplikasi lain yang menarik dan sesuai dengan minat dan kompetensi skill anda…..selamat mencoba…!!!!!
