Sabtu, 09 April 2016

diktat bab 3 (algoritma-Nya)



Algoritma dan Analisis.

2 .Algoritma menghitung isi atau volume bola.
{membaca data real berupa jari-jari bola (r), dan menghitung isi atau volumenya dengan jari-jari tertentu. Volume bola dihiutng dengan rumus V=4πr3. Nilai V dicetak sebagai output ke peranti keluaran.}
Deklarasi:
                Phi          : float                    {nilai 3,14, satuan cm}
                R             : float                    {jari-jari bola, satuan cm}
                V             : float                    {volume bola, satuan cm3}
Deskripsi:
                Baca (phi)
                Baca (r)
                Vß4*phi*r*r*r
                Write (V)


3. Analisis dan Algoritma mengitung hipotesa.
Analisis:
                Kasus hipotenusa: H=sqrt(A*A+B*B)
Algoritma:
{membaca panjang sisi depan (A) dan alas segitiga (B), dan menghitung hipotenusa dengan panjang sisi depan dan sisi alas tertentu. Hipotenusa dihitung dengan rumus H=sqrt(A*A+B*B). nilai H dicetak sebagai output}



Deklarasi:
A = integer          (input)
B = integer          (input)
H= float                                (output)
Deskripsi:
Read (A)
Read (B)
Hßsqrt(A*A+B*B)
Write (H)



4. Algoritma dan Analisis mengitung waktu
Analisis:
  Kasus jam : detik/3600
  Kasus modulus: - sisa = jam%3600
                                              Sisa 2 =menit%60
          Kasus menit : sisa/60
          Kasus detik: detik=sisa 2
Algoritma:
{membaca jumlah detik (detik), dan menghitung jam=detik/3600, menit/60. Nilai jam, menit     dan detik sebagai berikut}
Deklarasi:
              Detik     :               integer
              Jam        :               integer
              Menit    :               integer
              Sisa        :               integer
              Sisa 2     :               integer
Deskripsi:
              Baca (detik)
              Jamßjam/3600
              Menitßmenit/60
              Write (jam,menit,sisa).


5. Algoritma dan Analisis mengitung waktu 2
Analisis:
Kasus: j =jam*3600
m=menit*60
Algoritma:
{membaca jumlah jam(jam), menit (menit), detik (detik) dan menghitung dengan rumus  h=j+m+detik}
Deklarasi:
                Jam                        (integer)
                Menit                    (integer)
                Detik                     (integer)
Deskripsi:
                Baca (jam)
             Baca (menit)
                Detik (detik)
                Hasil ßj+m+detik
                Write (hasil)
6. Algoritma dan Analisis menghitung selisish waktu.
Analisis:
·   Kasus selisih detik:
If((detik.detik-detik.detik)<0){
det.detik = (60+detik.detik)-detik.detik;
men.menit*60-60;} else{det.detik=detik.detik-deti.detik;}
·   kasus selisih menit:
if((menit.menit-meni.menit)<0){
men.menit=(60+meni.menit)-menit.menit;
j.jam*60-60;} else { men.menit=menit.menit-meni.menit;}
·   kasus selisih jam:
j.jam=jam.jam-ja.jam;
Algoritma:
{membaca nilai waktu pertama [jam(jam.jam), menit(menit),detik(detik)], nilai waktu kedua [jam(ja.jam),menit(meni,menit), detik(deti.detik)]. Menghitung selisih dengan mengurangkan waktu perjam dengan waktu kedua}
Deklarasi:
//function
   Struct satu ();
   Struct dua ();
   Struct selisih ();
//didalam struct berisi:
               jam        (integer)
               jenit       (integer)
               detik      (integer)

//main ()
    Jam, menit, detik (satu)
    Ja, meni, deti (dua)
    J, men, det (selisih)
Deskripsi:
//waktu pertama
   Baca jam.jam (integer)
   Baca menit.menit (integer)
   Baca detik.detik (integer)
//waktu kedua
   Baca ja.jam (integer)
   Baca meni.menit (integer)
   Baca detik.detik (integer)
   Write (j.jam, men.menit, det.detik)

8. Analisis:
Kasus rumusD:
Phi*dalam*dalam.
Kasus rumusL:
Phi*luar*luar.
Kasus luasCD:
          rumusL-rumusD.

Algoritma:
{membaca jari-jari dalam(dalam) dan jari-jari(luar). Menghitung luasCD dengan rumus rumusL-rumusD)
Deklarasi:
Dalam             (integer).
Luar                 (integer).
rumusD          (integer).
rumusL           (integer).
luasCD            (integer).
Phi                   (float, nilai 3.14).
Deskripsi:
Baca (dalam).
Baca (luar).
luasCD ß rumusL-rumusD.
Write (luasCD).








10. Analisis:
Kasus biner 4 digit:
Switch(biner){
Case 1000
Case 1001
Case 1010
Case 1011
Case 1100
Case 1101
Case 1110
Case 1111
Algoritma:
{membaca nilai biner (biner), mencari nilai desimal dengan menggunakan switch)
Deklarasi:
Biner (integer).
Deskripsi:
Baca (biner).
Switch (biner).
Write (case 1000, case 1001, case 1010, case 1011, case 1100, case 1101, case 1110, case 1111).


               
               

Tidak ada komentar:

Posting Komentar