Previous Next Table of Contents

2. Hello world!

Program aplikasi paling sederhana, untuk menampilkan string Hello world! ke layar.

File hello.c:


#include <stdio.h>

int main(void)
{
        puts("Hello world!");
        return 0;
};

Untuk mengcompile program di atas, gunakan perintah berikut:

$ gcc hello.c

Jika perintah ini sukses (sudah selayaknya, kalau tidak, berarti tools-tools yang dibutuhkan belum terinstall dengan baik), maka di current directory akan ada file executable baru yang bernama a.out. Ini adalah program executable kita.

Untuk menjalankannya:

$ ./a.out
Hello world

Sekarang, setelah kita selesai membuat program Hello world!, mari kita lihat proses kompilasi secara lebih detil pada bab berikutnya.

Catatan:

  1. fungsi main didefinisikan agar mengembalikan nilai int (bukan void) sebagai return-value, karena standar ANSI menyebutkan demikian. Jika kita mendefinisikan fungsi main sebagai void main, maka return value dari program akan tidak terdefinisi (kebanyakan akan mengembalikan nilai non-zero), padahal shell menganggap bahwa kalau suatu program return-valuenya non-zero, berarti program itu error.
  2. sengaja juga dipilih fungsi puts(), bukan printf() untuk menampilkan Hello world, karena:
    1. fungsi puts akan secara otomatis menambahkan newline setelah menampilkan string.
    2. fungsi printf() akan mem-parse string format untuk mencari karakter '%', dan kemudian memasukkan argumen sesuai dengan urutannya. Jika kita tidak hati-hati (misalnya tidak sengaja memasukkan karakter '%' dalam string), maka bisa terjadi kompile error, run-time error, atau hal lain yang tidak kita inginkan. Oleh karena itu, jika memang kita tidak bermaksud untuk memberikan argumen pada Hello world kita, lebih aman memakai puts().
  3. kita memberikan karakter titik ('.') dan slash ('/') pada perintah './aout'. Ini berarti bahwa yang dijalankan adalah program a.out yang ada di current directory. Jika kita tidak menambahkan karakter-karakter ini, maka Linux (dalam hal ini shell) akan mencari file a.out di PATH, sehingga kalau current directory tidak disebutkan di PATH, maka eksekusi akan gagal.


Previous Next Table of Contents