C/C++, Tak Sebatas Untuk Kuliah

Ridwan Fajar 27 Januari 2015

C/C++, Tak Sebatas Untuk Kuliah

Bahasa pemrograman C sebuah bahasa pemrograman yang dikembangkan oleh Dennise M. Ritchie yang juga pengembang UNIX. Sedangkan C++ adalah improvisasi dari C yang dilengkapi dengan fitur unggulan lainnya, salah satunya adalah adanya fitur paradigma object oriented programming. C/C++ merupakan bahasa pemrograman yang sudah dikenal dari 20 dekade lebih untuk pengembangan aplikasi di UNIX, dan aplikasi lainnya. Namun bagi beberapa mahasiswa jurusan IT di Indonesia khususnya, bahasa C/C++ merupakan sebuah bahasa yang agak dijauhi dan menakutkan oleh mahasiswa jurusan IT pada umumnya.

C/C++ merupakan bahasa pemrograman yang biasanya digunakan sebagai pengantar di mata kuliah algoritma dan pemrograman, struktur data, dan teknik kompilasi. Mahasiswa cenderung beralih ke bahasa pemrograman lain karena menganggap bahasa C/C++ adalah bahasa yang hanya digunakan untuk kuliah saja. Tapi tahukah bahwa C/C++ tidak hanya sebatas untuk kuliah? Berikut ini adalah beberapa penggunaan bahasa pemrograman C/C++ yang tidak hanya terbatas untuk kuliah saja.

1. Mempelajari Kernel dari Sistem Operasi

