Inisialisasi Array Mengurutkan Elemen Array

200 Sa m ya hit ha sa va 9. se lan Sp ele da ba ba 08 | Direktorat P atu-satunya enentukan ang berpen tungan. Ka anya meng aja. Gamba ariabel array Gambar 9.1

4.2. Array

Ada bebe eperti jumlah ntai di se pesifikasi ya emen bangu an setiap ele ahwa untuk angunan da Pembinaan SMK persyara elemen a ndapat ba rena itu, s ggunakan s ar berikut satu-dimen 1. Array Satu Dua Dime erapa array d h kantor-kan etiap gedun ang memerl unan dan ju emen yang b menghitung an lantai. G K atan untuk adalah usia hwa unsu eperti array satu indeks menyatakan si. u Dimensi nsi dua dimensi ntor di setiap ng kampus lukan kedua umlah lantai berpendapa g kombinas Karena itu Gambar 9.3. k a r y s n , p . a , t si , seperti indeks. variabel Gam

9.4.3. T

Beb dimensi dimensi menggu dalam koordina berikut mengad . Array 3 Dim array me Gambar be l array dua d bar 9.2. Arra Tiga Dimen berapa arra i, seperti i ruang. unakan tig hal ini mew at dari rua menyataka dakan array mensi enggunakan erikut meny dimensi ay Dua Dime nsi ay memilik nilai dalam Seperti a indeks, wakili x, y, ang fisik. g an variabel tiga dimens 343 n dua atakan ensi ki tiga m tiga array yang z dan gambar untuk i. 344 Direktorat Pembinaan SMK | 2008 Untuk lebih jelasnya mengenai array multi dimensi dibawah ini diberikan beberapa contoh array. Arrai dibawah ini merupakan matrik 2 X 2 yang menggunakan array. int matrik[2][2]; Berikut adalah contoh program lengkapnya: Program 9.4. include iostream using namespace std; int mainvoid { int t, i, matrik[ 3 ][ 4 ]; fort= ; t 3 ; t++ fori= ; i 4 ; i++ matrik[t][i] = t 4 +i+ 1 ; fort= ; t 3 ; t++ { fori= ; i 4 ; i++ cout matrik[t][i] ; cout endl; } return ; } Keluaran dari program di atas adalah : 1 2 3 4 5 6 7 8 9 10 11 12 t t 0 1 2 3 1 2 3 4 1 5 6 7 8 2 9 10 11 12 Baris ke-5 sampai ke-7 adalah pemasukan data pada matrik. Sedangkan baris ke-8 sampai ke-12 adalah menampilkan data matrik. Pada kedua proses tersebut, pemasukan data dan menampilkan data terdapat dua buah perulangan dimana perulangan pertama adalah untuk mengidentifikasi baris dari matrik dan perulangan kedua untuk mengidentifikasi kolom dari matrik. Berikut ini adalah contoh untuk penjumlahan dua buah matrik. 2008 | Direktorat Pembinaan SMK 345 Program 9.5. include iostream using namespace std; int mainvoid { int t, i, A[ 3 ][ 4 ],B[ 3 ][ 4 ],C[ 3 ][ 4 ]; fort= ; t 3 ; t++ fori= ; i 4 ; i++ A[t][i] = t 4 +i+ 1 ; cout MATRIK A endl; fort= ; t 3 ; t++ { fori= ; i 4 ; i++ cout A[t][i] ; cout endl; } fort= ; t 3 ; t++ fori= ; i 4 ; i++ B[t][i] = t 4 +i+ 1 ; cout endl; cout MATRIK B endl; fort= ; t 3 ; t++ { fori= ; i 4 ; i++ cout B[t][i] ; cout endl; } fort= ; t 3 ; t++ fori= ; i 4 ; i++ C[t][i] = A[t][i]+B[t][i]; cout endl; cout MATRIK C = A + B endl; fort= ; t 3 ; t++ { fori= ; i 4 ; i++ cout C[t][i] ; cout endl; } return ; } Keluaran program : MATRIK A 346 Direktorat Pembinaan SMK | 2008 1 2 3 4 5 6 7 8 9 10 11 12 13 MATRIK B 1 2 3 4 5 6 7 8 9 10 11 12 MATRIK C = A +B 2 4 6 8 10 12 1416 18 20 22 24

