Anda di halaman 1dari 27

Pertemuan 4:

INF202: Struktur Data

TIPE DATA ARRAY

Dosen: Wayan Suparta, PhD


PENGERTIAN ARRAY
• Array (larik) merupakan kumpulan dari nilai-nilai data
yang bertipe sama dalam urutan tertentu yang
menggunakan nama yang sama.
• Letak atau posisi dari elemen array ditunjukkan oleh suatu
index.
• Dilihat dari dimensinya array dapat dibagi menjadi Array
dimensi satu, array dimensi dua dan array multi-dimensi.
• Cara penulisan Array : A [1,2,3,4,5]
• Ini menyatakan bahwa array A berisi data 1,2,3,4,5 dengan
mempunyai lima buah elemen. Elemen Array dimulai dari
indeks ke 0 bukan ke 1.
ARRAY SATU DIMENSI
• Setiap elemen array dapat diakses melalui indeks.
• Deklarasi Array
tipe nama_var[ukuran];
dimana :
tipe = menyatakan jenis elemen array (ex. char, int)
nama_var = nama variabel, seperti nilai, x, y, z, dstnya
ukuran = menyatakan jumlah maksimal elemen array
(indeks)
Contoh :
int Nilai [5];
Penerapan Array Pada Bahasa C++
Deklarasi Keterangan
int cacah[4]; Array dengan nama cacah mempunyai 4
elemen bertipe int
char vocal[5]; Array vocal mempunyai 5 buah elemen
bertipe char
char kota[6][20]; Array kota mempunyai 6 buah elemen tipe
string dengan penjang karakter maksimal
20 karakter

Dalam hal ini jumlah_elemen harus berupa konstanta

Ingat = Array selalu menghitung dari angka 0 bukan 1


Contoh Program Array Satu Dimensi
#include <iostream>
using namespace std;
int main()
{
int i, nilai[5];
//Pengisian elemen array
nilai[0] = 55;
nilai[1] = 58;
nilai[2] = 67; Total 5 elemen
nilai[3] = 78;
nilai[4] = 92;
//Menampilkan data ke layar
for (i=0; i<5; i++) // for (i=0; i<=4; i++)
//printf ("%d\n",nilai[i]);
cout << nilai[i] << "\n"; return 0;
}
LANJUTAN CONTOH ARRAY DGN SCANF ‘NUMERIK’

#include <iostream>
int main()
{
int i;
int nilai[5];
printf ("Inputan Data:\n");
//Pengisian elemen array
for (i=0;i<5;i++)
scanf("%d",&nilai[i]);
//Menampilkan data ke layar
printf ("\nOutput Data\n");
for (i=0;i<5;i++)
printf ("%d\n",nilai[i]);
}
LANJUTAN CONTOH ARRAY DGN SCANF ‘CHAR’

#include <iostream>
using namespace std;
int main()
{
int i;
char kar[5];
printf ("Inputan Data:\n");
//Pengisian elemen array
for (i=0;i<5;i++)
scanf("%c",&kar[i]);
//Menampilkan data ke layar
printf ("\nOutput Data\n");
for (i=0;i<5;i++)
printf ("%c\n",kar[i]);
}
• Buatlah algoritma dan program untuk menyimpan
data berikut ke dalam array 10 4 2 5 3 8 9 2 9 5
Kemudian carilah bilangan yang terbesar.
Jawab :
Algoritma:
 Data [10,4,2,5,3,8,9,2,9,5]
 Terbesar Data[0]
 Untuk i 1 s/d 9
 Jika data[i] > terbesar maka
 Terbesar Data[i]
 Akhir-jika
 Akhir untuk
 Tampilkan(terbesar)
Buatlah algoritma dan program untuk menyimpan data berikut ke dalam
array 10 4 2 5 3 8 9 2 9 5. Kemudian carilah bilangan yang terbesar.
Jawab :
Algoritma:
#include <iostream>
 Data [10,4,2,5,3,8,9,2,9,5]
using namespace std;
 Terbesar Data[0]
