0% menganggap dokumen ini bermanfaat (0 suara)
32 tayangan52 halaman

Array

Diunggah oleh

Nurul Fatimah
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 PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
32 tayangan52 halaman

Array

Diunggah oleh

Nurul Fatimah
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 PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 52

ARRAY

PERTEMUAN KE - 8
PSTI FT UNRAM
2020
 Array adalah kumpulan dari nilai-nilai data yang
bertipe sama dalam urutan tertentu yang
menggunakan nama yang sama.
 Nilai-nilai data itu disebut dengan elemen.
ARRAY/LARIK  Letak atau urutan dari suatu elemen array
ditunjukkan oleh suatu index/subscript.
 Untuk bahasa C++, elemen pertama dari suatu array
dimulai dari indeks nol.
 Suatu array dapat ber-dimensi satu atau lebih.
Pendahuluan
 Tuliskan program untuk menjumlahkan bilangan, dan
urutkan bilangan tersebut secara terbalik.
int main()
{
int bil0, bil1, bil2, bil3, bil4;
int sum;

cout << "Masukkan lima bilangan: ";


cin >> bil0 >> bil1 >> bil2 >> bil3 >> bil4;
cout << endl;

sum = bil0 + bil1 + bil2 + bil3 + bil4;

cout << "Penjumlahan bilangan = " << sum << endl;


cout << "Bilangan dalam urutan terbalik adalah: ";
cout << bil4 << " " << bil3 << " " << bil2 << " " << bil1 << " " << bil0 << endl;

return 0;
}
 Tuliskan program yang menjumlahkan 20 bilangan,
dan urutkan bilangan tersebut secara terbalik.
int main()
{
int bil0, bil1, bil2, bil3, bil4, bil5, bil6, bil7, bil8, bil9 … , bil19;
int sum;

cout << "Masukkan lima bilangan: ";


cin >> bil0 >> bil1 >> bil2 >> bil3 >> bil4 >> bil5 >> bil6 >> bil7 >> bil8>> bil9 …;
cout << endl;

sum = bil0 + bil1 + bil2 + bil3 + bil4 bil5 + bil6 + bil7 + bil8 + bil9 + … + bil19;

cout << "Penjumlahan bilangan = " << sum << endl;


cout << "Bilangan dalam urutan terbalik adalah: ";
cout << bil19 << “ “ << … <<bil4 << " " << bil3 << " " << bil2 << " " << bil1 << " " << bil0 << endl;

return 0;
}
Tuliskan program yang menjumlahkan 100
bilangan, dan urutkan bilangan tersebut secara
terbalik.
Array / Tabel / Vektor / Larik
Jenis array :
Array berdimensi satu
Array berdimensi dua
ARRAY/LARIK
Array berdimensi n
(Multidimensi)
 Bentuk umum deklarasi array 1 dimensi:

TipeData (spasi) namaVariabel[ukuran];

Keterangan :
ARRAY 1 tipeData : menyatakan jenis tipe data elemen
DIMENSI array (int, char, float,dll)
namaVariabel : menyatakan nama variabel yang
dipakai.
ukuran : menunjukkan jumlah maksimal elemen
array.
Suatu array dapat diakses menggunakan
indeksnya.
Array 1
Bentuk umum :
Dimensi
Nama_array[indeks]
 Contoh:
int x[3]={5,3,7};
ARRAY 1  Artinya
DIMENSI  Array x bertipe integer, mempunyai 3
elemen yaitu x[0], x[1] dan x[2]
x[0] bernilai 5, x[1] bernilai 3, x[2] bernilai 7
Deklarasi array : int Bilangan[8]

Ilustrasi Array 1
Dimensi
Beda array dengan varibel biasa:
Sebuah larik/array dapat mempunyai sejumlah nilai, sedang
sebuah varibel biasa hanya dihubungkan dengan sebuah nilai
saja

Dengan variabel biasa Dengan array


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
// Algoritma
…..

• Elemen dari array dapat diakses langsung jika dan hanya jika indeks terdefinisi
• Cara mengacu sebuah elemen :
TabInt[2]
TabInt[i] jika i terdefinisi
Mengisi array merupakan aktifitas memberi
nilai elemen array
 Pemberian nilai satu elemen
