Rabu, 06 April 2016

Bab 3 : Sekuen

Diktat (Workshop Pemrograman)

1. Buatlah analisis dan algoritma untuk mencari titik tengah sebuah garis yang ujung titiknya adalah :       A(x1,y1) dan B(x2,y2).

Tulis rumus jarak 2 titik :
    A=((X1+Y1)/2);
    B=((X2+Y2)/2);

Formulasikan algoritmanya :
Deklarasi:

            int A,B,X1,X2,Y1,Y2;
           
Deskripsi:
            Baca (X1,X2.Y1,Y2)
            A=((X1+Y1)/2);
            B=((X2+Y2)/2);
            Write (V)

Inilah Programnya : 



Inilah Outputnya : 
2. Buatlah algoritma untuk mencari isi bola bila diketahui jari-jari bola.
Input : r.phi
Rumus isi bola :
     V=4/3*phi*r*r*r;
Algoritma :

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)
 
 
Inilah Programnya :

Inilah Outputnya :

3. Buatlah analisis dan algoritma untuk mencari hipotenusa dari segitiga Pythagoras bila
diketahui sisi siku-sikunya. (Petunjuk : gunakan fungsi sqrt yang menyatakan akar
dari).
  
Tulis rumusnya lebih dulu : A2+B2 = C2

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)
 
Inilah Programnya :

Inilah Outputnya :

4. Buatlah analisis dan algoritma untuk menghitung konversi detik menjadi format
jam:menit:detik
Buat contoh kasus, misalnya konversikan 1230 detik menjadi … jam … menit … detik.

Rumuskan algoritmanya :
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).

Inilah Programnya :

Inilah Outputnya : 

5. Buatlah analisis dan algoritma untuk menghitung konversi dari jam:menit:detik ke detik
Buat contoh kasus, misalnya konversikan 2 jam 13 menit 43 detik menjadi … detik.
Rumus yang diperlukan : 
                                  j=jam*3600;
                                 m=menit*60;
Rumuskan algoritmanya :

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) 

Inilah Programnya :


Inilah Outputnya : 


6. Buatlah analisis dan algoritma untuk menghitung selisih 2 waktu. Output ditampilkan
dalam bentuk jam:menit:detik. Asumsikan menggunakan sistem jam 24-an.
Buat contoh kasus, misalnya berapa selisih waktu antara jam 3.45 sore dengan jam 10.23
malam. Selesaikan secara manual lebih dulu.
Rumus yang digunakan, tulis di sini.
Rumuskan algoritmanya :

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)

Inilah Programnya : 




 Inilah Outputnya :

7. Buatlah analisis dan algoritma untuk menghitung jumlah komponen sejumlah uang
menjadi pecahan-pecahannya. Misalkan Rp 188.875,- menjadi : 1 seratus ribuan, 1 lima
puluh ribuan, 1 dua puluh ribuan, 1 puluhan ribu, 1 lima ribuan, 3 ribuan, 1 lima ratusan,
1 dua ratusan, 1 ratusan, 1 lima puluhan, 1 dua puluh limaan
Rumus yang digunakan :
Rumuskan algoritmanya :

Inilah Programnya : 

Inilah Outputnya :

8. [Pengamatan] Buatlah analisis dan algoritma untuk menghitung luas sebuah plat CD.
Diameter lingkaran luar = …. cm.
Diameter lingkaran dalam = …. cm.
Rumus luas plat CD :
            rumusD=phi*dalam*dalam;
            rumusL=phi*luar*luar;

            luasCD=rumusL-rumusD;
 
Buat algoritmanya :

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

Inilah Programnya : 


Inilah Outputnya :

 
9. Buatlah analisis dan algoritma untuk menghitung operasi bilangan rasional :
penjumlahan, pengurangan, perkalian, pembagian dan kebalikan.
Buat contoh kasus, misalnya dua bilangan rasional 2/3 dan 4/7.
Hasil penjumlahan manual =
Hasil pengurangan manual =
Hasil perkalian manual =
Hasil pembagian manual =
Hasil kebalikan manual =
Rumus yang digunakan, tulis di sini :
                 bagi1=a/b;
                 bagi2=p/q;

Inilah Programnya : 




Inilah Outputnya :
 

 
10. Buatlah analisis dan algoritma untuk mengkonversi bilangan biner 4 digit menjadi
bilangan desimal. Operator overloading input mencegah user untuk memasukkan
bilangan selain 0 dan 1. Deklarasi variabel input dan output adalah bertipe integer.
Konversikan 1011 ke desimal :
Buat algoritmanya :

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


Inilah Programnya : 




Inilah Outputnya :
 
11. Buatlah analisis dan algoritma untuk menjumlah dua bilangan scientific berbentuk aEb
dengan 0 < a < 10 dan 0 <= b <= 4.
Hitung 2.1E2 + 3.31E1 = secara manual lebih dulu.
Buat algoritmanya :

Inilah Programnya : 

Inilah Outputnya :

12. Buatlah analisis dan algoritma untuk menghitung jumlah dari dari dua tanggal yang
dimasukkan user. Misalnya, berapa hari dari 6/1/90 sampai 8/3/92 ? Anggap satu tahun
365 hari dan anggap semua komponen tanggal pertama SELALU LEBIH KECIL dari
komponen tanggal kedua.
Hitung secara manual kasus dalam soal.
Rumus yang digunakan, tulis di sini :
Buat algoritmanya :

Inilah Programnya : 

Inilah Outputnya :




Tidak ada komentar:

Posting Komentar