III. Dasar Pemrograman

dokumen-dokumen yang mirip
3. Elemen Dasar C++ S. Indriani S. L., M.T L.,

ELEMEN DASAR C++ C++ mempunyai cara untuk menyatakan karakter-karakter yang tidak mempunyai kode tombol (seperti karakter tombol) misalnya \n.

Achmad Solichin.

Algoritma & Pemrograman

P 4 Bab 3 : Dasar Pemrograman C

PRAKTIKUM 2. perubah (variabel), konstanta, fungsi, atau obyek lain yang didefinisikan oleh

BAHASA PEMROGRAMAN C

DASAR PEMROGRAMAN. PENGENAL dan VARIABEL

BAB II DASAR-DASAR PEMROGRAMAN C

PRAKTIKUM 3 DASAR PEMROGRAMAN C

PERTEMUAN II Tipe Data, Variabel, Konstanta, Operator

PRAKTIKUM 3 DASAR PEMROGRAMAN C

Data bisa dinyatakan dalam bentuk konstanta atau variabel.

Elemen Dasar Dalam Bahasa Java

Tipe Data dan Operator

Bab 2. Dasar-Dasar Pemrograman C

Dasar-dasar Pemrograman C DASAR PEMROGRAMAN & ALGORITMA

BAB 3 TYPE DATA, VARIABLE DAN OPERATOR

MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PERTEMUAN 1

Struktur Program Bahasa C

Bahasa C-M6 By Jamilah, Skom 1

Tipe Data Dasar. Berdasarkan jenisnya, data dapat dibagi menjadi lima kelompok dinamakan tipe data dasar, yaitu:

OPERATOR BAHASA C. Obyektif : 4. Mengetahui macam-macam operator dalam Bahasa C. 5. Mengetahui dan dapat menggunakan format pada tiap tipe data..

MATA KULIAH : LOGIKA DAN ALGORITMA KONSEP DASAR ALGORITMA

Tipe Data Dasar. Data bisa dinyatakan dalam bentuk konstanta atau variabel.

Sejarah C. Dirancang oleh Denis M. Ritchie tahun 1972 di Bell Labs.

Tipe Data dan Variabel

DASAR PEMOGRAMAN JAVA

KONSEP DASAR BAHASA C

Pemrograman I Bab III Tipe Data, Variabel, dan Operasi Perhitungan. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

Tipe Data, Variabel, Input/Output

1. Joko Priyanto ( ) 2. Astriyer J. Nahumury ( ) 3. Rico N. Tubalawony ( ) 4. Heberson Pakpahan ( ) 5.

Struktur Dasar Bahasa C Tipe Data Dalam bahasa C terdapat lima tipe data dasar, yaitu :

2 TIPE DATA DAN VARIABEL

Chapter 1 KONSEP DASAR C

DASAR PEMROGRAMAN C BAB III 3.1 PENGENAL / IDENTIFIER

Praktikum 3 DASAR-DASAR PEMROGRAMAN C

BAB II STRUKTUR BAHASA C

BAB II VARIABEL DAN TIPE DATA

Badiyanto, S.Kom., M.Kom. PBO java

DATA PADA BAHASA C TIPE DATA

Pre Lab P 03 Tipe Data, Operator dan Expresi

VARIABEL, TIPE DATA DAN EKSPRESI Bab 2

DASAR PEMROGRAMAN. PENGANTAR BAHASA C ( Sejarah, Struktur Pemrograman, Tipe Data, Operator ) Djoko Soerjanto, M.Kom

PENGENALAN BAHASA C. A. Struktur Kode Program dalam Bahasa C Secara garis besar, suatu kode program dalam bahasa C memiliki struktur umum seperti ini:

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

Pemrograman Berorientasi Objek. Beni Suranto, S.T.

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

Variable. Variable (cont) Variable (cont) Tipe Data

MODUL PRAKTIKUM BAHASA PEMROGRAMAN DASAR (PG168)

