Pengantar Pemrograman C Dasar di Linux (Disertai Latihan)


Bismillahirrahmanirrahim.

Tulisan ini tersedia dalam PDF.

kateTulisan ini menjelaskan bagaimana memulai belajar pemrograman dengan bahasa C di Linux. Tulisan ini dibuat karena cukup banyak permintaan dari para pemula yang ingin belajar pemrograman tetapi tidak tahu caranya. Tulisan ini dirancang agar mudah diikuti dengan contoh dan gambar-gambar. Tulisan ini mengutamakan minimal working example sehingga dengan sekali baca saja Anda sudah mampu melakukan pemrograman pertama Anda di Linux. Tulisan ini dilengkapi latihan-latihan bahasa C agar Anda memperoleh pemahaman terbaik. Yang diharapkan dari tulisan ini adalah Anda mengerti bagaimana pemrograman itu dan bagaimana melakukannya di Linux. Diharapkan pula Anda memperoleh feeling seorang tukang program supaya bisa mempelajari bahasa pemrograman apa pun dengan cepat setelah mempelajari C. Tulisan ini dirancang untuk diterapkan pada Ubuntu. Mohon maaf jika banyak kekurangan dan semoga tulisan ini bermanfaat untuk Anda.

1. Dasar Pijakan Pemrograman

Dalam pemrograman, Anda perlu memegang dulu tiga hal berikut.

  1. Di mana menuliskan kode.
  2. Bagaimana cara kompilasinya.
  3. Bagaimana cara menjalankannya.

Anda akan menemukan 3 hal ini di hampir semua bahasa pemrograman yang ada.

2. Kunci Keberhasilan Pemrograman

Perlu dicamkan, Anda hanya akan mampu memahami pemrograman jika Anda sering mencoba-coba (trial and error). Banyak melakukan latihan adalah kunci keberhasilan pemrograman. Latihan dilakukan dengan 3 langkah berikut.

  1. Ambil kode orang.
  2. Modifikasi.
  3. Jalankan.

Itulah yang dinamakan belajar pemrograman.

3. Mengenal Bahasa C

Bahasa C adalah bahasa internasionalnya semua bahasa pemrograman yang ada sekarang. Artinya, bahasa C memiliki jumlah pengguna terbesar di dunia. Selain itu, bahasa C memiliki jumlah pustaka (ini penting) yang paling besar dan tentu saja jumlah panduan terbesar pula. Yang perlu Anda ketahui adalah bahasa C termasuk jenis bahasa yang perlu dikompilasi (compile) untuk menghasilkan program.

4. Mengapa Harus C?

Jika Anda sudah mampu memrogram C, maka Anda akan mampu memrogram dalam bahasa lain apa pun itu. Minimal, Anda akan mampu mempelajari bahasa lain dengan mudah. Maka, C adalah bahasa yang paling cocok untuk memulai pemrograman.

5. Mengenal Pemrograman

Pemrograman adalah kegiatan menulis kode dalam berkas teks lalu mengubahnya menjadi berkas eksekutabel biner. Jadi, pemrograman itu cuma menulis kode dengan aplikasi penyunting teks (bisa pakai Gedit). Namun setelah ditulis, kode harus diubah jadi berkas eksekutabel biner (binary executable file). Berkas inilah yang selama ini kita nikmati dalam format .exe di Windows. Langkah mengubah kode jadi eksekutabel ini dinamakan kompilasi (compilation). Langkah ini yang akan selalu Anda lakukan dalam pemrograman. Dan kompilasi dilakukan dengan sebuah program yang dinamakan kompiler. Kompiler inilah yang terpenting dalam pemrograman Anda. Dalam pemrograman C, gcc adalah kompiler yang akan Anda pakai. GCC adalah kompiler C terbaik di dunia. GCC sudah kompiler bawaan di Ubuntu sehingga tidak perlu Anda menginstal program tambahan.

6. Mengenal Pemrograman di Linux

Pemrograman itu punya cara yang sama di seluruh sistem operasi. Hanya saja, Anda perlu mengetahui bagaimana alur kerja pemrograman di Linux. Berikut ini bentuk penerapan dasar pijakan pemrograman di atas.

  1. Kode ditulis di Gedit.
  2. Kode dikompilasi dengan gcc.
  3. Kode dijalankan dengan Terminal.

Begitulah langkah-langkah yang akan Anda kerjakan dalam setiap latihan insya Allah.

PENTING! (Mutakhir 21 Februari 2014)

sudo apt-get install build-essential

