Pertemuan 4: INF202: Struktur Data TIPE DATA ARRAY Dosen: Wayan Suparta, PhD
PENGERTIAN ARRAY Array (larik) merupakan kumpulan dari nilai-nilai data yang bertipe sama dalam urutan tertentu yang menggunakan nama yang sama. Letak atau posisi dari elemen array ditunjukkan oleh suatu index. Dilihat dari dimensinya array dapat dibagi menjadi Array dimensi satu, array dimensi dua dan array multi-dimensi. Cara penulisan Array : A [1,2,3,4,5] Ini menyatakan bahwa array A berisi data 1,2,3,4,5 dengan mempunyai lima buah elemen. Elemen Array dimulai dari indeks ke 0 bukan ke 1.
ARRAY SATU DIMENSI Setiap elemen array dapat diakses melalui indeks. Deklarasi Array tipe nama_var[ukuran]; dimana : tipe = menyatakan jenis elemen array (ex. char, int) nama_var = nama variabel, seperti nilai, x, y, z, dstnya ukuran = menyatakan jumlah maksimal elemen array (indeks) Contoh : int Nilai [5];
Penerapan Array Pada Bahasa C++ Deklarasi Keterangan int cacah[4]; Array dengan nama cacah mempunyai 4 elemen bertipe int char vocal[5]; Array vocal mempunyai 5 buah elemen bertipe char char kota[6][20]; Array kota mempunyai 6 buah elemen tipe string dengan penjang karakter maksimal 20 karakter Dalam hal ini jumlah_elemen harus berupa konstanta Ingat = Array selalu menghitung dari angka 0 bukan 1
Contoh Program Array Satu Dimensi #include <iostream> using namespace std; int main() { int i, nilai[5]; //Pengisian elemen array nilai[0] = 55; nilai[1] = 58; nilai[2] = 67; Total 5 elemen nilai[3] = 78; nilai[4] = 92; //Menampilkan data ke layar for (i=0; i<5; i++) // for (i=0; i<=4; i++) //printf ("%d\n",nilai[i]); cout << nilai[i] << "\n"; return 0;
LANJUTAN CONTOH ARRAY DGN SCANF NUMERIK #include <iostream> int main() { int i; int nilai[5]; printf ("Inputan Data:\n"); //Pengisian elemen array for (i=0;i<5;i++) scanf("%d",&nilai[i]); //Menampilkan data ke layar printf ("\noutput Data\n"); for (i=0;i<5;i++) printf ("%d\n",nilai[i]);
LANJUTAN CONTOH ARRAY DGN SCANF CHAR #include <iostream> using namespace std; int main() { int i; char kar[5]; printf ("Inputan Data:\n"); //Pengisian elemen array for (i=0;i<5;i++) scanf("%c",&kar[i]); //Menampilkan data ke layar printf ("\noutput Data\n"); for (i=0;i<5;i++) printf ("%c\n",kar[i]);
Buatlah algoritma dan program untuk menyimpan data berikut ke dalam array 10 4 2 5 3 8 9 2 9 5 Kemudian carilah bilangan yang terbesar. Jawab : Algoritma: Data [10,4,2,5,3,8,9,2,9,5] Terbesar Data[0] Untuk i 1 s/d 9 Jika data[i] > terbesar maka Terbesar Data[i] Akhir-jika Akhir untuk Tampilkan(terbesar)
Buatlah algoritma dan program untuk menyimpan data berikut ke dalam array 10 4 2 5 3 8 9 2 9 5. Kemudian carilah bilangan yang terbesar. Jawab : Algoritma: Data [10,4,2,5,3,8,9,2,9,5] Terbesar Data[0] Untuk i 1 s/d 9 Jika data[i] > terbesar maka Terbesar Data[i] Akhir-jika Akhir untuk Tampilkan(terbesar) #include <iostream> using namespace std; int main() { int data[] = {10,4,2,5,3,8,9,2,9,5; int i, terbesar; terbesar = data[0]; for (i = 0; i < 10 ; i++) if(data[i] > terbesar) terbesar = data[i]; cout << terbesar = << terbesar << \n ; return 0;
Buatlah sebuah program untuk membaca data secara berulang dari keyboard dan meletakkannya ke dalam sebuah array. Jumlah maksimal yang dapat dimasukkan ke dalam array adalah 10 buah. Setelah itu tampilkan seluruh data yang dimasukkan dari keyboard tadi. Jawab : Algoritma Jumdata 10 Untuk i 0 s/d 9 Masukkan (Data[i]) Tampilkan( memasukkan lagi (Y/T)? ) Masukkan(jawaban) Jika jawaban = T atau t maka Jumdata I +1 Keluar dari perulangan Akhir jika Akhir untuk Untuk i 0 s/d jumdata-1 Tampilkan(Data[i]) Akhir Untuk #include <iostream> using namespace std; int main() { double data[10]; int i, jumdata; char jawaban; jumdata = 0; for(i=0;i<10;i++){ cout << masukkan sembarang bilangan : ; cin >> data[i]; cout << memasukkan lagi (Y/T)?? ; cin >> jawaban; if (jawaban == T jawaban == t ){ jumdata = i+1; break; for (i=0;i<jumdata;i++) cout<< data[i] << \n ; return 0;
Ketiklah program ini dan apa hasilnya?
ARRAY DIMENSI DUA Array dua dimensi merupakan array yang terdiri dari m buah baris dan n buah kolom. Bentuknya dapat berupa matriks atau tabel. Deklarasi array : tipe_array nama_array[baris][kolom]; Contoh : int X[3][4];
LANJUTAN ARRAY DIMENSI DUA Cara mengakses array : Contoh : int X[3][4]; 0 1 2 3 0 23 44 54 33 1 86 56 97 36 2 34 75 69 88 X[0][3] = 33; X[2][0] = 34; X[1][2] = 97; X[3][2] =?
#include <iostream> using namespace std; Contoh Program 2D void cetakarray(int [][3]); int main(){ int matrik1[2][3]={{1,2,3,{4,5,6, matrik2[2][3]= {1,2,3,4,5, matrik3[2][3]= {{1,2, {4; cetakarray(matrik1); cetakarray(matrik2); cetakarray(matrik3); return 0; void cetakarray(int a[][3]){ int i,j; for (i=0; i<=1;i++){ for(j=0;j<=2;j++) cout<<" "<<a[i][j]; cout<<"\n";
Contoh Pemakaian Array 2 Dimensi /* File program : Tampilan2array.cpp */ #include <iostream> using namespace std; int main() { int bilangan[3][4]={ {1,2,3,4, {5,6,7,8, {9,10,11,12; for (int a=0;a<3;a++ ){ for (int b=0;b<4;b++){ cout << "Pada index ke-" << a << "," << b << " adalah " << bilangan[a][b] << endl; return 0;
Contoh Array String /* File program : Array String */ #include <iostream> using namespace std; int main() { int i,j; char hari[7][10] = {"Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu ; // Tampilkan data for (i=0; i<7; i++) { for (j=0; j<10; j++) printf ("%c", hari[i][j]); printf("\n");
Contoh Penerapan 2D Buatlah algoritma dan program yang menyimpan pasangan data Negara dan ibukota seperti berikut : Indonesia - Jakarta Filipina - Manila Prancis - Paris Pakistan - Islamabad Jawab : Algoritma: Negara[0][0] = Indonesia Negara[0][1] = Jakarta Negara[1][0] = Filipina Negara[1][1] = Manila Negara[2][0] = Francis Negara[2][1] = Paris Negara[3][0] = Pakistan Negara[3][1] = Islamabad Untuk baris = 0 s/d 4 Jika Negara[baris][0][0] = P maka Tampilkan(Negara[baris][0], Negara[baris][1]) Akhir jika Akhir untuk
Realisasi Programnya: #include <iostream> #include<string> using namespace std; int main(){ char Negara[4][2][15] = {{ Indonesia, Jakarta,{ Filipina, Manila, { Francis, Paris,{ Pakistan, Islamabad ; For (int baris = 0;baris <4 ;baris++){ if (Negara[baris][0][0]== P ){ cout<< Negara[baris][0] << <<Negara[baris][1] << \n ; return 0;
Matrik 3 input dengan keyboard #include <iostream> using namespace std; int main() { int bil[2][3]; for (int a=0;a<2;a++){ for (int b=0;b<3;b++){ cout << "Matriks " <<a<<","<<b<< " = "; cin >> bil[a][b]; cout << "\n============================================" << endl; cout << "Hasil yang anda masukan, Tampilannya Adalah " << endl; cout << "============================================" << endl; for (int a=0;a<2;a++){ for(int b=0;b<3;b++){ cout << bil[a][b]<< " "; cout << endl;
ARRAY TIGA DIMENSI Array tiga dimensi merupakan array yang terdiri dari x buah baris, y buah kolom, dan z panjang karakter. Deklarasi array : tipe nama_array[x][y][z];
Deklarasi ARRAY 3D
Contoh 3D dengan Angka #include <iostream> using namespace std; int main(){ //Mendeklarasikan array int angka[2][3][5]={{{10,2,{8,20,{2,79,{4,67,{8,21, {{10,27,{27,48,{83,28,{2,73,{4,98; //Menampilkan array for(int i = 0; i<=1; i++){ cout<<i+1<<".\n"; for(int j = 0; j<=4; j++){ for(int k = 0; k<=1; k++){ cout<<angka[i][j][k]<<"\t"; cout<<endl; cout<<endl;
Contoh 3D dengan String #include <iostream> #include <string> using namespace std; int main(){ string huruf[2][3][2]={{{"tutor-all Programming","Tutorial bahasa pemrograman",{"visi Misi","Memberikan Tutorial Program Yang Sederhana",{"Artikel Tentang","Array 3 Dimensi", {{"Mata Kuliah","Struktur data",{"semester","genap",{"fokus","pemrograman"; //Memanggil array for(int i = 0; i<=1; i++){ cout<<i+1<<".\n"; for(int j = 0; j<=2; j++){ cout<<j+1<<"."; for(int k = 0; k<=1; k++){ cout<<" "<<huruf[i][j][k]<<"\t\t "; cout<<endl; cout<<endl;
LATIHAN 7 A. Buat masukan data integer dengan array, kemudian hitung rata-ratanya. B. Buat elemen array sebanyak 10 buah, masukkan nilai 8 pada array yang berbeda, kemudian buat program untuk menampilkan posisi array yang bernilai 8 tersebut. C. Buatlah sebuah program penjumlahan dengan angka yang dijumlahkan sesuai dengan masukan user dengan tampilan sebagai berikut. D. Buat matriks 2 dimensi, inputkan datanya kemudian tampilkan.
LATIHAN 8 A. Buat penjumlahan dua matrik dengan input dari keyboard dan hasilnya seperti: B. Buat program pengurangan 2 matriks berordo 2 x 3, inputkan datanya kemudian tampilkan. C. Buatlah algoritma dan program untuk mengalikan matriks dengan vektor dengan matriks dengan array dimensi dua, dan vektor dengan menggunakan matriks berdimensi satu. D. Buatlah algoritma dan program untuk menghasilkan transpose suatu matriks.
LATIHAN 9