Hai rekan dev, sudah coding hari ini? Desktop, client side, atau server side programming? Bahasa pemrograman apa yang dipakai? Atau masih bingung menentukan pilihan jodoh bahasa? Yuk kita ngobrol dikit tentang “server side programming language”.

Apa Sih Server Side itu?

Server Side Programming Language, atau Bahasa Pemrograman sisi server, adalah bahasa pemrograman web, yang letak source code nya nanti hanya ada di webserver. Bahasa ini source code nya tidak akan muncul di sisi client (browser). Client/browser hanya menerima keluaran dari kode program tersebut. Di sisi client, keluaran akan muncul berupa : HTML, CSS, hingga bahasa pemrograman client side paling terkenal : Javascript. Bahasa Server Side sendiri ada banyak bahasa, paling populer saat ini ya : PHP. Nah siapa nih yang korban gemar PHP?

Saking populernya PHP, sebagian besar server hosting dunia (dan tentu juga hosting server akademik) , didominasi berbasis PHP. PHP saat ini sudah masuk ke versi 7.3. Versi yang paling lama bertahan adalah 5.x. Kemudian ditambal-tambal, patch, update, dan akhirnya masuk ke versi 6. Versi 6 sendiri tidak disarankan untuk digunakan karena berat. Muncullah PHP 7 yang hingga sekarang masih bercokol dan berjaya. Sudah gitu, PHP-8 sudah diisukan muncul dengan kelebihan : JIT Compiler. Mari kita cerita tentang bahasa lainnya.

 

Python

Top 5 Bahasa Pemrograman "Server Side" Selain PHPPython adalah seperti PHP, dia open source,  berjenis bahasa interpreter, tidak dikompile (berupa script), dan bahasa aras tinggi. Bahasa ini sebenarnya justru lebih tua dibanding PHP. Python tahun 1991, sedangkan PHP tahun 1994. Python, cukup digemari di kalangan developer AI (Artificial Inteligence – Kecerdasan Buatan), dan Machine Learning.

Beberapa hal yang membuat python begitu disukai :

  • Library yang sangat lengkap
  • Kemudahan mengambil library dengan menggunakan pip
  • Komunitas yang luas
  • Kemudahan dipelajari, terutama justru oleh newbie
  • Kemampuan mengolah big data, yang masa kini sedang marak
  • Python bagus juga sebagai system scripting

Cukup banyak tools gratisan di internet, baik standalone tool, aplikasi, maupun middleware yang dibangun dengan menggunakan Python. Di kalangan pentester, python masih paling banyak digunakan sebagai bahasa pemrograman untuk mendevelop aplikasi penetration test. Python sekarang, sudah mencapai versi 3.7.4.

 

Node.js

Top 5 Bahasa Pemrograman "Server Side" Selain PHPNode.js ditulis tahun 2009 oleh Ryan Dahl. Dia menulis karena ingin membuat bahasa pemrograman dengan berlibrary Javascript, namun ada di server side. Node.js tumbuh di kalangan komunitas developer, terutama mereka yang memilih malas untuk belajar bahasa pemrograman selain Javascript. Alasannya dengan memahami satu bahasa saja, mereka sudah dapat memegang server side dan client side sekaligus. Masuk akal.

Beberapa hal mengapa node juga melejit popularitasnya adalah sebagai berikut

  • sintaks yang bersaudara dengan java script. Sekali belajar bahasa, untuk semua sisi
  • Dukungan komunitas
  • Library yang banyak, dengan bantuan npm pemanggilan library jadi cukup cepat
  • Konon, eksekusi satu command di node, lebih cepat ketimbang bahasa pemrograman lainnya

Pada umumnya node digunakan sebagai bahasa pemrograman untuk pengembangan webservice dan API. Beberapa isu kekurangan Node seperti : potensial DDOS pada Listen Service, dapat ditangani dengan webserving dengan program webserver seperti Nginx, Apache, dan lainnya. Versi terakhir node sekarang adalah 13.2.0

 

Java

Top 5 Bahasa Pemrograman "Server Side" Selain PHPjava adalah bahasa pemrograman berbasis pada class dan OOP (Object Oriented Programming), dijalankan dengan kompilasi, dan tak perlu compile ulang saat pindah mesin lain. Aplikasi berbasis Java dapat hidup dalam berbagai macam sistem operasi dan arsitektur, dengan cara menjalankan JVM (Java Virtual Machine). Java memiliki logo gambar kopi, konon memiliki sejarah tersendiri. Si pembuat Java, James Gosling dan kawan-kawannya, terinspirasi logo itu dari kopi Jawa. Mereka menganggap bahwa kopi Jawa adalah kopi paling berkesan untuk para coder.

Java dibuat oleh para pegiat di Sun Microsystem pada tahun 1991, yang kemudian diakuisisi oleh Oracle pada tahun 2010. Java banyak digunakan pada sistem-sistem yang membutuhkan penyembunyian source code. Keunggulan lain dari Java ini, karena dia menggunakan JVM, maka saat program Java start, dia akan langsung meload seluruh program, mengklaim resource (memory), dan berjalan dengan stabil dalam merespon layanan.

Beberapa developer memilih tidak menggunakan Java, karena menurut mereka kurang ramah dan lincah dikerjakan dengan Source Code Management (Version Control). Pola delivery aplikasi masa kini, dari kondisi development ke kondisi live menuntut dapat dilakukan dengan satu kali clone. Sedangkan Java yang memerlukan kompilasi, memiliki risiko downtime saat peralihan versi. Namun hal ini pun sebenarnya sudah dapat diatasi. Nah, tertarik mencoba Java?

