Rabu, 24 April 2013

Refleksi minggu-7 Alpro

Pada pertemuan ke-7, mata kuliah Algoritma pemrograman memasuki materi array. Minggu-7 adalah minggu penutup sebelum UTS.

Minggu ini kami semua sangat kelelahan karena berbagai tugas yang ada, menyebabkan kegiatan belajar mengajar terlihat begitu pasif. Itu sebabnya kami merasa mengecawakan dosen untuk perkuliahan minggu ini.

Seperti yang kita ketahui, Array adalah data terstruktur yang terdiri dari sejumlah komponen yang mempunyai tipe data yang sama. Variabel array dapat di golongkan menjadi tiga yaitu array berdimensi satu, array berdimensi dua, dan array berdimensi tiga.

Menghadapi UTS, dosen memberikan berbagai arahan dan semangat2 tertentu untuk bisa berhasil dalam UTS. Dosen memberi tahu juga sedikit kisi2 dari UTS yang harus kami hadapi nanti. Praktikum minggu ini pun sudah mencapai batas akhir sebelum uts. karena saat UTS praktikum tidak akan diadakan, artinya tidak akan ada praktikum untuk 2 mingggu kedepan.

Ini adalah refleksi terakhir sebelum UTS. karena itu saya minta doanya agar bisa selamat melewati UTS ini. Aaminnn..

Sampai jumpa di refleksi berikutnya!


Raptor "deret aritmatika going down"

Ini adalah raptor dari menentukan suatu deret aritmatika dengan going-down rekursif.Going down rekursif disini berarti parameter menurun nilainya hingga kasusnya berhenti. lalu dari seluruh deret dilakukan penjumlahan.

Contoh:
nilai awal= 2
beda= 1
banyak deret= 5
maka:
6+5+4+3+2=20

Berikut raptornya:

main program



















going down rekursif



















Raptor "Deret aritmatika going up"

Ini adalah raptor dari menentukan suatu deret aritmatika dengan going-up rekursif.Going up rekursif disini berarti parameter menaik nilainya hingga kasusnya berhenti. lalu dari seluruh deret dilakukan penjumlahan.

Contoh:
nilai awal= 2
beda= 1
banyak deret= 5
maka:
2+3+4+5+6=20

Berikut raptornya:
main program




















going up rekursif


















Selasa, 23 April 2013

Raptor menentukan nilai faktorial dengan going down rekursif

Ini adalah raptor dari menentukan nilai faktorial dengan going-down rekursif.
Berbeda dengan going up yg sebelumnya saya posting,
Going down rekursif disini berarti parameter menurun nilainya hingga kasusnya berhenti.
Contoh:
5!
maka:
5!=5x4x3x2x1=120

Berikut raptornya:
Main program


















Going down rekursif

Raptor menentukan nilai faktorial dengan going-up rekursif

Ini adalah raptor dari menentukan nilai faktoria dengan going-up rekursif.
Going up rekursif disini berarti parameter menaik nilainya hingga kasusnya berhenti.
Contoh:
5!
maka:
5!=1x2x3x4x5=120

Berikut raptornya:

Main program



















going up faktorial

Kasus alpro "Menentukan bil. genap dan ganjil, dan menjumlahkannya"

Ini adlaah raptor menentukan bil. genap dan ganjil, dan menjumlahkan masing2 dari genap dan ganjil.
Contoh:
Banyak data=5
Data-1= 3
Data-2=4
Data-3=7
Data-4=2
Data-5= 1

Bilangan genap: 4, 2. Hasil= 4+2=6
Bilangan ganjil: 3,7,1. Hasil= 3+7+1=11

Ini adalah raptornya:

main program




















ganjil_genap(proses)


Alpro, "C++ nilai maksimum dan minimum rekursif"

#include <cstdlib>
#include <iostream> 
using namespace std;
class maxmin
  {      
   public:             
          maxmin();             
          int proses(int n,int max,int min,int jumlah);         
   private:              
          int n, max, min, jumlah, x;
  };

maxmin::maxmin()
{
cout<<"menampilkan maximum, minimum, dan jumlah sejumlah n        bilangan "<<endl;
}

