09 array3dimensi modul prak algo i versi 7 kelas g

  Praktikum : Algoritma dan Pemrograman I Modul Praktikum ke : 09 Judul Materi : Array III Tujuan / Sasaran : Mahasiswa dapat membuat pseudecode dan mempraktekkan perintah Array tiga dimensi dan multidimensi

  Waktu (lama) : 3 Jam Aplikasi yang digunakan : C++

I. ARRAY

  

Array/Larik 3 dimensi (three-dimensional array) dan banyak dimensi (multi-

dimensional array) :

  Array/larik tiga dimensi dan banyak dimensi dapat digambarkan sebagai suatu benda ruang. Array/larik tiga dimensi biasanya diilustrasikan dengan gambar sebagai berikut :

  Bentuk Umum :

  < TipeData > <NamaArray> = [ i ] [ j ] [ k ] Sedangkan Array/larik banyak dimensi biasanya diilustrasikan dengan gambar sebagai berikut :

  Bentuk Umum : < TipeData > <NamaArray> = [ i ] [ j ] [ k ] [ m ] [ n ] .....

  Array multidimensi adalah array dari array. Sebuah array multidimensi dapat

  • berupa segiempat atau segitiga

  Contoh : int Logika[24, 63]; int A[counterB, counterK] byte Waktu [jam,menit,detik]; byte Date[tanggal,bulan,tahun];

  Buat Algoritma, Pseudocode dan programnya untuk membuat Array bentuk segitiga 4 baris 4 kolom, bentuk seperti dibawah ini

  PSEUDOCODE : Algoritma menampilkan Array bentuk segitiga KAMUS/DEKLARASI VARIABEL

  Data[4][4] : int i, j : Int

