Selasa, 17 April 2012

Fungsi Iteratif dan Rekursif

Perbedaan Fungsi Iteratif dan Fungsi Rekursif :

Bentuk fungsi Iteratif :
#include <cstdlib>
#include <iostream>
using namespace std;
int jumlah(int n) {
int hasil = 0;
for (int i=0; i<n; i=i+2)
hasil = hasil + i;
return hasil;
}
void cetak(int n) {
for (int i=0; i<n; i=i+2)
cout << i << ” “;
}
int main(int argc, char *argv[])
{
int n = 10;
cout << jumlah(n);
cetak(n);
system(“PAUSE”);
return EXIT_SUCCESS;
}
 
Bentuk fungsi rekursif :
#include <cstdlib>
#include <iostream>
using namespace std;
int jumlah(int n) {
if(n==0) return (0);
else return (n-2 + jumlah(n-2));
}
void cetak(int n) {
if(n!=0){
cetak(n-2);
cout << n-2 << ” “;
}
}
int main(int argc, char *argv[])
{
int n = 10;
cout << jumlah(n);
cetak(n);
system(“PAUSE”);
return EXIT_SUCCESS;
}
 

Flow Chart 5.8 dan 5.9

Menghitung nilai dari x pangkat y dengan x bilangan real dan y bilangan bulat :
Flow Chart 5.8



Fungsi perkalian 2 bilangan bulat dengan menggunakan operator penjumlahan :
Flow Chart 5.9

Flow Chart 5.6 dan 5.7

Mencari nilai dari n! (n faktorial):
Flow Chart 5.6



Membuat fungsi untuk menghasilkan nilai x pangkat y :
Flow Chart 5.7

 

Flow Chart 5.4 dan 5.5

Menghitung nilai rata-rata dari bilangan bulat positif,
Flow Chart 5.4



Mencari jumlah deret :
Flow Chart 5.5

 

Flow Chart 5.3

Mencari rata-rata dari n bilangan bulat positif :


Flow Chart 5.2

Mencetak bilangan ganjil dari 0 sampai 10 menggunakan perulangan for,while-do,repeat-until)
Struktur for :



Struktur repeat-until :



Flow Chart 5.1 (for,repeat-until)

Mencetak bilangan 1 samapi 4 menggunakan perulangan :
Struktur for :


Struktur repeat-until :

 





Program menampilkan bulan 1-12

Berikut adalah program C++nya untuk menampilkan bulan 1 sampai 12 bila kita input angkanya :

#include <iostream>
#include <string>

using namespace std;

class bulan{
      friend ostream& operator <<(ostream&,const bulan&);
      friend istream& operator >>(istream&,bulan&);
      public:
           
             bulan(unsigned int b=0){nama=b;}
            // void nama_bulan1();
             //void nama_bulan2();
             //void nama_bulan3();
             void bulannnya();
      private:
              unsigned int nama;
              };
   
      istream& operator>>(istream& masuk,bulan& x){
               cout<<"masukan angka 1 - 12 : ";
               masuk>>x.nama;
               return masuk;
               }
             
      void bulan::bulannnya(){
           switch(nama){
                         case 1 : cout<<"januari";break;
                         case 2 : cout<<"februari";break;
                         case 3 : cout<<"maret";break;
                         case 4 : cout<<"april";break;
                         case 5 : cout<<"mei";break;
                         case 6 : cout<<"juni";break;
                         case 7 : cout<<"juli";break;
                         case 8 : cout<<"agustus";break;
                         case 9 : cout<<"september";break;
                         case 10 : cout<<"oktober";break;
                         case 11 : cout<<"november";break;
                         case 12 : cout<<"desember";break;
                         default :cout<<"maaf angka yang anda masukan melebihi angka yang saya tentukan \n";
                         }
                         }
      int main(){
           bulan a;
           cin>>a;
           a.bulannnya();
           system("PAUSE");
           return 0;
           }

Menampilkan angka genap dari 25 sampai dengan 70 secara rekursif

Berikut adalah tampilan dalam bentuk C++ :