9.5. Mengurutkan Elemen Array

Ada banyak sekali metode untuk mengurutkan data, antara lain Exchange Sort, Selection Sort, Insertion Sort, Bubble Sort, Quick Sort, Shell Sort, Binary Insertion Sort, dan masih banyak lagi. Dari sekian banyak metode, hanya metode Exchange Sort, Bubble Sort, dan Insertion Sort saja yang akan kita bahas karena ketiga metode ini merupakan metode yang paling mudah dan banyak digunakan. Untuk metode Selection Sort langkah-langkahnya adalah sebagai berikut : 1. Proses 1: variabel indek diberi nilai 1 data ke-1 kemudian data indek dibandingkan dengan data ke-2. Jika data indek lebih besar maka nilai indeknya diganti dengan 2 data ke-2, jika tidak nilai indeknya tetap. Kemudian data indek dibandingkan lagi dengan data ke-3, lebih besar? Nilai indek ditukar Demikian seterusnya. Setelah selesai, nilai indek diperiksa apakah nilai indek berubah atau tidak. Jika nilai indek mengalami perubahan maka data ke-1 ditukar dengan data indek. 2. Pada proses 2: variabel indek diberi nilai 2 data ke-2 kemudian data indek dibandingkan dengan data ke-3. Jika data indek lebih besar maka nilai indeknya diganti dengan 3 data ke-3. Kemudian data indek dibandingkan lagi dengan data ke-4, lebih besar? Nilai indek ditukar Demikian seterusnya. Setelah selesai, nilai indek diperiksa apakah nilai indek berubah atau tidak. Jika nilai indek mengalami perubahan maka data ke-2 ditukar dengan data indek. 3. Demikian untuk proses selanjutnya dimana banyak prosesnya adalah jumlah elemen array dikurangi satu. Berikut program lengkap metode Selection Sort dalam bahasa C++ adalah: 2008 | Direktorat Pembinaan SMK 347 Program 9.6 include iostream using namespace std; int a[ 10 ]; void inputint data,int i { a[i] = data; } void tampil { forint i= ; i 10 ; i++ cout a[i] ; cout endl; } void tukarint data1, int data2 { long temp = a[data1]; a[data1] = a[data2]; a[data2] = temp; } void selectionSort { int i,j,indek; fori= ; i 5 ‐ 1 ; i++ { indek=i; forj=i+ 1 ; j 5 ; j++ ifa[indek] a[j] indek=j; tukari,indek; } } void main { input 57 , ; input 89 , 1 ; input 49 , 2 ; input 51 , 3 ; input 12 , 4 ; input 90 , 5 ; input 1 , 6 ; input , 7 ; input 63 , 8 ; input 25 , 9 ; tampil; selectionSort; 348 Direktorat Pembinaan SMK | 2008 tampil; } Keluaran program diatas adalah sebagai berikut : 57 89 49 51 12 90 1 0 63 25 12 49 51 57 89 90 1 0 63 25 Metode Bubble Sort mempunyai langkah-langkah sebagai berikut : 1. Membandingkan data ke-1 dengan data ke-2, jika data ke-1 lebih besar, maka kedua data ditukar. 2. Kemudian membandingkan data ke-2 dengan data ke-3, jika data ke-2 lebih besar, kedua data ditukar lagi. 3. Demikian seterusnya sampai data terakhir, sehingga data kedudukannya akan bergeser- geser. 4. Untuk proses 2, pembandingan pergeseran data hanya sampai pada data terakhir dikurangi satu. Kode program lengkapnya dalam bahasa C++ adalah sebagai berikut : Program 9.7 include iostream using namespace std; int a[ 10 ]; void inputint data,int i { a[i] = data; } void tampil { forint i= ; i 10 ; i++ cout a[i] ; cout endl; } void tukarint data1, int data2 { long temp = a[data1]; a[data1] = a[data2]; a[data2] = temp; } void bubSort { int i, j; fori= 10 ‐ 1 ; i 1 ; i‐‐ forj= ; ji; j++ if a[j] a[j+ 1 ] tukarj, j+ 1 ; } 2008 | Direktorat Pembinaan SMK 349 void main { input 57 , ; input 89 , 1 ; input 49 , 2 ; input 51 , 3 ; input 12 , 4 ; input 90 , 5 ; input 1 , 6 ; input , 7 ; input 63 , 8 ; input 25 , 9 ; tampil; bubSort; tampil; } Keluaran program diatas adalah sebagai berikut: 57 89 49 51 12 90 1 0 63 25 1 12 25 49 51 57 63 89 90 Metode Insertion Sort mirip dengan cara orang mengurutkan kartu selembar demi selembar, kartu diambil dan disisipkan insert ke tempat yang seharusnya. Adapun langkah-langkahnya adalah sebagai berikut :  Pengurutan dimulai dari data ke-2 sampai dengan data terakhir.  Jika ditemukan data yang lebih kecil atau lebih besar, maka akan ditempatkan diinsert diposisi yang seharusnya Program selengkapnya dalam bahasa C++ adalah : Program 9.8. include iostream using namespace std; int a[ 10 ]; void inputint data,int i { a[i] = data; } void tampil { forint i= ; i 10 ; i++ cout a[i] ; cout endl; } void insertionSort { 350 Direktorat Pembinaan SMK | 2008 int i,j; fori= 1 ; i 10 ; i++ { long temp = a[i]; j=i; whilej a[j‐ 1 ] = temp { a[j] = a[j‐ 1 ]; ‐‐j; } a[j] = temp; } } void main { input 57 , ; input 89 , 1 ; input 49 , 2 ; input 51 , 3 ; input 12 , 4 ; input 90 , 5 ; input 1 , 6 ; input , 7 ; input 63 , 8 ; input 25 , 9 ; tampil; insertionSort; tampil; } Keluaran programnya adalah sebagai berikut: 57 89 49 51 12 90 1 0 63 25 1 12 25 49 51 57 63 89 90

