Kamis, 27 Maret 2014

Konversi Hari

Masalah:

Konversikan hari ke 1 adalah hari senin sampai dengan hari ke-7 adalah hari minggu 


Analisis:

Input: hari ke
Proses: mengkonversi nilai angka menjadi nama hari
Output: Hasil konversi angka menjadi hari


Deklarasi:

Hari ke : integer{Input}
Hari : string{Output}
  

Deskripsi:

> read(hari_ke)
> pilih(hari_ke) untuk

  • 1:hari<--"Senin
  • 2:hari<--"Selasa"
  • 3:hari<--"Rabu"
  • 4:hari<--"Kamis"
  • 5:hari<--"Jum'at"
  • 6:hari<--"Sabtu"
  • else hari<--"Minggu"
    end{pilih}
> write(hari)

Gambar Flowchart :




Gambar C++


Menghitung Akar Persamaan Kuadrat

Masalah :
Buatlah algoritma mencari akar - akar persamaan kuadratnya

Analisis :


Input    : a, b, c
Proses  : mencari akar persamaan kuadrat
Output : akar - akar kuadrat

Deklarasi :

 a,b,c  : integer {Input}
disk   : longin {output}
 x1,x2 : real {output}

Deskripsi :

Read (a,b,c)
Disk <-- b*b-4a*c
if (a=0) then write ( Bukan persamaan kuadrat )
   else if disk>0 then
     x1 <-- (-b) + sqrt (disk)/2*a
     x2 <-- (-b) + sqrt (disk)/2*a
   else if disk = 0 then
     x1 <-- (-b) / 2*a
     x2 <-- x1
   else write ( Akar imajiner )
   end if
write (x1,x2)


Gambar Flowchart :



Gambar C++ dari aplikasi Dev C++ :



Menghitung Bilangan Terbesar Diantara Dua Bilangan Bulat.

Masalah : 
  
Menentuka bilangan terbesar antara dua bilangan bulat.

Analisis :



  •  Input    : a, b (sebagai variabel integer)
  • Proses  : Membandingkan nilai terbesar antara a dan b
  •  Output : Jika a > b maka outputnya = a, Jika b>a maka outputnya = b   


Deklarasi :

> a, b        :  integer {input}
> a atau b  : integer {Output}
 
 

Deskripsi :
 Read (a,b)
if a>b, then write (a), else write (b)



Gambar Flowchart : 








Gambar C++ dari aplikasi Dev C++ :


Refleksi Pertemuan Ketiga Alpro

Apa yang sudah saya dapat?

Saya mendapat banyak ilmu mengenai fotografi yang sebelumnya tidak saya ketahui. Selain itu juga saya sedikitnya sudah paham mengenai pengkondisian if else.

Apa yang kurang saya pahami?

Saya kurang paham mengenai else bertingkat yang terkadang membingungkan.

Apa solusi saya?

Dengan memahami masalah dengan detail dan lebih teliti serta menyelesaikan pemasalahan tersebut secara perlahan-lahan.

Menghitung Bilangan Fibonacci


Dalam matematika, Bilangan Fibonacci adalah barisan yang didefinisikan secara rekursif sebagai berikut:

  F(n)=
   \begin{cases}
    0, & \mbox{jika }n=0; \\
    1, & \mbox{jika }n=1; \\
    F(n-1)+F(n-2) & \mbox{jika tidak.}
   \end{cases}
Penjelasan: barisan ini berawal dari 0 dan 1, kemudian angka berikutnya didapat dengan cara menambahkan kedua bilangan yang berurutan sebelumnya. Dengan aturan ini, maka barisan bilangan Fibonaccci yang pertama adalah:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946...
Barisan bilangan Fibonacci dapat dinyatakan sebagai berikut:
Fn = (x1n – x2n)/ sqrt(5)
dengan
  • Fn adalah bilangan Fibonacci ke-n
  • x1 dan x2 adalah penyelesaian persamaan x2 – x – 1 = 0.
Perbandingan antara Fn+1 dengan Fn hampir selalu sama untuk sebarang nilai n dan mulai nilai n tertentu, perbandingan ini nilainya tetap. Perbandingan itu disebut rasio emas yang nilainya mendekati 1,618.

Masalah :
     
Diketahui bahwa menghasilkan dan mencetak persyaratan n pertama dari Fibonacci urutan 

dimana n >=1, beberapa suku pertama adalah 0,1,1,2,3,5,8,13 ... setiap istilah yang pertama 

berasal dari 2 pendahulunya terdekat.


Algoritma 

Analisis

Input    :  Program untuk menghitung deret fibonaci untuk bilangan x>24 Analisa

              a dan b dalam bentuk bilangan Proses : a dan b dengan rumus sum : a+b

Output  : cetak hasil

Deklarasi

A dan b : integer (input)

Hasil : integer (output)