int maxmin::proses(int n, int max, int min, int jumlah)
{
if(n==0)
  {cout<<"NILAI MAKSIMUM : "<<max<<endl;
   cout<<"NILAI MINIMUM : "<<min<<endl;
   cout<<"jumlah seluruh deret :"<<jumlah<<endl;
   return 0;
  }    

else
 {
   cout<<"masukkan bilangan :";cin>>x;
   jumlah+=x;

   if(x<min)
   {
      min=x;
   }         

   if(x>max)
   {
      max=x;
   }
    return proses(n-1,max,min,jumlah);
 }    


int main(int argc, char *argv[])
{
maxmin x;
x.proses(5,1,1,0);
system("PAUSE");

return EXIT_SUCCESS;
}

C++ nilai maksimum dan minimum rekursif

Studi kasus "Raptor Mencari huruf kapital dalam string yang di inputkan dengan rekursif"

Berikut ini adalah gambar flowchart  dari sebuah studi kasus yang kelompok kami dapatkan dari bab 9 pada ebook untuk alpro.
Kasus yang ada disini adalah bagaimana cara kita untuk mendeteksi/mencari suatu huruf kapital dalam sebuah string yang di inputkan.
Disini diperlukan suatu fungsi dalam raptor, yaitu fungsi length_of yang mengembalikan jumlah karakter dalam sebuah variabel string (juga jumlah elemen dengan sebuah array), contoh : Nama ← “ejha” diikuti dengan Length_Of (Nama) adalah 4.
Berikut adalah raptornya, dengan cara rekursif.


Main program 
konversi(a,i,in,string)
                                    

Sabtu, 20 April 2013

Refleksi Minggu-6 Alpro

Pada pertemuan ke-6, mata kuliah Algoritma pemrograman memasuki materi rekursif(lagi) namun kini secara lebih mendalam lagi dari minggu lalu.

Seperti yang telah diceritakan semuanya bahwa pada minggu-6 kami ditantang dosen untuk mengerjakan kuis lagi. Kelas pun menjadi tenang dan mengerjakan soal kuis dengan prosedur yang sama seperti kemarin. Alhamdulillah saya bisa selesai tepat pada waktunya yang hanya 15 menit.

Dosen pun mulai mendalami rekursif kepada kami dengan memberi berbagai contoh dan cerita. Ditengah perkuliahan kami diminta untuk menyelesaikan 3 study kasus dalam ebook alpro. Kami pun mulai mengerjakan dengan serius, namun hingga akhir perkuliahan hanya dapat menyelesaikan 2 studi kasus. sehingga dosen kami memberi waktu hingga pukul 4 sore untuk menyelesaikan semuanya dan mengirimkan hasil kerja ke emailnya. Begitulah hingga perkuliahan minggu 6 berakhir.

Hasil dari studi kasus akan saya posting pada postingan berikutnya, karena kini kami benar2 disibukkan dengan tugas pemrograman web.Praktikum dan mentoring minggu ini pun berjalan lancar seperti minggu sebelumnya.

Demikianlah refleksi singkat saya...
Sampai ketemu di minggu depan, yang merupakan minggu akhir sebelum UTS. (^o^)

Selasa, 16 April 2013

Refleksi minggu-5 Alpro

Pada pertemuan ke-5, mata kuliah Algoritma pemrograman memasuki materi sub-program.

Sub program dalam suatu pemrograman dapat berupa function. Function sendiri adalah sebuah blok fungsi yang memiliki tugas tersendiri untuk membantu fungsi main, dan mengembalikan "hasil kerja" dari fungsi kepada main.

Pada pertemuan kali ini, kami diberikan kuis sebagai evaluasi untuk pertemuan pertama sampai pada pertemuan ke-empat. Dengan deg-degan kami mengirimkan hasil dari kuis langsung pada email dosen, hanya dalam waktu 15 menit. Dan sejujurnya itu tidak cukup. Tapi mau bagaimana lagi..

Setelah mengirimkan hasil kuis yang belum selesai, kami masuk pada materi sub-program dan rekursif. dimana rekursif sendiri adalah sebuah fungsi yang digunakan dalam suatu program, yang dapat memanggil dirinya sendiri selama masih diperlukan. bisa dibilang seperti pengganti dari loop.

Dosen pun menantang kami untuk diberikan kuis lagi pada minggu depannya. dan dengan gembiranya kami menyambut tantangan dari dosen. Challenge accepted! . Selesai kuliah saya pun langsung menyelesaikan kuis yang tadi belum selesai. Hasilnya bisa dilihat di sini

Praktikum pun berjalan lancar dan baik2 saja....
Masalah hanya muncul pada saat mentoring, karena apa yang saya tanyakan tidak sesuai dengan jawaban dari mentor kami... sepertinya saya harus lebih mendesak mereka... hahaha..

Yaahh....
Demikian untuk refleksi kali ini!

Wassalam!

Kamis, 11 April 2013

Program C++ Relasi himpunan dengan inputan.

Ini adalah program C++ yang dapat melakukan pembentukan suatu himpunan baru dari dua buah himpunan yang datanya harus di inputkan. Dibawah ini ada 4 himpunan, dua himpunan pertama direlasikan tanpa ada syarat, yang berarti tiap satu elemen dari himpunan pertama direlasikan dengan himpunan kedua(A,B). dua himpunan berikutnya direlasikan dengan syarat elemen dari anggota himpunan ketiga yang habis membagi anggota himpunan keempat.(C,D) Sama seperti postingan sebelumnya, hanya saja, yang ini menggunakan inputan. :)
Berikut programnya:

#include <iostream>
using namespace std;

int main() {

string a[5];
string b[5];

int c[5];
int d[5];

cout << "Masukkan himpunan a (2) : \n";
for(int n=0; n<2; n++) {
cin >> a[n];
}

cout << "Masukkan himpunan b (3) : \n";
for(int m=0; m<3; m++) {
cin >> b[m];
}

cout<<"Hasil penggabungan a dan b :"<<endl<<" { ";
for(int i=0; i<2; i++) {
for(int j=0; j<3; j++) {
cout << "{"<<a[i]<<","<<b[j]<<")";
}
}

cout<<" }"<<endl;


cout << "\nMasukkan anggota himpunan c (angka) : \n" ;
for(int x=0; x<3; x++) {
cin>>c[x];
}
cout << "Masukkan anggota himpunan d (angka) : \n";
for(int y=0; y<5; y++){
cin>>d[y];
}
cout << "Hasil himpunan c habis membagi d : {";
for(int k=0; k<3; k++) {
for(int l=0; l<5; l++) 
if(d[l] % c[k] == 0) {
cout<<"("<< c[k]<< ", " << d[l] << "), ";}
}



cout << "}";

system("PAUSE");
return EXIT_SUCCESS;
}

Program C++ Relasi Himpunan.

Ini adalah program C++ yang dapat melakukan pembentukan suatu himpunan baru dari dua buah himpunan yang telah memiliki data, yang berarti tanpa inputan, dengan syarat tertentu. dibawah ini ada 4 himpunan, dua himpunan pertama direlasikan tanpa ada syarat, yang berarti tiap satu elemen dari himpunan pertama direlasikan dengan himpunan kedua(A,B). dua himpunan berikutnya direlasikan dengan syarat elemen dari anggota himpunan ketiga yang habis membagi anggota himpunan keempat.(C,D)

Berikut programnya:

#include <iostream>
using namespace std;

int main() {

string a[] = {"changmin", "jaejoong"};
string b[] = {"f8291", "n4810", "b0637"};

int c[] = {2, 3, 4};
int d[] = {2, 4, 8, 10, 12};

cout << "Hasil penggabungan a dan b :"<<endl<<"{ ";
for(int i=0; i<2; i++)
{for(int j=0; j<3; j++) {
cout<<"("<<a[i]<<","<<b[j]<<")";
}}


cout << "}" << endl;

cout<<"Hasil himpunan c habis membagi d : \n{";
for(int k=0; k<3; k++) {
for(int l=0; l<5; l++)
if(d[l] % c[k] == 0) {
cout<<"("<< c[k]<< ", " << d[l] << "), ";}
}


cout<<"}"<<endl;
system ("pause");
return 0;
}

Rabu, 10 April 2013

Menghitung deret aritmatika dengan rekursif

Berikut adalah  program C++ dari menghitung jumlah total dari suatu deret aritmatika yang diberi batas awal, beda, dan batas akhir.

Ini adalah program c++ untuk program menghitung deret aritmatika pada praktikum alpro.

#include <cstdlib>
#include <iostream>

using namespace std;

class deret{
      public :
             deret();
             int tampil(int x,int b,int n);
      private:
              int x,b,n;
              };
             
deret::deret()
{cout<<"penjumlahan deret aritmatika"<<endl;
}
int deret::tampil(int x,int b,int n){
   
   
    if(n==0){
             return 0;
             }
    else {
         return ((x+(n-1)*b)+tampil(x,b,n-1));
         }
}
             
     
int main(int argc, char *argv[])
{
    int p,q,r;
    deret i;
    cout<<"Masukkan batas awal=";cin>>p;
    cout<<"Masukkan beda=";cin>>q;
    cout<<"Masukkan banyak deret:";cin>>r;
    for(int s=0;s<r;s++)
    {
          
    cout<<p+s*q<<" ";
    }
    cout<<"\nJumlah dari seluruh deretnya: "<<i.tampil(p,q,r)<<endl;;

    system("PAUSE");
    return EXIT_SUCCESS;
}

Senin, 08 April 2013

Quiz Alpro "Menyebutkan angka yang di inputkan dalam bentuk huruf"

Berikut adalah jawaban dari quiz alpro yang diberikan oleh dosen pada hari sabtu kemarin. Karena waktu dan kegugupan, belum saya selesaikan di kelas.... -_-'' menyebalkan..
Ini adalah raptor untuk menyebutkan angka yang di inputkan dalam bentuk huruf/kata.
Contoh:
Input: 123
Output: seratus dua puluh tiga.

