Bahasa pemrograman C adalah sebuah bahasa pemrograman
yang dikembangkan oleh Dennise M. Ritchie dia juga pengembang UNIX. Sedangkan
C++ adalah improvisasi dari C yang dilengkapi dengan fitur-fitur unggulan
lainnya, salah satunya adalah adanya fitur paradigma object oriented
programming. C/C++ merupakan bahasa pemrograman yang sudah dikenal kurang lebih
dari 20 dekade dalam 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 atau
sebatas teori saja? Berikut ini adalah beberapa penggunaan bahasa pemrograman
C/C++ yang tidak hanya sebatas materi di kampus 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. Pengembangan 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 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.
6. 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.
7. 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.
Tidak ada komentar: