ALGORITMA
DAN PEMOGRAMAN 3
Kelompok
7:
1.
ANGGI
ED’DRIANA PUTRI
2.
ASDI
PRAYUDHA RAHADI
3.
CEISARDO
GABE
4.
M.
DANI HAWARI
5.
RINTO
IRAWAN
Kelas
: 2IA07
Tugas
: Array
Universitas Gunadarma
A.
ARRAY
Array adalah
sekelompok data sejenis yang disimpan ke dalam variabel dengan nama yang sama,
dengan memberi indeks pada variabel untuk membedakan antara yang satu dengan
yang lain.
a)
Variabel Array
nama_variabel[indeks]
ketentuan nama variabel arrray sama
dengan nama variabel biasa.
indeks menunjukkan nomor dari variabel
.
b)
Deklarasi Variabel Array
BU :
tipe nama_variabel[indeks];
Contoh : float bil[10];
Deklarasi variabel array dengan nama bil yang akan
menampung 10 data yang
bertipe float.
Indeks 10 menunjukkan
variabel bil terdiri
dari 10 elemen, dimana
setiap elemen akan menampung sebuah
data.
Indeks array
dimulai dari nol(0) , sedang nomor elemen biasanya dimulai dari satu(1). Nomor
elemen dapat dibuat sama dengan nomor indeks untuk mempermudah pembuatan
program yaitu dengan memberi indeks satu lebih banyak dari jumlah data yang
dibutuhkan dan Setiap elemen array dapat diakses melalui index, sehingga menjadi :
float bil[11]
B.
INISIALISASI
ARRAY 1 DIMENSI
Inisialisasi dapat dilakukan bersama dengan deklarasi atau
tersendiri. Inisialisasi suatu array adalah dengan meletakkan elemen array di
antara tanda kurung kurawal {}, antara elemen yang satu dengan lainnya
dipisahkan koma.
int
bil[2] = {4,1,8}
bil[0]
= 4
bil[1]
= 1
bil[2]
= 8
a)
Automatic Array
Automatic
Array adalah Inisialisasi array dilakukan di dalam fungsi tertentu. Hanya compiler C yang berstandar ANSI C yang dapat
menginisialisasikan automatic array.
Cara menginisialisasikan array dari compiler yg tidak mengikuti
standar ANSI C:
1. Diinisialisasikan di luar fungsi
sebagai variabel GLOBAL/EXTERNAL ARRAY.
int
bil[2]={0,0,0};
main()
2. Diinisialisasikan didlm fungsi
sebagai variabel LOKAL/STATIC ARRAY.
main()
{
static
int bil[2]={0,0,0};
.........
Pada
automatic array yang tidak diinisialisasikan , elemen array akan memiliki nilai
yang tidak beraturan. Bila global & static array tidak diinisialisasi maka
semua elemen array secara otomatis akan diberi nilai nol(0).
Contoh :
OUTPUT:
b) Mendefinisikan Jumlah Elemen Array
Dalam Variabel
Besarnya variabel
indeks dapat ditentukan dengan menggunakan
preprocessor directives #define
#define N 40
main()
{
int
no[N],gaji[N],gol[N],status[N],juman[N];
Bila besari indeks akan diubah
menjadi 50, cukup diganti dengan
#define N 50
C.
ARRAY 2 DIMENSI
nama_variabel
[indeks1][indeks2]
indeks1 : jumlah/nomor baris
indeks2 : jumlah/nomor kolom
Jumlah elemen yang dimiliki array 2
dimensi dapat ditentukan dari hasil perkalian indeks1
* indeks2
misal : array A[2][3] akan memiliki
2*3 = 6 elemen.
main()
{
float bil [5] [5]
.......
dapat dituliskan dengan #define
#define N 5
main()
{
float
bil [N] [N]
.......
a)
Inisialisasi Array 2 Dimensi
main()
{
float
bil[2] [3] =
{
{ 1,2,3}, /*baris 0*/
{ 4,5,6}, /*baris
1*/
}
elemen bil [0] [0] = 1
elemen bil [0] [1] = 2
elemen bil [0] [2] = 3
elemen bil [1] [0] = 4
elemen bil [1] [1] = 5
elemen bil [1] [2] = 6
Contoh :
main()
{
int
x[3][5];
int
y,z;
int
hitung=0;
for(y=0;y<3;y++)
{
printf("y
= %d\n",y);
for(z=0;z<5;z++)
{
hitung+=z;
x[y][z]
= hitung;
printf("%/t%3d
- %3d\n",z,x[y][z]);
}
}
}
OUTPUT:
y = 0
0- 0
1- 1
2- 2
3- 6
4- 10
y = 1
0- 10
1- 11
2- 13
3- 16
4- 20
y = 2
0- 20
1- 21
2- 23
3- 26
4- 30
D.
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 :
1.
Array dapat mempunyai sejumlah nilai, sedangkan tipe
data lain hanya dihubungkan dengan sebuah nilai saja.
2.
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.
Contoh:
#include <stdio.h>
#include <conio.h>
int length(char x[]);
int main()
{
char string[256];
printf(“Ketikkan sembarang kalimat <maks.256
karakter> : “);
gets(string);
Lstring=length(string);
getch();
return(0);
}
int length(char x[])
{
int i, cek, L=0;
for(i=0;i<256;i++)
{
if
(x[i]!=”)
L+=1;
else break;
}
return(L);
}
b)
Array dua
dimensi sebagai parameter :
–
Pengiriman parameter berupa array dua dimensi hampir sama dengan
pengiriman parameter array satu dimensi, hanya saja perbedaannya adalah dalam
array dua dimensi harus menyebutkan baris dan kolom array dimensi dua tersebut,
mendeklarasikan MAX_ROWS dan MAX_COLS yang digunakan untuk pengiriman
parameter array dua dimensi dan pada saat pengiriman parameter formal array dua
dimensi, kita harus menyebutkan banyaknya dimensi array untuk kolom, sehingga
ukuran kolom dapat diketahui, hal ini berkaitan dengan pemesanan variabel array
di memori.
Contoh:
#include <stdio.h>
#include <conio.h>
void isi_matriks(int m[10][10],int b,int k);
int main()
{
int m1[10][10];
printf(“Masukkan baris dan kolom Matriks
I <maks. 10 x 10> : “);
scanf(“%d x %d”,&b1,&k1);
printf(“Masukkan baris dan kolom Matriks
II <maks. 10 x 10> : “);
scanf(“%d x %d”,&b2,&k2);
printf(“Masukkan isi Matriks I : \n”);
isi_matriks(m1,b1,k1);
getch();
return(0);
}
void isi_matriks(int m[10][10],int b,int k)
{
int i,j;
for (i=1;i<=b;i++)
{
for(j=1;j<=k;j++)
scanf(“%d”,&m[i][j]);
}
printf(“Matriks I : \n”);
for (i=1;i<=b;i++)
{
for(j=1;j<=k;j++)
printf(“%8d”,m[i][j]);
printf(“\n”);
}
}
E.
STRING dan ARRAY
1. Pada string terdapat karakter null(\0) di akhir string
2. String sudah pasti array, array
belum tentu string
CONTOH - CONTOH :
1. array dengan pengisian input
melalui keyboard
baca_input()
{
float
nilai[10];
for(i=0;i<10;i++)
scanf("%d",&nilai[i]);
}
2. Fungsi yang mencetak isi array
dari akhir ke awal
cetak_array()
{
float
nilai[10];
for(i=9;i>=0;i--)
scanf("%3f",nilai[i]);
}
3. Menghitung rata - rata isi array
nilai
rata_rata()
{
float
nilai[10],jum*rata;
for(i=0,jum=0;i<=9;i++)
jum+=nilai[i];
rata=jum/i;
}
4. Mencari nilai terbesar
besar()
float
temp,nilai[10];
{
for(temp=nilai[0],i=1;i<=9;i++)
if(nilai[i]
> temp)
temp=nilai[i];
}
return(temp)
No comments:
Post a Comment