Materi C++ SD Array, Visualc
Materi C++ SD Array, Visualc
Pendahuluan
Output Program
#include <iostream.h>
void main() {
int x, y, z;
cin >> x;
cin >> y;
z=x+y;
cout << "x + y = " << z << endl;
}
Catatan:
- Perhatikan struktur dan kerangka penulisan program C++
- Perhatikan bahwa pada C++ berlaku case sensitive (huruf besar & huruf kecil dibedakan).
- Perhatikan penggunaan \n dan endl
- Perhatikan extension file source untuk C++ adalah .cpp dan extension dlm bhs C adalah .c
- Perhatikan langkah – langkah kompilasi program C++ (compile build execute)
- Latih penangan error pada saat compile.
Operator
Operator merupakan intruksi khusus yang dikenai untuk variable. Operator-operator yang sering
digunakan dalam pemrograman adalah operator Aritmatika, Operator pembanding, Operator
Logika, dan lain-lain, namun yang akan kita bahas kali ini adalah Operator Aritmatika, Operator
pembanding, dan Operator logika.
Operator Aritmatika
Operator Aritmatika merupakan operator yang digunakan untuk fungsi/operasi matematika,
operator aritmatika dasar untuk C++ dan tanpa proses include :
* : untuk perkalian
/ : untuk pembagian
% : untuk sisa hasil bagi (modulus)
+ : untuk penjumlahan
- : untuk pengurangan
Contoh Program
Output :
Operator Pembanding
Operator pembanding digunakan untuk membandingkan antara dua buah variabel. Operator
pembanding sering pada saat pengecekan atau statemen if, perulangan atau statemen for, while,
do while. Tapi sekarang kita akan membahas dasar penggunaannya dulu. Operator pembanding
yang sering digunakan adalah sebagai berikut :
output:
Operator Logika
Operator logika merupakan operator yang membandingkan hubungan antara dua hasil dari operasi
pembanding. Operator logika membandingkan logika hasil dari dua operasi pembanding dan akan
melakukan operasi khusus apabila bernilai benar dan apabila bernilai salah maka akan melakukan
sebaliknya. Operator yang digunakan dalam operasi logika ada tiga yaitu :
- && Logika dan (AND)
- || Logika or (ATAU)
- ! Logika not (INGKARAN)
Di bawah merupakan tabel logika dari AND, OR, NOT, yang akan terjadi apabila kondisi bernilai
sebagai berikut :
Output:
Tipe Data Dasar C++
Tipe data merupakan format yang digunakan untuk menginisialisasi sebuah variabel, dimana
variabel tersebut mempunyai ukuran, size maupun bertipe string, character ataupun number.
Berikut beberapa tipe data dasar dalam C++ :
Karakter Khusus
Karakter khusus merupakan karakter yang mewakili suatu perintah khusus dalam pemrograman,
karakter khusus tersebut biasa disebut dengan escape. Escape sendiri memberikan intruksi pada
praprosesor tanpa melalui include file header. Berikut karakter-karakter khusus dalam C++.
Variabel
Variabel merupakan suatu pengenal atau identifier yang digunakan untuk memberikan suatu nilai
tertentu didalam pemrograman. Nilai suatu variable bersifat dinamis yang berarti dapat berubah-
ubah, lain hal dengan kontanta yang nilai bersifat tetap / mutlak. Aturan dalam pendeklarasian
variable :
1. Variabel dapat dideklarasi dengan menggunakan gabungan huruf dan angka dengan
syarat karakter pertama haruslah huruf.
2. Variabel yang dideklarasi tidak boleh menggunakan spasi, apabila ingin menggunakan
spasi lebih baik gunakan garis bawah (underscore).
3. Variabel yang dideklarasi tidak boleh menggunakan simbol-simbol khusus seperti : $, &, ?,
<, dan sejenisnya.
4. Panjang variable bebas, tetepi yang bisa dikenali hanyalah 31 karakter pertama. Apabila
nama variable panjang sebaiknya disingkat, misalnya Nomor induk pegawai disingkat NIP.
Output:
Praprosesor :
merupakan compiler untuk merubah source code kedalam bahasa mesin.
File Header :
merupakan file direktori khusus yang dikenali atau disetel melalui compiler.
Dalam C++ sebenarnya masih banyak lagi file header yang digunakan, dan yang umum digunakan
adalah yg tsb diatas.
Contoh penggunaan file header math.h untuk menghitung keliling & panjang diagonal bangun
segiempat :
Output:
Penjelasan Program
#include <math.h> merupakan baris program (file header) untuk fungsi matematika seperti
kuadrat dan akar kuadrat. Float : merupakan type data bilangan real untuk operasi matematika.
CATATAN BAHASA C
Sub program :
Contoh:
void Cetak (char *String);
int Tambah (int a, int b);
Penjelasan:
Jika melihat pada contoh deklarasi pada bahasa C, mungkin timbul pertanyaan apa beda prosedur
dengan fungsi? Prosedur adalah fungsi yang tidak mengembalikan suatu nilai, sebaliknya fungsi
adalah suatu prosedur yang mengembalikan nilai. Dan procedure pada dasarnya adalah function
yang mengembalikan void alias tidak mengembalikan nilai apa-apa.
Pada contoh di atas, maka fungsi Tambah akan mengembalikan suatu nilai yang bertipe integer,
sedangkan prosedur Cetak tidak mengembalikan nilai apa-apa.
Keterangan:
1. Aturan Leksikal
Yang dimaksud aturan leksikal yaitu aturan yang digunakan dalam membentuk suatu deklarasi,
definisi, maupun statement hingga menjadi satu program yang utuh. Aturan ini meliputi beberapa
element antara lain:
a. Token
b. Komentar
c. Identifier
d. Keywords (Reserved Words)
e. Operator
1.a. Token
Token yaitu element terkecil pada bahasa pemrograman yang memiliki arti penting bagi compiler.
Yang termasuk token antara lain: identifier, keywords(reserved words), operator, dan sebagainya.
Token yang satu dengan yang lain dipisahkan dengan satu atau lebih spasi, tab, baris baru, atau
komentar.
1.b. Komentar
Komentar yaitu teks (kumpulan karakter) yang diabaikan oleh Compiler. Komentar sangat berguna
untuk memberi catatan mengenai bagian program tertentu sebagai referensi baik bagi programmer
itu sendiri maupun orang lain yang membaca kode program tersebut.
Pada bahasa C, teks yang berada di antara tanda /* dan tanda */ akan dianggap sebagai
komentar. Dan untuk teks yang ada setelah tanda // juga akan dianggap komentar satu baris.
Berikut adalah contoh penggunaan komentar pada bahasa C:
(* Program mencetak hello world *)
begin
{ Cetak hello World
Oleh Saya
}
Writeln (‘Hello World’);
end.
1.c. Identifier
Identifier merupakan kumpulan karakter yang digunakan sebagai penanda untuk nama variable,
nama tipe data, fungsi, prosedur, dan sebagainya. Suatu identifier harus diawali oleh karakter non
angka, selanjutnya boleh menggunakan karakter angka maupun karakter non angka tersebut di
atas. Namun tidak boleh menggunakan karakter khusus / spesial seperti + - * / ? ! { } [ ] dsb.
sebagainya.
1.d. Keywords (Reserved Words)
Keywords atau Reserved words merupakan kata-kata yang telah ada/didefinisikan oleh bahasa
pemrograman yang bersangkutan. Kata-kata tersebut telah memiliki definisi yang sudah tetap dan
tidak dapat diubah. Karena telah memiliki definisi tertentu, maka kata-kata ini tidak dapat
digunakan sebagai identifier. Pada bahasa C, yang termasuk reserved words antara lain:
break – case – char – const - continue – default – do - double – else - enum - float - for
goto – if - inline - int - long - return - short - signed - sizeof - static - struct - switch - typedef
union unsigned void while
1.e. Operator
Operator digunakan untuk menyatakan suatu perhitungan/operasi. Operator yang digunakan untuk
operasi yang melibatkan satu operand disebut unary operator. Jika melibatkan dua operand maka
disebut binary operator, dan jika melibatkan tiga operand, operator tersebut disebut ternary
operator. Di dalam suatu operasi dapat terdapat banyak operator.
Urutan eksekusi dari operator-operator disebut juga operator precedence. Precedence yang lebih
rendah akan dieksekusi belakangan, misalnya: A = 10 + 5 * 2 , karena precedence operator * lebih
tinggi daripada operator + maka nilai A adalah 20.Untuk mendahulukan eksekusi precedence
yang lebih rendah dapat digunakan tanda ( dan ) sebagai contoh: A = (10 + 5) * 2 = 30
Array
Yang dimaksud array yaitu tipe data berindeks yang terdiri dari satu atau lebih elemen/komponen
yang memiliki tipe data yang sama.
Contoh array berdimensi 1 (satu) :
{bahasa Pascal}
var
bil : array[0..3] of integer;
begin
bil[0] := 1;
bil[1] := 2;
bil[2] := bil[0] + 2;
bil[3] := bil[0] + bil[2];
end;
/*bahasa C*/
void main() {
int bil[4];
bil[0] = 1;
bil[1] = 2;
bil[2] = bil[0] + 2;
bil[3] = bil[0] + bil[2];
}
Contoh array berdimensi 2 (dua) :
{bahasa Pascal}
var
bil : array[0..1,0..1] of integer;
begin
bil[0,0] := 1;
bil[0,1] := 2;
bil[1,0] := bil[0,0] + 2;
bil[1,1] := bil[0,0] + bil[1,0];
end;
/*bahasa C*/
void main() {
int bil[2][2];
bil[0][0] = 1;
bil[0][1] = 2;
bil[1][0] = bil[0][0] + 2;
bil[1][1] = bil[0][0] + bil[1][0];
}
Atau dalam bentuk matriks 2x2 sbb: baris/kolom indek ke-0 indek ke-1
indek ke-0 bil[0][0] = 1 bil[0][1] = 2
indek ke-1 bil[1][0] = 3 bil[1][1] = 4
2. Record (Pascal) atau struct (Bahasa C)
Tipe data ini digunakan untuk merepresentasikan kumpulan (set) elemen/komponen yang
memiliki satu jenis atau lebih tipe data. Tiap element disebut juga field atau property atau
attribute. Di bawah adalah contoh penggunaan record dan structure, dideklarasikan tipe data
terstruktur yang diberi nama TSiswa. Tipe data tersebut terdiri atas dua elemen yang masing-
masing bertipe integer dan char.
Enumerated data type : yaitu tipe data yang didefinisikan sendiri oleh programmer.
3. Expression
Yang dimaksud dengan expression (ekspresi) yaitu suatu pernyataan yang menghasilkan suatu
nilai. Expression tersusun dari operator dan operand yang digunakan untuk menghitung atau
memberi suatu nilai suatu variable atau identifier.
{bahasa Pascal}
type
Tsiswa = record
no_induk : integer;
gender : char;
end;
var
saya : Tsiswa;
teman : array[1..3] of Tsiswa;
begin
saya.no_induk := 10;
saya.gender := ‘L’;
teman[1].no_induk := 1;
teman[1].gender := ‘L’;
teman[2].no_induk := 2;
teman[2].gender := ‘P’;
teman[3].no_induk := 3;
teman[3].gender := ‘P’;
end;
/*bahasa C*/
struct TSiswa {
int no_induk;
char gender;
};
void main() {
struct TSiswa saya, teman[3];
saya.no_induk = 10;
saya.gender = ‘L’;
teman[0].no_induk = 1;
teman[0].gender = ‘L’;
teman[1].no_induk = 2;
teman[1].gender = ‘P’;
teman[2].no_induk = 3;
teman[2].gender = ‘P’;
}
{bahasa Pascal}
type
Thari = (sen,sel,rab,kam,jum,sab,ming);
var
hari : Thari;
begin
hari := sen;
end;
/*bahasa C*/
enum Thari {
sen,sel,rab,kam,jum,sab,ming};
void main() {
Thari hari;
hari := sen;
}
Expression yang paling sederhana yaitu nama variable. Expression yang lebih kompleks akan
melibatkan operator-operator, maupun pemanggilan function atau procedure. Berikut adalah
expression A = nama variable, 10 = nilai, A + 3 * 2 = expression menggunakan operator,
Calculate(A,B) = melakukan pemanggilan function bernama Calculate
4. Statement
Seperti yang telah disinggung di atas, statement merupakan bagian program yang berisi perintah
yang akan dieksekusi/dijalankan. Karena itu, statement-statement ini menentukan bagaimana
jalannya program dan bagaimana suatu nilai variable dimanipulasi/berubah.
Statement dapat dikelompokan menjadi antara lain:
1. Simple Statement
2. Compound Statement
3. Selection Statement
4. Iteration Statement
4.1. Simple Statement
Yang digolongkan ke dalam simple statement (statement sederhana) yaitu statement yang tidak
berisi statement lainnya, sbb:
- Assignment Statement : statement yang digunakan untuk memberikan nilai ke suatu
variable
- Statement untuk pemanggilan function atau procedure : statement yang memanggil
function atau procedure yang telah didefinisikan pada program
- Jump Statement : statement yang digunakan untuk melompati statement-statement lain,
contoh : Fungsi Bahasa Pascal Bahasa C
- melompat ke statement tertentu goto
- keluar dari iterative statement break
- melompat ke iterasi selanjutnya pada iterative statement continue
- keluar dari function/procedure exit return
4.2. Compound Statement
Compound statement (kumpulan statement) adalah sekumpulan statement yang terdiri dari
statement-statement lain, termasuk juga iteration dan selection statement yang akan dibahas
setelah ini. Kumpulan statement akan diawali dan diakhiri oleh tanda kurung kurawal { dan }
4.3. Selection Statement
Selection Statement melakukan pemeriksaan nilai/kondisi, yang kemudian akan memilih statement
mana yang akan dieksekusi. Statement ini terdiri dari 2 jenis yaitu: if..then..else statement dan
case/switch statement.oStatementahasa Pascal Bahasa C
Contoh: if (a == 0)
b = a;
else
b = -1;
Contoh: if ((a < 0)&&(b < 0))
c = abs(a)+abs(b);
else if ((a==0)&&(b>0))
c=b
else if ((a>0)&&(b==0))
c=a
else {
c = a + b;
Contoh: switch(usia) {
case 5 :
printf(“Balita”);break;
case 15:
printf(“Remaja”);break;
case 25:
printf(“Dewasa”);break;
}
{bahasa Pascal}
uses crt;
procedure Ubah(var a:integer);
begin
a := 10;
writeln(‘Ubah menjadi=’,a);
end;
{main program}
var bil : integer;
begin
bil := 1;
writeln(‘Bil sebelum=’,bil);
Ubah(bil);
writeln(‘Bil sesudah=’,bil);
end;
/*bahasa C*/
#include <stdio.h>
void Ubah(int *a)
{
*a = 10;
printf("Ubah menjadi=%i\n",*a);
}
/*main program*/
void main()
{ int bil;
bil = 1;
printf("Bil sebelum=%i\n",bil);
Ubah(&bil);
printf("Bil sesudah=%i\n",bil);
}
Referensi :