int main()
 Untuk i 1 s/d 9 {
 Jika data[i] > terbesar maka int data[] =
 Terbesar Data[i] {10,4,2,5,3,8,9,2,9,5};
 Akhir-jika int i, terbesar;
 Akhir untuk terbesar = data[0];
 Tampilkan(terbesar) for (i = 0; i < 10 ; i++)
if(data[i] > terbesar)
terbesar = data[i];
cout <<”terbesar = “ << terbesar
<< “\n” ;
return 0;
}
 Buatlah sebuah program untuk membaca data secara berulang dari
keyboard dan meletakkannya ke dalam sebuah array. Jumlah
maksimal yang dapat dimasukkan ke dalam array adalah 10 buah.
Setelah itu tampilkan seluruh data yang dimasukkan dari keyboard
tadi.
#include <iostream>
 Jawab : using namespace std;
 Algoritma int main()
{
 Jumdata 10
double data[10];
 Untuk i 0 s/d 9 int i, jumdata;
 Masukkan (Data[i]) char jawaban;
 Tampilkan(“memasukkan lagi (Y/T)?”) jumdata = 0;
 Masukkan(jawaban) for(i=0;i<10;i++){
cout << “masukkan sembarang
 Jika jawaban = “T” atau “t” maka
bilangan : ”;
 Jumdata I +1 cin >> data[i];
 Keluar dari perulangan cout << “memasukkan lagi (Y/T) ??”;
 Akhir jika cin >> jawaban;
 Akhir untuk if (jawaban == ‘T’ || jawaban ==
 Untuk i 0 s/d jumdata-1 ‘t’){ jumdata = i+1; break; }
 Tampilkan(Data[i]) }
 Akhir Untuk for (i=0;i<jumdata;i++)
cout<< data[i] << “\n”;
return 0;
}
Ketiklah program ini dan apa hasilnya?
ARRAY DIMENSI DUA
• Array dua dimensi merupakan array yang terdiri dari m buah
baris dan n buah kolom.
• Bentuknya dapat berupa matriks atau tabel.
• Deklarasi array :
tipe_array nama_array[baris][kolom];

Contoh : int X[3][4];


LANJUTAN ARRAY DIMENSI DUA

• Cara mengakses array :


Contoh : int X[3][4];

0 1 2 3
0 23 44 54 33
1 86 56 97 36
2 34 75 69 88
X[0][3] = 33; X[2][0] = 34;
X[1][2] = 97; X[3][2] = ?
Contoh Program 2D
#include <iostream>
using namespace std;

void cetakarray(int [][3]);


int main(){
int matrik1[2][3]={{1,2,3},{4,5,6}},
matrik2[2][3]= {1,2,3,4,5},
matrik3[2][3]= {{1,2}, {4}};
cetakarray(matrik1);
cetakarray(matrik2);
cetakarray(matrik3);
return 0;
}
void cetakarray(int a[][3]){
int i,j;
for (i=0; i<=1;i++){
for(j=0;j<=2;j++)
cout<<" "<<a[i][j];
cout<<"\n";}}
Contoh Pemakaian Array 2 Dimensi
/* File program : Tampilan2array.cpp */
#include <iostream>
using namespace std;
int main()
{
int bilangan[3][4]={ {1,2,3,4}, {5,6,7,8}, {9,10,11,12}};
for (int a=0;a<3;a++ ){
for (int b=0;b<4;b++){
cout << "Pada index ke-" << a << "," <<
b << " adalah " << bilangan[a][b] << endl;
}
}
return 0;
}
Contoh Array String
/* File program : Array String */
#include <iostream>
using namespace std;
int main()
{
int i,j;
char hari[7][10] = {"Minggu", "Senin", "Selasa", "Rabu",
"Kamis", "Jumat", "Sabtu”};
// Tampilkan data
for (i=0; i<7; i++) {
for (j=0; j<10; j++)
printf ("%c", hari[i][j]);
printf("\n");
}
}
Contoh Penerapan 2D
Buatlah algoritma dan Algoritma:
program yang  Negara[0][0] = “Indonesia”
menyimpan pasangan  Negara[0][1] = “Jakarta”
 Negara[1][0] = “Filipina”
data Negara dan ibukota
 Negara[1][1] = “Manila”
seperti berikut :  Negara[2][0] = “Francis”
Indonesia - Jakarta  Negara[2][1] = “Paris”
 Negara[3][0] = “Pakistan”
Filipina - Manila  Negara[3][1] = “Islamabad”
Prancis - Paris  Untuk baris = 0 s/d 4
 Jika Negara[baris][0][0] = “P” maka
Pakistan - Islamabad
 Tampilkan(Negara[baris][0],
Negara[baris][1])
 Akhir jika
Jawab :  Akhir untuk
Realisasi Programnya:
#include <iostream>
#include<string>
using namespace std;
int main(){
char Negara[4][2][15] =
{{“Indonesia”,”Jakarta”},{“Filipina”,”Manila”},
{“Francis”,”Paris”},{“Pakistan”,”Islamabad”}};
For (int baris = 0;baris <4 ;baris++){
if (Negara[baris][0][0]==’P’){
cout<< Negara[baris][0] << “ – “
<<Negara[baris][1] << “\n”;
return 0;
}
}
}
Matrik 3 input dengan keyboard
#include <iostream>
using namespace std;
int main()
{
int bil[2][3];

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


for (int b=0;b<3;b++){
cout << "Matriks " <<a<<","<<b<< " = ";
cin >> bil[a][b];
}
}
cout << "\n============================================" << endl;
cout << "Hasil yang anda masukan, Tampilannya Adalah " << endl;
cout << "============================================" << endl;
for (int a=0;a<2;a++){
for(int b=0;b<3;b++){
cout << bil[a][b]<< " ";
}cout << endl;
}
}
ARRAY TIGA DIMENSI
• Array tiga dimensi merupakan array yang terdiri dari x buah
baris, y buah kolom, dan z panjang karakter.
• Deklarasi array :
tipe nama_array[x][y][z];
Deklarasi ARRAY 3D
Contoh 3D dengan Angka
#include <iostream>
using namespace std;

