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%.

Wednesday, October 3, 2007

Menentukan tahun kabisat


1. Menentukan apalah suatu tahun(bilangan) adalah tahun kabisat (antara 1900-2020). Algoritma :
1)User menginputkan bilangan tahun, antara tahun 1900-2020
2)Hitung proses pembagian inputan bilangan tahun dengan angka 4, misal : 2007:4
3)Jika sisa hasil pembagian = 0, maka tahun tersebut adalah tahun kabisat.
4)Jika sisa hasil pembagian ≠ 0 , maka tahun tersebut bukan tahun kabisat.

Program :

#include
main()
{
int tahun;

printf("Masukkan bilangan (tahun) antara 1900-2020 : ");
scanf("%d", &tahun);

if (tahun%4= =0)
{
printf("%d adalah tahun kabisat\n", tahun);
}
else if(tahun<1900)
{
printf("Invalid!!\n");
}
else
{
printf("%d bukan tahun kabisat\n", tahun);
}
}

Tugas pertemuan ke5, menampilkan bilangan genap


2. Program yang dapat menampilkan bilangan genap mulai dari 2 sampai n deret kecuali bilangan genap tersebut kelipatan 4. Algoritma :
1)Inisialisasi harga awal a=2
2)User menginputkan banyaknya data, dimasukkan ke variabel n.
3)Proses perulangan :
a.untuk i=1 sampai dengan n
b.Jika sisa hasil pembagian a dengan angka 4 ≠ 0 maka hitung penjumlahan a, dinyatakan dengan a=a+4.
c.Cetak nilai a.
4)Program selesai.

Program :
#include
main()
{
int n,a=2,i;

printf("Masukkan jumlah bilangan : ");
scanf("%d", &n);
printf("%d\t", a);

for (i=1;i<=n;i++)
{
if(a%4!=0)
{
a=a+4;
printf("%d \t",a);
}
}
}

Diskriminan


4. Menghitung nilai diskriminan dan akar-akar persamaan kuadrat dengan harga a, b, dan c diperoleh dari inputan user, dari rumus : ax2+bx+c.
Algoritma :
1)User menginputkan nilai a
2)User menginputkan nilai b.
3)User menginputkan nilai c
4)Menentukan harga Diskriminan, dinyatakan dengan D= b*b-4*a*c
5)Proses penyeleksian kondisi :
a.Jika harga D = 0, maka cetak ”Dua akar real dan kembar” , dengan x1=x2= (-b / (2*a)).
b.Jika harga D>0, maka cetak ” Dua akar real dan berlainan”., dengan x1 dinyatakan dengan x1= -b+ sqrt(D) / (2*a). Dan x2 dinyatakan dengan x2= -b –sqrt(D) / (2*a).
c.Jika harga D<0, maka cetak ”Dua akar imaginer dan berlainan”, dengan x1 dinyatakan dengan x1= -b / (2*a) + sqrt((-D) / 2*a)) dan x2 dinyatakan dengan x2= = -b / (2*a) - sqrt((-D) / 2*a))
6)Cetak harga Diskriminan , harga x1, dan x2.
7)Program selesai.

Menampilkan bilangan ganjil


3. Menampilkan sederetan bilangan ganjil dari 10 sampai dengan 30 kecuali bilangan 21 dan 27. Algoritma :
1)Menentukan nilai awal x, yaitu x=11 (data ke 1)
2)Proses perulangan (looping):
a.Untuk x=11 sampai dengan 30, dengan penambahan 2 di setiap perulangan dinyatakan dengan : x=11 ; x<=30; x+=2.
b.Jika x 21 dan x27 maka : cetak nilai x.
3)Program selesai.

konversi suhu


2. Menghitung nilai Fahrenheit dari nilai Celcius yang dimasukkan. Algoritma :
1)Masukkan nilai celcius dari inputan user
2)Hitung harga Fahrenheit, dinyatakan dengan Fahrenheit = C*1.8 +32
3)Cetak harga Fahrenheit
4)Program selesai.
Flowchart :

tugas pertemuan ke4


1.Algoritma untuk menghitung keliling dan luas lingkaran :

1.)Menentukan harga phi () terlebih dahulu, yaitu phi=3,14.
2.)Masukkan jari-jari lingkaran.
3.)Terdapat 2 pilihan untuk user : 1. Menghitung Luas lingkaran, 2.
4.)Jika user memilih pilihan 1 maka : Hitung luas lingkaran dengan rumus L = phi *r*r.
5.)Cetak hasil perhitungan luas lingkaran.
6.)Jika user memilih pilihan 2, maka : Hitung keliling lingkaran dengan rumus : Kel= 2 *phi* r
7.)Cetak hasil perhitungan keliling lingkaran.
8.)Program selesai.
Flowchart :