Arsitektur dan Organisasi Komputer

BAB 4 PENGENALAN BAHASA C

LANGKAH-LANGKAH MENULISKAN PROGRAM DALAM TURBO C++

Tipe Data dan Operator. Ekohariadi FT Unesa

Tipe Data dan Variabel. Dosen Pengampu Muhammad Zidny Naf an, M.Kom

Dasar Pemrograman Java

.::BAB II.::MENGENAL PASCAL

Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator PBO. Ramos Somya

Dasar Pemrograman Komputer [TKL-4002] 2010

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

SUMBER BELAJAR PENUNJANG PLPG

Reserved Words/Keywords Identifier Tipe Data Yoannita

OPERATOR DAN UNGKAPAN

Keyword,Tipe data & Variabel. Keywords pada c Tipedata Variabel Konstanta

Tipe bentukan dan pointer selanjutnya akan kita pelajari pada modul pemrograman 1 (akhir semester).

REPRESENTASI DATA. Arsitektur Komputer

Algoritma & Pemrograman #3

Identifier Tipe Data Yoannita, S.Kom.

elemen Dasar Bahasa Pemrograman C

TIPE DATA, VARIABLE, dan OPERATOR DELPHI

Desain dan Analisis Algoritma. Pengenalan Bahasa C. I Ketut Resika Arthana, S.T., M.Kom.

MATERI/BAHAN PRAKTIKUM PENDAHULUAN DAN PENGENALAN (IDENTIFIER)

KONSEP DASAR PEMROGRAMAN BERORIENTASI OBYEK

PENGERTIAN VARIABEL, KONSTANTA DAN TIPE DATA

BAHASA C. VERSI C: Kernighan and Richie C (K&R C) ANSI C C++ C# Java

PEMAHAMAN DASAR DASAR JAVA

UNIVERSITAS SAM RATULANGI MANADO FAKULTAS TEKNIK, JURUSAN TEKNIK ELEKTRO Program Studi S-1 Teknik Informatika. Data & Ekspresi

BAHASA C CodeVisionAVR (CVAVR)

Struktur Program C++ Preprocessor directive : perintah dalam bahasa c++ yang akan membuat dan mengkompilasi file perantara dengan program utama

Turbo C adalah tool yang dipakai untuk membuat code program dalam bahasa C ataupun C++. Berikut adalah jendela utama Turbo C

Dasar Pemrograman Mikrokontroler dengan Bahasa C

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA

Tipe data dasar merupakan tipe data yang disediakan oleh kompailer, sehingga dapat langsung dipakai Dalam algoritma dan pemrograman yang termasuk dala

Cara pertama adalah pada saat deklarasi variabel ditambahkan ke- yword const sebelum nama tipe data seperti

VARIABEL & TIPE DATA PEMROGRAMAN C++

Modul 2 Dasar Pemrograman Java. Oleh: Mike Yuliana PENS-ITS

Pemrograman Berorientasi Obyek. Dasar Pemrograman Java

1.4 Struktur Program Pada C++ Program C maupun C++ secara umum tersusun dari beberapa bagian utama, yaitu :

Dasar Komputer dan Pemrograman. Konsep Tipe Data dan Operator Nama dan Nilai Data

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom

Pengenalan Bahasa C++ Oleh : Agus Priyanto, M.Kom

OPERATOR-OPERATOR DALAM JAVA

Algoritma Pemrograman. Fery Updi,M.Kom

Brigida Arie Minartiningtyas, M.Kom

Tabel Informasi. Hal di atas dapat dilakukan dengan menambah dan mengambil atribut identifier yang digunakan pada program, melalui tabel informasi.

Chapter 2 Tipe Data, Identifier, Operator dan Control Statement

Pertemuan 04. Pemrograman Dasar 2012

I. Tipe Data - Variabel

Referensi : KONSEP DASAR BAHASA C

TIPE, NAMA, DAN NILAI

Transkripsi:

