Thursday, March 16, 2017

WORKSHOP PEMOGRAMAN #3

2. Buatlah algoritma untuk mencari isi bola bila diketahui jari-jari bola.
    Input :
    Rumus isi bola :
    Algoritma :



Analisis :
Untuk mencari isi bola saya menggunakan RUMUS = 4/3*phi*r*r*r dimana :  r = jari-jari dan phi = 3,14
Algoritma mencari isi bola
{mencari isi bola, algoritma menerima 1 masukan berupa jari-jari, masukan kedalam RUMUS = 4/3*phi*r*r*r, lalu mencetak hasilnya }
Deklarasi
               
r : integer {input}
                hasil : float {output}
Deskripsi
               
read (r)
                hasil ß 4/3*phi*r*r*r
                write (hasil)



FLOWCHART


C++


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 : 
   

Analisis :
Untuk mencari hipotenusa dari segitiga Pythagoras saya menggunakan RUMUS = sqrt((a*a)+(b*b) dimana :  a=panjang sisi depan dan b=panjang alas segitiga.
Algoritma mencari hipotenusa
{mencari hipotenusa dari segitiga Pythagoras, algoritma menerima 2 masukan panjang sisi depan dan panjang alas segitiga, masukan kedalam RUMUS = sqrt((a*a)+(b*b), lalu mencetak hasilnya }
Deklarasi
               
a, b : integer {input}
                hasil : float {output}
Deskripsi
               
read (a, b)
                hasil ß sqrt((a*a)+(b*b)
                write (hasil)


FLOWCHART


C++ 





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 :
Untuk mengkonversi detik menjadi format jam:menit:detik saya disini mengunakan percabangan untuk membedakan outputan dan juga ada tambahan looping sebnyak 3kali
Algoritma mengkonversi detik menjadi format jam:menit:detik
{konversi detik menjadi format jam:menit:detik, algoritma menerima 1 masukan berupa bilangan integer untuk menentukan detik, konversi detik menjadi jam , konversi detik menjadi menit, konversi detik menjadi detik, lalu mencetak hasilnya }
Deklarasi
             
detik : integer {input}
              konversi_jam : integer{output}
              konversi_menit : integer{output}
              konversi_detik : integer{output}
Deskripsi
              
loop
 
              read (detik)
               selection
               write(konversi jam, konversi menit, konversi detik )


FLOWCHART




C++






5. Buatlah analisis dan algoritma untuk menghitung konversi dari jam:menit:detik ke detik. 
    Buat contoh kasus, misalnya konversikan 2jam 13menit 43detik menjadi . . . . . detik.
    Rumus yang diperlukan : 
    
    Rumuskan Algoritmanya :
  
Analisis :
Untuk menghitung konversi dari jam:menit:detik ke detik cara yang tepat adalah dengan cara mengkalikan satuan jam dengan 3600 dan satuan menit dikalikan dengan 60, lalu jam ditambah menit dan di tambah detik.
Algoritma menghitung  konversi dari jam:menit:detik.
{mengkonversi dari jam:menit:detik ke detik, algoritma menerima 3 masukan jam, menit, detik, mengkalikan jam dengan 3600 dan mengkalikan menit dengan 60, lalu mencetak hasil konversinya}
Deklarasi
               
jam, menit, detik : integer {input}
                konversi_jam, konversi_menit : integer {proses}
                konversi : innteger {output}
Deskripsi
               
read (jam, menit, detik)
                konversi_jam ß jam*3600
                konversi_jam ß menit*60
                konversi ß konversi_jam+konversi_menit
                write (konversi)


  FLOWCHART


C++



OUTPUT

 

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 digunnkan, tulis disini :


   Rumuskan algoritmanya :


Analisis :
Untuk menghitung selisih 2 waktu yang mengunakan sistem 24jam yang saya lakukan adalah inputan waktu yang lebih besar di kurangiinputan yang lebih kecil untuk menghindari terjadinya hasil yang mines (-)
Algoritma menghitung selisih 2 waktu yang menggunakan sistem 24jam
{hitung selisih 2 waktu yang menggunakan sistem 24jam, algoritma menerima 4 masukan jam awal, menit awal, jam akhir, dan menit akhir, masuk kedlam percabangan dulu untuk menentukan input yang lebih besar dan input yang lebih kecil, cari selisih jam dengan cara, inputan yang lebih besar di kurangi inputan yang lebih kecil, lakukan hal yang sama untuk mencari selisih menit, lalu mencetak hasilnya }
Deklarasi
               
jam_awal, menit_awal, jam_akhir, menit_akhir : integer {input}
              selisih_jam, selisih_menit : integer{output}
Deskripsi
 
              read (jam_awal, menit_awal, jam_akhir, menit_akhir)
                selection
                write(selisih_jam, selisih_menit )


FLOWCHART




C++




 

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.

Algoritma menghitung jumlah uang menjadi pecahan-pecahan.
{algoritma menerima masukan berupa jumlah uang yang akan di ubah menjadi pecahan-pecahan,terus masukan kedlam rumus yang sudah di buat di dalam program,hitung, lalu mencetak hasilnya }
Deklarasi
               
jumlah_uang : int {input}
                p100,p50,p20,p10,p5,p1,p_500,p_200,p_100,p_50,p_25 : int {output}
Deskripsi
               
read (jumlah_uang)
                write (p100,p50,p20,p10,p5,p1,p_500,p_200,p_100,p_50,p_25)

FLOWCHART





C++






8.[Pengamatan] Buatlah analisis dan algoritma untuk menghitung luas sebuah plat CD.
   Diameter lingkaran luar = ..... cm
   Diameter lingkarang dalam = ..... cm
   Rumus luas plat CD :


   Buat algoritmanya : 

Analisis :
Untuk menghitung luas plat CD cara yang tepat adalah dengan cara, luas plat CD luar dikurangi luas plat CD dalam. Karena yang diketahui adalah diameter jadi diameter di bagi 2 dulu, lalu masukan ke dalam rumus lingkaran.
Rumus luas plat CD :
                plat CD dalam – plat CD luar

Algoritma menghitung  luas plat CD.
{menghitung luas plat CD, algoritma menerima 2 masukan diameter dalam dan luar, diameter dalam dan luar dibagi 2, masukan kedalam rumus luas lingkaran, luas plat CD luar dikurangi luas plat CD dalam, lalu mencetak hasilnya }
Deklarasi
               
diameter_luar, diameter_dalam : float {input}
                phi, platCD_luar, platCD_dalam : float {proses}
                hasil : float {output}
Deskripsi
               
read (diameter_luar, diameter_dalam)
                platCD_luar ß (diameter_luar/2)^2*phi
                platCD_dalam ß (diameter_dalam/2)^2*phi
                hasil ß platCD_luar-platCd_dalam
                write (hasil)


FLOWCHART  


C++



OUTPUT

 

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.

Analisis :
Untuk menghitung bilangan rasional : penjumlahan, pengurangan, perkalian, dan pembagian saya hanya menghitung inputan bilangan pecahan itu dengan menambahkan pecahan pertama dengan pecahan kedua untuk operasi penjumlahan dan lakukan hal yang sama pada operasi yang lain (kurang, kali, dan bagi)
Algoritma menghitung bilangan rasional : penjumlahan, pengurangan, perkalian, dan pembagian
{ hitung bilangan rasional : penjumlahan, pengurangan, perkalian, dan pembagian, algoritma menerima 4 masukan pembilang pertama, penyebut pertama, pembilang kedua dan penyebut kedua, gabungkan pembilang pertama dengan penyebut pertama agar jadi bilangan pecahan dan lakukan hal yang sma pada inputan yang kedua, hitunng bilangan pecahan pertama dan pecahan kedua dengan operasi yang sudah di tentukan, lalu mencetak hasilnya }
Deklarasi
             
pembilang1, penyebut1, pembilang2, penyebut2 : integer {input}
              penjumlahan, pengurangan, perkalian, pembagian : float {output}
Deskripsi
 
              read (pembilang1, penyebut1, pembilang2, penyebut2)
                write(penjumlahan, pengurangan, perkalian, pembagian )


FLOWCHART



C++ 





10.Buatlah analisis dan algoritma untuk mengkonversikan bilangan biner 4 digit menjadi bilangan desimal. Operator overloading input mencegah user untuk memasukan bilangan selain 0 dan 1. Deklarasi variable input dan output adalah bertipe integer.
   Konversikan 1101 ke desimal :

   Buat algoritmanya :

Analisis :
Untuk mengkonversi bilangan biner 4 digit menjadi bilangan desimal saya menggunakan percabangan.
Algoritma mengkonversi bilangan biner ke desimal
{konversi biner ke desimal, algoritma menerima 1 masukan berupa bilangan biner 4 digit, masuk kedalam percabangan, lalu mencetak hasilnya }
Deklarasi
               
bin : integer {input}
Deskripsi
               
read (bin)
                selection
                write


FLOWCHART



C++





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.
(confuse)
 
 
 
  12.Buatlah analisis dan algoritma untuk menghitung jumlah hari dari dua tanggal yang dimasukan user.Misalnya, berapa hari dari 6/1/90 sampai 8/3/92? Anggap satu tahun 365hari dan anggap semua komponen tanggal pertama SELALU LEBIH KECIL dari komponen tanggal kedua.

Analisis :
Untuk menghitung jumlah dari dua tanggal yang dimasukan user dan anggap 1 tahun = 365hari
Algoritma menerima 6 masukan berupa tanggal pertama,bulan pertama,tahun pertama,tanggal kedua,bulan kedua,dan tahun kedua, cari selisih tanggal, cari selisih bulan dan dikali 30, cari selisih tahun dan dikali 365, hasil itu semua di jumlahkan,lalu mencetak hasilnya }
Deklarasi
             
tgl1,bln1,thn1, tgl2,bln2,thn2 : integer {input}
              hari : float {output}
Deskripsi
 
              read (tgl1,bln1,thn1, tgl2,bln2,thn2)
                write(hari )


FLOWCHART


C++



No comments:

Post a Comment