program untuk membalikkan 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);
//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;
}

konversi nilai menjadi huruf

algoritma Konversi_nilai
mengkonversikan nilai angka menjadi nilai huruf
deklarasi
nilai :integer
nilai_huruf: char
deskripsi:
read nilai
if (nlai >0) and (nilai <=20) then nilai E
if (nlai >20) and (nilai <=40) then nilai D
if (nlai >40) and (nilai <=60) then nilai C
if (nlai >60) and (nilai <=80) then nilaiB
else nilai_huruf A
endif
write (nilai_huruf)

#include <cstdlib>
#include <iostream>

using namespace std;
class Nilai{
friend ostream& operator<<(ostream&, Nilai&);
friend istream& operator>>(istream&, Nilai&);
public:
Nilai(){
if ((nilai>0) &&(nilai <=20))
nilai_huruf =’E’;
else if((nilai>20) &&(nilai <=40))
nilai_huruf=’D’;
else if((nilai>40) &&(nilai <=60))
nilai_huruf=’C’;
else if((nilai>60) &&(nilai <=80))
nilai_huruf=’B’;
else nilai_huruf =’A’;
}
private:
int nilai;
char nilai_huruf;
};
istream& operator>>(istream& in, Nilai& masukan){
cout<<“masukkan nilai angka=”;
in>>masukan.nilai;
return in;
};
ostream& operator<<(ostream& out, Nilai& keluaran){
out<<“Nilai angka:”<<keluaran.nilai<<endl;
out<<“Nilai huruf:”<<keluaran.nilai_huruf;
return out;
}

int main(){
Nilai angka;
cin>>angka;
angka.konversikan();
cout<<angka;
}
system(“PAUSE”);
return EXIT_SUCCESS;
}

Menghitung permutasi dan kombinasi

#include <iostream.h>
#include <stdio.h>
#include <conio.h>
long int fak (long int x);
int main()

{
int n,r, Prts,pilihan,p;
char ulang;
do
{

cout<<“PERHITUNGAN KOMBINASI DAN PERMUTASI”<<endl;
cout<<“1. KOMBINASI”<<endl;
cout<<“2. PERMUTASI”<<endl;

cout<<endl<<endl;
cout<<“Pilihan Anda : “;cin>>pilihan;
switch (pilihan)
{
case 1 :
cout<<” Program Menghitung Kombinasi(nCr)”;
cout<<endl;
cout<<” Masukkan Nilai n : “; cin>>n;
cout<<endl;
cout<<” Masukkan Nilai r : “; cin>>r;
cout<<endl;
if (n>r){
Prts = fak(n)/(fak(n-r)*fak (r));
cout<<endl;
printf(” Kombinasinya adalah: %d”,Prts);
cout<<endl; }
else if (n<r){
cout<<“data tak valid”;}
cout<<endl ;
break;
case 2 :
cout<<” Program Menghitung Permutasi(nPr)”;
cout<<endl;
cout<<” Masukkan Nilai n : “; cin>>n;
cout<<endl;
cout<<” Masukkan Nilai r : “; cin>>r;
cout<<endl;
if (n>r){
Prts = fak (n)/fak(n-r);
cout<<endl;
cout<<” Permutasinya adalah: “<<Prts;
cout<<endl; }
else if (n<r){
cout<<“data tak valid”;}
cout<<endl ;
break;
case 3 :
cout<<“Exit”<<endl;
break;
default:
cout<<“Menu tidak tersedia”<<endl;
break;
}
cout<<“Kembali ke Menu Utama (y/n)?”;cin>>ulang;
}while(ulang == ‘y’);
}

long int fak (long int n)
{
int f;
if (n<=1)
{
f=1;
}
else
{
f=n*fak(n-1);
}
return (f);
}

fungsi perkalian 2 bilangan bulat dengan menggunakan operator penjumlahan

untuk menghitung perkalian bilangan bulat dengan menggunakan operator penjumlahan:
analisis:
axb=a+a+a+…+a(sebnyak b kali)
fungsi kali(input a,b:integer):integer
Deklarasi
hasil, i:integer
Deskripsi
hasil<- 0
for i<- 1 to b do
hasil<- hasil+a
kali<- hasil
programnya:

#include <cstdlib>
#include <iostream>

using namespace std;
class kali{
friend istream& operator>>(istream&, kali&);
friend ostream& operator<<(ostream&, kali&);
public:
kali();
int proses(int a, int b);
int output();
private:
int a,b,i;
int hasil;
};
kali::kali(){
cout<<“menghitung hasil perkalian a dan b menggunakan operator penjumlahan”<<endl;
}
istream& operator>>(istream& in, kali& masukan){
cout<<“masukan bilangan a:”;
in>>masukan.a;
cout<<“akan dikali dengan b:”;
in>>masukan.b;
}
int kali::proses(int a, int b){
int i,hasil=0;
for (i=1;i<=b;i++)
hasil=hasil+a;
return(hasil);
}
int kali::output(){
hasil=proses(a,b);
cout<<“Nilai”<<a<<“x”<<b<<“=”<<hasil;
return hasil;
}
int main()
{
kali x;
cin>>x;
x.output();
cout<<endl<<endl;

system(“PAUSE”);
return EXIT_SUCCESS;
}

Menampilkan angka genap dari 25 sampai dengan 70 secara rekursif