Contoh: TabInt[0]=31;
Mengisi Array  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
#include <iostream>
using namespace std;
int main ()
Elemen array yang telah { // Kamus
Mengisi Dan diberi nilai dapat diakses int TabInt[10]; int i;
// Algoritma mengisi array
Membaca Isi kembali for (i=0; i<10; i++) {
Array }
TabInt[i]=i*10;

Contoh : menampilkan // Algoritma membaca dan menuliskan


// isi array ke layar
semua isi array ke layar for (i=0; i<10; i++) {
cout << TabInt[i] << endl;
}
return 0;
Memproses Array

Pemrosesan koleksi data pada array dilakukan


secara sekuensial
Asumsi : seluruh elemen array terdefinisi
Contoh: menjumlahkan data dan menghitung
rata-rata
#include <iostream>
using namespace std;
int main ()
{ // Kamus
int sum, i;
int TabInt[10];
// Algoritma : mengisi data nilai dari input user
cout << "Isilah 10 data nilai dalam range 0-100:” << endl;
for (i=0; i<10; i++) {
cin >> TabInt[i];
}
// Menjumlahkan nilai dan menghitung rata-rata
cout << "Data input:" << endl;
sum=0;
for (i=0; i<10; i++) {
cout << TabInt[i] << endl;
sum = sum + TabInt[i];
}
cout << "Rata-rata: ";
cout << sum/10.0 << endl;
return 0;
#include <iostream>
using namespace std;

int main() {
// Mendeklarasikan array dengan melakukan inisialisasi nilai ke
dalamnya
int A[10] = { 12, 24, 14, 25, 10,

Dengan asumsi 13, 21, 20, 15, 18 };


int C, J, BIL; // Variabel untuk menampung nilai yang akan dicari
semua elemen array // Menampilkan nilai yang terdapat pada elemen-elemen array di atas
Mencari terdefinisi dapat for (int C=0; C<10; C++) {
cout<<"A["<<C<<"]: "<<A[C]<<endl;

Indeks Suatu dilakukan pencarian }


cout<<endl;
indeks suatu nilai
Nilai (searching) ditemukan pertama // Memasukkan nilai yang akan dicari
cout<<"Masukkan nilai yang akan dicari: ";
kali dalam array cin>>BIL;

// Melakukan pencarian data


for (int J=0; J<10; J++) {
if (A[J] == BIL) {
cout<<"Nilai yang dicari "
<<"terdapat pada indeks ke-"<<J;
break;
}
}

return 0;
}
Listing Program – 1
#include <iostream>
using namespace std;

int main()
{
int data[5] = {4, 1, 0, -9, 8};
int elemen;
//tampilkandata
for (elemen=0;elemen <= 4;elemen++)
{
cout << " Data ke - " << elemen << ": " << data[elemen];
}
return 0;

Data ke – 0 : 4 Data ke – 1 : 1 Data ke – 2 : 0


Data ke – 3 : -9 Data ke – 4 : 8
Listing Program – 2
#include <iostream>
using namespace std;
int main()
{
int data[5]; //array dengan 5 elemen bertipe integer
int elemen;
//entri 5 data
for (elemen=0;elemen <= 4;elemen++)
{
cout << "Data ke - " << elemen << ": ";
cin >> data[elemen];
} //tampilkandata setelah entri
for (elemen=0;elemen <= 4;elemen++)
{
cout << " Data ke - " << elemen << ": " << data[elemen];
}
return 0;
}
Listing Program – 3
#include <iostream>
using namespace std;
int main()
{
int data[10]= {4, 1, 0, -9, 8, 5,-1,2, 3, -7};
int elemen, max;
max = data[0];
for(elemen=0;elemen<=9;elemen++)
{
if (data[elemen]>max) max = data[elemen];
else max =max;
}
cout << "Nilai maksimum adalah :" << max;
return 0;
}

Nilai maksimum adalah : 8


 Listing Program – 4
int main()
{
int bil[5];
int sum;
int counter;

cout << "Masukkan lima bilangan: ";

sum = 0;

for (counter = 0; counter < 5; counter++)


{
cin >> bil[counter];
sum = sum + bil[counter];
}

cout << endl;

cout << "Penjumlahan bilangan = " << sum << endl;


cout << "Bilangan dalam urutan terbalik adalah: ";

//cetak bilangan dalam urutan terbalik


for (counter = 4; counter >= 0; counter--)
cout << bil[counter] << " ";

cout << endl;

return 0;
}
 Listing Program – 5
int main()
{
int bil[20];
bil = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
int sum;
int counter;

cout << "Masukkan 20 bilangan: " << endl;

sum = 0;

for (counter = 0; counter < 20; counter++)


{
cout << bil[counter] << " ";
//cin >> bil[counter];
sum = sum + bil[counter];
}

cout << endl;

cout << "Penjumlahan bilangan = " << sum << endl;


cout << "Bilangan dalam urutan terbalik adalah: ";

//cetak bilangan dalam urutan terbalik


for (counter = 19; counter >= 0; counter--)
cout << bil[counter] << " ";

cout << endl;

return 0;}
 Mempunyai elemen BARIS & KOLOM

ARRAY 2  Dapat dipakai untuk representasi sebuah MATRIK


 Struktur data untuk rekapitulasi informasi berdasar baris dan
DIMENSI kolom  TABEL, misal: penjualan barang
 Memakai NESTED LOOPING dalam operasinya
 Deklarasi Array
tipe_data nama_array[jml_baris][jml_kolom];

Keterangan :
ARRAY 2 tipe_data : menyatakan jenis tipe data elemen array

DIMENSI nama_array
(int, char, float, dll)
: menyatakan nama variabel yang dipakai.
jml_baris : menunjukkan jumlah maksimal baris.
jml_kolom : menunjukkan jumlah maksimal kolom.
Deklarasi array :
int matriks[3][4];
int matriks2[3][4] = { {5,20,1,11}, {4,7,67,-9}, {9,0,45,3} };

Ilustrasi Array
Berdimensi
Dua
 Dalam menganalogikan array 2 dimensi, sering
digunakan istilah baris (x) dan kolom (y)
 Contoh : int posisi [3][4];
[3]  3 buah baris (index 0 – 2)
[4]  4 buah kolom (index 0 – 3)
 Representasi array dua dimensi di dalam memori
secara berurutan per baris dengan elemen pertama
adalah data berindex [0,0].
 Dari contoh maka representasinya di dalam memori
sebagai berikut : [0,0]|[0,1]| [0,2]|
[0,3]|[1,0]|[1,1]|[1,2]|[1,3]|[2,0]|[2,1]|[2,2]|[2,3]
 Array dua dimensi dapat digunakan untuk berbagai
keperluan, antara lain :
 Matrik
 Pemetaan yang berhubungan dengan koordinat.
Misalkan data jumlah pohon dalam koordinat
tertentu, atau warna pixel di layar
 Menampilkan data multidimensi
Contoh : Inputan Matrik 2 Dimensi
{
int matriks[3][3];
int i,j;
char opr;
//Input nilai matriks dari baris dan kolom
for(i=1;i<=2;i++){//baris
for(j=1;j<=2;j++){//kolom
cout<<"Masukkan nilai baris ke-"<<i<<" kolom ke-"<<j<<" : ";cin>>matriks[i][j];
}
cout<<endl;
}
//Output matriks
for(i=1;i<=2;i++){
for(j=1;j<=2;j++){
cout<<matriks[i][j]<<"\t";
}
cout<<endl;
}
return 0;
}
int main()
{
string jurusan[3];
jurusan[0] = "S1 Teknik Informatika";
jurusan[1] = "S1 Teknik Telekomunikasi";
Contoh : data jurusan[2] = "D3 Teknik Telekomunikasi";
int tahun[4] = {2011, 2012, 2013, 2014};
multidimensi int kelulusan[3][4] = {
jumlah mahasiswa {35,45,80,120},
{100,110,70,101},
yang lulus di suatu {10,15,20,17}
universitas };
cout<<"---------------------------------------------------"<<endl;
cout<<" Jurusan | ";
for (int i=0; i<=3; i++) cout<<tahun[i]<<" "; cout<<endl;
cout<<"---------------------------------------------------"<<endl;
for (int x=0; x<=2; x++) {
cout<<setw(22)<<jurusan[x];
for (int y=0; y<=3; y++) {
cout<<setw(7)<<kelulusan[x][y];
}
cout<<endl;
}
cout<<"---------------------------------------------------";
return 0;
}
STRING
 String merupakan bentuk data yang digunakan untuk menampung dan
memanipulasi data teks.
 Pada C, string bukan merupakan satu tipe data tersendiri, melainkan
merupakan array dari karakter.
STRING  Contoh:
char mystring[35];
char myname[] = “Hello World”;
 Konstanta string ditulis dengan diawali dan diakhiri
tanda petik ganda.
Konstanta
 Contoh:
String #define abjad “ABeCe”
#define judul “Stringku”
 Komposisi penyimpanan string dalam memori:

Penggunaan
Memory  Setiap karakter akan menempati memori sebesar 1
byte
 Byte terakhir otomatis akan berisi karakter NULL
(\0)
 Variabel string adalah variabel yang dipakai utuk
menyimpan nilai string.
 Variabel string sebenarnya merupakan variabel
array bertipe data char.
Variable String
 string = array of char
 Contoh:
char nama[35];
char alamat[60];
 Seperti halnya variabel tipe lain, suatu variabel
string dapat diinisialisasi dengan elemen
terakhirnya berupa karakter NULL.
 Contoh:
char name[]={‘J',’o',‘y',’\0’};
Inisialisasi char name[]= “Joy”;
Variabel String  Penugasan atau pemberian nilai ke variabel string
seperti dibawah ini tidak diperkenankan
name = “RINI”;
suatu string dapat dibentuk dari array
karakter berdimensi satu
Dengan cara yang sama, berarti array
Array String string dimensi satu dapat dibentuk dari
array karakter dimensi dua. Array string
dimensi dua dapat dibentuk dari array
karakter dimensi tiga dan seterusnya.
 Contoh berikut menunjukkan deklarasi suatu Array string dimensi satu yang dibentuk dari
array karakter dimensi dua. (perhatikan bahwa deklarasi ini menggunakan tipe char)

#include <stdio.h>
main()
{
int i,j;
char Hari[7][10]={"Minggu","Senin","Selasa","Rabu","Kamis","Jum'at","Sabtu"};

Array String for(i=0;i<7;i++)


{ for(j=0;j<10;j++)
printf("%c",Hari[i][j]);
printf("\n");
}
}
Daftar Fungsi untuk string
Fungsi Keterangan
strcpy() Menyalin suatu string.
strcat() Menambahkan string ke akhir posisi string/
menggabungkan string.
strcmp() Membandingkan dua string.
strdup() Menduplikat string
strlen() Menghasilkan panjang string.
strupr() Mengkonversi semua huruf kecil dalam string menjadi
huruf kapital.
strlwr() Mengkonversi semua huruf kapital dalam string menjadi
huruf kecil.
strncat() Menggabungkan string sebanyak n karakter
strrev() Membalik suatu string
ctrchr() Mencari lokasi karakter dari suatu string
#include<iostream.h>
#include<conio.h>
#include<string.h>
main()
{
char kata[100],i,b[]="_________________________________________";
gotoxy(15,6);cout << "PROGRAM UNTUK MEMBALIK URUTAN KARAKTER"
<< endl;
gotoxy(22,7);cout << "DALAM SUATU KALIMAT" << endl;
gotoxy(15,8);cout << b << endl;
gotoxy(20,10);cout << "Masukan sebuah kalimat : "<< endl;
gotoxy(20,12);cin.get(kata,100);
clrscr();
gotoxy(20,9);cout << b << endl;
gotoxy(20,11);cout << "kalimat Sebelum dibalik " << endl;
gotoxy(25,13);cout <<'"' << (kata) << '"' << endl;
gotoxy(20,15);cout << "Kalimat setelah dibalik ";
gotoxy(25,17);cout << '"' << strrev(kata) << '"'<<endl;
gotoxy(20,19);cout << b << endl;
return 0 ;
}
for (i=0 ; i<pjg;i++)
#include<iostream.h>
{
#include<conio.h>
kar = nama[i];
#include<string.h>
ptrkar = strchr(huruf,kar);
main()
if (ptrkar !=0)
{
{
static char huruf[10] =
vokal = vokal + 1;
{'A','I','U','E','O','a','i','u','e','o'} ;
}
char *ptrkar ;
else
char kar,nama[20];
{
char grs[]=“ ______________________";
konsonan = konsonan +1 ;
int i,pjg,vokal,konsonan;
}
gotoxy(15,3);cout << "PROGRAM UNTUK
}
MENGHITUNG HURUF VOKAL &
gotoxy(10,5);cout<< grs ;
KONSONAN";
gotoxy(15,7);cout<< "KATA " <<"' "<<
gotoxy(10,4);cout <<grs ;
strupr(nama)<<" '" << " Terdiri dari :";
gotoxy(10,8);cout <<grs ;
gotoxy(20,9);cout<< vokal << " Huruf
gotoxy(20,6);cout << "MASUKKAN
Vokal " ;
SEBUAH KATA : ";
gotoxy(20,10);cout<< konsonan << "
cin >> nama;
Huruf Konsonan" ;
clrscr();
gotoxy(10,12);cout<< grs ;
pjg = strlen(nama);
return 0 ;
vokal = 0,konsonan = 0 ;
}
 Buatlah algoritma dan program untuk mencari
bilangan yang terbesar dan nilai rata-rata dari array
bilangan real yang sudah ditentukan isi atau
elemennya !
 Buatlah algoritma dan program untuk menerima input
Contoh Soal sembarang bilangan bulat secara berulang dari user
dan menyimpannya dalam sebuah array. Jumlah
bilangan maksimal yang dapat disimpan dalam array
adalah 10 buah. Tampilkan hasilnya sebagai output !
 Terdapat 2 array yang elemen-elemennya
adalah sebagai berikut :
A = [3,6,4,8,9,2]
B = [2,4,6,8,1,3]
Contoh Soal Buatlah algoritma dan program untuk
menjumlahkan elemen yang bersesuaian dari
array A dan B lalu menyimpan hasil
penjumlahannya pada array baru (misal C).
 Buatlah algoritma dan program untuk menginputkan sembarang
bilangan bulat dalam sebuah matriks 3 x 3, lalu menampilkan :
Isi matriks
Contoh 1.
Transpose matriks
Diagonal matriks
 Terdapat 2 buah matriks sebagai berikut :

7 3 3 1 
A=  B= 
Contoh 2.  9 8  4 - 2 

Buatlah algoritma dan program untuk menghitung


penjumlahan setiap elemen matriks A dengan B, lalu
menyimpan hasilnya dalam matriks C. Tampilkan isi
matriks C sebagai output !
 Buatlah algoritma dan program untuk menginputkan
sembarang huruf dalam sebuah array yang berukuran
5 elemen, lalu membalik elemen dalam array
Contoh 1. tersebut. Tampilkan hasilnya sebagai output !
input :
k a s u r
output :
r u s a k
 Buatlah algoritma dan program untuk menginputkan
pasangan Negara dan Ibukota berikut dalam sebuah array :

Contoh 2.
Negara Ibukota
Indonesia Jakarta
Inggris London
Austria Wina
Perancis Paris
Jepang Tokyo
Tugas ! Tulis algoritmanya
#include <iostream.h>
#include <conio.h>

void main(){
int i, x, ketemu=0;
int data[]={1,2,3,4,5,6,7,8,9,10};

cout<<"Data yang anda cari :";cin>>x;


for(i=0; i<=9;i++)
{ if (data[i]==x)
{ ketemu=!ketemu;
break; }
}
if (ketemu)
cout<<"Data tersebut ada pada posisi ke: "<<i+1;
else
cout<<"Data tersebut tidak ada";
getch();
}
 Perkalian Matrik (2 x 2)
Contoh  Penjumlahan Matrik (3 + 3)

Anda mungkin juga menyukai