Dosen Pembimbing :
Andri Dwi Setyabudi, ST
Disususn oleh :
Didit.Triyanto(201511016)
FAKULTAS TEKNIK
SEKOLAH TINGGI TEKNOLOGI BONTANG
TEKNIK ELEKTRO
2015
DAFTAR ISI
Halaman
Judul............................................................................................................................................1
Daftar Isi.....................................................................................................................................2
BAB I PENDAHULUAN
I.1 Latar Belakang.....................................................................................................................3
BAB I PENGANTAR PEMROGRAMAN BAHASA C
I.1. Tujuan .................................................................................................................................4
I.2. Dasar Teori.....................................................................................................................4-10
I.3. Alat Dan Bahan Percobaan................................................................................................10
I.4. Prosedur Praktikum......................................................................................................10-11
I.5. Hasil Percobaan.................................................................................................................11
I.6. Flowcart.............................................................................................................................11
I.7. Analisa Percobaan........................................................................................................11-12
I.8. Kesimpulan........................................................................................................................12
I.9. Tugas Praktikum .........................................................................................................12-14
BAB II TIPE DATA, OPERATOR, DAN EKSPRESI
II.1. Tujuan..............................................................................................................................15
II.2. Dasar Teori.................................................................................................................15-30
II.3. Alat Dan Bahan Percobaan..............................................................................................30
II.4. Prosedur Praktikum.........................................................................................................30
II.5. Percobaan Konsep Tipe Data I...................................................................................31-33
II.6. Percobaan Konsep Tipe Data II.................................................................................33-35
BAB I
PENDAHULUAN
I.1 Latar Belakang
Bahasa pemrograman C merupakan salah satu bahasa pemrograman komputer
yang dikategorikan mudah untuk dipelajari dan mudah untuk dipahami karena bahasanya
merupakan bahasa tingkat tinggi yang dimengerti oleh manusia. Bahasa C dibua pada
tahun 1972 oleh Dennis Ritchie.
Sedangkan bahasa program C++ adalah penerus dari bahasa program C yang
merupakan bahasa pemrograman tingat menengah/medium. Pencipta bahasa program C
adalah Brian W. Kerninghan dan Dennis M.Ritchie pada tahun 1972, sedangkan C++
diciptakan satu dekade setelah C oleh Bjarne Stroustrup dari Laboratorium Bell, AT&T
pada tahun 1983. Pada awalnya C++ diberi nama A Better C.
Berbicara tentang bahasa C++ biasanya tidak lepas dari bahasa C, sebagai
bahasa pendahulunya. Bahasa C++ cukup kompatibel dengan bahasa C. Pada mulanya
C++ disebut A Better C. Nama C++ diberikan oleh Rick Mascitti pada tahun 1983, yang
berasal dari operator increment pada bahasa C. Keistimewaan yang sangat berarti dari C+
+ adalah karena bahasa ini mendukung pemrograman yang berorientasi obyek
(OOP/Object Oriented Programming).
BAB II
Pengantar Pemrograman Bahasa C
1.1 Tujuan
Memahami Bahasa C
Memahami struktur dasar Bahasa C
Memahami compiler yang digunakan
relatif lebih lama, sebab ada waktu untuk mengkompilasi (menerjemahkan) dan ada pula
waktu melakukan proses linking. Perlu pula diketahui, program akan berhasil dikompilasi
hanya jika program tak mengandung kesalahan secara kaidah sama sekali.
Proses dari bentuk kode sumber C (source code, yaitu program yang ditulis dalam
bahasa C) hingga menjadi program yang executable (dapat dieksekusi secara langsung)
ditunjukkan pada gambar berikut:
EDITOR
EDITOR
EDITOR
EDITOR
FILE INCLUDE
FILE INCLUDE
FILE PROGRAM
FILE PROGRAM
(FILE JUDUL)
(FILE JUDUL)
SUMBER
SUMBER
xxx.h
xxx.h
yyy.c
yyy.c
KOMPILER
KOMPILER
FILE PUSTAKA
FILE PUSTAKA
(library file)
(library file)
FILE OBYEK
FILE OBYEK
FILE OBYEK
FILE OBYEK
LAIN
LAIN
LINKER
LINKER
FILE
FILE
EXECUTABLE
EXECUTABLE
D. Lingkungan Bahasa C
Untuk memulai pemrograman C, kita memerlukan dua Software yang harus terinstal
pada komputer kita; yaitu text-editor dan C-compiler. Text-editor digunakan untuk
Jika GCC telah terinstal pada komputer maka akan tampil pesan berikut:
Jika GCC tidak terinstal pada komputer, kita dapat menginstal sendiri dengan mengikuti
petunjuk rinci yang tersedia pada Http://gcc.gnu.org/install/.
Jika telah memiliki text-editor dan compiler pemrograman C, silahkan menuliskan sourcecode berikut pada text-editor anda dan lakukanlah kompilasi program.
E. Struktur Bahasa C
Tiap bahasa komputer mempunyai struktur program yang berbeda. Jika struktur dari
program tidak diketahui, maka akan sulit bagi pemula untuk memulai menulis suatu program
dengan bahasa yang bersangkutan.
Sebelum kita mempelajari blok bangunan dasar dari bahasa pemrograman C, mari
kita lihat struktur program C sehingga kita dapat menganggapnya sebagai acuan dalam bab
mendatang. Sebuah program C pada dasarnya terdiri dari bagian berikut ini:
Perintah Preprocessor
Fungsi
Variabel
Komentar
Mari kita lihat kode sederhana yang akan mencetak kata "Hello World":
#include <stdio.h>
void main()
{
/* my first program in C */
printf("Hello, World! \n");
}
Pada program sederhana di atas terdapat beberapa bagian program, diantaranya adalah :
Baris pertama dari program yaitu #include
Sehingga dari contoh program sederhana di atas, dapat kita jabarkan bahwa struktur
dari program C terdiri dari koleksi satu / lebih fungsi-fungsi. Fungsi pertama yang harus ada
di program C sudah ditentukan namanya, yaitu bernama main(). Suatu fungsi di dalam
program C dibuka dengan kurung kurawal buka { dan ditutup dengan kurung kurawal tutup
}. Diantara kurung kurawal dapat dituliskan statemen-statemen program C dan pada setiap
statemen diakhiri dengan tanda semi-colon ; .
Secara sederhana dicontohkan seperti berikut :
Gambar 1.4
Program Bahasa C tidak mengenal aturan penulisan pada kolom tertentu, sehingga
bisa dimulai dari kolom manapun. Namun demikian, untuk mempermudah pembacaan source
code program dan untuk keperluan dokumentasi, sebaiknya penulisan bahasa C diatur
sedemikian rupa sehingga dapat mempermudah dalam pembacaan ataupun analisa source
code.
(a)
(b)
Gambar 1.5
Dari gambar di atas dapat diperhatikan bahwa baris program pada gambar 1.5a lebih
rapi dan mudah untuk dibaca daripada gambar 1.5b. Baris program yang teratur menjadikan
kita lebih praktis untuk melakukan proses identifikasi error dari baris program pada editor C.
1.3 Alat dan bahan percobaan
1 Set Komputer ( PC )
Sistem Operasi WINDOWS
Program compiler Dev-C++
Bukalah Window baru dari program Dev- C++ (File -> New).
Simpanlah source-code tersebut pada Folder yang telah anda buat, dan berilah nama
program_pertama.cpp
Compile & Run (tekan F11) source-code yang telah anda buat. Apabila ditemukan error
kompilasi, cobalah menganalisa kesalahan yang ditemukan atau tanyakan pada
instruktur anda.
Print-screen jendela Dev-C++ dan hasil kompilasi program pada Hasil Percobaan
Buatlah analisa dan kesimpulan dari apa yang telah anda praktikumkan.
10 | K o m p u t e r D a n P e m r o g r a m a n
11 | K o m p u t e r D a n P e m r o g r a m a n
1.6 Flowchart
Nama Program : Program menampilkan kalimat
Output
Start
Ini program
pertamaku
End
sederhana dengan
menggunakan fungsi void main (), yang akan menampilkan ini program pertamaku
Untuk menampilkan program diatas fungsi void main tidak dapat dijalankan
oleh program dikarenakan error message message (main must return int)ketika
dicompile ,seperti pada gambar diatas, berarti fungsi memiliki parameter/argumen
sehingga untuk menjalankan program ini maka fungsi void main () diganti menjadi
fungsi main ().
12 | K o m p u t e r D a n P e m r o g r a m a n
1.8 Kesimpulan
Perlu kita pahami bahwa untuk membuat sebuah program, yang harus
diperhatikan adalah menentukan fungsi utama dari sebuah program yang akan dijalankan.
seperti berikut:
Nama
: < nama anda >
NIM
: < NIM anda >
Tempat/Tanggal lahir : < tempat/tanggal lahir anda >
Jenis Kelamin
: < L / P >
Alamat
: < Alamat tinggal anda >
No.Hp
: < No. ponsel anda yang aktif >
2. Catatlah semua tahapan yang anda lakukan dalam pembuatan program dan jelaskan setiap
kesalahan yang anda temukan dalam membuat program dan bagaimana solusi dari
kesalahan tersebut.
2.1. Pembuatan program pseudo-code dengan memasukkan atau ketik coding konsep
program seperti dibawa ini :
#include<stdio.h>
main()
{
printf("Nama\t: < Didit.Triyanto >");
printf("\nNIM\t: < 201511016 >");
2.2. Compile data pertama akan minta save project ,lakukan save dilokasi yang
diinginkan. printf("\nTempat/Tanggal lahir\t: < sragen/09 desember 1995
2.3. Hasil compile (error =0 ;warning =0),maka langkah berikutnya Run.
>");
13 | K o m p u t e rprintf("\nJenis
Dan Pem
rogram
Kelamin\t:
< La n
>");
}
2.4. Run program.
2.5. Jika output tidak sesuai dengan ketentuan maka perbaiki program tersebut dan
compile&run ulang sampai sesuai hasil yang disyaratkan.
14 | K o m p u t e r D a n P e m r o g r a m a n
output
pada
pertama kita dapati bahwa posisi /format biodata diri belum rata setelah tanda : hal
ini dikarenakan pada tiap item (nama, NIM, dll)memiliki panjang kata atau kalimat
yang berbeda-beda, sehingga dibutuhkan tab dari masing-masing berbeda juga
menyesuaikan kata atau kalimat yang paling panjang yaitu tempat/tanggal lahir.
Dalam komputer tiap sekali tab memiliki batas perpindahan kursor secara
horisontal ke arah kanan, jadi jumlah tab yang kita masukkan dalam program harus
disesuaikan dengan 1 acuan yang kalimat atau kata paling panjang untuk data isian
pada program menampilkan biodata diri yang kita analisa.Apabila kita tab ternyata
belum sejajar dengan posisi acuan (dalam hal ini masih kurang kekanan) maka
dibutuhkan tab yang kedua dan seterusnya sampai dapat posisi sejajar,ini artinya
dalam 1 tab ada batas maksmum perpindahannya, tetapi jika tab terakhir melebihi
dari acuan, maka tab akan menyesuaikan.
3.4. Kesimpulan
15 | K o m p u t e r D a n P e m r o g r a m a n
Fungsi tab (konstanta escape \t) pada sebuah program yaitu untuk memberikan
space kekanan atau secara horizontal .
BAB III
Tipe Data, Operator dan Ekspresi
2.1 Tujuan
No
Tipe Data
Integer
Floating-Point
Deklarasi
Int
Float
Double
Double
Karakter
Char
Keterangan
Nilai bilangan bulat
Nilai bilangan pecahan (ketepatan tunggal)
Nilai bilangan pecahan (ketepatan ganda)
Karakter
16 | K o m p u t e r D a n P e m r o g r a m a n
Yang selanjutnya tipe data tersebut dapat dikombinasikan dengan modifier. Dimana modifier
merupakan pengubah tipe data yang memberikan atribut baru dari suatu tipe data.
1. Tipe Integer
Merupakan tipe yang hanya dapat menyimpan bilangan bulat dan bukan pecahan.
Berikut ini adalah standard tipe integer beserta ukuran memori dan rentang nilai:
Tabel 2.3
Tipe
Ukuran
memory
(Byte)
Jangkauan Nilai
Awal
Akhir
-2147483648
2147483647
4294967295
-32768
32767
65535
-2147483648
2147483647
4294967295
-128
127
255
unsigned char
4
1
Untuk mendapatkan ukuran memori yang digunakan oleh suatu variabel secara tepat
pada suatu platform, dapat digunakan perintah sizeof . Statement sizeof (tipe data) atau
sizeof (variabel) akan menghasilkan nilai dari ukuran memori yang digunakan dalam satuan
byte. Sebagai contoh untuk mendapatkan ukuran memori dari tipe data int, ketikkan sourcecode berikut:
#include<stdio.h>
Void main()
{
printf ("Storage size for int : %d byte\n", sizeof(int));
Ketika program di atas di-compile dan dieksekusi pada program Dev-C++
}
17 | K o m p u t e r D a n P e m r o g r a m a n
Merupakan tipe data bilangan desimal (pecahan) atau rea. Tipe data Floating-Point
memiliki tingkat presisi hingga 15 digit. Tabel berikut memberikan rincian tentang standar
jenis floating-point dengan ukuran penyimpanan dan rentang nilai serta tingkat presisinya:
Tabel 2.4
Tipe
Ukuran
memory
Float
Double
long double
10
Jangkauan Nilai
Awal
-1.175494E-38
Akhir
Tingkat Presisi
3.402823E+38
6 digit desimal
-2.225074E-308
1.797693E+308
15 digit desimal
-3.4E-4932
1.1E+4932
19 digit desimal
Ketika program di atas di-compile dan dieksekusi maka akan menampilkan pesan berikut:
Storage size for float : 4 byte
Minimum float positive value : 1.175494E-38
Maximum float positive value : 3.402823E+38
Precision value: 6
18 | K o m p u t e r D a n P e m r o g r a m a n
Secara keseluruhan, jangkauan dan lebar bit dari tipe data diperlihatkan pada tabel berikut:
Tabe 2.5 Tipe data dalam bahasa C secara keseluruhan
Tipe
Lebar Bit
signed int
32
unsigned int
short int
signed short int
16
Jangkauan Nilai
Awal
Akhir
-2147483648
2147483647
4294967295
-32768
32767
65535
-2147483648
2147483647
4294967295
-1.175494E-38
3.402823E+38
-2.225074E-308
1.797693E+308
-3.4E-4932
1.1E+4932
-128
127
255
32
Float
Double
long double
signed char
unsigned char
64
8
bool
Wchar_t
16
1 wide character
19 | K o m p u t e r D a n P e m r o g r a m a n
2. Huruf a sampai z
3. Underscore ( _ )
4. Bilangan antara 0 sampai 9 namun harus gabungan huruf
5. Tidak memiliki spasi
Ketentuan identifier:
1. Tidak menggunakan tanda baca selain yang ditentukan.
2. Tidak menggunakan spasi dan panjang maksimum 32 karakter
3. Identifier harus tidak sama dengan keyword dalam pemrograman C
Deklarasi variabel berarti memberitahu compiler dimana dan berapa banyak
penyimpanan yang akan digunakan oleh variabel. Deklarasi untuk menyatakan variabel baru
adalah menulis specifier dari tipe data yang diinginkan (seperti int, bool, float ...) kemudian
diikuti oleh identifier variabel yang valid.
type identifier;
Di sini, type harus tipe data C yang valid termasuk char, w_char, int, float, double, bool
atau object lain yang ditetapkan pengguna, dll, dan identifier dapat terdiri dari satu atau lebih
nama identifier yang dipisahkan dengan koma. Beberapa deklarasi valid dari variabel adalah
sebagai berikut:
int c;
//variabel dengan tipe
int i;
//variabel dengan tipe
int j;
//variabel dengan tipe
float my_variable;//variabel dengan tipe
data
data
data
data
my_variable
Pada contoh di atas, merupakan deklarasi variabel yang valid karena menggunakan tipe data
yang valid dalam C dan penggunaan identifier tidak menyalahi aturan, yaitu menggunakan
keyword dalam C sebagai identifier.
Jika akan menyatakan lebih dari satu variabel bertipe sama, dapat menyatakan
semua variabel dalam sebuah pernyataan tunggal dengan memisahkan identifier dengan
koma.
int c, i, j;
//variabel c, i dan j bertipe data integer
float my_variable;//variabel dengan tipe data float dan menggunakan
nama my_variable
Dengan penggunaan modifier
pada deklarasi variabel, akan mengubah cakupan data
20 | K o m p u t e r D a n P e m r o g r a m a n
2. Metode inisialisasi konstruktor; dilakukan dengan melampirkan nilai awal antara tanda
kurung ( )
Type identifier (initial_value);
Contoh:
int nilai(10);
Berikut ini adalah contoh inisialisasi variabel numerik pada source code:
Variabel karakter adalah variabel dengan tipe data char, dan hanya dapat
menyimpan sebuah nilai karakter. Inisialisasi nilai karakter dilakukan dengan
menambahkan tanda sama dengan = lalu diikuti dengan tanda petik tunggal kemudian
nilai karakter dan diakhiri dengan tanda petik tunggal.
char identifier = karakter;
Contoh:
char huruf= a;
Variabel string merupakan array dari variabel karakter, atau dengan kata lain
merupakan array dari variabel dengan tipe data char. Inisialisasi dilakukan dengan
menambahkan tanda sama dengan = kemudian diikuti dengan tanda petik ganda
kemudian nilai string dan diakhiri dengan tanda petik ganda.
21 | K o m p u t e r D a n P e m r o g r a m a n
Gambar 2.1
2. Konstanta
Konstanta adalah suatu nilai yang sifatnya tetap, sekali terdefinisikan di dalam
program maka nilai konstanta tidak dapat diubah bahkan oleh program. Konstanta dapat
dibagi dalam numerik Integer, numerik Floating-Point, Karakter, String dan Nilai Boolean.
Pada konstanta karakter, terdapat konstanta karakter escape. Karakter escape
merupakan konstanta khusus dari C yang digunakan untuk menampilkan statment tertentu.
Karakter escape
Karakter
Arti
\a
\b
\f
\n
\r
\t
Tabulasi horisontal
\v
Tabulasi vertikal
\0
\\
Deklarasi Konstanta
Deklarasi konstanta dapat dilakukan dengan 2 cara, yaitu dengan :
1. Menggunakan preprocesor #define
2. Menggunakan keyword const
22 | K o m p u t e r D a n P e m r o g r a m a n
Preprocessor #define
Anda dapat menentukan sebuah nama untuk konstanta yang anda gunakan sangat
sering tanpa harus menggunakan sebuah variabel yang memerlukan memori, hanya dengan
menggunakan preprocessor direktif #define.
#define identifier value
Contoh:
#define phi
3.141592
#define HIGH
Contoh di atas adalah mendefinisikan dua konstanta baru: phi dan HIGH . Setelah konstanta
tersebut ditetapkan, Anda dapat menggunakannya dalam source-code, misalnya:
#inlude<stdio.h>
#define
phi
3.141592
void main()
{
float r, luas ;
puts ("Menghitung Nilai Luas Lingkaran");
printf ("Masukkan nilai jari-jari:");
scanf ("%f",&r);
luas = ( r * r ) * phi ;
// phi adalah konstanta
printf ("\nLuas Lingkaran = : %0.4f", luas);
}
Preprocessor #define pada kenyataannya hanyalah menggantikan sebuah nilai dengan sebuah
simbol ( identifier ). Pada contoh di atas, nilai 3.141592 dinyatakan sebagai phi yang
berarti bahwa phi adalah 3.141592. #define adalah direktif untuk preprocessor; oleh
karena itu #define mengasumsikan seluruh baris sebagai direktif dan tidak memerlukan titik
koma (;) di ujungnya. Jika Anda menambahkan karakter titik koma (;) di akhir, itu juga akan
ditambahkan dalam semua kejadian dalam tubuh program yang telah digantikan oleh
preprocessor.
Keyword const
Dengan awalan const anda dapat mendeklarasikan konstanta dengan jenis tertentu
dengan cara yang sama seperti yang anda lakukan dalam mendeklarasikan sebuah variabel :
23 | K o m p u t e r D a n P e m r o g r a m a n
Pada contoh di atas, phi diperlakukan sama seperti sebuah variabel namun dengan kondisi
bahwa nilai dari phi tidak dapat diubah oleh program ketika program berjalan.
C. Operator
Operator merupakan suatu tanda atau simbol yang dilibatkan dalam program untuk
melakukan suatu operasi atau manipulasi aritmatika dan logika. Operasi atau manipulasi
mencakup ungkapan yang dibuat dari operand dan operator.
1. Operator Aritmatika
Merupakan operator yang digunakan untuk operasi aritmatika.
Tabel 2.7
Operator
+
*
/
%
Operator Aritmatika
Deskripsi
Penjumlahan
Pengurangan
Perkalian
Pembagian
Modulus (sisa pembagian)
Contoh
a=b+c;
a=b-c;
a=b*c;
a=b/c;
a=b%c;
Operator
*
/
%
+
-
Prioritas
Tertinggi
Terendah
Jika operator
memiliki prioritas yang sama, operator yang terletak disebelah kiri dalam suatu
#inlude<stdio.h>
voidyang
main()
ungkapan
akan diutamakan untuk dikerjakan terlebih dahulu
{
float a1,a2,a3;
float b, c, d;
Pengubah Prioritas:
printf(Masukkan Nilai operand b \n);
Tanda kurungscanf(%f,&b);
biasa digunakan untuk mengubah prioritas atau urutan pengerjaan dari operator.
printf(Masukkan Nilai operand c \n);
scanf(%f,&c);
printf(Masukkan Nilai operand d \n);
scanf(%f,&d);
// Hitung nilai a1, a2, dan a3
a1 = b + c * d;
a2 = b * c / d;
a3 = b * ( c + d );
24 | K o m p u t e r D a n P e m r o g r a m a n
printf( Hasil operasi aritmatika adalah \n);
printf(a1 = %2.2f \na2 = %2.2f \na3 = %2.2f,a1,a2,a3);
}
a1 = b + c * d;
a2 = b * c / d;
Menghasilkan nilai a1 = 1.50; operator * dan / mempunyai prioritas yang sama, namun
karena yang terletak disebelah kiri adalah *, maka 2 * 3 akan dikerjakan terlebih dahulu.
(3)
Menghasilkan nilai a1 = 14; walaupun prioritas operator * lebih tinggi dari operator + ,
a3 = b * ( c + d );
namun dengan adanya penggunaan tanda kurung, maka prioritas operator yang terletak
diantara tanda kurung memiliki prioritas yang lebih tinggi. Sehingga 3 + 4 dikerjakan terlebih
dahulu kemudian hasilnya dikalikan dengan 2.
2. Operator Penaikan dan Penurunan
Operator penaikan (increment) dan operator penurunan (decrement), kedua
operator ini digunakan pada operand bertipe bilangan bulat.
Tabel 2.9
Operator
Deskripsi
++
increment
--
decrement
25 | K o m p u t e r D a n P e m r o g r a m a n
Operator penaikan digunakan untuk menaikkan nilai variabel sebesar satu. Penempatan
operator terhadap variabel dapat dilakukan di awal atau diakhir.
Penaikan di awal
Bentuk deklarasi :
++
<variable>
<variable>
++
Operator penurunan digunakan untuk menurunkan nilai variabel sebesar satu. Penempatan
operator terhadap variabel dapat dilakukan di awal atau diakhir.
Penurunan di awal
Bentuk deklarasi :
-<variable>
<variable>
--
Operator relational
Operat
or
Deskripsi
==
Sama dengan
!=
>
<
Lebih dari
Kurang dari
Lebih dari atau sama
dengan
Kurang dari atau sama
dengan
>=
<=
Contoh
(A ==
B)
(A! =
B)
(A> B)
(A <B)
(A> =
B)
(A <=
B)
Operator Bitwise
Operator
Deskripsi
Contoh
<<
>>
&
|
^
~
A << n
A >> n
A&B
A|B
A=B^C
A = ~n
Seluruh operator bitwise hanya bisa dikenakan pada operand bertipe data int atau char
(unsigned; tak bertanda) dan bool
Fungsi Logika Dasar
Dalam penggunaan operator bitwise, perlu diperhatikan tentang tabel kebenaran.
Tabel 2.12
~A
A&B
A| B
A^B
~ (A ^ B)
0
0
1
1
0
1
0
1
1
1
0
0
0
0
0
0
0
1
1
1
0
1
1
0
1
0
0
1
27 | K o m p u t e r D a n P e m r o g r a m a n
5. Operator Logika
Jika operator hubungan membandingkan hubungan antara dua buah operand, maka
operator logika digunakan untuk membandingkan logika hasil dari operator-operator
hubungan.
Tabel 2.13
Operator
&&
||
!
Operator Logika
Deskripsi
AND
OR
NOT
28 | K o m p u t e r D a n P e m r o g r a m a n
Contoh
A&&B
A||B
!A
6. Operator Assignment
Operator yang berfungsi untuk mempersingkat penulisan fungsi aritmatika.
Misalkan:
Operator Assignment
Operator
Deskripsi
=
+=
-=
*=
/=
%=
<< =
>> =
&=
^=
|=
7. Misc Operator
Ada beberapa operator penting lainnya seperti sizeof dan operator kondisi; kedua
operator ini tidak memiliki golongan sehingga dimasukkan dalam kategori miscellaneous
operator. Beberapa operator tersebut diantaranya adalah:
Tabel 2.15
Operator
sizeof()
&
Operator Misc
Deskripsi
Contoh
menghasilkan nilai 1
29 | K o m p u t e r D a n P e m r o g r a m a n
&a
*
?:
,
(pengalamatan memori )
Menghasilkan nilai dari pointer
Ekspresi kondisional
Comma-operator
*A
Min = m < n ? m : n
A=(B=2,B+4)
Operator sizeof( ) akan menghasilkan besar memori yang digunakan oleh suatu identifier.
Operator ini menerima satu parameter, yang dapat berupa tipe atau variabel itu sendiri dan
mengembalikan ukuran dalam bytes.
Contoh
a = sizeof(char);
A akan bernilai 1 karena tipe data char memiliki ukuran 1 byte. Nilai yang dikembalikan oleh
sizeof adalah konstan, sehingga selalu ditentukan sebelum eksekusi program.
Operator kondisional digunakan untuk mengevaluasi sebuah ekspresi dan akan menghasilkan
sebuah nilai dari dua kemungkinan bergantung pada hasil evaluasi ( true or false )
Notasi dalam C:
Kondisi ? nilai1 : nilai2
Keterangan
- nilai2
Jika kondisi bernilai benar maka akan menghasilkan nilai1, namun jika salah akan
menghasilkan nilai2
Hasil:
Bilangan terkecil adalah 10
30 | K o m p u t e r D a n P e m r o g r a m a n
Pertama akan menetapkan nilai 2 untuk b, nilai 3 untuk c, nilai 4 untuk d dan kemudian
menetapkan ekspresi b + c * d ke variabel A. Jadi, pada akhirnya, variabel a akan berisi nilai
14 sedangkan variabel b akan berisi nilai 2, c akan berisi nilai 3, dan d akan berisi nilai 4.
2.3 Alat dan bahan percobaan
1 Set Komputer ( PC )
Sistem Operasi WINDOWS
Program compiler Dev-C++
31 | K o m p u t e r D a n P e m r o g r a m a n
2.5.1
Tipe Data
Operand I
Operand II
Operator
Hasil
Short int
32767
Penjumlahan
Short int
-32768
Pengurangan
32767
unsigned int
Pengurangan
65535
unsigned int
65535
Penjumlahan
2.5.2
Start
Short int
positif, negatif
;
masukan jangkauan
batas atas dari tipe
data yang
digunakan,positif
masukan jangkauan
batas bawah dari
tipe data yang
digunakan, negatif
32 | K o m p u t e r D a n P e m r o g r a m a n
Unsigned
A
positif=positif+1;
negatif=negatif-1;
hasil penjumlahan
=positif
hasil pengurangan =
negatif
Finish
Start
Unsigned Short
int positif, negatif
;
masukan jangkauan
batas atas dari tipe
data yang
digunakan,positif
masukan jangkauan
batas bawah dari
tipe data yang
digunakan, negatif
2.5.3
positif=positif+1;
negatif=negatif-1;
hasil penjumlahan
=positif
hasil pengurangan =
negatif
Finish
B Pada tabel hasil percobaan kita mendapati hasil untuk tipr data short int
penjumlahan adalah 0 karena apabila
33 | K o m p u t e r D a n P e m r o g r a m a n
0,karena program membaca bahwa hasil tersebut sebagai nilai default yaitu 0,
berbeda dengan pengurangan, jika -32768-1 hasilnya 32767.
Percobaan kedua dengan konsep yang sama tapi menggunakan tipe data
unsigned short integer, kita menguji 65535+1 maka hasilnya adalah 1 kenapa
tidak 0, karena pada penjumlahan positif tipe data ini 0 dibaca sebagai bilangan
tak bertanda, jadi ketika ditambah 1 hasilnya 0 maka akan ditambah 1 lagi
sehingga hasilnya 1,berbeda dengan pengurangan, apabila 0 - 1 maka hasilnya
65535.Ini bisa terjadi karena pada tipe data sudah ditentukan batas rentang range
dan syarat tertentu. Seperti pada tabel dasar teori renge tipe data.
2.5.4 Kesimpulan Konsep Tipe Data 1
Setiap tipe data memiliki range nilai yang berbeda-beda, dan range
tersebut tidak dapat dilewati ketika hasil sebuah eksekusi program melebih batas
maksimum akan kembali ke nilai minimum begitu juga sebaliknya.
34 | K o m p u t e r D a n P e m r o g r a m a n
2.6.1
2.6.2
Tipe Data
Operand
Hasil
Float
0.1234567898765432131234567
0.12345679104328156000
Double
0.1234567898765432131234567
0.12345678987654321000
2.6.3
Output
35 | K o m p u t e r D a n P e m r o g r a m a n
Start
#include<stdio.h>
#define bilangan_real
0.1234567898765432131234567898
76543210
float precision=bilangan_real;
double
more_precision=bilangan_real;
Nilai dengan float
%1.20f,precision;
Finish
2.6.4
Tipe data float memiliki akurasi atau presisi 7 digit desimal, angka desimal ke
7 dianggap tidak presisis walaupun nilainya masih sama karena setelah angka 7
hasilnya acak.
Tipe data double memiliki akurasi atau presisi 17 digit desimalangka desimal
ke 17 dianggap tidak presisi walaupun nilainya masih sama karena setelah
angka 17 hasilnya acak.
2.6.5
36 | K o m p u t e r D a n P e m r o g r a m a n