0% menganggap dokumen ini bermanfaat (0 suara)
52 tayangan27 halaman

Penggunaan Array dalam C++

Dokumen tersebut membahas penggunaan array (tabel) dalam bahasa C++, mulai dari pendefinisian, pengaksesan elemen, pengisian nilai, hingga beberapa contoh pemrosesan array seperti menjumlahkan elemen, mencari indeks suatu nilai, dan mencari nilai maksimum.

Diunggah oleh

Muhamad Imam Fauzi
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)
52 tayangan27 halaman

Penggunaan Array dalam C++

Dokumen tersebut membahas penggunaan array (tabel) dalam bahasa C++, mulai dari pendefinisian, pengaksesan elemen, pengisian nilai, hingga beberapa contoh pemrosesan array seperti menjumlahkan elemen, mencari indeks suatu nilai, dan mencari nilai maksimum.

Diunggah oleh

Muhamad Imam Fauzi
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

Array (Tabel)

[Dalam Bahasa C++]

1
2019/11/28
Tujuan Perkuliahan
• Mahasiswa memahami makna dan kegunaan array (tabel)
• Mahasiswa dapat menggunakan notasi pendefinisian dan
pengacuan array dengan benar hingga proses pencarian
terhadap elemen array
• Mahasiswa dapat membuat program dengan
menggunakan array

2
2019/11/28
BAGIAN 1
3
2019/11/28
Mengolah 3 data
• Tuliskan program yang menerima 3 nama, lalu
menampilkan semua kombinasi pasangan nama.
• Contoh keluaran:

Ali int main () {


// KAMUS
Budi string nama1, nama2, nama3;
Caca //ALGORITMA
Ali - Budi cin >> nama1;
cin >> nama2;
Ali - Caca cin >> nama3;
Budi - Caca cout << nama1 " – " nama2 << endl;
cout << nama1 " – " nama3 << endl;
cout << nama2 " – " nama3 << endl;
}
4
2019/11/28
Mengolah 10 data
• Tuliskan program yang menerima 10 nama, lalu
menampilkan semua kombinasi pasangan nama.
• Contoh keluaran:
int main () {
Nama-1: Ali // KAMUS
Nama-2: Budi string nama1, nama2, nama3,nama 4, nama5;
string nama6, nama7, nama8, nama9, nama10;
… //ALGORITMA
cin >> nama1;
Nama-9: Ina cin >> nama2;
Nama-10: Jaja … // lanjutkan sendiri!!
cin >> nama10;
Ali – Budi cout << nama1 << " – " << nama2 << endl;
Ali – Caca cout << nama1 << " – " << nama3 << endl;
… // lanjutkan sendiri!!
… cout << nama9 << " – " << nama10 << endl;
Ina - Jaja }
5
2019/11/28
Bagaimana kalau…
Anda diminta menampilkan semua kombinasi pasangan
nama yang mungkin dari …

100 nama ???


1000 nama ???
10000 nama ???
1000000 nama ???
….

2019/11/28
6
Array / Tabel / Vektor / Larik

NMin NMin+1 NMin+2 NMin+3 NMax-2 NMax-1 NMax

Array Elemen Array, dengan


tipe homogen untuk
Indeks Array
setiap elemen

• Type array adalah type yang mengacu kepada sebuah atau


sekumpulan elemen melalui indeks
• Merepresentasikan sekumpulan informasi yang bertype sama
dan disimpan dengan urutan yang sesuai dengan definisi
indeks 7
2019/11/28
Array dalam C/C++ (1)
• Variabel dapat dideklarasikan ber-type array dari suatu
type tertentu
• Setiap elemen array diakses dengan alamat berupa indeks
yang bertype integer
• Cara deklarasi: <type> <namatabel>[<ukuran>];
• Contoh: int TabInt[10];
Array bernama TabInt dengan setiap elemen bertype
integer, dengan ukuran 10 elemen, dengan alamat setiap
elemen array (indeks) adalah dari indeks ke-0 s.d. 9
8
2019/11/28
Array dalam C/C++ (2)
• Cara akses elemen:
<namatabel>[<indeks>]
• Contoh: int TabInt[10];
1 2 4 -1 100 2 0 -1 3 9
0 1 2 3 4 5 6 7 8 9

cout << TabInt[4]; // akan tercetak: 100


