Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
P–4 Bab 3 : Dasar Pemrograman C
3.1 Tujuan Mahasiswa mampu mengetahui dan memahami identifier, keyword, variable, tipe data, operator dalam bahasa C
3.2 Materi • • • • • •
Identifier Keyword Variable Tipe data Operator Input Keyboard
3.3 Identifier • •
•
Identifier merupakan nama yang biasa digunakan untuk memberi nama terhadap variabel, konstanta, fungsi atau obyek yang lain yang didefinisikan oleh pemrogram. Syarat : ◦ Tidak boleh menggunakan keyword yang digunakan oleh C. ◦ Harus diawali dengan huruf (A, a), dan selanjutnya boleh berupa garis bawah (_) atau lambang dolar ($) atau digit (0..9). ◦ Tidak boleh menggunakan karakter yang digunakan sebagai operator oleh C, seperti : +, -, *, /. ◦ Panjang identifier boleh terdiri leih dari 32 karakter, akan tetapi hanya 32 karakter pertama yang akan dianggap berarti. Contoh : ◦ Saya ◦ Saya1 ◦ Saya_1 SQ – http://sidiq.mercubuana-yogya.ac.id –
[email protected] - 1
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
3.5 KeyWord • •
Keyword merupakan kata-kata yang memiliki arti khusus dan dikenali oleh C. Adapun keyword tersebut adalah sebagai berikut : asm
else
long
typedef
auto
num
near
union
break
extern
pascal
unsigned
case
far
register
void
cdecl
float
return
volatile
char
for
short
while
const
goto
signed
_cs
continue
huge
sizeof
_ds
default
if
static
_es
do
int
struct
_ss
double
interrupt
switch
SQ – http://sidiq.mercubuana-yogya.ac.id –
[email protected] - 2
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
3.6 Variabel • •
Merupakan lokasi yang digunakan untuk melakukan penyimpanan yang terdapat di memori. Deklarasi : Tipe_Data Variabel;
Contoh : • • •
•
Int Alas ; Int Tinggi ; Float Luas ;
Deklarasi dengan memberikan nilai awal variabel. Contoh : •
Int Alas = 2 ;
3.7 Tipe Data •
•
Dalam pemrograman komputer, data yang digunakan umumnya dibedakan menjadi 2, antara lain sebagai berikut : ◦ Data nilai numerik ▪ Nilai integer (bulat) ▪ Nilai pecahan ◦ Data nilai karakter Tipe data yang disediakan dalam bahasa C, antara lain dapat dilihat pada tabel berikut. Tipe Data
Deklarasi Ukuran (Bit)
Karakter
Char
Integer
Nilai
Keterangan
8 -128
s/d
128
Karakter
Int
16 -32768
s/d
32767
Bilangan Integer
Floating Point
Float
32 3.4E-38
s/d
3.4E+38
Bilangan Pecahan
Double Precision
Double
64 1.7E-308 s/d
Kosong
Void
0 -
1.7E+308 Bilangan Pecahan Tidak Bertipe
SQ – http://sidiq.mercubuana-yogya.ac.id –
[email protected] - 3
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
•
Selanjutnya untuk tipe data float, int, double dan char dapat dikombinasikan dengan pengubah signed, unsigned, long dan short. Tipe Data
Ukuran (Bit)
Nilai
16
0 s/d 65535
signed int short int signed short int unsigned int unsigned short int long int
-2147483648 s/d 2147483648
signed long int
32
unsigned long int
0 s/d 4294967296
long double
80
34E-4932 s/d 1.1E+4932
8
0 s/d 255
signed char unsigned char •
Contoh program dengan tipe data “char”. Program 3.1 1 2 3 4 5 6 7 8 9 10 11 12 13
/* * * *
----------------------Contoh Tipe Data Char author : SidiQ - UMBY -----------------------*/
#include <stdio.h> main() { char Huruf ; Huruf= 'A'; printf (“Huruf = %c \n ”,Huruf); printf (“Huruf %c Nilainya = %d”,Huruf,Huruf); }
Output : Huruf = A Huruf A Nilainya = 65
SQ – http://sidiq.mercubuana-yogya.ac.id –
[email protected] - 4
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
•
Contoh program dengan tipe data “Int”. Program 3.2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
/* * * *
----------------------Contoh Tipe Data Int author : SidiQ - UMBY -----------------------*/
#include <stdio.h> main() { int A ; int B; A = -11; B = 11; printf (“Nilai A = %d \n”,A); printf (“Nilai B = %d \n”,B); }
Output : Nilai A = -11 Nilai B = 11
•
Contoh program dengan tipe data “Float”. Program 3.3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
/* * * *
----------------------Contoh Tipe Data Float author : SidiQ - UMBY -----------------------*/
#include <stdio.h> main() { float C; float D; C = -11.07; D = 11.07; printf (“Nilai C = %f \n”,C); printf (“Nilai D = %f \n”,D); }
Output : Nilai C = -11.070000 Nilai D = 11.070000
SQ – http://sidiq.mercubuana-yogya.ac.id –
[email protected] - 5
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
•
Contoh program dengan tipe data “Double”. Program 3.4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
/* * * *
----------------------Contoh Tipe Data Double author : SidiQ - UMBY -----------------------*/
#include <stdio.h> main() { double E; double F; E = -11.07; F = 11.07; printf (“Nilai E = %f \n”,E); printf (“Nilai F = %f \n”,F); }
Output : Nilai C = -11.070000 Nilai D = 11.070000
3.7.1 Tipe Data Numerik Integer • •
•
Nilai numerik yang disimpan pada tipe data integer akan dibulatkan (dibuang nilai pecahannya) Untuk menyimpan nilai numerik pecahan sebaiknya digunakan tipe data float, double atau long double. ◦ Contoh : ▪ Nilai numerik pecahan 11.56 ▪ Jika disimpan dalam bentuk nilai numerik integer maka menjadi 11 Contoh program :
Program 3.5 1 2 3 4 5 6 7 8 9 10
/* * * *
---------------------------------Program ex integer author : SidiQ - UMBY ---------------------------------*/
#include <stdio.h> int main() { float a; a = 11.87;
SQ – http://sidiq.mercubuana-yogya.ac.id –
[email protected] - 6
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
11 12 13 14 15 16 }
printf ("a dalam pecahan = %f \n",a); printf ("a dalam integer = %d \n",(int)a); return 0;
Output : a dalam pecahan = 11.870000 a dalam integer = 11
3.7.2 Tipe Data Karakter • • •
Tipe data karakter dideklrasikan dengan tipe data char, signed char atau unsigned char. Digunakan untuk menyimpan nilai sebuah huruf (karakter). Contoh program :
Program 3.6 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
/* * * *
---------------------Program ex char author : SidiQ - UMBY ---------------------*/
#include <stdio.h> main() { char satu, dua; satu = 'A'; dua = 'A' + 1; printf ("Karakter = %c = %d (Nilai ASCII) \n", satu,satu); printf ("Karakter = %c = %d (Nilai ASCII) \n", dua,dua); } Output : Karakter A = 65 (Nilai ASCII) karakter B = 66 (Nilai ASCII)
SQ – http://sidiq.mercubuana-yogya.ac.id –
[email protected] - 7
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
3.7.3 Tipe Data String • • • •
Bahasa C tidak menyediakan tipe data string. String merupakan kumpulan dari nilai nilai karakter yang berurutan dalam array 1 dimensi (akan dibahas lebih lanjut pada pembahasan array). Untuk itu deklarasi string dalam bahasa C dideklarasikan dengan tipe data char. Contoh program :
Program 3.7 1 2 3 4 5 6 7 8 9 10 11 12
/* * * *
---------------------Program ex string author : SidiQ - UMBY ---------------------*/
#include <stdio.h> main() { char NilaiStr[20]="Nama saya SidiQ"; printf("%s \n",NilaiStr);
}
Output : Nama saya SidiQ
3.8 Operator 3.8.1 Aritmatika •
Bahasa C menyediakan operator aritmatika seperti terlihat dalam tabel berikut : Operator
•
Keterangan
+
Penjumlahan
-
Pengurangan
*
Perkalian
/
Pembagian
%
Modulus (Sisa hasil bagi)
Contoh :
SQ – http://sidiq.mercubuana-yogya.ac.id –
[email protected] - 8
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
Program 3.8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
/* * * *
-------------------------Contoh Operator Aritmatika author : SidiQ - UMBY -------------------------*/
#include <stdio.h> main() { int A ,B,C,D,E,F,G,H; A = 1; B = 2; C = A+B; D = C-A; E = D*C; F = E/D; G= E/C; printf (“Nilai C = %d printf (“Nilai D = %d printf (“Nilai E = %d printf (“Nilai F = %d printf (“Nilai G = %d }
\n”,C); \n”,D); \n”,E); \n”,F); \n”,G);
Output : Nilai Nilai Nilai Nilai Nilai
C D E F G
= = = = =
3 2 6 3 2
3.8.2 Unary •
Bahasa C menyediakan operator unary seperti terlihat dalam tabel berikut : Operator
Keterangan
-
Unary minus
++
Peningkatan dengan penambahan nilai 1
--
Peningkatan dengan pegurangan nilai 1
(tipe)
Casting
Sizeof
Ukuran dari operand dalam byte
!
Unary NOT
~
Operator unary komplemen satu (Bitwise Not)
SQ – http://sidiq.mercubuana-yogya.ac.id –
[email protected] - 9
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
&
Menghasilkan alamat memory operand (operator pointer)
*
Menghasilkan nilai pengenal di alamatnya (operator pointer)
Contoh :
•
Program 3.9 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
/* * * *
-------------------------Contoh Operator Unary author : SidiQ - UMBY -------------------------*/
#include <stdio.h> main() { int A, B; float C; double D; A = 2; B = 3; C = (float) A*B; D = (double)(A*B); printf (“Nilai C = %f \n”,C); printf (“Nilai D = %f \n”,D); }
Output : Nilai C = 6.000000 Nilai D = 6.000000
3.8.3 Pengerjaan Bahasa C menyediakan operator pengerjaan seperti terlihat dalam tabel berikut :
•
Operator
•
Contoh
Keterangan
=
C = A +B
Mengerjakan B+C ke A
+=
C += 1
A=A+1
-+
C -+ A
A=A-C
*=
C *= A
A=A/C
%=
C %= A
A=A%C
Contoh :
SQ – http://sidiq.mercubuana-yogya.ac.id –
[email protected] - 10
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
Program 3.10 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
/* * * *
-------------------------Contoh Operator Pengerjaan author : SidiQ - UMBY -------------------------*/
#include <stdio.h> main() { int A, B, C, D; A = 4; B = 3; C = A+B; D = A += 1; printf ("Nilai C = %d \n",C); printf ("Nilai D = %d \n",D); } Output : Nilai C = 7 Nilai D = 5
3.8.4 Hubungan •
Bahasa C menyediakan operator hubungan seperti terlihat dalam tabelberikut : Operator
•
Keterangan
<
Lebih kecil dari
<=
Lebih kecil atau sama dengan
>
Lebih besar dari
>=
Lebih besar dari atau sama dengan
==
Sama dengan
!=
Tidak sama dengan
Contoh :
Program 3.10 1 2 3 4 5
/* * * *
-------------------------Contoh Operator Hubungan author : SidiQ - UMBY -------------------------*/
SQ – http://sidiq.mercubuana-yogya.ac.id –
[email protected] - 11
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
6 7 8 9 10 11 12 13 14 15 16 17
#include <stdio.h> main() { float A, B, C; A = 2; B = 4; C = 6; if (A > B) printf (“Nilai = %f \n”,B/A); else printf (“Nilai = %f \n”,C/A); }
Output : Nilai = 3.000000
3.8.5 Logika •
•
Bahasa C menyediakan operator logika seperti terlihat dalam tabel berikut : Operator
Keterangan
&&
Logika AND (Dan)
!!
Logika OR (Atau)
Contoh :
Program 3.11 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
/* * * *
-------------------------Contoh Operator Logika author : SidiQ - UMBY -------------------------*/
#include <stdio.h> main() { float A, B, C; A = 2; B = 4; C = 6; if ((A > 1)&&(B<4)) printf (“Nilai = %f \n”,C/A); else printf (“Nilai = %f \n”,B/A); }
SQ – http://sidiq.mercubuana-yogya.ac.id –
[email protected] - 12
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
Output : Nilai = 2.000000
3.8.6 Bitwise •
Bahasa C menyediakan operator bitwise seperti terlihat dalam tabel berikut :
Operator
•
Keterangan
<<
Penggeseran bit ke kiri
>>
Penggeseran bit ke kanan
&
Bitwise And
^
Bitwise Xor
|
Bitwise Or
Contoh :
Program 3.12 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
/* * * *
-------------------------Contoh Operator Bitwise author : SidiQ - UMBY -------------------------*/
#include <stdio.h> main() { int A, B, C; A = 4; B = A<<1; C = A>>1; printf ("Nilai = %d \n",B); printf ("Nilai = %d \n",C); }
Output : Nilai = 8 Nilai = 2
SQ – http://sidiq.mercubuana-yogya.ac.id –
[email protected] - 13
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
3.8.7 Koma •
•
Bahasa C menyediakan operator koma (,) yang digunakan untuk menggabungkan beberapa ungkapan dengan proses yang berurutan dari ungkapan sebelah kanan koma ke ungkapan disebelah kanan koma. Contoh :
Program 3.13 1 2 3 4 5 6 7 8 9 10 11 12
/* * * *
-------------------------Contoh Operator Koma author : SidiQ - UMBY -------------------------*/
#include <stdio.h> main() { int W, X, Y, Z; W = (X=2, Y = X*2, Z = Y+X); printf ("Nilai = %d \n",W); }
Output : Nilai = 6
3.9 Input Keyboard • •
Untuk mendapatkan input dari keyboard, Pustaka yang digunakan “scanf()” yang berada di dalam pustaka conio.h. Contoh : Program 3.13 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
/* * * *
-------------------------Contoh Input Keyboard author : SidiQ - UMBY -------------------------*/
#include <stdio.h> int main() { int a,t,luas; printf("Masukkan Alas = ");scanf("%d",&a); printf("Masukkan Tinggi = ");scanf("%d",&t); luas = (a*t)/2; printf("Luas Segitiga = %d cm \n",luas); return 0; }
SQ – http://sidiq.mercubuana-yogya.ac.id –
[email protected] - 14
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
Output : Masukkan Alas = 2 Masukkan Tinggi = 3 Luas Segitiga = 3 cm
3.10 Evaluasi Soal : 1. Buat algoritma dan Program untuk menampilkan NIM dan Nama dengan menggunakan Input Keyboard. 2. Buat algoritma dan Program untuk menghitung luas persegi dan persegi panjang dengan menggunakan input keyboard. 3. Buat algoritma dan Program untuk mencari rata rata dari 3 bilangan 4. Buat algoritma dan Program untuk mencari apakah bilangan genap/ganjil (habis dibagi 2)
Ketentuan : 1. File name : P4_Elr_23_Algo_NIM.docx (Ex : P4_Elr_23_Algo_10111071.docx) 2. Kirimkan dengan subject P3_Elr_23_Algo_NIM (Ex : P4_Elr_23_Algo_10111071) 3. Ke email :
[email protected]
SQ – http://sidiq.mercubuana-yogya.ac.id –
[email protected] - 15