WHAT'S NEW?
Loading...

Pengenalan Bahasa C

A. Tujuan
  1. Mengenal sintaks dan fungsi-fungsi dasar dalam bahasa C
  2. Mampu membuat flowchart untuk algoritma untuk memecahkan suatu masalah sederhana, selanjutnya mengimplementasikannya dalam bahasa C

 B. Dasar Teori
Akar dari bahasa C adalah bahasa BCPL yang dikembangkan oleh Martin Richards pada tahun 1967. Bahasa ini memberikan ide kepada Ken Thompson yang kemudian mengembangkan bahasa yang disebut dengan B pada tahun 1970. Perkembangan selanjutnya dari bahasa B adalah bahasa C oleh Dennis Ritchie sekitar tahun 1970-an di Bell Telephone Laboratories Inc. (sekarang adalah AT&T Bell Laboratories). Bahasa C pertama kali digunakan pada komputer Digital Equipment Corporation PDP-11 yang menggunakan sistem operasi UNIX. Standar bahasa C yang asli adalah standar dari UNIX. Sistem operasi, kompiler C dan seluruh program aplikasi UNIX yang esensial ditulis dalam bahasa C. Kepopuleran bahasa C membuat versi-versi dari bahasa ini banyak dibuat untuk komputer mikro. Untuk membuat versi-versi tersebut menjadi standar, ANSI (American National Standards Institute) membentuk suatu komite (ANSI committee X3J11) pada tahun 1983 yang kemudian menetapkan standar ANSI untuk bahasa C. Standar ANSI ini didasarkan kepada standar UNIX yang diperluas.

Proses Kompilasi dan Linking Program C
Proses dari bentuk source program, yaitu program yang ditulis dalam bahasa hingga menjadi program yang executable ditunjukkan pada Gambar 1 di bawah ini.


Struktur Penulisan Program C

Program C pada hakekatnya tersusun atas sejumlah blok fungsi. Sebuah program minimal mengandung sebuah fungsi. Fungsi pertama yang harus ada dalam program C dan sudah ditentukan namanya adalah main(). Setiap fungsi terdiri atas satu atau beberapa pernyataan, yang secara keseluruhan dimaksudkan untuk melaksanakan tugas khusus. Bagian pernyataan fungsi (sering disebut tubuh fungsi) diawali dengan tanda kurung kurawal buka ({) dan diakhiri dengan tanda kurung kurawal tutup (}). Di antara kurung kurawal itu dapat dituliskan statemen-statemen program C. Namun pada kenyataannya, suatu fungsi bisa saja tidak mengandung pernyataan sama sekali. Walaupun fungsi tidak memiliki pernyataan, kurung kurawal haruslah tetap ada. Sebab kurung kurawal mengisyaratkan awal dan akhir definisi fungsi. Berikut ini adalah struktur dari program C



Bahasa C dikatakan sebagai bahasa pemrograman terstruktur karena strukturnya menggunakan fungsi-fungsi sebagai program-program bagiannya (subroutine). Fungsi-fungsi yang ada selain fungsi utama (main()) merupakan program-program bagian. Fungsi-fungsi ini dapat ditulis setelah fungsi utama atau diletakkan di file pustaka (library). Jika fungsi-fungsi diletakkan di file pustaka dan akan dipakai di suatu program, maka nama file judulnya (header file) harus dilibatkan dalam program yang menggunakannya dengan preprocessor directive berupa #include.

Pengenalan Fungsi-Fungsi Dasar
a. Fungsi main()
Fungsi main() harus ada pada program, sebab fungsi inilah yang menjadi titik awal dan titik akhir eksekusi program. Tanda { di awal fungsi menyatakan awal tubuh fungsi dan sekaligus awal eksekusi program, sedangkan tanda } di akhir fungsi merupakan akhir tubuh fungsi dan sekaligus adalah akhir eksekusi program. Jika program terdiri atas lebih dari satu fungsi, fungsi main() biasa ditempatkan pada posisi yang paling atas dalam pendefinisian fungsi. Hal ini hanya merupakan kebiasaan. Tujuannya untuk memudahkan pencarian terhadap program utama bagi pemrogram. Jadi bukanlah merupakan suatu keharusan.

