Showing posts with label Study Elektro. Show all posts
Showing posts with label Study Elektro. Show all posts

Struktur bahasa C/C++

Struktur bahasa C/C++
1)       Komentar
Bagian ini berisi mengenai keterangan pada program kita. Tidak akan dieksekusi dan tidak akan ditampilkan ketika program dijalankan . Tapi cukup penting, karena komentar akan mempermudah orang lain yang ingin mempelajari program yang kita melalui keterangan yang ada. Dan juga sangat membantu kita megingat ketika kita membuat program dengan statement yang panjang dan terdiri dari banyak fungsi. Komentar ditulis dengan 2 cara yaitu :
a.       Dimulai dengan tanda // untuk komentar 1 baris.
b.       Diapit dengan tanda /* ... */ untuk komentar multi baris
Contohnya:
// Contoh komentar satu baris //

2)       Preprocessore Directive (Pengarah Compiler)
Preprocessor directive ditandai dengan simbol #. Bertugas untuk mengarahkan prepocessor yang akan digunakan untuk membaca file header atau bisa dikatakan sebagai pengatur proses kompilasi.
Contoh preprocessor directive : #include, #define, dan lainnya. Contoh file header : , , , dan lainnya.
Contohnya:
#include
using namespace std;
Preprocessor directive define merupakan suatu pengarah untuk mendefenisikan suatu preprocessor macro, konstanta dan variabel. Penulisan preprocessor directive define ini ialah #define.
Contohnya :                      
#define PI      3.14
#define KUADRAT(x)   (x*x)

3)       Fungsi Utama (main) danTambahan (function dan procedure)
a.       Fungsi Utama
Fungsi utama adalah bagian yang pertama kali akan dieksekusi, walaupun sebelum bagian dari fungsi utama ini ada fungsi tambahan. Sehingga fungsi utama pasti ada di dalam program C++. Fungsi utama ini tersusun atas kata main lalu diikuti dengan tanda(). Lalu diikuti lagi dengan definisi fungsi (bagian dalam tanda “{}”) yang berisi deklarasi dan perintah-perintah yang akan dieksekusi dalam program tersebut.
Contohnya:
int main()
{
cout<<"Selamat datang di Blog AyubAdiputra"<
prosedur();
return 0;

b.      Fungsi Tambahan
Fungsi tambahan ini adalah fungsi yang mendukung dan merupakan pemecahan dari fungsi utama.Terdiri atas function dan procedure. Function merupakan fungsi dengan nilai balik, sedangkan procedure adalah fungsi tanpa nilai balik.
Contohnya:
void prosedur()
{
char nama[20]="Ayub N Adiputra";
cout<<" Nama saya adalah "<
}


4)       Definisi fungsi
Definisi fungsi adalah bagian yang menyertai fungsi. Di dalamnya berisi syntax-syntax yang nantinya akan dieksekusi apabila fungsi tersebut dipanggil. Bagian definisi ini selalu diawali dengan tanda kurawal buka “{” dan diakhiri dengan tanda kurawal tutup “}”.
Di dalam definisi fungsi ini terdapat beberapa statement. Statement harus diakhiri dengan tanda “;”. Tanda ini berfungsi untuk memberi tanda bahwa satu statement sudah selesai dan akan terjadi error jika tidak ditutupi dengan tanda “;”.
Contohnya:
int main()
{
cout<<"Selamat datang di Blog AyubAdiputra"<
prosedur();
return 0;
}

5)       Bagian deklarasi
Contohnya:
void prosedur()
{
char nama[20]="Ali Budi";
cout<<" Nama saya adalah "<<nama;
}
Bisa dikatakan sebagai statement tempat pengenalan variabel, konstanta, fungsi, array dan lainnya. Deklarasi yang sederhana da pada contoh di atas. Pada contoh di atas diperkenalkan tentang tipe data apa yang digunakan variabel nama dalam procedure tersebut. Kemudian diketahui pula nilai dari variabel nama adalah Fasesa.

