1. Sejarah
Bahasa C merupakan perkembangan dari bahasa BCPL yang dikembangkan oleh Martin Richards pada tahun 1967. Selanjutnya bahasa ini memberikan ide kepada Ken Thompson yang
kemudian mengembangkan bahasa yang disebut bahasa B pada tahun 1970. Perkembangan selanjutnya dari bahasa B adalah bahasa C oleh Dennis Ricthie sekitar tahun 1970-an di Bell
Telephone Laboratories Inc. (sekarang adalah AT&T Bell Laboratories). Bahasa C pertama kali digunakan di computer Digital Equipment Corporation PDP-11 yang menggunakan system
operasi UNIX. Hingga saat ini penggunaan bahasa C telah merata di seluruh dunia. Hampir semua perguruan tinggi di dunia menjadikan bahasa C sebagai salah satu mata kuliah wajib.
Selain itu, banyak bahasa pemrograman populer seperti PHP dan Java menggunakan sintaks dasar yang mirip bahasa C.
2. Kelebihan dan Kekurangan Bahasa C
Kelebihan Bahasa C
- Bahasa C tersedia hampir di semua jenis computer.
- Kode bahasa C sifatnya adalah portable dan fleksibel untuk semua jenis computer.
- Bahasa C hanya menyediakan sedikit kata-kata kunci, hanya terdapat 32 kata kunci.
- Proses executable program bahasa C lebih cepat
- Dukungan pustaka yang banyak.
- C adalah bahasa yang terstruktur
- Bahasa C termasuk bahasa tingkat menengah
Kekurangan Bahasa C
- Banyaknya Operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai.
- Bagi pemula pada umumnya akan kesulitan menggunakan pointer
3. Mengenal Editor Bahasa C
Memulai Bahasa C
Buka Editor Bahasa C yang ada, seperti Bordland C, Turbo C, dan sebagainya. Semua
program yang ada di tutorial ini bisa dicoba Turbo C.
Sekilas Mengenai Editor Turbo C
Untuk mengkompilasi Program, langkah-langkahnya sbb :
- Pilih menu Compile dengan menekan Alt + C
-Pilih Submenu Compile
- Enter
Akan ditampilkan hasil kompilasi Program, tekan sembarang tombol
Untuk menjalankan program :
- Pilih menu Run dengan menekan Alt + R
- Pilih submenu Run dan tekan Enter
Menu-menu dalam Turbo C :
Tampilan Menu Editor Turbo C
- File , terdiri dari :
(1) New, untuk memulai program baru
(2) Open, untuk mengambil atau membuka program
(3) Save, untuk menyimpan file/program
(4) Save as, untuk menyimpan file/program
(5) Save all, untuk menyimpan seluruh file/program
(6) Change dir, untuk mengubah directory
(7) Print, untuk mencetak program
(8) DOS Shell, untuk menuju ke DOS Shell
(9) Quit, untuk keluar dari Turbo C
- Edit, terdiri dari :
(1) Undo, untuk membatalkan pengeditan terakhir
(2) Redo, untuk kembali ke pengeditan terakhir yang telah di undo.
(3) Cut, untuk memotong bagian tertentu dari program.
(4) Copy, untuk menduplikasi bagian program
(5) Paste
(6) Clear, untuk menghapus bagian tertentu dari program
(7) Copy example
(8) Show Clipboard
- Search, terdiri dari :
(1) Find…
(2) Replace…
(3) Search again
(4) Previous error
(5) Next error
(6) Locate function…
- Run, terdiri dari :
(1) Run…, untuk menjalankan program
(2) Program reset
(3) Go to cursor
(4) dst
- Compile, terdiri dari :
(1) Compile, untuk mengkompilasi program
(2) Make
(3) Link
(4) Build all, dst
- Debug, terdiri dari
(1) Inspect
(2) Evaluate/modify
(3) Dst
- Project, terdiri dari :
(1) Open project
(2) Close project
(3) dst
- Options, terdiri dari :
(1) Application
(2) Compiler
(3) Transfer
(4) Dst
- Window, terdiri dari :
(1) Size/Move
(2) Zoom
(3) Tile
(4) Cascade
(5) Next
(6) dst
- Help, terdiri dari
(1) Contens
(2) Index
(3) Topic search
(4) Previous topic
(5) dst
4. Penulisan Program Bahasa C
Program Bahasa C tidak mengenal aturan penulisan di kolom tertentu, jadi bisa dimulai dari
kolom manapun. Namun demikian, untuk mempermudah pembacaan program dan untuk keperluan dokumentasi, sebaiknya penulisan bahasa C diatur sedemikian rupa sehingga mudah dan enak dibaca.
Berikut contoh penulisan Program Bahasa C yang baik dan yang kurang baik :
#include “stdio.h”
void main()
{
printf(“Bahasa C\n”);
}
#include “stdio.h”
void main() { printf(“Bahasa C”); }
Kedua Program di atas bila dijalankan akan menghasilkan hasil yang sama berupa tulisan
“Bahasa C” di layar, namun dari segi penulisannya program yang pertama tampaknya lebih
mudah dibaca dan lebih rapih dibanding dengan program yang kedua.
Beberapa alasan mengapa memakai bahasa C:
* C adalah bahasa pemrograman yang paling populer saat ini, Dengan banyaknya programmer bahasa C, membawa pengaruh semakin mudahnya kita menemukan pemecahan masalah yang kita dapatkan ketika menulis program dalam bahasa C. Pengaruh positif lain adalah semakin banyaknya kompiler yang dikembangkan untuk berbagai platform (berpengaruh ke portabilitas).
* C adalah bahasa pemrograman yang memiliki portabilitas tinggi, Program C yang kita tulis untuk satu jenis platform, bisa kita kompile dan jalankan di platform lain dengan tanpa ataupun hanya sedikit perubahan. Ini bisa diwujudkan dengan adanya standarisasi ANSI untuk C.
* C adalah bahasa pemrograman yang fleksibel, Dengan menguasai bahasa C, kita bisa menulis dan mengembangkan berbagai jenis program mulai dari operating system, word processor, graphic processor, spreadsheets, ataupun kompiler untuk suatu bahasa pemrograman.
* C adalah bahasa pemrograman yang bersifat moduler, Program C ditulis dalam routine yang biasa dipanggil dengan fungsi. Fungsi-fungsi yang telah kita buat, bisa kita gunakan kembali (reuse) dalam program ataupun aplikasi lain.
* C adalah bahasa pemrograman yang paling populer saat ini, Dengan banyaknya programmer bahasa C, membawa pengaruh semakin mudahnya kita menemukan pemecahan masalah yang kita dapatkan ketika menulis program dalam bahasa C. Pengaruh positif lain adalah semakin banyaknya kompiler yang dikembangkan untuk berbagai platform (berpengaruh ke portabilitas).
* C adalah bahasa pemrograman yang memiliki portabilitas tinggi, Program C yang kita tulis untuk satu jenis platform, bisa kita kompile dan jalankan di platform lain dengan tanpa ataupun hanya sedikit perubahan. Ini bisa diwujudkan dengan adanya standarisasi ANSI untuk C.
* C adalah bahasa pemrograman yang fleksibel, Dengan menguasai bahasa C, kita bisa menulis dan mengembangkan berbagai jenis program mulai dari operating system, word processor, graphic processor, spreadsheets, ataupun kompiler untuk suatu bahasa pemrograman.
* C adalah bahasa pemrograman yang bersifat moduler, Program C ditulis dalam routine yang biasa dipanggil dengan fungsi. Fungsi-fungsi yang telah kita buat, bisa kita gunakan kembali (reuse) dalam program ataupun aplikasi lain.
Konstanta
Konstanta merupakan suatu nilai yang
tidak dapat diubah selama proses program berlangsung.
Konstanta nilainya selalu tetap.
Konstanta harus didefinisikan terlebih dahulu di awal program.
Konstanta dapat bernilai integer,
pecahan, karakter dan string. Contoh konstanta : 50; 13; 3.14;
4.50005; ‘A’; ‘Bahasa C’. Selain
itu, bahasa C juga menyediakan beberapa karakter khusus yang
disebut karakter escape, antara lain
:
\a : untuk bunyi bell (alert)
\b : mundur satu spasi (backspace)
\f : ganti halaman (form feed)
\n : ganti baris baru (new line)
\r : ke kolom pertama, baris yang
sama (carriage return)
\v : tabulasi vertical
: nilai kosong (null)
\’ : karakter petik tunggal
\” : karakter petik ganda
\\ : karakter garis miring
Konstanta
adalah suatu nilai yang tidak berubah selama proses dari program. Misalnya
suatu statemen ungkapan sebagai berikut :
Fahrenheit=Celcius*1.8+32;
Celcius
dan Fahrenheit adalah variabel yang nilainya dapat berubah selama proses
program. Nilai Celcius dapat berubah tergantung dari nilai yang dimasukkan
sebagai input data dan nilai Fahrenheit akan berubah tergantung nilai dari
Celcius. Nilai 1.8 dan 32 sebaliknya tidak akan pernah berubah di dalam proses
program, karena nilai- nilai ini adalah nilai- nilai konstanta.
Konstanta Numerik Integer
Konstanta
numerik integer merupakan nilai numerik bilangan bulat. Konstantakonstanta
inetegr dapat ditulis dalam bentuk desimal, heksadesimal, maupun oktal. Berikut
contoh dalam bentuk nilai desimal :
123
(integer bertanda)
-123
(integer bertanda)
37000U
(integer tidak bertanda)
-75000L
(integer panjang bertanda)
418598821UL
(integer panjang tidak bertanda)
Bila
user ingin suatu konstan diinterpretasikan sebagai oktal,tambahkan digit 0
didepan.
Contoh:
015 ekivalen dengan 13 dalam decimal
015 ekivalen dengan 13 dalam decimal
Jika
yang diinginkan bilangan hexadesimal, tambahkan 0x di depan.
Contoh:
0×20 ekivalen dengan 32
0×20 ekivalen dengan 32
Konstanta Numerik Pecahan
Merupakan
nilai numerik yang dapat mempunyai nilai pecahan dibelakang titik desimal.
Konstanta numerik pecahan juga dapat ditulis dengan notasi saintifik (dengan
notasi e atau E). Berikut contoh-contoh konstanta numerik pecahan :
123.
-123.00
12.34e29
Konstanta
Karakter dan Konstanta String
Konstanta
karakter merupakan nilai sebuah karakter yang ditulis diantara tanda petik
tunggal. Konstanta string merupakan nilai sebuah atau lebih karakter yang
ditulis dalam tanda petik ganda. Pengertian karakter adalah semua karakter yang
sah seperti yang didefinisikan oleh kode ASCII, yaitu dapat meliputi huruf(a
samapi z), digit (0 sampai 9), karakter-karakter khusus(misal +=$). Berikut
contoh dari konstanta-konstanta karakter dan string :
‘a’
konstanta karakter huruf a bernilai
ASCII 97
’7′
konstanta karakter huruf a bernilai
ASCII 55
“a”
konstanta string huruf a
Konstanta
ini banyak digunakan distatemen-statemen untuk menampilkan hasil, misal membuat
kursor kemablike kolom pertama(carriage return).
Karakter Keterangan
\n pindah kursor ke baris baru
\t horizontal tab, pindah kursor ke
posisi tab
\a membunyikan bel sistem atau beep
\ mencetak atau menampilkan tanda \
(backslash)
\”
Operator
Operator
atau tanda operasi adalah suatu tanda atau simbol yang digunakan untuk suatu
operasi tertentu. Bahasa C menyediakan banyak sekali tanda-tanda operasi, yaitu
operator pengerjaan, operator aritmatika, operator tipe, operator hubungan,
operator logika, dan lain- lain.
Operator Aritmatika
Konstanta
ini banyak digunakan distatemen-statemen untuk menampilkan hasil, misal membuat
kursor kemablike kolom pertama(carriage return).
Operator
|
Deskripsi
|
Contoh
|
Hasil
|
*
|
Perkalian
|
2*3
|
6
|
/
|
Pembagian
|
9/3
|
3
|
%
|
pembagian modulus (pembagian sisa)
|
10%3
|
1
|
-
|
Pengurangan
|
3-2
|
1
|
+
|
Penambahan
|
2+3
|
5
|
Prioritas operator aritmatika
Operator
|
Operasi
|
Keterangan
|
( )
|
Parenthesis
|
Operasi didalam tanda ( ) akan
dikerjakan terlebih dahulu. Apabila bersarang, yang dikerjakan pertama kali
adalah tanda ( ) yang paling dalam. Apabila terdapat tanda ( ) satu level
(tidak bersarang) dikerjakan dari kiri sampai kanan.
|
*, /, %
|
Kali, bagi, modulo
|
Dievaluasi kedua setelah
parenthesis. Apabila terdapat beberapa, dieksekusi dari kiri dan kanan.
|
-, +
|
Tambah, kurang
|
Dievaluasi terakhir. Apabila
terdapat beberapa, dieksekusi dari kiri dan kanan.
|
TipeData
Tipe data
merupakan bagian program yang paling penting karena tipe data mempengaruhi
setiap instruksi yang akan dilaksanakan oleh computer. Misalnya saja 5 dibagi 2 bisa saja menghasilkan hasil yang berbeda tergantung tipe datanya.
Jika 5 dan 2 bertipe integer maka akan menghasilkan nilai 2, namun jika keduanya bertipe float maka akan menghasilkan nilai 2.5000000. Pemilihan tipe data yang tepat akan membuat proses operasi data menjadi lebih efisien dan efektif.
setiap instruksi yang akan dilaksanakan oleh computer. Misalnya saja 5 dibagi 2 bisa saja menghasilkan hasil yang berbeda tergantung tipe datanya.
Jika 5 dan 2 bertipe integer maka akan menghasilkan nilai 2, namun jika keduanya bertipe float maka akan menghasilkan nilai 2.5000000. Pemilihan tipe data yang tepat akan membuat proses operasi data menjadi lebih efisien dan efektif.
Dalam bahasa C terdapat lima tipe
data dasar, yaitu :
No
|
Tipe Data
|
Ukuran
|
Range (Jangkauan)
|
Format
|
Keterangan
|
1
|
char
|
1 byte
|
128 s/d 127
|
%c
|
Karakter/string
|
2
|
int
|
2 byte
|
32768 s/d 32767
|
%i , %d
|
Integer/bilangan bulat
|
3
|
float
|
4 byte
|
3.4E-38 s/d 3.4E+38
|
%f
|
Float/pecahan
|
4
|
double
|
8 byte
|
1.7E-308 s/d 1.7+308
|
%lf
|
Pecahan presisi ganda
|
5
|
void
|
0 byte
|
-
|
-
|
Tidak bertipe
|
Tipe Data dalam Bahasa C
Tipe Data Primitif
Jenis-jenis tipe data :
- Tipe data Integer
Tipe data bilangan bulat decimal
yang dapat menampung angka antara -2147483648 dan 2147483647. Tipe data ini
berukuran 32 bits atau 4 bytes.
- Tipe data Character
Tipe data yang hampir mirip dengan
tipe data integer tetapi hanya cukup untuk menampung 1 karakter ASCII. Karena
tipe data character hanya memiliki ukuran 1 byte, tipe data ini sangat sering
digunakan untuk menyimpan tipe data karakter sesuai dengan namanya. Tipe data
ini dikatakan ideal untuk menampung data karakter karena ukuran 1 byte cukup
besar untuk menyediakan 1 slot untuk tiap karakter ASCII. Saat compile, semua
tipe data karakter akan diubah ke bentuk integer kode ASCIInya.
- Tipe data Float
Float merupakan kependekan dari
floating point. Tipe data ini dapat menampung bilangan real tetapi kurang
presisi karena hanya dapat menyimpan single precision floating point numbers.
- Tipe data Double
Tipe data double sangat mirip dengan
tipe data float tetapi tipe data double dapat menyimpan double precision
floating point numbers. Biasanya memiliki ukuran 8 bytes.
- Tipe data Void
Tipe data yang tidak bertipe.
Ditulis dalam Bahasa C. Tag: Bahasa
C, Pemrograman.
Variable
Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai tertentu di dalam proses program. Berbeda dengan konstanta yang nilainya selalu tetap, nilai suatu
variable bisa diubah-ubah sesuai kebutuhan. Nama dari suatu variable dapat ditentukan sendiri
oleh pemrogram dengan aturan sebagai berikut :
1. Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa huruf.
2. Bahasa C bersifat case-sensitive artinya huruf besar dan kecil dianggap berbeda. Jadi antara Metal, dengan metal itu berbeda.
3. Tidak boleh mengandung spasi.
4. Tidak boleh mengandung symbol-simbol khusus, kecuali garis bawah (underscore), seperti : $, ?, %, #, !, &, *, (, ), -, +, dsb.
5. Panjangnya bebas, tetapi hanya 32 karakter pertama yang terpakai.
Contoh penamaan yang salah : NIM, a,
x, nama_mhs, f3098, f4, nilai, budi, dsb.
Contoh penamaan variable yang salah : nilai_mahasiswa, 80%mahasiswa, rata-rata, ada spasi, penting!, dsb.
Contoh penamaan variable yang salah : nilai_mahasiswa, 80%mahasiswa, rata-rata, ada spasi, penting!, dsb.
Deklarasi Variable
Deklarasi diperlukan bila kita akan menggunakan pengenal (identifier) dalam program.
Identifier dapat berupa variable, konstanta dan fungsi.
Bentuk umum pendeklarasian suatu variable adalah :
Nama_tipe nama_variabel;
Contoh :
int x;
char y, huruf, nim[10];
float nilai;
double beta;
int array[5][4];
Deklarasi diperlukan bila kita akan menggunakan pengenal (identifier) dalam program.
Identifier dapat berupa variable, konstanta dan fungsi.
Bentuk umum pendeklarasian suatu variable adalah :
Nama_tipe nama_variabel;
Contoh :
int x;
char y, huruf, nim[10];
float nilai;
double beta;
int array[5][4];
Struktur Dasar
Kode Program
Setiap program
komputer, dalam bahasa apapun, secara umum memiliki struktur seperti berikut
ini:
Bagian
deklarasi
Bagian inisialisasi
Bagian kode
utama
Bagian
deklarasi
Pada bagian ini
dilakukan deklarasi variabel yang hendak digunakan. Bahasa C mengharuskan
seluruh variabel yang akan digunakan pada sebuah scope dideklarasikan
terlebih dahulu, sebelum kode program lainnya. Deklarasi diantara kode program
tidak diperbolehkan. Pada C++ batasan ini sudah tidak ada, sehingga deklarasi
dapat dilakukan tepat sebelum variabel digunakan pada kode program.
Bagian inisialisasi
Variabel
sebaiknya diinisialisasi terlebih dahulu dengan nilai awal yang diinginkan.
Variabel yang baru saja dideklarasikan akan menempati ruang memory yang
diberikan oleh sistem, sehingga nilainya tidak dapat diprediksi. Agar program
yang dibuat berjalan sesuai dengan logika program yang diinginkan, isilah
seluruh variabel dengan nilai awal yang diinginkan. Pada C dan C++, deklarasi
dan inisialisasi dapat dilakukan sekaligus ataupun terpisah.
Bagian kode
utama
Pada bagian
inilah kode program dituliskan. Kode program ditulis sesuai dengan logika
program yang diinginkan dan dengan tata bahasa yang dimengerti oleh kompiler
yang hendak digunakan. Penulisan kode program yang menyalahi tata bahasa akan
dapat dilacak dengan mudah. Kompiler akan menampilkan nomer baris yang memuat
kode yang salah. Tetapi kesalahan logika pada kode program merupakan kesalahan
yang sangat sulit untuk dilacak. Penulis program harus merunut kode program
yang ditulisnya untuk menemukan kesalahan logika ini, agar program yang dibuat dapat
berjalan sesuai dengan keinginan.
Kesalahan logika paling umum adalah penulisan operator komparasi dengan operator assignment. Lihat potongan kode berikut ini:
Kesalahan logika paling umum adalah penulisan operator komparasi dengan operator assignment. Lihat potongan kode berikut ini:
- if (a = b)
- {
- printf(“a is equal with b\n”);
- }
- else
- {
- printf(“a is not equal with b\n”);
- }
Apa kira-kira
hasil dari potongan kode diatas?Potongan kode diatas akan selalu menghasilkan
tulisan “a is equal with b”, karena apapun nilai a, nilainya akan digantikan
dengan nilai dari b, sehingga kondisi pada if akan selalu bernilai true. Pada C
dan C++, untuk melakukan komparasi, tanda yang digunakan adalah ==. Kesalahan
ini yang seringkali sulit untuk dilacak. Siapa saja dapat melakukan kesalahan ini,
walaupun sudah menulis banyak program dalam C maupun C++, tidak terbatas pada
pemula saja.
Fungsi-Fungsi untuk
Menampilkan Hasil dalam bahasa C
Untuk menampilkan hasil ke dalam
alat output di dalam bahasa C, semua prosesnya dilakukan oleh fungsi-fungsi yang
ada di dalam header file stdio.h dan conio.h
.:: Fungsi-fungsi yang umum
digunakan adalah:
- ‑
- putchar() dan puts()
fungsi putchar() dipakai untuk
menampilkan nilai karakter tidak terformat sedangkan fungsi puts() dipakai
untuk menampilkan nilai string tidak terformat. maksud dari tidak terformat
adalah lebar dan bentuk dari tampilannya tidak dapat diatur.
.:: Contoh dengan program yang
ditulis menggunakan compiler Dev-Cpp:
#include <stdio.h>
#include <conio.h>
#include <conio.h>
main(){
char karakter = ‘A’;
char string[17] = “ini_nilai_string”;
putchar(karakter);
putchar(7);
puts(string);
char string[17] = “ini_nilai_string”;
putchar(karakter);
putchar(7);
puts(string);
getch();
}
}
Jika dijalankan, fungsi di atas akan
mengeluarkan karakter ‘A’ kemudian diikuti dengan bunyi bel(karakter ASCII
dengan nilai integer 7 adalah bunyi bel) dan diikuti string “ini_nilai_string.
- printf()
Fungsi ini fungsinya menampilkan
hasil dengan kode terformat. Berikut adalah kode-kode format untuk fungsi
printf()
Kode
Format
Kegunaan
%c
Menampilkan sebuah karakter
%s
Menampilkan nilai string
%d dan %i
Menampilkan nilai desimal integer
%u
Menampilkan nilai desimal integer tak
bertanda
%x
Menampilkan nilai heksadesimal integer
%o
Menampilkan nilai oktal integer
%f
Menampilkan nilai pecahan
%e
Menampilkan nilai pecahan dalam notasi saintifik
%p
Menampilkan suatu alamat memori untuk pointer
‑
.:: Bagaimana bila ingin meletakkan
kursor pada posisi tertentu pada layar?.
Untuk melakukan hal itu diperlukan
fungsi gotoxy(x,y) yang terletak pada header file conio.c pada compiler
Dev-Cpp.
- Contoh program-nya:
#include <stdio.h>
#include <conio.h>
#include <conio.c>
#include <conio.h>
#include <conio.c>
main(){
char jajanan[4][256] = {”Nasi Goreng”, “Capcay”, “Mie Ayam”, “Bakso”};
char jajanan[4][256] = {”Nasi Goreng”, “Capcay”, “Mie Ayam”, “Bakso”};
int pilih;
gotoxy(30,6);printf(”Menu Warung JAJANAN”);
gotoxy(30,8);printf(”1. %s”, jajanan[0]);
gotoxy(30,9);printf(”2. %s”, jajanan[1]);
gotoxy(30,10);printf(”3. %s”, jajanan[2]);
gotoxy(30,11);printf(”4. %s”, jajanan[3]);
gotoxy(30,13);printf(”Pilih yang mana? “);
scanf(”%d”, &pilih);
gotoxy(30,15);printf(”Silahkan tunggu sebentar untuk %s nya”, jajanan[pilih-1]);
gotoxy(30,6);printf(”Menu Warung JAJANAN”);
gotoxy(30,8);printf(”1. %s”, jajanan[0]);
gotoxy(30,9);printf(”2. %s”, jajanan[1]);
gotoxy(30,10);printf(”3. %s”, jajanan[2]);
gotoxy(30,11);printf(”4. %s”, jajanan[3]);
gotoxy(30,13);printf(”Pilih yang mana? “);
scanf(”%d”, &pilih);
gotoxy(30,15);printf(”Silahkan tunggu sebentar untuk %s nya”, jajanan[pilih-1]);
getch();
}
}
Tidak ada komentar:
Posting Komentar