#include <iostream>
#include <string>

using namespace std;
class genap{
      friend istream& operator>>(istream&, genap&);
      friend ostream& operator<<(ostream&, genap&);
      public:
             genap();
             int proses(int i);
             private:
                     int i;
                     };
      genap::genap(){
      cout<<" menampilkan angka genap dari 25 sampai dengan 70"<<endl;
      }
     
     
      int genap::proses(int i){
          if(i>70){     
          } else
          { if(i%2==0)
          {        
          cout<<i<<endl;}
          else
          {} proses(i+1);
          }
          }
         
                            

int main()
{
    genap x;
    x.proses(25);
   
    system("PAUSE");
    return EXIT_SUCCESS;
}

Work Related Learning FUNCTION / Subprogram

The results of our second discussion:
Work Related Learning FUNCTION / Subprogram
Observations on the activity at the supermarket
As we know, the department consists of various structures that each have different functions in carrying out their duties.
In this case, we will explain in detail the activities of the existing structure and its function in the supermarket.
The observations that we get is as follows:
1) The owner opened the self-service supermarket, after all the employees get together and pray together and ensure all employees are ready with their respective duties.
2) Cleaning Service to clean all parts of the self-service and do service.
3) Then the waiter to check replenish stockpiles of goods including the goods and check out ED (Expiry Date).
4) If the goods are discharged, or ED, the waiter asked for the goods to the warehouse to replace the goods.
5) If the items in the warehouse runs out, then report to the warehouse the order.
6) Then the order will order the items out to the agent and reported to the finance section.
7) The expenditure of financial records and reported to the owner.
8.) After the goods arrived, the warehouse orders and receive goods.
9) The warehouse then check whether the goods come in accordance with the goods ordered.
10) Then turn over records of warehouse goods coming into the order.
11) The purchase order will submit a memorandum to the finance section, after the financial part will take care of the payment to the agent.
12) If all items are available, then the waiter to take the goods into the warehouse.
13) Then the waiter to add items that are less and replace items that ED (Expiry Date).
14) The buyer comes to ask for a parking ticket parking lot and parked the bike / car.
15) Then go to the supermarket buyers and selecting items to be purchased.
16) Once completed, the buyer pays to the cashier.
17) Then the cashier serving the payment of goods.
18) When finished shopping, the buyer menyerakan parkir.Lalu a parking ticket parking lot asking for money and help remove the motor / car.
19) after work up, the employees gather and report on their work - each
20) a parking lot and handed the cashier handed the money to finance income.
21) The income and expenditure of financial self-service reporting to the owner.
21) After all complete, the cleaning service to clean all parts of the supermarket.
22) The owner locked the supermarket.
Structure and Function:
>play function: Owner (Eri Pratiwi)
>call function = Finance (Fadmala Anggriana)
input: receive and record all the money goes
process: adjust expenditures for the purchase of goods and salaries
output: report income and expenses to the owner and the owner meyerahkan profit (output)
>call function = Cashier (Nurjuliansari)
input: total goods and spending money from the customer
processes: receiving goods from the customer, then add up the total price of goods, money from customers who buy goods and merekap Data penjulaan
output: give the customer purchased the goods and deposit the money into the report and the financial
>call function = Order (Ayu Laksmi Pandhita)
input: receive reports from the warehouse of goods that have been depleted
process: ordering goods out to the agent
output: receiving the goods that come with the purchase of goods warehouse and reporting
>call funtion = The warehouse (Rahmawati Surya Akmalia)
input: receive information on goods that have been depleted
process: recording of goods which have been exhausted, and then report to the order any items that have in the input, then receive the goods with the order, and then record whatever mausk goods to warehouse, control goods entering gudangmengecek whether the goods in accordance with the goods ordered
output: to report a record entry of goods into the order
>call funtion = Waiter (Intan Arista Maulydia)
input: an order from the customer (find stuff)
process: it shows the location of the items sought.
output: goods that the customer wanted.
>call funtion = Cleaning service (Sukma Aras Oyaputra)
input: given a cleaning and maintenance.
process: clean up a dirty place, mopping and sweeping floors.
output: clean and keberishan reports and maintenance of buildings.
>call funtion = Security (Pratama Siwi Handayani)
input: keep command of the leadership
process: around self-service, secure self-service, set up security at the supermarket.
output: a report to the leadership.
>new object = Buyer(customer) (Septiani Rahayu)
input: record the purchase of goods.
process: go to the supermarket and then to the area of ​​goods, and selecting items to purchase, pay for goods that have been taken to the cashier, to the park and provide a ticket.
output: the items purchased.
return of income (output)

