Algoritma dan Struktur Data Praktikum 2 SKS Dosen: Muhammad Fachrie, M.Cs. Praktikum Alstrukdat - Pertemuan 2
Praktikum Alstrukdat - Pertemuan 2 ARRAY Array atau larik merupakan sebuah variabel yang mampu menyimpan banyak nilai/ data yang memiliki tipe yang sama. Setiap nilai/ data tersebut menempati lokasi atau alamat memori yang berbeda-beda. Nilai/ data tersebut selanjutnya kita sebut dengan elemen array. Setiap elemen array memiliki indeks posisi yang diurutkan mulai dari indeks ke-0. Array Nilai ke-1 Nilai ke-2 Nilai ke-3 Nilai ke-4 … Nilai ke-N 1 2 3 N-1 Praktikum Alstrukdat - Pertemuan 2
Praktikum Alstrukdat - Pertemuan 2 Contoh Array DeretGenap [6,23] 6 8 10 12 14 16 18 20 22 1 2 3 4 5 7 Nilai dari elemen array DeretGenap di atas adalah: DeretGenap ke-0 = 6 DeretGenap ke-1 = 8 DeretGenap ke-2 = 10 DeretGenap ke-3 = 12 DeretGenap ke-4 = 14 DeretGenap ke-5 = 16 DeretGenap ke-6 = 18 DeretGenap ke-7 = 20 DeretGenap ke-8 = 22 Praktikum Alstrukdat - Pertemuan 2
Deklarasi Array pada C++ Gunakan tanda ‘[]’ (kurung siku) Contoh: int DeretGenap[20]; double Data[1000]; char Kata[50]; Praktikum Alstrukdat - Pertemuan 2
Mengisikan Nilai pada Array Misal, kita membuat sebuah array sbb.: int DeretGenap[20]; Maka, untuk mengisi nilai ke dalam array tersebut dapat dilakukan dengan cara: DeretGenap[0] = 0; DeretGenap[1] = 2; DeretGenap[2] = 4; DeretGenap[3] = 6; … dst. Praktikum Alstrukdat - Pertemuan 2
Praktikum Alstrukdat - Pertemuan 2 Cara yang Efisien Gunakan skema looping atau pengulangan untuk mengisi maupun membaca nilai pada elemen array. Contoh: for (int i=0; i<20; i++){ cout<<”Nilai genap ke-”<<i<<“ =”; cin>>DeretGenap[i]; } Praktikum Alstrukdat - Pertemuan 2
Praktikum Alstrukdat - Pertemuan 2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include <iostream> using namespace std; int main(){ int DeretGenap[20]; //Mengisi data array hingga indeks ke-3 cout<<"Nilai Genap ke-0 = "; cin>>DeretGenap[0]; cout<<"Nilai Genap ke-1 = "; cin>>DeretGenap[1]; cout<<"Nilai Genap ke-2 = "; cin>>DeretGenap[2]; cout<<"Nilai Genap ke-3 = "; cin>>DeretGenap[3]; //Menampilkan isi dari elemen array DeretGenap cout<<"-------------------------"<<endl; cout<<"Nilai Genap ke-0 = "<<DeretGenap[0]<<endl; cout<<"Nilai Genap ke-1 = "<<DeretGenap[1]<<endl; cout<<"Nilai Genap ke-2 = "<<DeretGenap[2]<<endl; cout<<"Nilai Genap ke-3 = "<<DeretGenap[3]<<endl; return 0; } Praktikum Alstrukdat - Pertemuan 2
Praktikum Alstrukdat - Pertemuan 2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include <iostream> using namespace std; int main(){ int DeretGenap[20]; //Mengisi data array hingga indeks ke-3 int n = 3; for (int i=0; i<=n; i++){ cout<<"Nilai Genap ke-"<<i<<" = "; cin>>DeretGenap[i]; } //Menampilkan isi dari elemen array DeretGenap cout<<"-------------------------"<<endl; cout<<"Nilai Genap ke-"<<i<<" = "<<DeretGenap[i]<<endl; return 0; Praktikum Alstrukdat - Pertemuan 2
Praktikum Alstrukdat - Pertemuan 2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #include <iostream> using namespace std; int main(){ float IPK_Mhs[6] = {2.66, 3.5, 3.67, 2.78, 3.9, 3.8}; //Menampilkan isi dari elemen array DeretGenap cout<<"IPK Mahasiswa Kelas TI-A UTY"<<endl; cout<<"----------------------------"<<endl; for (int i=0; i<=5; i++){ cout<<"IPK Mahasiswa ke-"<<i<<" = "<<IPK_Mhs[i]<<endl; } //Menampilkan indeks IPK yang nilainya >=3.00 cout<<endl; cout<<"Indeks IPK Mahasiswa yang bernilai >= 3.00"<<endl; if (IPK_Mhs[i] >= 3.00){ cout<<"IPK Mahasiswa ke-"<<i<<endl; return 0; Praktikum Alstrukdat - Pertemuan 2
Praktikum Alstrukdat - Pertemuan 2 Latihan Array Buatlah sebuah program yang bisa menyimpan nilai-nilai di bawah ini ke dalam sebuah array: UsiaMahasiswa = 21, 19, 20, 22, 17, 17, 18 Kemudian, program akan mengeluarkan output mahasiswa mana yang usianya di atas 18 tahun. Contoh output: Mahasiswa yang berusia > 19 tahun: Mahasiswa ke-1 Mahasiswa ke-3 Mahasiswa ke-4 Praktikum Alstrukdat - Pertemuan 2
Praktikum Alstrukdat - Pertemuan 2 Latihan Array Kemudian, buatlah program yang dapat menghitung nilai rata-rata dari semua usia mahasiswa tersebut! Praktikum Alstrukdat - Pertemuan 2
Praktikum Alstrukdat - Pertemuan 2 Array 2 Dimensi Array 2 dimensi merupakan sebuah matriks yang memiliki baris dan kolom. kolom 1 2 …. N-1 Nilai ke-1 Nilai ke-2 Nilai ke-3 Nilai ke-N … baris Praktikum Alstrukdat - Pertemuan 2
Deklarasi Array 2 Dimensi Deklarasi array 2 dimensi pada dasarnya sama dengan array 1 dimensi, bedanya adalah indeks array-nya kini ada 2. Contoh: int Matriks[4][3]; float Nilai[5][5]; Praktikum Alstrukdat - Pertemuan 2
Mengisikan Nilai pada Array 2D Misal, kita membuat sebuah array sbb.: int Matriks[2][3]; Maka, untuk mengisi nilai ke dalam array tersebut dapat dilakukan dengan cara: Matriks[0][0] = 3; Matriks[0][1] = 2; Matriks[0][2] = 4; Matriks[1][0] = 7; Matriks[1][1] = 9; Matriks[1][2] = 0; 1 2 3 4 7 9 Praktikum Alstrukdat - Pertemuan 2
Praktikum Alstrukdat - Pertemuan 2 Cara yang Efisien Gunakan skema looping atau pengulangan untuk mengisi maupun membaca nilai pada elemen array. Contoh: for (int brs=0; brs<2; brs++){ for (int klm=0; klm<3; klm++){ cout<<“Matriks [“<<brs<<“,”<<klm<<“] = ”; cin>>Matriks[brs][klm]; } Praktikum Alstrukdat - Pertemuan 2
Praktikum Alstrukdat - Pertemuan 2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #include <iostream> using namespace std; int main(){ int Matriks[2][3]; //Mengisi data matriks int JumBrs = 2; int JumKlm = 3; for (int brs=0; brs<JumBrs; brs++){ for (int klm=0; klm<JumKlm; klm++){ cout<<"Matriks "<<brs<<",“<<klm<<" = "; cin>>Matriks[brs][klm]; } //Menampilkan isi Matriks cout<<"-------------------------"<<endl; cout<<Matriks[brs][klm]<<" "<<; cout<<endl; return 0; Praktikum Alstrukdat - Pertemuan 2
Praktikum Alstrukdat - Pertemuan 2 Latihan Buatlah program yang dapat menyimpan array berukuran 5x5, dimana semua elemennya bernilai 0! Tampilkan isi array tersebut seperti gambar di bawah ini: 0 0 0 0 0 Praktikum Alstrukdat - Pertemuan 2
Praktikum Alstrukdat - Pertemuan 2 Latihan Lalu ubah kode programnya sehiingga menghasilkan matriks identitas seperti ini: 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 Praktikum Alstrukdat - Pertemuan 2