Bahasa C
A.
Sejarah Bahasa C
Bahasa C adalah bahasa pemrograman.
Bahasa C dirancang oleh Dennis M. Ritchie pada tahun 1972 di AT&T Bell
Labs. Bahasa C dikembangkan dari bahasa BPCL (Basic Combined Programming
Language ) dan bahasa B. Bahasa BPCL di kembangkan oleh Martin Richard pada
tahun 1967 sebagai bahasa system operasi dan compiler. Ken Thompson pada tahun
1970 telah merancang bahasa B dengan memasukkan feature BPCL. Bahasa B
dirancang untuk membuat system operasi UNIX/LINUX untuk computer DEC PDP-7 pada
Bell Laboratories.
Pada tahun 1978 Dennis Ritchie dan
Brian W. Kerninghan mempublikasikan bahasa C melalui buku "The C
Programming Language". Buku ini diterbitkan oleh Prentice Hall dan pada
saat ini telah di terjemahkan dalam berbagai bahasa di dunia. Dan buku ini juga
yang menjadikan legenda dan sejarah bagi bahasa C hingga di kenal dengan
sebutan K&R C ((K=Kerninghan | R=Ritchie)).
Seiring pesatnya perkembangan bahasa
C, maka banyak vendor dan software developer mengembangkan bahasa C menurut
versi mereka masing-masing. hal ini telah memicu ANSI (American National
Standards Institute) pada tahun 1983 untuk membentuk komite teknis yang di
sebut X3J11 untuk bekerja pada standard bahasa C yang bertujuan untuk membuat definisi
standar bahasa C yang lebih modern dan komprehensif, dengan memperbaiki syntax
dan grammar bahasa C. Pada akhir 1989 komite telah menyetujui standard ANSI
untuk bahasa C yang kemudian terkenal dengan sebutan ANSI C.
Bahasa C termasuk high-level programming
language. Pada kenyataannya bahasa C adalah salah satu bahasa yang paling
populer untuk keperluan umum. Dikatakan high-level programming language karena
kedekatannya dengan bahasa manusia. Semakin dekat dengan bahasa manusia, maka
semakin tinggi bahasa tersebut. Namun, membawa pengaruh semakin berkurang
kemampuan untuk mengakses langsung instruksi dasar bahasa mesin. Tapi tidak
sedikit yang mengatakan bahasa C adalah medium-level programming language
karena bahasa C juga sanggup berinteraksi langsung dengan mesin. Lebih tepatnya
bahasa C berada diantara High-level dan Low-level. Low-level language adalah
bahasa mesin (contoh : assembler), bahasa yang sanggup berinteraksi langsung
dengan mesin.
B.
Struktur
Bahasa C
Secara umum struktur program Bahasa C/C++ terdiri atas 2
(dua) bagian besar yaitu :
Ø Bagian Deklarasi/Definisi dan
Ø Program Utama
Bagian Deklarasi/Definisi
Hal-hal yang didefinisikan pada Bagian Deklarasi/Definisi
antara lain :
v Preprocessor Directive (Kompilasi
Bercabang akan dibahas pada C++ tingkat lanjut)
v Penyertaan Header (include)
v Pendefinisian Type Data Baru
v Pendefinisian Konstanta
v Pendefinisian Function/Procedure
Penyertaan Header (include)
Header adalah sebuah program dengan ekstensi .H (baca: Titik
H) yang berisi kumpulan function/procedure yang berguna untuk pengolahan data.
Syntax pendefinisian penyertaan header :
Syntax pendefinisian penyertaan header :
#include
"<"<namaheader>.h">"
Contoh :
Di dalam Turbo/Borland C++ terdapat sebuah file header yang
bernama "stdio.h" yang berisikan kumpulan function/procedure
yang berguna untuk pengolahan standar input/output. Untuk menyertakan file "stdio.h"
tersebut di dalam program adalah sebagai berikut:
#include <stdio.h>
C.
Kata
Kunci Bahasa C
Pada postingan Sejarah Singkat Bahasa C, sudah saya sedikit singgung
mengenai kata-kata kunci (keyword) berjumlah 32 buah yang ada pada
bahasa C yang merupakan standar dari ANSI. Kata-kata kunci merupakan kata-kata
yang digunakan oleh kompiler yang mempunyai kegunaan tertentu. Semua kata-kata
kunci tersebut tidak boleh digunakan untuk nama pengenal (identifier name)
contohnya seperti nama variabel dan nama fungsi.
Standar dari ANSI hanya menetapkan 32 kata-kata kunci
sedangkan Turbo C menambahkan 7 kata-kata kunci. Berikut ini 32 kata-kata kunci
standar dari ANSI dan juga 7 kata-kata kunci tambahan dari Turbo C:
Catatan: Tanda * menunjukkan tambahan dari Turbo C.
Yang perlu dicatat ialah bahwa semua kata-kata kunci adalah
dalam bentuk huruf kecil. Sehingga jika kita menulis kata-kata kunci tersebut
dalam suatu program dengan huruf besar, misalnya IF atau If, maka sudah tidak
dianggap lagi sebagai kata kunci hal tersebut dikarenakan bahasa C merupakan
bahasa pemrograman yang case sensitive, yakni membedakan penulisan
antara huruf besar dengan huruf kecil.
D.
Variabel dan Jenisnya
Kali ini saya akan share jenis-jenis
variabel dalam bahasa c/c++..
variabel terbagi menjadi 2 kelompok besar, yaitu variabel
numerik dan variabel teks.
variabel terbagi menjadi 2 kelompok besar, yaitu variabel
numerik dan variabel teks.
Variabel numerik dibagi menjadi 3 bagian, yaitu :
1.
Bilangan
Bulat (Integer)
Bilangan ini mampu menampung bilangan bulat yang berkisar antara -32.768 hingga
+32.768
Bilangan ini mampu menampung bilangan bulat yang berkisar antara -32.768 hingga
+32.768
2.
Bilangan Desimal Berpresisi Tunggal (Floating
Point)
Dalam bentuk bilangan berpangkat Floating Point dapat digunakan untuk
menampung data dari 10^(-38) hingga 10^38, sedangkan dalam bentuk desimal dapat menampung hingga enam desimal (6 angka dibelakang koma).
Dalam bentuk bilangan berpangkat Floating Point dapat digunakan untuk
menampung data dari 10^(-38) hingga 10^38, sedangkan dalam bentuk desimal dapat menampung hingga enam desimal (6 angka dibelakang koma).
3.
Bilangan
Desimal Berpresisi Ganda (Double Precision)
Serupa dengan Floating Point, hanya saja kapasitas menampung datanya lebih besar.
Dalam bentuk bilangan berpangkat, Double Precision dapat mengolah angka-angka
dengan ketelitian yang berkisar antara 10^(-308) hingga 10^308. Sedangkan dalam bentuk
desimal mampu menampung hingga 15 digit.
Serupa dengan Floating Point, hanya saja kapasitas menampung datanya lebih besar.
Dalam bentuk bilangan berpangkat, Double Precision dapat mengolah angka-angka
dengan ketelitian yang berkisar antara 10^(-308) hingga 10^308. Sedangkan dalam bentuk
desimal mampu menampung hingga 15 digit.
Sedangkan
variabel teks dibedakan atas :
1. Karakter (untuk karakter tunggal)
Selain dapat digunakan untuk menampung sebuah karakter, variabel ini dapat pula
dikonversikan dalam bentuk bilangan (ASCII code). Bilangan hasil konversi data ini
dinyatakan dengan bilangan bulat yang berkisar antara -128 sampai +127.
Selain dapat digunakan untuk menampung sebuah karakter, variabel ini dapat pula
dikonversikan dalam bentuk bilangan (ASCII code). Bilangan hasil konversi data ini
dinyatakan dengan bilangan bulat yang berkisar antara -128 sampai +127.
2. String (untuk rangkaian karakter)
String pada prinsipnya merupakan rangkaian karakter yang diakhiri dengan karakter
null (‘\0’).
String pada prinsipnya merupakan rangkaian karakter yang diakhiri dengan karakter
null (‘\0’).
E.
Perintah
Input dan Output
Berbicara
tentang input dan ouput data dalam C
tidak jauh dari penggunaan keyboard untuk input dan tampilan layar
monitor untuk output. Berikut adalah pengenalan input dan output pada C.
INPUT(memasukkan
data)
1. Cin
Dalam C++, perintah cin digunakan untuk menginput suatu nilai dari suatu piranti masukan (keyboard) untuk selanjutnya diproses oleh program. Sintaknya adalah:
Dalam C++, perintah cin digunakan untuk menginput suatu nilai dari suatu piranti masukan (keyboard) untuk selanjutnya diproses oleh program. Sintaknya adalah:
cin
>> variabel;
contohnya:
cout << “Masukkan suatu
bilangan : ”;
cin >> bil;
cout << “Anda memasukkan
bilangan “ << bil “\n”;
2. Getch()
Perintah
getch() berfungsi sama seperti cin (perintah input), akan tetapi
getch() khusus untuk input berupa karakter. Disamping itu getch() dapat
membaca input berupa spasi atau tab, sedangkan cin tidak bisa.
Sintaksnya:
Sintaksnya:
Variabel =
getch();
Fungsi
ini juga dapat digunakan apabila tidak diinginkan penekanan ENTER
ketika input data karakter.
3. Getche()
Perintah getche() kegunaannya sama dengan getch(), bedanya adalah:
Perintah getche() kegunaannya sama dengan getch(), bedanya adalah:
Ø getch()
tidak menampilkan karakter yang diiinput
Ø getche()
menampilkan karakter yang diinput
fungsi
getch() dan getche() sama-sama membutuhkan file header conio.h .Berikut ini
contoh penggunaan getch() dan getche()
char
karakter;
cout << “masukkan sebuah
karakter : “;
karakter = getch();
cout << “Anda mengetik
karakter : ” << karakter;
cout << “masukkan sebuah
karakter : “;
karakter = getche();
cout << “Anda mengetik
karakter : ” << karakter;
OUTPUT(menampilkan
data)
v Cout
Dalam
bahasa C, perintah cout digunakan untuk menampilkan suatu informasi
ke piranti output (layar). Contoh-contoh penggunaannya telah banyak
diberikan di bab-bab sebelumnya. Berikut ini perintah-perintah tambahan
untuk mengatur tampilan output.
endl
Perintah ini berfungsi sama dengan \n (ganti baris)
Contoh:
Perintah ini berfungsi sama dengan \n (ganti baris)
Contoh:
cout
<< “Hallo” << endl;
setw()
Perintah ini digunakan untuk mengatur lebar tampilan data (rata kanan).
Contoh:
Perintah ini digunakan untuk mengatur lebar tampilan data (rata kanan).
Contoh:
A = 123;
B = 98;
C = 1;
cout << “Nilai A = “ <<
setw(6) << A << endl;
cout << “Nilai B = “ <<
setw(6) << B << endl;
cout << “Nilai C = “ <<
setw(6) << C << endl;
Bandingkan
bila tanpa menggunakan setw().
setfill()
Perintah setfill digunakan untuk menambahkan suatu karakter tertentu pada field yang kosong pada suatu data. Perhatikan contoh berikut ini
Perintah setfill digunakan untuk menambahkan suatu karakter tertentu pada field yang kosong pada suatu data. Perhatikan contoh berikut ini
A = 123;
B = 98;
cout<< “Nilai A = “<<
setw(6) << setfill(‘*’) << A << endl;
cout<< “Nilai B = “<<
setw(6) << setfill(‘.’) << B << endl;
Perintah setfill() biasanya digunakan setelah
penggunaan setw().
F.
Operator
Bahasa C
Operator dalam
bahasa C memiliki hirarki (tingkatan) prioritas di pengerjaannya dalam sebuah
program, akan dijelaskan mulai dari hirarki tertinggi. Artinya mulai dari
operator yang paling diprioritaskan oleh program.
1. Operator
Tanda Kurung ( )
Operator ini mengelompokkan proses operasi yang dikerjakan terlebih dahulu. Sama halnya dengan tanda kurung pada operasi matematika biasa. Namun berbeda dengan kurung siku ([ ]), kurung siku digunakan untuk menyatakan array.
Operator ini mengelompokkan proses operasi yang dikerjakan terlebih dahulu. Sama halnya dengan tanda kurung pada operasi matematika biasa. Namun berbeda dengan kurung siku ([ ]), kurung siku digunakan untuk menyatakan array.
2.
Operator Unary !, ~, -, ++, –, &, *
! : Operasi negasi (kebalikan). yaitu memberi nilai kebalikan dari operand,Operan harus berupa tipe aritmatika atau pointer.Operan secara implisit dikonversi ke tipe bool,Hasilnya adalah true jika operan bernilai false, hasilnya adalah false jika operan bernilai true.
~ : Negasi pada bitwise (berhubungan dengan bilangan biner). dalam operator bitwise terdiri dari: “~“, “&“, “|“, dan “^“
- : Menyatakan nilai negatif. misal, int i= (-1), integral i bernilai negatif 1
++ : Increment (penambahan). Operand ditambah dengan angka 1.
– : Decrement (pengurangan). Operand dikurang dengan angka 1.
& : Digunakan untuk mengetahui alamat memori suatu variabel.
* : Digunakan untuk mengetahui nilai suatu pointer pada alamat memori.
! : Operasi negasi (kebalikan). yaitu memberi nilai kebalikan dari operand,Operan harus berupa tipe aritmatika atau pointer.Operan secara implisit dikonversi ke tipe bool,Hasilnya adalah true jika operan bernilai false, hasilnya adalah false jika operan bernilai true.
~ : Negasi pada bitwise (berhubungan dengan bilangan biner). dalam operator bitwise terdiri dari: “~“, “&“, “|“, dan “^“
- : Menyatakan nilai negatif. misal, int i= (-1), integral i bernilai negatif 1
++ : Increment (penambahan). Operand ditambah dengan angka 1.
– : Decrement (pengurangan). Operand dikurang dengan angka 1.
& : Digunakan untuk mengetahui alamat memori suatu variabel.
* : Digunakan untuk mengetahui nilai suatu pointer pada alamat memori.
3. Operator
Aritmatika *, /, %, +, -
* : Digunakan untuk operasi perkalian.
/ : Digunakan untuk operasi pembagian.
+ : Digunakan untuk operasi penjumlahan.
- : Digunakan untuk operasi pengurangan.
% : Digunakan untuk operasi modulus (sisa pembagian).
* : Digunakan untuk operasi perkalian.
/ : Digunakan untuk operasi pembagian.
+ : Digunakan untuk operasi penjumlahan.
- : Digunakan untuk operasi pengurangan.
% : Digunakan untuk operasi modulus (sisa pembagian).
4. Operator
Bitwise >>, <<
Operator ini digunakan untuk
memanipulasi nilai bit dari nilai data yang ada di memori,
<< : Pergeseran bit ke kiri
>> : Pergeseran bit ke kanan
5. Operator
Perbandingan >, <, >=, <=
Operator ini berhubungan dengan
penentuan nilai TRUE dan FALSE.
> : lebih besar dari
< : lebih kecil dari
< : lebih kecil dari
>= : lebih besar dari atau
sama dengan
<= : lebih kecil dari atau sama dengan
<= : lebih kecil dari atau sama dengan
6. Operator
Persamaan dan pertidaksamaan ==, !=
Operator ini juga berhubungan dengan penentuan nilai TRUE dan FALSE
== : sama dengan
!= : tidak sama dengan
Operator ini juga berhubungan dengan penentuan nilai TRUE dan FALSE
== : sama dengan
!= : tidak sama dengan
7. Operator Logika &&, ||
Operator ini digunakan dalam pengkondisian/if.
&& : and (dan)
|| : or (atau)
Operator ini digunakan dalam pengkondisian/if.
&& : and (dan)
|| : or (atau)
evaluasi berhenti segera setelah
TRUE atau kepaFALSE dari hasilnya diketahui
8. Operator
Assigment = *= +=
-=
= : sama dengan
*= : nilai operand 1 di awal dikalikan dengan nilai operand 2
+= : nilai operand 1 di awal dijumlahkan dengan nilai operand 2
-= : nilai operand 1 di awal dikurangi dengan nilai operand 2
= : sama dengan
*= : nilai operand 1 di awal dikalikan dengan nilai operand 2
+= : nilai operand 1 di awal dijumlahkan dengan nilai operand 2
-= : nilai operand 1 di awal dikurangi dengan nilai operand 2
Komentar
Posting Komentar