int x = TabInt[0] + TabInt[5]; // x bernilai 3
TabInt[9] = 8; // Elemen array indeks 9 menjadi 8
TabInt[10] ??? // Berada di luar range, tidak terdefinisi!!

9
2019/11/28
Contoh Deklarasi Array yang lain
int main() {
// KAMUS
int TabJumlahHari[12]; // indeks 0..11
float TabNilai[15]; // indeks 0..14
char TabHuruf[100]; // indeks 0..99
string TabKata[100]; // indeks 0..99
Point TabTitik[20]; // indeks 0..19, Point terdefinisi
// ALGORITMA

}

• Elemen dari array dapat diakses langsung jika dan hanya jika
indeks terdefinisi
• Cara mengacu sebuah elemen:
TabInt[2]
TabInt[i] jika i terdefinisi 10
2019/11/28
Mengisi Array
• Mengisi array merupakan aktifitas memberi nilai elemen
array
• Pemberian nilai satu elemen, contoh: TabInt[0]=31;
• Pemberian nilai beberapa elemen, contoh:
for (i=0;i<10;i++) {
TabInt[i]=i*10;
}
• Hati-hati!
• Jangan mengakses elemen yang indeks-nya berada di luar
definisi, misalnya TabInt[10]  index ke-10 tidak terdefinisi
untuk TabInt
• Jangan membaca elemen yang belum diisi nilainya
11
2019/11/28
// File: [Link]
// Mengisi array dan menampilkan

Mengisi dan // seluruh elemen pada array


#include <iostream>

membaca isi
using namespace std;
int main ()
{ // KAMUS

Array int TabInt[10]; int i;

// Algoritma

• Elemen array yang telah // mengisi array


for (i=0; i<10; i++) {
diberi nilai dapat diakses TabInt[i]=i*10;
kembali }
// membaca dan menuliskan isi
• Contoh berikut // array ke layar
menampilkan semua isi for (i=0; i<10; i++) {
array ke layar cout << TabInt[i] << endl;
}
return 0; 12
}
2019/11/28
Memroses
// File: [Link]
// menghitung jumlah seluruh elemen pada array
#include <iostream>
using namespace std;

Array
int main ()
{ // KAMUS
int sum, i;
int TabInt[10];
• Pemrosesan koleksi // ALGORITMA
// mengisi data nilai dari input user
data pada array cout << "Isilah 10 data nilai dalam range 0-100:"
<< endl;
dilakukan secara for (i=0; i<10; i++) {
sekuensial cin >> TabNilai[i];
}
• Asumsi : seluruh // menjumlahkan nilai dan menghitung rata-rata
cout << "Data input:" << endl;
elemen array sum=0;
for (i=0; i<10; i++) {
terdefinisi cout << TabInt[i] << endl;
sum = sum + TabInt[i];
• Contoh: }
cout << "Rata-rata: ";
menjumlahkan data cout << (float)sum/10.0 << endl;
dan menghitung rata- return 0;

rata
} 13
2019/11/28
// File: [Link]
// mencari indeks di mana nilai ditemukan
#include <iostream>
using namespace std;

Mencari Indeks
int main ()
{ // KAMUS

Suatu Nilai
int X, i; bool found;
int TabInt[10];
// ALGORITMA
(searching) // Pengisian data: asumsi array terisi

// mencari suatu nilai, yaitu X


cin >> X;
i = 0; found = false;
while ((i < 10) && (!found)) {
Dengan asumsi semua if (TabInt[i]==X) {
found = true;
elemen array terdefinisi, } else {
dapat dilakukan pencarian i++;
}
indeks suatu nilai } // i = 10 atau found
if (found) { // X ada di
ditemukan pertama kali cout << X << " ada di indeks " << i;
dalam array } else {
cout << X << " tidak ditemukan";
} 14
return 0;
} 2019/11/28
// File: [Link]

Mencari Nilai
// mencari nilai maksimum pada array
#include <iostream>
using namespace std;

Ekstrim Array
int main ()
{ // KAMUS
int max, i;
int TabInt[10];
// Algoritma
// Pengisian data: Buat sebagai
// latihan
• Dengan asumsi array // mencari nilai maksimum
max=TabInt[0]; //inisialisasi
tidak kosong, dapat //max dgn elemen ke-0
dilakukan pencarian for (i=1; i<10; i++) {
//ganti max kalau ada nilai elemen
elemen array bernilai //array yang lebih besar
if (TabInt[i]>max) {
ekstrim max=TabInt[i];
}
• Contohnya: mencari }
cout << "Nilai maksimum: “ << max <<
nilai maksimum endl; 15
return 0;
} 2019/11/28
Mencari // File: [Link]
// mencari indeks nilai maksimum array
#include <iostream>