Dasar Pemrograman 27 III. Dasar Pemrograman III.1 Pengenal Pengenal (identifier) merupakan nama yang biasa digunakan untuk suatu peubah (variable), konstanta, fungsi, atau obyek lain yang didefinisikan oleh pemrogram. Aturan yang berlaku bagi suatu pengenal adalah: o Pengenal harus diawali dengan huruf (A.. Z, a.. z) atau karakter garis bawah ( _ ). o Selanjutnya dapat berupa huruf, angka (0.. 9), karakter garis bawah, atau tanda dolar ($). o Panjang pengenal boleh terdiri lebih dari 32 karakter, akan tetapi hanya 32 karakter pertama yang dianggap berarti. o Contoh: Jumlah jumlah nilai2 total_per_bulan harga_jual$ - Karakter garis-bawah biasa digunakan untuk memudahkan pembacaan terhadap suatu pengenal, terutama yang terdiri lebih dari satu kata, karena nama suatu pengenal tidak boleh dipisahkan spasi.. - Untuk menghindari kesalahan, pengenal tidak boleh menggunakan nama yang tergolong sebagai kata kunci (seperti main), dan sebaiknya tidak menggunakan pengenal yang digunakan untuk nama fungsi, konstanta, variabel atau obyek lain yang digunakan oleh pustaka Turbo C, - Tabel 3.1 berisi daftar kata-kunci yang terdapat pada Bahasa Turbo C++.

Dasar Pemrograman 28 III.2 Tipe Data Dasar Tabel 3.1 Daftar Kata-kunci pada Turbo C++. asm auto break case catch cdecl char class const continue _cs default delete do double _ds else enum _es _export extern far float for friend goto huge if inline int interrupt _loadds long near new operator pascal private protected public register _regparam return _saveregs _seg short signed sizeof _ss static struct switch template this typedef union unsigned virtual void volatile while - Pengertian data menyitratkan suatu nilai yang dapat dinyatakan dalam bentuk konstanta atau variabel. - Konstanta menyatakan nilai yang tetap, sedangkan variabel menyatakan nilai yang dapat diubah-ubah selama eksekusi berlangsung. - Data berdasarkan jenisnya dapat dibagi menjadi lima kelompok, yang dinamakan sebagai tipe data dasar, yaitu: Bilangan bulat (integer) Bilangan pecahan (float/real) presisi-tunggal Bilangan pecahan (float/real) presisi-ganda Karakter, dan Tak bertipe. Tabel 3.2 Daftar tipe data dasar. Tipe Jml bit Rentang data Keterangan Char Int Float Double void 8 16 32 64 0-128.. 127-32768.. 32767 3.4e-38.. 3.4e+38 1.7e-308.. 1.7e+3.8 - Karakter Bilangan bulat Bilangan pecahan presisi-tunggal Bilangan pecahan presisi-ganda Tak bertipe

Dasar Pemrograman 29 III.3 Peubah (Variable) Peubah atau variabel dalam program digunakan untuk menyimpan suatu nilai, dan nilai yang ada padanya dapat diubah-ubah selama eksekusi program berlangsung. III.3.1 Pendeklarasian Peubah - Peubah yang akan digunakan dalam program harus dideklarasikan terlebih dahulu. - Pengertian deklarasi disini berarti memesan memoi dan menentukan jenis data yang dapat disimpan di dalamnya. - Bentuk umum pendeklarasian suatu peubah adalah: tipe daftar-peubah; - Pada pendeklarasian peubah, daftar-peubah dapat berupa sebuah peubah atau beberapa peubah yang dipisahkan dengan tanda koma. - Contoh: int jumlah; float harga_per_satuan, total_harga; tanda koma sebagai pemisah - Pernyataan deklarasi yang pertama menyatakan bahwa jumlah adalah peubah bertipe int (integer = digunakan untuk menyimpan bilangan bulat), sedangkan pernyataan kedua menyatakan bahwa harga_per_satuan dan total_harga bertipe float (untuk menyimpan bilangan pecahan). - Pendeklarasian peubah dalam C bersifat fleksibel, misalnya deklarasi peubah baris ke dua di atas dapat dideklarasikan: float harga_per_satuan; float total_harga; III.3.2 Pemberian Nilai ke Peubah Untuk memberikan nilai ke suatu peubah yang telah dideklarasikan, bentuk pernyataan yang digunakan adalah sebagai berikut: peubah = nilai;

