0% menganggap dokumen ini bermanfaat (0 suara)
548 tayangan

Array

Dokumen tersebut membahas tentang operasi-operasi dasar yang dapat dilakukan pada array seperti menjumlahkan elemen array, mencari indeks suatu nilai, mencari nilai maksimum dan minimum, serta latihan-latihan terkait operasi tersebut seperti menghitung frekuensi suatu nilai dan mencari indeks terakhir suatu nilai dalam array.

Diunggah oleh

عمران
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
548 tayangan

Array

Dokumen tersebut membahas tentang operasi-operasi dasar yang dapat dilakukan pada array seperti menjumlahkan elemen array, mencari indeks suatu nilai, mencari nilai maksimum dan minimum, serta latihan-latihan terkait operasi tersebut seperti menghitung frekuensi suatu nilai dan mencari indeks terakhir suatu nilai dalam array.

Diunggah oleh

عمران
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 22

PENGANTAR KOMPUTER & SOFTWARE II

Array (Part II)

Tim Pengajar KU1102 - Institut Teknologi Sumatera


Tujuan

• Mahasiswa mampu memahami proses-proses yang


dapat dilakukan terhadap array.
• Mahasiswa dapat menggunakan perintah operasi
array yang sesuai dengan benar.
• Mahasiswa dapat memahami persoalan yang dapat
diselesaikan dengan operasi array.

INSTITUT TEKNOLOGI SUMATERA KU1102/Pengantar Komputer dan Software II 2


Memroses Array
// File: sumArray.cpp
// menghitung jumlah seluruh elemen pada array
• Pemrosesan koleksi #include <iostream>
using namespace std;
data pada array int main ()
{ // KAMUS
dilakukan secara int sum, i;
int TabInt[10];
sekuensial // ALGORITMA
// mengisi data nilai dari input user

• Asumsi : seluruh cout << "Isilah 10 data nilai dalam range 0-


100:" << endl;
for (i=0; i<10; i++) {
elemen array cin >> TabNilai[i];
}
terdefinisi // menjumlahkan nilai dan menghitung rata-
rata
• Contoh: menjumlahkan cout << "Data input:" << endl;
sum=0;
data dan menghitung for (i=0; i<10; i++) {
cout << TabInt[i] << endl;
rata-rata }
sum = sum + TabInt[i];

cout << "Rata-rata: ";


cout << (float)sum/10.0 << endl;
return 0;
INSTITUT TEKNOLOGI SUMATERA }KU1102/Pengantar Komputer dan Software II
Mencari Indeks Suatu Nilai
(searching)
// File: searchArray.cpp
// mencari indeks di mana nilai ditemukan
#include <iostream>
• Dengan asumsi using namespace std;
int main ()
{ // KAMUS
semua elemen int X, i; bool found;
int TabInt[10];

array terdefinisi, // ALGORITMA


// Pengisian data: asumsi array terisi

dapat dilakukan // mencari suatu nilai, yaitu X


cin >> X;
i = 0; found = false;
pencarian while ((i < 10) && (!found)) {
if (TabInt[i]==X) {

indeks suatu found = true;


} else {
i++;
nilai ditemukan }
} // i = 10 atau found
if (found) { // X ada di
pertama kali cout << X << " ada di indeks " << i;
} else {

dalam array }
cout << X << " tidak ditemukan";

return 0;
}
INSTITUT TEKNOLOGI SUMATERA KU1102/Pengantar Komputer dan Software II
Mencari Nilai Ekstrim Array
// File: maxArray.cpp
// mencari nilai maksimum pada array
• Dengan asumsi array #include <iostream>
using namespace std;
tidak kosong, dapat int main ()
{ // KAMUS
dilakukan pencarian int max, i;
elemen array bernilai int TabInt[10];
// Algoritma
ekstrim // Pengisian data: Buat sebagai
// latihan
• Contohnya: mencari // mencari nilai maksimum
max=TabInt[0]; //inisialisasi
nilai maksimum //max dgn elemen ke-0
for (i=1; i<10; i++) {
//ganti max kalau ada nilai elemen
//array yang lebih besar
if (TabInt[i]>max) {
max=TabInt[i];
}
}
cout << "Nilai maksimum: “ << max << endl;
return 0;
}
INSTITUT TEKNOLOGI SUMATERA KU1102/Pengantar Komputer dan Software II
Mencari Indeks Nilai Ekstrim Array
// File: IdxMaxArray.cpp
// mencari indeks nilai maksimum array
• Dengan asumsi array #include <iostream>
using namespace std;
tidak kosong, dapat int main ()
{ // KAMUS
dilakukan pencarian int idxmax, i;
int TabInt[10];
indeks elemen array // Algoritma
bernilai ekstrim // Pengisian data: Buat sebagai
// latihan
• Contohnya: mencari // mencari indeks nilai maksimum
idxmax = 0;
indeks nilai for (i=1; i<10; i++) {
//ganti idxmax jika ada nilai
maksimum //elemen array yang lebih besar
if (TabInt[i]>TabInt[idxmax]) {
idxmax = i;
}
}
cout << "Index nilai maksimum: " << max <<
endl;
return 0;
}
INSTITUT TEKNOLOGI SUMATERA KU1102/Pengantar Komputer dan Software II
Latihan 1