Pre Test ke-4 ALPRO no.2

Membalik kata yang diinputkan secara interatif kemudian dirubah ke bentuk rekursif dalam bentuk C++ :

#include <iostream.h>
#include <conio.h>


class Balik{
       friend istream& operator>>(istream&, Balik&);
       friend ostream& operator<<(ostream&, Balik&);
       public:
             void balik_kata();
             void balik(int s);
       private:
               char kata[50];
               int n;
};

void Balik::balik_kata(){//iteratif
     cout<<"Masukkan Kata Yang Akan Dibalik : ";
     cin>>kata;n=strlen(kata);
     //strrev(kata);
     cout<<"Kata Setelah Dibalik : ";
     balik(n);
}

void Balik::balik(int s){//rekursif
     if (s != -1){
            cout<<kata[s];
            balik(s-1);
            }
            }

int main()
{
 Balik X;
 X.balik_kata();
// X.balik(char *s);

  system ("Pause");
  return EXIT_SUCCESS;
}


Pre Test ke-4 ALPRO no.1

Mencetak bilangan yang habis dibagi 5 dan 7 antara 1 sampai 100 secara  iteratif :




Bila diubah ke C++ berikut adalah tampilanya :

#include <iostream>
#include <string>
using namespace std;
class Bagi{
      friend istream& operator>>(istream&, Bagi &);
      friend ostream& operator<<(ostream&, Bagi&);
      public:
       Bagi();
       void proses();
       private:
       int a;
       };
Bagi::Bagi(){
cout<<"Menampilkan bilangan yang habis dibagi 5 dan 7 antara 1 sampai 100"<<endl;
             }
void Bagi::proses(){
a =1;
while (!(a>100)){
if (a % 5==0 && a % 7==0){
cout << a << endl;
}else{}
a =a+1;
}
}
int main(){
    Bagi X;
    X.proses();
system("pause");
return 0;
}


Pre Test ke-2 ALPRO no.1

Program untuk menentukan apakah tahun tersebut kabisat atau bukan :

 

Jika dijadikan C++ maka tampilanya sabagai berikut :

#include <cstdlib>
#include <iostream>

using namespace std;
class kabisat{
      private:
              int t;
              public:
                     int step();
                     int input();
                     };
int kabisat::input(){
    cout<<"Masukan tahun: ";
    cin>>t;
    cout<<endl;
};
int kabisat::step(){
    cout<<"========================================"<<endl;
    if (t%4==0)
    {cout<<"Tahun "<<t<<" Merupakan tahun kabisat"<<endl;}
    else {cout<<"Tahun "<<t<<" bukan tahun kabisat"<<endl;}
    cout<<endl;
};
  

  

int main()
{
    kabisat g;
    g.input();
    g.step();
    system("PAUSE");
    return 0;
}



Jumat, 13 April 2012

Flow Chart 4.3, 4.4 dan 4.5

Gambar reptor 4.3
Mencari akar-akar persamaan kuadrat :






























Gambar reptor 4.4
Mengkonversikan nilai angka menjadi nilai huruf dengan ketentuan
Nilai Angka                  Nilai Huruf
 0 - 20                                E
21 - 40                               D
41 - 60                               C
61 - 80                               B
81 - 100                             A























Gambar reptor 4.5
Mengkonversikan hari ke-1 (Senin) samapi hari ke-7 (Minggu),misal dimasukan nilai 5 outputnya adalah hari Jum'at.