int main(){
//Mendeklarasikan array
int angka[2][3][5]={{{10,2},{8,20},{2,79},{4,67},{8,21}},
{{10,27},{27,48},{83,28},{2,73},{4,98}}};

//Menampilkan array
for(int i = 0; i<=1; i++){
cout<<i+1<<".\n";
for(int j = 0; j<=4; j++){
for(int k = 0; k<=1; k++){
cout<<angka[i][j][k]<<"\t";
}
cout<<endl;
}
cout<<endl;
}
}
Contoh 3D dengan String
#include <iostream>
#include <string>
using namespace std;
int main(){
string huruf[2][3][2]={{{"Tutor-All Programming","Tutorial bahasa
pemrograman"},{"Visi Misi","Memberikan Tutorial Program Yang
Sederhana"},{"Artikel Tentang","Array 3 Dimensi"}},
{{"Mata Kuliah","Struktur
data"},{"Semester","Genap"},{"Fokus","Pemrograman"}}};

//Memanggil array
for(int i = 0; i<=1; i++){
cout<<i+1<<".\n";
for(int j = 0; j<=2; j++){
cout<<j+1<<".";
for(int k = 0; k<=1; k++){
cout<<" "<<huruf[i][j][k]<<"\t\t "; }
cout<<endl; }
cout<<endl;
}
}
LATIHAN 7
A. Buat masukan data integer dengan array, kemudian hitung
rata-ratanya.
B. Buat elemen array sebanyak 10 buah, masukkan nilai 8 pada
array yang berbeda, kemudian buat program untuk
menampilkan posisi array yang bernilai 8 tersebut.
C. Buatlah sebuah program penjumlahan dengan angka yang
dijumlahkan sesuai dengan masukan user dengan tampilan
sebagai berikut.

D. Buat matriks 2 dimensi, inputkan datanya kemudian


tampilkan.
LATIHAN 8
A. Buat penjumlahan dua matrik dengan input dari keyboard dan
hasilnya seperti:

B. Buat program pengurangan 2 matriks berordo 2 x 3, inputkan datanya


kemudian tampilkan.
C. Buatlah algoritma dan program untuk mengalikan matriks dengan vektor
dengan matriks dengan array dimensi dua, dan vektor dengan
menggunakan matriks berdimensi satu.
D. Buatlah algoritma dan program untuk menghasilkan transpose suatu
matriks.
LATIHAN 9

Anda mungkin juga menyukai