Tren Dunia Pemrograman

JS NEWS Saat ini semakin banyak terdapat jenis bahasa pemrograman , tool development, dan framework.Dunia pemrograman sangatlah dinamis. Seorang programmer walaupun tidak perlu menguasai semua tool dan bahasa pemrograman namun perlu memahami tren pemprograman agar dapat menyesuaikan karyanya dengan perkembangan teknologi.

Apa Yang Mendasari Perubahan Teknologi

Dulu orang menyelesaikan sebuah naskah dengan tulisan tangan atau mesin tik. Sebagai besar orangtelah nyaman dengan cara itu. Lalu mengapa akhirnya teknologi berubah dan orang beralih menggunakan komputer? Karena adanya penemuan baru dibidang teknologi. User mungkin tidak banyak berpikir tentang perubahan, tetapi ada sedikit orang yang berpikir ke depan dan membuat terobosan, ide yang diterima luas akhirnya mengubah tren teknologi. Tidak heran tokoh – tokoh teknologi ini menorehkan nama besar , seperti charles babbage, alam turing, atau mungkin inovator masa kini seperti tim berners – lee atau steve jobs.

Teman baru di bidan teknologi bertujuanuntuk mempermudah. Bayangkan apa yang tidak dapat dilakukan mesin tik, seperti menghapus teks yang salah, copy paste, dan lain – lain. Sementara betapa mudahnya melakukan semua hal itu di komputer. Saat ini, denga sedemikian banyak pilihan teknologi, anda harus bekeja dengan cerdas dan tidak semata – mata bekerja dengan keras, pembahasan artikel ini khusus menyoroti bidang pemrograman.

PHP / JavaScript / CSS / Framework

Terdapat beberapa pilihan bahasa pemrograman server side untuk pengembangan website, misalnya php atau asp.net. Saat ini pilihan bukan hanya tentang bahasa pemrograman yang digunakan, tetapi juga framework apa yang digunakan. Misalnya, symfony atau laravel? Keduanya adalah php framework. Mengapa dibutuhkan framework? Agar membantu pengembangan website menjadi lebih cepat.

Sebuah framework telah menyiapkan library siap pakai, misalnya untuk mengakses database dan berbagai fungsi yang lazim dibutuhkan dalam pembuatan website. Framework juga telah menyiapkan arsitektur yang kuat ( contohnya arsitektur mvc ) sehingga kode program mudah dipelihara dan dikembangkan, menghindari kode tambal sulam yang rumit.

Hal yang sama terjadi pada javascript / css framework. Untuk javascript framework anda mengenal nama – nama seperti jquery, kendo ui, angularJS, dan seterusnya. Sementara terdapat juga css framework seperti bootstrap, foundation, dan lain – lain.

Bagamainapun juga banyak pilihan ini menimbulkan masalah lain, pilih yang mana? Anda perlu mengadakan riset sendiri mengenai kelebihan / kekurangan masing – masing framework, sesuaikan dengan kebutuhan anda. Pertimbangakan juga dukungan komunitas framework. Peran komunitas sangat membantu untuk diskusi seputar permasalahan teknis dan pengembangan framework tersebut ke depan.

Single – Page Application

Masih mengenai pengembangan website, pada awalnya banyak website tersusun hanya dari halaman statis dengan mengandalkan html. Jika terdapat perubahan konten, programmer website akan langsung mengubah pada kode html-nya. Kemudian tren pengembangan website mulai beralih ke halaman dinamis dengan menggunakan server side programming, seperti cgi, php, asp, coldfusion dan lain – lain.

Saat user meng-klik suatu link maka pada sisi sever akan bekerja mengolah data dan menghasilkan halaman website secara “ on the fly”. Bisa jadi dalam sebuah file php terdapat kode untuk memanggil record dari database dan menampilkan hasilnya dengan html. Cara ini bertahan sampai sekarang namun mulai muncul tren baru, yaitu single – page application yang dikenal juga dengan singkatan spa.

