Selasa, 01 April 2014

Refleksi ALPRO Minggu ke-6

Yogyakarta, 31 Maret 2014

Senin ini libur, tapi berhubung libur jadi kuliah ALPRO nya lewat chat online, sayangnya saya ga terdaftar di chat itu, jai ga tau apa2, cuma udah absen. Saat itu jam 5, pas buka fb lewat hp, ternyata ada notif di sharing Alpro, yaitu tugas minggu ke-6. Setelah itu, pindah ol lewat laptop, dan dengan semangatnya aku ngerjain.waktu bahas tentang rekursif, disaat itulah kebingungan di mulai... pertama-tama tanya ke temen2, tapi ga ada yang ngerti sama sekali, lalu tanya ke kakak tingkat, di kasih taunya cuma sekilas sii, dan pada akhirnya,, tanya ke mbah google lagi, hehehehe... (ternyata itu di bahas di grup chat fb... :( ga ada yg add aku).
Yang aku dapat dari kuliah online(?): (otodidak) buat flowchart menggunakan call.
Yang belum aku mengerti adalah, rekursif yang two-half recursion.
Yang aku lakukan karena ketidakmengertianku tanya lagi ke mbah google. :)

sekian dan trimakasii ^ ^

Praktikum Ke-1

- Pretest
Membuat flowchart, mengkonversikan suhu, milih, salah satu dari 4 suhu, lalu outputnya konversi suhu dari yang di pilih ke suhu yang lain. :)



hasilnya:



- Post test nya diminta untuk membuat flowchart luas segitiga, ini flowchart dan hasilnya...



praktikum tanggal 22 mrt 2014



Tugas Minggu Ke-6 (B)

B. Buatlah flowchart menggunakan RAPTOR mencetak bilangan dari 1 sampai 9 secara 
01. naik
02. turun
secara :
01. iteratif
02. rekursif : naik, turun, two half

1a. Naik, secara iteratif



1b. Turun, secara iteratif


2a. Naik, secara rekursif



2b. Turun, secara rekursif



Tugas minggu ke 6, dr grup fb (31 maret 2014)




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