INF202: Struktur Data TIPE DATA ARRAY · 2020. 1. 23. · •Buatlah algoritma dan program untuk...

27
Pertemuan 4: INF202: Struktur Data TIPE DATA ARRAY Dosen: Wayan Suparta, PhD

Transcript of INF202: Struktur Data TIPE DATA ARRAY · 2020. 1. 23. · •Buatlah algoritma dan program untuk...

Page 1: INF202: Struktur Data TIPE DATA ARRAY · 2020. 1. 23. · •Buatlah algoritma dan program untuk menyimpan data berikut ke dalam array 10 4 2 5 3 8 9 2 9 5 Kemudian carilah bilangan

Pertemuan 4:

INF202: Struktur Data

TIPE DATA ARRAY

Dosen: Wayan Suparta, PhD

Page 2: INF202: Struktur Data TIPE DATA ARRAY · 2020. 1. 23. · •Buatlah algoritma dan program untuk menyimpan data berikut ke dalam array 10 4 2 5 3 8 9 2 9 5 Kemudian carilah bilangan

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.

Page 3: INF202: Struktur Data TIPE DATA ARRAY · 2020. 1. 23. · •Buatlah algoritma dan program untuk menyimpan data berikut ke dalam array 10 4 2 5 3 8 9 2 9 5 Kemudian carilah bilangan

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];

Page 4: INF202: Struktur Data TIPE DATA ARRAY · 2020. 1. 23. · •Buatlah algoritma dan program untuk menyimpan data berikut ke dalam array 10 4 2 5 3 8 9 2 9 5 Kemudian carilah bilangan

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

Page 5: INF202: Struktur Data TIPE DATA ARRAY · 2020. 1. 23. · •Buatlah algoritma dan program untuk menyimpan data berikut ke dalam array 10 4 2 5 3 8 9 2 9 5 Kemudian carilah bilangan

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;

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;

}

Total 5 elemen

Page 6: INF202: Struktur Data TIPE DATA ARRAY · 2020. 1. 23. · •Buatlah algoritma dan program untuk menyimpan data berikut ke dalam array 10 4 2 5 3 8 9 2 9 5 Kemudian carilah bilangan

#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 ‘NUMERIK’

Page 7: INF202: Struktur Data TIPE DATA ARRAY · 2020. 1. 23. · •Buatlah algoritma dan program untuk menyimpan data berikut ke dalam array 10 4 2 5 3 8 9 2 9 5 Kemudian carilah bilangan

#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]);

}

LANJUTAN CONTOH ARRAY DGN SCANF ‘CHAR’

Page 8: INF202: Struktur Data TIPE DATA ARRAY · 2020. 1. 23. · •Buatlah algoritma dan program untuk menyimpan data berikut ke dalam array 10 4 2 5 3 8 9 2 9 5 Kemudian carilah bilangan

• 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)

Page 9: INF202: Struktur Data TIPE DATA ARRAY · 2020. 1. 23. · •Buatlah algoritma dan program untuk menyimpan data berikut ke dalam array 10 4 2 5 3 8 9 2 9 5 Kemudian carilah bilangan

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.

#include <iostream>

using namespace std;

int main()

{

int data[] =

{10,4,2,5,3,8,9,2,9,5};

int i, terbesar;

terbesar = data[0];

for (i = 0; i < 10 ; i++)

if(data[i] > terbesar)

terbesar = data[i];

cout <<”terbesar = “ << terbesar

<< “\n” ;

return 0;

}

Page 10: INF202: Struktur Data TIPE DATA ARRAY · 2020. 1. 23. · •Buatlah algoritma dan program untuk menyimpan data berikut ke dalam array 10 4 2 5 3 8 9 2 9 5 Kemudian carilah bilangan

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.

Jawab :

Algoritma Jumdata 10

Untuk i 0 s/d 9

Masukkan (Data[i])

Tampilkan(“memasukkan lagi (Y/T)?”) Masukkan(jawaban)

Jika jawaban = “T” atau “t” maka

Jumdata I +1

Keluar dari perulangan

Akhir jika

Akhir untuk

Untuk i 0 s/d jumdata-1

Tampilkan(Data[i])

Akhir Untuk

#include <iostream>

using namespace std;

int main()

{

double data[10];

int i, jumdata;

char jawaban;

jumdata = 0;

for(i=0;i<10;i++){

cout << “masukkan sembarang

bilangan : ”;

cin >> data[i];

cout << “memasukkan lagi (Y/T) ??”;

cin >> jawaban;

if (jawaban == ‘T’ || jawaban ==

‘t’){ jumdata = i+1; break; }

}

for (i=0;i<jumdata;i++)

cout<< data[i] << “\n”;

return 0;

}

Page 11: INF202: Struktur Data TIPE DATA ARRAY · 2020. 1. 23. · •Buatlah algoritma dan program untuk menyimpan data berikut ke dalam array 10 4 2 5 3 8 9 2 9 5 Kemudian carilah bilangan
Page 12: INF202: Struktur Data TIPE DATA ARRAY · 2020. 1. 23. · •Buatlah algoritma dan program untuk menyimpan data berikut ke dalam array 10 4 2 5 3 8 9 2 9 5 Kemudian carilah bilangan