Flow Chart 4.1 dan 4.2

Gambar reptor 4.1
Menentukan bilangan terbesar antara dua bilangan bulat :





















Gambar reptor 4.2
Menentukan bilangan terbesar antara tiga bilangan bulat :


Untuk Mengkonversi Suhu

Berikut ini adalh Reptor untuk menampilkan konversi suhu








Langkah pertama adalh kita masukan suhunya(C).Jika kita sudah memasukan suhunya,maka akan diproses,dengan ketentuan yang ada yaitu jika
R= 4/5*C
F= 9/5*C+32
K= C+273
maka setelah itu akan keluar hasil dari konversi suhu tersebut...Keluaranya adalah sendiri-sendiri,yaitu R,F,K.

Sedangkan apabila diubah dalam bentuk C++ adalh sebagai berikut


#include <iostream>
#include <string>

using namespace std;
int main()
{
   string raptor_prompt_variable_zzyz;
   int K;
   int R;
   int C;
   int F;

   cout<<" Menampilkan hasil Konversi Suhu"<<endl;
   raptor_prompt_variable_zzyz ="masukkan besar suhu (C):";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> C;
   R =4/5*C;
   F =9/5*C+32;
   K =C+273;

   cout<<" Konversi ke Reamur         = "<<R<<endl;
   cout<<" Konversi ke Fahrenheit     = "<<F<<endl;
   cout<<" Konversi ke Kelvin         = "<<K<<endl;

   system("pause");
   return 0;
}


Flow Chart 3.6 dan 3.7

Gambar reptor latihan 3.6 
Mempresentasikan m dan n dalam bentuk m=q.n+r :



























Gambar reptor latihan 3.7
Menghitung Luas Segitiga :


Flow Chart 3.4 dan 3.5

Gambar reptor latihan 3.4
Mencari keliling dan luas lingkaran yang telah diketahui jari-jarinya :

























Gambar reptor latihan 3.5
Konversi suhu dari Celcius menjadi Reamur,Fahrenheit,dan Kelvin :

Flow Chart 3.2 dan 3.3

Gambar reptor latihan 3.2
Mencari hasil kali antara dua buah bilangan :



Gambar reptor latihan 3.3 
Menghitung konversi dari m ke cm dan inci :





Flow Chart 3.1

Menghitung jumlah dari tiga bilangan bulat :


Pertemuan ke-7 ALPRO

Ternyata hari ini adalah pertemuan terkhir sebelum UTS,,hahaha...
Tak terasa begitu cepat,padahal kemarin seperti baru masuk minggu ke-1.Eh ternyata sudah minggu ke-7,wkwk.
Hari ini saya datang terlambat,ketinggalan penjelasan sedikit.Tapi alhamdulilah penjelasanya belum terlalu jauh,hehe.
Hari ini kita dijelaskan tentang Array,lalu kita membentuk kelompok seperti biasanya.
Setelah itu kita diberi tugas yaitu mendiskusikan tentang array..
dan hasil diskusi kelompok kami adalah sebagai berikut:
Kelompok kami membahas tentang array dalam hotel "OPO WAE"....

Input: Setiap pengunjung memasuki hotel menuju ke bagian resepsionis
Proses: Pengunjung mendaftar di bagian resepsionis dan menuliskan data untuk disimpan dan resepsionis memberikan kunci nomor kamar yang diinginkan.
          Lalu pelayan mengantarkan pengunjung untuk menuju kamar yang ditentukan.
Output: Pengunjung masuk ke dalam kamar yang ditentukan

kesimpulan: Setiap pengunjung meminta nomor kamar pada resersionislalu pengunjung diantarkan oleh pelayan untuk menuju kamar yang diinginkan dan pengunjung menikmati kamar yang disewa.

Pertemuan ke-6 ALPRO

