Assembly Collection : 4 Dealing With Kabisat

Last Updated on 14 years by Mas Herdi

Well, mungkin judul yang benar adalah mengecek apakah suatu tahun adalah tahun kabisat atau tidak. Tapi itu terlalu kompleks dan tidak keren.

Screenshot Program Mengecek Tahun Kabisat

Entah apakah tahun kabisat bisa dideteksi dengan membagi sebuah tahun dengan 4 dan 100. Tapi di program ini kita hanya menlakukan pengecekan dengan pembagian 4, jadi 2004 akan dianggap sebagai sebuah tahun kabisat.

kabisat.asm

.data
teks1:.asciiz "nMasukkan tahun : "
teks2:.asciiz "Tahun Kabisat "
teks3:.asciiz "Bukan tahun kabisat "
teks4:.asciiz "Program Berhenti "
.text
.globl main
main :
consequence :
        la $a0, teks1    #load teks1 ke a0
        li $v0, 4        #isi v0 dengan 4
        syscall        #print teks 1

        li $v0, 5        #load v0 dengan 5
        syscall        #baca integer, masukkan ke v0
        move $t1, $v0    #pindahkan v0 ke t1

        li $t2, 4        #load immediate 4 ke t2

        beq $t1, $zero, mandeg    #jika t1==0 jump ke mandeg
        div $t1, $t2            #divide t1 dengan t2
        mfhi $t3                #pindahkan mod ke t3

        beq $t3, $zero, selfs        #jika t3==0 jump ke selfs

        la $a0, teks3    #load a0 dengan teks3
        li $v0, 4        #isi v0 dengan 4
        syscall        #cetak teks3
        j consequence    #jump ke consequence

selfs :
        la $a0, teks2     #load a0 dengan teks2
        li $v0, 4        #load immediate v0 dengan 4
        syscall        #cetak teks2
        j consequence    #jump ke consequence

mandeg:
        la $a0, teks4    #load a0 dengan teks4
        li $v0, 4        #isi v0 dengan 4
        syscall        #cetak teks4
        j exit        #jump ke exit

exit :
        jr$ra        #lompat dan kembali ke alamat kembalian

Dan sebagai pembanding, inilah kabisat.java

import java.util.Scanner;
import static java.lang.System.out; 
class Kabisat
{
    public static void main(String... arg)
    {
        int b = -1;
        Scanner s = new Scanner(System.in);
        while(c != 0)
        {
            out.println("Masukkan tahun ");
            b = s.nextInt();
            int x = b % 4;
            if(x == 0)
            {
                out.println("tahun kabisat");
            }
            else
            {
                out.println("Bukan tahun kabisat");
            }
        }
    }

}




Download aplikasi kami di Google Play Store


Tutorial Menarik Lainnya :

TWOH&Co.