Monday, September 10, 2012

Rangkuman Pertemuan Pertama


1.       Parameter nilai
#include<iostream.h>

int Abc(int a, int b, int c)
{
   return a+b+b*c+(a+b-c)/(a+b)+4;
}

void main(void)
{
   cout << Abc(2,3,4) << endl;
}
mempertimbangkan fungsi cpp abc (program 1.1). fungsi ini menghitung rumus yang a + b *c untuk kasus ketika a,b dan c adalah bilangan bulat,hasilnya juga bilangan bulat.
dalam program 1.1 abdan c adalah parameter formal abc fungsiSetiap tipe integerjika fungsi dipanggil oleh pernyataan.


2.      Fungsi Template
Program 1.2
#include<iostream.h>

float Abc(float a, float b, float c)
{
   return a+b+b*c+(a+b-c)/(a+b)+4;
}

void main(void)
{
   cout << Abc(2,3,4) << endl;
}
4.      Cost Reference Parameter

#include<iostream.h>

template<class T>
T Abc(const T& a, const T& b,
         const T& c)
{
   return a+b+b*c+(a+b-c)/(a+b)+4;
}

void main(void)
{
   cout << Abc(2,3,4) << endl;
}
#include<iostream.h>

template<class Ta, class Tb, class Tc>
Ta Abc(const Ta& a, const Tb& b, const Tc& c)
{
   return a+b+b*c+(a+b-c)/(a+b)+4;
}

void main(void)
{
   cout << Abc(2,3,4) << endl;
}

ALOKASI MEMORI DINAMIS
Deklarasi :
Int * y;
Sebenarnya :
y =new int;
Variabel y merujuk pointer ke integer dan *y merujuk ke integer.
*y = 10;
kita bisa menggabungkan tiga langkah menyatakan ymengalokasikan memori,dan memberikan nilai pada * y-ke sejumlah kecil langkah seperti yang ditunjukkandalam contoh berikut:

ARRAY SATU DIMENSI DINAMIS
float *x = new float [n];
Elemen array diberi alamat dengan penulisan x[0], x[1], …, x[n-1].


PENANGANAN PERKECUALIAN
Apa yang terjadi dengan pernyataan :
float *x = new float [n];
ketika dieksekusi komputer dan ternyata memori tidak tersedia untuk n bilangan floating point ?

float *x;
try { x = new float [n]; }
catch (xalloc) {
cerr << “Out of Memory” << endl;
exit(1);  }

OPERATOR DELETE
Pernyataan :
                        delete y;           // variabel biasa
                        delete [ ] x;      // variabel array
akan membebaskan memori yang dialokasikan oleh *y dan array satu dimensi x.

METHOD (FUNCTION)
return-type method-name(para1, para2, . . .) {
. . .
body-of-the-method;
. . .
}
Contoh :
double jumlah_kuadrat(int x, int y) {
            return x*x + y*y;
}

METHOD OVEROADING
}  int max( int a, int b, int c )
}  int max( int a, int b)
}  int max( float a, float b, float c)
}  int max( float a, float b)

Thursday, July 5, 2012

Mencari Nilai Maximum dan Minimum dari Nilai yang diinputkan

Mencari Mean dari Beberapa Nilai yang Diinputkan

Mencari Median Dari Nilai yang Diinputkan

Sorting Rekursif


Penjumlahan matriks berordo 3x3


Refleksi Minggu Ke-14 Alpro

Minggu terakhir hanya berisi kroscek nilai bonus, dan ngobrol-ngobrol dengan dosen. Enaknya kalau kuliah gini terus #eh hahhahhaha . Minggu ini lebih ke sharing setelah lulus mau jadi apa, jadi apa ya, dosen sepertinya , pengennya designer web, tapi harus nengok ke kemampuan diri sendiri dulu deh .__.

Refleksi Minggu Ke-13 Alpro

I was sick huhuhuhuhu , materi hari itu adalah pointer, jadi masih sangat belum mengerti sekali *lebay tentang pointer, harus mengejar ketinggalan sepertinya T.T

Refleksi Minggu Ke-12 Alpro

Perkuliahan minggu ini mengulang minggu sebelumnya, ya karena ada mahasiswa yang tidak mengikuti perkuliahan kelas lain, sehingga perlu diulang. Jadi , ya alhamdulliah dapet ilmu lebih cepet dari teman-teman, sehingga tidak terlalu sulit lagii sewaktu latihan :)

Refleksi Minggu Ke-11 Alpro

Minggu ke-11 ini cukup unik, hehe. Mahasiswa yang ikut perkuliahan hanya 1 orang karena sedikit trouble diantara mahasiswa kelas D dengan dosen hihi. Tetapi yang tidak ikut diperbolehkan mengikuti kuliah dengan kelas lain, dan materinya tentang array dua dimensi. Tentang perkalian sesama array dua dimensi dan dengan vektor/1dimensi. pertamanya sedikit bingung, tapi tapi akhirnya bisa mengerti setelah diulang2 hihihi maklum nah lola ni --v

Refleksi Minggu Ke-10 Alpro

Materi ke-10 adalah searching, metode pencarian. Misalnya pencarian angka 28 dalam sederet inputan angka yang telah ditentukan, dengan beberapa jeniis metode searching yang ada. Pemahaman tentang materi disini sudah cukup lancar, hanya memang coding dalam programnya yang harus banyak latihan lagi :)

Refleksi Minggu Ke-9 Alpro