#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;

Refleksi minggu ke-7

Pada minggu ke 7 ini dosen memberikan kisi-kisi materi uts. Selain dijeaskan mahasiswa juga dapat melihatnya di forum tif tentang kisi-kisinya. Setelah itu kita masuk dalam materi, materi minggu ini adalah tentang array. Array adalah struktur data yang mengandung type data yang mempunyai type sama. Seperti biasa kami di suruh berpasangan dengan kelompok TP yang lain untuk mendiskusikan tentang array. Kami disuruh membuat kasus yang berkaitan dengan array lalu di minta untuk di posting di forum tif. Kelompok saya menulis tentang contoh kasus array di parkiran mobil. Disitu kami tulis tentang cara memasukkan data, memanipulasi data dan menampilkan (keluar) datanya. Kami tidak mengalami kesulitan karena ada anggota kelompok kami yang dari angkatan 08 dan mereka sudah banyak tahu tentang materinya hehe.

Refleksi minggu ke 6

Di minggu ke 6 mata kuliah alpro ini membahas tentang fungsi rekursif. yaitu fungsi yang melakukan proses perulangan dengan cara memanggil dirinya sendiri. Di sini kita di kasih tau perbedaan antara rekursif dan iteratif. Sebelum memulai materinya dosen menyuruh kita menyelesaikan soal terkait masalah rekursi. Pertamanya banyak yang belum paham tapi semakin lama semakin banyak yang paham walaupun belum semua mahasiswa. Dan kuliah minggu itu di tutup dengan permainan kuis yang berhubungan dengan rekursif yaitu Setiap regu akan memperoleh “tugas” menyampaikan pesan. Misal

kepala regu diberi 1 kalimat (sekitar 10 kata). Tiap kali memperoleh kata (tentu dg berbisik) kepala regu akan menyampaikan pesan kepada temannya dengan ….. tidak menyebutkan kata PERTAMA (atau TERAKHIR terserah yang memberi soal). Orang kedua akan menyampaikan kata dengan TIDAK menyebutkan kata kedua ((atau kedua TERAKHIR) dan seterusnya … sampai dengan orang terakhir, hanya akan memperoleh pesan SATU kata (atau kalimat lengkap).

Refleksi minggu ke 5

Pada minggu ke 5 ini dosen hanya memberikan penjelasan tentang bagaimana tugas mentoring. Yaitu tentang observasi di restoran yang di mana setiap orang dalam satu kelompok mentoring tugasnya berbeda-beda. Ada yang menjadi pemilik restoran,koki,pelayan,kasir,pembeli,maupun cleaning service. Tidak ada presentasi kali ini hanya fokus latihan-latihan soal saja.

Program untuk menampilkan nama-nama bulan

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

class bulan{
friend istream& operator>>(istream&, bulan&);

public:
bulan(unsigned int b=0){bilangan=b;}
void membilang();
private:
unsigned int bilangan;

};
istream& operator>>(istream&in,bulan& x){
cout<<” Masukkan Bulan Ke    :”;
in>>x.bilangan;
return in;
}
void bulan::membilang(){
switch(bilangan){
case 1 : cout<<” Bulan yang anda inputkan adalah bulan januari”;break;
case 2 : cout<<” Bulan yang anda inputkan adalah bulan febuari”;break;
case 3 : cout<<” Bulan yang anda inputkan adalah bulan Maret”;break;
case 4 : cout<<” Bulan yang anda inputkan adalah bulan April”;break;
case 5: cout<<” Bulan yang anda inputkan adalah bulan Mei”;break;
case 6:cout<<” Bulan yang anda inputkan adalah bulan Juni”;break;
case 7:cout<<” Bulan yang anda inputkan adalah bulan July”;break;
case 8:cout<<” Bulan yang anda inputkan adal}ah bulan Agustus”;break;
case 9:cout<<” Bulan yang anda inputkan adalah bulan September”;break;
case 10:cout<<” Bulan yang anda inputkan adalah bulan Oktober”;break;
case 11:cout<<” Bulan yang anda inputkan adalah bulan November”;break;
case 12:cout<<” Bulan yang anda inputkan adalah bulan Desember”;break;
default :cout<<” Bulan tu cuma ampe 12 ,jangan bodohin gue !”;break;
}
}
int main(){
bulan apa;
cin>>apa;
apa.membilang();
getch();
}

program untuk menentukan apakah tahun tersebut termasuk tahun kabisat atau bukan

#include <cstdlib>
#include <iostream>

using namespace std;

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

public:
Kabisat(){};

void proses(){
if(tahun%4==0){
hasil    = “Tahun Kabisat”;
}else hasil    = “Bukan Tahun Kabisat”;
}

private:
int tahun;
char *hasil;
};

istream& operator>>(istream& in, Kabisat& masukkan){
cout<<“Masukkan Tahun = “;
in  >>masukkan.tahun;

return in;
}

ostream& operator<<(ostream& out, Kabisat& keluaran){
cout<<“Tahun “<<keluaran.tahun<<” adalah “<<keluaran.hasil;

return out;
}

int main(int argc, char *argv[])
{
Kabisat tahun;
cin >> tahun;
tahun.proses();
cout<< tahun;
cout<< endl;

system(“PAUSE”);
return EXIT_SUCCESS;
}