SHIFT REGISTER

  hello sobat sekarang janu akan mempos rangkaian SHIFT REGISTER karana ini tugas untuk besok dari guru dan buat temen2 kelas bisa dilihat disini.Register ini merupakan kelompok FF (flip-flop)yg dapat dipakai untuk menyimpan dan mengolah unformasi dlm bentuk linier,shift ini pd dasarnya merupakan koneksi seri dari FF yg menggunakan clock untuk memindah data yg ada pd FF sebelumnya dan dipindah kedata yg ada pada FF selanjutnya.
Gbr rangkaian SHIFT REGISTER
 shift ini dapat digunakan sbg penyimpanan sementara atau delay dari deretan informasi.Register geser diterapkan dgn fungsi yg berbeda-beda pd sistem komputer.nah itu adalah penjelasan tentang SHIFT REGISTER.
   Gbr.SHIFT REGISTER menggunakan ic TTL type 7476 dan ic NOT type 7404

Macam-macam type SHIFT REGISTER yg digunakan sbb:
- pergeseran data
- masukan data serial dgn keluaran seri / SISO (serial input serial output)
- masukan data serial dgn keluaran paralel / SIPO (serial input paralel output)
- masukan data paralel dng keluaran serial / PISO (paralel input serial output)
- masukan data paralel dng keluaran paralel / PIPO (paralel input paralel output)

 Dan juga gambar tersebut bisa dicoba di komputer sobat cukup dgn mendonload app ElectronicWorkbench,app ini bisa membuat rangkaian Flip-flop hampir sama dgn livewire,untuk masalah download tenang aja sob ada di bawah ini tinggal di klik.....


sekian yg dapat janu sampaikan wassalam......(Januarman maulana p.)

BASCOM AVR

BASCOM, berdiri untuk compiler BASIC, yang dikembangkan oleh Mark Alberts adalah keluarga cross-compiler yang dapat menerjemahkan BASIC bersama dengan beberapa ekstensi proprietary ke dalam bahasa mesin eksekusi untuk beberapa arsitektur prosesor untuk embedded system. Untuk mendukung arsitektur mikrokontroler AVR dan keluarga MCS-51. The cross-compiler berjalan di bawah Microsoft Windows dan menawarkan bersama dengan fungsi terjemahan juga lingkungan pengembangan dan emulator dari sistem sasaran yang memungkinkan pengujian di bawah sistem pembangunan. Interface lebih lanjut tersedia, yang memungkinkan untuk mengirimkan kode yang dihasilkan dalam sistem target. The cross-compiler hanya tersedia secara komersial. Sebuah versi demo yang tersedia untuk bebas dari kendala sehingga kode yang dihasilkan hanya dapat memiliki jangka waktu maksimum empat kilobyte. Jika tidak, demo ini berfungsi penuh, sehingga Bascom versi demo untuk beberapa kecil Atmel mikrokontroler (misalnya ATtiny) demikian cukup karena mereka hanya memiliki memori program kecil.
BASCOM mendukung banyak ekstensi proprietary yang memenuhi persyaratan tertentu dalam sistem embedded. Perbandingan dengan varian BASIC sederhana secara signifikan diperpanjang set tipe data dasar termasuk bit tunggal yang juga diwakili seperti itu, bilangan bulat 1, 2, atau 4 byte, baik dengan dan tanpa tanda-tanda dan angka floating point dengan 32 atau 64 bit sesuai dengan standar IEEE 754 . Deklarasi array dengan tipe data dasar adalah mungkin. Sebuah varian khusus bukti yang akan dimensioned array juga dalam deklarasi string yang implisit diakhiri oleh byte dengan nilai 0.
Karena target arsitektur floating-point tidak mendukung diri mereka sendiri, hal ini dilakukan oleh entitas milik BASCOM perpustakaan, yang juga mencakup fungsi trigonometri tertentu. Perpustakaan juga mencakup lebih banyak ruang untuk arsitektur AVR penawaran untuk mendukung TCP / IP socket dan output ke layar kristal cair.
Selanjutnya, embedding kode assembly adalah mungkin dalam teks program BASIC. Hal ini dilakukan baik dengan menggunakan nama perintah yang sesuai dari bahasa mesin, asalkan mereka tidak bertentangan dengan kata-kata yang sudah disediakan, atau dengan embedding petunjuk assembler kata kunci khusus. Untuk memiliki akses langsung ke variabel dasar dalam konteks pengajaran bahasa mesin adalah ketentuan bahwa banyak alamat dari variabel di register.

 berikut toturial pembuatan program pd bascom AVR:

