Soal :
Buat program untuk membandingkan hasil penjumlahan pada array yang mempunyai 3 buah bilangan, misal arraynya adalah data dengan nilai elemen array : 9, 11, 8
Bandingkan hasil penjumlahan elemen 1 dan 2 dengan elemen 2 dan 3. Kemudian cetak nilai elemen array, hasil penjumlahan, dan hasil perbandingan.
Output :
Nilai elemen array 1 = 9
Nilai elemen array 2 = 11
Nilai elemen array 3 = 8Hasil Penjumlahan elemen 1 + 2 = 20
Hasil Penjumlahan elemen 2 + 3 = 19Penjumlahan 1 > Penjumlahan 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 | .model small .code org 100h tdata : jmp proses1 arr dw 9,11,8 ;definisikan array dan isinya ;array dideklarasikan dgn dw, sehingga lompatan antar array sebanyak 2 (byte) teks1 db 13,10,'Nilai Elemen Array 1 = $' teks2 db 13,10,'Nilai Elemen Array 2 = $' teks3 db 13,10,'Nilai Elemen Array 3 = $' teks4 db 13,10,'Hasil Penjumlahan elemen 1 + 2 = $' teks5 db 13,10,'Hasil Penjumlahan elemen 2 + 3 = $' cmp1 db 13,10,'Hasil Penjumlahan elemen 1 > Hasil Penjumlahan elemen 2$' cmp2 db 13,10,'Hasil Penjumlahan elemen 1 = Hasil Penjumlahan elemen 2$' cmp3 db 13,10,'Hasil Penjumlahan elemen 1 < Hasil Penjumlahan elemen 2$' proses1 : mov ah,09 lea dx,teks1 int 21h lea bx,arr ; mencatat alamat efektif array ke dalam register bx mov ax,arr ; memasukkan array pertama ke dalam register ax, sehingga ax bernilai 9 ; cetak angka mov bx, 10 xor cx,cx ulang1 : xor dx,dx div bx push dx inc cx cmp ax,0 ; bandingkan apakah ax sudah 0 jne ulang1 ; jika tidak, ulangi cetak1 : pop dx add dl,'0' mov ah,02 int 21h loop cetak1 proses2 : mov ah,09 lea dx,teks2 int 21h lea bx,arr ; mencatat alamat efektif array ke dalam register bx mov ax,[bx+2] ; memasukkan array ke-2 ke dalam register ax, sehingga ax bernilai 11 ; cetak angka mov bx, 10 xor cx,cx ulang2 : xor dx,dx div bx push dx inc cx cmp ax,0 ; bandingkan apakah ax sudah 0 jne ulang2 ; jika tidak, ulangi cetak2 : pop dx add dl,'0' mov ah,02 int 21h loop cetak2 proses3 : mov ah,09 lea dx,teks3 int 21h lea bx,arr ; mencatat alamat efektif array ke dalam register bx mov ax,[bx+4] ; memasukkan array ke-3 ke dalam register ax, sehingga ax bernilai 8 ; cetak angka mov bx, 10 xor cx,cx ulang3 : xor dx,dx div bx push dx inc cx cmp ax,0 ; bandingkan apakah ax sudah 0 jne ulang3 ; jika tidak, ulangi cetak3 : pop dx add dl,'0' mov ah,02 int 21h loop cetak3 proses4 : mov ah,09 lea dx,teks4 int 21h lea bx,arr ; mencatat alamat efektif array ke dalam register bx mov ax,arr ; memasukkan array pertama ke dalam register ax, sehingga ax bernilai 10 add ax,[bx+2] ; menambahkan ax dgn array ke-2, ax = ax + 11, sehingga ax bernilai 9 + 11 = 20 ; cetak angka mov bx, 10 xor cx,cx ulang4 : xor dx,dx div bx push dx inc cx cmp ax,0 ; bandingkan apakah ax sudah 0 jne ulang4 ; jika tidak, ulangi cetak4 : pop dx add dl,'0' mov ah,02 int 21h loop cetak4 proses5 : mov ah,09 lea dx,teks5 int 21h lea bx,arr ; mencatat alamat efektif array ke dalam register bx mov ax,[bx+2] ; memasukkan array ke-2 ke dalam register ax, sehingga ax bernilai 11 add ax,[bx+4] ; menambahkan ax dgn array ke-3, ax = ax + 8, sehingga ax bernilai 11 + 8 = 19 ; cetak angka mov bx, 10 xor cx,cx ulang5 : xor dx,dx div bx push dx inc cx cmp ax,0 ; bandingkan apakah ax sudah 0 jne ulang5 ; jika tidak, ulangi cetak5 : pop dx add dl,'0' mov ah,02 int 21h loop cetak5 proses6 : lea bx,arr ; mencatat alamat efektif array ke dalam register bx mov ax,arr ; memasukkan array pertama ke dalam register ax, sehingga ax bernilai 10 cmp [bx+4],ax ; bandingkan array ke-3 dgn ax JB Kecil ; jika ax < array ke-3 JE Sama ; jika ax = array ke-3 JA Besar ; jika ax > array ke-3 Kecil : lea dx,cmp1 ; memasukkan cmp1 ke dalam register dx jmp cetak6 Sama : lea dx,cmp2 ; memasukkan cmp2 ke dalam register dx jmp cetak6 Besar : lea dx,cmp3 ; memasukkan cmp3 ke dalam register dx jmp cetak6 cetak6 : mov ah,09 int 21h int 20h end tdata |



Nov 30, 2009 at 09:18:07
Mantav…
Tak ambil nggih mas eko…
^_^
Dec 3, 2009 at 18:26:22
@Nur – :hug Silahken diambil.. Ga usah bayar..