9.6. Contoh Program Array

Dibawah ini merupakan beberapa contoh program yang bekerja menggunakan array. Array merupakan variabel yang mampu menyimpan sejumlah nilai yang bertipe sama. Pada contoh dibawah ini menggunakan array yang bekerja satu dimensi maupun multidimensi dimensi dua atau tiga. Untuk lebih jelasnya perhatikan beberapa contoh dibawah ini: Program 9.9. Program di bawah ini untuk membaca data kemudian menampilkannya. includeiostream.h includeconio.h 2008 | Direktorat Pembinaan SMK 351 using namespace std; void main { int data[ 10 ]; array dengan 10 elemen bertipe integer int elemen; entri 10 data for elemen= ;elemen = 9 ;elemen++ { cout Data ke ‐ elemen : ; cin data[elemen]; } tampilkan data setelah entri for elemen= ;elemen = 9 ;elemen++ { cout Data ke ‐ elemen : data[elemen]; } } Catatan: Dalam CC++ elemen array dimulai dari 0. Program 9.10. Program untuk menampilkan data array dari hasil inisialisasi: includeiostream.h includeconio.h using namespace std; void main { int data[ 5 ] = { 4 , 1 , , ‐ 9 , 8 }; int elemen; tampilkan data for elemen= ;elemen = 4 ;elemen++ { cout Data ke ‐ elemen : data[elemen]; } } Program 9.11.