• Deklarasikan sebuah array of character dengan


ukuran 10.
• Isilah character dengan nilai dari keyboard
(pengguna)
• Tuliskan ke layar semua elemen array
• Hitunglah ada berapa banyak character ‘A’ yang ada
dalam array

INSTITUT TEKNOLOGI SUMATERA KU1102/Pengantar Komputer dan Software II 7


Latihan 1
// File: arrChar.cpp
// membaca sejumlah data dalam array of character dan memrosesnya
#include <iostream>
using namespace std;
int main ()
{ // KAMUS
int i, countA;
char TabChar[10]; // deklarasi array of character berukuran 10
// ALGORITMA
// mengisi array of character dari masukan pengguna
for (i=0; i<10; i++) {
cin >> TabChar[i];
}
// menuliskan kembali ke layar
countA = 0;
for (i=1; i<10; i++) {
cout << TabChar[i] << endl;
if (TabChar[i] = ‘A’) {
countA++; //sekaligus menghitung kemunculan A
}
}
cout << "Banyaknya A: " << countA << endl;
return 0;
}

INSTITUT TEKNOLOGI SUMATERA KU1102/Pengantar Komputer dan Software II 8


Latihan 2

• Lakukanlah modifikasi terhadap program


maxArray.cpp untuk mencari elemen array
bernilai minimum
• Lakukanlah juga modifikasi terhadap program
idxMaxArray.cpp untuk mencari indeks
elemen array bernilai minimum

INSTITUT TEKNOLOGI SUMATERA KU1102/Pengantar Komputer dan Software II 9


Latihan 2: minArray
// File: minArray.cpp
// mencari nilai minimum pada array
#include <iostream>
using namespace std;
int main ()
{ // KAMUS
int i, min;
int TabInt[10];

// ALGORITMA
// data nilai telah terisi
// mencari nilai minimum
min=TabInt[0]; //inisialisasi min dgn elemen ke-0
for (i=1; i<10; i++) {
if (TabInt[i]<min) {
min=TabInt[i];
}
}
cout << "Nilai minimum: " << min << endl;
return 0;
}
INSTITUT TEKNOLOGI SUMATERA KU1102/Pengantar Komputer dan Software II 1
Latihan 2: IdxMinArray
// File: IdxMinArray.cpp
// mencari indeks nilai minimum pada array
#include <iostream>
using namespace std;
int main ()
{ // KAMUS
int i, idxmin;
int TabInt[10];

// ALGORITMA
// data nilai telah terisi
// mencari nilai minimum
idxmin=0; //inisialisasi idxmin dgn 0
for (i=1; i<10; i++) {
if (TabInt[i]<TabInt[idxmin]) {
idxmin=i;
}
}
cout << "Indeks nilai minimum: " << idxmin << endl;
return 0;
}
INSTITUT TEKNOLOGI SUMATERA KU1102/Pengantar Komputer dan Software II 1
Latihan 3