Dasar Pemrograman 30 Contoh berikut memberikan nilai 50 ke peubah jumlah dan 15,7 ke peubah harga_per_satuan. jumlah = 50; harga_per_satuan = 15.7; total_harga = jumlah * harga_per_satuan; Contoh program 3-1 berikut menggambarkan penggunaan peubah. /* -------------------------------------- */ /* File program : Peubah.c */ /* Contoh pendeklarasian peubah */ /* -------------------------------------- */ main( ) int jumlah; float harga_per_satuan, harga_total; jumlah = 50; harga_per_satuan = 15.7; harga_total = jumlah * harga_per_satuan; printf( harga total = \%n, harga_total); contoh hasil eksekusi: C> Peubah Harga total = 785.000000 Program 3-1 - Dalam penugasan suatu peubah, kadang-kadang diinginkan untuk menaikkan nilainya dengan satu (terutama dalam iterasi), yang dapat dinyatakan sebagai berikut: x = x + 1;

Dasar Pemrograman 31 III.3.3 Inisialisasi Peubah - Dalam penulisan program dimungkinkan untuk melakukan inisialisasi atau memberi nilai awal pada suatu peubah segera setelah dideklarasikan. - Pernyataan berikut contoh pendeklarasian dan pemberian nilai awal suatu peubah. int jumlah; jumlah = 29; - Pernyataan di atas dapat disingkat melalui pendeklarasian yang disertai dengan penugasan nilai, sebagai berikut: int jumlah = 29; III.3.4 Peubah bertipe Float dan Double - Perbedaan antara tipe float dan double dapat dilihat pada Tabel 3.2 di atas. - Tipe double mempunyai kawasan nilai yang lebih besar dibanding dengan tipe float. - Perbedaan lain adalah pada tingkat ketelitiannya, tipe float hanya mempunyai tingkat ketelitian kira-kira sampai dengan 7 digit, sedangkan tipe double mempunyai ketelitian sekitar 16 digit. - Perbedaan ketelitian dapat dilihat dengan mengeksekusi program 3-2 berikut. /* --------------------------------------------- */ /* File program : Presisi.c */ /* Contoh untuk menunjukkan ketelitian */ /* antara peubah float dan double */ /* --------------------------------------------- */ main( ) int float x; double y;

Dasar Pemrograman 32 x = 56.0123456789123456789; y = 56.0123456789123456789; printf( x = %20.16f\n, x); printf( y = %20.16lf\n, y); contoh hasil eksekusi: C> Presisi x = 56.0123443603515625 y = 56.0123456789123466 Program 3-2 - Meskipun nilai yang diberikan pada peubah x (bertipe float ) dan peubah y (bertipe double) sama, ternyata nilai pada kedua peubah tersebut berbeda: x = 56.0123443603515625 hanya 7 digit yang benar y = 56.0123456789123466 16 digit yang benar - Dari contoh di atas terlihat bahwa peubah y memiliki ketelitian yang lebih tinggi dibanding peubah x. - Dalam C selain tipe double masih disediakan tipe long double yang memiliki ketelitian yang lebih tinggi dibanding double seperti yang diperlihatkan pada Tabel 3.3.

