BAB 1
PENDAHULUAN
1.1
Latar Belakang
Bahasa C
merupakan salah satu bahasa pemrogaman komputer yang bersifat prosedural.
Bahasa C berasal dari bahasa BCPL yang dikembangkan oleh Martin Richards pada
tahun 1967. Kemudian berdasar pada bahasa BCPL ini Ken Thompson yang bekerja di
Bell Telephone Laboratories (Bell Labs) mengembangkan bahasa B pada tahun 1970.
Saat itu bahasa B telah berhasil diimplementasikan di komputer DEC PDP-7 dengan
operating system (OS) UNIX. Pada
tahun 1972, peneliti lain di Bell Labs bernama Dennis Ritchie menyempurnakannya
menjadi bahasa C. Bahasa C dilahirkan di Bell Telephone Laboratories (atau
sering disebut sebagai Bell Labs saja). Sulit membayangkan dunia modern saat ini jika tidak ada pengaruh dari Bell
Labs. Pada tahun 1947, transistor ditemukan di Bell Labs. Untuk beberapa
tahun, ada sebuah bahasa pemrograman yang sangat dekat dengan sistem operasi
UNIX, yang disebut dengan bahasa C, yang didesain oleh Dennis Ritchie dan
Brian Kernighan. Mengapa disebut hanya C saja? Bahasa C disebut demikian
mengingat bahasa tersebut adalah turunan dari bahasa B, dan bahasa B merupakan
pemendekan dari Basic CPL, sementara CPL sendiri adalah sebuah bahasa
pemrograman yang merupakan singkatan dari Combined
Programming Language.
Pada tahun 1978, Dennis Ritchie bersama
dengan Brian Kernighan mempublikasikan buku yang kemudian menjadi legenda dalam
sejarah perkembangan bahasa C, yang berjudul The C Programming Language. Buku ini diterbitkan oleh Prentice
Hall, dan pada saat ini telah diterjemahkan dalam berbagai bahasa di dunia.
Boleh dikatakan bahwa buku ini adalah buku yang paling banyak direfer orang dan
dijadikan buku panduan tentang pemrograman bahasa C sampai saat ini. Teknik dan
gaya penulisan bahasa C yang merefer
kepada buku ini kemudian terkenal dengan sebutan K&R C atau Classic C atau Common .Seiring dengan berkembang pesatnya bahasa C, banyak vendor mengembangkan kompiler C menurut versi masing-masing.
Hal ini menggerakkan ANSI (American
National Standards Institute) pada tahun 1983 untuk membuat suatu komite
yang kemudian diberi nama X3J11, yang betujuan untuk membuat definisi standar
bahasa C yang lebih modern dan komprehensif, dengan memperbaiki syntax dan grammar bahasa C. Usaha ini berhasil diselesaikan 5 tahun kemudian,
yaitu ditandai dengan lahirnya standard ANSI untuk bahasa C yang kemudian
terkenal dengan sebutan ANSI C pada tahun 1988. Sampai saat ini, bahasa C telah
berhasil digunakan untuk mengembangkan berbagai jenis permasalahan pemrograman,
dari level operating system (unix, linux, ms dos, dan sebagainya),
aplikasi perkantoran (text editor, word
processor, spreadsheet, dan sebagainya), bahkan sampai pengembangan sistem
pakar (expert system).
Salah satu bagian yang paling canggih
dari bahasa C adalah bahwa bahasa C memiliki pointer, selain tentunya variabel
dan konstanta. Istilah Pointer dalam bahasa pemrograman merujuk kepada
alamat-alamat memori yang mengizinkan para programmer
untuk melakukan beberapa tugas secara jauh lebih efisien, dengan melibatkan bit, byte,
dan word memori. Karenanya, banyak orang
menyebut bahasa C sebagai High-level
Assembly language, atau bahasa rakitan tingkat tinggi. Meskipun bahasa C
masih merupakan bahasa pemrograman yang populer, bahasa tersebut saat ini
dapat dikatakan telah kadaluwarsa. Saat ini, bahasa tersebut diklasifikasikan
ke dalam bahasa pemrograman prosedural tradisional (traditional procedural programming language), sebuah istilah yang
merujuk kepada struktur program-program dalam bahasa C. Umumnya sebuah program
bahasa C terdiri atas banyak prosedur (juga sering disebut sebagai fungsi/function atau subrutin/subroutine), yang setiap prosedur
tersebut merupakan bagian dari kode yang melakukan beberapa tugas tertentu
atau merupakan implementasi dari algoritma tertentu. Prosedur-prosedur
tersebut dapat bekerja dengan data dalam beberapa cara. Data adalah kumpulan
angka atau teks atau bahkan gabungan antara keduanya.
1.2 Identifikasi Masalah
Berdasarkan latar belakang diatas, maka
identifikasi masalah sebagai berikut:
1. Sebagian orang belum
mengenal bahasa pemrograman C.
2. Seberapa pentingkah bahasa
C dalam pemrograman.
3. Apakah kelebihan dan
kekurangan bahasa C.
1.3
Tujuan Penulisan
Tujuan penlisan makalah ini sebagai berikut:
1. Untuk mengetahui Sejarah Bahasa C.
- Untuk
mengenal lebih jauh bahasa pemrograman C.
- Untuk
memudahkan dalam pembuatan dan pengembangan program.
- Dan untuk
mengetahui seputar pembahasan yang menyangkut dalam bahasa pemrograman C.
1.4 Manfaat Penulisan
Penulisan ini bermanfaat sebagai berikut:
1. Sebagai sumbangan pemikiran dan bahan
masukan kepada para pembaca, khususnya mahasiswa Teknik Komputer sehingga dapat
meningkatkan pengetahuan mengenai bahasa pemrograman C.
2. Secara teoritis, hasil makalah ini
diharapkan dapat menambah kekayaan di bidang bahasa pemrograman, khususnya
mengenai bahasa C.
BAB 2
PEMBAHASAN
2.1
Mengenal Bahasa Pemrograman C
Ketujuh elemen dasar pemrograman secara
berturut-turut dinamakan input, data, operasi, output, conditional-execution, loop, dan subprogram.
2.1.1
Karakter
Yang termasuk karakter diantaranya adalah huruf, angka, dan garis-bawah. Yang dimaksud
dengan huruf adalah A s/d Z dan a s/d z, angka adalah 0 s/d 9, dan garis-bawah
adalah _.
Karakter-karakter space, tab,
line-feed, carriage-return, form-feed, vertical-tab, dan new-line
disebut white-space character karena
mereka mempunyai fungsi sebagai spasi antara kata-kata atau baris-baris.
Tanda-baca dan karakter-khusus dalam bahasa
C mempunyai kegunaan yang bervariasi, dari pengorganisasian teks pogram sampai
pendeinisian tugas-tugas yang akan dilakukan oleh kompiler. Karakter-karakter
yang termasuk ke dalam kelompok ini adalah: , . ; : ? ' " ( )
[ ] { } < > ! | / \ ~ + # % & ^ * - =.
Karakter-karakter escape-sequence adalah suatu urutan karakter yang digunakan untuk
mewakili ekspresi suatu karakter lain. Kumpulan karakter ini selalu dimulai
oleh karakter backslash (\) dan diikuti oleh suatu huruf atau suatu
kombinasi angka.
2.1.2
Operator
Operator (lambang-operasi) adalah simbol-simbol,
baik berupa satu atau beberapa karakter, yang menetapkan bagaimana suatu nilai dimanipulasi.
itu adalah:
! ~ - + * / % < > = | ^ ' ++ -- -= += /= %= << >> == != <= >= |= && || ?: &= ^= <<= >>=.
! ~ - + * / % < > = | ^ ' ++ -- -= += /= %= << >> == != <= >= |= && || ?: &= ^= <<= >>=.
2.1.3
Konstanta
1. Integer Constant
Suatu integer-constant
adalah angka desimal, oktal, atau heksadesimal yang mewakili suatu nilai bilangan bulat. Suatu
konstanta-desimal (berbasis-sepuluh) dibentuk oleh sekumpulan angka 0 s/d 9,
dengan ketentuan tidak dimulai oleh angka 0. Suatu konstanta-oktal
(berbasis-delapan) dibentuk oleh sekumpulan angka 0 s/d 7, dengan ketentuan
dimulai oleh angka 0. Suatu konstanta-heksadesimal (berbasis-enambelas)
dibentuk oleh sekumpulan angka 0 s/d 9 dan atau huruf A s/d F atau a s/d f,
dengan ketentuan dimulai oleh angka-huruf 0X atau 0x. Contoh:
Desimal Oktal
Heksadesimal
10 012 0xA
132 0204 0x84
32179 076663 0x7DB3
10 012 0xA
132 0204 0x84
32179 076663 0x7DB3
2.
Floating-point Constant
Suatu floating-point constant adalah angka desimal yang mewakili suatu
nilai bilangan nyata. Nilai
dari konstanta ini meliputi porsi-porsi bilangan bulat, pecahan, dan eksponen.
Aturan penulisan konstanta ini adalah seperti dalam format berikut: [digit][.digit][E|e[+|-]digit].
Di mana digit adalah berupa sekumpulan angka 0 s/d dan E atau e sebagai simbol
eksponen.
3. Character Constant
Suatu character-constant dibentuk
dengan menempatkan suatu karakter di antara dua tanda-petik (' '). Suatu escape-character dipandang sebagai
satu karakter, oleh karena itu dapat dijadikan suatu character constant. Contoh: 'A', '\n', '\0x41'.
4. String-Literal
Suatu string-literal
dibentuk oleh satu atau sekumpulan karakter yang ditempatkan di antara dua tanda-kutip. Contoh:
"BANDUNG"
"Hari
Jum\’at"
"Tit\a\a"
"Baris-1\nBaris-2"
"Tit\a\a"
"Baris-1\nBaris-2"
5.
Identifier
Identifier adalah nama yang diberikan
untuk konstanta-bernama, variabel, jenis-data, fungsi, dan
label
di dalam program. Setiap identifier yang akan digunakan harus
didefinisikan sebelumnya. Suatu identifier
dibentuk oleh satu atau beberapa buah karakter, sebanyak-banyaknya 31 karakter,
yang dimulai oleh suatu huruf atau garis-bawah dan dapat diikuti oleh huruf,
angka, atau garis-bawah. Catatlah, bahasa C membedakan penggunaan huruf-besar
dan huruf-kecil dalam suatu identifier.
Contoh:
ClrScr
H2o
TempatTinggal
Nama_Siswa
Kota
Pilihan
H2o
TempatTinggal
Nama_Siswa
Kota
Pilihan
6. Keyword
Untuk kegunan dalam pemrograman, bahasa C mencadangkan sejumlah identifier yang telah didefinisikan, disebut keyword, bagi pemrogram. Kata-kata ini merupakan instruksi terhadap C untuk
mengerjakan/menyatakan suatu hal tertentu. Oleh karena itu semua keyword tidak dapat didefiniskan-ulang
dan hanya digunakan sesuai dengan peruntukannya. Berikut adalah daftar keyword dalam bahasa C: auto break case char
const continue default do double else
enum extern float for goto if int long register return short
signed sizeof static struct switch typedef union unsigned void volatile while. Di samping keyword-keyword ini, bahasa C menyediakan beberapa keyword lain yang dapat digunakan dalam beberapa implementasi tertentu. Itu adalah:
far near huge cdecl pascal.
enum extern float for goto if int long register return short
signed sizeof static struct switch typedef union unsigned void volatile while. Di samping keyword-keyword ini, bahasa C menyediakan beberapa keyword lain yang dapat digunakan dalam beberapa implementasi tertentu. Itu adalah:
far near huge cdecl pascal.
2.2
Jenis Data, Konstanta, Variabel, Lambang Operasi dan Ekspresi
Variabel & konstanta merupakan objek
data dasar yang dimanipulasi di dalam suatu program. Setiap konstanta dan variabel harus jelas jenis
datanya. Untuk itu mereka harus dideklarasikan sebelumnya.
Operator (lambang operasi)
digunakan untuk menetapkan apa yang akan dilakukan terhadap konstanta/variabel
tersebut. Ekspresi adalah suatu bangun algoritma, berdasarkan
aturan-aturan tertentu, untuk menghitung suatu nilai. Suatu ekspresi dibentuk
oleh variabel-variabel, konstanta-konstanta dan fungsi-fungsi (operand) yang dikombinasikan oleh lambang-lambang
operasi (operator).
2.2.1 Jenis Data Utama
Pada dasarnya C hanya mengenal empat jenis
kata, yaitu char, int, float, dan double. Suatu jenis data menetapkan suatu rentang
nilai yang dapat dimiliki oleh suatu konstanta dan variabel, atau dihasilkan
oleh suatu ekspresi atau fungsi. (Nicklaus Wirth 1976:4) Jenis data char merupakan suatu byte tunggal yang mempunyai kemampuan untuk memegang suatu data
karakter. Jenis data int merupakan suatu jenis data yang mempunyai kemampuan
untuk memegang suatu nilai bilangan bulat. Jenis data float merupakan suatu jenis data yang
mempunyai kemampuan untuk memegang suatu nilai bilangan nyata berpresisi
tunggal. Jenis data double
merupakan suatu jenis data yang mempunyai kemampuan untuk memegang suatu nilai
bilangan nyata berpresisi ganda.
Perluasan jenis data int
diwujudkan dalam dua jenis data lain, yaitu short
dan long, yang berbeda
kemampuannya dalam menyimpan rentang nilai yang diberikan kepadanya. Jenis
jenis data char, int, short, dan long dapat didahului oleh keyword signed
atau unsigned untuk menyatakan bahwa jenis data
tersebut meliputi bilangan bulat negatif atau tidak. Jika itu tidak dinyatakan,
maka dianggap signed. Rentang nilai
dan ukuran setiap jenis data tergantung pada jenis mesin dan kompiler yang
digunakan.
Code:
Jenis
data
|
Ukuran
|
Rentang
nilai
|
char
|
1 byte
|
-128 s/d 127
|
unsigned char
|
1 byte
|
0 s/d 255
|
signed int
|
2 byte
|
-32,768 s/d 32,767
|
unsigned int
|
2 byte
|
0 s/d 65,535
|
short
|
2 byte
|
-32,768 s/d 32,767
|
unsigned short
|
2 byte
|
0 s/d 65,535
|
long
|
2 byte
|
-2,147,483,648 s/d 2,147,463,647
|
unsigned long
|
4 byte
|
0 s/d 4,294,967,295
|
float
|
4 byte
|
3.4E-38 s/d
3.4E+38
|
double
|
8 byte
|
1.7E-308 s/d 1.7E+308
|
2.2.2 Variabel
Variabel adalah suatu besaran
yang nilainya dapat berubah pada saat program berlangsung. Setiap variabel dinyatakan
oleh suatu identifier. Setiap
variabel harus dideklarasikan terlebih dahulu sebelum digunakan di dalam
program. Setiap variabel yang dideklarasikan harus dinyatakan jenis datanya.
Bentuk umum pendeklarasian variabel adalah sebagai berikut. [type] id_var1[, id_var2 …]; dimana id_var1 dan
id_var2 adalah nama variabel yang dideklarasikan, dan type adalah jenis data
yang ditetapkan untuk id_var1 dan id_var2. Contoh : int liter, harga; char nama[20]. Dalam deklarasi suatu
variabel dapat dilakukan initialisasi nilai terhadap variabel tersebut. Bentuk
umum deklarasi dan initialisasi variabel adalah sebagai berikut. [type] id_var1
= val_var1[, id_var2 = val_var2 …]; dimana id_var1 dan id_var2 adalah nama
variabel yang dideklarasikan, val_var1 dan val_var2 adalah nilai awal yang
ditetapkan pada id_var1 dan id_var2, dan type adalah jenis data untuk id var_1
dan id_var2.
contoh :
int liter,
harga = 385;
char nama[20] = Abdallah;
contoh program ini akan meminta pengguna program untuk menuliskan namanya, menetapkannya terhadap variabel, kemudian mencetak pesan dalam media output standar.
Program : SALAM.C
int liter,
harga = 385;
char nama[20] = Abdallah;
contoh program ini akan meminta pengguna program untuk menuliskan namanya, menetapkannya terhadap variabel, kemudian mencetak pesan dalam media output standar.
Program : SALAM.C
Code:
#include <stdio.h>
char nama [20],
prompt [20] = "Tulis nama anda: ";
main ( )
{
printf (prompt);
scanf ("%s", nama);
printf ("Halo %s. Selamat belajar C.\n", nama);
}
apabila program tersebut dijalankan maka akan muncul tampilan sebagai berikut.
Tulis nama anda: Anugrah
Halo Anugrah. Selamat belajar C.
2.2.3 Operasi Aritmatika
Operator aritmatika yang digunakan dalam bahasa C pada umumnya sama dengan lambang operasi hitung biasa. Operator operator tersebut, kegunaan, prioritas, contoh ekspresi dan hasilnya adalah seperti terlihat pada tabel berikut.
Tabel Operator Aritmatika
Code:
Operator |
Operasi |
Contoh ekspresi
|
Hasil |
* |
Perkalian |
21*8 |
208 |
/ |
Pembagian
|
27/3
|
9
|
%
|
sisa pembagian
|
30%4
|
2
|
+
|
Penjumlahan
|
2+10
|
12
|
-
|
Pengurangan
|
29-13
|
16
|
Code:
Ekspresi |
Tahap pelaksanaan
|
2+3*4 |
2+12=14 |
(2+3)*4 |
5*4=20 |
2*3%4 |
6%4=2 |
2*(3%4) |
2*3=6 |
2+3.0/4-5 |
2+0.75-5=2.75-5=-2.25 |
(2+3)/(4-5) |
5/(4-5)= 5/-1=-5 |
2.2.4
Operasi Hubungan dan Logika
Operasi hubungan digunakan untuk menguji hubungan antara dua buah operand. Nilai yang dihasilkan operasi
ini adalah 0 kalau salah dan –1 kalau benar. Operator-operator yang digunakan
adalah seperti ditunjukan dalam tabel berikut.
Tabel Operator Hubungan
Code:
Operator
|
Operasi
|
==
|
Sama dengan
|
!=
|
Tidak sama dengan
|
<
|
Lebih kecil
|
>
|
Lebih besar
|
<=
|
Lebih kecil atau sama
|
>=
|
Lebih besar atau sama
|
Prioritas pelaksanaan operasi hubungan lebih rendah
dari pelaksanaan operasi aritmatika. Berikut ini adalah contoh tahapan
pelaksanaan yang dilakukan untuk ekspresi-ekspresi aritmatika dan hubungan.
Code:
Ekspresi
|
Tahap
pelaksanaan
|
2<5-3
|
2<2=0
|
2<=5-3
|
2<=2=-1
|
10*2==5*4
|
20==20=-1
|
Operasi logika digunakan untuk mengoperasikan
operand berjenis data bilangan bulat berdasarkan aturan aturan operasi logika
pada aljabar modern. Pada operasi ini
setiap operand yang bernilai 0
dinyatakan salah dan operand yang
bernilai bukan 0 dinyatakan benar. Nilai yang dihasilkan operasi ini sama
seperti operasi hubungan, yaitu 0 kalau salah dan –1 kalau benar.
Code:
Ekspresi
|
Tahap
pelaksanaan
|
2<3&&4<5
|
benar && 4 < 5
benar && benar
benar
|
10*2&&5<4
|
20 && 5 < 4
benar && salah
salah
|
10*2||5<4
|
20 || 5 < 4
benar || salah
benar
|
Bahasa C memberikan dua buah
operator yang tidak umum untuk penaikan (incrementing)
dan penurunan (decrementing) nilai
suatu variabel. Variabel yang dioperasikan harus berjenis data bilangan bulat
atau pointer. Operasi penaikan berfungsi untuk menambah nilai variabel yang
dinyatakannya dengan konstanta 1, sementara operasi penurunan adalah
kebalikannya. Operator yang digunakan adalah ++ dan --. Operator ini dapat
ditempatkan sebelum atau sesudah nama variabel. Jika ditempatkan sebelum nama
variabel maka operasi ini akan didahulukan dari operasi operator lain yang ada
dalam suatu ekspresi, dan sebaliknya jika ditempatkan sesudah nama variabel. Berikut ini adalah contoh ekspresi operasi
ini dan persamaannya.
Code:
Ekspresi
|
Persamaan
|
a++
|
a=a+1
|
a--
|
a=a-1
|
b=a++/6
|
b=a/6, a=a+1
|
b=3*a--
|
b=3*a, a=a-1
|
b=++a/6
|
a=a+1, b=a/6
|
b=3*--a
|
a=a-1, b=3*a
|
c=a++ + ++b
|
b=b+1, c=a+b,
a=a+1
|
Dari contoh contoh di atas, anda dapat melihat kesederhanaan penulisan beberapa pernyataan ke dalam satu pertanyaan dalam bahasa C.
Operasi penetapan digunakan untuk menetapkan suatu
nilai terhadap suatu variabel. Bentuk umum operasi ini adalah id_var = ekspresi, dimana id_var adalah
identifier variabel yang akan menampung nilai hasil ekspresi. Contoh: a = 5*27.
Dalam banyak hal, nilai variabel yang akan ditetapkan juga merupakan bagian
dari ekspresi, seperti a = a+4. Jika terdapat kasus terakhir, bahasa C
memberikan kemudahan bagi anda untuk menyederhanakan penulisan operasi
penetapan tersebut, yaitu menjadi a += 4. Hampir semua binary operators dapat dibentuk penyederhanaannya, yaitu dalam
bentuk umum id_var op= ekspresi.
Di mana op adalah salah satu dari operator +, -, *, /, %, <<, >>, &, ^, dan |. Bentuk operasi di atas mengandung arti id_var = id_var op ekspresi. Contoh:
Di mana op adalah salah satu dari operator +, -, *, /, %, <<, >>, &, ^, dan |. Bentuk operasi di atas mengandung arti id_var = id_var op ekspresi. Contoh:
Code:
Ekspresi
|
Persamaan
|
x*=y-1
|
x=x*(y+1)
|
x+=5
|
x=x+5
|
x>>=3
|
x=x>>3
|
Tabel berikut menunjukan tingkat prioritas dan
arah pelaksanaan operator, baik yang telah dibahas maupun belum. Operator-operator yang terletak pada baris
yang sama mempunyai tingkat prioritas sama dengan arah pelaksanaan sesuai
dengan yang dinyatakan dalam kolom sebelahnya.
File kode sumber bahasa C pada umumnya
berekstensi .c dan C++ pada umumnya berekstensi.cpp. Kode-kode
sumber tersebut selanjutnya akan dikompile oleh kompiler C/C++, misalnya
kompiler Microsoft C atau Turbo C. Hasil dari proses kompilasi
tersebut adalah file-file objek yang pada umumnya berekstensi .obj.
File-file objek tersebut kode-kode sumber yang telah diubah ke dalam bahasa
mesin.
Coba perhatikan kembali contoh
program-1.1, kode sumbernya direkam di dalam file hello.c.
Jika file tersebut dikompile maka
akan dihasilkan file dengan nama hello.obj
yang merupakan kode objek dari program tersebut. Di dalam program tersebut
hanya terdapat fungsi main, konstanta Hello,
world!\n, dan pernyataakan untuk memanggil fungsi printf. Itulah yang akan ditempatkan di dalam file
objek hello.obj. Agar
file objek tersebut dapat dieksekusi maka itu harus digabung dengan kode objek
lain, dalam hal ini adalah fungsi printf.
Sejumlah kode objek telah
disiapkan oleh pembuat kompiler agar kita tidak perlu repot membuatnya.
Kumpulan dari kode-kode objek tersebut dinamakan perpustakaan (library) kode object dan nama file-nya pada umunya berekstensi .lib. Penggabungan tersebut dilakukan oleh program Linker dan hasilnya dinamakan kode yang
dapat dieksekusi (executable codes).
File-file tersebut pada umumnya berekstensi .exe atau .com.
2.3 Pernyataan-pernyataan
2.3.1 Pernyataan Goto
dan Label
Pernyataan-pernyataan (statements)
yang dituliskan di dalam suatu program akan dilaksanakan secara berurut mulai
dari pernyataan pertama sampai dengan pernyataan terakhir. Contoh:
statement_1;
statement_2;
statement_2;
statement_3;
statement_4;
statement_5;
statement_6;
Jika kita bermaksud
untuk menyatakan bahwa sesudah pelaksanaan pernyataan tertentu (misalnya
setelah statement_2) alur program akan dilanjutkan ke pernyataan tertentu lain
yang bukan pernyataan yang tepat di bawahnya (misalnya ke
statement_5), maka kita harus
menggunakan pernyataan goto
dan menetapkan suatu label di lokasi yang dimaksud. Contoh:
statement_1;
statement_2;
goto next;
statement_3;
statement_4;
next:
statement_5;
statement_6;
Suatu label adalah identifier biasa yang diikuti oleh simbol titik-dua ( : ).
statement_2;
goto next;
statement_3;
statement_4;
next:
statement_5;
statement_6;
Suatu label adalah identifier biasa yang diikuti oleh simbol titik-dua ( : ).
2.3.2 Pernyataan Fungsi
Pernyataan fungsi adalah
pernyataan yang digunakan untuk memanggil suatu fungsi. Pernyataan fungsi
dilakukan dengan menulis nama fungsi yang dimaksud beserta argumen yang akan
diberikan kepada parameter-parameter yang terdapat di dalam fungsi tersebut. Berkaitan
dengan hal tersebut maka kita harus mengetahui apa nama fungsi dan
parameter-parameter apa yang dibutuhkan oleh fungsi yang akan kita gunakan.
Informasi tersebut dapat dilihat di dalam prototipe, definisi,
atau deklarasi fungsi tersebut. Prototipe dan
definisi fungsi-fungsi standar (yang telah disediakan oleh pembuat kompiler) dapat ditemukan di dalam
direktori include dengan
nama file berekstensi .h yang dikelompokkan berdasarkan
kegunaannya, misalnya stdio.h, stdlib.h, conio.h, io.h, dan lain-lain. Untuk
memungkinkan kompiler dapat memeriksa
kebenaran penulisan pernyataan fungsi di dalam suatu kode sumber, maka file
yang berisi prototipe fungsi tersebut harus di-include ke dalam kode sumber tersebut.
2.3.3 Pernyataan Gabungan/Blok
Pernyataan Gabungan atau Blok
adalah kumpulan pernyataan yang ditetapkan sebagai satu kesatuan pernyataan.
Ini digunakan untuk menyederhanakan penulisan pernyataan secara berulang. Pernyataan
gabungan atau blok diawali oleh simbol "{" diikuti oleh pernyataan-pernyataan
yang menjadi anggotanya dan diakhiri oleh simbol "}". Contoh:
{
statement_1;
statement_2;
statement_3;
...
}
statement_1;
statement_2;
statement_3;
...
}
2.3.4 Pernyataan If-else
Pelaksanaan suatu pernyataan boleh jadi hanya dilakukan jika suatu kondisi
tertentu terpenuhi. Pernyataan if-else
adalah salah satu pernyataan yang dapat digunakan untuk keperluan tersebut.
Bentuk umum pernyataan ini adalah: if (ekspresi) stat_1; [else
stat_2;].
Di mana ekspresi adalah ekspresi ordinal
(mengembalikan nilai bilangan bulat). Pernyataan stat_1 akan dilakukan
jika ekspresi bernilai bukan 0 dan pernyataan stat_2 akan dilakukan jika
ekspresi bernilai 0. Contoh:
Code:
if (kode = 0)
strcpy(kelamin, "Perempuan");
else
strcpy(kelamin, "Laki-laki");
Marilah kita coba terapkan pernyataan ini pada
masalah berikut. Katakanlah
anda menghendaki sebuah Tabel Harga BBM, dari 1 sampai 10 liter. Output yang
dihasilkan dikehendaki sebagai berikut.
Program-4.1: bbm.c
Code:
#include <stdio.h>
int liter, solar, premium, super;
main()
{
printf("Liter Solar Premium Super\n");
printf("---------------------------\n");
liter = 1;
ulangi:
solar = liter * 250;
premium = liter * 385;
super = liter * 450;
printf("%5d %5d %5d %5d\n", liter, solar, premium, super);
liter++;
if (liter <= 10)
goto ulangi;
printf("---------------------------\n");
}
2.3.5 Pernyataan switch-case-default
Pernyataan switch-case-default
merupakan perluasan dari pernyataan if-else
yang memungkinkan adanya kondisi yang beragam. Bentuk umum pernyataan ini
adalah:
switch (ekspresi)
{ case eks_1:
[stat_1;
...
break;]
case eks_2:
[stat_2;
...
break;]
[default:
stat_n;
...
break;]
}
{ case eks_1:
[stat_1;
...
break;]
case eks_2:
[stat_2;
...
break;]
[default:
stat_n;
...
break;]
}
Pernyataan stat_1 dan seterusnya akan dilakukan
jika ekspresi = eks_1. Pernyataan stat_2 dan seterusnya akan dilakukan jika
ekspresi = eks_2. Pernyataan stat_n dan seterusnya akan dilakukan jika ekspresi
tidak sama dengan pengujian sebelumnya. Sebagai contoh, katakanlah kita
memiliki kode barang (kb) dan akan menetapkan nama barang (nb) serta jenis
barang (jb) berdasarkan kode barang tersebut. Nama barang adalah CPU, CRT, LCD, MS Office, Norton Anti Virus,
dan PhotoShop untuk kode barang 1, 2,
3, 4, 5, dan 6. Sementara jenis barang adalah Hardware untuk kode barang 1, 2, dan 3 atau Software untuk kode barang 4, 5, dan 6.
Code:
switch (kb)
{ case 1:
strcpy(nb, "CPU");
strcpy(jb, "Hardware");
break;
case 2:
strcpy(nb, "CRT");
strcpy(jb, "Hardware");
break;
case 3:
strcpy(nb, "LCD");
strcpy(jb, "Hardware");
break;
case 4:
strcpy(nb, "MS Office");
strcpy(jb, "Software");
break;
case 5:
strcpy(nb, "Norton Anti Virus");
strcpy(jb, "Software");
break;
case 6:
strcpy(nb, "PhotoShop");
strcpy(jb, "Software");
break;
default:
strcpy(nb, "Nama barang belum ditetapkan");
strcpy(jb, "Jenis barang belum ditetapkan");
break;
}
2.3.6 Pernyataan
While
Pernyataan while
digunakan untuk mengulang pelaksanaan pernyataan tertentu selama kondisi
tertentu terpenuhi. Bentuk umum pernyataan ini adalah: while (ekspresi)
statement.
Di mana ekspresi adalah ekspresi ordinal (mengembalikan
nilai bilangan bulat). Statement akan dilakukan secara berulang selama
ekspresi bernilai bukan 0. Algoritma pernyataan ini adalah:
ulangi:
if (ekspresi)
statement;
goto ulangi;
endif
if (ekspresi)
statement;
goto ulangi;
endif
Berikut ini
adalah penggunaan pernyataan while
untuk menggantikan pernyataan if dan goto
di dalam Program 4.1.
Code:
#include <stdio.h>
int liter, solar, premium, super;
main()
{
printf("Liter Solar Premium Super\n");
printf("---------------------------\n");
liter = 1;
while (liter <= 10)
{ solar = liter * 250;
premium = liter * 385;
super = liter * 450;
printf("%5d %5d %5d %5d\n", liter, solar, premium, super);
liter++;
}
printf("---------------------------\n");
}
2.3.7 Pernyataan
Do-While
Pernyataan do-while
pada dasarnya sama dengan pernyataan while,
yaitu digunakan untuk mengulang pelaksanaan pernyataan tertentu selama kondisi
tertentu terpenuhi, cuma letak pengujian kondisinya adalah di akhir pernyataan
tersebut. Bentuk umum pernyataan ini adalah: do statement; while (ekspresi).
Di mana ekspresi adalah ekspresi ordinal
(mengembalikan nilai bilangan bulat). Statement
akan dilakukan secara berulang selama ekspresi bernilai bukan 0. Algoritma
pernyataan ini adalah:
ulangi:
statement;
if (ekspresi)
goto ulangi;
endif
statement;
if (ekspresi)
goto ulangi;
endif
Berikut ini adalah penggunaan pernyataan do-while untuk menggantikan pernyataan if dan goto di dalam Program 4.1.
Code:
#include <stdio.h>
int liter, solar, premium, super;
main()
{
printf("Liter Solar Premium Super\n");
printf("---------------------------\n");
liter = 1;
do
{ solar = liter * 250;
premium = liter * 385;
super = liter * 450;
printf("%5d %5d %5d %5d\n", liter, solar, premium, super);
liter++;
} while (liter <= 10)
printf("---------------------------\n");
}
2.3.8 Pernyataan
For
Pernyataan for
pada dasarnya sama dengan pernyataan while,
yaitu digunakan untuk mengulang pelaksanaan pernyataan tertentu selama kondisi
tertentu terpenuhi, cuma di dalamnya terdapat pernyataan untuk pra dan pasca
pelaksanaan statement. Bentuk umum
pernyataan ini adalah:
for ([prestatement];
[ekspresi]; [poststatement]) statement;
Algoritma pernyataan ini adalah:
prestatement;
ulangi:
statement;
poststatement;
if (ekspresi)
goto ulangi;
endif
statement;
poststatement;
if (ekspresi)
goto ulangi;
endif
Berikut ini
adalah penggunaan pernyataan for
untuk menggantikan pernyataan if dan goto di dalam Program 4.1i.
Code:
#include <stdio.h>
int liter, solar, premium, super;
main()
{
printf("Liter Solar Premium Super\n");
printf("---------------------------\n");
for (liter = 1; liter <= 10; liter++)
{ solar = liter * 250;
premium = liter * 385;
super = liter * 450;
printf("%5d %5d %5d %5d\n", liter, solar, premium, super);
}
printf("---------------------------\n");
}
Pernyataan liter=1 dapat ditetapkan sebagai
prestatement dan pernyataan liter++ sebagai poststatement.
Dengan begitu maka itu dapat dituliskan dengan menggunakan pernyataan for secara lebih sederhana.
2.3.9 Pernyataan
Break dan Continue
Pernyataan break digunakan untuk
mengontrol alur program dalam pernyataan switch-case-default,
while, do-while, dan for, yaitu
untuk berpindah ke pernyataan berikutnya. Pernyataan continue digunakan untuk mengontrol alur program pada iterasi
berikutnya di dalam pernyataan while,
do-while, dan for di mana dia
berada.
2.4 Kelebihan dan Kelemahan
2.4.1 Kelebihan
1. Bahasa C tersedia hampir di semua jenis
Komputer
2. Kode bahasa C sifatnya adalah Portabel (dapat digunakan disemua jenis
komputer).
3. Bahasa C hanya menyediakan sedikit kata-kata
kunci
4. Proses executable
program lebih cepat
5. Dukungan pustaka yang banyak
6.C bahasa
pemrograman yang terstruktur dan merupakan bahasa tingkat tinggi,namun dapat pula dikatakan sebagai
bahasa tingkat menengah karena mempunyai kemampuan seperti bahasa low level (tingkat rendah).
2.4.2
Kelemahan
Bahasa C merupakan bahasa yang cukup sulit
dimengerti dalam hal sintaksnya.
BAB 3
TEORI
3.1
Output dan Input
Untuk dapat memberikan data baru kepada
komputer dan menampilkan hasil pengolahan yang dilakukan , diperlukan fungsi
output dan input. Selain itu, fungsi-fungsi standar ini juga berguna untuk
membuat program menjadi interaktif untuk berkomunikasi dengan pemakai.
3.1.1
Output
Salah satu fungsi output adalah printf().
Fungsi printf() digunakan untuk
mengubah, memformat dan mencetak argumen pada alat output standar di bawah pengendalian format yang ditentukan oleh
penentu format. Argumen yang diberikan pada fungsi printf() diapit oleh tanda kurung dan tanda petik dua (“…”) dan
diakhiri dengan tanda titik koma (;). Contoh :
printf(“Biodata Saya”);
printf(“Nama : RIO PRAWIRA”);
printf(“NIM : 112406238”);
printf(“Kelas : KOM E”);
3.1.2
Input
Salah satu fungsi input adalah scanf().
Fungsi scanf() adalah sebuah fungsi input yang memberikan banyak fasilitas
konversi. Fungsi scanf() membaca
karakter-karakter yang diberikan melalui peralatan input standar, mengkonversinya kenilai variabel sesuai dengan
spesifikasi yang diberikan dalam penentu format. Contoh :
scanf(“%i”, &a);
scanf(“%d, %d, %d”, &m, &n,
&o);
scanf(“%f”, &z);
BAB 4
PENUTUP
4.1 Kesimpulan
Bahasa C adalah bahasa yang standar artinya suatu program yang ditulis
dengan versi bahasa C tertentu akan dapat di kompilasi dengan versi
bahasa C yang lain dengan sedikit modifikasi. Kode bahasa C sifatnya adalah portable dan didukung dengan pustaka yang banyak. Selain itu bahasa pemrograman C memilki karakteristik lain seperti : hemat ekspresi, alur kontrol, menggunakan struktur data modern, dan kaya dengan operator. C bisa disebut bahasa pemrograman tingkat menengah (middle level programming language). Namun dalam perspektif mudahnya dipahami manusia, C bisa digolongkan dalam bahasa tingkat tinggi, namun C juga menyediakan kemampuan yang ada pada bahasa tingkat rendah, misalnya operasi bit, operasi byte, pengaksesan memori, dan sebagainya.
dengan versi bahasa C tertentu akan dapat di kompilasi dengan versi
bahasa C yang lain dengan sedikit modifikasi. Kode bahasa C sifatnya adalah portable dan didukung dengan pustaka yang banyak. Selain itu bahasa pemrograman C memilki karakteristik lain seperti : hemat ekspresi, alur kontrol, menggunakan struktur data modern, dan kaya dengan operator. C bisa disebut bahasa pemrograman tingkat menengah (middle level programming language). Namun dalam perspektif mudahnya dipahami manusia, C bisa digolongkan dalam bahasa tingkat tinggi, namun C juga menyediakan kemampuan yang ada pada bahasa tingkat rendah, misalnya operasi bit, operasi byte, pengaksesan memori, dan sebagainya.
4.2 Saran
Bahasa
pemrograman C perlu di mantapkan lagi, karena bahasa C masih memiliki kekurangan
seperti dalam hal sintaks-sitaksnya bahasa C cukup sulit dimengerti. Bahasa
pemrograman C juga perlu di kembangkan lagi agar lebih memberikan kemudahan
bagi pemrogram pemula dalam memahami bahasa pemrograman C.
1 comments:
Borgata, Atlantic City | Dr.MD
Borgata Hotel Casino & Spa is Atlantic City's favorite spot for fun 동두천 출장마사지 and relaxation. The Spa offers 논산 출장마사지 the finest in luxurious and 안산 출장샵 tranquil settings. Rating: 4.1 · 6,612 계룡 출장샵 reviews 삼척 출장샵
Post a Comment