Minggu, 30 Maret 2014

Tugas Minggu ke-6 (A)

C++ dari tugas Minggu ke-6 yang A


Naik Menggunakan WHILE


Naik Menggunakan FOR


Naik menggunakan Do... While...



Tugas Minggu ke-6


Tugas minggu ke 6 (A)

A. Buatlah algoritma mencetak bilangan dari 1 sampai 9 secara (menggunakan kertas - difoto)
01. naik
02. turun
menggunakan :
01. perulangan for to .. (for downto ...)
02. perulangan while
03. perulangan repeat until
Algoritmanya:
1a. Naik menggunakan perulangan for to...
for i <-- 1 to 9 do
     write(i)
end for
1b. Naik menggunakan perulangan while...
 i <-- 1
while (i<10)
       write(i)
       i <-- i + 1
end while
1c. Naik menggunakan perulangan repeat until...
i <--1 
repeat
         write(i)
         i <-- i + 1
until(i>9)

2a. Turun menggunakan perulangan for to...
for i <-- 9 to 0 do
     write(i)
end for
2b. Turun menggunakan perulangan while...
 i <-- 9
while (i<0)
       write(i)
       i <-- i - 1
end while
2c. Turun menggunakan perulangan repeat until...
i <--9 
repeat
         write(i)
         i <-- i - 1
until(i>0)




Tugas Minggu ke 6

Rabu, 26 Maret 2014

Refleksi ALPRO Minggu ke-5

yk, 24 maret 2014

pagi ini masuk jam 7, kami membahas tentang subprogram, iteratif dan rekursif.
yang saya peroleh dari pertemuan tersebut, penulisan tentang iteratif dan rekursifnya.

yang belum saya mengerti, pengimplementasian dari rekursif itu sendiri.

yang saya lakukan agar dapat mengerti itu semua, searching di google, tentang rekursif.
sekian, dan terimakasii ^ ^

Sabtu, 22 Maret 2014

Tugas Kelompok pertemuan ke-4 Simulasi Bensin



·         Masalah: Buat simulasi membeli bahan bakar dengan spesifikasi : uang/berapa liter yang akan dibeli, jenis bahan bakar yang akan dibeli.
·         Analisis:
Input     : Uang/berapa liter yang akan dibeli (x), jenis bahan bakar yang akan dibeli (y), semua adalah integer.
Proses  : Indikator akan berlangsung terus (kenaikkan 0.1liter) selama total harga/jumlah liter bahan bakar yang dibeli belum melebihi permintaan.
Output : Jumlah liter yang dibeli (bila input berupa uang)
Total uang yang harus dibayar (bila input berupa liter)
·         Algoritma:
{Menerima masukan, memilih inputan uang atau literan, melilih jemis bahan bakarnya, lalu diproses dan di cetak harganya ketika inputan berupa liter dan banyaknya literan ketika inputan berupa uang}
·         Deklarasi:
x, y         : integer
harga     : integer
jumlah  : real
·         Deskripsi:
read(x, y,a)
harga <-- 0
jumlah<--0
for i<--0 to a do
jumlah<--((1/(jenis bahan bakar))*i)
harga<--((jenis bahan bakar)*i)
endfor
write(jumlah(liter),harga(rupiah))
·         C++
using namespace std;
class bensin{
      private:
               int i;
               int x;
               int y;
               int harga;
               float a;
               float jumlah;
      public:
             bensin();
             void proses();
             };
bensin::bensin(){
                 cout<<"Menghitung bensin\n\n";
                 }