Anda sebaiknya menginstal paket build-essential untuk melakukan seluruh pemrograman C (bahkan C++) di Linux mulai hari ini sampai masa mendatang. Paket ini memuat banyak pustaka penting yang pasti Anda butuhkan kelak. Sebelum terjadi error kompilasi, sebaiknya Anda melakukannya. Terima kasih untuk Akang Aris Agung Wibono atas laporan galat yang terjadi.

7. Program C Pertama Anda

#include <stdio.h>

main()
{
printf("Assalamu'alaikum");
}
  1. Ketik kode di atas di Gedit.
  2. Simpan dengan nama pertama.c pada Home Anda.
  3. Buka Terminal.
  4. Pastikan Anda berada satu folder dengan pertama.c. Periksa dengan perintah ls. Kalau ada, lanjut. Kalau tidak, usahakan pertama.c ada satu folder dengan Terminal.
  5. Kompilasikan program: gcc -o pertama pertama.c
  6. Jalankan program: ./pertama

pemrograman-c

8. Hasil Program

pemrograman-c4

Anda seharusnya mendapatkan tulisan Assalamu’alaikum tercetak di Terminal. Itulah maksud kode program pertama Anda di atas.

9. Yang Sering Ditanyakan

  1. Apakah harus selalu dijalankan dari Terminal? Ya.
  2. Apakah bisa membuat aplikasi seperti Firefox, dalam artian punya tampilan GUI? Ya, dengan menggunakan sesuatu yang dinamakan GUI toolkit atau GUI library atau GUI framework.
  3. Contoh “sesuatu” itu? GTK+ Toolkit, Qt Framework, dan FLTK.
  4. Contoh barang jadinya? GTK+ menghasilkan GNOME, Qt menghasilkan KDE, FLTK menghasilkan Eqiunox Desktop Environment (EDE).
  5. Bagaimana cara membuat GUI dengan kode-kode program C? Menulis kode yang sudah ditentukan dalam GUI library ke dalam kode-kode program C sehingga ketika dikompilasi tidak lagi hasilnya muncul di Terminal tetapi muncul GUI layaknya aplikasi seperti Firefox.
  6. Adakah panduan membuat program GUI dari kode-kode? Ada, mulailah dari alamat https://malsasa.wordpress.com/2013/12/12/kumpulan-ebook-tutorial-source-code-pemrograman-c-dengan-qt-framework-edisi-1-11/.
  7. Apa itu C++? C++ adalah bahasa pemrograman lain yang dikembangkan dari C. C++ memiliki kelas-kelas sedangkan C tidak. C++ lebih modern daripada C.
  8. Apakah harus menguasai C Terminal dahulu sebelum memulai C atau C++ yang GUI? Tidak. Cukup ketahui garis besarnya saja dengan sering mencoba program.
  9. Di mana saya bisa mendapatkan contoh kode-kode C dengan gratis? http://www.programiz.com/c-programming/exampleshttp://www.cprogramming.com/cgi-bin/source/source.cgihttp://www.programmingsimplified.com/c-program-exampleshttp://www.c-program-example.com/, selebihnya Google: c programming examples
  10. Di mana saya bisa bertanya jika kesulitan? http://stackoverflow.com

10. Latihan Bahasa C

Setelah Anda berhasil menyelesaikan program pertama Anda di atas, berlatihlah mengompilasikan program-program berikut ini. Setelah yang ini, silakan berpetualang sendiri mencari kode-kode lain di Stackoverflow atau yang lain.

Latihan 1

/*PROGRAM 1.1*/
#include <stdio.h>
main ()

{
printf("Bismillahirrahmanirrahim\n");  //ini komentar
printf("Pemrograman menyenangkan,\n");
/*komentar tidak akan memengaruhi program*/
printf("dan bahasa C paling mudah untuk pemula,\n");
printf("coba ini: ...\n.1\n..2\n...3\n");  //karanter \n itu artinya enter
}

Latihan 2

/*PROGRAM 1.2*/
#include <stdio.h>
main()
{
int jumlah, selisih;
jumlah=123+456;
selisih=456-123;
printf("Hasil penjumlahan dari 123 dan 445 adalah %d\n\n",jumlah);
printf("Hasil pengurangan dari 456 dan 123 adalah %d\n\n",selisih);
/*perhatikanlah pemakaian karanter spesial %d
  pikirkanlah
  kira-kira untuk apa?*/
printf("Benar atau salah?\n");
}

Latihan 3

//PROGRAM 1.3
#include <stdio.h>