Kernel Linux, Windows, dan OSX dibangun menggunakan C/C++. Kernel merupakan kumpulan system libraries, system calls, hardware driver, compiler, dan beberapa aplikasi untuk user. Kernel merupakan program komputer yang mengelola input/output antara hardware dengan aplikasi yang dibangun oleh seorang programmer. Kernel menerjemahkan instruksi dari aplikasi menjadi instruksi yang akan dieksekusi oleh CPU dan hardware lainnya. Kernel memiliki tempat yang sangat terproteksi di memory. Kernel melakukan tugas seperti mengeksekusi proses dan menanganti interrupts. Pemisahan ini dilakukan agar user Tidak mengganggu sistem dengan menggunakan program miliknya. Berbekal dengan kemampuan C/C++, Anda dapat mempelajari XNU (https://github.com/opensource-apple/xnu) dan Linux (https://www.kernel.org/). Keduanya merupakan kernel yang bersifat open source.

2. Membangun aplikasi desktop

Membuat aplikasi desktop merupakan salah satu ranah yang digeluti oleh pengembang perangkat lunak. Dengan menggunakan C/C++, kamu dapat membuat berbagai aplikasi mulai dari sederhana hingga kompleks dengan memanfaatkan GUI library yang disediakan oleh sistem operasi yang kamu gunakan. Jika menggunakan Windows, kamu dapat menggunakan GUI library Windows Form. Jika menggunakan OSX, kamu dapat menggunakan GUI library Cocoa. Sedangkan di Linux dan Unix, kamu dapat menggunakan GTK. Tidak hanya terpaku pada GUI library yang terikat pada suatu sistem operasi, dengan C++ kamu juga dapat menggunakan GUI library yang bersifat cross-platform seperti WxWidget, Qt, FLTK, dan IUP.

3. Membuat aplikasi mikrokontroler

C/C++ sudah lama digunakan untuk pengembangan aplikasi mikrokontroler. Salah satu teknologi yang paling banyak digunakan adalah CodeAVR yang merupakan IDE untuk mengembangkan aplikasi mikrokontroler di chip AtMega. Mikrokontroler sangat luas, mulai dari membangun perangkat elektronik, robotik, hingga internet of things dapat kamu jelajahi untuk membangun perangkat yang kamu rancang. C/C++ ini umumnya menjadi partner utama para pengembang robot.

4. Ikut mengembangkan teknologi open source

Tak dapat dipungkiri bahwa C/C++ sudah turut andil dalam pembangunan berbagai aplikasi open source di dunia. Mulai dari kernel sistem operasi hingga bahasa pemrograman dibangun diatasnya. Tentu saja karena mereka open source, kamu dapat berkontribusi untuk ikut menyumbang fitur yang kamu inginkan atau memperbaiki kode program sesuai dengan guideline yang mereka miliki. Contoh teknologi open source yang populer adalah NodeJS, dimana banyak kontributor yang ikut mengembangkan NodeJS dengan mengandalkan C/C++. Di Indonesia, ada juga bahasa pemrograman BAIK yang siap menanti kontributor dan peninjau proyek untuk mengembangkan bahasa BAIK menggunakan C/C++.

5. Membuat atau mempelajari bahasa pemrograman dengan C/C++

Dengan berbekal teknik kompilasi dan automata, mungkin kamu dapat memulai bereksperimen untuk membuat bahasa pemrograman sendiri dengan menggunakan bahasa C/C++. Mengapa tidak? Karena bahasa pemrograman yang ada seperti PHP, Python, NodeJS, Ruby, dan lainnya menggunakan bahasa C/C++ untuk menyusun perintah, keyword, aturan sintaks, libraries, lexer dan parser. Bahasa pemrograman BAIK yang dikembangkan Pak Haris Hasanudin pun menggunakan C/C++ untuk membangunnya. Umumnya bahasa pemrograman memiliki untuk menjalankan instruksi dari bahasa pemrograman. Sebagai contoh, kamu dapat melihat bagaimana bahasa C/C++ digunakan untuk menjalankan program yang ditulis menggunakan BAIK di source code BAIK di SourceForge

6. Membuat library untuk bahasa pemrograman lain

Tidaklah mengherankan apabila C/C++ digunakan untuk membangun library bagi bahasa C/C++. Ternyata eh ternyata bahasa pemrograman yang populer seperti Ruby, Java, Python, dan PHP mengizinkan kita untuk membangun library dalam bahasa C/C++ yang nantinya dapat diakses sebagaimana sintaks masing - masing bahasa pemrograman tersebut. Di Ruby, kamu dapat membuat library dengan menggunakan standard RubyGems. Di Java, kamu dapat membuat library dengan menggunakan fitur Java Native Interface. Di PHP, kamu dapat menggunakan teknologi third party seperti PHP-CPP untuk membangun library PHP menggunakan C++. Di Python, kamu dapat mengikuti panduan membangun library Python dengan C/C++ di dokumentasi resmi Python.

7. Membuat aplikasi perangkat mobile

Ranah perangkat mobile merupakan salah satu ranah di teknologi informasi yang sangat berkembang cepat. Jarak rilis antar pembaharuan sistem operasinya pun sangat dekat. Beberapa sistem operasi perangkat mobile yang populer antara lain Windows Phone 8, Android, TizenOS, SailfishOS, Ubuntu Touch, PalmOS dan iOS. Seperti yang kita tahu, bahasa pemrograman yang umum digunakan di TizenOS, iOS, Sailfish OS dan PalmOS adalah C++, berbeda dengan Windows Phone 8 yang umum menggunakan C#, Android yang umum menggunakan Java, dan Ubuntu Touch yang umum menggunakan QML. Windows Phone 8 mengizinkan kamu untuk membangun aplikasi mobile di platform tersebut menggunakan Visual C++. Android mengizinkan kamu untuk membangun aplikasi dengan C++ yang dibantu dengan menggunakan Native Development Kit. Sedangkan Ubuntu Touch mengizinkan kamu untuk membangun ekstensi QML menggunakan C++ yang dipadu dengan Qt Library. Untuk iOS sendiri Objective-C lebih banyak digunakan untuk pengembangan aplikasi mobile di platform tersebut.

8. Membuat Game

Membuat game, salah satu hal yang paling menarik di antara pengembangan perangkat lunak lainnya. Untuk mengembangkan game Anda membutuhkan aset berupa suara, gambar, platform, dan tentu saja kode program yang berisi logika game. C++ sudah akrab di mata para pengembang game mulai dari pengembang game Nintendo, PlayStation, GameBoy Advance, dan konsol lainnya. Pada saat itu memang tidak banyak pengembang game yang dapat dengan mudah mendapatkan SDK untuk membangun game di platform tersebut. Tapi kini sudah banyak tersedia game engine seperti Marmalade, Panda3D, dan Cocos2D yang dapat kamu gunakan untuk mengembangkan game dengan menggunakan C++. Misal saja dengan Panda3D, kamu dapat membangun game 3D yang dapat dipasang di banyak sistem operasi, atau juga dapat membangun game untuk Android/Windows Phone/iOS dengan menggunakan Cocos2D.

(rfs/linuxjournal/developergoogle/sourceforge)