WORKSHOP MINGGU KE-3

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




NO 2
Buatlah algoritma untuk mencari isi bola bila diketahui jari-jari bola.(isi bola : 4/3*phi*r*r)
Algoritma :

  • user diminta meginputkan jari jari
  • lalu akan di proses sesuai rumus yang ada di raptor
  • hasil akan sesuai dengan rumus yang diminta di soal
  • lalu generate ke C++
  • edit agar bisa d compile
  • edit ke class
  • lalu compile
  • dan proses akan sama seperti di raptor
Flowchart:

 
C++:

 
NO 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 :sqrt((a*a)+(b*b))

Algoritma:
  • user diminta memasukkan alas dan tinggi
  • lalu akan diproses sesuai dengan di raptor
  • dan hasil akan sama dengan rumus yang diminta soal
  • lalu generate ke C++
  • edit agar bisa d compile
  • edit ke class
  • lalu compile
  • dan proses akan sama seperti di raptor
Flowchart:


C++:


 
 NO 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.
  • di raptornya  memakai sub yaitu dengan intermediate.
  • user diminta memasukkan jumlah detik yang akan di konversi
  • lalu akan di proses sesuai dengan rumus
  • disini saya memakai 2 rumus yaitu dengan tanpa sisa atau dengan sisa yang berperan sebagai penympan sementara
  • rumus yang tanpa sisa yaitu saat konversi hasil keluar satu satu 
  • contoh : jumlah detik = 3600 hasil= 1 jam 60 menit 3600 detik
  • rumus yang dengan sisa yaitu langsung di konversi dengan sistem modulus atau sisa contoh:jumlah detik: 3600 hasil = 1 jam 0 menit 0 detik
  •  setelah itu generate ke C++ dan menggukan clas
  • cara kerja sama dengan yang di raptor
Flowchart:
  
C++:

NO 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.
   Algoritma :
1.Masukan Jam
2.MasukkanMenit
3. Masukkan Detik
4. dan Rumus (Jam*3600)(menit*60)(detik)
5. Selesai dan akan menampilkan output dengan format Detik Keseluruhan.
   Flowchart:


C++

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


Algoritma:

  • user diminta memasukkan waktu ke satu dan kedua yang berisikan jam , menit, dan detik
  • lalu akan diproses sesuai dengan di raptor dan hasil akan sama dengan rumus yang diminta soal
  • lalu generate ke C++
  • edit agar bisa d compile
  • edit ke class
  • lalu compile dan proses akan sama seperti di raptor
Fowchart:


C++ :




  
NO 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.
Masalah : menghitung sejumlah uang menjadi pecahan-pecahannya
Algortima :
menghitung uang menjadi pecahan{memasukkan nominal uang, algoritma menerima masukkan, menghitung sesuai dengan rumus yang ada, lalu menampilkannya}
Deklarasi :
uang, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22 = Integer (input dan output)
Deskripsi
read(uang)
p1<-uang/100000
p2<-uang%100000
p3<-p2/50000
p4<-p2%50000
p5<-p4/20000
p6<-p4%20000
p7<-p6/10000
p8<-p6%10000
p9<-p8/5000
p10<-p8%5000
p11<-p10/1000
p12<-p10%1000
p13<-p12/500
p14<-p12%500
p15<-p14/200
p16<-p14%200
p17<-p16/100
p18<-p16%100
p19<-p18/50
p20<-p18%50
p21<-p20/25
p22<-p20%25
write(p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22)
C++ :
77
7


NO 8

[Pengamatan] Buatlah analisis dan algoritma untuk menghitung luas sebuah plat CD.
Diameter lingkaran luar = …. cm.
Diameter lingkaran dalam = …. cm.
Masalah : Menghitung sebuah luas plat cd
Rumus : (3.14*(r1*r1))-(3.14*(r2*r2))
Algoritma menghitung sebuah luas plat cd
{memasukkan nilai diameter lingkaran dalam dan memasukkan nilai diameter lingkaran luar, algoritma menerima nilai tersebut, mengitung dengan rumus yang ada, lalu menampilkannya}
Deklarasi
r1, r2, l1, l2, hasil : floating (output)
d1, d2 : integer (input)
Deskripsi
read(d1,d2)
r1<-d1/2
r2<-d2/2
l1<-3.14*(r1*r1)
l2<-3.14*(r2*r2)
hasil<-l1-l2
c++ :
8
 
NO 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.
Masalah :
Menghitung operasi bilangan rasional:penjumlahan, pengurangan, perkalian, pembagian
rumus :    -k=b1*b2
-l=a1*b2
-j=a2*b1
-jum1=l+j
-kur1=l-j
-bagi1=a1*b2
-bagi11=b1*a2
-kali1=a1*a2
-kali11=b1*b2
Algoritma :
mengitung operasi bilangan rasional
{memasukkan bilangan rasional pertama dan kedua, algoritma menerima masukkan, menghitung menggunakan rumus yang ada, lalu menampilkan hasilnya}
Deklarasi:
a1, b1, a2, b2, k, l, j, jum1, kur1, bagi1, bagi11, kali1, kali11 : integer(input dan output)
Deskripsi :
read(a1,b1,a2,b2)
k<-b1*b2
l<-a1*b2
j<-a2*b1
jum1<-l+j
kur1<-l-j
bagi1<-a1*b2
bagi11<-b1*a2
kali1<-a1*a2
kali11<-b1*b2
write(jum1,kur1,bagi1,bagi11,kali1,kali11)
C++ :
9 9999
Flowchart :
999 9999



NO 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.
 Algoritma:
  1. user diminta memasukkan 4 bilangan biner
  2. memakai percabangan.
  3. contoh if = 1000,1001,1010,1011,1100,1101,1110,1111 maka akan keluar 8-15
  4. yang selain dari angka biner itu akan eror
  5. lalu generate ke C++
  6. edit agar bisa d compile
  7. edit ke class
  8. compile
  9. proses akan sama seperti di raptor
C++ :
c10

Flowchart :
r10


NO 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.
Algoritma:
  1. user diminta memasukkan angka scientific
  2. program menggunakan percabangan yang mana jika a tidak lebih dari 9 dan b tidak lebih dari 4 (dari soal) dan jika lebih dari angka  itu akan error
  3. lalu generate ke C++
  4. edit agar bisa d compile
  5. edit ke class lalu compile dan proses akan sama seperti di raptor
c++ :
c11

Flowchart :
r11






NO 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.
(hasil3 =hasil2*360+hasil1*30+hasil)
Algoritma:
  • user diminta memasukkan 2 tanggal yang berisikan tahun, bulan , dan tanggal
  • diproses sesuai dengan di raptor
  • hasil akan sama dengan rumus yang diminta soa
  • generate ke C++
  • edit agar bisa d compile
  • edit ke class
  • compile
  • proses akan sama seperti di rapto
Flowchart:
 
C++ :





Komentar