sember : wikipedia.org
 

Micro Switch


   Sebuah switch snap-tindakan miniatur, juga merek dagang dan sering dikenal sebagai saklar mikro, adalah sebuah saklar listrik yang digerakkan oleh kekuatan fisik yang sangat sedikit, melalui penggunaan mekanisme tipping-point, kadang-kadang disebut "over-pusat" mekanisme. Switching terjadi andal pada posisi tertentu dan berulang dari actuator, yang belum tentu benar dari mekanisme lainnya. Mereka sangat umum karena biaya rendah dan daya tahan, lebih dari 1 juta siklus dan sampai 10 juta siklus untuk model tugas berat. Daya tahan ini merupakan konsekuensi alami dari desain.
Ciri switch mikro adalah bahwa gerakan yang relatif kecil di tombol aktuator menghasilkan gerakan yang relatif besar pada kontak listrik, yang terjadi pada kecepatan tinggi (terlepas dari kecepatan aktuasi). Desain yang paling sukses juga menunjukkan histeresis, yang berarti bahwa pembalikan kecil aktuator tidak cukup untuk membalikkan kontak, harus ada gerakan yang signifikan dalam arah yang berlawanan. Kedua karakteristik ini membantu untuk mencapai interupsi bersih dan dapat diandalkan dengan circuit switched.

sejarah
Saklar mikro pertama diciptakan oleh Peter McGall pada tahun 1932 di Freeport, Illinois. McGall adalah seorang karyawan Perusahaan Baterai Burgess pada saat itu. Pada tahun 1937 ia memulai perusahaan SWITCH MICRO. Perusahaan dan merek dagang Beralih Mikro telah dimiliki oleh Honeywell Sensing dan Kontrol sejak tahun 1950. Merek dagang tersebut menjadi gambaran secara luas digunakan untuk snap-action switch. Perusahaan selain Honeywell sekarang memproduksi miniatur snap-tindakan switch.

Konstruksi dan operasi
   Dalam satu jenis microswitch, internal ada dua mata air konduktif. Sebuah pegas panjang datar adalah berengsel pada salah satu ujung switch (kiri, dalam foto) dan memiliki kontak listrik di sisi lain. Sebuah pegas melengkung kecil, preloaded (yaitu, dikompresi selama perakitan) sehingga ia mencoba untuk memperpanjang sendiri (di atas, tepat pusat di foto), dihubungkan antara musim semi datar dekat kontak. Sebuah titik tumpu berada di dekat titik tengah dari musim semi datar. Sebuah menekan nub aktuator pada musim semi datar dekat titik engsel nya.
   Karena musim semi flat berlabuh dan kuat dalam ketegangan musim semi melengkung tidak bisa bergerak ke kanan. Menekan semi melengkung, atau menarik, musim semi datar atas, yang jauh, dari titik anchor. Karena geometri, kekuatan atas sebanding dengan perpindahan yang menurun sebagai semi datar bergerak ke bawah. (Sebenarnya, gaya adalah sebanding dengan sinus dari sudut, yang kira-kira sebanding dengan sudut untuk sudut kecil.)