Dasar Pemrograman 33 Type unsigned char char enum unsigned int short int int unsigned long long float double long double near pointer far pointer Tabel 3.3 Tipe Data, Ukuran, dan Rentangnya. Size Range Sample applications (bits) 8 8 16 16 16 16 32 32 32 64 80 16 32 0 to 255-128 to 127-32,768 to 32,767 0 to 65,535-32,768 to 32,767-32,768 to 32,767 0 to 4,294,967,295-2,147,483,648 to 2,147,483,647 3.4 ^ 10-38 to 3.4 ^ 1038 1.7 ^ 10-308 to 1.7 ^ 10308 3.4 ^ 10-4932 to 1.1 ^ 104932 Not applicable Not applicable Small numbers and full PC character set Very small numbers and ASCII characters Ordered sets of values Larger numbers and loops Counting, small numbers, loop control Counting, small numbers, loop control Astronomical distances Large numbers, populations Scientific (7-digit precision) Scientific (15-digit precision) Financial (18-digit precision) Manipulating memory addresses Manipulating addresses outside current segment int s magnitude (2's complement) 16 0 long int s magnitude (2's complement) 31 0 float s Biased exponent significant 31 22 0 double s Biased exponent significant 63 51 0 long double s Biased exponent 1 significant 79 64 63 0 s = sign bit (0 = positive, 1 = negative) 1 = integer bit of significand: Stored in long double implicit (always 1) in float, double Exponent bias (normalized values): float : 127 (7FH) double: 1023(3FFH) long double: 16,383 (3FFFH) Gambar 3.1 Penyajian internal dari tipe data.

Dasar Pemrograman 34 III.4 Pemodifikasi Tipe - Terdapat beberapa pemodifikasi tipe (type modifier) yang dapat dikenakan di awal tipe data dasar (kecuali void). Pemodifikasi tipe tersebut adalah : signed unsigned long short - Misalnya, pemodifikasi tipe unsigned jika diterapkan pada tipe int, akan menjadi unsigned int. - Tabel 3.4 memperlihatkan kemungkinan penerapan pemodifikasi tipe pada tipe data dasar. Tabel 3.4 Kemungkinan pemakaian pemodifikasi tipe. Tipe Jumlah Bit Rentang Nilai 8 0.. 255 8-128.. 127 16-32768.. 32767 16-32768.. 32767 16 0.. 65535 16-32768.. 32767 32-2147483648.. 2147483647 32-2147483648.. 2147483647 32 0.. 4294967295 80 3.4E-4932.. 1.1E+4932 unsigned char signed char unsigned int signed int short int unsigned short int signed short int long int signed long int unsigned long int long double - Dari tabel diatas, dapat dilihat bahwa tipe char sama dengan unsigned char, sedangkan signed int, short int, signed short int, dan int sebenarnya adalah sama. - Perbedaan signed dan unsigned terletak pada perlakuan bit tertinggi. - Jika dinyatakan dengan signed, maka bit tertinggi digunakan sebagai bit tanda untuk menyatakan apakah bilangannya positif atau negatif. - Hal yang perlu diingat pada proses pemodifikasian ini adalah tipe data hasil minimum harus mempunyai panjang bit yang sama. - Dalam penulisan program beberapa tipe data boleh tidak ditulis secara lengkap, misalnya: Tipe short int cukup ditulis menjadi short. Tipe long int boleh ditulis menjadi long. Tipe signed int bisa ditulis menjadi signed. Tipe unsigned int boleh ditulis dengan unsigned.

