Tulisan ini, ane buat karena keprihatinan ane dengan forum-forum yang threadnya "terlalu ideologis" ke salah satu bahasa pemrograman. Sampai-sampai, saking panasnya debat yang mereka lakukan, mereka lupa kalau
"Sebuah bahasa pemrograman dibuat dari bahasa pemrograman lainnya oleh 'manusia'".
dan
"Bahasa pemrograman adalah alat untuk menerapkan algoritma, sesuai dengan lingkungan (environtment) dari bahasa pemrograman tersebut".
Ane pernah jadi salah satu orang yang "terlalu ideologis", dengan salah satu bahasa pemrograman. Pada saat bahasa pemrograman yang ane kuasain ini tidak bisa melakukan apa yang ane butuhkan, ane jadi nyalahin tuh bahasa pemrograman. Ane lupa kalau seharusnya, ane yang harus kreatif. Akhirnya, ane berpindah dari satu bahasa pemrograman ke bahasa pemrograman lainnya. Ane jadiin bahasa pemrograman lain sebagai "pelarian" karena bahasa pemrograman sebelumnya tidak bisa melakukan apa yang ane inginkan "dengan mudah".
Tapi apa yang ane dapat? Pengetahuan tentang jenis-jenis bahasa pemrograman ane meningkat, tapi skill algoritma ane buat menyelesaikan masalah tetep NOL BESAR. Ane masih tetep ketergantungan dengan "built in function" yang ada di bahasa pemrograman. Tanpa berusaha membuat solusi/fungsi sendiri.
Keadaan diperparah dengan doktrin dari Dosen-Dosen ane. (Maaf beribu-ribu ma'af sebelumnya Pak. Ilmu Pak Dosen yang lain tetap ane butuhin. Ane cuma ga setuju dengan "doktrin ke salah satu bahasa pemrogman"-nya aja). Ada Dosen yang pendapatnya "universal", dan ada Dosen-Dosen yang mengelu-elukan satu bahasa pemrograman dan mengejek bahasa pemrograman lainnya. Dari Dosen-Dosen yang "bijak" ini, ane mulai sedikit memahami...
"Semua bahasa pemrograman pada akhirnya berorientasi pada TUJUAN yang ingin dicapai, walaupun POLA/IMPLEMENTASI untuk mencapai TUJUAN berbeda satu sama lain".
Sebagai contoh, jika ingin menampilkan data dari suatu tabel di database:
PHP:
<? //Buat koneksi $mysqli = new mysqli("host","user","password","nama_database"); //Masukkan Query $result = $mysqli->query("SELECT field1, field2 FROM nama_tabel"); //Tampilkan hasil query if($result->num_rows>=1) { while($rs=$result->fetch_row()) { echo $rs[0],"::",$rs[1]; } } $result = null; $rs = null; $mysqli->close(); ?>
Python:
#!/usr/bin/env python import MySQLdb try: #Buat koneksi conn = MySQLdb.connect("host","user","password","nama_database") cur = conn.cursor() #Masukkan query cur.execute("SELECT field1, field2 FROM nama_tabel") result = cur.fetchall() #Tampilkan hasil query for rs in result: print "%s::%s" %(rs[0],rs[1]) cur.close() conn.close() del(cur) del(conn) del(rs) except: print "Error"
JAVA:
import java.sql.*; public class Koneksi{ public static void main(String args[]) { //Buat koneksi try{ Class.forName ("com.mysql.jdbc.Driver").newInstance (); String url = "jdbc:mysql://host/nama_database?user=user&password=password"; Connection conn = DriverManager.getConnection(url); Statemen s = conn.createStatement(); //Masukkan query s.executeQuery("SELECT field1, field2 FROM nama_tabel"); ResultSet rs = s.getResultSet(); //Tampilkan hasil query while(rs.next()) { System.out.println(rs.getString("field1") + "::" + rs.getString("field2"); } rs.close(); s.close(); url = Null; conn = Null; rs = Null; s = Null; } catch(Exception e) { System.out.println("ERROR"); } } }
Bagi pemula. Pasti lebih memilih PHP, karena lebih sedikit baris kodenya. Itu juga yang dulu ane lakukan. Tapi, keunggulan bahasa pemrograman itu tidak bisa diukur dari berapa banyak baris kode yang harus dibuat untuk menyelesaikan suatu masalah. Ada banyak faktor lainnya, seperti:
- Seberapa besar jumlah datanya?
- Seberapa kompleks sistemnya?
- Apa sistem operasinya?
- Di arsitektur berbasis apa program berjalan?
- Seberapa efektifkah algoritmanya?
- Bagaimana tingkat keamanannya?
Tapi poin yang ingin ane bahas adalah POLA dan TUJUAN. Dari contoh diatas, mungkin membingungkan bagi pemula, tapi ada 3 TUJUAN yang sama:
- Buat Koneksi
- Masukkan query
- Tampilkan hasil query
Semoga prolog yang membosankan ini, bisa membuka pola pikir aGan sekalian.
1.Modal Utama
Apa modal utama untuk belajar bahasa pemrograman:
- Niat dan Tekad.
- Niat dan Tekad.
- Niat dan Tekad.
- Komputer, Sistem Operasi, Compiler/Parser, Bacaan (Buku, E-Book, Artikel), Cemilan, Teman Sharing dan Bantal
- Tidak malas mencoba ulang satu algoritma.
- Tidak malas mencoba ulang satu algoritma.
- Tidak malas mencoba ulang satu algoritma.
- Mau mencari algoritma lain untuk menyelesaikan masalah.
- F.O.K.U.S.
- F.O.K.U.S.
- F.O.K.U.S.
Buat pelindung, kalau aGan mau membentur-bentur kan kepala di-saat stress.
2. Tentukan Pilihan
- Masa bodoh dengan pendapat orang... "OS A ini jauh lebih baik dari OS B. OS B kejelekannya bla bla bla....". Agan mau belajar tentang bahasa pemrograman, bukan IT Support. Apapun OS yg Agan gunakan, Yang Agan kendalikan adalah:
INPUT -> PROSES -> OUTPUT
Selama belajar bahasa pemrograman, diluar 3 hal itu, Go To Hell..!!!!. - Usahakan jangan menggunakan software bajakan. Bagaimana Agan mau belajar bahasa pemrograman, sedangkan Agan tidak memperdulikan bagaimana programmer bersusah payah membuat aplikasi yang akhirnya dibajak. H.O.R.M.A.T.I Hasil karya Programmer dulu, baru belajar bahasa pemrograman. Karena pada akhirnya, Agan bakal jadi salah satu dari mereka.
- Pendapat tentang "Pembajakan itu legal demi ilmu pengetahuan" adalah "OMONG KOSONG...!!!!". Menurut hati nurani Agan apa hal ini bisa diterima?.... "Agan belajar mengendarai mobil, menggunakan mobil hasil curian Agan".... Apa berarti pencurian yang Agan lakukan itu LEGAL demi ILMU PENGETAHUAN?
- Pilih salah satu bahasa pemrograman yang nyaman buat Agan. Salah satu saja:
- Memilih Pemrograman Berbasis Web
- Untuk sisi klien, pengetahuan minimal yang harus Agan kuasai adalah XHTML. JScript dan CSS hanya pilihan. Ingat..!!! Agan belajar programming, bukan Web Design.
Kenapa XHTML, bukan HTML? Karena XHTML itu universal, bisa dirender browser berbasis Desktop, maupun browser berbasis Gadget (misalnya browser Handphone). - Untuk sisi server, pilih salah satu dari PHP, Python, ASP.Net, JSP atau JAVAServlet. Ingat, awal belajar Agan bakal ngerasa kesulitan. Tapi di dunia maya, banyak orang-orang yang mau berbaik hati membagi ilmu pengetahuan. Jangan malas mencari..!!!
- Tambahan... Kalau ingin berbasis OOP dan bisa berjalan di berbagai sistem operasi, ASP .Net dan PHP, saat ini bukan pilihan yang tepat.
- Untuk sisi klien, pengetahuan minimal yang harus Agan kuasai adalah XHTML. JScript dan CSS hanya pilihan. Ingat..!!! Agan belajar programming, bukan Web Design.
- Memilih Pemrograman Berbasis Desktop
- Pilih salah satu diantara C/C++, JAVA, .NET (pilih salah satu: C#, VB, J#), dan Python.
Kenapa bahasa pemrograman ini? Karena Bahasa pemrograman yang penulis sebutkan tidak hanya bisa berbasis Desktop, tapi bisa ke Gadget (seperti Handphone), dan bisa dijadikan Web Service (Berbasis Web). Pilih salah satu saja yang akan difokuskan. Kalau di perkuliahan diajarkan bahasa pemrograman yang berbeda, lihat polanya, tapi jangan di-dalami terlebih dahulu. Alasan lainnya adalah forum bahasa pemrograman ini sangat banyak.
- Pilih salah satu diantara C/C++, JAVA, .NET (pilih salah satu: C#, VB, J#), dan Python.
- Memilih Pemrograman Berbasis Web
- Pilih salah satu aplikasi Database. Untuk pemula ane menyarankan memilih salah satu, diantara : MySQL dan PostgreSQL.
- Silahkan mengoleksi buku pemrograman, tapi Jangan Membaca Semuanya. Baca bagian yang memang Agan perlukan saat itu.
Setiap penulis mempunyai cara-cara tersendiri dalam menyelasaikan masalah. Ini justeru akan membuat Anda makin bingung.
3. Yang Pelu Dilakukan Selama Belajar
- Fokus dengan satu bahasa pemrograman saja.
- Fokus dengan satu bahasa pemrograman saja.
- Fokus dengan satu bahasa pemrograman saja.
- Silahkan mencoba bahasa pemrograman lain, kalau sudah menguasai satu bahasa pemrograman.
- Kalau di perkuliahan anda mendapat pelajaran bahasa pemrograman yang lain, di rumah, coba Agan implementasikan ke bahasa pemrograman yang Agan kuasi. Pahami POLA-nya (Pahami ALGORITMA-nya), jangan syntax-nya.
- Kalau ada yang menjelek-jelekkan bahasa pemrograman yang Agan kuasai, jangan terpancing. Ingat, seorang Programmer Kawakan tingkat internasional pernah menulis...
"Hanya programmer TOLOL yang menyalahkan bahasa pemrograman". Karena seharusnya yang dia evaluasi adalah tingkat kemampuannya dan kreatifitasnya dalam menyelesaikan masalah. - Coba sendiri dahulu, baru meminta solusi ke orang lain.
- Coba sendiri dahulu, baru meminta solusi ke orang lain.
- Coba sendiri dahulu, baru meminta solusi ke orang lain.
Setelah Agan memahami tentang pemrograman, baru... silahkan mempertimbangkan teknologi Web 2.x, API, Framework, CMS, Database Engine yang lebih canggih, dll. Semoga tulisan membosankan ini bisa bermanfaat buat Agan-Agan. Intinya "TETAP FOKUS"
Mantap gan
ReplyDeleteMotivasi sekali
oke gan, tetap semangat coding ...
ReplyDeletehehe ..
Kalo pascal gimana gan? susah apa gak?
ReplyDeletemakasih, jangan lupa mampir http://fahrudins3.blogspot.com