Variabel dan Array
VARIABEL
1. Variabel
Otomatis
· Penjelasan:
Variabel otomatis adalah
variable yang hanya dikenal di dalam suatu blok saja (dalam tanda {…}), baik
itu blok pemilihan, pengulangan ataupun fungsi. Dikatakan ‘otomatis’ karena
variable ini dialokasikan pada saat pendeklarasian dan akan didealokasikan
secara otomatis ketika program keluar dari suatu blok. Walaupun bersifat opsional,
namun untuk mempertegas bahwa variable tersebut sebagai variable otomatis, kita
dapat menggunakan kata kunci auto pada saat pendeklarasian.
· Syntax:
auto tipe_data
nama_variabel;
· Contoh:
#include
Int main(void) {
Int a;
/*Melakukan blok
pemilihan*/
if (a>0) {
auto int var_otomatis; /*Mendeklarasikan
variable otomatis */
/* Dalam blok ini
variable var_otomatis dikenali*/
…
} /*akhir blok pemilihan*/
/*di sini variable
var_otomatis sudah tidak dikenali lagi*/
return 0;
}
Contoh hasil yang akan
diperoleh dari program di atas adalah:
Masukkan nilai pangkat:3
5^3=125
2) Variabel statis:
· Penjelasan:
Variabel statis adalah
suatu variable yang menyimpan nilai permanen dalam memori, artinya variable
tersebut akan menyimpan nilai terakhir yang diberikan. Untuk menyatakan bahwa
suatu variable adalah variable statis adalah dengan menggunakan kata kunci
static.
· Syntax:
static tipe_data
nama_variabel;
· Contoh:
#include
/*Mendefinisikan sebuah
fungsi dengan nama KaliSepuluh()*/
Int KaliSepuluh (void) {
static int a=1; /*Mendeklarasikan variable statis*/
a=a*10;
return a;
}
/*Fungsi utama*/
Int main (void) {
/*Mendeklarasikan
variable x,y, dan z untuk menampung nilai dari fungsi*/
Int x,y,z;
x=KaliSepuluh();
/*Melakukan pemanggilan fungsi untuk pertama kali*/
y=KaliSepuluh();
/*Melakukan pemanggilan fungsi untuk kedua kali*/
z=KaliSepuluh();
/*Melakukan pemanggilan fungsi untuk ketiga kali*/
/*Menampilkan nilai yang
terdapat pada variable x,y, dan z*/
printf(“Nilai
x=%d\n”,x);
printf(“Nilai
y=%d\n”,y);
printf(“Nilai
z=%d\n”,z);
return 0;
}
Contoh hasil yang akan
diperoleh adalah:
Nilai x =10
Nilai y=100
Nilai z= 1000
3)Variabel eksternal:
· Penjelasan:
Bahasa C mengizinkan
kita untuk menuliskan syntax program ke dalam file yang terpisah dengan tujuan
untuk modularisasi program. Untuk itu apabila kita ingin mendeklarasikan
variabel yang dapat dikenali dan diakses oleh masing-masing file yang terpisah
tersebut, maka variable itu harus kita deklarasikan sebagai variable eksternal
. Adapun caranya adalah dengan menambahkan kata kunci ekstern pada saat
pendeklarasian.
· Syntax:
Ekstern tipe_data
nama_variabel;
· Contoh:
Dalam file utama.c :
#include
int var_eksternal; /*deklarasi
variable*/
int main (void){
var_eksternal=100;
printf(“Nilai
var_eksternal:&d\n”, var_eksternal);
/*Memanggil fungsi
SetNilai() yang terdapat pada file eksternal.c*/
SetNilai();
printf(“Nilai
var_eksternal:%d\n”, var_eksternal);
return 0;
}
Dalam file eksternal.c :
…
extern int var_
eksternal;
void SetNilai(void) {
var_eksternal=500;
}
…
Apabila dikompilasi dan
dijalankan maka program di atas akan memberikan hasil sebagai berikut:
Nilai var_eksternal:100
Nilai var_eksternal:500
4) Variabel Register:
· Penjelasan:
Berbeda dengan variable
biasa yang akan bertempat di memori, variable register ini akan disimpan di
dalam register CPU. Dengan demikian, apabila kita ingin mengisikan atau
mengubah nilai variable register, maka kita tidak perlu melakukan akses
terhadap memori sehingga proses yang dilakukan pun lebih cepat.Perlu
diperhatikan bahwa variable register ini hanya dapat diterapkan ke tipe
bilangan bulat, karakter, dan pointer saja. Selain itu variable ini hanya boleh
dideklarasika sebagai variable lokal ataupun parameter dari fungsi. Untuk
mendeklarasikannya kita harus menggunakan kata kunci register.
· Syntax:
register tipe_data
nama_variabel;
· Contoh:
#include
/*Mendefinisikan fungsi
untuk menghitung nilai perpangkatan Be */
int
Pangkat(register int B, register int e){
/*Mendeklarasikan
variable register*/
register int hasil;
hasil=1;
for(;e;e--){
hasil *= B;
}
return hasil;
}
/*Fungsi utama*/
Int main(void){
printf(“2^6=%d”,Pangkat(2,6)); /*Menghitung
26*/
return 0;
}
Hasil yang akan
diperoleh dari program di atas adalah:
2^6=64
5) Variabel Pointer
· Penjelasan:
Variabel pointer adalah
variable yang berisi alamat variable lain. Variable pointer dideklarasi dengan
menambahkan tanda bintang sebelum nama variable.
· Syntax:
data_type *pointer_name;
· Contoh:
#include
void main (){
int a,b;
int
*p; /*1*/ p adalah variable pointer
a=10;b=20; /*2*/
p=&a; /*3*/
printf(“%x%d\n”,p,*p);
*p=b+15; /*4*/
Printf(“%d\n”,a);
}
STORAGE
CLASS
Class Storage dapat kita gunakan untuk menentukan usia dan
kehidupan dan ruang lingkup dari varibel. Bagaimana penyimpanan (Storage) itu dialokasikan untuk variabel serta bagaimana
variabel itu diperlakukan oleh compiler, semuanya tergantung dari Class Storage.
Pada dasarnya, Class Storage dibagi menjadi lima tipe:
Pada dasarnya, Class Storage dibagi menjadi lima tipe:
1. Variabel Global
2. Variabel Local
3. Variabel Register
4. Variabel Static
5. Variabel Extern
Variabel Global pada C++
Variabel Global adalah variabel yang sudah didefinisikan diawal,
sebelum semua badan dari fungsi dan tersedia di seluruh program. Berikut adalah
contohnya:
using namespace std;
int globe; // Variabel Global
void func();
int main()
{
.....
}
Variabel Local pada C++
Variabel Local adalah suatu variabel yang dapat di definisikan dan
tersedia hanya pada ruang lingkup (Scope) tertentu.
Variabel Local juga dapat disebut dengan Variabel Otomatis karena variabel ini
dapat muncul ketika ruang lingkupnya dimasukkan dan secara otomatis akan keluar
ketika ruang lingkupnya berakhir.
Keyword auto dapat kita gunakan, tetapi secara default semua variabel lokal adalah auto (otomatis). Jadi, kita tidak perlu menambahkan keyword auto sebelum deklarasi variabel.
Keyword auto dapat kita gunakan, tetapi secara default semua variabel lokal adalah auto (otomatis). Jadi, kita tidak perlu menambahkan keyword auto sebelum deklarasi variabel.
Variabel Register pada C++
Variabel Register ini merupakan salah satu jenis dari variabel
lokal. Keyword dapat digunakan untuk memberitahukan Compiler untuk mengakses
variabel ini secepat mungkin. Variabel ini disimpan di dalam Register agar
dapat meningkatkan kecepatan akses.
Tetapi, kalian tidak akan pernah menggunakan atau menghitung alamat dari variabel register dan juga variabel register hanya dapat di deklarasikan di dalam block. Artinya, kalian tidak dapat memiliki variabel register global ataupun statis.
Tetapi, kalian tidak akan pernah menggunakan atau menghitung alamat dari variabel register dan juga variabel register hanya dapat di deklarasikan di dalam block. Artinya, kalian tidak dapat memiliki variabel register global ataupun statis.
Variabel Static pada C++
Variabel Static adalah variabel yang penyimpanannya sudah di
inisialisasi dan dialokasikan hanya sekali diawal ketika program dijalankan dan
tidak peduli berapa banyak atau sering digunakan pada program. Variabel Static
dapat mempertahankan nilainya sampai program itu berakhir. Berikut adalah
contohnya:
void fun()
{
static int i = 10;
i++;
cout << i;
}
int main()
{
fun(); // Output = 11
fun(); // Output = 12
fun(); // Output = 13
}
i adalah Static, maka akan selalu mempertahankan nilainya melalui pemangginalan fungsi dan hanya di inisialisasikan sekali diawal.
Specifier Static juga dapat di gunakan pada Class, tetapi kita akan membahas hal tersebut pada bagian selanjutnya.
Variabel Extern pada C++
Keyword ini dapat kita gunakan untuk mengakses variabel di dalam
file yang sudah di definisikan dan di deklarasikan pada file lain. Artinya,
keberadaan Variabel Global pada satu file sudah di deklarasikan menggunakan
keyword extern pada file lain:
Contoh, terdapat dua file C++. Berikut adalah kode dari File pertama:
file1.cpp
Contoh, terdapat dua file C++. Berikut adalah kode dari File pertama:
file1.cpp
#include <iostream>
using namespace std;
int globe;
void func();
int main()
{
...
...
}
Berikut adalah kode dari File kedua:
file2.cpp
extern int globe;
int b = globe + 10;
Dari kedua file diatas, Variabel Global pada satu file digunakan pada file lain dengan menggunakan keyword extern
ARRAY
PENGERTIAN
Array (larik) ialah
sekumpulan variabel-variabel yang memiliki nama dan tipe data yang sama satu
dengan lainnya. Juga bisa diartikan sebagai sekelompok data sejenis yang
tersimpan di dalam variabel dengan nama sama. maka dari itu Untuk dapat
membedakan antara array satu dengan lainnya dapat dengan memberikan indeks pada
masing-masing variable tersebut.
1. STRUKTUR DATA PALING MENDASAR
Dalam menyusun fungsi
array terdapat 3 struktur yang paling mendasar, antara lain
- Kumpulan
data dengan tipe sama yang jumlahnya tertentu
- Akses
setiap elemen menggunakan indeks
- Disimpan
pada tempat yang saling bersambungan (contiguous)
2.
DEKLARASI
Untuk dapat memasukan
array dalam sebuah program, kita harus memahami masing-masing pendeklarasian
dari array tersebut, berikut ini deklarasi array :
⊕ Array Statis
int A[10];
char kata[15];
float matriks[2][3];
⊕ Array Dinamis
cin >> n;
A = new int[n]; atau
int [ ] A = new
int[n];
⊕ Inisialisasi
int [ ] A = { 1, 2, 3,
4, 5};
int [ ] A;
A = { 1, 2, 3, 4,
5}; // illegal
ABSTRAKSI
Abstraksi merupakan
proses representasi data dan program yang sama dengan pengertiannya dengan
menyembunyikan detail implementasi. hal ini bertujuan agar para programmer
dapat lebih berfokus pada konsep tertentu saja dalam satu waktu. selain itu
mengembangkan mekanisme abstrak untuk keperluan komputasi tertentu pada level
yang lebih tinggi. ada 2 lapisan abstaksi yaitu:
- Mendefinisikan
objek yang ingin dimanipulasi (representasi data dalam struktur
data)
- Mendefinisikan
operasi yang akan dilakukan pada struktur data (mengimplementasikan
algoritma)
TIPE DATA
ABSTRAK (TDA)
Tipe Data abstrak atau
sering juga disebut bstract data type (ADT) merupakan tipe data yang
hanya dapat diakses lewat interface. Mengacu ke program dalam penggunaan
TDA sebagai client untuk program yang menentukan tipe data. sebagai contoh dalam
implementasi sebagai berikut:
⊕ Interface adalah
opaque = client tidak dapat melihat implementasi
KEUNTUNGAN TIPE
DATA ABSTRAK (TDA)
penggunaan tipe data
abstrak sangat berguna dalam melakukan pemrograman, karena dengan programmer
dapat lebih berfokus pada satu program dan hasil yang memuaskan, berikut ada 4
keuntungan menggunakan TDA :
- Menyediakan mekanisme yang
efektif untuk mengorganisasikan sistem software yang besar
- Menyediakan cara untuk
membatasi ukuran dan kompleksitas interface antara algoritma dan
- struktur data yang bersesuaian
dan program yang menggunakan algoritma dan struktur data
- Interface TDA mendefinisikan
arti yang “pas” dari komunikasi
PUSHDOWN
STACK TDA
Salah satu jenis TDA
yang paling sering digunakan ialah pushdown stack. Pushdown Stack TDA
mempunyai fungsi untuk menyediakan dua operasi dasar yaitu insert
(push) item baru dan delete (pop) item
yang paling akhir disisipkan agar dapat memahasi dengan mudah serta menggunakan
sistem LIFO (Last in- first out) berikut contoh gambar dalam jenis
TDA ini :
INTERFACES
TDA PUSHDOWN-STACK
Interfaces TDA
Pushdown-stack Digunakan untuk evaluasi ekspresi aritmetika :
⊕ Ekspresi Infiks
Operator berada
di antara operan, Misalnya 4 + 5 (4 dan 5 adalah operan)
⊕ Ekspresi Posfiks
Operator berada
setelah operan, misalnya 4 + 5 ditulis sebagai 4 5 +
⊕ Interface : Client
bisa menggunakan empat operasi
Disimpan
dalam STACK.h
NOTASI
POSFIKS
berikut ini contoh
penggunaan notasi Posfiks :
⊗ Apa notasi posfiks
untuk ekspresi infiks :
6 + 5 * 9 ?
⊗ Apa notasi infiks
untuk ekspresi posfiks :
5 9 8 + 4 6 * * 7 + *
?
5 9 8 – 7 1 – * + 7 * ?
5 9 8 – 7 1 – * + 7 * ?
Catatan : tanda kurung
tidak diperlukan pada notasi posfiks
NOTASI
POSFIKS DAN PUSHDOWN STACK
Berikut ini contoh
penggunaan Notasi Posfiks dan Pushdown Stack :
Add caption |
TIPE DATA ABSTRAK (TDA) ARRAY
Tipe data abstrak
array mempunya sifat setiap instan objek data adalah himpunan pasangan
berbentuk (indeks, harga) dan tidak ada pasangan himpunan dengan indeks sama
FUNGSI-FUNGSI
YANG DIBERLAKUKAN PADA ARRAY :
a. Buat =
membuat array kosong awal.
b. Simpan =
menambah pasangan berbentuk (indeks, harga) ke dalam himpunan, dan jika
terdapat.
c. pasangan
dengan indeks sama = hapus pasangan lama.
d. Tampilkan =
tampilkan harga dari pasangan bila diberikan indeksnya.
Sebagai contoh,
berikut ini tertuang TDA array pada sebuah program :
TDA Array
instans
himpunan pasangan berbentuk (indeks,
harga), tidak ada pasangan dengan indeks sama
operasi
buat()
simpan(indeks, harga)
tampilkan(indeks)
|
#1 Contoh Program C++ Array 1 Dimensi
Berikut cara
mendeklarasikan array 1 dimensi pada C++:
tipedata [totalindex];
//atau
tipedata [] = { nilai1, nilai2, dst };
Jadi, ada dua cara
mendeklarasikan sebuah array berdimensi satu cara pertama cukup dengan
menggunakan tipe data dan total index yang diinginkan, contoh:
int umur[5];
Artinya, anda
menyediakan varibel array bernama umur dengan tipe data integer yang mampu
menampung 5 data yang sama mulai dari index 0 - 4.
Ingat: Index pada array
selalu dimulai dari nol.
Kemudian untuk mengisi
nilai untuk tiap index pada array dengan cara:
umur[0] = 18;
umur[1] = 19;
umur[2] = 20;
umur[3] = 21;
umur[4] = 22;
Cara kedua, anda bisa
langsung memberi nilai untuk tiap index pada saat pendeklarasian array. Contoh
kodenya sebagai berikut:
int umur[] = {18,19,20,21,22};
Untuk penerapan array dalam program biasanya dipadukan
dengan perulangan for, while-do, dan do-while. Pilih salah satu namun yang paling umum
adalah for.
Berikut contoh program
sederhana array 1 dimensi pada c++:
#include <iostream>
using namespace std;
int umur[] = {18, 19, 20, 21, 22};
int n, hasil=0;
int main ()
{
for ( n=0 ; n<5 ; ++n )
{
hasil+= umur[n];
}
cout << hasil;
return 0;
}
Dalam program diatas,
saya ingin menjumlahkan nilai dari tiap index umur dan hasilnya saya simpan
kedalam variabel hasil untuk ditampilkan di akhir program.
#2 Contoh Program C++ Array 2 Dimensi
Sama halnya dengan
array 1 dimensi, array 2 dimensi juga memiliki cara yang sama dalam
pendeklarasiannya. Berikut contoh array berdimensi 2:
Deklarasi array 2
dimensi:
tipedata [totalbaris][totalkolom];
Pemberian nilai array
2 dimensi:
namatabel [indexbaris][indexkolom] = nilai;
Sehingga untuk memberi
nilai secara manual menjadi sebagai berikut:
tabel[0][0]= 1; tabel[0][1]= 2; tabel[0][2]= 3; tabel[0][3]= 4; tabel[0][4]= 5;
tabel[1][0]= 2; tabel[1][1]= 4; tabel[1][2]= 6; tabel[1][3]= 8; tabel[1][4]= 10;
tabel[2][0]= 3; tabel[2][1]= 6; tabel[2][2]= 9; tabel[2][3]= 12; tabel[2][4]= 15;
Catatan: anda akan
menggunakan looping bersarang untuk mengakses array dua dimensi (array dua
dimensi seperti sebuah tabel dengan baris dan kolom).
Berikut ini merupakan
contoh program sederhana array 2 dimensi pada c++:
#include <iostream>
using namespace std;
int x,y;
int tabel[3][5] = {
{1, 2, 3, 4, 5},
{2, 4, 6, 8, 10},
{3, 6, 9, 12, 15}
};
int main ()
{
for (x=0; x<3; x++)
for (y=0; y<5; y++)
{
cout << tabel[x][y] << " ";
}
cout << "\n";
}
Dalam program diatas
kita mendeklarasikan variabel x dan y sebagai iterator.
Lalu kita mendeklarasikan varibel tabel dengan tipe array dua dimensi (jumlah baris = 3, jumlah
kolom = 5). Selain itu, kita langsung melakukan inisialisasi pada array
tersebut.
Kemudian dalam program utama kita menggunakan nested loop dengan
fungsi for untuk mengakses baris dan kolom secara otomatis supaya dapat
mencetak isi array tabel.
Sumber:
Komentar
Posting Komentar