Dasar Pemrograman 35 /* ---------------------------------------------- */ /* File program : TANDA.C */ /* Contoh untuk menunjukkan */ /* perbedaan antara signed dan unsigned */ /* ----------------------------------------------- */ main( ) signed i = -127; /* i integer bertanda */ unsigned j; /* j integer tak bertanda */ j = i; printf( i = %d, j = %u\n, i, j); contoh hasil eksekusi: C> TANDA i = -127, j = 65409 Program 3-3 III.5 Konstanta - Konstanta menyatakan nilai numeris atau karakter yang tetap. - Turbo C++ mendukung empat kelas konstanta, yaitu floating point, integer, enumeration, dan character. - Penulisan konstanta mempunyai aturan tersendiri sesuai dengan tipe masing-masing. - Konstanta integer ditulis dengan tanpa mengandung pemisah ribuan dan tidak mengandung bagian pecahan. Contoh 20 dan 2345. - Konstanta karakter ditulis dengan diawali dan diakhiri tanda petik tunggl. Contoh C dan &. - Konstanta pecahan (float dan double) dapat mengandung nilai pecahan (dengan tanda berupa titik) dan dapat ditulis dalam bentuk pecahan desimal biasa maupun bentuk eksponensial (menggunakan tanda e). conth 35.6 dan 3.2e+5 (maksudnya 3,2 x 10 5 ). - Konstanta pecahan selalu dinyatakan dalam double, kecuali jika diakhiri dengan F atau f (yang berarti menyatakan konstanta float). - Untuk konstanta long int, penulisannya diakhiri dengan tanda L atau l. Contoh 346600L atau 325100l.

Dasar Pemrograman 36 - Konstanta tak bertanda ditulis dengan diakhiri tanda U atau u. Jika nilainya melebihi 65535, secara otomatis akan diperlakukan sebagai unsigned long int. Contoh 431000u. III.5.1 Konstanta Oktal dan Heksadesimal - Dalam sistem oktal, digit yang digunakan berkisar antara 0 sampai dengan 7, dan penulisannya diawali dengan 0 (angka 0) - Pada sistem heksadesimal digit yang dapat dipakai berupa salah satu dari 16 simbol berikut: 0 1 2 3 4 5 6 7 8 9 A B C D E F. - Penulisan konstanta heksadesimal diawali dengan 0x (nol dan x). /* -----------------------------------------------------*/ /* Program : Konstanta.c */ /* Penulisan konstanta oktal dan heksadesimal */ /* ------------------------------------------------------*/ main() int a, b; a = 010; /* 10 oktal */ b = 0x10; /* 10 heksadesimal */ printf("a= %d, b = %d\n",a,b); Hasil eksekusi: C>Konstanta a = 8, b = 16 Program 3-4. III.5.2 Konstanta Karakter Rangkaian Escape - Konstanta karakter selalu ditulis dengan diawali dang diakhiri dengan tanda petik tunggal. - Beberapa konstata karakter dapat ditulis dengan diawali tanda \ (penempatan tanda \ setelah tanda petik tunggal). - Karakter yng berawalan tanda \ disebut rangkaian escape (escape sequence). - Daftar karakter yang disebut sebagai rangkaian escape diperlihatkan pada tabel 3.5.

Dasar Pemrograman 37 Tabel 3.5 Karakter Rangkaian Escape. Rangkaian Nilai Karakter Maksud \0 \a \b \f \n \r \t \v \\ \ \ \? 0x00 0x07 0x08 0x0C 0x0A 0x0D 0x09 0x0B 0x5C 0x27 0x22 0x3F NULL BEL BS FF LF CR HT VT \? Karakter ber-ascii = 0 Bunyi speaker Backspace (mundur ke kiri) Formfeed (ganti halaman) Linefeed (ganti baris) Carriege return (ke awal baris) Tab horisontal Tab vertikal Karakter miring kiri Karakter petik-tunggal Karakter petik-ganda Karakter tanda tanya - Untuk menyatakan sembarang karakter ASCII, notasi yang dapat digunakan adalah: \DDD dengan DDD = 1 sampai 3 digit oktal \xhh dengan HH = 1 sampai 2 digit heksadesimal - Contoh program berikut memberikan gambaran pemakaian konstanta karakter untuk menampilkan karakter grafik yaitu tanda integral, yang tersusun atas dua buah karakter ASCII F4h dan F5h. /* ----------------------------*/ /* Program : Integral.c */ /* Menampilkan tanda integral */ /* ----------------------------*/ main() unsigned char kar1 = '\xf4'; unsigned char kar2 = '\xf5'; printf("%c\n%c",kar1,kar2); Program 3-5 III.5.2 Konstanta String - Konstanta string merupakan deretan karakter yang diawali dan diakhiri dengan tanda petik-ganda ( ). - Konstanta string yang berisi satu karakter berbeda dengan konstanta karakter, sebab konstanta karakter diawali dan diakhiri dengan tanda