Sebagai aktuator menekan itu flexes musim semi flat ketika musim semi melengkung membuat kontak listrik menyentuh. Ketika musim semi flat tertekuk cukup itu akan memberikan kekuatan yang cukup untuk kompres musim semi melengkung dan kontak akan mulai bergerak.
    Seperti musim semi datar bergerak ke bawah dengan gaya ke atas dari musim semi melengkung mengurangi menyebabkan gerakan untuk mempercepat bahkan tanpa adanya gerak lanjut dari actuator sampai musim semi datar dampak kontak normal-terbuka. Meskipun unflexes semi datar ketika bergerak ke bawah, switch dirancang sehingga efek bersih adalah percepatan. Ini "over-pusat" tindakan menghasilkan suara klik yang sangat khas dan merasa sangat renyah.
Dalam posisi ditekan musim semi melengkung menyediakan beberapa gaya ke atas. Jika aktuator dilepaskan ini akan memindahkan semi datar ke atas. Sebagai bergerak semi datar, kekuatan dari kenaikan semi melengkung. Hal ini mengakibatkan percepatan sampai kontak normal-tertutup yang terkena. Sama seperti dalam arah ke bawah, switch dirancang sedemikian rupa sehingga musim semi melengkung cukup kuat untuk memindahkan kontak, bahkan jika musim semi datar harus fleksibel, karena aktuator tidak bergerak selama changeover

Aplikasi
   Aplikasi umum dari switch mikro termasuk interlock pintu di switch oven microwave, meratakan dan keamanan di lift, mesin penjual, dan untuk mendeteksi kemacetan kertas atau kesalahan lainnya dalam mesin fotokopi. Switch mikro biasanya digunakan dalam switch tamper pada katup gerbang pada sistem sprinkler kebakaran dan sistem air pipa lainnya, di mana perlu untuk mengetahui apakah katup telah dibuka atau ditutup.
Switch mikro sangat banyak digunakan, antara aplikasi mereka peralatan, mesin, kontrol industri, kendaraan, dan banyak tempat lainnya untuk mengendalikan sirkuit listrik. Mereka biasanya dinilai untuk membawa arus dalam rangkaian kontrol saja, meskipun beberapa switch dapat langsung digunakan untuk mengontrol motor kecil, solenoida, lampu, atau perangkat lainnya. Khusus kekuatan rendah versi dapat merasakan koin di mesin penjual, atau dengan aliran terpasang baling-baling, udara. Switch mikro dapat langsung dioperasikan oleh mekanisme, atau dapat dikemas sebagai bagian dari aliran, tekanan, atau switch temperatur, dioperasikan oleh mekanisme penginderaan seperti tabung Bourdon. Dalam aplikasi ini yang terakhir, pengulangan dari posisi aktuator ketika beralih terjadi adalah penting untuk jangka panjang akurasi. Sebuah motor didorong cam (biasanya relatif lambat kecepatan) dan satu atau lebih switch mikro membentuk mekanisme timer. Mekanisme snap-switch dapat tertutup dalam perumahan logam termasuk tuas penggerak, piston atau rol, membentuk limit switch yang berguna untuk mengontrol peralatan mesin atau mesin elektrik-driven.

