Modul 6 Algo Array Dan String C++
Modul 6 Algo Array Dan String C++
Array
• Kumpulan beberapa elemen data dengan tipe
yang sama dan dipanggil dengan nama yang
sama
• Deklarasi array pada program:
unsigned short int arrayku[5];
• Berarti variabel arrayku memiliki 5 buah elemen
data dengan tipe unsigned short int
arrayku[0] arrayku[1] arrayku[2] arrayku[3] arrayku[4]
atau
atau
3#include <iostream>
5using std::cout;
6using std::endl;
8#include <iomanip>
11
12 int main()
13 {
14 int n[ 10 ] = { 32, 27, 64, 18, 95, 14, 90, 70, 60, 37 };
15
17
20
21 return 0;
22 }
Element Value
0 32
1 27
2 64
3 18
4 95
5 14
6 90
7 70
8 60
9 37
masalah 2: operasi vektor
• Bagaimana cara melakukan suatu operasi
vektor pada suatu program?
contoh vektor dalam notasi matematis:
a = [ 1, 3 , 5, 7 , 9]
b = [ 2, 4 , 6, 8, 10]
a+b=?
a – b=?
a . b =? (dot product)
masalah 2: operasi vektor
• Penjumlahan, pengurangan, perkalian
pada array juga tidak bisa dilakukan
secara bersamaan untuk semua elemen
array
• Operasi-operasi tersebut juga harus
dilakukan secara individual untuk masing-
masing element array
masalah 2: operasi vektor
• Contoh penjumlahan vektor: c = b + a
• Penerapan dalam program:
for( j=0; j<5; j++)
{
c[ j ]=b[ j ] + a[ j ];
}
Contoh soal 1: mencari nilai maksimal dan
minimal dari suatu array bilangan
• Diketahui suatu array:
• int v[8] = { 9, 11, 3, 7, 8, 12, 6, 5};
• Buatlah program untuk mencari nilai maks
dan min pada array tersebut!
Algoritma Mencari nilai minimal
pada suatu array
• Input : array v
• Output : v_min
• Var tambahan : temp (temporary v_min)
• Algoritma:
temp = v[0]; //langkah 1, anggap v[0] itu v_min
if (v[1] < temp) temp=v[1];
if (v[2] < temp) temp=v[2];
if (v[3] < temp) temp=v[3];
… dst, lakukan untuk semua elemen v
Contoh soal 2: mengurutkan
elemen-elemen pada suatu array
• int v[8] = { 9, 11, 3, 7, 8, 12, 6, 5};
• Buatlah program untuk mengurutkan
elemen array v dari yang terkecil sampai
yang terbesar!
string
• String : suatu array yang elemen-
elemennya adalah karakter (data bertipe
char)
• Pada C / C++ array karakter dalam suatu
string diakhiri dengan bilangan 0 sebesar
8 bit ( 0 atau ‘\0’)
Deklarasi string
• Suatu string dideklarasikan dan
diinisialisasi sbb:
char teks[8]=“progdas”;
• Statement diatas sama dengan statement
berikut:
char teks[8]={‘p’,’r’,’o’,’g’,’d’,’a’,’s’,’\0’};
atau
char teks[8]={‘p’,’r’,’o’,’g’,’d’,’a’,’s’,0};
Library cstring
• C++ mempunyai library yang mempunyai
fungsi-fungsi pengolah string. Library
tersebut ada dalam file cstring
• Untuk menggunakannya perlu di-include
dalam program:
#include<cstring>
Fungsi-fungsi dalam library cstring
• strcpy( ) : meng-copy data dari satu string
ke string yang lain
• strcat( ) : menyambung suatu string
dengan string yang lain
• strlen( ) : menentukan panjang suatu
string
• strcmp( ) : membandingkan 2 string
• tolower(); toupper()
Array multidimensi
• Topik yang telah kita bicarakan adalah
mengenai array 1 dimensi
• Bagaimana dengan array dengan dimensi
> 1?
• Bagaimana bahasa C/C++ menangani
array dengan dimensi >1?
Array 2 dimensi
• Dalam matematika, array 2 dimensi ini
disebut matriks 2 dimensi
• Deklarasi array 2 dimensi dalam C/C++:
unsigned int matriks [2][3];
berarti mendeklarasikan suatu array 2
dimensi dengan jumlah baris = 2 dan
jumlah kolom =3
visualisasi
• unsigned short int matriks [2][3];
•
Contoh: Penjumlahan matriks
3 5 6
• A= 1 9 2
5 1 2
• B= 1 2
3 0 4
2
7 1 1
• B= 1 2
3 0 4
2
7 1 1
for(i=0;i<2;i++)//untuk semua i
{ for(j=0;j<2;j++)// dan untuk semua j
{ C[i][j]=0;
for(k=0;k<2;k++)//menghitung sigma
{
C[i][j]=C[i][j]+A[i][k]*B[k][j];
}
}
}
Contoh program
• Ini contoh program penggunaan array. Silahkan
dicoba dan diamati hasilnya.
//Program 1. mencetak nilai array
#include <iostream>
#include <conio.h>
int main() {
int A[3][4]={{3,4,8,0},{3,9,2,1},{6,3,0,2}};
}
//Program 2. Mencari nilai terbesar
#include <iostream>
#include<conio.h>
#define ARRAY_SIZE 5
int main()
{
int numbers[ARRAY_SIZE], i, largest;
largest = numbers[0];
for (i = 1; i < ARRAY_SIZE; i++)
{
if (largest < numbers[i])
largest = numbers[i];
}
cout<<"\nLargest /Biggest Number Is : "<<largest;
getch();
return 0;
}