Indeks Nilai
using namespace std;
int main ()
{ // KAMUS

Ekstrim Array
int idxmax, i;
int TabInt[10];
// Algoritma
// Pengisian data: Buat sebagai
• Dengan asumsi array // latihan
// mencari indeks nilai maksimum
tidak kosong, dapat idxmax = 0;
for (i=1; i<10; i++) {
dilakukan pencarian //ganti idxmax jika ada nilai
//elemen array yang lebih besar
indeks elemen array if (TabInt[i]>TabInt[idxmax]) {
idxmax = i;
bernilai ekstrim }
}
• Contohnya: mencari cout << "Index nilai maksimum: " <<
idxmax << endl;
indeks nilai maksimum return 0; 16
}
2019/11/28
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

17
2019/11/28
Latihan 2
• Lakukanlah modifikasi terhadap program [Link]
untuk mencari elemen array bernilai minimum
• Lakukanlah juga modifikasi terhadap program
[Link] untuk mencari indeks elemen array
bernilai minimum

19
2019/11/28
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

22
2019/11/28
BAGIAN 2
25
2019/11/28
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

26
2019/11/28
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
27
2019/11/28
// File: [Link]

Mengisi dan
// Mengisi array dan menampilkan
// seluruh elemen pada array
#include <iostream>

membaca isi using namespace std;


int main ()
{ // KAMUS

Array int TabInt[100]; int i, Neff;

// ALGORITMA
cin >> Neff; // nilai efektif[0..100]
• Membaca sejumlah Neff // mengisi array
i = 0;
elemen pada array dan while (i<Neff) {
menampilkannya ke cin >> TabInt[i];
i++;
layar } // i = Neff
// menulis isi array
• Neff adalah nilai efektif i = 0;
masukan dari pengguna while (i<Neff) {
cout << TabInt[i] << endl;
• Apa yang terjadi jika i++;
} // i = Neff
Neff = 0?? return 0; 28
}
2019/11/28
// File: [Link]
// mencari indeks di mana nilai ditemukan
#include <iostream>
Mencari Indeks using namespace std;
int main ()

Suatu Nilai { // KAMUS


int X, i, Neff; bool found;

(searching) int TabInt[10];


// ALGORITMA
// Pengisian data: asumsi array terisi,
// Neff terdefinisi
• Dilakukan pencarian
// mencari suatu nilai, yaitu X
indeks suatu nilai cin >> X;
ditemukan pertama kali i = 0; found = false;
dalam array while ((i < Neff) && (!found)) {
if (TabInt[i]==X) {
• Neff adalah banyaknya found = true;
} else {
elemen yang terdefinisi i++;
dalam array }
} // i = Neff atau found
• Apa yang terjadi jika Neff if (found) { // X ada di
= 0?? cout << X << " ada di indeks " << i;
} else {
cout << X << " tidak ditemukan"; 29
}
return 0; 2019/11/28
}
// File: [Link]
// mencari nilai maksimum pada array

Mencari Nilai
#include <iostream>
using namespace std;
int main ()

Ekstrim Array
{ // KAMUS
int max, i;
int TabInt[100];
// Algoritma
// Pengisian data: Buat sebagai
• Dengan asumsi array // latihan
// mencari nilai maksimum
tidak kosong, dapat max=TabInt[0]; //inisialisasi
//max dgn elemen ke-0
dilakukan pencarian for(i=1; i<Neff; i++) {
elemen array bernilai //ganti max kalau ada nilai elemen
//array yang lebih besar
ekstrim if (TabInt[i]>max) {
max=TabInt[i];
• Contohnya: mencari }
}
nilai maksimum cout << "Nilai maksimum: " << max <<
endl;
return 0; 30
}
2019/11/28
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

31
2019/11/28
Latihan 4
// File: [Link]
// 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; 32
cout << "Jumlah total elemen = " << sum << endl;
Pengenalanreturn
Teknologi0;
Informasi C - ITERA 2019/11/28
}

Anda mungkin juga menyukai