1. Buatlah sebuah program yang menghitung


frekuensi kemunculan sebuah nilai X di dalam
suatu array. Nilai X didapatkan dari input
pengguna.
2. Buatlah sebuah program
KemunculanTerakhir yang mencari indeks
array terakhir IX yang berisi suatu nilai X. IX
akan bernilai -1 jika X tidak terdapat di dalam
TabInt.
Contoh: TabInt={4,3,7,6,3,8,4,3,6}, X=3, maka
IX=7
INSTITUT TEKNOLOGI SUMATERA KU1102/Pengantar Komputer dan Software II 1
Latihan 3: frekXArray
// File: frekXArray.cpp
// menghitung frekuensi kemunculan elemen X pada array
#include <iostream>
using namespace std;
int main ()
{ // KAMUS
int frek, i, X;
int TabInt[10];
// Algoritma
// mengisi data nilai dari input user
for (i=0; i<10; i++) {
cin >> TabInt[i];
}
cin >> X; // Nilai yang dicari
// menghitung frekuensi X
cout << "Data input: ";
frek = 0;
for (i=0; i<10; i++) {
if (TabNilai[i]==X) {
frek = frek + 1;
}
}
cout << "Frekuensi " << X << " = " << frek << endl;
return 0;
}
INSTITUT TEKNOLOGI SUMATERA KU1102/Pengantar Komputer dan Software II 1
Latihan 3: Kemunculan Terakhir
// File: lastOccX.cpp
// mencari indeks kemunculan terakhir elemen X pada array; -1 jika tidak ada
#include <iostream>
using namespace std;
int main ()
{ // Kamus
int IX, X, i; //X adalah nilai yang akan dicari, IX adalah indeksnya
int TabInt[10];
// Algoritma
// mengisi data nilai dari input user
for (int i=0; i<10; i++) {
cin >> TabInt[i];
}
cin >> X; // mencari suatu nilai, yaitu X
i = 10; found = false; // Mencari mundur dari indeks terakhir
while ((i >= 0) && (!found)) {
if (TabInt[i]==X) {
found = true;
} else {
i--;
}
} // i = -1 atau found
IX = i;
cout << "Indeks terakhir " << X << " : " << IX << endl;
return 0;
}
INSTITUT TEKNOLOGI SUMATERA KU1102/Pengantar Komputer dan Software II 1
Bagian 2

INSTITUT TEKNOLOGI SUMATERA KU1102/Pengantar Komputer dan Software II 1


Array yang terisi sebagian (1)

• Dalam banyak persoalan, kita mendefinisikan


sejumlah elemen array, namun tidak selalu harus
menggunakan seluruhnya
– Asumsi: array terisi secara kontigu dan “rata kiri”
(mulai dari elemen ke-0)
• Contoh: Array di bawah ini hanya terdefinisi sampai
elemen ke-4, elemen sisanya tidak terdefinisi

1 2 4 -1 100
0 1 2 3 4 5 6 7 8 9

INSTITUT TEKNOLOGI SUMATERA KU1102/Pengantar Komputer dan Software II 1


Array yang terisi sebagian (2)

• Kita membutuhkan sebuah nilai yang banyaknya


elemen array yang terdefinisi
• Nilai ini disebut sebagai nilai efektif array (Neff)
• Contoh:
1 2 4 -1 100
0 1 2 3 4 5 6 7 8 9

