Anda di halaman 1dari 18

NAMA:Rima Sartika

NIM:18063012

TUGAS:BAB 9 PEMROGRAMAN (ARRAY)

Dalam memprogram dengan bahasa C kita tentu selalu berhubungan dengan


penyimpanan data. Untuk menyimpan data digunakan identifier, baik iden-tifier yang dibuat
sendiri oleh programmer atau identifier standard yang sudah didefinisikan oleh compiler bahasa
C. masalhanya adalah bahwa seringkali programmer butuh menyimpan data yang serupa namun
berjumlah banyak, seperti misalnya nilai mahasiswa dalam satu kelas tertentu. Data yang
disimpan sama, yaitu nilai, namun berjumlah lebih dari satu. Jika programmer tersebut
menggunakan satu buah variable untuk menyimpan 1 buah nilai tentu mudah.

Pengertian Array Dan Karakteristiknya

Di dalam C, dan juga bahasa pemograman yang lain, terdapat fasilitas untuk menyimpan data
yang sama dengan suatu nama tertentu yang biasa disebut dengan istilah array/larik.

Array adalah suatu tipe data terstruktur yang berupa sejumlah data sejenis (bertipe data sama)
yang jumlahnya tetap dan diberi suatu nama tertentu, elemen-elemen array tersusun secara
sekuensial di dalam memori sehingga memiliki alamat yang berdekatan array digunakan untuk
menyimpan data yang dimasukkan, masing-masing kedalam memori komputer.

Array menyimpan data secara berurutan pada memori komputer. Sekali array dideklarasikan
(dibuat) maka akan dialokasikan sejumlah tempat di memori komputer yang letaknya selalu
berdekatan (bersebelahan). Array memiliki indeks dan nilai data itu sendir. Sedangkan jarak
antar elemen pada array disesuikan dengan lembar data untuk masing-masing tipe data
array.misalnya pada tipe data integer,jarak antar elemennya bernilai 2sampai dengan 4 byte.

A. Array 1 Dimensi Dan Pemogramannya


