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

Algoritma Per.5 Part 1

Dokumen tersebut membahas tentang array dan struktur data, dimana terdapat 3 tujuan pembelajaran yaitu mahasiswa dapat memahami makna dan kegunaan array, menggunakan notasi array dengan benar, dan membuat program menggunakan array.

Diunggah oleh

Dzaky RX HD 3
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)
27 tayangan

Algoritma Per.5 Part 1

Dokumen tersebut membahas tentang array dan struktur data, dimana terdapat 3 tujuan pembelajaran yaitu mahasiswa dapat memahami makna dan kegunaan array, menggunakan notasi array dengan benar, dan membuat program menggunakan array.

Diunggah oleh

Dzaky RX HD 3
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/ 37

Pertemuan 5

Algoritma dan Struktur Data


UPB2022
Array
Tujuan

Mahasiswa Mampu Mahasiswa Mampu


01 Mahasiswa memahami makna dan
kegunaan array (deret data)
02 Mahasiswa dapat menggunakan no-
tasi pendefinisian dan pengacuan
array dengan benar hingga proses
pencarian terhadap elemen array

Mahasiswa Mampu
03 Mahasiswa dapat membuat program
dengan menggunakan array
Sc : sekolahkocding
Intermezzo
Intermezzo
Intermezzo
Pendahuluan
• Tuliskan program untuk menjumlahkan bilangan, dan urutkan bi-
langan 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 bilan-
gan tersebut secara terbalik.
Array / Tabel / Vektor / Larik
• Array adalah kumpulan data yang bertipe sama yang
menggunakan nama yang sama.
• Dengan menggunakan array, sejumlah variabel dapat memakai
nama yang sama.
• Antara satu variabel dengan variabel lain di dalam ar-
ray dibedakan berdasarkan nomor elemen (subscript/indeks)
Array dalam C++ (1)
• Variabel dapat dideklarasikan ber-type array dari suatu type ter-
tentu
• Setiap elemen array diakses dengan alamat berupa indeks yang
bertype integer

Cara deklarasi :
<type> <namaArray>[<ukuran>]
• Contoh : int TabInt[10];
 Array bernama TabInt
 Setiap elemen bertype integer,
 Dengan ukuran 10 elemen,
 Dengan alamat setiap elemen array (indeks)
adalah dari indeks ke-0 s.d. 9
Array dalam C++ (2)
Cara akses elemen:
<namaArray>[<indeks>]

Contoh: int TabInt[10];

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!
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

 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
Mengisi Dan Membaca Isi Array
#include <iostream>
 Elemen array yang telah using namespace std;
int main ()
diberi nilai dapat diakses { // Kamus
kembali int TabInt[10]; int i;
// Algoritma mengisi array
for (i=0; i<10; i++) {
 Contoh : menampilkan se- TabInt[i]=i*10;
}
mua isi array ke layar // Algoritma membaca dan menuliskan // isi ar-
ray 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>
Mencari Indeks using namespace std;

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

(searching) 13, 21, 20, 15, 18 };


int C, J, BIL; // Variabel untuk menampung nilai yang akan dicari

// Menampilkan nilai yang terdapat pada elemen-elemen array di atas


for (int C=0; C<10; C++) {
 Dengan asumsi semua }
cout<<"A["<<C<<"]: "<<A[C]<<endl;

elemen array terdefinisi cout<<endl;

dapat dilakukan pencar- // Memasukkan nilai yang akan dicari


cout<<"Masukkan nilai yang akan dicari: ";
ian indeks suatu nilai cin>>BIL;

ditemukan pertama kali // Melakukan pencarian data


for (int J=0; J<10; J++) {
dalam array 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


Urutan dan bilangan terbalik
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;
}
Array 2 Dimensi
• Array dapat dibuat berdimensi dua, dimana array ini mem-
punyai dua buah index / subscript.
• Sama seperti array dimensi satu, array dua dimensi juga
merupakan kumpulan elemen-elemen yang bertipe data
sama dengan satu nama variabel, tetapi terdiri dari dua index.
• Contoh :
int posisi [3][4]

 Int  tipe data array


 posisi  variabel, nama array
 [3]  index (menyatakan jumlah baris)
 [4]  index (menyatakan jumlah kolom)
• 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 beruru-
tan 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
Tugas 4
1. Buatlah flowchart dan program untuk memasukkan nim masing2
dan tampilkan nilai terkecilnya
2. Buatlah flowchart dan program untuk memasukkan nim masing2
dan tampilkan urutanya mulai dari yang terkecil
Tugas 4
3. Deret fibonacci adalah deret yang dimulai dengan dua angka yang
bernilai 0 dan 1, kemudian deret ketiga ditentukan dari penjumla-
han kedua angka tersebut, sedangkan deret keempat ditentukan
dari dua angka sebelumnya begitu seterusnya. Sehingga didap-
atkan deret fibonanci sebagai berikut:
0 1 1 2 3 5 8 13 21 …
Buatlah flowchart dan program untuk meminta input dari user
berupa sebuah bilangan, kemudian tampilkan deret fibonacci mulai
dari 1 sampai dengan bilangan tsb
Thank you

Anda mungkin juga menyukai