void bensin::proses(){
     cout<<"Meterannya: \n 1. uang \n 2. Literan"<<endl;
    cout<<"pilihan: ";
    cin>>x;
    if(x==1){
    cout<<"Banyaknya Uang: ";
    cin>>a;
    cout<<"Bahan bakar:\n1. Premium\n2. Solar\n3. Biosolar\n4. Pertamax"<<endl;
    cout<<"Pilihan: ";
    cin>>y;
    switch (y)
    {
           case 1:
                {
                for(i=100;i<a;i++)
                {jumlah=(0.0001538*i);
                }
                cout<<jumlah<<" Liter"<<endl;
                }
                break;
           case 2:
                {
                for(i=100;i<a;i++)
                {jumlah=(0.0001818*i);
                }
                cout<<jumlah<<" Liter"<<endl;
                }
                break;
           case 3:
                {
                for(i=100;i<a;i++)
                {jumlah=(0.0001818*i);
                }
                cout<<jumlah<<" Liter"<<endl;
                }
                break;
           case 4:
                {
                for(i=100;i<a;i++)
                {jumlah=(0.0000844*i);
                }
                cout<<jumlah<<" Liter"<<endl;
                }
                break;
           default:
                   { cout<<"Pilihan anda tidak ada";}
                   break;
};                       
                   }
    else
    {
         cout<<"Banyaknya Literan: ";
    cin>>a;
    cout<<"Bahan bakar:\n1. Premium\n2. Solar\n3. Biosolar\n4. Pertamax"<<endl;
    cout<<"Pilihan: ";
    cin>>y;
    switch (y)
    {
           case 1:
                {
                for(i=0;i<a;i++)
                {harga=(6500*i);
                }
                cout<<harga<<" Rupiah"<<endl;
                }
                break;
           case 2:
                {
                for(i=0;i<a;i++)
                {harga=(5500*i);
                }
                cout<<harga<<" Rupiah"<<endl;
                }
                break;
           case 3:
                {
                for(i=0;i<a;i++)
                {harga=(5500*i);
                }
                cout<<harga<<" Rupiah"<<endl;
                }
                break;
           case 4:
                {
                for(i=0;i<a;i++)
                {harga=(11850*i);
                }
                cout<<harga<<" Rupiah"<<endl;
                }
                break;
           default:
                   { cout<<"Pilihan anda tidak ada";}
}
                   }
                   }