ALGORITMA/DESKRIPSI

  for (j=0; j<i+1; j++)

  input(Data[i][j])

  end for endfor for (i=0; i<4; i++) for (j=0; j<i+1; j++)

  print(Data[i][j])

  end for endfor

   for (i=0; i<4; i++)

  1. i 0 2. j 0

  3. Selama (i < 4), kerjakan baris 4 dan 7

  4. Selama (j < i+1), kerjakan baris 5 dan 6

  5. Memasukkan isi elemen Array (Data[i][j]) 6. j  j + 1 7. i  i + 1

  8. Selama (i < 4), kerjakan baris 9 dan 12

  9. Selama (j < i+1), kerjakan baris 10 dan 11

  10. Mencetak/menampilkan (Data[i][j]) 11. j  j + 1 12. i  i + 1

  13. Selesai

  ALGORITMA :

  PROGRAM : OUTPUT :

  Sebagai gambaran dari proses perkalian matriks, silahkan lihat diagram. Diagram menggambarkan perkalian matriks dengan cara yang umumnya digunakan. Untuk mengalikan matriks a dengan matriks b, maka jumlah kolom matriks a harus sama dengan jumlah baris matriks b. Pada contoh ini matriks a mempunyai 3 kolom, dan matriks b mempunyai 3 baris.

  Diagram pertama ini menunjukkan, untuk mendapatkan elemen c persamaannya

  1,1

  adalah :

  c = (a ) + + x b ) (a x b (a x b ) 1,1 1,1 1,1 1,2 2,1 1,3 3,1

  Dengan penulisan indeks c x,y , dimana x adalah baris, dan y adalah kolom. Contoh ini, bila diganti dengan angka yang ada dalam matriks tersebut menjadi :

  9 = + + (2 x 2) (2 x 2) (1 x 1)

  Demikian seterusnya untuk mendapatkan hasil perkalian matriks a dan matriks b, lihat dalam urutan diagram berikut ini. Apabila ditulis dengan rumus matematika, maka perkalian matriks ditulis seperti berikut Dimana i adalah indeks untuk baris, j indeks untuk kolom, dan n adalah jumlah kolom matriks a.

  Untuk melakukan proses perkalian matriks dengan menggunakan bahasa pemrograman tertentu, kita bisa mengikuti cara (algoritma) yang berlaku di atas. Proses ini melibatkan struktur data berbentuk array, loop, dan operasi perkalian, serta penjumlahan.

  Pertama, inisialisasi dulu matriks yang akan dikalikan. Matriks a dan matriks b yang akan dikalikan diisi terlebih dahulu dengan nilai yang diinginkan. Sedangkan matriks c yang merupakan hasil dari perkalian kedua matriks ini, semua elemennya diinisialisasi dengan nilai 0. Array yang digunakan untuk matriks adalah array 2 dimensi. Setelah inisialisasi data, proses perkalian matriks sudah bisa dilakukan. Dan berikutnya, jika diperlukan, tampilkan hasil perkalian. Proses perkalian matriks dilakukan dengan menggunakan loop, seperti berikut ini : for ($j = 1; $j <= $kolom_matriks_b; $j++) { for ($i = 1; $i <= $baris_matriks_a; $i++) { for ($k = 1; $k <= $kolom_matriks_a; $k++) { $c[$i][$j] = $c[$i][$j] + ($a[$i][$k] * $b[$k][$j]); } } }

  Loop dengan indeks $j akan melakukan perulangan sebanyak jumlah kolom matriks b. Kemudian loop di dalamnya dengan indeks $i, akan melakukan perulangan sebanyak jumlah baris matriks a. Dan terahir, loop terdalam dengan indeks $k akan melakukan perulangan sebanyak jumlah kolom matriks a. Jika dilihat operasi yang ada dalam loop terdalam, yaitu : $c[$i][$j] = $c[$i][$j] + ($a[$i][$k] * $b[$k][$j]); sama dengan bentuk rumus perkalian matriks di atas.

  Untuk tambahan, jika kita lihat algoritma di atas, berapakah kompleksitasnya? Dari pengamatan sekilas, dengan menggunakan loop sampai kedalaman 3, bisa jadi

  3

  berbentuk n . Dengan asumsi bahwa matriks a dan matriks b adalah matriks bujursangkar (n x n), maka perhitungan kompleksitas secara sederhana seperti berikut :

  Proses terdalam c = c + (a x b) memerlukan proses tambah dan kali,

  • dilakukan sebanyak jumlah kolom matriks a, yaitu n. Jadi proses ini memerlukan 2n langkah Karena proses ini berada dalam loop di luarnya sebanyak jumlah baris
  • 2

  matriks a (sebanyak n), maka langkah sebanyak 2n tadi menjadi 2n x n = 2n Dan masih ada satu loop di luarnya yang dilakukan sebanyak jumlah kolom

  • 2

  3

  matriks b (sebanyak n), maka 2n x n = 2n Jadi secara kasar, memang kompleksitas dengan algoritma ini berorde 3. Dan tentu saja ini perlu sedikit perhatian. Misalnya dengan matriks 2 x 2, kita memerlukan

  3

  3

  langkah sebanyak 2 = 8. Dan ketika dengan matriks 5 x 5, diperlukan 5 = 125

  3

  langkah. Dan ketika dengan matriks 10 x 10, diperlukan 10 = 1000 langkah. Dan jika

  

3

  dengan matriks 100 x 100, diperlukan 100 = 1000000 langkah! Dibawah ini contoh Program Perkalian 2 buah Matrik A dan B

  Hasilnya

II. Soal praktikum / latihan

  Buat Algoritma,Pseudecode dan Programnya. Nama matrik adalah nama Anda masing-masing

  1. Berdasarkan contoh perkalian matrik A dan matrik B, buat algoritma dan pseudocodenya (nama file : P9-01.ccp):

  2. Buatlah Array bentuk segitiga 6 baris 6 kolom, bentuk seperti dibawah ini dengan inputan berupa angka (nama file : P9-02.ccp):

  3. Buatlah Array bentuk segitiga 6 baris 6 kolom, bentuk seperti dibawah ini dengan inputan berupa huruf (nama file : P9-03.ccp):

  4. Buatlah Array bentuk segitiga 4 baris 4 kolom, bentuk seperti dibawah ini dengan inputan berupa angka (nama file : P9-04.ccp):

  5. Buatlah Array bentuk segitiga 4 baris 4 kolom, bentuk seperti dibawah ini dengan inputan berupa huruf (nama file : P9-05.ccp):

  6. Buatlah Array bentuk segitiga 8 baris 8 kolom, bentuk seperti dibawah ini dengan inputan berupa angka (nama file : P9-06.ccp):

  7. Buatlah Array bentuk segitiga 8 baris 8 kolom, bentuk seperti dibawah ini dengan inputan berupa huruf (nama file : P9-07.ccp):

  8. Buatlah Array bentuk segitiga 3 baris 3 kolom, bentuk seperti dibawah ini dengan inputan berupa angka (nama file : P9-08.ccp):

  9. Buatlah Array bentuk segitiga 3 baris 3 kolom, bentuk seperti dibawah ini dengan inputan berupa huruf (nama file : P9-09.ccp):

  10. Buatlah Array bentuk segitiga 5 baris 5 kolom, bentuk seperti dibawah ini dengan inputan berupa angka (nama file : P9-10.ccp):

  11. Buatlah Array bentuk segitiga 5 baris 5 kolom, bentuk seperti dibawah ini dengan inputan berupa huruf (nama file : P9-11.ccp):

  12. Buatlah Array bentuk segitiga 9 baris 9 kolom, bentuk seperti dibawah ini dengan inputan berupa angka (nama file : P9-08.ccp):

  13. Buatlah Array bentuk segitiga 9 baris 9 kolom, bentuk seperti dibawah ini dengan inputan berupa huruf (nama file : P9-09.ccp):

  14. Kalikan matrix di bawah ini, tanpa inputan! (nama file : P9-14.ccp):   

    

  6

  4

  1

  8

  2

      

      

  5 x

  6

  3

  2

  2

  1

  19. Kalikan matrix di bawah ini! (nama file : P9-06.ccp):   

  9

  3

  5

  9

  4

  6

  4

  1

  8

  2

      

      

  5 x

  6

  3

  4

  5

  3

  21. Tentukan hasil perkalian matrix dibawah ini, dengan metode di input! (nama file : P9-21.ccp):

  5

  4

  4

    

    

  2 x

  4

  3

  3

  2

  2

    

    

  2

  3

  5

  4

  6

    

    

  2 x

  4

  3

  3

  2

  2

    

    

  20. Tentukan hasil perkalian matrix dibawah ini!, tanpa inputan (nama file : P9- 20.ccp):

  4

  1

    

    

  1

  5

  3

  2

  5

      

      

  4 x

  3

  1

  5

  6

  3

  15. Kalikan matrix di bawah ini, dengan inputan! (nama file : P9-15.ccp):   

  16. Kalikan matrix di bawah ini, dengan metode di input (nama file : P9-16.ccp):   

  4

  1

  5

  3

  2

  5

      

      

  4 x

  3

  1

  5

  6

  3

  4

    

    

  1

  18. Kalikan matrix di bawah ini, dengan metode di input! (nama file : P9-05.ccp):   

  2

  1

  4

  3

  1

  5

      

      

  5 x

  6

  3

  4

  3

    

  1

  17. Kalikan matrix di bawah ini, tanpa inputan (nama file : P9-15.ccp):   

  2

  1

  4

  3

  1

  5

      

      

  5 x

  6

  3

  4

  3

  2

  22. Kalikan matrix di bawah ini!, tanpa inputan (nama file : P09-22.ccp):   

  2

  10

    

  25. Kalikan matrix di bawah ini, tanpa inputan! (nama file : P09-24.ccp):   

  2

  2

  2

  2

  40

  2

  2

  2

  2

      

      

  30

  30

  60

  2

  28. Buatlah Array bentuk segitiga 5 baris 5 kolom, bentuk seperti dibawah ini dengan inputan berupa angka (nama file : P9-28.ccp):

  27. Buatlah Array bentuk segitiga 5 baris 5 kolom, bentuk seperti dibawah ini dengan inputan berupa huruf (nama file : P9-27.ccp):

  26. Buatlah Array bentuk segitiga 5 baris 5 kolom, bentuk seperti dibawah ini dengan inputan berupa angka (nama file : P9-26.ccp):

  2

  2

  2

  2

  60

  2

  2

  2

  2

      

      

  50 x

  50 x

  30

    

  50

  23. Kalikan matrix di bawah ini!, dengan inputan (nama file : P09-23.ccp):   

  4

  10

  5

  30

  2

      

  3

      

  40 x

  30

  10

  5

  6

  3

    

  6

  40

  5

  30

  10

    

  24. Kalikan matrix di bawah ini, dengan metode di input! (nama file : P09-24.ccp):   

  4

  10

  30

  5

  2

  50

      

      

  40 x

  30

  10

  29. Buatlah Array bentuk segitiga 5 baris 5 kolom, bentuk seperti dibawah ini dengan inputan berupa huruf (nama file : P9-29.ccp):

  30. Buatlah Array bentuk segitiga 9 baris 9 kolom, bentuk seperti dibawah ini dengan inputan berupa angka (nama file : P9-30.ccp):

  31. Buatlah Array bentuk segitiga 9 baris 9 kolom, bentuk seperti dibawah ini dengan inputan berupa huruf (nama file : P9-31.ccp):

  32. Buatlah Array bentuk segitiga 9 baris 9 kolom, bentuk seperti dibawah ini dengan inputan berupa angka (nama file : P9-32.ccp):

  33. Buatlah Array bentuk segitiga 9 baris 9 kolom, bentuk seperti dibawah ini dengan inputan berupa huruf (nama file : P9-33.ccp):

  34. Buatlah Array bentuk segitiga 7 baris 7 kolom, bentuk seperti dibawah ini, dengan inputan berupa angka (nama file : P9-34.ccp):

  35. Buatlah Array bentuk segitiga 7 baris 7 kolom, bentuk seperti dibawah ini, dengan inputan berupa huruf (nama file : P9-35.ccp):

III. Referensi

  Munir, Rinaldi, Algoritma & Pemrograman 1 & 2, Penerbit Informatika, Jakarta, 2003 -

  • Brookshear, Glenn, Computer Science, Penerbit Erlangga, Jakarta, 2004
  • Suryadi, Pengantar Algortima dan Pemrograman - Yatini B, Indra, Pemrograman Terstruktur, J&J Learning Yogyakarta, 2001 Limanto, Susana, Algoritma dan pemrograman, Dinastindo Jakarta, 2002 - Paul Tremblay, Jean, An Introduction to Computer Science an algorithmic Approach, McGraw-Hill, - 1981
  • Wirth, Niklaus, Algorithmic + Data Structures = Programs, Prentice-Hall, 1976 Jogiyanto H.M, Kosep Dasar Pemrograman Bahasa C, Andi Offset Yogyakarta, 1993 - Munir, Rinaldi, Algoritma dan Pemrograman Dalam Bahasa Pascal dan C, Informatika Bandung, 2001 - Pranata, Antony, Algoritma dan Pemprograman, J&J Learning Yogyakarta, 2000 -
  • Andri Kristanto, Algoritma dan Pemrograman dengan C++, Graha Ilmu, 2003
  • Thompson Susabda Ngoen , Algoritma dan Struktur Data Bahasa C, Mitra Wacana Media, 2009