Ketiklah program ini dan apa hasilnya?

Page 13: INF202: Struktur Data TIPE DATA ARRAY · 2020. 1. 23. · •Buatlah algoritma dan program untuk menyimpan data berikut ke dalam array 10 4 2 5 3 8 9 2 9 5 Kemudian carilah bilangan

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];

Page 14: INF202: Struktur Data TIPE DATA ARRAY · 2020. 1. 23. · •Buatlah algoritma dan program untuk menyimpan data berikut ke dalam array 10 4 2 5 3 8 9 2 9 5 Kemudian carilah bilangan

• 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] = ?

LANJUTAN ARRAY DIMENSI DUA

Page 15: INF202: Struktur Data TIPE DATA ARRAY · 2020. 1. 23. · •Buatlah algoritma dan program untuk menyimpan data berikut ke dalam array 10 4 2 5 3 8 9 2 9 5 Kemudian carilah bilangan

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";}}

Page 16: INF202: Struktur Data TIPE DATA ARRAY · 2020. 1. 23. · •Buatlah algoritma dan program untuk menyimpan data berikut ke dalam array 10 4 2 5 3 8 9 2 9 5 Kemudian carilah bilangan

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;

}

Page 17: INF202: Struktur Data TIPE DATA ARRAY · 2020. 1. 23. · •Buatlah algoritma dan program untuk menyimpan data berikut ke dalam array 10 4 2 5 3 8 9 2 9 5 Kemudian carilah bilangan

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");

}

}

Page 18: INF202: Struktur Data TIPE DATA ARRAY · 2020. 1. 23. · •Buatlah algoritma dan program untuk menyimpan data berikut ke dalam array 10 4 2 5 3 8 9 2 9 5 Kemudian carilah bilangan

Contoh Penerapan 2D

Buatlah algoritma dan

program yang

menyimpan pasangan

data Negara dan ibukota

seperti berikut :

Indonesia - Jakarta

Filipina - Manila

Prancis - Paris

Pakistan - Islamabad

Jawab :

Algoritma:

Negara[0][0] = “Indonesia”

Negara[0][1] = “Jakarta”

Negara[1][0] = “Filipina”

Negara[1][1] = “Manila”

Negara[2][0] = “Francis”

Negara[2][1] = “Paris”

Negara[3][0] = “Pakistan”

Negara[3][1] = “Islamabad”

Untuk baris = 0 s/d 4

Jika Negara[baris][0][0] = “P” maka

Tampilkan(Negara[baris][0], Negara[baris][1])

Akhir jika

Akhir untuk

Page 19: INF202: Struktur Data TIPE DATA ARRAY · 2020. 1. 23. · •Buatlah algoritma dan program untuk menyimpan data berikut ke dalam array 10 4 2 5 3 8 9 2 9 5 Kemudian carilah bilangan

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;

}

}

}

Page 20: INF202: Struktur Data TIPE DATA ARRAY · 2020. 1. 23. · •Buatlah algoritma dan program untuk menyimpan data berikut ke dalam array 10 4 2 5 3 8 9 2 9 5 Kemudian carilah bilangan

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;

}

}

Page 21: INF202: Struktur Data TIPE DATA ARRAY · 2020. 1. 23. · •Buatlah algoritma dan program untuk menyimpan data berikut ke dalam array 10 4 2 5 3 8 9 2 9 5 Kemudian carilah bilangan

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];

Page 22: INF202: Struktur Data TIPE DATA ARRAY · 2020. 1. 23. · •Buatlah algoritma dan program untuk menyimpan data berikut ke dalam array 10 4 2 5 3 8 9 2 9 5 Kemudian carilah bilangan

Deklarasi ARRAY 3D

Page 23: INF202: Struktur Data TIPE DATA ARRAY · 2020. 1. 23. · •Buatlah algoritma dan program untuk menyimpan data berikut ke dalam array 10 4 2 5 3 8 9 2 9 5 Kemudian carilah bilangan

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;

}

}

Page 24: INF202: Struktur Data TIPE DATA ARRAY · 2020. 1. 23. · •Buatlah algoritma dan program untuk menyimpan data berikut ke dalam array 10 4 2 5 3 8 9 2 9 5 Kemudian carilah bilangan

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;

}

}

Page 25: INF202: Struktur Data TIPE DATA ARRAY · 2020. 1. 23. · •Buatlah algoritma dan program untuk menyimpan data berikut ke dalam array 10 4 2 5 3 8 9 2 9 5 Kemudian carilah bilangan

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.

Page 26: INF202: Struktur Data TIPE DATA ARRAY · 2020. 1. 23. · •Buatlah algoritma dan program untuk menyimpan data berikut ke dalam array 10 4 2 5 3 8 9 2 9 5 Kemudian carilah bilangan

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.

Page 27: INF202: Struktur Data TIPE DATA ARRAY · 2020. 1. 23. · •Buatlah algoritma dan program untuk menyimpan data berikut ke dalam array 10 4 2 5 3 8 9 2 9 5 Kemudian carilah bilangan

LATIHAN 9