ALGORITMA DAN STRUKTUR DATA Erni Seniwati STMIK AMIKOM Yogyakarta
TIPE DATA TERSTRUKTUR
Array Struct (Struktur)
ARRAY Salah satu bentuk struktur data yang bersifat linear (kontinu). Array merupakan variabel yang mampu menyimpan sejumlah nilai yang bertipe sama. Nilai data array harus homogen (bertipe data sama). Bentuk Array Array Berdimensi Satu Array Berdimensi Dua Array Berdimensi Tiga Array Berdimensi Banyak NB:pada umumnya digunakan berdimensi satu dan dua.
SIFAT ARRAY Array Statis jumlah elemen yang ada harus ditentukan terlebih dahulu dan tak bisa di ubah saat program berjalan. Array Dinamis jumlah elemen yang ada tidak harus ditentukan terlebih dahulu dan bisa di ubah saat program berjalan.
Bentuk Umum Array (C++) Array Berdimensi Satu Array Berdimensi Dua Data_Type Array_Name[jumlah elemen data]; Data_Type Array_Name[jlh baris, jlh kolom];
Contoh ARRAY Statis #include <conio.h> #include <iostream> void main() { char nama[3]; nama[1]= 'E'; nama[2]= 'K'; nama[3]= 'A'; cout<<nama[1]<<nama[2]<<nama[3]; getch(); }
Contoh ARRAY Dinamis #include <conio.h> #include <iostream> void main () { int nilai_algoritma [10],i; for (i=1;i<=5;i++) cout<< "Masukkan Nilai Algoritma " <<i<<"="; cin>>nilai_algoritma[i]; } cout<<"Nilai Algoritma " <<i <<"=" <<nilai_algoritma[i] <<endl; getch();
KASUS ARRAY DIMENSI 1 Buat algoritma untuk menghitung rata-rata nilai algoritma dari 10 mahasiswa dengan array
SOLUSI Int nilai_algoritma [10] Total_nilai=0 For (i=1;i<=10;i+1) { Input nilai_algoritma[i] Total_nilai=total_nilai+nilai_algoritma[i] } Rata_rata=total_nilai/10 Output rata_rata
KASUS ARRAY DIMENSI 2 Contoh deklarasi array 2 D Int nilai[2,3] Buat algoritma untuk proses input terhadap variabel array int nilai[2,3]
SOLUSI Int nilai[2,3]; For(baris=1; baris<=2; baris+1) { for (kolom=1; kolom<=3; kolom+1) input nilai[baris,kolom]; }
STRUCT (Struktur) Merupakan kumpulan elemen-elemen data yang digabungkan menjadi satu kesatuan. Masing-masing elemen data tersebut dinamakan field atau elemen struktur. Jumlah field sebuah struktur tidak terbatas, namun untuk suatu objek, atribut-atribut yang perlu dicatat akan terseleksi sesuai keperluannya. Filed data dapat memiliki tipe data yang sama ataupun berbeda.
Persamaan ARRAY dan STRUCT Alokasi memori untuk elemen-elemennya sudah ditentukan sebelum program dijalankan (statis).
Perbedaan ARRAY dan STRUCT Array adalah struktur data yang tipe data dari elemen-elemennya harus sama (homogen) dan elemen-elemennya diakses atau diidentifikasi menggunakan indeks. Struct adalah struktur data yang tipe data dari elemen-elemennya tidak harus sama (heterogen) dan elemen-elemennya diakses atau diidentifikasi menggunakan identifier atau nama variabel.
Bentuk Umum Struct (C++) Struct Variabel_name { data_type1 variabel_name1; data_type2 variabel_name2; … … data_typen variabel_namen; };
Contoh STRUCT Struct mahasiswa { char nim[10]; char nama[25]; float IPK; };
Contoh STRUCT (Lanjutan…) Buatlah algoritma untuk menghitung sisi miring segitiga siku-siku dengan menggunakan struktur.
SOLUSI #include <conio.h> #include <iostream> void main() { struct float datar; float tegak; float miring; } segitiga; //struct segitiga segi3; cout<<"masukkan sisi datar = " ; cin>>segitiga.datar; cout<<"masukkan sisi tegak = " ; cin>>segitiga.tegak; segitiga.miring=segitiga.datar*segitiga.tegak; cout<<"sisi miring dari segitiga yang mempunya sisi : " <<endl; cout<<"Datar = " <<segitiga.datar <<endl; cout<<"Tegak = " <<segitiga.tegak <<endl; cout<<"Miring = " <<segitiga.miring <<endl; getch(); }