Neff = 5
Artinya, hanya 5 elemen yang terdefinisi, yaitu dari
indeks ke-0 s.d. ke-4
• Memungkinkan definisi array kosong, yaitu Neff = 0
INSTITUT TEKNOLOGI SUMATERA KU1102/Pengantar Komputer dan Software II 1
Mengisi dan membaca isi Array
// File: isibacaarray2.cpp
// Mengisi array dan menampilkan
// seluruh elemen pada array
• Membaca sejumlah #include <iostream>
using namespace std;
Neff elemen pada int main ()
{ // KAMUS
array dan int TabInt[100]; int i, Neff;
menampilkannya ke // ALGORITMA
layar cin >> Neff; // nilai efektif[0..100]
// mengisi array
• Neff adalah nilai i = 0;
while (i<Neff) {
efektif masukan dari cin >> TabInt[i];
i++;
pengguna } // i = Neff

• Apa yang terjadi jika


// menulis isi array
i = 0;
while (i<Neff) {
Neff = 0?? cout << TabInt[i] << endl;
i++;
} // i = Neff
return 0;
}
INSTITUT TEKNOLOGI SUMATERA KU1102/Pengantar Komputer dan Software II
Mencari Indeks Suatu // File: searchArray2.cpp
// mencari indeks di mana nilai ditemukan
Nilai (searching) #include <iostream>
using namespace std;
int main ()
{ // KAMUS


int X, i, Neff; bool found;
Membaca sejumlah int TabInt[10];
// ALGORITMA
Neff elemen pada // Pengisian data: asumsi array terisi,
// Neff terdefinisi
array dan
menampilkannya ke // mencari suatu nilai, yaitu X
cin >> X;
layar i = 0; found = false;


while ((i < Neff) && (!found)) {
Neff adalah nilai if (TabInt[i]==X) {
found = true;
efektif masukan dari } else {
i++;
pengguna }
• Apa yang terjadi jika } // i = Neff atau found
if (found) { // X ada di
Neff = 0?? cout << X << " ada di indeks " << i;
} else {
cout << X << " tidak ditemukan";
}
return 0;
}
INSTITUT TEKNOLOGI SUMATERA KU1102/Pengantar Komputer dan Software II
Mencari Nilai Ekstrim // File: maxArray2.cpp
// mencari nilai maksimum pada array
Array #include <iostream>
using namespace std;
int main ()
{ // KAMUS
• Dengan asumsi array int max, i;
int TabInt[100];
tidak kosong, dapat // Algoritma
dilakukan pencarian // Pengisian data: Buat sebagai
// latihan
elemen array // mencari nilai maksimum
bernilai ekstrim max=TabInt[0]; //inisialisasi
//max dgn elemen ke-0
• Contohnya: mencari for(i=1; i<Neff; i++) {
//ganti max kalau ada nilai elemen
nilai maksimum //array yang lebih besar
if (TabInt[i]>max) {
max=TabInt[i];
}
}
cout << "Nilai maksimum: " << max <<
endl;
return 0;
}
INSTITUT TEKNOLOGI SUMATERA KU1102/Pengantar Komputer dan Software II
Latihan 4

• Buatlah sebuah program yang mendeklarasikan


sebuah array of integer berukuran 100, mengisi
array sampai salah satu dari 2 kondisi ini terpenuhi:
– Array terisi penuh
– Pengguna mengisikan -999 (tidak termasuk
sebagai elemen array)
• Tuliskan ke layar berapa banyak elemen array dan
jumlah total seluruh elemen

INSTITUT TEKNOLOGI SUMATERA KU1102/Pengantar Komputer dan Software II 2


Latihan 4
// File: BacaArray.cpp
// membaca masukan array of integer dari pengguna dan menghasilkan total nilai
#include <iostream>
using namespace std;
int main ()
{ // KAMUS
int i, sum, Neff;
int TI[100];
// ALGORITMA
// mengisi data nilai dari input user
cin >> X; i = 0;
while ((X != -999) && (i < 100)) {
TI[i] = X;
cin >> X;
i++;
} // X = -999 atau i = 100
Neff = i;
// menghitung total isi array
i = 0; sum = 0;
while (i < Neff) {
sum = sum + TI[i];
i++;
} // i = Neff
cout << "Banyaknya elemen = " << Neff << endl;
cout << "Jumlah total elemen = " << sum << endl;
return 0;
INSTITUT
} TEKNOLOGI SUMATERA KU1102/Pengantar Komputer dan Software II

Anda mungkin juga menyukai