main()
{
int variabel1 = 5, variabel2 = 1, jumlah, selisih;
jumlah= variabel1 + variabel2;
selisih=variabel1 - variabel2;
printf("Hasil penjumlahan %d dan %d = %d\n\n",variabel1,variabel2,jumlah);
printf("Hasil pengurangan %d dan %d = %d\n",variabel1,variabel2,selisih);
}

Latihan 4

//PROGRAM 1.4
#include <stdio.h>
main ()
{
char karakter;
printf("Mempelajari penggunaan getchar() dengan variabel\n");
printf("Tekan tombol apa saja lalu Enter: ");
karakter = getchar();
printf("\nAnda menekan tombol %c\n", karakter);
//perhatikan pemakaian getchar
}

Latihan 5

//PROGRAM 1.5
#include <stdio.h>
main ()
{
float harga, jumlah, total, hasil;
harga = 100;
jumlah = 50;
total=harga*jumlah;
hasil=total/jumlah;
printf("Harga total = %f\n", total);
printf("Harga pembagian total dengan jumlah = %f\n", hasil);
}

Latihan 6

//PROGRAM 1.6
#include <stdio.h>
#define PI 3.14
main ()
{
float jarijari=10, luas, keliling;
luas = PI*jarijari*jarijari;
keliling = 2*PI*jarijari;
printf("Luas lingkaran berjari-jari %f adalah %f\n", jarijari, luas);
printf("Keliling lingkarannya adalah %f\n", keliling);
}

Latihan 7

//PROGRAM 1.7
#include <stdio.h>
main ()
{
printf("\t\t PEMROGRAMAN BAHASA C\n");
printf("\t\t PEMROGRAMAN BAHASA C\n");
printf("\t\t PEMROGRAMAN BAHASA C\n");
printf("\t\t PEMROGRAMAN BAHASA C\n");
printf("\t\t PEMROGRAMAN BAHASA C\n");
}

Latihan 8

//PROGRAM 1.8
//TABEL PERHITUNGAN HARGA
#include <stdio.h>
main()
{
//ini deklarasi saja
int var1=700000, var2=5, var7=100, hasil1;
int var3=380000, var4=10, hasil2;
int var5=800000, var6=8, hasil3;
int var11=700000, var12=5, var17=100,var13=380000, var14=10, var15=800000,
var16=8, hasil4;
hasil1=var1-var1*var2/var7;
hasil2=var3-var3*var4/var7;
hasil3=var5-var5*var6/var7;
hasil4=var11-var11*var12/var17+var13-var13*var14/var17+var15-
var15*var16/var17;

//ini program utama
printf("NO\tNama\tBarang\tHarga\tDiskon\t\tJumlah\n");
printf("1\tCPU 850Mhz\t 700000\t5%%\t\t%d\n",hasil1);
printf("2\tRAM 128Mhz\t 380000\t10%%\t\t%d\n",hasil2);
printf("3\tMotherboard PIII 800000\t8%%\t\t%d\n",hasil3);
printf("\t\t\t\t\t Hasil Total %d",hasil4);
}

Latihan 9

//PROGRAM 1.10
//konvertor 100 Celcius ke Fahrenheit
#include <stdio.h>
main ()
{
int var1=5, var2=9, var3=100, hasil;
hasil=(var3*var2/var1)+32;
printf("100 derajat Celcius sama dengan %d derajat Fahrenheit\n", hasil);
}

Latihan 10

//PROGRAM 1.10
//BELAJAR TIPE DATA C
#include <stdio.h>
main ()
{
int tipe_data_integer = 32767;
float tipe_data_float = 339.1234567;
double tipe_data_double = 3.4567890e+11;
char tipe_data_char = 'W';
printf("Variabel bilangan integer = %d\n\n", tipe_data_integer);
printf("Variabel bilangan float   = %f\n\n", tipe_data_float);
printf("Variabel bilangan double  = %g\n\n", tipe_data_double);
printf("Variabel bilangan char    = %c\n\n", tipe_data_char);
}

