Array Pengertian Array Dan Contoh Sorce Code
Array Pengertian Array Dan Contoh Sorce Code
ARRAY
Array adalah kumpulan dari nilai-nilai data bertipe sama dalam urutan tertentu yang
menggunakan sebuah nama yang sama. Nilai-nilai data di suatu larik disebut dengan
elemen-elemen larik. Letak urutan dari suatu elemen larik ditunjukkan oleh suatu
subscript atau suatu index.
Menurut dimensinya, array dapat dibedakan menjadi :
1. Array satu dimensi
Setiap elemen array dapat diakses melalui index . Index array secara default
dimulai dari 0.
Deklarasi array :
Tipe_array nama_array[ukuran]
2. Array dua dimensi
Array dua dimensi merupakan array yang terdiri dari m buah baris dan n buah
buah kolom bentuknya dapat berupa matriks atau tabel.
Deklarasi array :
Tipe_array nama_array [baris][kolom]
3. Array multidimensi
Array multidimensi merupakan array yang mempunyai ukuran lebih dari dua.
Bentuk pendeklarasian array multidimensi sama saja dengan deklarasi array
dimensi satu maupun dimensi dua.
Deklarasi array :
Tipe_array nama_array [ukuran 1][ukuran 2] . . . [ukuran N]
Perbedaan array dengan tipe data lain :
Array dapat mempunyai sejumlah nilai, sedangkan tipe data lain hanya dihubungkan
dengan sebuah nilai saja. Array dapat digunakan untuk menyimpan beberapa nilai tipe
data lain data (char, int, float, double, long, dll) yang sama dengan satu nama saja.
Selain itu, array dapat berupa satu dimensi atau lebih, sedangkan tipe data lain hanya
berupa satu dimensi.
Array juga dapat digunakan sebagai parameter. Jenisnya :
a. Array dimensi satu sebagai parameter :
Pengiriman parameter berupa array dimensi satu merupakan pengiriman
secara acuan/referensi, karena yang dikirimkan adalah alamat dari elemen pertama
arraynya, bukan seluruh nilai-nilai elemenya. Alamat elemen pertama dari array
dapat ditunjukkan oleh nama lariknya yang tidak ditulis dengan indeknya.
b. Array dua dimensi sebagai parameter :
D. FUNGSI
Fungsi sama seperti halnya dengan procedure, namun tetap ada perbedaannya yaitu
fungsi mempunyai output dengan tipe variabel yang kita tentukan. Dan cara pemanggilan
variabel ada 2 macam dalam pascal. Yaitu :
o Mengoutputkan
nilai
dari
fungsi
tersebut
Contoh
:
Writln
(namafungsi(parameter));
o Dengan assignment Variabel1 := namafungsi(parameter);
Berbeda dengan procedure yang bisa tidak menggunakan parameter, fungsi harus
menggunakan parameter dalam penggunaannya.
algoritmik
program faktorial
kamus : a : integer
function faktor (a : integer) integer
algoritma
input (a)
output (faktor(a))
function faktor (a:integer) integer
kamus :
i, hasil : integer
algoritma :
hasil 1
i traversal [a..1]
hasil hasil * i
faktor hasil
FUNCTION identifier (daftar parameter) : type ;
Blok fungsi juga diawali dengan kata cadangan Begin dan di akhiri dengan
kata cadangan End dan titik koma.
E. POINTER
Pointer :(variabel penunjuk) adalah suatu variabel yang berisi alamat memori dari
suatu variabel lain. Alamat ini merupakan lokasi dari obyek lain (biasanya variabel lain)
di dalam memori. Contoh, jika sebuah variabel berisi alamat dari variabel lain, variabel
pertama dikatakan menunjuk ke variabel kedua
Operator Pointer ada dua, yaitu :
a. Operator &
Operator & bersifat unary (hanya memerlukan satu operand saja).
Operator & menghasilkan alamat dari operandnya.
b. Operator *
Operator * bersifat unary (hanya memerlukan satu operand saja).
Operator * menghasilkan nilai yang berada pada sebuah alamat.
Deklarasi pointer
Seperti halnya variabel yang lain, variabel pointer juga harus dideklarasikan
terlebih dahulu
sebelum digunakan. Bentuk Umum :
Tipe_data *nama_pointer;
Tipe data pointer mendefinisikan tipe dari obyek yang ditunjuk oleh pointer.
Secara teknis, tipe apapun dari pointer dapat menunjukkan lokasi (dimanapun) dalam
memori. Bahkan operasi pointer dapat dilaksanakan relatif terhadap tipe dasar apapun
yang ditunjuk.
Contoh, ketika kita mendeklarasikan pointer dengan tipe int*, kompiler akan
menganggap alamat yang ditunjuk menyimpan nilai integer - walaupun sebenarnya
bukan (sebuah pointer int* selalu menganggap bahwa ia menunjuk ke sebuah obyek
bertipe integer, tidak peduli isi sebenarnya). Karenanya, sebelum mendeklarasikan
sebuah pointer, pastikan tipenya sesuai dengan tipe obyek yang akan ditunjuk.
Contoh Program :
a. Array
#include <stdio.h>
#include <conio.h>
main()
{
int i, n, nilai[100], rata,jumlah=0;
printf("Berapakah komponen nilai yang akan di hitung? ");
scanf("%d", &n);
for(i=0;i<=n;i++)
{
printf("Nilai : "); scanf("%d", &nilai[i]);
jumlah=jumlah+nilai[i];
}
rata=jumlah/n;
printf("Rata-rata Nilai adalah : %d\n", rata);
if(rata>=65)
{
printf("Selamat Anda Lulus");
}
else
{
printf("Maaf, Anda Tidak Lulus :(") ;
}
getche();
}
b. Record
#include <stdio.h>
#include <conio.h>
main()
{
struct data_tentor{
int nim;
char nama [20];
}data[10];
int i, n;
printf("-----------------------\n");
printf("====Data Tentor Brs====\n");
printf("-----------------------\n");
printf("Masukan Jumlah Tentor : "); scanf("%d", &n);
for(i=0;i<n;i++)
{
printf("Data %d \n\n", i+1);
printf("NIM : "); scanf("%d", &data[i].nim);
printf("Nama : "); scanf("%s", &data[i].nama[i]);
printf("--------------\n");
}
printf("========================\n");
printf("======DATA TENTOR=======\n");
printf("========================\n");
printf("|| NIM
| Nama
||\n");
printf("========================\n");
for(i=0;i<n;i++)
{
printf("|| %d
|
%s
||\n\n", data[i].nim,
data[i].nama);
}
getche();
}
c. Function
#include <cstdlib>
#include <iostream>
using namespace std;
double hasilp,hasilpp,hasils,hasill;
void persegi(double x)
{
hasilp=x*x;
}
void persegipanjang(double p,double l)
{
hasilpp=p*l;
}
cin>>c;
persegipanjang(b,c);
cout<<"LUAS= "<<hasilpp<<endl;
}
else if(pilih==3)
{
cout<<"alas =";
cin>>d;
cout<<"tinggi =";
cin>>e;
segitiga(d,e);
cout<<"LUAS= "<<hasils<<endl;
}
else if(pilih==4)
{
cout<<"jari-jari=";
cin>>f;
lingkaran(f);
cout<<"LUAS= "<<hasill<<endl;
}
else
{
cout<<" error"<<endl;
}
cout<<"APAKAH ANDA INGIN MENGULANG?(Y/T) ";
cin>>anda;
}
while(anda=='y'||anda=='Y');
system("PAUSE");
return EXIT_SUCCESS;
}
d. Procedure
#include <iostream>
using namespace std;
int main()
{
int mata_uang;
float n,pounds,dollar;
cout<<"Money Changer"<<endl;
cout<<endl;
cout<<"1. US Dollar
Rp.9200"<<endl;
cout<<"2. Poundsterling Rp.12.000"<<endl;
cout<<endl;
cout<<"Masukkan kode pilihan anda (1,2) : ";
cin>>mata_uang;
cout<<endl;
switch(mata_uang) {
case 1 : {
cout<<"Satuan Mata Uang US Dollar : "; cin>>n;
cout<<endl;
dollar = n*9200;
cout<<n<<" US Dollar = Rp."<<dollar<<endl;
cout<<endl;
}
break;
case 2 : {
cout<<"Satuan Mata Uang Poundsterling : "; cin>>n;
cout<<endl;
pounds = n * 12000;
cout<<n<<" Poundsterling = Rp."<<pounds<<endl;
cout<<endl;}
break;
default: cout<<" Input Salah !!! "<<endl;
}
system("PAUSE");
return EXIT_SUCCESS;
}
e. Pointer
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
#define MAX_STRING_LEN 80
int main(int argc, char *argv[])
{
char* S1 = "cccc";
char* S2 = "dddd";
int i, l;
S2 = S1;
S1[0] = S1[1] = S1[2] = '*';
S1[3] = 0;
printf("S1:\t%s\n",S1);
printf("S2:\t%s\n",S2);
system("PAUSE");
return 0;
}