Tuesday, December 25, 2007

Menentukan Perkalian Matriks




Algoritma :
a.inisialisasi matrik_a[ ][ ], matrik_b[ ][ ], matrik_c[ ][ ], i=0, j=0, k=0, baris_a, kolom_a, kolom_b
b.inputkan baris_a, kolom_a, kolom_b
c.Proses looping untuk memasukkan nilai pada matrik_a :
1.untuk i=0 sampai dengan banyak baris_a-1, i=i+1
a)untuk j=0 sampai dengan banyaknya kolom_a-1, j=j+1
b)inputkan matrik_b[i+1][j+1]
c)Apakah j< kolom_a ? jika tidak, kembali ke proses c1 a
2.Apakah i < baris_a ? jika tidak, kembali ke proses c 1.
d.Proses looping untuk memasukkan nilai pada matrik_b :
1.untuk j=0 sampai dengan banyak kolom_a-1, j=j+1
a)untuk k=0 sampai dengan banyaknya kolom_a-1, k=k+1
b)inputkan matrik_b[j+1][k+1]
c)Apakah k< kolom_b ? jika tidak, kembali ke proses d1 a
2.Apakah j < kolom_a ? jika tidak, kembali ke proses d 1.
e.Proses looping untuk mengalikan matriks :
1.untuk i=0 sampai dengan banyak baris_a-1, i=i+1
a)untuk k=0 sampai dengan banyaknya kolom_b-1, k=k+1
i)untuk j=0 sampai dengan kolom_a -1, j=j+1
ii)matrik_c[i][k] + = matrik_a[i][j] * matrik_b[j][k]
iii)Apakah j< kolom_a ? jika tidak, kembali ke proses  i)
b)Apakah k2.Apakah i < baris_a ? jika tidak, kembali ke proses e 1.
f.Proses looping untuk menampilkan matrik_c :
1.untuk i=0 sampai dengan banyak baris_a-1, i=i+1
a)untuk k=0 sampai dengan banyaknya kolom_b -1, k=k+1
b)Print matrik_c[i][k]
c)Apakah k< kolom_b ? jika tidak, kembali ke proses f1 a
2.Apakah i < baris_a ? jika tidak, kembali ke proses f 1.
g.Program selesai.

Menentukan Penjumlahan Matriks




Algoritma :
a.inisialisasi matrik_a[ ][ ], matrik_b[ ][ ], matrik_c[ ][ ], a=0, b=0, i=0, j=0, baris, kolom
b.tentukan jumlah ordo matriks ( jumlah baris dan kolom)
c.Proses looping untuk memasukkan nilai pada matrik_a :
1.untuk a=0 sampai dengan banyaknya baris-1, a=a+1
a)untuk b=0 sampai dengan banyaknya kolom-1, b=b+1
b)inputkan matrik_a[a+1][b+1]
c)Apakah b< kolom > jika tidak, kembali ke proses c1 a
2.Apakah ad.Proses looping untuk memasukkan nilai pada matrik_b :
1.untuk i=0 sampai dengan banyak baris-1, i=i+1
a)untuk j=0 sampai dengan banyaknya kolom-1, j=j+1
b)inputkan matrik_b[i+1][j+1]
c)Apakah j< kolom > jika tidak, kembali ke proses d1 a
2.Apakah i < baris ? jika tidak, kembali ke proses d 1.
e.Proses looping untuk menambahkan matrik :
1.untuk a=0 sampai dengan banyaknya baris-1, a=a+1
a)untuk b=0 sampai dengan banyaknya kolom-1, b=b+1
b)matrik_c[a][b]= matrik_a[a+1][b+1] + matrik_b[i+1][j+1]
c)Apakah b< kolom > jika tidak, kembali ke proses e  1  a
2.Apakah af.Proses looping untuk menampilkan matrik_c :
1.untuk a=0 sampai dengan banyaknya baris-1, a=a+1
a)untuk b=0 sampai dengan banyaknya kolom-1, b=b+1
b)Print matrik_c[a][b]
c)Apakah b< kolom ? jika tidak, kembali ke proses e  1  a
2.Apakah ag.Program selesai.