36 thoughts on “Pengantar Pemrograman C Dasar di Linux (Disertai Latihan)

    1. Ade Malsasa Akbar Penulis Tulisan

      C++ itu nama bahasa pemrograman. Ia bukan nama aplikasi. Ini perlu diingat.

      C++ itu nama bahasanya. Untuk memakai C++, harus ada kompiler. Kompiler inilah aplikasinya. Kompilernya C++ ada banyak sekali di seluruh dunia. Yang paling terkenal adalah GCC. Di Windows, tentulah bisa kita instal kompiler C++ juga. Misalnya MinGW.

      Balas
  1. salonk1807

    alhamdulillah… trimakasih om. sangat berguna bagi saya yang mau belajar pemograman.
    mau tanya apa aplikasi gcc di ubuntu harus di install dulu. klo ia bagaimana nginstallnya.

    Balas
  2. Mohammad Febri Ramadlan

    kang ade maaf, saya coba bikin program “asalamualaikum” seperti di atas lewat Qt menggunakan C, tapi tidak ada hasilnya, maksudnya tidak keluar outputnya.
    langkah yg saya gunakan ini apa benar: create project-other project-plain C project-lalu next sampai selesai.

    waktu saya run, terminal yang keluar kosong. itu kesalahan di mananya ya? maaf sebelumnya kang.

    Balas
    1. Ade Malsasa Akbar Penulis Tulisan

      O, ndak papa, Kang. Begitulah era kami pertama belajar dulu. Ada kesalahan.

      – Pertama, gunakan Terminal murni untuk belajar C dasar. Yang paling penting adalah akang ngerti caranya kompilasi.
      – Kedua, instal dulu build-essential biar semua latihan bisa dikerjakan. sudo apt-get install build-essential
      – Ketiga, jangan kerjakan latihan di Qt Creator dulu (saya sendiri tidak). Lakukan dengan nano di Terminal.
      – Keempat, ingat-ingatlah kalau cara kompilasinya: gcc -o

      Sekarang cobalah akang lakukan. Saya hanya mengarahkan.

      Balas
      1. Ade Malsasa Akbar Penulis Tulisan

        Qt Creator akan sangat bagus untuk digunakan langsung membuat aplikasi GUI. Ini karena Qt Framework memang framework untuk membuat GUI.

        Coba akang cari di gugel (ntar mungkin nemunya di qtcentre, qt-project, stackoverflow, dll.) masalah akang. Biasanya saya gitu. Kalau mentok, saya bikin pertanyaan di sana.

      1. salonk1807

        Alhamdulillah sekarang bisa. Teimakasih kang ade.
        Kang ade saya mau tanya tapi oot. Saya sudah belajar pemaketan .dev dmana ya cari .tar gz atau apalah itu untuk saya buat aplikasi .debA

      2. Ade Malsasa Akbar Penulis Tulisan

        Lho, seharusnya mudah sekali karena akang menggunakan Linux dan open source. Open source = source code-nya disebarluaskan gratis. Buka aja Launchpad.net atau Sourceforge. Di sana ada ratusan ribu source code menunggu akang paketkan. Yang benar itu .deb, bukan?

        Saran saya, mulai pemaketan dari cara termudah. Jangan dari source code murni. Saya khawatir akang pusing.

      3. salonk1807

        Ia .deb kang. Saya belajar pemaketan yang diambil tar.gz nya hello.
        Dari yang sederhana itu mulainya dari mana kang? Apa kita buat code sendiri? Dan menggunakan bahasa pemograman apa?

      4. salonk1807

        saya sudah mengikuti latihan ke 1, tapi pas di compile gagal, terus latihan ke 2, juga gagal kenapa ya kang?
        pada latihan 1 ada eror begini: “gcc -o latihan1 latihan1.c
        latihan1.c: In function ‘main’:
        latihan1.c:10:1: error: expected declaration or statement at end of input

        pada latihan 2 ada eror begini “gcc -o latihan2 latihan2.c
        latihan2.c: In function ‘main’:
        latihan2.c:5:1: error: ‘intjumlah’ undeclared (first use in this function)
        latihan2.c:5:1: note: each undeclared identifier is reported only once for each function it appears in
        latihan2.c:5:12: error: ‘selisih’ undeclared (first use in this function)
        latihan2.c:6:1: error: ‘jumlah’ undeclared (first use in this function)”

      5. Ade Malsasa Akbar Penulis Tulisan

        Bismillahirrahmanirrahim. Untuk latihan kedua, sepertinya akang salah ketik. Harus ada spasi antara int (integer) dengan jumlah (variabel) karena dua-duanya sesuatu yang berlainan. Untuk latihan pertama, mungkin sama dengan yang kedua. Coba cek kembali.

        Akang mengetik ulang, ya? Sebaiknya kopi paste aja dulu biar ndak ada error.

  3. Ping balik: Daftar Aplikasi Linux Sehari-Hari | Ade Malsasa Akbar

  4. Ping balik: Aplikasi-Aplikasi Dasar Pada Ubuntu | Panduan Dasar GNU/Linux

  5. Ping balik: KNotes Ingat Aku Per 17 Maret 2015 | RESTAVA

  6. Ping balik: “hello world” bahasa C di GNU/Linux Debian

Dilarang menggunakan emotikon