Rekursif

Function kali (a, b <- integer)-> integer

{Fungsi ini akan memanggil diri nya sendiri pada bagian isi nya}

Kamus

    Hasil <- integer

Deskripsi

   If (b = 0) then

        Hasil <- a

   Else

       Hasil <- a + kali(a,b-1)

    End if

  Return hasil

Search metode

Function nilai_maks (aray [], batas <- integer) -> integer
{mencari nilai maksimal / nilai tertinggi di dalam aray}

{ Kamus

i , max = 0 <- integer

  Deskripsi

i <- 0

while ( i < batas ) do

if ( max < aray[i] ) then

max <- aray [i]

end if

i = i + 1

return max

}

Sort metode

Procedure urut_bilangan (aray [] , batas <- integer)
{Mengurutkan bilangan dari yang terkecil hingga terbesar}

{ Kamus

temp, i, j <- integer

  Deskripsi

i <- batas

while (i > 0) do

j <- 0

while (j < i -1) do

if ( aray[j] > aray[j+1] ) then

temp <- aray [j]

aray [j] <- aray [j+1]

aray [j+1] <- tempa

end if

j = j + 1

i = i – 1

}

Jumlah Kata

Function jumlah_kata ( kalimat <- string ) -> integer
{mencari banyaknya kata di dalam kalimat yang telah diinputkan}

{ Kamus

i <- integer

jumkata = 0 <- integer

  Deskripsi

input (kalimat)

i <- 0

while ( i < strlen(kalimat)) do

if ( kalimat[i] <- 32 ) then

jumkata = jumkata + 1

end if

i = i + 1

return jumkata + 1

}

IsVokal/IsKonsonan

Function hitung_vokal ( text <- string ) -> integer
{menentukan jumlah semua huruf vokal di dalam text dengan tipe data string}

{ Kamus

jum=0 <- integer

i <- integer

  Deskripsi

i <- 0

while (text[i] ≠ ‘\0’) do

if (text[i] = ‘a’ or text[i] = ‘i’ or text[i] = ‘u’ or text[i] = ‘e’ or text[i] = ‘o’) then

jum = jum + 1

else if (text[i] = ‘A’ or text[i] = ‘I’ or text[i] = ‘U’ or text[i] = ‘E’ or text[i] = ‘O’) then

jum = jum + 1

end if

 i = i + 1

return jum

}

Function hitung_konsonan ( text <- string ) -> integer
{menentukan jumlah semua huruf konsonan di dalam text dengan tipe data string}

{ Kamus

konsonan [21] = {“bcdfghjklmnpqrstvwxyz”} <- string

jumlah = 0 <- integer

i, j <- integer

  Deskripsi

i <- 0

while (i < strlen(text)) do

j <- 0

while (j < 21) do

if ( text[i] = text[j] ) then

jumlah = jumlah + 1

end if

j = j + 1

i = i + 1

return jumlah

}

IsPrima / IsGenap/ IsGanjil/ IsKabisat

Procedure IsPrima (angka <- integer)
{input : data yang dimasukan berupa angka dengan tipe data integer ; output : mentukan apakah angka tersebut termasuk bilangan prima atau tidak}

{ Kamus
Deskripsi

If (angka = 3 or angka = 2)then

output (“Bilangan Prima”)

else if (angka mod 2 ≠ 0 and angka mod 3 ≠ 0)then

output (“Bilangan Prima”)

else if (angka mod 2 = 0 or angka mod 3 = 0 or angka mod 5 = 0)then

output (“Bukan Bilangan Prima”)

end if

}

Procedure IsGenapGanjil (angka <- integer)
{input : data yang dimasukan berupa angka dengan tipe data integer ; output : mentukan apakah angka tersebut termasuk bilangan genap atau ganjil}

{ Kamus
Deskripsi

If (angka mod 2 = 0)then

output (“Bilangan Genap”)

else if (angka mod 2 ≠ 0)then

output (“Bilangan Ganjil”)

end if

}

Procedure IsKabisat (tahun <- integer)
{input : data yang dimasukan berupa tahun dengan tipe data integer ; output : mentukan apakah tahun tersebut termasuk tahun kabisat atau bukan}

{ Kamus
Deskripsi

If (tahun mod 400 = 0)then

output (“Tahun Kabisat”)

else if (tahun mod 100 ≠ 0 and tahun mod 4 = 0)then

output (“Tahun Kabisat”)

else

output (“Bukan Tahun Kabisat”)

end if

}

Next Day