Menentukan apakah suatu bilangan merupakan bilangan Prima atau bukan




Algoritma :
a.inisialisasi faktor, n, i, x
b.inputkan bilangan n
c.Proses looping :
1.untuk i=1 sampai dengan n, i=i+1
2.faktor =0
3.Proses looping :
a)untuk x=1 sampai dengan i, x=x+1
b)Apakah i%x=0 ? Jika iya, maka faktor=faktor +1.
c)Jika tidak, kembali ke proses 3 a)
d)Apakah x =i ? jika tidak, maka kembali ke proses 3 a)
4.Apakah i= n ? jika tidak, kembali ke proses c1
d.Apakah faktor =2 ? jika iya, print ”Bilangan prima”
e.Jika tidak, print ” Bukan bilangan prima ”
5. Program selesai.

Algoritma Konversi bilangan desimal ke biner



Algoritma :
a.inisialisasi biner[ ], des, i
b.inputkan bilangan decimal
c.Proses looping :
1.untuk i=7 sampai dengan 0, i=i-1
2.biner [i]= des %2 (sisa pembagian dari des dibagi 2 di assign ke variable biner [i] )
3.des=des / 2
4.Apakah i =0 ? jika tidak, kembali ke proses c1
d.Proses menampilkan hasil konversi :
1.untuk i=0 sampai dengan 7, i=i+1
2.Print biner
3.Apakah I =7 ? jika tidak, kembali ke proses d1
e.Program selesai.

Algoritma Konversi bilangan biner ke desimal

Flowchart :


