Persona Intikalia

2 Des 2009

MOD dalam Nusa Akhirnya Ketemu Juga

Suatu hari ketika aku bangun dari tidur, ketika tak ada kokokan sang ayam. Eum ... trus ngapain? Tiba-tiba dalam otakku tersirat sebuah ide; gimana ya bikin MOD dalam Nusa pake fungsi. Awalnya, itu bukan suatu hal yang serius aku pikirkan. Tapi, entah mengapa ketika aku lihat salah satu temanku yang sedang otak-atik perograman C; yang notabene dia lagi bikin program KPK dan FPB. Eits... apa itu KPK? KPK itu Komisi Pemberantasan Korupsi ... wkwkwkwk. Kayaknya bukan itu yah ... KPK itu yang bener adalah Kelipatan Perkalian ter-Kecil (agak maksa sih)... heheheh. Langsung aja gue datengi temenku itu -- langsung aku minta file-nya. Lalu aku lihat sebelah kiriku, aku lihat ada temenku yang lainnya lagi otak-atik laptopnya. Dengan segera aku minta tolong booting pake Ubuntu, biar bisa langsung kupuasin hasratku untuk buat MOD dalam Nusa. BTW, MOD itu apa yah? MOD atau yang biasanya disebut MODULO, itu tu semacam pembagian yang hasilnya nanti adalah sisa dari pembagian itu tadi. Misalkan 6 MOD 4 = 2, juga 3 MOD 4 = 3. Yah... coba sendiri aja, kamu cari aja di Wikipedia kalo masih lum paham. Langsung aja, ne aku kasih scriptnya.

Program mod;
integer mod(integer besar, kecil){
if (besar < kecil) {return(besar);}
else{
repeat_until (besar < kecil) {
besar:=besar-kecil;
}
return(besar);
}
}
void main(){
integer big, small, proses;
read (big, small);
proses:= mod(big, small);
writeline(proses);
}

Selanjutnya .... aku kasih contoh penerapan dari penemuan MOD di Nusa, pada aplikasi mencari KPK, FPB, dan bilangan PRIMA. OK, di bawah ini!!!

Program kpk;
integer mod(integer besar, kecil){
if (besar < kecil) {return(besar);}
else{
repeat_until (besar < kecil) {
besar:=besar-kecil;
}
return(besar);
}
}
void main(){
integer bil1, bil2, big, small, i, kambing, hitam;
read(bil1, bil2);
if(bil1>=bil2){
big:=bil1;
small:=bil2;
}else{
big:=bil2;
small:=bil1;
}
i:=1;
repeat_until(kambing=0){
hitam:=big*i;
kambing:=mod(hitam,small);
i++;
}
writeline('kpk = ', hitam);
}


Gimana? Udah di-copy lum? Ni aku kasih yang FPB.


Program fpb;
integer mod(integer besar, kecil){return(besar);}
if (besar < kecil) {
else{
repeat_until (besar < kecil){
besar:=besar-kecil;
}
return(besar);
}
}
void main(){
integer bil1, bil2, big, small, kambing;
read(bil1, bil2);
if(bil1>=bil2){
big:=bil1;
small:=bil2;
}else{
big:=bil2;
small:=bil1;
}
repeat_until(kambing=0){
kambing:=mod(big,small);
big:=small;
in_case(){
kambing=0 : writeline(small);
else : small:=kambing;
}
}
}

Keren ga? Ni di bawah ada cara cari bilangan PRIMA.

Program prima;
integer mod(integer besar, kecil){
    if (besar < kecil) {return(besar);}
    else{
    repeat_until (besar < kecil) {
        besar:=besar-kecil;
    }
    return(besar);
    }
}

void main(){
integer a, bil, c, d, kambing;
write('masukkan = ');
read(bil);
for(a:=bil; a>=1; a--){c:=0;
    for(d:=a; d>=1; d--){kambing:=mod(a,d);
        if(kambing=0){c++;}
    }
    if(c=2){writeline(a);}
}
}

Tapi paham ga ma yang aku tulis di atas? Eum ... paham aja lah. Kalo masih ga paham, u coba aja langsung di Nusanya, dikompail, di-link, trus di-run. Kalo masih ga paham ... privat aja ma aku. Tapi akunya da di Surabaya, hehehe ...

Upss .. oh ya hampir lupa... ni aku bonus tenteng program cara cari faktorial, ne pake teknik rekursif. Apa itu rekursif? Cari aja di Wiki. Hehehe.

Program rekursi;
integer faktorial(integer n){
in_case(){
n < 2 : return(1);
else: return(n*faktorial(n-1));
}
}
void main(){
integer a,g;
writeline('masukkan sebuah angka!');
read(a);
g := faktorial(a);
writeline(a,'! = ',g);
}

Tidak ada komentar:

Posting Komentar