int main(int argc, char *argv[])
{
    bensin murni;
    murni.proses(); 

Hasilnya :




·         Flowchart






Tugas kelompok pert-4 (17 Maret 2014)



Jumat, 21 Maret 2014

Membuat Algoritma untuk mencetak bilangan yang habis di bagi 3 dan 5 antara 1 sampai 100


·         Masalah:
Buatlah algoritma dan program untuk mencetak bilangan yang habis dibagi 3 dan 5 antara 1 sampai dengan 100.
·         Analisis:
Input     : a bilangan integer
Proses  : menghitung angka yang habis dibagi 3 dengan cara i mod 3 = 0 dan angka yang habis dibagi 5 dengan cara i mod 5 = 0
Output : jumlah i yang habis di bagi 3 dan i yang habis di bagi 5
·         Algoritma
{Menerima masukan, menghitung modulo dari 3 dan 5, mencetak hasil}
·         Deklarasi:
i, x          : integer {input}
b3, b5    : integer {output}
·         Deskripsi:
read(a)
b3 <- - 0
b5 <- - 0
i <- - 1
for i>a do
i%3 =0
b3 <- - b3+1
i%5=0
b5 <- - b5+1
i <- - i+1
endfor
write(b3, b5)


·         Flowchart:



Latihan slide 4 (17 Maret 2014)


Kasus 4.7 pangkat negatif

Kasus 4.7 Hitunglah nilai dari x^y dengan x bilangan real dan y bilangan bulat.
·         Masalah:
Menghitung nilai dari x^y bilangan real dan y bilangan bulat dan y berupa bilangan negatif.
·         Analisis:
Input     : x dan y
Proses  : x^y= x . x . x .  x . .... x (sebanyak y kali)
Output : hasil x pangkat y.
·         Algoritma
{diberikan masukan x dan y, dihitung nilai dari x pangkat y}
·         Deklarasi
x, y, i      : integer {input}
pangkat                : integer {output}
·         Deskripsi
read(x,y)
pangkat ß 1
for i ß 1 to y do
                pangkat ß pangkat * x
enfor
write(pangkat)
·         C++
using namespace std;
class negatif{
      private:
              float x;
              float y;
              float i;
              float pangkat;
      public:
             negatif();
             void input();
             void Pangkat();
             };
negatif::negatif(){
                   cout<<"Menghitung pangkat negatif\n\n";
                   }
void negatif::input(){
    
     cout<<"Angka utama ";
     cin>>x;
     cout<<"Pangkatnya ";
     cin>>y;
     }
void negatif::Pangkat(){
     pangkat=1;
   
     for (i=0;i>y;i--){
         pangkat=1/x*(-1*pangkat);
     }
     cout<<"hasilnya "<<pangkat<<endl;
    
     }
    
int main(int argc, char *argv[])
{
    negatif ame;
    ame.input();
    ame.Pangkat();

 hasilnya:


·         Flowchart


Tugas 17 Maret 2014



Kasus 4.3 Carilah rata-rata dari n bilangan positif



Kasus 4.3 Carilah rata-rata dari n bilangan positif

·         Masalah:
Mencari rata-rata dari n bilangan bulat positif.
·         Analisis:
Input     : n adalah integer
Proses  : total jumlah/banyaknya bilangan= rata
Output : cetak (rata)
·         Algoritma
{diberikan n data kemudian dicari rata-ratanya}
·         Deklarasi
i, n, jml, x             : integer
rata-rata              : real
·         Deskripsi
read(n)
jmlß0
for iß1 to n do
read(x)
jmlßjml+x
endfor
rataßjml/n
write(rata)
·         C++
using namespace std;
class rata{
      private:
              int x;
              int y;
              int jumlah;
              float rata2;
      public:
             rata();
             void rataku();
             };
rata::rata(){
             cout<<"mencetak rata2\n\n";
             }
void rata::rataku(){
cout<<"masukkn bnyknya angka ";
cin>>x;

cout<<"masukkan angkanya ";
cin>>y;
for(x=1;x<=y;x++)

jumlah=0;
jumlah=jumlah+y;
rata2=jumlah/x;
cout<<"rata2nya "<<rata2<<endl;
}
int main(int argc, char *argv[])
{
    rata ku;
    ku.rataku();


·         Flowchart


Tugas 17 Maret 2014





Kamis, 20 Maret 2014

Kasus 4.8 semua bilangan positif

Kasus 4.8 Hitunglah axb dengan metode penjumlahan
·         Masalah:
Menghitung axb dengan metode penjumlahan
·         Analisis:
Input     : a dan b adalah bilangan integer
Proses  : axb= a + a+ a + ... + a (sebanyak b kali)
Output : Hasil perkalian a dan b.
·         Algoritma
{Diberi masukan a dan b, dihitung nilai dari a kali b}
·         Deklarasi
a, b, i     : Integer {input}
jumlah  :integer {output}
·         Deskripsi
read(a, b)
jumlah ß 0
for i ß 1 to y do
                jumlah ß jumlah + a
endfor
write(jumlah)
·         C++
using namespace std;
class positif{
      private:
              int a;
              int b;
              int i;
              int jumlah;
      public:
             positif();
             void hasil();
             };
positif::positif(){
                   cout<<"Menghitung a x b dengan penjumlahan\n\n";
                   }
void positif::hasil(){
     cout<<"Masukkan a: ";
     cin>>a;
     cout<<"Masukkan b: ";
     cin>>b;
     jumlah=0;
     for (i=0;i<b;i++){
      jumlah=jumlah+a;
     }
     cout<<"hasil "<<a<<" x "<<b<<" = "<<jumlah<<endl;
     }
int main(int argc, char *argv[])
{
    positif x;
    x.hasil();

hasilnya:



·         Flowchart



Tugas 17 Maret 2014

Kasus 4.8 dengan B adalah bilangan negatif



Kasus 4.8 Hitunglah axb dengan metode penjumlahan
·         Masalah:
Menghitung axb dengan metode penjumlahan dengan b adalah bilangan negatif
·         Analisis:
Input     : a dan b adalah bilangan integer
Proses  : axb= a + a+ a + ... + a (sebanyak b kali)
Output : Hasil perkalian a dan (-b).
·         Algoritma
{Diberi masukan a dan b, dihitung nilai dari a kali b}
·         Deklarasi
a, b, i     : Integer {input}
jumlah  :integer {output}
·         Deskripsi
read(a, b)
jumlah ß 0
for i ß 1 to b do
                jumlah ß jumlah +(-1* a)
endfor
write(jumlah)
·         C++
using namespace std;
class negatif{
      private:
              int a;
              int b;
              int i;
              int jumlah;
      public:
             negatif();
             void hasil();
             };
negatif::negatif(){
                   cout<<"Menghitung a x b dengan penjumlahan\n\n";
                   }
void negatif::hasil(){
     cout<<"Masukkan a: ";
     cin>>a;
     cout<<"Masukkan b: ";
     cin>>b;
     jumlah=0;
     for (i=0;i>b;i--){
      jumlah=jumlah+(-a);
     }
     cout<<"hasil "<<a<<" x ("<<b<<")  = "<<jumlah<<endl;
     }
int main(int argc, char *argv[])
{
    negatif x;
    x.hasil();

hasilnya:

 

·         Flowchart





Tugas 17 Maret 2014