Deskripsi

          Apakah sum >=24 jika (ya) maka cetak hasil jika tidak ulangi






Program C++:


Menghitung Pemjumlahan dari Tiga Bilangan

Masalah :
Mencari jumlah dari tiga bilangan.

Algoritma :

input : Bilangan pertama, kedua dan ketiga
Proses : Bilangan pertama+Bilangan kedua+Bilangan ketiga
Output : Hasil penjumlahan tiga bilangan tersebut

Program C++ : 



Flowchart (Raptor) :


Perhitungan Nilai Ujian


Masalah :
Diberi sebuah  tanda dari nilai ujian siswa dari 0 - 100, membuat hitungan jumlah siswa yang lulus ujian, lulus diberikan untuk semua mahasiswa yang mendapat nilai 50 keatas.

Algoritma :

Analisis

Input : jumlah mahasiswa 

Proses :        Nilai >50 lulus <50 remidi 

                       Nilai < 50

                      Tidak lulus = tidak lulus + 1

                      Lulus = lulus + 1 i=i+1

                  
Output : hasil mahasiswa yang lulus atau remidi

Deklarasi

Remidi dan lulus : integer (output) 

Nilai : float (input)

Deskripsi

Nilai < 50 

Tidak lulus = tidak lulus + 1 

Lulus = lulus + 1 i=i+1

Program C++ :



Flowchart (Raptor) :

Menukarkan Nilai Dari Dua Variabel


Masalah :


membuat program C++ untuk menukar nilai nilai dari dua variabel.

Algoritma :

Analisis 

Input : a dan b 

Proses :        temp = a

                       A=b

                       B=temp

Output : nilai a menjadi nilai b dan nilai b menjadi nilai a.

Deklarasi

A dan b : integer (input) 

Nilai sudah di tukar : integer output

Deskripsi 

Temp=a

a=b

b=temp

Program C++ :




Flowchart (Raptor) :

Konversi Suhu

Permasalahan : 

  •  Algoritma menerima masukkan huruf k,f dan r  untuk memilih konversi derajat yang diinginkan dan nilai suhu. 
  • Kemudian menambahkan  nilai suhu dengan 273,15 , 
  • mengkalikan nilai suhu dengan 1.8 ditambah 32 untuk mengkonversi ke farenhait dan  mengkalikan nilai suhu dengan 0.8 untuk mengkonversi ke reamur  . 
  • Mencetak Kelvin, Fahrenheit dan Reamur.
       
Analisis :

  • Input: suhu dalam celcius
  • Proses:mengkonversi
  • Output: suhu dalam kelvin, fahrenheit dan reamur

Deklarasi :


> suhu   :  double {input}
> k, f dan r : double {Output}

Deskripsi :


> Read(suhu)
> k <-- suhu + 273,15
> f <-- suhu * 1,8 + 32
> r <-- suhu * 0,8
> Write(k , f , r)



 Gambar flowchart :





Gambar C++ dari aplikasi Dev C++ :

Memisahkan Bilangan Integer Yang Kurang Dari 1000


Buatlah algoritma dan program untuk memisahkan bilangan integer yang kurang dari 1000 menjadi komponen-komponennya. contohnya sebagai berikut:

127 = 1 ratusan + 2 puluhan + 7 satuan

Algoritma memisahkan bilangan integer
{memisahkan bilangan integer ratusan, puluhan dan satuan. algoritma menerima inputan suatu nilai x, ratusan, puluhan dan satuan. kemudian menampilkan hasil pemisahan bilangan integer}

Deklarasi :
x : integer (input)
a,b,c : integer (output)

Deskripsi :
read (x)
a : (bil - bil %100)/100;
b : (bil - (bil-bil %100)-c)/10;
c : (bil %100)%10;
write : a,b,c ;

flowchart



C++

Refleksi Minggu Kedua Alpro

Apa yang saya peroleh?

Materi Algoritma dan Pemrograman minggu kedua mengenai sekuen dimana merupakan sederetan pernyataan-pernyataan yang urutan dan pelaksanaan eksekusinya runtut maksudnya adalah yang lebih dulu ditemukan (dibaca) akan dikerjakan(dieksekusi) terlebih dahulu. Oleh karena itu, bila urutan pernyataanya terbalik maka akan memiliki makna yang berbeda. Selain itu juga mahasiswa diarahkan untuk mengaplikasikan algoritma ke dalam sebuah flowchart dan C++ dengan menggunakan class.

Apa yang kurang saya pahami?

Penggunaan class dalam C++ serta membuat flowchart yang panjang dan rumit.

Apa usaha saya untuk menatasi ketidakmampuan saya?

Tentu dengan cara berlatih terus-menerus sehingga terbiasa. Dan Alhamdulillah setelah mendapat penjelasan dari asisten praktikum, saya sudah sedikitnya mengerti tentang class dalam C++

