1 / 19

Array

Array. Dr. Anto Satriyo Nugroho, M.Eng Email: asnugroho@gmail.com Web: http://asnugroho.net/lecture/ds.html. Agenda. Apakah Array itu ? Array Satu dimensi Array Multi dimensi Contoh & Latihan. Definisi. Array adalah penampung sejumlah data yang homogen (bertipe-data yang sama)

dorit
Télécharger la présentation

Array

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Array Dr. Anto Satriyo Nugroho, M.Eng Email: asnugroho@gmail.com Web: http://asnugroho.net/lecture/ds.html

  2. Agenda • Apakah Array itu ? • Array Satu dimensi • Array Multi dimensi • Contoh & Latihan

  3. Definisi • Array adalah penampung sejumlah data yang homogen (bertipe-data yang sama) • Masing-masing elemen array diakses dengan menggunakan index (subscript) • Index untuk array yang memiliki n elemen adalah 0,1,2,…,n-1 • Berdasarkan banyaknya index, array dapat dikategorikan ke dalam • Satu dimensi array • Multidimensi array

  4. Array Satu Dimensi • Data_type menyatakan tipe data array, tidak boleh jenis void • Array_name menyatakan nama array • Size menyatakan jumlah elemen array • Contoh: int nilai_algodas[10]; • Cara akses ke tiap elemen adalah nilai_algodas[0] nilai_algodas[1] dst • Pada penulisan di atas, array belum diinisialisasi • Inisialisasi WAJIB hukumnya !!! data_type array_name[size];

  5. Contoh #include <stdio.h> int main(void) { int a [10]={10,9,8,7,6,5,4,3,2,1}; int i; for(i=0;i<10;i++) printf("%d\t%d\n",i,a[i]); }

  6. Deklarasi Array sekaligus Inisialisasi • Array dapat juga sekaligus diinisialisasi saat dideklarasikan dengan cara penulisan sebagaimana di atas • Contoh: int nilai_aldas[]={100,70,90,…,100} data_type array_name[] = {constant_1, constant_2, …constant_n};

  7. Array Multidimensi • Contoh deklarasi array 2 dimensi: int nilai_ujian[banyaknyasiswa][kode_matakuliah]; data_type array_name[size1][size2]…[sizen];

  8. Double Loop • Pakailah double loop untuk membuat program menghitung rata-rata nilai yang diperoleh tiap anak ! • Jawaban ada di appendix-01

  9. Cara inisialisasi & akses ke elemen Array #include <stdio.h> int main(void) { int j; int nilai_ujian[3][3]={ {100, 70, 90}, {80, 85, 95}, {100,100, 80} }; for(j=0;j<3;j++) printf("%d %d\n",j,nilai_ujian[j][0]); }

  10. Menghitung Rata-rata #include <stdio.h> int main(void) { int j; int nilai_ujian[3][3]={ {100, 70, 90}, {80, 85, 95}, {100,100, 80} }; for(j=0;j<3;j++){ printf("%d %f\n",j, (nilai_ujian[j][0]+nilai_ujian[j][1]+nilai_ujian[j][2])/3 ); } } Sebenarnya cast diperlukan, untuk Mengubah tipe data dari int ke float.

  11. Penjumlahan matrix

  12. Penjumlahan matrix #include <stdio.h> int main(void) { int i,j; int ma[2][3]= { {1, 2, 3}, {4, 5, 6} }; int mb[2][3]= { {6, 3, 4}, {5, 1, 2} }; int mc[2][3]= { 0 }; for(j=0;j<2;j++) for(i=0;i<3;i++) mc[j][i]= ma[j][i] + mb[j][i]; for(j=0;j<2;j++) { for(i=0;i<3;i++) printf(“%3d”, mc[j][i]); printf(“\n”); } }

  13. Referensi • Pengantar Algoritma Dengan Bahasa C, Thompson Susabda Ngoen, Salemba Teknika, 2006 (pp.130-139) • BohYoh Shibata, Meikai C Gengo – nyuumonhen, Softbank Publishing, 2004

  14. Appendix

  15. Double Loop • Pakailah double loop untuk membuat program menghitung rata-rata nilai yang diperoleh tiap anak !

  16. ratarata[0] = ( nilai_ujian[0][0]+nilai_ujian[0][1]+nilai_ujian[0][3] )/3; ratarata[1] = ( nilai_ujian[1][0]+nilai_ujian[1][1]+nilai_ujian[1][3] )/3; ratarata[2] = ( nilai_ujian[2][0]+nilai_ujian[2][1]+nilai_ujian[2][3] )/3;

  17. ratarata[0] = ( nilai_ujian[0][0]+nilai_ujian[0][1]+nilai_ujian[0][3] )/3; pakailah for-loop untuk menghitung bagian ini ratarata[0]=0; for(i=0;i<3;i++) { ratarata[0] = ratarata[0] + nilai_ujian[0][i]; } ratarata[0]=0; for(i=0;i<3;i++) { ratarata[0] += nilai_ujian[0][i]; }

  18. Hal yang sama bisa diterapkan untuk ratarata[1] dan ratarata[2] Dengan demikian, program tsb. akan menjadi sbb. ratarata[0]=0; for(i=0;i<3;i++) { ratarata[0] += nilai_ujian[0][i]; } ratarata[1]=0; for(i=0;i<3;i++) { ratarata[1] += nilai_ujian[1][i]; } ratarata[2]=0; for(i=0;i<3;i++) { ratarata[2] += nilai_ujian[2][i]; } Dapat ditulis lebih ringkas memakai sebuah loop lagi

  19. Hal yang sama bisa diterapkan untuk ratarata[1] dan ratarata[2] Dengan demikian, program tsb. akan menjadi sbb. for(j=0;j<3;j++) { ratarata[j]=0; for(i=0;i<3;i++) { ratarata[j] += nilai_ujian[j][i]; } } Misalnya banyaknya siswa=100, banyaknya matakuliah=10, program di atas akan berubah menjadi for(j=0;j<100;j++) { ratarata[j]=0; for(i=0;i<10;i++) { ratarata[j] += nilai_ujian[j][i]; } } j  siswa i  matakuliah

More Related