Algoritma :
a.inisialisasi biner[],i,hasil, dan desimal=0
b.inputkan bilangan biner
c.Proses loping :
1.untuk i=0 sampai dengan length (biner), i=i+1
2.keluarkan bilangan biner ke i lalu kalikan dengan 2i, masukkan ke hasil, dinyatakan dengan hasil.push(biner[i]* 2i
3.desimal+=hasil.pop
4.Print desimal
5.Apakah i = length (biner) ? jika tidak, Kembali ke proses c1
d.Program selesai.

Algoritma menampilkan bilangan Fibbonaci


Algoritma :
a.inisialisasi N=20
b.inisialisasi fib[N]={1,1},temp=0,i ,n
c.Inputkan jumlah bilangan yang akan ditampilkan, masukkan ke variable n
d.Tampilkan fib[0] dan fib[1] yaitu {1} dan {1}
e.Proses looping :
1.Untuk i=0 sampai dengan n-2,i=i+1
2.Temp=temp+1
3.Fib[temp+1]=fib[i] + fib[i+1]
4.Print fib[temp+1]
5.Kembali ke proses e1.
f.Selesai

Thursday, November 29, 2007

Menentukan apakah sebuah kata/kalimat Palindrom atau Bukan

Algoritma :
1. inisialisasi MAX = 25
2. read kata1[MAX], kata2[MAX], i=0, j, pjg=0
3. inputkan kata1
4. Proses looping :
a. untuk i=0 sampai dengan pjg, i=i+1, pjg=pjg+1
b. j=j+1
c. Apakah kata[i]=="\0" ? jika tidak, kembali ke proses 4a,
5. Proses looping 2 :
a. untuk i=o sampai dengan pjg, i=i+1
b. kata2[i]=kata1[i]
c. apakah i==pjg ? jika tidak, print kata1[i], kata2[i]
d. j=pjg-2,
e. i=0
6. While j!=0 :
a. apakah kata2[i] != kata1[i] ? jika iya, print "Bukan Palindrom". jika tidak, lanjut ke proses b.
b. i=i+1
c. j=j-1
d. Apakah j=0 ? jika tidak, kembali ke proses 6a
e. jika iya, print "Palindrom"
7. Program selesai.


Flowchart :

Membalik Kata



Algoritma :
1. MAX=12
2. read kata[MAX], i, pjg, n
3. inputkan kata
4. While kata[i]!='\0' :
a. i=i+1
b. pjg=pjg+1
c. apakah kata[i]=getchar()=='\n' ? jika tidak, kembali ke proses 4a
d. jika iya,i=pjg
e. i=i-1
f. Print kata[i]
g. Apakah i==0 ? jika tidak, kembali ke proses 4a
5. Program selesai.

Membalik bilangan



Algoritma :
1. read bil, digit_kanan
2. inputkan bilangan
3. While bil!=0 :
a. digit_kanan=bil%10
b. print digit_kanan
c. bil=bil/10
4. Program selesai.

Memilah Bilangan



Algoritma :
1. read ribuan, ratusa, pul, sat
2. input ribuan
3. input ratusan
4. input pul
5. input sat
5. ribuan=ribuan*1000
6.ratusan=sartusan*100
7. pul=pul*10
8. sat=sat*1
9. Print ribuan, ratusan, pul, sat
10 Program selesai.

Menampilkan tumpukan bilangan, dengan jumlah kelipatan ganjil



Algoritma :
1. jum=1
2. read i, j. n
3. inputkan bilangan terakhir, masukkan ke variabel n
4. Proses looping :
a. untuk i=0 sampai dengan n, i=i+1
b. untuk j=0 sampai dengan jum,j=j+1
c. print i
d. jum=jum+2
e. Apakah j=jum? jika tidak, kembali ke proses 4b
f. Apakah i=n ? jika tidak, kembali ke proses 4a
5. Program selesai.

Menampilkan bilangan Triangular



Algoritma :
1. read n, i, jumlah=0
2. inputkan jumlah data, masukkan ke variabel n
3. Proses looping :
a. untuk i=0 sampai dengan n, i=i+1
b. jumlah=jumlah+n
c. print i
d. Apakah i=n? jika tidak, kembali ke proses 3a
4. Print jumlah
5. Program selesai.

kalkulator



Algoritma :
1. read x, y, hasil, pil
2. inputkan bilangan pertama, masukkan ke variabel x
2. inputkan bilangan kedua, masukkan ke variabel y
3. Pilihan : 1. Penjumlahan, 2. Pengurangan, 3. Perkalian, 4. Pembagian
4. Jika pil==1, :
a. hasil=x+y
b. Print hasil.
5. Jika pil==2 :
a. hasil=x-y
b. Print hasil.
6. Jika pil==3 :
a. hasil=x*y
b. Print hasil.
7. Jika pil==4, :
a. hasil=x/y
b. Print hasil.
8. Jika pil>4 : print " Invalid menu!!"
9. Program selesai.

Tuesday, November 13, 2007

Flowchart Menentukan bilangan terbesar


Algoritma :
1. Read n,i,bil, max,min
2. Inputkan jumlah/banyaknya bilangan, masukkan ke variabel n
3. Proses perulangan / looping :
a. untuk i=1 sampai dengan n , i=i+1
b. Masukkan bilangan ke -i
c. Jika max d. Jika min>bil, maka min=bil
e. Jika i=1, maka min=bil,max=bil
f. Kembali ke proses 3a
4. Print max. min
5. Program selesai.

Flowchart Konversi detik ke hari,jam,menit


Algoritma :
1. Masukkan jumlah detik
2. Hitung konversi detik ke hari, nyatakan dengan hari=detik/86400
3. Hitung konversi detik ke jam, nyatakan dengan jam=(detik%86400)/3600 (--> sisa hasil pembagian detik/86400 dibagi 3600)
4. Hitung konversi detik ke menit, nyatakan dengan menit=((detik%86400)%3600)/60
5. Hitung sisa hasil pembagian,masukkan ke variabel sisa_detik
6. Print hariu,jam,menit, dan sisa_detik.
7. Program selesai.

Flowchart Menghitung Konversi jam ke menit


Algoritma :
1. Masukkan jumlah jam, inputkan ke variabel jam.
2. Masukkan jumlah menit, inputkan ke varaibel menit.
3. Hitung hasil konversi jam ke menit, nyatakan dengan hasil=(jam*60)+menit.
4. Print hasil.
5. Selesai.

Saturday, November 10, 2007

Algoritma menampilkan bilangan genap 10 - 50 (kecuali 16,26,46, dan kelipatan 6)


1.Algoritma menampilkan bilangan genap antara 10-50 kecuali bilangan 16,26, dan 46, serta bilangan tsb bukan kelipatan 6 :
a.Baca x=10,n=50, i
b.Inisialisasi harga awal untuk batasan2, yaitu a=16,b=26, san c=46
c.Proses perulangan / looping :
1)Untuk i=10 sampai dengan n
2)X=x+2;
3)Proses penyeleksian kondisi :
a)Jika x%6 = 0 :
i)Jika x tidak sama dengan a :
(a)Jika x tidak sama dengan b :
Jika x tidak sama dengan c :
Tampilkan x

