SEKILAS MENGENAI BAHASA PEMROGRAMAN C DAN C++
Bahasa pemrograman C++ merupakan superset
dari bahasa pendahulunya yaitu bahasa pemrograman C. Bahasa pemrograman
C dikembangkan oleh Dennis Ritchie pada tahun 1972 di Laboratorium
Bell. Bahasa pemrograman C adalah bahasa pemrograman yang dapat
dikatakan berada antara bahasa tingkat rendah (berorientase mesin) dan
bahasa tingkat tinggi (bahasa berorientase pada manusia). Bahasa
pemrograman C berada satu tingkat di atas bahasa yang berorientasi pada
mesin, namun tetap satu tingkat dibawah sebagian besar bahasa yang
berorientasi persoalan. Bahasa pemrograman C cukup dekat dengan komputer
untuk memberikan kendali yang besar terhadap detil implementasi
pemakaian, namun cukup jauh untuk mengabaikan detil hardware. Karena
itulah bahasa pemrograman C suatu ketika dipandang sebagai bahasa
high-level dan pada saat yang lain dilihat sebagai bahasa low-level.
Bahasa pemrograman C merupakan bahasa
pemrograman terstruktur, yang membagi program kedalam bentuk sebuah
blok. Tujuannya adalah untuk memudahkan dalam pembuatan dan pengembangan
program. Program yang ditulis dengan bahasa pemrograman C mudah sekali
untuk dipindahkan dari satu jenis mesin ke jenis mesin lainnya. Hal ini
berkat adanya standarisasi bahasa pemrograman C yaitu berupa standar
ANSI (American National Standards Institute) yang dijadikan acuan oleh
para pembuat kompiler C.
Bahasa Pemrograman C++ Membawa Bahasa Pemrograman C ke Lingkungan Pemrograman Berorientasi Obyek
Setelah bahasa pemrograman C, menyusul
apa yang kita kenal dengan bahasa pemrograman C++. Bahasa pemrograman
C++ tetap mempertahankan kehebatan C, termasuk kemampuan dan
keluwesannya dalam menangani interface hardware dan software,
pemrograman low-levelnya, serta efisiensinya. bahasa pemrograman C++
diciptakan satu dekade setelah C. Diciptakan oleh Bjarne Stoustrup,
Laboratorium Bell, AT&T, pada tahun 1983.
Bahasa pemrograman C diambil sebagai
landasan dari C++, mengingat keportabilitasan C yang memungkinkannya
diterapkan pada berbagai mesin, dari PC hingga mainframe, serta pada
pelbagai sistem operasi (DOS, UNIX, VMS dan sebagainya). Namun bahasa
pemrograman C++ membawa C ke dunia pemrograman berorientasi obyek, dan
tetap mempertahankan keterpaduan dan efisiensi eksekusi C.
Keistimewaan yang sangat berarti pada
bahasa pemrograman C++ adalah karena bahasa ini mendukung pemrograman
berorientasi obyek. Tetapi bahasa pemrograman C++ hanyalah bahasa yang
bersifat hibrid, bukan bahasa murni yang berorientasi obyek. Karena itu,
bahasa pemrogram C pada tahap awal dapat berpindah jalur ke C++ setahap
demi setahap. Pustaka-pustaka yang dibangun dengan C tetap dapat
dipakai pada C++, dibaurkan dengan pemrograman yang berorientasi obyek.
Tujuan utama pembuatan bahasa pemrograman
C++ adalah untuk meningkatkan produktivitas pemrograman dalam bahasa
aplikasi. Kebanyakan pakar setuju bahwa pemrograman berorientasi obyek
dan C++ dapat mengurangi kekompleksitasan, terutama pada program yang
besar yang terdiri dari 10.000 baris atau lebih.
Tujuan utama pembuatan bahasa pemrograman
C++ adalah untuk meningkatkan produktivitas pemrograman dalam bahasa
aplikasi. Kebanyakan pakar setuju bahwa pemrograman berorientasi obyek
dan C++ dapat mengurangi kekompleksitasan, terutama pada program yang
besar yang terdiri dari 10.000 baris atau lebih.
Contoh program C++ :
//program02.cpp
#include
void main()
{
cout<<”Hai. Selamat belajar C++”;
}
Program diatas dapat kita simpan dengan nama “program02.cpp“.
Fungsi main()
Program C++ tidak dapat dipisahkan dari
fungsi karena fungsi adalah salah satu dasar penyusun blok pada C++.
Sebuah program C++ minimal mengandung sebuah fungsi yaitu fungsi main().
Fungsi ini menjadi awal dan akhir eksekusi program C++. main adalah nama judul fungsi. Dimulai dari tanda { sampai dengan } disebut tubuh fungsi, atau semua yang terletak didalam tanda {} disebut blok.
Fungsi ini menjadi awal dan akhir eksekusi program C++. main adalah nama judul fungsi. Dimulai dari tanda { sampai dengan } disebut tubuh fungsi, atau semua yang terletak didalam tanda {} disebut blok.
Tanda () digunakan untuk mengapit argumen
fungsi, yaitu nilai yang akan dilewatkan ke fungsi. Katavoid yang
mendahului main() dipakai untuk menyatakan bahwa fungsi ini tidak
mempunyai nilai balik (return value). Di dalam tanda {} bisa terkandung
sejumlah unit yang disebut pernyataan (statement).
Pernyataan
Perhatikan baris kode dibawah ini :
1 cout<<“Hai. Selamat belajar C++”;
1 cout<<“Hai. Selamat belajar C++”;
Baris tersebut merupakan sebuah
pernyataan yang digunakan untuk menampilkan tulisan yang terletak pada
sepasang tanda petik ganda ke layar. Tulisan yang terletak pada sepasang
tanda petik ganda disebut string. Setiap pernyataan harus diakhiri
dengan tanda titik koma (;).
Mengenal cout
Pengenal cout merupakan sebuah obyek yang
disediakan oleh C++ untuk mengarahkan data ke standard output
(normalnya layar). Tanda << merupakan operator yang disebut
operator “penyisipan / peletakan”.
1 cout<<“Hai. Selamat belajar C++”;
Operator ini mengarahkan operand (data)
yang di sebelah kanannya ke obyek yang dikirinya. Pada contoh diatas,
string “Hai. Selamat belajar C++” diarahkan ke cout yang memberikan
hasil berupa tampilan string tersebut ke layar.
#include
Baris tersebut bukanlah sebuah
pernyataan, itulah sebabnya tidak diakhiri dengan tanda titik koma.
Baris tersebut menginstruksikan kepada kompiler untuk menyisipkan file
lain (iostream.h) saat program dikompilasi. File-file berakhiran .h
disebut file header, yaitu file-file yang berisi berbagai deklarasi
seperti fungsi, variabel, dll.
Pada contoh, file iostream.h perlu
disertakan pada program yang melibatkan obyek cout. Karena
fileiostream.h berisi deklarasi yang diperlukan oleh cout dan berbagai
obyek yang berhubungan dengan masukan dan keluaran pada stream.
clrscr()
Pernyataan clrscr() digunakan untuk
membersihkan layar. Jika menggunakan pernyataan tersebut, maka baris
berikut perlu disertakan :
1 #include
Contoh penggunaan clrscr() :
//program03.cpp
#include
#include
void main()
{
clrscr();
cout<<”Hai. Selamat belajar C++”;
}
//program03.cpp
#include
#include
void main()
{
clrscr();
cout<<”Hai. Selamat belajar C++”;
}
Gaya Penulisan Program
C++ memberikan keleluasaan kepada pemrogram untuk dalam menuliskan bentuk atau gaya program. Contoh :
//program04.cpp
#include
#include
void main()
{ clrscr();
cout<<”Hai. Selamat belajar C++”;
}
Komentar
Komentar merupakan bagian penting dalam suatu program.
Komentar dapat berupa :
Komentar dapat berupa :
Tujuan / fungsi program
Saat program dibuat atau direvisi
Keterangan-keterangan lain tentang kegunaan sejumlah pernyataan dalam program.
Saat program dibuat atau direvisi
Keterangan-keterangan lain tentang kegunaan sejumlah pernyataan dalam program.
Pada C++ komentar diawali dengan dua
tanda garis miring (//). Ini digunakan untuk komentar pada satu baris.
Selain itu, komentar dapat juga diawali dengan tanda /* dan diakhiri
dengan tanda */. Ini digunakan untuk komentar yang terdiri dari beberapa
baris.
//contoh komentar
//ini adalah komentar
/*ini merupakan contoh komentar
yang bisa digunakan untuk beberapa baris
ini akhir komentar*/
1. Tipe Data Bahasa C++
Tipe data dasar pada C++, yakni: teks
(char), nilai integer (int, short, long), nilai floating-point (float,
double, long double), dan enumerated (enum). Jika jenis data yang
didefinisikan adalah variabel enumerated, maka ini terkait dengan
konstanta integer yang telah diberi nama enumeration set. Dalam bahasa
pemrograman C, jenis enum dianggap ekivalen dengan jenis int, sehingga
memungkinkan sebuah program untuk memberikan nilai integer langsung pada
variabel enumerated. Namun dalam bahasa pemrograman C++, ada mekanisme
pemeriksaan jenis data yang ketat, dan tidak memperkenankan operasi
campuran seperti ini.
Setiap bahasa memakai seperangkat
karakter untuk mengekspresikan pernyataan yang mengandung arti. Bahasa
pemrograman C++ ditulis menggunakan sejumlah karakter yang meliputi: 26
huruf kecil (a, b, c, … dstnya) dan 26 huruf besar (A, B, C, … dstnya);
10 angka (0, 1, 2, 3, 4, 5, 6, 7, 8, 9); dan lambang-lambang (+ – * = / .
, : ; ? ‘ \ ” ! @ # $ % ^ & * ( ) { } [ ]).
Ukuran memori yang diperlukan untuk
masing-masing tipe data sangat bergantung pada perangkat keras dari
komputer yang digunakan. Karena itu jangkauan bilangan dari
masing-masing tipe data juga bisa berlainan antara satu jenis mesin
dengan mesin lainnya. Nilai yang tercakup pada tipe data bilangan (bulat
maupun pecahan) pada arsitektur PC yang berbasis DOS, adalah sebagai
berikut:
Tipe data Ukuran memori Jangkauan nilai
char 1 byte -128 s/d +127
int 2 byte -32768 hingga +32767
short 2 byte -32.768 s/d 32.767
long 4 byte -2.147.438.648 s/d 2.147.438.647
float 4 byte 3,4×10-36 s/d 3,4×10+38
double 8 byte 1,7×10-308 s/d 1,7×10+308
long double 10 byte 3,4x10_4932 s/d 1,1×10+4932
enum 2 byte -32.768 s/d 32.767
pointer 2 byte (near, based)
pointer 4 byte (far, huge)
char 1 byte -128 s/d +127
int 2 byte -32768 hingga +32767
short 2 byte -32.768 s/d 32.767
long 4 byte -2.147.438.648 s/d 2.147.438.647
float 4 byte 3,4×10-36 s/d 3,4×10+38
double 8 byte 1,7×10-308 s/d 1,7×10+308
long double 10 byte 3,4x10_4932 s/d 1,1×10+4932
enum 2 byte -32.768 s/d 32.767
pointer 2 byte (near, based)
pointer 4 byte (far, huge)
1.1. Tipe Data Tertentu
Modifier unsigned:
Yang termasuk jenis data modifier
unsigned yang dapat diterapkan pada char, int, short, long adalah void
dan pointer. Bila salah satu jenis data di atas dimodifikasi menjadi
usigned, dapat dipandang range nilai yang bisa dijangkau
mempresentasikan bilangan seperti pada angka yang ditunjukkan oleh
jumlah kilometer yang telah ditempuh pada mobil atau sepeda motor. Angka
tersebut dimulai dari 0000… dan mencapai maksimum 9999…, dan kembali ke
0000… Jadi dalam unsigned, yang ditampilkan hanyalah bilangan positif
keseluruhan dalam range nol sampai ke bilangan maksimum yang dapat
diprepresentasikannya.
Tipe data Ukuran memori Jangkauan nilai
unsigned char 1 byte 0 s/d 255
unsigned int 2 byte 0 s/d 32767
unsigned short 2 byte 0 s/d 32.767
unsigned long 4 byte 0 s/d 2.147.438.647
unsigned char 1 byte 0 s/d 255
unsigned int 2 byte 0 s/d 32767
unsigned short 2 byte 0 s/d 32.767
unsigned long 4 byte 0 s/d 2.147.438.647
Modifier signed:
Digunakan untuk memperluas tanda yang digunakan integer dan karakter. Cara ini memungkinkan untuk menyimpan suatu nilai dalam bentuk bilangan positif atau negatif.
Digunakan untuk memperluas tanda yang digunakan integer dan karakter. Cara ini memungkinkan untuk menyimpan suatu nilai dalam bentuk bilangan positif atau negatif.
Tipe data Ukuran memori Jangkauan nilai
signed char 1 byte -128 s/d +127
signed int 2 byte -32768 hingga +32767
signed short 2 byte -32.768 s/d 32.767
signed long 4 byte -2.147.438.648 s/d 2.147.438.647
Untuk mengetahui ukuran memori yang diperlukan oleh semua tipe data, bisa dilihat dengan meng-compiler dan mengeksekusi contoh program sederhana, berikut:
signed char 1 byte -128 s/d +127
signed int 2 byte -32768 hingga +32767
signed short 2 byte -32.768 s/d 32.767
signed long 4 byte -2.147.438.648 s/d 2.147.438.647
Untuk mengetahui ukuran memori yang diperlukan oleh semua tipe data, bisa dilihat dengan meng-compiler dan mengeksekusi contoh program sederhana, berikut:
//* Menentukan ukuran memori *
#include
#include
void main()
{
clrscr();
cout << “Ukuran char : ” << sizeof(char) << ‘\n’;
cout << “Ukuran short : ” << sizeof(short) << ‘\n’;
cout << “Ukuran int : ” << sizeof(int) << ‘\n’;
cout << “Ukuran long : ” << sizeof(long) << ‘\n’;
cout << “Ukuran float : ” << sizeof(float) << ‘\n’;
cout << “Ukuran double : ” << sizeof(double) << ‘\n’;
cout << “Ukuran long double : ” << sizeof(long double) << ‘\n’;
}
#include
#include
void main()
{
clrscr();
cout << “Ukuran char : ” << sizeof(char) << ‘\n’;
cout << “Ukuran short : ” << sizeof(short) << ‘\n’;
cout << “Ukuran int : ” << sizeof(int) << ‘\n’;
cout << “Ukuran long : ” << sizeof(long) << ‘\n’;
cout << “Ukuran float : ” << sizeof(float) << ‘\n’;
cout << “Ukuran double : ” << sizeof(double) << ‘\n’;
cout << “Ukuran long double : ” << sizeof(long double) << ‘\n’;
}
Penjelasan program:
Pemrograman C++ tidak terlepas dari
fungsi. Sebab fungsi adalah salah satu dasar penyusunan blok pada C++.
Sebuah program C++ minimal mengandung sebuah fungsi main(). Fungsi ini
menjadi awal dan akhir eksekusi program C++. main adalah nama judul
fungsi. Sedangkan yang dimulai dari tanda { hingga tanda } disebut tubuh
fungsi. Semua yang terletak di dalam tanda {} disebut blok. Tanda ()
digunakan untuk mengapit argumen fungsi, yaitu nilai yang akan
dilewatkan ke fungsi. Kata void yang mendahului main() dipakai untuk
menyetakan bahwa fungsi ini tidak memiliki nilai balik.
Pengenal cout merupakan sebuah obyek di
dalam C++. Obyek ini disediakan oleh C++ untuk mengarahkan data ke
standard output (normalnya adalah layar), sebagai contoh tambahan
misalnya:
cout << “Hallo! Selamat datang di website ideelok \n”;
cout << “Hallo! Selamat datang di website ideelok \n”;
Tanda << merupakan sebuah operator
yang disebut operator penyisipan/peletakan. Operator ini akan
mengarahkan operand (data) yang terletak di sebelah kanan obyeknya ke
obyek yang terletak di sebelah kiri. Pada pernyataan di atas, konstanta
string “Hallo! Selamat datang di website ideelok \n” diarahkan ke cout,
yang memberikan hasil berupa tampilan string tersebut ke layar. Didalam
sebuah string, karakter \ diikuti dengan karakter tertentu menyatakan
sebuah karakter tunggal. Pada contoh \n adalah karakter pindah baris
(newline).
Pada baris #include , baris ini
menginstruksikan kepada kompiler untuk menyiapkan file lain pada saat
program dikompolasi. Dalam hal ini file-file yang berakhiran dengan .h
disebut file header, yaitu file-file yang berisi berbagai deklarasi,
seperti fungsi, variabel dan sebagainya. #include perlu disertakan pada
program yang melibatkan obyek cout. Tanpa kehadiran baris tersebut akan
terjadi kesalahan program sewaktu program dikompilasi. Sebab file
iostream.h berisi deklarasi yang diperlukan oleh cout dan berbagai obyek
yang berhubungan dengan operasi masukan-keluaran pada stream.
Pada baris clrscr(); adalah perintah
untuk menghapus layar. Apabila pernyataan di atas digunakan, baris
#include perlu disertakan dalam program.
2. Variabel dan Konstanta Bahasa C++
Data pada C++ tersusun dari variabel dan
konstanta. Variabel merupakan komponen penting pada pemrograman.
Variabel digunakan dalam program untuk menyimpan suatu nilai, dengan
nilai yang ada padanya dapat diubah selama eksekusi program berlangsung.
Adapun konstanta menyatakan nilai yang tetap. Misalnya 234 adalah
sebuah konstanta bilangan bulat.
2.1. Mendeklarasikan dan Mendefinisikan Variabel
Variabel yang akan digunakan dalam
program haruslah dideklarasikan terlebih dahulu, maksudnya mengenalkan
sebuah pengenal ke program dan menentukan jenis data yang bisa disimpan
di dalamnya. Apabila suatu pendeklarasian menyebabkan pengalokasian
memori, maka pendeklarasian tersebut dinamakan pendefinisian. Yang jelas
pendefinisian berarti pula pendeklarasian, tetapi tidak semua
pendeklarasian berarti pendefinisian.
bentuk pendefinisian variabel:
bentuk pendefinisian variabel:
tipe daftar_variabel;
Pada pendefinisian variabel, daftar_variabel dapat berupa sebuah variabel atau beberapa variabel yang dipisahkan dengan koma.
2.2. Memberikan Nilai ke Variabel
Bentuk pernyataan yang digunakan untuk memberikan nilai ke variabel adalah:
variabel = nilai;
Contoh:
jumlah = 10;
harga_barang = 1500;
variabel = nilai;
Contoh:
jumlah = 10;
harga_barang = 1500;
2.3. Variabel dan Konstanta Bertipe char
Bentuk pernyataan variabel bertipe char:
char karakter;
Dalam hal ini variabel karakter bertipe
char. Variabel ini dapat menampung data sebuah karakter. Untuk
menuliskan sebuah konstanta bertipe char, karakter perlu ditulis di
dalam tanda petik tunggal, contoh: ‘A’ karakter berupa huruf A.
Karakter yang ditulis dengan bentuk
\karakter mempunyai arti tersendiri (karakter khusus) dan biasa disebut
escape sequence characters.
Karakter-karakter khusus tersebut antara lain:
artinya karakter ber-ASCII nol (karakter nul)
\a artinya karakter bel
\b artinya karakter backspace
\f artinya karakter formfeed (ganti halaman)
\n artinya karakter newline (pindah baris)
\r artinya karakter carriage return (ke awal baris) tanpa linefeed
\t artinya karakter tab horizontal
\v artinya karakter tab vertikal
\\ artinya karakter \
\’ artinya karakter ‘
\” artinya karakter ”
\? artinya karakter ?
\ooo artinya karakter yang nilai oktalnya adalah ooo (tiga digit oktal)
\xhh artinya karakter yang nilai heksadesimalnya adalah hh (dua digit heksadesimal)
artinya karakter ber-ASCII nol (karakter nul)
\a artinya karakter bel
\b artinya karakter backspace
\f artinya karakter formfeed (ganti halaman)
\n artinya karakter newline (pindah baris)
\r artinya karakter carriage return (ke awal baris) tanpa linefeed
\t artinya karakter tab horizontal
\v artinya karakter tab vertikal
\\ artinya karakter \
\’ artinya karakter ‘
\” artinya karakter ”
\? artinya karakter ?
\ooo artinya karakter yang nilai oktalnya adalah ooo (tiga digit oktal)
\xhh artinya karakter yang nilai heksadesimalnya adalah hh (dua digit heksadesimal)
2.4. Variabel dan Konstanta Bertipe int
Variabel bertipe int didefinisikan dengan bentuk:
int bilangan;
Setelah pendefinisian seperti itu,
variabel ini dapat digunakan untuk menampung nilai bertipe int. Sebuah
konstanta bertipe int adalah bilangan bulat yang terletak antara minus
32768 hingga plus 32767 (pada PC berbasis DOS) dan tidak mengandung
titik desimal.
5.5. Variabel dan Konstanta Bertipe long
5.5. Variabel dan Konstanta Bertipe long
Apabila diinginkan untuk memproses
bilangan bulat yang nilainya lebih besar daripada tipe int, Anda dapat
menggunakan tipe long. Suatu variabel bertipe long didefinisikan dengan
cara seperti di bawah ini:
long jumlah_penduduk;
Pada contoh ini, jumlah_penduduk
didefinisikan bertipe long. Dengan demikian variabel ini dapat menampung
nilai ratusan juta. Adapun konstanta bertipe long biasa ditulis dengan
akhiran L. Sebagai contoh: 1543267635435L
2.6. Variabel dan Konstanta Bertipe float, double dan long double
Tipe-tipe data yang telah dibahas di
depan (char, int dan long) berhubungan dengan bilangan bulat. Seandainya
diinginkan untuk memproses bilangan yang mengandung nilai pecahan, bisa
menggunakan tipe float, double atau long double. Ketiga tipe yang
berhubungan dengan bilangan pecahan ini mempunyai perbedaan dalam hal:
kepresisian data, dan jangkauan nilai yang dicakup.
Contoh pendefinisian variabel untuk menampung bilangan pecahan:
float panjang;
double phi;
long double tetapan;
float panjang;
double phi;
long double tetapan;
2.7. Inisialisasi Variabel
Adakalanya dalam penulisan program, variabel langsung diberi nilai awal setelah didefinisikan. Sebagai contoh:
int jumlah;
jumlah = 80;
Dua pernyataan seperti di atas sebenarnya dapat diangkat melalui pendefinisian yang disertai penugasan nilai, seperti berikut:
int jumlah = 80;
int jumlah;
jumlah = 80;
Dua pernyataan seperti di atas sebenarnya dapat diangkat melalui pendefinisian yang disertai penugasan nilai, seperti berikut:
int jumlah = 80;
OPERATOR BAHASA PEMROGRAMAN C++
Operator merupakan simbol yang biasa
dilibatkan dalam program untuk melakukan sesuatu operasi atau
manipulasi, misalnya untuk menjumlahkan dua buah nilai, memberikan nilai
pada suatu variabel, ataupun membandingkan kesamaan dua buah nilai.
Bahasa pemrograman C++ mempunyai banyak operator yang tidak didapat
dalam bahasa pemrograman lain, antara lain: operator bitwise, operator
inkremen dan dekremen, operator kondisional, operator koma, operator
aritmatika dan lain-lain.
a) Operator bitwise
Operator bitwise pada bahasa pemrograman
C++ memperlakukan variabel sebagai gabungan dari bit-bit dan bukan
sebagai bilangan. Operator ini berguna untuk mengakses bit-bit
individual dalam memori, seperti memori screen untuk display grafik,
informasi CapsLock (on atau off). Operator bitwise ini hanya dapat
beroperasi pada jenis data integral, bukan bilangan floating-point. Tiga
operator bitwise berkelakuan seperti operator logika, namun ini terjadi
pada setiap bit dalam sebuah integer, yakni: AND (&), OR(I), dan
XOR (^), komplemen (~) membalik (menginversi) setiap bit, operator shift
kiri (<<), dan operator shift kanan (>>).
AND
Simbol operator: &, dengan bentuk penggunaan : operand1 & operand2
Operasi AND bitwise membandingkan dua bit; jika kedua bit tersebut adalah 1, maka hasilnya 1, selain itu hasilnya 0.
Logika AND:
Bit 0 Bit 1 Hasil
0 0 0
0 1 0
1 0 1
1 1 1
Simbol operator: &, dengan bentuk penggunaan : operand1 & operand2
Operasi AND bitwise membandingkan dua bit; jika kedua bit tersebut adalah 1, maka hasilnya 1, selain itu hasilnya 0.
Logika AND:
Bit 0 Bit 1 Hasil
0 0 0
0 1 0
1 0 1
1 1 1
OR
Simbol operator I, dengan bentuk pemakaian : operand1 I opeand2
Operasi OR bitwise membandingkan dua bit dan memberikan hasil 1 jika kedua bit yang dibandingkan itu salah satu atau keduanya 1.
Logika OR:
Bit 0 Bit 1 Hasil
0 0 0
0 1 1
1 0 1
1 1 1
Simbol operator I, dengan bentuk pemakaian : operand1 I opeand2
Operasi OR bitwise membandingkan dua bit dan memberikan hasil 1 jika kedua bit yang dibandingkan itu salah satu atau keduanya 1.
Logika OR:
Bit 0 Bit 1 Hasil
0 0 0
0 1 1
1 0 1
1 1 1
XOR
Simbul operator: ^, dengan bentuk penggunaan : operand1 ^ operand2
Operasi EXCLUSIVE OR (XOR) bitwise membandingkan dua bit dan memberikan hasil 1 bila kedua bit merupakan komplementer satu sama lain.
Logika XOR:
Bit 0 Bit 1 Hasil
0 0 0
0 1 1
1 0 1
1 1 0
Simbul operator: ^, dengan bentuk penggunaan : operand1 ^ operand2
Operasi EXCLUSIVE OR (XOR) bitwise membandingkan dua bit dan memberikan hasil 1 bila kedua bit merupakan komplementer satu sama lain.
Logika XOR:
Bit 0 Bit 1 Hasil
0 0 0
0 1 1
1 0 1
1 1 0
Contoh program operasi I, & dan ^:
//* Efek operator I, & dan ^ *
#include
#include
void main()
{
unsigned char angka1 = 81;
unsigned char angka2 = 99;
unsigned char a, b, c;
clrscr();
a = angka1 I angka2; //operasi OR
b = angka1 & angka2; //operasi AND
c = angka1 ^ angka2; //operasi XOR
cout << “a= ” << a << ‘\n’;
cout << “b= ” << b << ‘\n’;
cout << “c= ” << c << ‘\n’;
}
#include
#include
void main()
{
unsigned char angka1 = 81;
unsigned char angka2 = 99;
unsigned char a, b, c;
clrscr();
a = angka1 I angka2; //operasi OR
b = angka1 & angka2; //operasi AND
c = angka1 ^ angka2; //operasi XOR
cout << “a= ” << a << ‘\n’;
cout << “b= ” << b << ‘\n’;
cout << “c= ” << c << ‘\n’;
}
Hasil eksekusi program di atas, adalah:
a= 115
b= 65
c= 50
a= 115
b= 65
c= 50
Penjelasan hasil program:
Operasi OR pada a:
0000 0000 0101 0001 <- 81
0000 0000 0110 0011 <- 99
——————————-
0000 0000 0 1 1 0011 <- 115
Operasi OR pada a:
0000 0000 0101 0001 <- 81
0000 0000 0110 0011 <- 99
——————————-
0000 0000 0 1 1 0011 <- 115
Operasi AND pada b:
0000 0000 0101 0001 <- 81
0000 0000 0110 0011 <- 99
——————————-
0000 0000 0100 0001 <- 65
0000 0000 0101 0001 <- 81
0000 0000 0110 0011 <- 99
——————————-
0000 0000 0100 0001 <- 65
Operasi XOR pada c:
0000 0000 0101 0001 <- 81
0000 0000 0110 0011 <- 99
——————————-
0000 0000 0011 0010 <- 50
0000 0000 0101 0001 <- 81
0000 0000 0110 0011 <- 99
——————————-
0000 0000 0011 0010 <- 50
b) Operator Shift Operator >> dan
<<
pada bahasa pemrograman C++ berguna untuk menggeser bit-bit
dalam suatu bilangan bulat ke kiri atau ke kanan. Shift kiri
menggerakkan bit-bit ke kiri dan mengatur bit paling kanan (yang tidak
signifikan) menjadi nol. Sedangkan bit paling kiri (paling signifikan)
yang ter-shift keluar akan dibuang. Sementara itu, operator shift kanan
menggerakkan bit-bit ke kanan. Bit-bit dengan orde lebih rendah yang
ter-shift keluar akan dibuang. Pergeseran bit ke kiri mempunyai efek
seperti perkalian, sedangkan pergeseran ke kanan memberikan efek seperti
pembagian.
b.1) Operastor shift kiri
Bentuk umum dipakai: nilai << jumlah bit digeser ke kiri
Setiap pergeseran sebuah bit akan memberikan pengaruh seperti halnya perkalian dengan bilangan dua. Untuk lebih jelasnya perhatikan contoh berikut beserta hasilnya:
Bentuk umum dipakai: nilai << jumlah bit digeser ke kiri
Setiap pergeseran sebuah bit akan memberikan pengaruh seperti halnya perkalian dengan bilangan dua. Untuk lebih jelasnya perhatikan contoh berikut beserta hasilnya:
//* Operator SHIFT KIRI *
#include
#include
main()
{
unsigned char x = 93;
clrscr();
cout << “Nilai x semula = ” << x << ‘\n’;
x = x << 1; // geser ke kiri 1 bit
cout << “Nilai x kini = ” << x << ‘\n’;
}
#include
#include
main()
{
unsigned char x = 93;
clrscr();
cout << “Nilai x semula = ” << x << ‘\n’;
x = x << 1; // geser ke kiri 1 bit
cout << “Nilai x kini = ” << x << ‘\n’;
}
Hasil eksekusi program:
Nilai x semula = 93
Nilai x kini = 186
Nilai x semula = 93
Nilai x kini = 186
Penjelasan hasil program:
0000 0000 0101 1101 <- 93
digeser ke kiri 1 bit
0000 0000 1011 1010 <- 186 di bagian kanan selalu disisipi dengan nol sebanyak bit yang digeser.
0000 0000 0101 1101 <- 93
digeser ke kiri 1 bit
0000 0000 1011 1010 <- 186 di bagian kanan selalu disisipi dengan nol sebanyak bit yang digeser.
b.2) Operator shift kanan
Bentuk umum
dipakai: nilai >> jumlah bit digeser ke kanan
Setiap pergeseran sebuah bit akan memberikan pengaruh seperti halnya pembagian dengan bilangan dua. Untuk lebih jelasnya perhatikan contoh berikut beserta hasilnya:
Setiap pergeseran sebuah bit akan memberikan pengaruh seperti halnya pembagian dengan bilangan dua. Untuk lebih jelasnya perhatikan contoh berikut beserta hasilnya:
//* OPERATOR SHIFT KANAN *
#include
#include
void main()
{
unsigned char x = 93;
clrscr();
cout << “Nilai x semula = ” << x << ‘\n’; x = x >> 1; // geser kekanan 1 bit
cout << “Nilai x kini = ” << x << ‘/n’;
}
#include
#include
void main()
{
unsigned char x = 93;
clrscr();
cout << “Nilai x semula = ” << x << ‘\n’; x = x >> 1; // geser kekanan 1 bit
cout << “Nilai x kini = ” << x << ‘/n’;
}
Hasil eksekusi program:
Nilai x semula = 93
Nilai x kini = 46
Nilai x semula = 93
Nilai x kini = 46
Penjelasan hasil program:
0000 0000 0101 1101 <- 93
digeser ke ke kanan 1 bit
0000 0000 0010 1110 <- 186
di bagian kiri selalu disisipi dengan nol sebanyak bit yang digeser.
0000 0000 0101 1101 <- 93
digeser ke ke kanan 1 bit
0000 0000 0010 1110 <- 186
di bagian kiri selalu disisipi dengan nol sebanyak bit yang digeser.
c) Operator Komplemen
Operator ini mempunyai sifat membalik (menginversi) nilai setiap bit. Jika bit operand bernilai 1 hasilnya 0, dan bila bit operand bernilai 0 hasilnya 1.
Contoh pemakaian operator komplemen:
Operator ini mempunyai sifat membalik (menginversi) nilai setiap bit. Jika bit operand bernilai 1 hasilnya 0, dan bila bit operand bernilai 0 hasilnya 1.
Contoh pemakaian operator komplemen:
//* Operator komplemen *
#include
#include
main()
{
unsigned char nilai = 81;
unsigned char a;
clrscr();
a = ~nilai; // komplemen dari nilai
cout << “a = ” << a << ‘\n’;
}
#include
#include
main()
{
unsigned char nilai = 81;
unsigned char a;
clrscr();
a = ~nilai; // komplemen dari nilai
cout << “a = ” << a << ‘\n’;
}
Hasil eksekusi program:
a = 65454
a = 65454
Penjelasan hasil program:
0000 0000 0101 0001 <- 81
inversinya menjadi
1111 1111 1010 1110 <- 6554
0000 0000 0101 0001 <- 81
inversinya menjadi
1111 1111 1010 1110 <- 6554
d) Operator Aritmatika
Bahasa C++ melibatkan operator aritmatika standar untuk penjumlahan (+), pengurangan (-), perkalian (*), pembagian (/), dan modulus (%). Operator aritmatika tersebut tergolong sebagai operator binary. Adapun operator yang tergolong sebagai operator unary yaitu tanda minus (-), dan tanda plus (+).
Bahasa C++ melibatkan operator aritmatika standar untuk penjumlahan (+), pengurangan (-), perkalian (*), pembagian (/), dan modulus (%). Operator aritmatika tersebut tergolong sebagai operator binary. Adapun operator yang tergolong sebagai operator unary yaitu tanda minus (-), dan tanda plus (+).
Prioritas operator :
Operator dengan prioritas tinggi akan diutamakan dalam hal pengerjaan dibandingkan dengan operator yang memiliki prioritas lebih rendah.
Prioritas 1: + –
Prioritas 2: – (unary minus)
Prioritas 3: * / %
Prioritas 4: + -
Operator dengan prioritas tinggi akan diutamakan dalam hal pengerjaan dibandingkan dengan operator yang memiliki prioritas lebih rendah.
Prioritas 1: + –
Prioritas 2: – (unary minus)
Prioritas 3: * / %
Prioritas 4: + -
Apabila operastor memiliki prioritas yang
sama, operator yang terletak disebelah kiri dalam suatu ungkapan yang
akan diutamakan untuk dikerjakan terlebih dahulu.
Tanda kurung biasa digunakan untuk urutan mengerjakan, misalnya x = (2 + 3) * 2;
(2 + 3 akan dikerjakan terlebih dahulu baru dikalikan dengan 2)
(2 + 3 akan dikerjakan terlebih dahulu baru dikalikan dengan 2)
Contoh program:
//* Operasi aritmatika dengan menggunakan tanda kurung) *
#include
#include
void main()
{
clrscr();
int x;
x = 2 + 3 * 2;
cout << “x= ” << x << ‘\n’;
x = (2 + 3) * 2;
cout << “x= ” << x << ‘\n’;
}
Hasil eksekusi program:
x= 8 x= 12 Operator seperti penjumlahan, pengurangan, perkalian dan
pembagian merupakan hal yang umum. Adapun operator sisa pembagian
(operator modulus) yang berupa % ada baiknya untuk diterangkan lebih
lanjut. Operator ini diterapkan pada operan bertipe integer. Untuk lebih
jelasnya perhatikan beberapa contoh berikut: 7 % 2 -> 1 sisa
pembagian bilangan 7 dengan 2 adalah 1
9 % 5 -> 4 sisa pembagian bilangan 9 dengan 5 adalah 4
9 % 5 -> 4 sisa pembagian bilangan 9 dengan 5 adalah 4
Contoh program
//* sisa pembagian (modulus) *
#include
#include
void main()
{
clrscr();
cout << 9 % 5 << ‘\n’;
cout << 13 % 5 << ‘\n’;
}
e) Operator Assigenment
Operator assigenment dalam bahasa pemrograman C/C++ berbeda dengan statement assigenment dalam bahasa yang lain. Assigenment dilakukan oleh operator assigenment dan bukan oleh staement assigenment. Seperti operator bahasa pemrograman C++ yang lain, hasil operator assigenment merupakan nilai yang diberikan. Misalnya :
nilai = 4 * (bilangan = 3)
Disini bilangan diberikan nilai 3. Nilai 3 ini dikali dengan 4, sehingga nilai mendapatkan hasil akhir 12.
Operator assigenment dalam bahasa pemrograman C/C++ berbeda dengan statement assigenment dalam bahasa yang lain. Assigenment dilakukan oleh operator assigenment dan bukan oleh staement assigenment. Seperti operator bahasa pemrograman C++ yang lain, hasil operator assigenment merupakan nilai yang diberikan. Misalnya :
nilai = 4 * (bilangan = 3)
Disini bilangan diberikan nilai 3. Nilai 3 ini dikali dengan 4, sehingga nilai mendapatkan hasil akhir 12.
C++ adalah salah satu
bahasa pemrograman yang banyak dipelajari di Indonesia saat ini, baik
untuk kepentingan pembelajaran disekolah ataupun untuk kepentingan
perusahaan. Untuk kepentingan sekolah, tentu pembelajaran dimulai dari
dasar, mengenal apa itu C++, apa saja variabelnya, pre prosesornya, dll.
Untuk itu mari kita pelajari lebih lanjut..
C++ adalah perkembangan lanjutan dari bahasa C. C++ memberikan tambahan
fitur untuk meningkatkan kualitas bahasa C serta kemampuan untuk
pemrograman berbasis object. (Object Oriented Programming).
Jika kalian ingin belajar C++, 2 syarat penting yang wajib dipenuhi
adalah tentu anda harus mempunyai komputer serta mempunyai editor untuk
membuat programmnya..editor yang saya gunakan adalah Borland C++ 5.02
Saya akan langsung memberikan satu program dasar yang mudah dipahami
beserta keterangan-keterangan yang memudahkan anda memahami program
C++..bukalah editor C++ yang anda punya..kemudian ketikan source code
berikut ini..
//program dasar C++
#include
#include
void main()
{
char nama;
cout<<"Mari Belajar C++";
cout<<"Nama Saya Adalah "; cin>>nama;
cout<>
adalah operator yang ditujukan pada data karena kita akan menginputkan
data ke layar.. Bentuk umum code nya adalah seprti ini..
cout<<"Kalimat yang kita ketik";
cin>>data;
5. // adalah operator komentar. Operator ini tidak akan diproses atau di
compile oleh compiler..karena hanya berfungsi sebagai komentar..
6. endl [baca: end line] adalah fungsi yang digunakan untuk pindah baris
atau baris baru..
7. char adalah sebuah tipe data yang digunakan untuk memasukkan huruf.
pada program sederhana diatas, data yang dimasukkan adalah nama, jadi
kita memakai tipe data char. Terdapat banyak tipe data dalam bahasa C++.
Diantaranya:
int - untuk memasukkan data berupa angka
float - untuk memasukkan data berupa angka desimal
Sekian dulu yang dapat saya jelaskan mengenai dasar-dasar program
C++..semoga bermanfaat buat kalian semua yang ingin mempelajari bahasa
C++..
Original Source : http://blog.creanivate.com/2009/10/belajar-c-pengenalan-dasar-c.html
Copyright blog.creanivate.com
Original Source : http://blog.creanivate.com/2009/10/belajar-c-pengenalan-dasar-c.html
Copyright blog.creanivate.com
0 komentar
Posting Komentar