Algoritma dan Struktur data P e r t e m u a n 2 Array (larik) Tenia Wahyuningrum L/O/G/O ST3 Telkom Purwokerto www.themegallery.com Contoh kasus Bagaimana cara menyimpan ? A, apple, 10 Contoh kasus Bagaimana cara menyimpan ? A1, apple, 10 A2, apple, 10 A3, apple, 10 Cara penyimpanan tersebut dinilai tidak efektif. Mengapa? “ Karena sulit untuk dilakukan manipulasi” Coba perhatikan code program berikut ! int number1; int number2; int number3; number1 = 1; number2 = 2; number3 = 3; contoh yang baik untuk Code di atas bukanlah memperlihatkan proses penginisialisasian dan penggunaan variabel, terutama jika variabel tujuan yang sama. tersebut digunakan untuk definisi • Sebuah array akan menyimpan beberapa item data dengan tipe data yang sama di dalam sebuah blok memori yang berdekatan yang kemudian dibagai menjadi beberapa slot. – Cara penyimpanan [struktur data] inilah yang disebut sebagai array. A A[0] B C A[1] B[0] B[1] C[0] A[2] C[1] B[2] A[3] Array array Tipe data yang sama, disimpan dalam satu tempat yang sama dan diberi nomor indeks. Umumnya, indeks dimulai dari “0” NIM NO NIM NAMA NILAI 1 D3001 ALI 80,78 NIM[0] NAMA NIM[1] NAMA[0] 2 3 D3002 D3003 DIANA RINA NILAI 90 70,65 NIM[2] NAMA[1] NILAI[0] NILAI[1] 4 D3004 BUDI 54,345 5 D3005 DODI 76 NAMA[2] NIM[3] Pendeklarasian array Untuk mendeklarasikan array : – tulis tipe datanya, – diikuti dengan tanda kurung [], Contoh: int ages[ 3 ]; Inisiasi array Diubah menjadi int number1; int number2; int number3; number1 = 1; number2 = 2; number3 = 3; int number [2]; number[0]=1; number[1]=2; number[2]=3; Cara mengakses array Contoh, pada array yang telah kita deklarasikan tadi, kita mempunyai //memberikan nilai d3010 kepada elemen pertama array nim[0] = d3010; //mencetak elemen array yang terakhir cout<<nim[3]; Pengaksesan Array int number1; int number2; int number3; cout<<number1 ; cout<<number2 ; cout<<number3 ; int number [2]; for (int i=0; i<=2;i++) { cout<<number[i]; } Latihan di kelas Buatlah sebuah inisialisasi array untuk menyimpan 5 buah nama mahasiswa dan 5 buah nilai mahasiswa seperti berikut ! NO 1 2 3 4 5 Nama luna diana dodit rudi indah Nilai 89,88 65,33 90,00 100 75,62 -Cetaklah nilai dari array ke 3 ! - Cetaklah nama dari array ke 1 ! -Jumlahkan semua nilai dari semua array ! - Carilah rata-ratanya ! Array 2 dimensi nama [1] [1] lina [2] [3] rudi irdho ikhsan [2] tuti dani [3] dodi ratu ita diana [4] [4] asep matriks Mat A 3 Mat B 2 3 1 + 1 3 Mat C ? ? ? ? = -1 0 Matrix A [1] [2] [1] 3 2 [2] 1 3 int matrikA[2][2]; matrikA[1][1] = 3; matrikA[1][2] = 2; matrikA[2][1] = 1; matrikA[2][2] = 3; Matrix B [1] [2] [1] 2 1 [2] -1 0 int matrikB[2][2]; matrikB[1][1] = 3; matrikB[1][2] = 2; matrikB[2][1] = 1; matrikB[2][2] = 3; Matrix C [1] [2] [1] ? ? [2] ? ? Bagaimana mengisi hasil penjumlahan pada matriks C? for (i=1;i<=2;i++) { for(j=1;j<=3;j++) { matrikC[i][j]= matrikA[i][j] + matrikB[i][j]; } } PR (TUGAS KECIL 1) Buatlah algoritma dengan struktur data array untuk mengalikan 2 buah matriks ! Syarat perkalian matriks : Jika matriks Am x n dan matriks Bp x q dikalikan, maka : Banyaknya kolom matriks A harus sama dengan banyaknya baris matriks B, sehingga n = p Matriks hasil perkalian antara A dan B adalah matriks dengan ordo m x q Perkalian dilakukan dengan menjumlahkan hasil kali setiap elemen baris matriks A dengan setiap elemen kolom matriks B yang sesuai Smart, trus tw o rth y, te amw o rk Thank You! L/O/G/O www.themegallery.com