Dasar Pemrograman 38 petik-tunggal, sedangkan string diawali dan diakhiri dengan tanda petik-ganda. Jadi c tidak sama dengan c. - Konstanta string dapat mengandung karakter yang menggunakan tanda \ (karakter rangkaian escape). III.6 Operator - Operator merupakan simbol atau kata yang dapat digunakan dalam program untuk melakukan suatu operasi atau manipulasi, seperti menjumlahkan dua buah nilai, memberikan nilai ke suatu peubah, membandingkan dua buah nilai, dan lain sebagainya. - Sebagian operator C tergolong sebagai operator binary, yaitu operator yang dikenakan terhadap dua buah nilai (operand). - Contoh : a + b - Simbol + merupakan operator untuk melakukan operasi penjumlahan dari kedua operand-nya (yaitu a dan b). - Karena operasi penjumlahan melibatkan dua operand, maka operator ini tergolong sebagai operator binary. III.6.1 Operator Aritmatika Operator aritmatika yang tergolong sebagai operator binary adalah: * Perkalian / Pembagian % Sisa pembagian + Penjumlahan - Pengurangan - Operator yang tergolong sebagai operator unary, adalah: + - ++ -- Tanda plus Tanda minus Prefix: preincrement; Postfix: postincrement Prefix: predecrement; Postfix: postdecrement

Dasar Pemrograman 39 /* ---------------------------------------*/ /* Program : Aritmatik.c */ /* Penggunaan operator aritmatika */ /* ----------------------------------------*/ main() float luas, pi, jari, keliling; pi = 3.1428; jari= 12.0; luas = pi*jari*jari; printf("jari-jari = %f, luas = %f \n",jari,luas); program 3-6 III.6.2 Prioritas Operator Aritmatika Operator aritmatika pada C mempunyai urutan prioritas atau hirarki tertentu, seperti yang diperlihatkan pada Tabel 3.6. Tabel 3.6 Hirarki operator aritmatika. Tertinggi ++ -- - (unary minus) * / % Terendah + - - Operator yang mempunyai prioritas tinggi akan diutamakan dalah hal pengerjaan dibandingkan dengan operator yng memiliki prioritas lebih rendah. - Jika operator mempunyai prioritas sama, maka operator yang terletak di sebelah kiri yang akan dikerjakan lebih dulu. Latihan Berapakah nilai x setelah pernyataan-pernyataan berikut ini dijalankan: a. x = (2+3) 10 * 2; b. x = (2 + 3) (10 * 2); c. x = 10 % 2 + 1;

Dasar Pemrograman 40 III.6.3 Operator Manipulasi Bit Untuk keperluan memanipulasi data dalam bentuk bit, bahasa C menyediakan beberapa operator seperti yang diperlihatkan pada Tabel 3.7 di bawah ini. Tabel 3.7 Operator Manipulasi Bit. Operator Operasi << Geser bit ke kiri >> Geser bit ke kanan & Dan (AND)! Atau (OR) ^ XOR ~ NOT (komplemen) - Seluruh operator manipulasi bit hanya dapat dikenakan pada operand yang bertipe integer atau karakter. - Tabel 3.8 berikut memberikan informasi tentang prioritas operator bit. Tabel 3.8 Prioritas operator manipulasi bit. Tertinggi Terendah - >> << & ^! /* ---------------------------------*/ /* Program : Geser.c */ /* Operator manipulasi bit */ /* ---------------------------------*/ main() unsigned x = 93; printf("nilai x semula = %d\n",x); x = x<<1; /* geser ke kiri 1 bit */ printf("nilai x setelah geser kiri = %d\n",x); x = x>>2; /* geser ke kanan 2 bit */ printf("nilai x setelah geser kanan = %d\n",x);

