1
BAHASA C BAHASA C adalah: Bahasa pemrograman tingkat menengah-rendah (Middle) Terstruktur, dimana terdapat: - Fungsi - Blok program - If Prosedural: Alur program dimulai dari bagian utama program, melalui baris per baris, menggunakan prosedur (fungsi), hingga ke bagian akhir program. Portabel/multi-platform: Program dapat dipindahkan pada compiler C di dalam sistem operasi lain Powerfull/Dangerous/Complex: [diperlukan kehati-hatian] C bukan bahasa pemrograman untuk pemula, tidak mudah untuk dipelajari Filosofi: “Programmer tahu apa yang sedang dilakukan”
VERSI C:
“Kernighan and Richie” C (K&R C) ANSI C C++ C# Java
PROSES PEMROGRAMAN C: 1. 2. 3. 4.
Coding Compiling Testing (Running & Debugging) Ulangi langkah 1-3
PEMBERIAN NAMA VARIABEL: Variabel adalah lokasi penyimpanan nilai di memori (RAM) yang dapat berubah selama jalannya program. Dengan menggunakan nama variabel di dalam program, maka anda terhubung kepada data yang tersimpan di lokasi tersebut Memiliki nama unique Case-sensitive Hanya dapat terdiri atas: ‘a’-‘z’, ‘A’-‘Z’, 0-9, ‘_’ Tidak dapat diawali oleh angka Dapat diawali oleh underscore (tidak disarankan) Tidak dapat melebihi 31 karakter Tidak dapat menggunakan C Keywords (32)
Algoritma dan Pemrograman 3 – Introduction of C Language
2
PENGGUNAAN VARIABEL: Salah satu tipe yang umum digunakan adalah int – integer Harus diinisialisasi (diberikan nilai awal) sebelum dibaca Dapat dimasukkan nilai dengan memberikan tanda “=”
DEKLARASI VARIABEL: Variabel harus dideklarasikan sebelum dapat digunakan Hanya dideklarasikan di bagian atas sebuah function Cara pendeklarasian variabel: tipe-data nama-variabel ;
KONSTANTA Variabel adalah lokasi penyimpanan nilai di memori (RAM) yang tidak dapat berubah selama jalannya program. Dibagi menjadi empat, yaitu : 1. Konstanta Numerik Integer Merupakan nilai numerik bilangan bulat. Sesuai dengan tipe data yang ada maka dapat berupa konstanta numerik integer bertanda diberi tanda, integer tidak bertanda (diberi huruf u atau U pada akhir nilainya), integer panjang bertanda (diberi huruf l atau L diakhir nilainya) dan integer panjang tidak bertanda (diberi huruf ul atau UL diakhir nilainya). 2. Konstanta Numerik Pecahan Merupakan nilai numerik yang dapat mempunyai nilai pecahan dibelakang titik desimal. Dapat bernilai ketepatan tunggal (float), ketepatan ganda (double), atau ketepatan ganda panjang (long double). 3. Konstanta Karakter dan String Merupakan nilai sebuah karakter yang ditulis diantara tanda petik ganda. Pengertian karakter disini meliputi huruf a-z atau A-Z, digit 0 – 9 karakter khusus dan karakter grafik.
Algoritma dan Pemrograman 3 – Introduction of C Language
3
4.
Konstanta Karakter Escape Escape character banyak digunakan di statemen-statemen untuk menampilkan hasil. Konstanta karakter escape diawali dengan tanda ‘ \ ‘. Karakter Escape \a \b \f \n \r \t \v \0 \‟ \” \\
Fungsi bunyi bel (bell atau alert) mundur 1 spasi (backspace) ganti halaman (form feed) ganti baris baru (new line) ke kolom pertama, baris yang sama (carriage return) tabulasi horisontal tabulasi vertikal nilai kosong (null) karakter petik tunggal karakter petik ganda karakter backslash
STRUKTUR PROGRAM C: Struktur program C dapat dilihat sebagai kumpulan satu atau lebih fungsi-fungsi. Fungsi yang harus ada adalah main(), karena fungsi ini merupakan titik awal dan titik akhir eksekusi program. Diawali dengan tanda ( { ) dan diakhiri dengan ( } ). main() { statement; ................; Blok-statement; ................ ; } Bahasa C dikatakan sebagai bahasa pemrograman prosedural, karena strukturnya menggunakan fungsi-fungsi sebagai program-program bagian (subroutine). Fungsi-fungsi ini dapat: a. ditulis setelah fungsi utama, atau b. diletakkan di file pustaka (library). Jika Fungsi diletakkan di file library dan akan dipakai pada suatu program maka nama header file-nya harus disertakan didalam program dengan preprocessor directive #include.
HEADER FILE: Merupakan file yang berisi prototype (judul, nama, dan sintaks) dari sekumpulan fungsi-fungsi pustaka tertentu, sedangkan fungsi-fungsi pustakanya sendiri disimpan di file pustaka (library file dengan extension .LIB). Cara penulisannya adalah #include
Atau #include “nama-header-file” Algoritma dan Pemrograman 3 – Introduction of C Language
4
KEYWORDS (RESERVED WORDS): Bahasa C standar ANSI mempunyai 32 kata kunci dan turbo C menambahkan 7 kata kunci. Katakunci ini tidak dapat digunakan sebagai nama variable atau nama fungsi. asm * auto break case cdecl * char const continue
default do double else enum extern far * float
for goto huge * if int interrupt * long near *
pascal * register return short signed sizeof static struct
switch typedef union unsigned void volatile while
Ket: tanda * menunjukan tambahan dari turbo C Bahasa C adalah bahasa yang case sensitive. Huruf kecil dibedakan dengan huruf besar dan semua kata kunci ditulis dalam huruf kecil.
STATEMENT: Statement adalah pernyataan yang menyebabkan suatu tindakan dilakukan oleh komputer. Statement dalam bahasa C diakhiri dengan tanda titik koma ( ; ) . Jenis statement, diantaranya: a. Empty Statement/Null Statement Statemen kosong adalah statement yang hanya terdiri dari pengakhir titik koma saja, sehingga tidak melakukan tindakan apapun. Digunakan untuk membuat perulangan kosong yang dimaksudkan untuk memberi jarak ke proses selanjutnya. b. Expression Statement Statemen ungkapan merupakan statemen yang dibentuk dari ungkapan yang diakhiri dengan titik koma. c. Control Statement Statemen kendali merupakan statemen yang berfungsi untuk mengendalikan proses dari program, dapat berupa proses seleksi kondisi perulangan, atau lompatan. Statemen ini dibentuk dengan menggunakan kata kunci if, switch, do-while, goto, break dan continue. d. Coumpound Statement/Block Statement Statemen jamak adalah statemen yang terdiri dari beberapa statemen tunggal yang ditulis diantara tanda kurung kurawal ( { } -braces)
Algoritma dan Pemrograman 3 – Introduction of C Language
5
TIPE DATA: C menyediakan 5 macam tipe data dasar, yaitu: tipe data integer (numerik bulat dideklarasikan dengan int), floating point (numerik pecahan ketepatan tunggal dideklarasikan dengan float), double precision (numerik pecahan ketepatan ganda dideklarasikan dengan double), karakter (dideklarasikan dengan char) dan kosong (dideklarasikan dengan void). Untuk int, float, double dan char dapat dikombinasikan dengan pengubah (modifier) signed, unsigned, long, short, maka hasilnya menjadi seperti pada tabel berikut. TIPE int signed int short int signed short int unsigned int unsigned short int long int signed long int unsigned long int float double long double char signed char unsigned char
Tipe Data Dasar Lebar 16 bit
Jangkauan Nilai - 32768 s/d 32767
16 bit
0 s/d 65535
32 bit
- 2147483648 s/d 2147483649
32 bit 32 bit 64 bit 80 bit 8 bit
0 s/d 4294967296 3.4E-38 s/d 3.4E+38 1.7E-308 s/d 1.7E+308 3.4E-4932 s/d 3.4E+4932 - 128 s/d 127
8 bit
0 s/d 255
KODE FORMAT: Kode Format %c %s %d %i %u %x %o %f %e %g %p
Fungsi Menampilkan sebuah karakter Menampilkan nilai string Menampilkan nilai desimal integer Menampilkan nilai desimal integer Menampilkan nilai desimal integer tidak bertanda Menampilkan nilai heksa desimal integer Menampilkan nilai oktal integer Menampilkan nilai pecahan Menampilkan nilai pecahan dalam notasi scientific Sebagai pengganti „%f‟ atau „%e‟ tergantung mana yang terpendek Menampilkan suatu alamat memori untuk pointer
Algoritma dan Pemrograman 3 – Introduction of C Language
6
FUNGSI SCANF: multiply.c 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29:
/* Program to calculate the product of two numbers. */ #include <stdio.h> int a,b,c; int product(int x, int y); main() { /* Input the first number */ printf("Enter a number between 1 and 100: "); scanf("%d", &a); /* Input the second number */ printf("Enter another number between 1 and 100: "); scanf("%d", &b); /* Calculate and display the product */ c = product(a, b); printf ("%d times %d = %d\n", a, b, c); getch(); return 0; } /* Function returns the product of its two arguments */ int product(int x, int y) { return (x * y); }
Output: Enter a number between 1 and 100: 35 Enter another number between 1 and 100: 23 35 times 23 = 805
Algoritma dan Pemrograman 3 – Introduction of C Language
7
The main() Function (Lines 8 - 23) The only component that is required in every C program is the main() function. The #include Directive (Line 2) The #include directive instructs the C compiler to add the contents of an include file into your program during compilation, "Add the contents of the file STDIO.H." The Function Prototype (Line 6) A function prototype provides the C compiler with the name and arguments of the functions contained in the program. It must appear before the function is used. printf() The printf() statement , is a library function that displays information on-screen. scanf() The scanf() statement , reads data from the keyboard and assigns that data to one or more program variables. return The return statement on line 28 is part of the function product(). It calculates the product of the variables x and y and returns the result to the program statement that called product(). The return statement on line 22 returns a value of 0 to the operating system just before the program ends. The Function Definition (Lines 26 - 29) A function is an independent, self-contained section of code that is written to perform a certain task. Every function has a name, and the code in each function is executed by including that function's name in a program statement. Program Comments (Lines 1, 10, 14, 18, and 25) Any part of your program that starts with /* and ends with */ is called a comment. The compiler ignores all comments, so they have absolutely no effect on how a program works.
Algoritma dan Pemrograman 3 – Introduction of C Language
8
weight.c #include <stdio.h> 1: /* Define a constant to convert from pounds to grams */ 2: 3: #define GRAMS_PER_POUND 454 4: /* Define a constant for the start of the next century */ 5: const int NEXT_CENTURY = 2000; 6: 7: /* Declare the needed variables */ 8: long weight_in_grams, weight_in_pounds; 9: int year_of_birth, age_in_2000; 10: 11: main() 12: { 13: /* Input data from user */ 14: printf("Enter your weight in pounds: "); 15: scanf("%d", &weight_in_pounds); 16: fflush(stdin); 17: 18: printf("Enter your year of birth: "); 19: scanf("%d", &year_of_birth); 20: fflush(stdin); 21: 22: /* Perform conversions */ 23: weight_in_grams = weight_in_pounds * GRAMS_PER_POUND; 24: age_in_2000 = NEXT_CENTURY - year_of_birth; 25: 26: /* Display results on the screen */ 27: 28:
29: 30: 31: 32: 33: }
printf("\nYour weight in grams = %ld", weight_in_grams); printf("\nIn 2000 you will be %d years old\n", age_in_2000);
getch(); return 0;
Algoritma dan Pemrograman 3 – Introduction of C Language