Wednesday, September 19, 2007

flowchart2





flowchart

Nah,..kalo ini ne flowchart dari algoritma yang tadi..Simak yach,.Maybe kalo anda-nda semuanya punya pemikiran yang beda ya It's OK..Ni hanya konsep dari pemikiran saia sendiri.. :p

Tuesday, September 11, 2007

Ni tugas gw dari Pak Rengga... (duh Pak,masa blog diisi tugas se

1
  1. Cara membuat kopi dengan rasa manis yang tepat :
    a. Masukkan 2 sendok teh kopi ke cangkir
    b. Tuangkan air panas.

c. Tuangkan 2 sendok teh gula ke dalam cangkir, kemudian aduk 18 kali d. Rasakan, apakah manisnya sudah tepat.
e. Jika manisnya masih kurang, ulangi langkah nomor 3

  1. Algoritma untuk proses aktivitas yang aku kerjakan dari pagi hingga malam hari :

    1. 05.00 : Bangun tidur.

    2. 05.00 – 05.10 : Membereskan tempat tidur.

    3. 05.10 – 05.25 : Wudhu, kemudian sholat subuh.

    4. 05.25 – 06.30 : tidur lagi

    5. 06.30 – 06.45 : mandi

    6. 06.45 – 07.00 : ganti baju, berpenampilan rapi.

    7. 07.00 – 07.15 : sarapan.

    8. 07.15 : berangkat kuliah (jalan kaki, membutuhkan waktu + 30 menit).

    9. 07.45 : tiba di kampus.

    10. 08.00 – 10.30 : mata kuliah I.

    11. 10.30 – 14.00 : mata kuliah II.

    12. 14.00 – 16.30 : mata kuliah III.

    13. 16.30 – 16.50 : pulang

    14. 16.50 – 17.00 : mandi

    15. 17.00 – 17.05 : sholat Asar.

    16. 17. 05 – 18.00 : nonton TV ( Jang Geum).

    17. 18.00 – 18.10 : sholat maghrib.

    18. 18.00 – 19.00 : pergi ke warung atau depot, beli makan (plus antri).

    19. 19.00 – 19.10 : membereskan dan mencuci peralatan makan.

    20. 19.10 – 20.30 : mengerjakan tugas (jika ada. Jika tidak ada, nonton TV bareng mbak kost)

    21. 20.30 – 20.50 : menyiapkan buku-buku dan bawaan untuk kuliah besoknya.

    22. 20.50 – 21.05 : cuci muka, cuci tangan dan kaki, lalu wudhu.

    23. 21.05 – 21.15 : sholat Isya’.

    24. 21.15 – 21.20 : menyiapkan tempat tidur.

    25. 21.20 – 05.00 : tidur.


  1. Algoritma untuk menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap :

    1. Masukkan bilangan yang akan ditentukan.

    2. Kalikan bilangan tersebut dengan 2.

    3. Bagilah bilangan tersebut dengan 4.

    4. Hitunglah sisa hasil bagi pada langkah b.

    5. Bila sisa hasil bagi adalah antara 0, ½, atau 1 maka bilangan tersebut adalah bilangan genap.Dan bila sisa hasil bagi sama dengan 2 maka bilangan tersebut adalah bilangan ganjil.

  2. Algoritma mengurutkan 3 bilangan acak!

    1. Mula-mula ditentukan posisi ke i (sebagai perulangan / iterasi).

    2. Masukkan 3 bilangan yang akan diurutkan.

    3. Kemudian dilakukan penelusuran data terkecil dan dilakukan pertukaran data. Data terkecil berada di sebelah kiri.

    4. Posisi i dinaikkan dan proses penelusuran dan pertukaran dilakukan terus sampai posisi terakhir.

Ilustrasi :

1

Iterasi

Data 0

Data 1

Data 2

Awal

40

12

35

i = 0

40

12

35

i = 1

12

40

35

i = 2

12

35

40

Akhir :

12

35

40


Hai..!!

It's me, dashiki..!!
This blog is now available for everyone who wants to know ' bout me..or just say hello to me :)..hope u be ma frenz..

Regards.
therealdashiki.