Dasar Pemrograman 41 Hasil eksekusi: C> Geser Nilai x semula = 93 Nilai x setelah geser kiri = 186 Nilai x setelah geser kanan = 46 Program 3-7 III.7 Ungkapan (Ekspresi) Ungkapan atau ekspresi dalam C dapat berupa: - pengenal - konstanta - peubah pseudo (seperti _AX, _AL yang menyatakan peubah register) - atau diantara kombinasi elemen di atas dengan operator. Contoh ungkapan : 3 + 2-1 - Pada ungkapan di atas, 3, 2, dan 1 merupakan operan dan simbol + dan adalah operator. - Nilai ungkapan sendiri adalah hasil penjumlahan 3 dan 2, dikurangi 1. III.8 Konversi Tipe dalam Ungkapan - Dalam suatu ungkapan, jika tipe dari konstanta dan peubah berbeda, dengan sendirinya akan dikonversi terlebih dahulu menjadi tipe yang sama. - Aturan yang berlaku dalam pengkonversian tipe aritmatika adalah: 1. Semua tipe char dan short int akan dikonversikan ke int. semua float akan dikonversikan ke double. 2. Untuk setiap pasangan operand: - Jika salah satu operand bertipe long doubel, maka operand pasangannya akan dikonversikan ke long doubel. - Jika salah satu operand bertipe doubel, maka operand pasangannya akan dikonversikan ke doubel. - Jika salah satu operand bertipe long, maka operand pasangannya akan dikonversikan ke long. - Jika salah satu operand bertipe unsigned, maka operand pasangannya akan dikonversikan ke unsigned. - Aturan di atas berlaku untuk operator aritmatika maupun manipulasi bit dan tidak berlaku untuk operator penugasan ( = ).

Dasar Pemrograman 42 - Pada operator penugasan, nilai ungkapan yang terletak di kanan = secara otomatis akan dikonversikan sesuai dengan tipe peubah yang terletak di kiri =. III.9 Penggunaan Type Cast - Type cast merupakan cara untuk mengkonversikan suatu tipe menjadi tipe yang lain - Misal jika x dideklarasikan bertipe int. Bila diinginkan agar ungkapan x/2 menghasilkan nilai pecahan, maka ungkapan x/2 perlu ditulis menjadi: (float) x/2 - Perbedaan penggunaan type cast dan yang tidak menggunakan type cast dapat dilihat dari contoh program berikut. /* ------------------------------------*/ /* Program : typecast.c */ /* melihat efek type cast dalam */ /* konversi tipe */ /* ------------------------------------*/ main() int x = 21; float y; y = x/2; printf("y = x/2 =%f\n",y); y = (float) x/2; printf("y = (float) x/2 = %f\n",y); Hasil eksekusi: C>typecast Y = x/2 = 10.000000 Y = (float) x/2 = 10.500000 Program 3-8

Dasar Pemrograman 43 Pada operasi penugasan ke peubah, tipe ungkapan yang terletak di kanan operator penugasan ( = ) secara otomatis akan dikonversikan sesuai dengan tipe peubah yang terletak di kiri operator penugasan, seperti yang diperlihatkan pada contoh program 3-9 berikut ini. /* --------------------------------*/ /* Program : konversi.c */ /* Contoh konversi pada penugasan*/ /* ke peubah */ /* --------------------------------*/ main() char c; int i; float x; x = 176.5; /* penugasan 1 */ i = x; /* penugasan 2 */ c = i; /* penugasan 3 */ printf("nilai x =%f\n",x); printf("nilai i =%d\n",i); printf("nilai c =%c\n",c); Hasil eksekusi: C>konversi Nilai x = 176.500000 Nilai I = 176 Nilai c = 0 Program 3-9