Mengenal IC LM741 (Op-Amp / Penguat operasional)

   Penguat operasional (Op-Amp) adalah suatu blok penguat yang mempunyai dua masukan dan satu keluaran. Penguat operasional (Op-Amp) dikemas dalam suatu  rangkaian terpadu (integrated circuit-IC). Salah satu tipe operasional amplifier (Op-Amp) yang populer adalah LM741. IC LM741 merupakan operasional amplifier yang dikemas dalam bentuk dual in-line package (DIP). Kemasan IC jenis DIP memiliki tanda bulatan atau strip pada salah satu sudutnya untuk menandai arah pin atau kaki nomor 1 dari IC tersebut. Penomoran IC dalam kemasan DIP adalah berlawanan arah jarum jam dimulai dari pin yang terletak paling dekat dengan tanda bulat atau strip pada kemasan DIP tersebut. IC LM741 memiliki kemasan DIP 8 pin seperti terlihat pada gambar berikut.
 Konfigurasi Pin IC Op-Amp 741 

    Pada IC ini terdapat dua pin input, dua pin power supply, satu pin output, satu pin NC (No Connection), dan dua pin offset null. Pin offset null memungkinkan kita untuk melakukan sedikit pengaturan terhadap arus internal di dalam IC untuk memaksa tegangan output menjadi nol ketika kedua input bernilai nol. IC LM741 berisi satu buah Op-Amp, terdapat banyak tipe IC lain yang memiliki dua atau lebih Op-Amp dalam suatu kemasan DIP. IC Op-Amp memiliki karakteristik yang sangat mirip dengan konsep Op-Amp ideal pada analisis rangkaian. Pada kenyataannya IC Op-Amp terdapat batasan-batasan penting yang perlu diperhatikan. Pertama, tegangan maksimum power supply tidak boleh melebihi rating maksimum, karena akan merusak IC. Kedua, tegangan output dari IC op amp biasanya satu atau dua volt lebih kecil dari tegangan power supply. Sebagai contoh, tegangan swing output dari suatu op amp dengan tegangan supply 15 V adalah ±13V. Ketiga, arus output dari sebagian besar op amp memiliki batas pada 30mA, yang berarti bahwa resistansi beban yang ditambahkan pada output op amp harus cukup besar sehingga pada tegangan output maksimum, arus output yang mengalir tidak melebihi batas arus maksimum. 

  Pada sebuah peguat operasional (Op-Amp) dikenal beberapa istilah yang sering dijumpai, diantaranya adalah : 

-Tegangan ofset masukan (input offset voltage) Vio menyatakan  seberapa jauh v+ dan v terpisah untuk mendapatkan keluaran 0 volt. 
-Arus offset masukan (input offset current) menyatakan kemungkinan seberapa berbeda kedua arus masukan.
- Arus panjar masukan (input bias current) memberi ukuran besarnya arus basis (masukan). 
-Harga CMRR menjamin bahwa output hanya tergantung pada (v+) – (v-), walaupun v+ dan v- masing-masing berharga cukup tinggi. 

   Untuk menghindari keluaran yang berosilasi, maka frekuensi harus dibatasi, unity gain frequency memberi gambaran dari data tanggapan frekuensi. hal ini hanya berlaku untuk isyarat yang kecil saja karena untuk isyarat yang besar penguat mempunyai keterbatasan sehingga output maksimum hanya dihasilkan pada frekuensi yang relative rendah.

Pengenalan Bahasa Pemrograman C++


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.

ELEMEN DASAR BAHASA PEMROGRAMAN C++

1. Identifier (Pengenal) Bahasa C++

Identifier adalah nama yang digunakan untuk mempresentasikan variabel, konstanta, jenis (type), fungsi, dan nama program. Identifier dalam pendeklarasian variabel, jenis, atau fungsi pada bahasa pemrograman C++ dimulai dengan sebuah huruf atau garis bawah. Karakter-karakter lain dalam sebuah identifier dapat berupa huruf, angka, garis bawah, atau tanda dollar. Compiler C++ membedakan huruf kecil dan besar. Variabel NAMA_PEGAWAI dan nama_pegawai dipandang sebagai dua identifier yang menggambarkan variabel memori yang berbeda. Contoh identifier yang diperkenankan untuk dipakai: a atau akelas atau kelas$ atau _kelas atau _KELAS$, sedangkan identifier yang tidak diperbolehkan untuk dipakai: $KELAS atau 7kelas atau kelas! atau ..kelas.

2. Himpunan Karakter

Himpunan karakter pada C++ terdiri dari huruf, digit maupun simbol-simbol lainnya (termasuk spasi, karakter kontrol)
Huruf: A B C D E F G H I J K L M N O P Q R S T U V W X Z Y a b c d e f g h i j k l m n o p q r s t u v w x y z
Digit: 0 1 2 3 4 5 6 7 8 9
Simbol dan lain-lain: _ - + * dan sebagainya.