Hem,hari ini kita tidak disuruh untuk diskusi ataupun presentasi.
Hari ini lebih ke penjelasan materi tentang rekursif..
Kita dijelaskan bagaimana tentang rekursif ,tidak hanya itu.Kita juga bermain tentang perulangan rekursif,jadi dalam permainannya terdiri dari 9 orang.Setiap orang mendapatkan satu kata,tapi orang yang nomer satu menghafal 9 kata,terus yang satu disimpan,dan yang 8 diberitahukan kepada teman yang di sampingnya.
Setelah orang yang diberi tahu tadi,maka dia simpan satu kata,dan yang 7 diberi tahu ke teman selanjutnya.Begitu seterusnya.

Pertemuan ke-5 ALPRO

Hari ini kita disuruh untuk mengumpulkan hasil latihan-latihan yang sudah kita buat..
Misalnya saja kita sudah membuat latihan yang di diktat ataupun kasus-kasus yang ada di pertemuan ke 1-5..
Di sini dalam kelompok dibagi tugas-tugasnya.Ada yang menjadi Leader,Notulen,sekretaris dan  2 orang yang bertugas mengerjakan kasus-kasus minggu ke-5.
Saya bertugas sebagai Notulen,maka saya mengumpulkan latihan/kasus yang belum dimerti teman2 satu kelompok,setelah saya catat maka saya meminta ke kelompok lain yang sudah mengerjakan.
Tidak hanya meminta,kita juga bertukar latihan yang sulit ataupun yang belum dimiliki kelompok lain.
setelah semua terkumpul,maka kita jadikan satu Tugas-tugas dari Minggu ke1 sampai ke5.

Kamis, 12 April 2012

Pre Test ke-3 ALPRO

Menghitung x pangkat y dengan x bilangan real dan y bilangan bulat secara rekursif :


Bila diubah ke C++ berikut adalah tampilanya :

#include<cstdlib>
#include<iostream>
using namespace std;
class Pangkat{
friend istream& operator>>(istream&, Pangkat&);
friend ostream& operator<<(ostream&, Pangkat&);
public:
Pangkat();
int proses(int x,int y);
int output();
private:
int x,y,i;
int hasil;
};
Pangkat::Pangkat() {
cout<<"mencari X pangkat Y"<<endl;
}
istream& operator>>(istream& in, Pangkat& masukan){
cout<<"masukan x:";
in>>masukan.x;
cout<<"masukan y:";
in>>masukan.y;
}
int Pangkat::proses(int x, int y){
if(y==1)
return x;
else if (y==0)
return 1;
else
return x*proses(x,y-1);
}
int Pangkat::output(){
hasil=proses(x,y);
cout<<"Maka hasilnya adalah:"<<hasil;
return hasil;
}
int main()
{
Pangkat X;
cin>>X;
X.output();
cout<<endl<<endl;
system ("Pause");
return EXIT_SUCCESS;
}
 

Rabu, 11 April 2012

Pre Test ke-2 ALPRO no.3


Membuat program untuk menentukan apakah bangun tersebut persegi atau persegi panjang:






Pre Test ke-1 ALPRO

Menghitung volume dan luas permukaan kubus:


Berikut ini jika diubah ke C++ :

#include <cstdlib>
#include <iostream>

using namespace std;
class hitung{
      friend istream& operator>>(istream&, hitung&);
      friend ostream& operator<<(ostream&, hitung&);
public:
       hitung();
       void proses();
private:
        double s,v,Lp;
        };
hitung::hitung(){
                 cout<<"\n=====Menghitung Volume dan Luas Permukaan Kubus=====";
                 cout<<endl;
                
                 }
void hitung::proses(){
     v=s*s*s;
     Lp=6*s*s;
     }
istream& operator>>(istream& in,hitung& x){
         cout<<"\n\nMasukkan sisi kubus=";
         in>>x.s;
         }
        
ostream& operator<<(ostream& out,hitung& z){
         out<<"\n\nVolume adalah =";
         out<<z.v;
         out<<endl;
         out<<"\n\nLuas permukaan adalah =";
         out<<z.Lp;
         out<<endl;
         }
int main(int argc, char *argv[])
{
    hitung a;
    cin>>a;
    a.proses();
    cout<<a<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}