Algoritma Pendaftaran Mahasiswa baru di PENS


1.Algoritma proses penerimaan mahasiswa baru PENS :
a.Pembelian formulir,pengisian biodata diri, melengkapi persyaratan, dan membayar uang pendaftaran
b.Jika pengisian data diri selesai dan syarat2 telah terpenuhi maka peserta akan mendapatkan 1 map berisi form data diri, pilihan jurusan, pilihan jalur pendidikan yg akan dimbil, dan buku panduan. Serta tercantum nomor pendaftaran peserta.
c.Pengisian form2 tersebut. Juga telah ditentukan bahwa dana sumbangan untuk jalur D3 minimal adalah Rp 3.000.000,- dan untuk D4 minimal Rp 4.000.000,-
d.Setelah selesai, maka peserta akan difoto dan diberi kartu ujian.
e.Proses pelaksanaan ujian :
1)jika pada saat ujian peserta datang terlambat lebih dari 15 menit atau berbuat curang dalam bentuk apapaun maka akan didiskualifikasi.
2)Waktu pengerjaan dan jawaban dikumpulkan
f.Proses penilaian :
1)Jika nilai 81-100 dan dana sumbangan tidak dibawah batas ketentuan , maka peserta diterima pada pilihan / jurusan yang pertama dipilih.
2)Jika nilai 71-80 dan dana tidak dibawah batas ketentuan , maka peserta diterima pada pilihan / jurusan yang kedua dipilih.
g.Proses Registrasi / pendaftaran ulang :
1)Jika peserta / calon MABA tidak melkukan registrasi pada hari / waktu yg telah ditentukan maka akan dianggap mengundurkan diri dan akan diisi oleh peserta cadangan.
2)Jika tidak maka peserta akan menerima KTM dan telah menjadi warga PENS.

Algoritma Motor berjalan - sampai berhenti (Pak, kasih A yaw...kan udah panjang. Bapak suka yg panjang2 kan??...Huehehe :p )


3.Algoritma proses motor berhenti, motor berjalan, sampai motor berheti kembali :
a.motor berhenti. Pengendara memakai helm.
b.Nyalakan kontak. Nyalakan starter.
c.Jika mesin motor tidak dapat dinyalakan :
1)Periksa terlebih dulu apakah ada kerusakan
2)Jika ada, cobalah diperbaiki.
3)Jika tidak bisa diperbaiki sendiri, bawa ke bengkel
d.Masukkan gigi 1.
e.Tarik gas pelan2, sampai berjalan sejauh + 5 m.
f.Masukkan gigi 2.
g.Tarik gas pelan2, atur kecepatan yg diinginkan, + 40 km/h.
h.Masukkan gigi 3.
i.Tarik gas, atur kecepatan sesuai keinginan..
j.Jika ingin gas terasa lebih ” ringan ” masukkan gigi 4.
k.Teruslah melaju sampai ke tempat tujuan.
l.Motor berjalan sampai ke tempat tujuan.
m.Kurangi kecepatan, injak rem pelan2 sampai berhenti.
n.Kembalikan gigi ke posisi netral (N)
o.Matikan mesin.
p.Kuncilah sepeda motor.
q.Parkirlah di tempat yg aman. Lepas helm.

Thursday, October 4, 2007

Flowchart Nota Pembelian


3. Menentukan flowchart dari harga yang harus dibayar oleh pembelibila setiap pembelian mendapatkan diskon dengan aturan : pembelian>1500000 maka mendapat diskon 10%.