You are on page 1of 5

TUGAS PRAKTIKUM MODUL 6

ORGANISASI DAN ARSITEKTUR KOMPUTER

Anggota :
Maulana M. Iqbal (113090015)
Andy Satria (113090035)
Kelas : IF-33-01
Modul : 6
Asisten : Gandeva Bayu S

INSTITUT TEKNOLOGI TELKOM


2010/2011
1. Buatlah deret genap

a. Algoritma umum

program deretgenap
kamus data
nilai: integer;
begin
x := 2;
input(nilai);
for i:=1 to nilai do
output(x," ");
x:=x+2;
End for
End

b. Source Code Assembly

.data
var1: .asciiz "*******NOMOR 1*******\nMasukkan banyaknya bilangan :"
var2 : .asciiz "\n"
akhir:.asciiz ""
.text
.globl main
main :
li $t1, 2 #$t1 diisi dengan nilai 2
li $t5, 2 #$t5 diisi dengan nilai 2
li $t2, 0 #untuk assingment awal looping
li $t3, 1 #untuk increment looping
la $a0, var1 #memasukan isi variabel var1 ke $a0
li $v0, 4 #perintah print string
syscall #var1 diprint

li $v0, 5 #perintah untuk baca integer


syscall #suatu nilai integer berhasil dibaca
move $t0, $v0 #untuk pengecekan looping
move $t4, $v0 #copy nilai yang ada di $v0 ke $t0

loop :
move $a0, $t1
li $v0, 1 #perintah print integer
syscall #nilai di $v0 diprint

la $a0, var2 #memasukan isi variable var2 ke $a0


li $v0, 4 #perintah print string
syscall #var2 di print

add $t1, $t1, $t5 #penambahan $t1 dan $t5 ke dalam $t1
add $t2, $t2, $t3 #penambahan proses looping $t2 = $t2 + $t3
beq $t2, $t0, finish #jika $t2 sudah bernilai bil (nilai inputan), maka lompat ke
'finish'
j loop #balik ke loop

finish :
la $a0, akhir #memasukan isi variable akhir ke $a0
li $v0, 4 #perintah untuk print string
syscall #akhir berhasil di print

exit :
jr $ra #program berakhir

c. Printscreen program
2. Buatlah deret seperti 2 6 12 20 30 42

a. Algoritma umum

program jumlahgenap
kamus data
nilai : integer;

begin
x:=2;
a:=4;
input(nilai);
for i:=1 to nilai do
output(x," ");
x := x + a;
a := a + 2;
end for
End

b. Source code Assembly

.data
var1: .asciiz "*******SOAL 2*******\nMasukkan banyaknya bilangan :"
var2 : .asciiz "\n"
akhir: .asciiz ""
.text
.globl main
main :
li $t1, 2 #$t1 diisi dengan 2
li $t5, 2 #$t5 diberi nilai 2
li $t6, 2 #$t6 diberi nilai 2
li $t2, 0 #$t2 untuk asignment awal looping
li $t3, 1 #$t3 untuk increment looping
la $a0, var1 #memasukan isi variabel var1 ke $a0
li $v0, 4 #perintah menampilkan string
syscall #var1 diprint

li $v0, 5 #perintah untuk membaca integer


syscall #suatu bilangan integer berhasil dibaca
move $t0, $v0 #copy nilai yang ada di $v0 ke $t0
move $t4, $v0 #copy nilai yang ada di $v0 ke $t4
loop :
move $a0, $t1
li $v0, 1 #perintah untuk print integer
syscall #nilai di $v0 diprint
la $a0, var2 #memasukan isi variable var2 ke $a0
li $v0, 4 #perintah menampilkan string
syscall #var2 di print
add $t5, $t5, $t6 #penambahan $t5 dan $t6 ,hasil dimasukan ke $t5
add $t1, $t1, $t5 #penambahan $t1 dan $t5 , hasil dimasukan ke $t0
add $t2, $t2, $t3 #penambahan $t2 dan $t3 , hasil dimasukan ke $t2

beq $t2, $t0, finish #jika $t2 bernilai sama dengan nilai inputan, maka lompat
ke 'finish'
j loop #balik ke loop

finish :
la $a0, akhir #memasukan isi variable akhir ke $a0
li $v0, 4 #perintah untuk print string
syscall #akhir berhasil di print
exit :
jr $ra #program berakhir

c. Printscreen program

You might also like