PRAKTIKUM I PENGENALAN PEMROGRAMAN BAHASA C
A. Tujuan Instruksional Khusus
1. Menjelaskan sejarah dan ruang lingkup pemakaian bahasa C.
2. Menjelaskan kelebihan dan kekurangan bahasa C.
3. Menjelaskan proses kompilasi dan linking program C.
4. Menjelaskan struktur penulisan bahasa C dan menjelaskan komponen-komponen program dalam contoh aplikasi sederhana.
5. Mengenal pemrograman dengan bahasa C.
6. Mampu membuat program sederhana dengan bahasa C.
B. Dasar Teori
1. Sejarah dan Ruang Lingkup C
C adalah bahasa yang standar, artinya suatu program yang ditulis dengan versi bahasa C tertentu akan dapat dikompilasi dengan versi bahasa C yang lain dengan sedikit
modifikasi. Standar bahasa C yang asli adalah standar dari UNIX. Sistem operasi, kompiler C dan seluruh program aplikasi UNIX yang esensial ditulis dalam bahasa C. Patokan dari standar UNIX ini diambilkan dari buku yang ditulis oleh Brian Kerninghan dan Dennis Ritchie berjudul "The C Programming Language", diterbitkan oleh Prentice-Hall tahun 1978. Deskripsi C dari Kerninghan dan Ritchie ini kemudian dikenal secara umum sebagai "K&R 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. Standar ANSI menetapkan sebanyak 32 buah kata-kata kunci (keywords) standar. Versi-versi bahasa C yang menyediakan paling tidak 32 kata-kata kunci ini dengan sintaks yang sesuai dengan yang ditentukan oleh standar, maka dapat dikatakan mengikuti standar ANSI. Buku ajar ini didasarkan pada bahasa C dari standar ANSI.
modifikasi. Standar bahasa C yang asli adalah standar dari UNIX. Sistem operasi, kompiler C dan seluruh program aplikasi UNIX yang esensial ditulis dalam bahasa C. Patokan dari standar UNIX ini diambilkan dari buku yang ditulis oleh Brian Kerninghan dan Dennis Ritchie berjudul "The C Programming Language", diterbitkan oleh Prentice-Hall tahun 1978. Deskripsi C dari Kerninghan dan Ritchie ini kemudian dikenal secara umum sebagai "K&R 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. Standar ANSI menetapkan sebanyak 32 buah kata-kata kunci (keywords) standar. Versi-versi bahasa C yang menyediakan paling tidak 32 kata-kata kunci ini dengan sintaks yang sesuai dengan yang ditentukan oleh standar, maka dapat dikatakan mengikuti standar ANSI. Buku ajar ini didasarkan pada bahasa C dari standar ANSI.
2. Proses Kompilasi dan Linking Program C
Agar suatu program dalam bahasa pemrograman dapat dimengerti oleh komputer, program haruslah diterjemahkan dahulu ke dalam kode mesin. Adapun penerjemah yang digunakan bisa berupa interpreter atau kompiler. Interpreter adalah suatu jenis penerjemah yang menerjemahkan baris per baris intsruksi untuk setiap saat. Keuntungan pemakaian interpreter, penyusunan program relatif lebih cepat dan bisa langsung diuji sekalipun masih ada beberapa kesalahan secara kaidah dalam program. Sedangkan kelemahannya, kecepatannya menjadi lambat sebab sebelum suatu instruksi dijalankan selalu harus diterjemahkan terlebih dahulu. Selain itu, saat program dieksekusi, interpreter juga harus berada dalam memori. Jadi memori selalu digunakan baik untuk program maupun interpreter. Di samping itu, program sumber (source program) yaitu program aslinya tidak dapat dirahasiakan (orang lain selalu bisa melihatnya). Kebanyakan versi C yang beredar di pasaran menggunakan penerjemah berupa kompiler. Kompiler merupakan jenis penerjemah yang lain, dengan cara kerjanya yaitu menerjemahkan seluruh instruksi dalam program sekaligus. Proses pengkompilasian ini cukup dilakukan sekali saja. Selanjutnya hasil penerjemahan (setelah melalui tahapan yang lain) bisa dijalankan secara langsung, tanpa tergantung lagi oleh program sumber maupun kompilernya. Keuntungannya, proses eksekusi dapat berjalan dengan cepat, sebab tak ada lagi proses penerjemahan. Di samping itu, program sumber bisa dirahasiakan, sebab yang dieksekusi adalah program yang sudah dalam bentuk kode mesin. Sedangkan kelemahannya, proses pembuatan dan pengujian membutuhkan waktu relatif lebih lama, sebab ada waktu untuk mengkompilasi (menerjemahkan) dan ada pula waktu melakukan proses linking. Perlu pula diketahui, program akan berhasil dikompilasi hanya jika program tak mengandung kesalahan secara kaidah sama sekali. Proses dari bentuk program sumber C (source program, yaitu program yang ditulis dalam bahasa C) hingga menjadi program yang executable (dapat dieksekusi secara langsung) ditunjukkan pada Gambar 1.1 di bawah ini.
Gambar 1.1 Proses
Kompilasi-Linking dari program C
Keterangan
Gambar :
Pertama-tama program C ditulis dengan menggunakan editor. Program
ini disimpan dalam file yang disebut file program sumber (dengan ciri utama
memiliki ekstensi .c). File include (umumnya memiliki
ekstensi .h, misalnya stdio.h, atau biasa disebut dengan file
judul (header file)) berisi kode yang akan dilibatkan dalam program C
(Pada program tertentu bisa saja tidak melibatkan file include). Berikutnya,
kode dalam file program sumber maupun kode pada file include akan
dikompilasi oleh kompiler menjadi kode obyek. Kode obyek ini
disimpan pada file yang biasanya berekstensi .obj, atau .o (bergantung
kepada lingkungan/environment sistem operasi yang dipakai). Kode obyek
berbentuk kode mesin, oleh karena itu tidak dapat dibaca oleh pemrogram. Akan
tetapi kode ini sendiri juga belum bisa dipahami komputer. Supaya bisa
dimengerti oleh komputer, maka kode obyek bersama-sama dengan kode obyek yang
lain (kalau ada) dan isi file pustaka (library file, yaitu file yang berisi
rutin untuk melaksanakan tugas tertentu. File ini disediakan oleh pembuat
kompiler, biasanya memiliki ekstensi .lib) perlu dikaitkan (linking)
dengan menggunakan linker, membentuk sebuah program yang executable (program
yang dapat dijalankan/dieksekusi secara langsung dalam lingkungan sistem
operasi). Program hasil linker ini disimpan dalam file yang disebut
file executable, yang biasanya berekstensi .exe.
3. Struktur
Penulisan Program C
Untuk dapat memahami bagaimana suatu program ditulis, maka struktur
dari program harus dimengerti terlebih dahulu. Tiap bahasa komputer
mempunyai struktur program yang berbeda. Struktur program memberikan
gambaran secara luas, bagaimana bentuk program secara umum. 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.
4. Pengenalan
Fungsi-Fungsi Dasar
a.
Fungsi main()
Pada program C, main() merupakan fungsi yang
istimewa. 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>
void main( )
{
printf(“No :
%d\n”, 10);
printf(“Nama :
%s\n”, “Ali”);
printf(“Nilai
: %f\n”,80.5);
printf(“Huruf
: %c\n”,‘A’);
}
1. 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().
2. 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 */
#include
<stdio.h>
main()
{
printf(“Coba\n”); /*
Ini adl program pertama */
}
C. Daftar Alat dan
Bahan.
1. CPU
2. Monitor
3. Keyboard
4. Mouse
5. Printer
6. Job
Sheet Praktikum
D. Langkah Kerja.
1. Hidupkan
Komputer sampai menyala dan mengeluarkan layar Windows.
2. Pilih
Start pada ujung kiri bawah monitor.
3. Pilih
Program.
4. Pilih
Program Turbo C atau TC for windows.
5. Jika
Layar Turbo C sudah keluar, Pilih File.
6. Pilih
News untuk membuka Program baru, atau open untuk membuka file program yang
sudah dibuat sebelumnya.
7. Ketik
Program sesuai dengan di data program.
8. Setelah
selesai pengetikan, pilih file dan save as program tersebut dengan nama file
sesuai keinginan praktikan.
9. compile
program tersebut untuk melihat kebenaran pengetikan program dan untuk mengubah
file dengan extension .cpp menjadi file .hex, .bin dan. .obj.
10. Setelah sukses
dicompile maka pilih run untuk menjalankan program tersebut.
11. Lihat hasilnya
dimonitor dan catat, kemudian analisa hasil percobaan tersebut.
12. Lakukan praktikum
untuk file program berikutnya dengan cara yang sama.
E. Data Program
1. Buatlah
program yang akan menampilkan tulisan dilayar monitor :
“
Selamat datang di Praktikum Dasar Komputer
Laboratorium
Komputer Teknik Elektro
Politeknik
Negeri Lhokseumawe “
Contoh
:
#include
<stdio.h>
void
main()
{
printf(“Selamat datang di
Praktikum Dasar Komputer\n”);
printf(“ Laboratorium
Komputer Teknik Elektro\n”);
printf(” Politeknik
Negeri Lhokseumawe \n”);
}
2. Buatlah program dengan
menggunakan tipe bilangan real presisi tunggal seperti berikut.
Contoh
#include<stdio.h>
void
main()
{
int
jumlah;
float
harga_per_unit, harga_total;
jumlah
= 10;
harga_per_unit
= 17.5;
harga_total
= jumlah * harga_per_unit;
printf(“Harga
total = %f\n”, harga_total);
}
3. Mencetak kalimat dalam
beberapa baris.
#include <stdio.h>
void main()
{
printf("Pemrograman adalah
sesuatu yg menyenangkan\n");
printf("Pemrograman bahasa C
adalah lebih menyenangkan\n");
printf("Testing....\n..1\n...2\n....3\n");
}
4. Menghitung penjumlahan dan
mencetak hasilnya
#include <stdio.h>
void main()
{
int jumlah;
jumlah = 1024 + 4096;
printf("Jumlah dari 1024
dengan 4096 adalah %d\n", jumlah);
}
5. Mengisi nilai variabel int,
penjumlahan isi variabel dan mencetak hasilnya
#include <stdio.h>
void main()
{
int nilai1, nilai2, jumlah;
nilai1 = 1024;
nilai2 = 4096;
jumlah = nilai1 + nilai2;
printf("Jumlah dari %d
dengan %d adalah %d\n", nilai1, nilai2, jumlah);
}
6. Mengisi variabel float,
mengalikan isi variabel dan mencetak hasilnya
#include <stdio.h>
void main()
{
float
harga, total;
int
jumlah;
harga
= 132.055f;
jumlah
= 50;
total
= harga * jumlah;
printf("Harga
total = %f\n", total);
}
7. Menentukan hasil cetakan
dengan lebar medan (field) yang tepat versi 1
#include <stdio.h>
void main()
{
float
bil = 2.5f, nomor = 33.567f;
printf("Bilangan
= %f\n", bil);
printf("Nomor =
%f\n", nomor);
}
F. Soal
1. Buatlah program untuk
menampilkan tulisan di bawah ini :
PEMROGRAMAN BAHASA C
PRODI TEKNIK ELEKTRONIKA
JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI LHOKSEUMAWE
DIPROGRAM OLEH : NAMAMU
2. Carilah kesalahan dalam
program di bawah ini :
main ()
{
INT
jumlah;
/*
PERHITUNGAN HASIL
jumlah
= 25 + 37 - 19;
/* TAMPILKAN HASIL
printf("Berapa
hasil perhitungan 25 + 37 - 19 ?\n);
printf("Jawabannya
adalah %d\n" jumlah);
}
3. Berapakah nilai jawaban yang
ditampilkan oleh program di bawah ini :
#include <stdio.h>
void main()
{
int
jawab, hasil;
jawab
= 100;
hasil
= jawab - 10;
printf("Jawabannya
adalah %d\n", hasil + 6);
}
4. Buatlah program yang
menampilkan tulisan :
“Nama
Saya : nama praktikan
NIM : NIM
praktikum “
Dengan perintah printf
terstruktur %s, dengan nama dan nim merupakan input dari user.
(panduan
: ingat program printf dan scanf)
#include
<stdio.h>
void
main ()
{………
…….
}
5. Buatlah program yang
menampilkan karakter yang merupakan masukan dari keyboard.
(panduan
:ingatlah useran printf )
#include
<stdio.h>
#include<conio.h>
main
();
{
char
karakter;
printf(“…
karakter
= getch();
printf(“…,karakter);
}