b. Fungsi printf().
Fungsi printf() merupakan fungsi yang umum dipakai untuk menampilkan suatu keluaran pada layar peraga. Untuk menampilkan tulisan
Selamat belajar bahasa C
misalnya, pernyataan yang diperlukan berupa:
printf(“Selamat belajar bahasa C”);
Pernyataan di atas berupa pemanggilan fungsi printf() dengan argumen atau parameter berupa string. Dalam C suatu konstanta string ditulis dengan diawali dan diakhiri tanda petik-ganda (“). Perlu juga diketahui pernyataan dalam C selalu diakhiri dengan tanda titik koma (;). Tanda titik koma dipakai sebagai tanda pemberhentian sebuah pernyataan dan bukanlah sebagai pemisah antara dua pernyataan. Tanda \ pada string yang dilewatkan sebagai argumen printf() mempunyai makna yang khusus. Tanda ini bisa digunakan untuk menyatakan karakter khusus seperti karakter baris-baru ataupun karakter backslash (miring kiri). Jadi karakter seperti \n sebenarnya menyatakan sebuah karakter. Contoh karakter yang ditulis dengan diawali tanda \ adalah:
           \” menyatakan karakter petik-ganda
          \\ menyatakan karakter backslash
          \t menyatakan karakter tab

Dalam bentuk yang lebih umum, format printf()
printf(“string kontrol”, daftar argumen);

dengan string kontrol dapat berupa satu atau sejumlah karakter yang akan ditampilkan ataupun berupa penentu format yang akan mengatur penampilan dari argumen yang terletak pada daftar argumen. Mengenai penentu format di antaranya berupa:
%d untuk menampilkan bilangan bulat (integer)
%f untuk menampilkan bilangan titik-mengambang (pecahan)
%c untuk menampilkan sebuah karakter
%s untuk menampilkan sebuah string

Contoh:
#include <stdio.h>
main( )
{
printf(“No       : %d\n”, 10);
printf(“Nama     : %s\n”, “Ali”);
printf(“Nilai    : %f\n”,80.5);
printf(“Huruf    : %c\n”,‘A’);
}

Pengenalan Praprosesor #include
#include merupakan salah satu jenis pengarah praprosesor (preprocessor directive). Pengarah praprosesor ini dipakai untuk membaca file yang di antaranya berisi deklarasi fungsi dan definisi konstanta. Beberapa file judul disediakan dalam C. File-file ini mempunyai ciri yaitu namanya diakhiri dengan ekstensi .h. Misalnya pada program #include <stdio.h> menyatakan pada kompiler agar membaca file bernama stdio.h saat pelaksanaan kompilasi.
Bentuk umum #include:
#include “namafile”
Bentuk pertama (#include <namafile>) mengisyaratkan bahwa pencarian file dilakukan pada direktori khusus, yaitu direktori file include. Sedangkan bentuk kedua (#include “namafile”) menyatakan bahwa pencarian file dilakukan pertama kali pada direktori aktif tempat program sumber dan seandainya tidak ditemukan pencarian akan dilanjutkan pada direktori lainnya yang sesuai dengan perintah pada sistem operasi. Kebanyakan program melibatkan file stdio.h (file-judul I/O standard, yang disediakan dalam C). Program yang melibatkan file ini yaitu program yang menggunakan pustaka I/O (input-output) standar seperti printf().

Komentar dalam Program
Untuk keperluan dokumentasi dengan maksud agar program mudah dipahami di suatu saat lain, biasanya pada program disertakan komentar atau keterangan mengenai program. Dalam C, suatu komentar ditulis dengan diawali dengan tanda /* dan diakhiri dengan tanda */.
Contoh :
/*
Tanda ini adalah komentar
untuk multiple lines
*/
#include <stdio.h>
main()
{
 printf(“Coba\n”);  //Ini komentar satu baris
}

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 kumpulansystem librariessystem callshardware drivercompiler, 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 libraryCocoa. 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 aplikasiopen 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 denganguideline 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, librarieslexer 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 menggunakanVisual 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 diplatform 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.
Artikel diambil dari
http://www.codepolitan.com/cc-tak-sebatas-untuk-kuliah/