Dalam bahasa C tidak terdapat error hondling terhadap batasan nilai indeks,apakah
indeks tersebut berada di dalam indeks array yang sudah didefinisikan atau belum. Hal ini
merupakan tanggung jawab programmer. Jika progremmer mengakses indeks yang salah
maka nilai yang dihasilkan akan berbeda atau rusak karena mengakses alamat memori
yang tidak sesuai.
1. Deklarasi Array Satu Dimensi
Bentuk umum deklarasi array dimensi :
Tipe_data nama_var_array(ukuran);
Di mana :
Tipe_data : menyatakan jenis tipe data elemen larik (int,char,float,dan lain-lain).
Nama_var_array : menyatakan nama variabel yang dipakai.
Ukuran : menunjukkan jumlah maksimal elemen larik
Contoh :
Char huruf[9];
Int umur[10];
Int kondisi[2]; (0,1)
Int arr_dinamiss[]=(1,2,e)
Artinya :
Char huruf[[9]:
berarti akan memesan tempat dimemori komputer sebanyak 9 tempat dengan indeks
dari 0-8, dimana semua elemennya bertipe data karakter.
Int umur[10] :
Berarti akan memesan tempat dimemori komputer sebanyak 10 tempat dengan indeks
dari 0-9,dimana semua elemennya bertipe integer.
Int kondisi[2] :
Berarti akan memesan tempat di memori komputer sebanyak 2 tempat dengan indeks
0-1, dimana semua elemennya bertipe integer
Int arr_dinamis[] :
Berarti mendeklarassikan array dengan ukuran maksimum array tidak diketahui,
namun ukuran tersebut diketahui berdasarkan inisialisasi, yaitu sebanyak 3 elemen,
yang isinya 1,2,3. Ingat bahwa array dinamis tidak bisa dibuat tanpa inisialisasi.

Tanda [] disebut juga “elemen yang ke-“.misalnya “kon


disi[0]”berarti elemen yang ke-nol. Array yang sudah dipesan, misalnya 10 tempat,
tidak harus diis semua.
Array tidak bisa dikopi begitu saja ke array lain ytang kosong, sebab nilai array
bukanlah nili tunggal seperti identifier integer atau float biasa, melainkan array adalah
data yang berjumlah lebih dari sama dengan satu sehingga perlakuannya berbeda. Jika
penghkopian dipaksa untuk di lakukan dengan operator sama dengan (=) maka akan
terjadi error

1. Contoh 1 (memasukkan dengan menampilkan array).

#include <stdio.h>

#include <conio.h>

int main ()

{ int nilai [5], x;


printf ("memasukkan niali :\n");

for (x=0;x<5;x++)

printf ("nilai angka :");scanf ("%d",&nilai[x]);

printf ("\n");

printf ("membaca nilai :\n");

for (x=0;x<5;x++)

printf ("nilai angka : %d",nilai [x]);

getch ();

Hasilnya:

2. Contoh : (tanpa inisialisasi langsung ditampilkan).


#include <stdio.h>
#include <conio.h>
int main (){
int bil[7]; //tanpa inisialisasi
for (int i=0;i<7;i++){
printf ("elemen ke-%i = %d\n",i,bil[i]);
}
getch ();
return 0;

}
Hasilnya:

B. Array 2 Dimensi Dan Pemogramannya


Array dua dimensi sering kali digambarkan/dianalogikan sebagai sebuah matriks atau
bentuk grid. Jika array bedimensi satu hanya tedriri atas 1 baris dan banyak kolom, array
berdimensi dua terdiri atas banyak baris dan banyak kolom yang bertipe sama.
1. Deklarasi Array Dua Dimensi
Array dua dimensi dapat mewakili bentuk suatu matriks. Array dua dimensi dapat
digunakan untuk menampung tipe data numerik atau non-numerik.
2. Array Dua Dimensi Bertipe Data Numerik
Int matriks[3][5]={{5,12,17,10,7},
{15,6,25,2,19},
{4,9,20,22,11}};
Jika data yang dimasukkan kurang dari deklarasi :
Int matriks[3][5] ]={{5,12,17,10,7},
{15,6,25,2,19},
{4,9}}; //kurang 3 angka
Maka tiga data yang kurang akan diisi dengan karakter NULL atau berupa tanda \O
Tetapi jika data yang dimasukkan lebih dari deklarasi akan menyebabkan error.
3. Penyalinan Array Dua Dimensi
Untuk menyalin array 2 dimensi ke 1 dimensi maka diperlukan sebuah array 1
dimensi baru yang berukuran total sesuai dengan hasil perkalian antara ukuran basis
matriks dua dimensi dikalikan kolomnya. Misalnya, array 2 dimensi berukuran 3 x 5,
maka harus dibuat array 1 dimensi berukuran minimal 15.
Untuk mengkopi dari matriks ke matriks hasil maka harus dilakukan perulangan
sesuai baris dan kolom matriks sementara indeks matriks hasil diperoleh dari
penambahan nilai counter mulai dari 0 sampai dengan 14
Cara pemrosesan array dua dimensi :

a. Baris demi baris


Kode pemogramannya adalah sebagai berikut :
b. Kolom demi kolom

Operasi –operasi matriks:

1. Memasukkan matriks.
Nilai setiap elemen matriks disimpan sesuai dengan tipe data yang dideklarasikan
kepadanya.
2. Mencetak Matriks.
Matriks dicetak perelemen menggunakan looping.
3. Perjumlahan Matriks.
a. Agar kedua matriks dapat dijumlahkan maka harus memiliki jumlah baris
kolom yang sama.
b. Inputkan matriks A dan matriks B.
c. Siapkan matriks C untuk menampung hasil penjumlahan matriks A dan B
sesuai dengan elemen-elemennya.
d. Elemen matriks A [0,0] dijumlahkan dengan elemen matriks B [0,0] juga dan
disimpan di element matriks C [0,0] juga.
4. Pengurangan Matriks.
a. Agar kedua matriks dapat dikurangkan maka harus memiliki jumlah baris dan
kolom yang sama.
b. Inputkan matriks A dan matriks B.
c. Siapkan matriks C untuk menampung hasil pengurangan matriks A dan B
sesuai dengan elemen-elemennya.
d. Elemen matriks A [0,0] dikurangkan dengan elemen matriks B [0,0] dan
disimpan di elemen matriks C [0,0].
5. Transpose matriks.
Dalam transpose,elemen baris matriks akan menjadi kolom matriks dan
sebaliknya kolom matriks akan menjadi baris matriks.
6. Perkalian 2 matriks.
a. Kedua matriks harus memiliki bentuk mxn untuk matriks A dan n x o untuk
matriks B.
b. Sehingga matriks hasil akan memiliki bentuk m x o.
c. Sehingga (m x o) = (m x n) (n x o).
d. Input kan matrik A.
e. Inputkan matriks B.
f. Tamping hasil perkalian matriks pada matriks C.

1. Array dan fungsinya.


Pengiriman parameter berupa array sebenarnya adalah pengiriman by
reference,yang dilakukan adlah alamat elemen pertama dari array,bukan seluruh
nilai arraynya.

2. Kelebihan Dan Kekurangan Array.


Kelebihan;
1. Merupakan struktur penyimpanan data yang paling mudah.
2. Tipe data yang mampu menanpung lebih dari satu data.
3. Memori ekonomis,bila semua elemen terisi.
4. Waktu akses sama ke setiap elemen.
5. Dapat diakses secara random.

Kekurangan ;

1. Boros memori jika banyak elemen yang tidak digunakan.


2. Merupakan struktur penyimpanan data yang statis

Contoh program bab 9

Contoh 1

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

int main ()

{ int nilai [5], x;

system("cls");

printf("Memasukkan nilai :\n");

for(x=0;x<5;x++);

printf("Nilai Angka :");

scanf("%d",&nilai[x]);

printf("\n");

printf("Membaca nilai :\n");

for(x=0;x<5;x++)
{

printf("Nilai Angka : %d",nilai[x]);

getch();

Contoh 2

#include <stdio.h>

#include <conio.h>

int main()

int bil[7],i;

printf("elemen 1>");scanf("%d",&bil[0]);

bil[1]=5;
bil[2] = bil[1] + 20;

for(i=4;i,7;i++) bil[i] = i*10;

bil[3] - bil[bil[i]];

for(i-0;i<7;i++)

printf("bil[%d] = %d dan alamatnya:%x\n",1,bil[i],&bil[i]);

getch();

return 0;

Contoh 3

#include<stdio.h>

#include<conio.h>

int main()

{int bil[7]; //tanda inisialisasi

for(int i=0;i<7;i++)

{printf ("Elemen ke % = %d\n",i,bil[i]);


}

getch();

return 0;

Contoh 4

#include<stdio.h>

#include<conio.h>

int main()

{int bil[7] = {0}; //inisialisasi 0

for(int i=0;i<7;i++){

printf("Elemen ke-%i = %d\n",i,bil[i]);

getch();

return 0;

}
Contoh 5

#include<stdio.h>

#include<conio.h>

int main()

{int bil[7] = {2,5};

for(int i=0;i<7;i++){

printf("Elemen ke-%i = %d\n",i,bil[i]);

getch();

return 0;

}
Contoh 6

#include<stdio.h>

#include<conio.h>

int main()

{char h[5];

for(int i=0;i<5;i++){

printf("Elemen ke-%i = %c\n",i,h[i]);

getch();

return 0;

}
Contoh 7

#include<stdio.h>

#include<conio.h>

int main()

int A[2] [3]={{1,2,3},{4,5,6}};

int B[2] [3];

B = A;

getch();

contoh 8

#include<stdio.h>

#include<conio.h>

int main()
{

int A[2] [3]={{1,2,3},{4,5,6}};

for(int baris=0;baris<2;baris++){

for(int kolom=0;kolom<3;kolom++){

printf("%d",A[baris][kolom]);

printf("\n");

getch();

Contoh 9

#include<stdio.h>

#include<conio.h>

int main()

{
int A[2] [3]={{1,2,3},{4,5,6}};

for(int kolom=0;kolom<2;kolom++){

for(int baris=0;baris<3;baris++){

printf("%d",A[baris][kolom]);

printf("\n");

getch();

Contoh 10

#include<stdio.h>

#include<conio.h>

void isi(int data[]){

for(int i=0;i<5;i++){

data[i]=i+1;

}
}

int main(){

int mydata[5];

printf("pengisian...\n");

isi(mydata);

printf("selesai.\n");

printf("tampilan...\n");

getch();

Contoh 11

#include<stdio.h>

#include<conio.h>

void cetak_mundur(char S[]){

int i,n;
for(n=0;n<S[n];n++);

printf("panjang array = %d\n");

for(i=n-1;i>=0;i--)

printf("%c",S[i]);

int main(){

char str[50]="antonius rachmat c";

cetak_mundur(str);

getch();

Contoh 12

#include<stdio.h>

#include<conio.h>
void tukar(int array[2]){

int t=array[0];

array[0]=array[1];

array[1]=t;

int main(){

int array[2] = {1,2};

printf("before: %d - %d\n", array[0],array[1]);

tukar(array);

printf("after: %d - %d\n", array[0],array[1]);

getch();

Anda mungkin juga menyukai