BSE RPL algoritma

Embed Size (px)

DESCRIPTION

Menggunakan C++

Citation preview

TUJUANSetelah mempelajari bab ini diharapkan kalian akan mampu o Menggunakan array multidimensi o Menggunakan prosedur dan fungsi6.1. ARRAY MULTIDIMENSI6.1.1. Pengertian Array MultidimensiArray satu dimensi seperti pada Bab 5 sangat baik untuk menyimpan data sejenis yang berurutan, namun bagaimana bila kita ingin menyimpan daftar kota dengan temperature rata-ratanya secara bersama-sama, atau menyimpan data nama Siswa dengan nilai ujiannya? Pada kasus seperti ini kita dapat menggunakan dua array satu dimensi, satu array untuk menyimpan nama dan satu array untuk menyimpan nilai. Namun ini bukanlah pilihan yang baik karena akan menyulitkan dan membuat kode program menjadi tidak efisien. Pilihan yang lebih baik adalah dengan menggunakan pendekatan Array Multidimensi. Kita dapat menyimpan dengan menggunakan array dua dimensi untuk kasus di atas. Perhatikan gambar berikut ini untuk melihat perbedaan dua array satu dimensidengan array dua dimensi.Nilai(4)Nama(4)70Joni80Rudi45Sari56DonoIndro| | 77Dua array satu dimensi NilaiSiswa (4,1)Joni70Rudi80Sari45Dono56Indro77Array dua dimensiGambar 6.2. Perbedaan array satu dimensi dan dua dimensiArray dua dimensi mempunyai dua indeks. Indeks yang pertama menunjukkan baris sedangkan indeks yang kedua adalah kolom. Pada Gambar 6.2, variable array NilaiSiswa memiliki dua indeks yaitu indeks pertama 4 yang menyatakan nilai indeks maksimal untuk baris adalah 4 (atau ada 5 baris karena indeks baris pertama bernilai 0), sedangkan indeks kedua adalah 1 yang menunjukkan nilai indeks maksimal untuk kolom adalah 1 (atau ada 2 kolom karena indeks kolom pertama bernilai 0). Untuk mendeklarasikan array dua dimensi dapat digunakan cara sebagai berikut:Dim NilaiSiswa(4,1)Sedangkan untuk mengakses nilai pada array dua dimensi dapat digunakan sepeti contoh berikut.Contoh 6.1. Membaca nilai array multidimensiRekayasci Perangkat LunakPrint NilaiSiswa(3,0) Print NilaiSiswa(3,1)Pernyataan pertama dari contoh 6.1, akan menghasilkan output "Dono" (Baris ke 4 dan kolom pertama) sedangkan pernyataan kedua menghasilkan output 56 (Baris ke 4 kolom kedua).Keuntungan menggunakan array multidimensi adalah secara konseptual, array ini lebih mudah dikelola. Sebagai contoh kita ingin membuat program permainan dan kita ingin mencari posisi dari suatu tempat pada sebuah papan permainan. Setiap bujursangkar dapat diidentifikasi dengan menggunakan dua angka, yaitu koordinat horizontal dan vertikalnya (atau baris dan kolomnya). Struktur seperti ini adalah tipikal penggunaan array dua dimensi. Koordinat horizontal adalah indeks barisnya sedangkan koordinat vertical adalah indeks kolomnya. Bentuk array multidimensi ini dapat dikembangkan menjadi lebih dari dua dimensi. Pernyataan Dim Matrix(9,9,9) akan membuat array multidimensi yang memiliki 1000 elemen (10x10x10).6.1.2. Operasi Matriks dengan Array MultidimensiSeperti disinggung di awal bab ini, kita bisa menggunakan array untuk melakukan operasi matrik. Perhatikan Gambar 6.3 berikut ini."986"A =142 97 2GCl5Gambar6.3.Matrik4x3.Gambar 6.3 ini menunjukkan matrik dua dimensi yang terdiri dari 4 baris dan 3 kolom. Atau biasa dinotasikan sebagai A4x3. Hal ini identik dengan array multidimensi dengan yang kita definisikan sebagai A(3, 2). Perhatikan kembali angka pada indeks array selalu lebih kecil satu dari jumlah sesungguhnya karena indeks selalu dimulai dengan 0. Sedangkan indeks pada matrik dimulai pada angka 1. Untuk membuat array atau matrik seperti pada Gambar 6.3, maka kita memerlukan struktur pengulangan. Bentuk for dapat kita gunakan karena kita telah tahu dengan pasti berapa baris dan berapa kolomnya. Gambar berikut menyajikan flowchart untuk membuat matrik pada Gambar 6.3.Pada Gambar 6.4. kita melihat dua buah variabel counter yaitu I dan J. I digunakan untuk membuat indeks pada baris yaitu 4 baris (1 to 4), sedangkan J digunakan untuk membuat indeks pada kolom yaitu 3 kolom (1 to 3). Pembacaan data akan berlangsung sebagai berikut:A (1,1) = .A(l,2) = .A(l,3) = .A(2,1) = .A(2,2) = .A(2,3) = .dan seterusnyaRekayasa Perangkat LunakGambar 6.4. Algoritma untuk membuat matrik 4x3.Contoh 6.2. Operasi penjumlahan pada matrik. Perhatikan matrik berikut ini:];j1005100+750=]2221]136=850333110 3 + 0 1 + 51+7 0 + 5 0 I 0 1 + 2 2 + 1 2+1Operasi matriks di atas adalah operasi penjumlahan dua buah matrik dengan dimensi yang sama yaitu 3x3. Bagaimanakah algoritma penyelesaiannya?Penyelesaian:Pada contoh soal di atas ada dua buah matriks misalkan A matriks pertama dan B adalah matriks kedua. Selain itu juga dibutuhkan matrik ke tiga yaitu C sebagai hasil penjumlahan matriks A dan B. Gambar 6.5. menunjukkan algoritma penjumlahan dua buah matriks.Rekayasci Perangkat Lunakc START= 1 to 3J=1ta3 Bagian input data Matrik AII = 1 to 3J = 1 to 3 Bagian input data Matrik Br