Sorting???? pasti sudah nggak asing dengan sorting, metode dalam pengurutan. Ada 3 metode yang diajarkan selama perkuliahan, dan semuanya alhamdulliah sudah bisa dipahami, tinggal pengaplikasiannya dalam bentuk program saja yang masih perlu latihan :)

Saturday, May 19, 2012

Refleksi Minggu Ke-8 Alpro

Wohooo kenapa tiba2 langsung ke-9, bukannya terakhir minggu ke-7 ya? yap, minggu ke-8 nya diskip hihi karena pak dosen sedang umroh, sehingga serempak minggu ke-8 diliburkan mulai kelas A sampai kelas D :)
Minggu ini membahas tentang soal uts, huks yang nilainya rata2 lumayan ancur huahahah. Yang paling paling aku sesali ada soal no.4 yang sebetulnya aku sudah bener jawabnya, tetapi ternyata masih kurang, dan yang poin b malah aku ganti, aaa *tepok jidat :(
Ini nih :
Modifikasi Algoritma
Di bawah ini adalah flowchart yang dimaksudkan untuk menghitung nilai a dibagi b. Isilah tabel
berikut seperlunya sesuai dengan flowchart.
a. Untuk nilai a = 12 dan b = 3

Tuesday, April 17, 2012

Program Membalik Kata

#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);
     cout<<"Kata Setelah Dibalik : ";
     balik(n);
     cout<<endl;
}

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

int main()
{
 Balik X;
 X.balik_kata();
 X.balik(1);

  getch();
}

Monday, April 16, 2012

Array

Sedikit share yah tentang array ;)) . Array adalah struktur data yang mengandung type data yang mempunyai tipe yang sama. Suatu array merupakan sekelompok memori yan berhubungan. Array mempunyai nama dan tipe yang sama. Untuk merujuk lokasi tertentu atau elemen dalam array, nama arra dan angka posisi dari elemn tersebut dalam array. Deklarasi array ditentukan dengan tipe dari setiap elemen dan banyaknya elemen yang diperlukan oleh setiap array sehingga komputer mempersiapkan sejumlah memori.
Deklarasi adalah sebaai berikut :
Algoritmik  :
c: Array [1..5] of integer
Bahasa C++ :
int c[5]
ini berarti memberitahu komputer untuk menyediakan 5 elemen integer array c. Array bisa saja dideklarasikan untuk berisi tipe data yan lain. Sebaai contoh, array tipe char dapat digunakan untuk menyimpan string karakter.

Flowchart Membalik Kata yang Diinputkan

Rekursif :


 Iteratif :

Konversi Dari Desimal Ke Biner

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


class Biner{
      friend istream& operator>>(istream&, Biner&);
      friend ostream& operator<<(ostream&, Biner&);
    
      public:
      Biner();     
      void masukan();
      void proses();
      void keluar();
      private:
      int data[100],l,a;      
      };
      Biner::Biner(){
       cout<<"program mengkonversi bilangan desimal ke biner"<<endl;
       }
       istream& operator>>(istream& in, Biner& masukan){            
           cout<<"masukan angka:";
           in>>masukan.a;
           }
      void Biner::proses(){
           int i;
           i=0;l=0;
           while(a!=1){
                       data[i]=a%2;
                       a=a/2;i=i+1;l=l+1;
                       }
                       }
     void Biner::keluar(){
          cout<<"hasil biner adalah :"<<1;
          for(int i=l-1;i>=0;i--){
                  cout<<data[i];}
                  }
                
     int main(){
         Biner x;
         cin>>x;
         x.proses();
         x.keluar();
                
getch();
}

Program Mencetak Bilangan yang Habis Dibagi 5 dan 7 Dari 1 - 100 (Rekursif Iteratif)

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

class Bagi{
      friend istream& operator>>(istream&, Bagi &);
      friend ostream& operator<<(ostream&, Bagi&);
      public:
       Bagi();
       void proses();
       int bagi(int a);
       private:
       int a;
       };

Bagi::Bagi(){
cout<<"Menampilkan bilangan yang habis dibagi 5 dan 7 antara 1 sampai 100"<<endl;
             }
//iteratif
void Bagi::proses(){
a =1;
while (!(a>100)){
if (a % 5==0 && a % 7==0){
cout << a << endl;
}else{}
a =a+1;
}
}
//rekursif
int Bagi::bagi (int a){
if (a>100){
}else
{
if (a % 5==0 && a % 7==0)
{
cout << a << endl;      }
else
{}bagi(a+1);
}}

int main(){

    Bagi X;
    X.proses();
    X.bagi(1);

getch();
}

Flowchart Mencetak Bilangan yang Habis Dibagi 5 dan 7 Dari 1 - 100

Rekursif :


 Iteratif :

Program Menhitung Suku Ke-n Dari Deret Fibonacci (Rekursif)

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

class Operator{
      friend ostream& operator<<(ostream&, Operator&);
      friend istream& operator>>(istream&, Operator&);

public:
       long fibonacci(int);

private:
        int n;
};

int fibonacci (int n){
    if((n==1) || (n==2))return (1);
    else return (fibonacci(n-1)+fibonacci(n-2));
}
ostream& operator<<(ostream& out, Operator& a)
{ for (int i=1;i<=a.n;i++)
out<<fibonacci(i)<<"";
return out;
}

istream& operator>>(istream& in, Operator& a){
cout<<"sampai suku ke- ";
in>>a.n;
return in;
}

main()
{
      Operator run;
      cin>>run;
      cout<<run;
    getch();
}