Spa memisahkan layer data dan layer presentasi yang tidak dilakukan oleh website biasa. Walaupun masih berbasis web namun yang dilakukan spa sama halnya dengan sebuah aplikasi. Contohnya, sebuah aplikasi game online saat sedang dijalankan akan men – download data yang dibutuhkan saat anda mulai bermain, interaksi dengan user dilakukan seluruhnya pada sisi client. Koneksi dengan server walaupun tetap dibutuhkan namun hanya untuk sinkronisasi data atau untuk mendukung proses lain yang berjalan pada background.

Jika pada website biasa, kompleksitas berada pada disi server karena merupakan otak aplikasi maka dengan spa kopleksitas akan berada pada sisi client sehingga lebih meringankan kerja server. Sisi server berfungsi sebagai penyedian data yang dibutuhkan .

Dari sisi pemprograman, hal utama di balik spa adalah javascript, khususnya ajax. Berbagai javascript framework juga mengadopsi prinsip – prinsip spa, beberapa javascript framework yang populer adalah anggularJS, ember.js, atau meteor.js. Sementara pertukaran data umumnya dengan format json atau xml.

Cri spa adalah tidak memanggil halaman website yang baru dalam interaksinya dengan user. Contohnya, google docs / sheets / slides yang mengizinkan user membuat dan mengedit dokumen online dapat dikategorikan spa. Gambar 1 memperlihatkan spreadsheet berisi kalender pada google sheets. Twitter dan facebook dalam banyak hal juga mengimplementasikan spa.

Elemen Canvas

Sejak booming internet, animasi sudah menjadi salah satu daya tarik sebuah website. Dulu animasi sederhana dapat dihasilkan denngan format gif animasi, lalu tren mengarah ke penggunaanflash yang sempat sangat populer. Namun, sekarang dan tren kedepannya, penggunaan grafik dan animasi tampaknya didominasi oleh html5 dan javascript yang didukung ketersediaan api untuk mengakses elemen canvas pada browser. Hal ini juga didukung penuh oleh browser – browser modern. Salah satu contoh menarik penggunaan canvas terlihat seperti pada Gambar 2 yang memperlihatkan animasi partikel, demo yang juga menyertakan kode sumber ( menggunakan html , css, dan javascript ) ini diambil dari http://code-pen.io/antoniskamamis/pen/EcrKd.

Game Engine

Game adalah salah satu jenis program komputer yang paling kompleks, selain memerlukan alur logika, dan perhitungan yang memeras otak, faktor penting lainnya adalah grafik yang menarik. Pada tahun 1990-an banyak game yang menarik ( walaupun tidak selalu berskala besar ) dibuat dari awal hanya dengan menggunakan bahasa pemrograman seperti C++ atau bahkan pascal, tanpa bantuan engine / library pihak ketiga. Seluruh fungsi rumit yang lazim terdapat pada sebuah game seperti grafik, collision detection, search dibuat dari awal.

Saat game semakin berkembang ditambah lagi dengan dukungan video card maka dimulai banyak dikembangkan game engine yang telah menyediakan berbagai library siap pakai untuk memudahkan pembuatan game. Salah satu contoh adalah cryEngine ( www.cryengine.com )dengan fitur antara lain, material editor, pembuatan map, character animation system , al editing system, in – game sound mixing profiling, dan masih banyak lagi.

CryEngine digunakan dalam pembuatan game far cry. Game lain yang juga menggunakan engine ini adalah crysis, sniper : ghost warrior 2, evolve, battlecry, dan lain – lain.

Corona sdk ( www.CoronaLabs.com ) yang diunakan untuk pembuatan aplikasi mobile juga termasuk game engine karena menyediakan berbagai fitur yang lazimnya digunakan dalam game seperti grafik, audio, networking, user input, atau cryptography.

Game engine lain yang banyak digunakan adalah unity ( www.unity3d.com ). Beberapa game populer yang menggunakan unity, antara lain battlestar galactica online, angry birds 2, atau shadom balde ( Gambar 3).

Pengkodean Dengan Web Interface

Untuk mengetik kode program, seorang programmer umumnya menggunakan IDE ( integrated development environment ). Sejak dulu dikenal masing – masing bahasa pemrograman yang dilengkapi dengan ide – nya sendiri, yakni turbo pascal, visual foxpro, visual basic 6 yang fenomenal, atau delphi. Lalu dikenal ideyang mendukung lebih dari satu bahasa pemrograman seperti eclipse atau netbeans.

