Elemen-elemen elemen Dasar Bahasa Pemrograman C Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN - 2008 Identifier : Elemen Dasar C Nama pengenal (identifier) adalah nama-nama yang ditentukan sendiri oleh pembuat program (programmer) untuk memberikan nama pada variabel, konstanta, fungsi atau label. Ketentuan pemberian nama pada identifier sbb: 1. Diawali dengan huruf atau garis bawah 2. Selanjutnya bisa diikuti oleh huruf atau garis bawah atau angka. 3. Panjang maksimum 32 karakter (ANSI). 4. Membedakan HURUF BESAR dengan huruf kecil (Case Sensitive). 5. Tidak boleh sama dengan kata kunci (keyword). TI - Algoritma dan Pemrograman 2 1
Variabel : Identifier yang digunakan untuk menampung data / informasi Format deklarasi variabel: <tipe> <nama_variabel>; <tipe> <nama_variabel> = <initial_value>; Contoh: int a, b, c; int _1x = 20; float Panjang, Lebar; float FLOAT; double Luas_Segitiga; char Nama_Mahasiswa= Ali Baba ; TI - Algoritma dan Pemrograman 3 Tipe Data: Tipe data menyiratkan suatu nilai yang bisa dinyatakan dalam bentuk konstanta atau variabel. Konstanta menyatakan nilai yang tetap, sedangkan variabel menyatakan nilai yang dapat diubah-ubah selama eksekusi program berlangsung. Pada dasarnya tipe data pada bahasa C ada 5, dan ditambah 4 tipe Modifier yaitu : No 1 2 3 4 5 Bilangan bulat (integer) Bilangan pecahan presisi tunggal Bilangan pecahan presisi ganda Karakter: tunggal atau banyak (string) Tidak bertipe Tipe Data Dasar (Basic Data Types) Kata kunci (Keyword) int float double char void TI - Algoritma dan Pemrograman 4 2
Tipe Data: Empat tipe Modifier adalah sbb : 1. signed 2. unsigned 3. long 4. short Tipe data dalam bahasa C merupakan kombinasi antara Modifier dengan Basic Data Types, dimana modifier tersebut adalah optional. Sintaks : <modifier> tipe_data = <nilai_awal>; Contoh : unsigned int Jumlah_Mahasiswa=40; signed float Suhu_Celcius = 36.5; unsigned long int Total_Jumlah_Penduduk; short Tinggi_Rumah; // berarti integer long Jarak_Antar_Kota; // berarti integer TI - Algoritma dan Pemrograman 5 Tipe Data Karakter Integer float Tipe Data pada Bahasa C int Penulisan unsigned char char unsigned int short int unsigned long long float double long double Memori 1 Byte 1 Byte 2 Byte 2 Byte 2 Byte 4 Byte 4 Byte 4 Byte 8 Byte 10 Byte 0 s/d 255-128 s/d 127 0 s/d 65535-32768 s/d 32767-32768 s/d 32767 0 s/d 4294967295 Rentang Nilai -2147483648 s/d 2147483647 3.4E-38 38 s/d 3.4E+38 1.7E-308 s/d 1.7E+308 3.4E-4932 4932 s/d 1.1E+4932 TI - Algoritma dan Pemrograman 6 3
Konstanta : Identifier yang memiliki nilai tetap. Pada bahasa C deklarasi konstanta tidak membutuhkan alokasi memori. Untuk mendeklarasikan konstanta pada bahasa C bisa dilakukan dengan preprocessor #define (Macro Based) atau dengan keyword const (Named Constant / Formal). Macro Based Constant: Sintak : #define Nama_Konstan Nilai_Konstan Contoh : #define Month_of_Year 12 #define Hour_in_Day 24 #define Gravitasi 9.8 #define Phi 3.14 #define Kuadrat(X) (X * X) TI - Algoritma dan Pemrograman 7 Konstanta : Named Constant (Formal) : Named constant dapat dipergunakan untuk kasus dimana diperlukan suatu bilangan konstan yang mempunyai karakteristek seperti variabel. Sintaks : const tipe_data Nama_Konstan = Nilai_Awal; Contoh : const Month_of_Year = 12; const int Bulan_per_Tahun = 12; const short Hour_in_Day = 24; const float Gravitasi = 9.8; const float Phi = 3.14; TI - Algoritma dan Pemrograman 8 4
Contoh Program : 1. Penambahan dua buah bilangan Data telah berada di memori, hasil penjumlahan disimpan di memori. /** Program Tambah **/ #include <stdio.h> int x,y,z; /* Deklarasi Variabel */ void main() { /* Program utama mulai */ x = 20; /* Statement 1 */ y = 30; /* Statement 2 */ z = x + y; /* Statement 3 */ } /* Program utama selesai */ TI - Algoritma dan Pemrograman 9 Contoh Program : 2. Program menghitung luas lingkaran Data jari-jari dibaca dari keyboard, kemudian hasil perhitungan ditayangkan di layar monitor. /*---------------------------------- Program Luas_Lingkaran ----------------------------------*/ #include <stdio.h> const float Pi = 3.14; /*Deklarasi Konstanta*/ void main() { /* Program utama mulai */ float Jejari; /*Deklarasi local Variabel*/ float Luas; scanf( %f,&jejari); /*Membaca data dari keyboard*/ TI - Algoritma dan Pemrograman 10 5
Luas = Pi * Jejari * Jejari; printf( Luas = %5.2f, Luas); /*menampilkan hasil perhitungan di layar*/ } /*Program utama selesai*/ Keterangan: Deklarasi Variabel: int x; atau int y; int x, y, z; int z; atau bisa juga : int x; int y; int z; Variabel dapat dideklarasikan disetiap awal blok statement. Blok statement (compound statement) adalah statementstatement yang berada diantara { dan } TI - Algoritma dan Pemrograman 11 Operator : Operator adalah simbol yang mengolah nilai pada operand dan menghasilkan satu nilai baru. Operator dapat dibedakan menjadi dua berdasarkan jumlah operand-nya, yaitu : Unary operator dan Binary operator. Unary operator memerlukan satu operand, sedangkan binary operator memerlukan dua operand. Berdasarkan jenis operasinya, operator dalam bahasa C dpt dikelompokkan sbb: Operator Logika Operator Aritmatika Operator Relasi Operator Bitwise TI - Algoritma dan Pemrograman 12 6
Tabel Operator Logika: Simbol &&! Fungsi AND OR NOT Contoh ( a == b ) && ( b < c ) ( a == b ) ( b < c )!a Tabel Kebenaran: A B!A A && B A B TI - Algoritma dan Pemrograman 13 Tabel Operator Aritmatika: Simbol + - * / % ++ -- Perkalian Pembagian Modulo Increment Decrement Fungsi Penambahan Pengurangan Contoh x = y + 6; y = x 5; y = y * 3; z = x / y; A = 10 % 3; x++; z--; Combined Operator: Setiap ekspesi yang berbentuk : <Variabel> = <Variabel> <Operator><Exp>; dapat diganti dengan : <Variabel> <Operator> = <Exp>; TI - Algoritma dan Pemrograman 14 7
Combined Operator: Persamaan a = a b; Combine Operator a -= = b; Persamaan x = x - y + 2; Contoh Combine Operator x += -y y + 2; Hasil 7 a = a * b; a *= b; x = x * (y 2); x *= y 2; y 30 a = a / b; a /= b; x = x / (y-1); x /= y-1; y 2 a = a % b; a %= b; x = x % (y-3); x %= y-3; y 0 a = a << b; a <<= b; x = x << y; x <<= y; 320 a = a >> b; a >>= b; y = y >> 2; y >>= 2; 1 a = a & b; a &= b; x = x & y; x &= y; 0 a = a b; a = b; y = y 2; y = 2; 7 a = a ^ b; a ^= b; x = x ^ y; x ^= y; 15 Misal: int x=10, y=5; TI - Algoritma dan Pemrograman 15 Tabel Operator Relasi: Simbol ==!= < > <= >=?= Sama Dengan Lebih Kecil Dari Lebih Besar Dari Fungsi Tidak Sama Dengan Lebih Kecil atau Sama Dengan Lebih Besar atau Sama Dengan Conditional Assigment if ( a == b ) if ( a!= b ) if ( a > b ) if ( a < b ) if ( a <= b ) if ( a >= b ) Contoh (a == 0)? a : b ; Tabel Operator Bitwise: Simbol & ^ ~ >> << Fungsi AND OR XOR Complement-1 Shift Right Shift Left Contoh A & B A B A ^ B ~B A >> 3 B << 2 TI - Algoritma dan Pemrograman 16 8
Operator Pointer: & (address of) * (value of) Operator Assignment : Operator Assignment (=) digunakan untuk menempatkan data di memori atau di suatu variabel. Operand disebelah kiri dari operator assignment harus memiliki alamat (L-value). Hasil dari operator assignment adalah nilai yang diassign-kan ke operand disebelah kirinya, dan tipe nya sesuai dengan tipe operand disebelah kirinya. Contoh : int x = 7/2; x nilainya 3 bukan 3.5 TI - Algoritma dan Pemrograman 17 Contoh Program: /*------------------------ Program Luas_Segi_Empat ------------------------ */ #include <stdio.h> #include <conio.h> int Panjang,Lebar; float Luas; void main() { clrscr(); /* Hapus Layar */ Panjang = 5; Lebar = 4; Luas = Panjang * Lebar; printf ( Luas Segi Empat = %f \n, Luas ); getch(); } Tampilan Hasil di monitor: Luas Segi Empat = 20 TI - Algoritma dan Pemrograman 18 9
Latihan 1. Tulislah algoritma untuk mencari luas segitiga jika masukan dari pengguna adalah alas dan tingginya. Rumus: : L = ½ a.t. Berdasarkan algoritma di atas buat program dalam bahasa C. 2. Tulislah algoritma untuk mencari sisi miring dari suatu segitiga siku-siku jika diketahui panjang dua sisi yang membentuk sudut siku-siku siku. Rumus: : c = (a2 + b2) Berdasarkan algoritma itu buat program dalam bahasa C. 3. Buatlah algoritma dan program untuk menghitung konversi suhu.dari Celcius menjadi Reamur dan Farenheit. Input: suhu dalam Celcius Proses: R = 4/5 * C dan F = 9/5 * C + 32 Output: suhu dalam Reamur dan Farenheit TI - Algoritma dan Pemrograman 19 10