Refleksi Pertemuan Pertama Alpro

Jumat, 28 Februari 2014 menjadi awal dimana para mahasiswa mulai mengenal Algoritma dan Pemrograman. Diawali dengan pengenalan dosen pengampu serta pengenalan materi dan diselingi dengan berbagai motivasi dari dosen untuk mahasiswa guna meningkatkan semangat belajar mahasiswa. Beliau juga mulai mengarahkan mahasiswa untuk membuat kelompok belajar dan membuat blog yang nantinya menampung berbagai materi Algoritma dan Pemrograman.

Jumat, 14 Maret 2014

Menghias Blog

Script hamster
<object type="application/x-shockwave-flash" style="outline:none;" data="http://hosting.gmodules.com/ig/gadgets/file/112581010116074801021/hamster.swf?" width="300" height="225"><param name="movie" value="http://hosting.gmodules.com/ig/gadgets/file/112581010116074801021/hamster.swf?" /><param name="AllowScriptAccess" value="always" /><param name="wmode" value="opaque" /></object>

Burung Twitter
<!-- floating twitter Bird -->
<script type="text/javascript" src="http://p4r46h-blog.googlecode.com/files/twitterfloat.js"></script>
<script type="text/javascript">
var birdSprite="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicmDadqMewBlsMfTPikWatYxcSgdMkM440VbIzCKmnsIDZr1Y9sxs4HZBBOlRS0ju-xxDwODVgQyywOCqj7Mhz4XNtZcnByLzEAydqEZx3p7tTTzdHj1ttZtH8qbQi-ef6cdJiTaxNGa37/s1600/green.png"; var targetElems=new Array("img","hr","table","td","div","input","textarea","button",
"select","ul","ol","li","h1","h2","h3","h4","p","code","object","a","b","strong","span"); var twitterAccount = "http://twitter.com/#!/uziha_kimfa";var tweetThisText = "Twitter - http://twitter.com/#!/uziha_kimfa http://javacreativity.com/";tripleflapInit();
</script>
Kursor
<style type="text/css">
body{cursor: url("http://www.gifs.net/Animation11/Animals/Dolphins_and_Whales/Cute_dolphin_2.gif"), auto;}
</style>
    <script src='http://sites.google.com/site/amatullah83/js-indahnyaberbagi/bintang.biru.js' type="text/javascript"></script>


Kamis, 13 Maret 2014

Algoritma dan Pemrograman Menghitung Determinan Matrik Berordo 2x2

Deklarasi:

  • A,B,C,D : integer (input)
  • hasil : integer (output)
Deskripsi:
  • read(A,B,C,D)
  • hasil <--((A*D)-(B*C))
  • write hasil


Flowchart

Programnya:

#include <iostream.h>
#include <conio.h>
int main()
{
int a, b, c, d, determinan;
cout<<"masukan nilai a:";
cin>>a;
cout<<"masukan nilai b:";
cin>>b;
cout<<"masukan nilai c:";
cin>>c;
cout<<"masukan nilai d:";
cin>>d;

determinan=a*d-b*c;
cout<<"determinan:"<<determinan<<endl;
getch ();
return 0;
}

Algoritma dan Pemrograman Menghitung Jarak Antar Dua Titik

ALGORITMA DAN PROGRAM MENCARI JARAK 2 TITIK


1.      Analisis
Mencari jarak dua titik pada sebuah koordinat yang inputannya x1, x2, y1, y2
2.      Identifikasi
Input : koordinat A(x1,y1) dan B(x2,y2)
Output : jarak
3.      Algoritma

Deklarasi :
x1,x2,y1,y2,a,b  : int
jarak                 : float

Deskripsi :
Baca x1;
Baca x2;
Baca y1;
Baca y2;
jarak=(sqrt(((x2-x1)*(x2-x1))+((y2-y1)*(y2-y1))));
End (Tulis jarak)


4. Flowchart


5.     Program
 #include<cstdlib>


#include<iostream.h>


#include <conio.h>


#include<math.h>


using namespace std;


class jarak{


public:


void dua_titik();


float jarak_2titik();


private:


int  x1,x2,y1,y2,a,b;


float jarak;


};


void jarak::dua_titik(){


cout<<"menghitung jarak dua titik sebuah koordinat"<<endl;


cout<<"masukkan x1 : ";


cin>>x1;


cout<<"masukkan y1 : ";


cin>>y1;


cout<<"masukkan x2 : ";


cin>>x2;


cout<<"masukkan y2 : ";


cin>>y2;


}


float jarak::jarak_2titik(){


jarak=(sqrt(((x2-x1)*(x2-x1))+((y2-y1)*(y2-y1))));


cout<<"jadi jaraknya adalah: "<<jarak;


}


int main(int argc, char *argv[])


{


jarak X;


X.dua_titik();


X.jarak_2titik();

getch();


return 0;


}