Pendahuluan
Tulisan ini membahas secara singkat pemrograman dan
bahasa pemrograman, rambu-rambu dalam belajar atau mengajar bahasa
pemrograman, serta masalah pemilihan bahasa pemrograman pertama bagi
pemula. Kalau kita membayangkan abad informasi, yang muncul adalah
kosakata seperti komputer, network, komunikasi dan informasi itu
sendiri. Memang abad informasi dan komputer tidak dapat dipisahkan.
Perkembangan ilmu dan teknik komputer mempercepat perkembangan
informasi, atau sebaliknya permintaan akan informasi yang terus
bertambah baik dari segi kuantitas maupun kualitas, mendorong percepatan
perkembangan ilmu dan teknik komputer dan ilmu-ilmu lainnya.
Dengan semangat efesiensi, keberadaan komputer di
kantor menjadi sangat penting. Di awal perkembangan komputer, program
aplikasi sangat sedikit, primitif dan "sulit", sehingga setiap kantor
memerlukan programer. Bagi Anda yang dapat menggunakan WordStar ataupun
LaTeX, maka dapat dikatakan bahwa Anda pun seorang programer, karena
Anda harus mengetikan perintah-perintah khusus untuk menghasilkan walau
sebuah surat sederhana. Kini dengan munculnya aplikasi-aplikasi mutakhir
dan tehnologi plug-in, pengguna tidak perlu lagi susah-susah menjadi
programer. Apalagi dengan munculnya tehnologi visual-programming, maka
seorang programer pun tidak perlu mengetikkan seluruh kode dari sebuah
program yang dibuatnya.
Namun demikian, bagaimana pun juga, keberadaan
programer masih sangat diperlukan untuk usaha otomatisasi berbagai
bidang kehidupan. Permintaan yang mendesak dari dunia bisnis, seringkali
membuat dunia pendidikan kewalahan dalam mensuplai programer yang
sanggup menghadapi perkembangan tehnologi komputer yang sangat cepat
ini.
Pemrograman dan Bahasa Pemrograman
Pemrograman dapat diklasifikasikan sebagai berikut [2]:
- Berorientasi prosedur (procedural oriented)
- Berorientasi fungsi (functional oriented)
- Berorientasi logik (logic oriented)
- Berorientasi obyek (object oriented)
Masing-masing
memiliki kelebihan tersendiri. Kadangkala dalam membangun suatu
aplikasi dibutuhkan gabungan metode pemrograman tersebut. Misalnya dalam
C++ dan Java (bahasa pemrograman berorientasi obyek), kita masih dapat
menemukan tehnik-tehnik pemrograman berorientasi prosedur dalam setiap
method/function member dalam obyek-obyeknya.
Suatu bahasa pemrograman pada asalnya hanya dapat
digunakan dalam satu metode. Pascal mulanya untuk procedural-oriented,
Lisp untuk functional-oriented, Smaltalk untuk object-oriented dan
lain-lain. Seiring dengan perkembangan tehnologi informasi dan komputer,
puluhan bahkan ratusan bahasa pemrograman baru lahir. Masing-masing
memiliki keunikan dan kelebihan spesifik. Ada yang khusus untuk jenis
komputer tertentu, ada pula yang khusus untuk paradigma pemrograman
tertentu.
Belajar Pemrograman
Lalu bagaimana seorang programer mulai belajar
memprogram? Dalam menjawab pertanyaan ini kita sering terjebak dalam
masalah pemilihan bahasa pemrograman pertama bagi pemula. Bahasa
pemrograman apakah yang paling tepat diajarkan kepada seorang pemula,
sehingga kelak ia dapat survive di antara sekian ratus bahasa
pemrograman. Sampai saat ini pun perdebatan masih terus berlanjut untuk
memilih bahasa pemrograman pertama yang paling tepat. Tidak dapat
diragukan lagi bahwa bahasa pemrograman hampir sebanyak bahasa manusia,
atau mungkin lebih banyak lagi.
Pemilihan
bahasa pemrograman pertama merupakan masalah pelik. Sebab bahasa
pemrograman pertama akan mempengaruhi cara berfikir programer di masa
yang akan datang. Programer dengan bahasa pertamanya Pascal akan lebih
mudah berpindah ke bahasa pemrograman yang memiliki paradigma sama,
yaitu berorientasi prosedur seperti C, Modula, Oberon. Tetapi programer
tersebut kesulitan untuk berpindah ke bahasa pemrograman dengan
paradigma yang lain seperti CLOS dan Scheme, yaitu bahasa pemrograman
keluarga Lisp. Selain daripada itu, setelah menentukan paradigmanya,
masalah berikutnya yang muncul adalah memilih bahasa pemrograman yang
paling dominan dalam paradigma tersebut. Misalnya, untuk paradigma
berorientasi fungsi manakah yang paling tepat diajarkan kepada pemula,
apakah CLOS atau Scheme atau EmacsLisp. Masalah kedua ini berkaitan
dengan, kemudahan dalam belajar, dialek dalam keluarga bahasa
pemrograman tersebut, atau bahkan kecenderungan pasar.
Pada umumnya, lembaga pendidikan memilih
paradigma pemrograman berorientasi prosedur sebagai paradigma pertama
siswa mereka. Bahasa yang digunakan umumnya Pascal atau C. Hal ini
dikarenakan paradigma tersebut lebih sering dipakai di dalam kehidupan
sehari-hari. Setelah itu, disesuaikan dengan situasi dan kondisi
diajarkan paradigma lain. Tetapi ada pula lembaga pendidikan yang
memilih bahasa ML, bahasa dengan paradigma berorientasi fungsi, seperti
MIT. Alasan MIT, karena sebagian mahasiswa sebelumnya telah memiliki
ketrampilan dan pengetahuan dalam paradigma pemrograman berorientasi
prosedur, demi alasan keadilan dipilihlah bahasa dan pemrograman yang
asing untuk sebagian besar mahasiswa. Dengan demikian sebagian besar
mahasiswa memulai belajar pemrograman dari awal yang sama.
Yang perlu kita perhatikan adalah
mengajar/belajar pemrograman tidaklah sama dengan belajar bahasa
pemrograman. Agar kita tidak salah langkah dalam mengajar/belajar
pemrograman, Derek Andrew [1, pp.255-276] memberikan rambu-rambu sebagai
berikut:
- Kita tidak belajar atau mengajar bahasa pemrograman, tetapi belajar atau mengajar bagaimana cara memprogram
- Kita tidak belajar atau mengajar bahasa pemrograman, tetapi belajar atau mengajar bagaimana memecahkan masalah
- Kita tidak belajar atau mengajar bahasa pemrograman, tetapi belajar atau mengajar bagaimana mendesain sistem
- Kita tidak belajar atau mengajar bahasa pemrograman, tetapi belajar atau mengajar prinsip-prinsip bahasa pemrograman
- Kita tidak belajar atau mengajar bahasa pemrograman, tetapi belajar atau mengajar teori semantik
- Kita tidak belajar atau mengajar bahasa pemrograman, tetapi belajar atau mengajar teori pemrograman
Bagi seorang pengajar point terpenting adalah point
pertama: perlunya mengajari ahli komputer kita bagaimana cara
memprogram. Asalkan suatu bahasa pemrograman itu cukup memadai bagi kita
untuk belajar atau mengajar pemrograman, apapun bahasa pemrograman yang
kita gunakan tidak menjadi masalah.
Referensi
- Mark Woodman. Programming Language Choice: practice and experience. Thompson Computer Press, 1996.
- Rechenber, P. Programming Language as Thought Models. Structured Programming, 11. 1990
- Booch, Grady. Object-Oriented Analysis and Design. The Benjamin r Commings Publishing Company Inc.
- J. Martin and J.J. Odell. Object-Oriented Analysis and Design. Prentice Hall, 1992.
Tidak ada komentar:
Posting Komentar