3. Kata-kata Kunci

Kata kunci (keyword) adalah pengenal sistem yang mempunyai makna khusus bagi kompiler. Kegunaan dari golongan ini tidak dapat diubah. Karena itu kata kunci tidak dapat digunakan sebagai pengenal yang dibuat oleh pemrogram.
Kata kunci diusulkan ANSI:
auto, double, int, struct, break, else, loop, switch, case, enum, register, typedef, char, extern, return, union, const, float, short, unsigned, continue, for, signed, void, default, goto, sizeof, volatile, do, if, static, while

Sedangkan turbo C memperluasnya dengan menambahkan beberapa kata kunci:
_cs, _ss, far, near, _ds, asm, huge, pascal, _es, cdecl, interrupt

Sementara itu, Microsoft C/C++ menambah beberapa kata kunci:
_asm, _loadds, _cdecl, _huge, _far, _pascal, _export, _interrupt, _fortran, _segname, _near, _saveregs, _segment, _syscall, _self, _stdcall, _fastcall, _based

4. 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,4x10-36 s/d 3,4x10+38
double 8 byte 1,7x10-308 s/d 1,7x10+308
long double 10 byte 3,4x10_4932 s/d 1,1x10+4932
enum 2 byte -32.768 s/d 32.767
pointer 2 byte (near, based)
pointer 4 byte (far, huge)

4.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

Modifier signed:
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 nilaisigned 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';
}

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";
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.

5. 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.

5.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:

tipe daftar_variabel;
Pada pendefinisian variabel, daftar_variabel dapat berupa sebuah variabel atau beberapa variabel yang dipisahkan dengan koma.

5.2. Memberikan Nilai ke Variabel

Bentuk pernyataan yang digunakan untuk memberikan nilai ke variabel adalah:
variabel = nilai;
Contoh:
jumlah = 10;
harga_barang = 1500;

5.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:
\0 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)

5.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

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

5.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;

5.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;

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 (>>).
ANDSimbol 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

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

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';
}

Hasil eksekusi program di atas, adalah:
a= 115
b= 65
c= 50

Penjelasan hasil program:
Operasi OR pada a:
0000 0000 0101 0001 <- 81="81" br="br">0000 0000 0110 0011 <- 99="99" br="br">-------------------------------
0000 0000 0 1 1 0011 <- 115="115" br="br">
Operasi AND pada b:
0000 0000 0101 0001 <- 81="81" br="br">0000 0000 0110 0011 <- 99="99" br="br">-------------------------------
0000 0000 0100 0001 <- 65="65" br="br">
Operasi XOR pada c:
0000 0000 0101 0001 <- 81="81" br="br">0000 0000 0110 0011 <- 99="99" br="br">-------------------------------
0000 0000 0011 0010 <- 50="50" p="p"> 

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:

//* 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';
}

Hasil eksekusi program:
Nilai x semula = 93
Nilai x kini = 186

Penjelasan hasil program:
0000 0000 0101 1101 <- 93="93" br="br">digeser ke kiri 1 bit
0000 0000 1011 1010 <- 186="186" br="br">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:

//* 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';
}

Hasil eksekusi program:
Nilai x semula = 93
Nilai x kini = 46

Penjelasan hasil program:
0000 0000 0101 1101 <- 93="93" br="br">digeser ke ke kanan 1 bit
0000 0000 0010 1110 <- 186="186" br="br">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 komplemen *
#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

Penjelasan hasil program:
0000 0000 0101 0001 <- 81="81" br="br">inversinya menjadi
1111 1111 1010 1110 <- 6554="6554" br="br">


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 (+).

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: + -

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)

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

Contoh program
//* sisa pembagian (modulus) *
#include 
#include 
void main()
{
clrscr();
cout << 9 % 5 << '\n';
cout << 13 % 5 << '\n';
}

Hasil eksekusi program:
4
3

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.


sumber : http://www.ideelok.com