Top 5 Bahasa Pemrograman "Server Side" Selain PHP

 

Ruby

Top 5 Bahasa Pemrograman "Server Side" Selain PHPRuby ditulis oleh Yukihiro Matsumoto, pada tahun 1995. Dari namanya, tentu tahu ya, beliau orang mana. Ruby merupakan bahasa interpreter, aras tinggi, dan juga multiple paradigm programming, yang dapat berbasis OOP, Prosedural, ataupun berbasis fungsional. Yukihiro menuliskan Ruby, salah satunya terinspirasi oleh bahasa Perl. Saat ini Ruby telah mencapai versi 2.8

Di lingkungan bahasa Ruby ini, berkembang juga sebuah framework bernama Ruby On Rails, yang sudah berbasis MVC (Model View Controllers), yang menginspirasi banyak framework populer seperti : Django (Python), Laravel dan CakePHP (PHP), Sails.js di NodeJS. Komunitas Ruby di Indonesia, ada di https://ruby.id.

Ruby juga tidak jarang digunakan untuk system scripting di berbagai sistem operasi. Ruby juga dapat digunakan sebagai bahasa pemrograman untuk program-program executable. Salah satunya misal adalah tool untuk melakukan audit keamanan WordPress : WPScan, juga ditulis dengan menggunakan bahasa Ruby. Ruby juga memiliki composer library yang bernama RubyGems .

 

Go !

Top 5 Bahasa Pemrograman "Server Side" Selain PHPGolang, adalah bahasa pemrograman server side yang merupakan salah satu teknologi Google yang lantas dishare ke masyarakat. Google memang begitu. Sukanya ngeshare teknologinya ke masyarakat. Tujuannya? Ya untuk keberlangsungan pengembangan, kontribusi dan menanamkan platform teknologi Google pada masyarakat.

Di sisi client side, Google pernah share AngularJS, di sisi infrastruktur Google menularkan Kubernetes (yang konon ditulis dengan Go juga).

Go (atau Go Lang, atau Golang), akan dikompilasi (compile) pada mesin yang menjalankan. Cara penulisan Go sendiri seperti bahasa scripting biasa. Konon, Go menjadi bahasa pemrograman dengan proses yang sangat cepat, karena dengan dikompilasi, dia akan memiliki library sendiri dalam bentuk biner. Go sendiri, dibangun dengan menggunakan bahasa C.

Go, akhir-akhir ini menjadi sangat populer, karena kelebihannya. Ditambah dengan dokumentasi yang banyak, dukungan komunitas dan masyarakat IT seluruh dunia, menjadikan popularitas Go menjadi tinggi. Bahkan di kalangan pentester, system scripting, Go juga mulai marak digunakan. Di dunia startup dan perusahaan-perusahaan raksasa berbasis IT di Indonesia, Bahasa pemrograman Go juga marak digunakan.

Pilih Mana?

Dengan banyaknya bahasa pemrograman yang bertebaran di dunia IT, manakah yang paling bagus digunakan? Sebenarnya semua pemrograman sangatlah tergantung pada programmer dan desainnya. Seperti yang pernah tim eCampuz dengarkan dari kata-kata kang Onno W Purbo, suhu IT negeri ini, “programming dan bahasanya itu perkara mudah, yang sulit adalah logic-nya

Untuk mempelajarinya, sudah banyak forum-forum dunia maupun forum-forum Indonesia di berbagai web, ataupun pada supergroup Telegram yang dapat diikuti dengan bebas. Meskipun kadang di group itu banyak hal yang konyol, yang masih membawa fanatisme bahasa pemrograman. Tolong bagian ini jangan diikuti hehehe… Berikut beberapa list group Telegram yang membahas tentang bahasa pemrograman :

Go : https://t.me/golangID

NodeJS : https://t.me/nodejsid

Ruby : https://t.me/ruby_id

PHP : https://t.me/PHPIDforStudent

Java : https://t.me/JVMUserGroup

 

Server Side for Campus

Untuk kampus, enaknya bahasa pemrograman apa ya? Pemilihan bahasa pemrograman, baik untuk kampus, perusahaan, komunitas dan lain sebagainya, harus disesuaikan juga dengan beberapa hal, seperti : digunakan untuk kebutuhan apa, dukungan infrastruktur (environment server), dukungan SDM, keberlangsungan (regenerasi), kolaborasi, hingga libary dan komunitas luar.

Misal, pemilihan bahasa pemrograman untuk aplikasi di kampus dengan Perl untuk sistem keuangan, adalah sah-sah saja. Namun untuk keberlangsungan, kolaborasi, hingga dukungan komunitas di luar belum tentu mudah. Apalagi kampus dengan tipe rolling SDM yang sangat tinggi, dibutuhkan bahasa pemrograman yang banyak dimengerti orang, dengan framework yang populer, dan dokumentasi yang dapat menjadi acuan generasi selanjutnya. Dengan demikian proses maintenance dapat dilanjutkan hingga banyak generasi.

Bahasa pemrograman server side jika untuk keperluan riset, sangat dianjurkan untuk mencoba sebanyak mungkin bahasa. Masih banyak bahasa pemrograman server side yang bertebaran di luar sana, dengan berbagai spesifikasi dan keunikan tersendiri. Seperti misal : Coldfusion, Perl, hingga Rust. Mereka memiliki keistimewaan sendiri, dengan kecocokan penggunaan masing-masing. Tertarik untuk mencoba?

 

bahasa pemrograman