Function nextday (tgl,bln,thn <- integer) -> integer

{fungsi untuk mencari tanggal keesokan hari nya dari tanggal yang sudah dibuat parameter}

{ Kamus

next.tgl,next.bln,next.thn <- integer

Deskripsi

if (bln=2) then

if (tgl < 29) then

next.tgl = tgl + 1

next.bln = bln

next.thn = thn

else if (tgl = 28) then

if (thn mod 400 = 0 or (thn mod 4 = 0 and thn mod 100 ≠0))then

next.tgl = tgl + 1

next.bln = bln

next.thn = thn

else

next.tgl = tgl + 1

next.bln = bln + 1

next.thn = thn

end if

else if (tgl = 29) then

next.tgl = tgl + 1

next.bln = bln + 1

next.thn = thn

end if

else if (bln=12) then

if (tgl < 31) then

next.tgl = tgl + 1

next.bln = bln

next.thn = thn

else if (tgl = 31) then

next.tgl = 1

next.bln = 1

next.thn = thn + 1

else if (bln = 1 or bln = 3 or bln = 5 or bln = 7 or bln = 8 or bln = 10) then

if (tgl < 31) then

next.tgl = tgl + 1

next.bln = bln

next.thn = thn

else if (tgl = 31) then

next.tgl = 1

next.bln = bln + 1

next.thn = thn

end if

else if (bln = 4 or bln = 6 or bln = 5 or bln = 9 or bln = 11) then

if (tgl < 30) then

next.tgl = tgl + 1

next.bln = bln

next.thn = thn

else if (tgl = 30) then

next.tgl = 1

next.bln = bln + 1

next.thn = thn

end if

end if

return next.tgl, next.bln, next.thn

}

Konversi rupiah (angka to text)

void terbilang(x <- long integer)
{Mengubah angka menjadi huruf}

{Kamus

Deskripsi

if(x=1)

output(“Satu “)

else if(x=2)

output(“Dua“)

else if(x=3)

output(“Tiga“)

else if(x=4)

printf(“Empat“)

else if(x=5)

output(“Lima“)

else if(x=6)

output(“Enam“)

else if(x=7)

output(“Tujuh“)

else if(x=8)

output(“Delapan“)

else if(x=9)

output(“Sembilan“)

else if(x=10)

output(“Sepuluh“)

else if(x=11)

output(“Sebelas“)

else if(x≥12 and x≤19)

terbilang(x mod 10)

output(“Belas“)

else if(x≥20 and x≤99)

terbilang(x/10)

output(“Puluh“)

terbilang(x mod 10)

else if(x≥100 and x≤199)

output(“Seratus“)

terbilang(x-100)

else if(x≥200 and x≤999)

terbilang(x/100)

output(“Ratus“)

terbilang(x mod 100)

else if(x≥1000 and x≤1999)

output(“Seribu“)

terbilang(x-1000)

else if(x≥2000 and x≤999999)

terbilang(x/1000)

output(“Ribu“)

terbilang(x mod 1000)

else if(x≥1000000 and x≤999999999)

terbilang(x/1000000)

output(“Juta“)

terbilang(x%1000000)

end if

}

Konversi char to integer

Function hitung_char ( kata <- string) -> integer
{mengkonversi tipe data string menjadi tipe data integer dan menjumlahkannya}

{ Kamus

i = 0 <- integer

jumlah = 0 <- integer

  Deskripsi

i <- 0

while ( kata[i] ≠ ‘\0’) do

jumlah = jumlah + 1

i = i + 1

return jumlah

}

Konversi jam to detik (dan sebaliknya)

Function lama_waktu (J.awal, M.awal, S.awal,J.akhir, M.akhir, S.akhir <- integer) -> integer
{diberikan waktu awal mulai dari jam = J.awal, menit = M.awal, detik = S.awal dan waktu akhir jam = J.akhir, menit = M.akhir, detik = S.akhir yang selanjutnya dikonversi menuju detik}

{ Kamus

tot.awal, tot.akhir <- integer

jum.tot, j.selisih, m.sselisih, s.selisih <- integer

  Deskripsi

tot.awal <- (j.awal x 3600) + (m.awal x 60) + s.awal

tot.akhir <- (j.akhir x 3600) + (m.akhir x 60) + s.akhir

jum.tot <- tot.akhir – tot.awal

// mengembalikan nilai

j.selisih <- jum.tot/3600

m.selisih <- jum.tot/60

s.selisih <- jum.tot mod 3600

return s.selisih

}