Program Raptornya dapat didownload disini: http://www.ziddu.com/download/21971913/QuizAlpro.zip.html

Ini adalah output saat menginputkan "123" dan juga saat menginputkan "536"



Sabtu, 06 April 2013

Refleksi Minggu-4 Alpro

Pada minggu-4 mata kuliah Alpro, Memasuki materi Perulangan/Loop.


Komputer mempunyai kemampuan untuk menghitung perulangan dengan sangat cepat dan tidak mengenal
lelah. Kadang diperlukan suatu kondisi untuk menghitung dengan perulangan sampai presisi tertentu.

Pada kehidupan sehari-hari juga sering melakukan kegiatan perulangan, contohnya seperti yang dilakukan semua mahasiswa untuk menuju lantai 2 atau 3 di kampus. Mereka menaiki tangga satu demi satu, berulang-ulang hingga mencapai lantai berikut, yang berarti perulangan "melangkah di tiap anak tangga" selesai. Kasus-kasus dan latihan telah kelompok kami kerjakan.

Perkuliahan minggu-4 cukup membuat saya frustasi pada awal masuk, karena kertas berisi tanda tangan dosen sebagai bukti tidak terlambat milik saya terselip di buku catatan, dan buku tersebut ketinggalan di laboratorium komputasi dasar saat praktikum hari kamis sebelumnya. Berhubung Alpro adalah kuliah yang paling pagi, jadi laboratorium belum buka pagi itu. Takut nilai bonus hilang, saya mencoba bicara tentang masalah itu pada dosen alpro, dan alhamdulillah beliau mengerti dan mengijinkan untuk menunggu sampai laboratorium buka agar tanda tangan dari beliau bisa saya dapatkan. Hehehe,, terima kasih pak..

Untuk Kasus-kasus dan latihan pun sudah di selesaikan. Akan diposting untuk yang berikutnya. sekian untuk refleksi kali ini. . Semoga minggu depan bisa menjalani kuis dengan lancaar.. aminn...

Jumat, 05 April 2013

Kasus 4.2 "Algoritma mencetak bilangan ganjil dari 0 sampai 10"

Masalah:
  • Buatlah Algoritma mencetak bilangan ganjil dari 0 sampai 10
Deklarasi:
  • i : Integer{Input,Output}
Deskripsi
  • read(i=0)
  • for i<-0 to 10 do
     if(i mod 2=1)
     then write(i)
     endif
    endfor
 
Gambar Flowchart:

Kasus 4.1 "Mencetak bilangan 1-4"

Masalah:


  • Buatlah Algoritma mencetak bilangan 1-4
Analisis:
  • Input: a
  • Proses: mengecek nilai a memenuhi syarat if (a<=4)
  • Output: a

  • a : Integer{Input}
  • a : Integer{Output}
Deskripsi

  • for a<-1 to 4 do write(a)
    endfor
Gambar Flowchart:

Rabu, 03 April 2013

Perulangan rekursif "Menghitung nilai faktorial"

Rekursif adalah perulangan yang lebih ke arah menggunakan fungsi Berikut ini adalah program c++ menghitung nilai dari faktorial:

#include <cstdlib>
#include <iostream>

using namespace std;


class rekursif{
      public:
             rekursif();
             int faktorial(int x);
      private:
              int x;
     
      };
     
rekursif::rekursif(){
                     cout<<"perulangan rekursif"<<endl;
                     }

int rekursif::faktorial(int x){
   
   
    if(x==0){
             return 0;
             }
    else if(x==1){
         return 1;
         }
    else{
    return (x*faktorial(x-1));
}

}

int main(int argc, char *argv[])
{
    int a;
   
 rekursif p;
 cout<<"Masukkan faktorial=";cin>>a;
    cout<<"hasil="<<p.faktorial(a);
    cout<<endl;

    system("PAUSE");
    return EXIT_SUCCESS;
}
.

Praktikum 3"Menghitung deret aritmatika"

Ini adalah program c++ untuk program menghitung deret aritmatika pada praktikum alpro ke-3.

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int a,b,n,jumlah;
  
    cout<<"Menghitung deret aritmatika"<<endl;
     cout<<"Masukkan nilai suku awal=";cin>>a;
     cout<<"Masukkan nilai beda=";cin>>b;
     cout<<"Masukkan banyak suku=";cin>>n;
    
    
    cout<<a<<","<<a+b<<",";
    for(int i=0;i<a;i++)
    {
           
    cout<<a+(n-1)*b;
    n+=1;
    }
    system("PAUSE");
    return EXIT_SUCCESS;
}