Tren berikutnya kode programan diketik secara online melalui web interface. Adapun yang lebih dulu populer adalah javascript melalui jsfiddle ( www.jsfiddle.net ), dan sekarang anda mengenal php fiddle ( www.phpfiddle.org ) lalucloud9 ide ( www.c9.io ) yang mendukung python , c / c++, ruby, php, dan lain – lain ( pembahasan selengkapnya dapat dibaca pada artikel berjudul “ ide berbasis web “ pada majalah pc media 10/2015.

Barangkali masih terlalu dini memperkirakan hal ini akan menjadi tren hangat di masa depan. Namun, ide ini dapat membuka banyak inovasi baru yang menyusul, misalnya cara baru untuk berkolaborasi membuat sebuah project, memudahkan distribusi aplikasi secara online, dan berbagai ide lainnya.

Node.js

Pembuatan website saat ini merupakan hal kompleks terutama bagi anda yang baru saja memulai. Seseorang perlu mempelajari javascript, css, html yang digunakan pada sisi client / frontend, dan bahasa pemrograman pada sisi server, misalnya pp.

Pada tahun 2009, ryan dahl membuat node.js, sebuah runtime environment berbasis open source dan cross platform untuk mengembangkan aplikasi web yang uniknya menggunakan javascript untuk pemrograman pada sisi server. Dengan demikian seseorang hanya perlu mempelajari javascript sebagai bahasa utama dalam pembuatan aplikasi website.

Bukan itu saja keunggulan node.js. Dengan menggunakan engine v8 dari google yang mampu meng – compile dan mengeksekusi javascript dengan cepat, ditambah dengan event loop yang menjalankan operasi I / O secara asynchronous maka aplikasi web dengan menggunakan node.js memiliki performa yang sangat baik.

Node.js juga dapat digunakan bersama database nosql ( mongodb, couchdb, dan seterusnya ). Saat ini node.js digunakan oleh berbagai perusahaan raksasa seperti ibm, microsoft, groupon, paypal, netflix, yahoo!, dan lain – lain. Website resmi node.js adalah www.nodejs.org ( Gambar 4 ).

Kita lihat saja apakah di masa depan node.js atau teknologi serupa dapat menggeser penggunaan bahasa pemrograman sisi server yang sudah sangat populer seperti php.

Tren Menuju Kepunahan

Tren seperti yang dibahas di atas merupakan tren perkembangan teknologi, ada pula tren perkembangan teknologi, ada pula tren sebaliknya, yaitu tren kepunahan teknologi tertentu. Ini kenyataan yang pahit tetapi memang harus terjadi seperti halnya contoh mesin tik. Di dunia pemrograman, hal ini terasa lebih menyedihkan karena skill pemrograman diperoleh dengan usaha yang tidak sedikit, bayangkan skill yang bertahun – tahun anda miliki edan mungkin menjadi penghidupan anda, pada akhirnya tidak lagi digunakan. Untungnya , skill tersebut sedikit banyak pasti berguna untuk mempelajari teknologi penggantinya.

Flash adalah salah satu teknologi yang pernah populer namun saat ini meredup. Animasi atau game berbasis flash yang pernah menjamur, kini tidak banyak terlihat. Javascript dan html5 lebih diminati untuk menghasilkan efek transisi dan animasi.

Visual basic juga pernah sangat populer, terutama visual basic6 yang sampai saat ini bisa jadi masih cukup banyak digunakan, terutama untuk pemeliharaan aplikasi – aplikasi lama ( misalnya aplikasi dekstop untuk perkantoran ) yang dibuat dengan visual basic6 dan masih digunakan. Walaupun termasuk visual basic. Net yang tampaknya memiliki saingan dari buku sendiri yaitu G#.

Bagaimanapun juga, dunia pemprograman adalah beljar tanpa henti. Hindari menjadi penganut fanatik teknologi tertentu karena teknologi adalah salah sesuatu yang sangat cepat berubah.

Sumber : PCMedia 

Share Is Cool

Leave a Reply

Your email address will not be published.