Breaking News

Sabtu, 16 April 2016

# Menghitung kata dalam sebuah kalimat

oke lanjut lagi membahas cara menghitung kata ke dalam sebuah kalimat..maka saya akan sambungkn kembali ke blogs tmen saya klikdisini

#String Bergantian huruf besar dan kecil


#include <iostream>
#include <string.h>
#include <conio.h>
using namespace std;
int main()
{
int i,jum;

char string[100];

cout<<"Masukan sembarang kalimat:\n";
cin.getline(string,100); //membaca spasi

//mengubah huruf awal menjadi huruf kapital
if((string[0]>='a')&& (string[0]<='z'))
string[0]=(char)string[0]-32;


//mengubah huruf setelah huruf awal menjadi huruf kecil
jum=1;int d=0;
for(i=0;i<(int)strlen(string);i++)
{
    if(i%2==0){
 
if((string[jum]>='A')&& (string[jum]<='Z'))
string[jum]=(char)string[jum]+32;
jum++;}
}

//mengubah huruf setelah spasi menjadi huruf kapital
for(i=1;string[i]!='\0';i++)
{
    if(string[i]==' ') d++;
if((i-1-d)%2==0)
{
if(string[i+1]>='a' && string[i+1]<='z')
string[i+1]=(char)(string[i+1]-32);
}
}


cout<<"Hasil Akhir : "<<string<<endl;
getch();
}

#Program Penyisipan kata

oke gan untuk bab program penyisipan data saya akan menyambungkan dengan link temen saya
klikdisini

# Kasus 6.6 : Algoritma untuk mengecek apakah suatu kata atau kalimat merupakan palindrom atau tidak.



Algoritma untuk mengecek apakah suatu kata atau kalimat merupakan palindrom atau tidak.Analisis 

Misalnya kata yang akan dicek adalah “kasur rusak”. Maka huruf pertama dicek, apakah sama dengan huruf pertama terakhir atau tidak, (sampai dengan pertengahan kalimat). Bila pengecekan selalu sama maka kalimat tersebut adalah palindrom. Jika terdapat satu huruf saja yang tidak sama, kalimat tersebut bukanlah palindro.

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

using namespace std;

class Palindrom {
friend ostream& operator<<(ostream&, Palindrom&);
friend istream& operator>>(istream&, Palindrom&);
public:
int cek_palindrom();
private:
char *s;
};

ostream& operator<<(ostream& out, Palindrom& a) {
if (a.cek_palindrom())
cout << a.s << " adalah palindrom";
else out << a.s << " bukan palindrom";
return out;
};


istream& operator>>(istream& in, Palindrom& a) {
cout << "Masukkan sebuah kalimat : ";
cin >> a.s;
return in;
};

int Palindrom::cek_palindrom()
{ int i, pj;
pj = strlen(s);
for (i=0; i<=pj/2 ;i++)
if (s[i] != s[pj-i-1]) return 0;
return 1;
}

main() {
Palindrom kata;
cin >> kata;
cout << kata;
getch();
return 0;
}




# kasus 6.5 Modus dari n buah data berupa bilangan bulat (data antara 1 sampai dengan 10)


Kasus 6.5

 Analisis : 
         Modus adalah bilangan (data) yang paling sering muncul. Dengan kata lain, frekuensi data terbesarlah yang dicari.

         Langkah penyelesaian masalahnya adalah :

        setiap jenis data dihitung frekuensi kemunculannya

        dari frekuensi-frekuensi tersebut dicari frekuensi terbesarnya

#include <iostream>
#include <math.h>

using namespace std;

class HitungStatistik {
friend ostream& operator<<(ostream&, HitungStatistik&);
friend istream& operator>>(istream&, HitungStatistik&);
public:
HitungStatistik();
void hitung_modus();
private:
void maksimum();
void frekuensi();
int maks, item;
int n; 
int A[20]; 
int f[11]; 
};

HitungStatistik::HitungStatistik()
{ for (int i=0; i<20; i++) f[i] = 0; }

istream& operator>>(istream& in, HitungStatistik& a) {
cout << "Banyaknya data : ";
cin >> a.n;
for (int i = 0; i < a.n; i++) {
cout << "Data ke- : " << i+1 << " > ";
cin >> a.A[i];
}
return in;
}

void HitungStatistik::maksimum()
{
maks = f[0];
item = 1;
for (int i=0; i<n; i++)
if (f[i] > maks) {
maks = f[i];
item = i;
}
cout << "Modus = " << item;
}

void HitungStatistik::frekuensi()
{
for (int i=1; i<n; i++) ++f[A[i]];
}

void HitungStatistik::hitung_modus() {
cout << "Frekuensi running\n";
frekuensi();
maksimum();
}

ostream& operator<<(ostream& out, HitungStatistik& a) {
cout << "Mulai ...\n";
a.hitung_modus();
cout << "Nilai modus : " << a.item;
return out;
}

main() {
HitungStatistik run;
cin >> run;
cout << run;
return 0;
}











 

#Kasus 6.4 Algoritma untuk menentukan nilai maksimum dan minimum dari n bilangan.




#include <iostream>
#include <cstdlib>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

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<<"\tMenampilkan Maximum, Minimum, dan Jumlah Sejumlah n Bilangan "<<endl;
  cout<<endl;
}

int maxmin::proses(int n, int max, int min, int jumlah)
{
if(n==0){
   cout<<endl;
   cout<<" NILAI MAKSIMUM       : "<<max<<endl;
   cout<<" NILAI MINIMUM        : "<<min<<endl;
   cout<<" JUMLAH SELURUH DERET : "<<jumlah<<endl<<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;
}



#Kasus 6.3 Algoritma untuk menentukan nilai maksimum dari n bilangan


.



#include <iostream>
#include <math.h>

using namespace std;

class HitungStatistik {
friend ostream& operator<<(ostream&, HitungStatistik&);
friend istream& operator>>(istream&, HitungStatistik&);
public:
int maksimum();
private:
int maksimum2(int, int);
int n;
int A[20];
};

istream& operator>>(istream& in, HitungStatistik& a)
{
cout << "Banyaknya data : ";
cin >> a.n;
for (int i = 0; i < a.n; i++)
{
cout << "Data ke- : " << i+1 << " > ";
cin >> a.A[i];
}
return in;
}

int HitungStatistik::maksimum2(int a, int b)
{ if (a>b) return(a);
else return(b);
}

int HitungStatistik::maksimum()
{ int temp = A[0];
for (int i = 1; i<n; i++)
temp = maksimum2(temp, A[i]);
return(temp);
}

ostream& operator<<(ostream& out, HitungStatistik& a) {
cout << "Nilai terbesar: " << a.maksimum();
return out;
}

main() {
HitungStatistik run;
cin >> run;
cout << run;
return 0;
}



#Kasus 6.2 Nilai deviasi standar dari n buah data.




Nilai deviasi standar  dari n buah data
Analisis :
         Rumus deviasi standar adalah :
         Terlihat bahwa nilai rata-rata dan datanya digunakan kembali. 


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

using namespace std;

class HitungStatistik {
friend ostream& operator<<(ostream&, HitungStatistik&);
friend istream& operator>>(istream&, HitungStatistik&);
public:
float rata();
float STD();
private:
long sqrt(int n) { return(n*n); }
int n;
int A[20];
};

istream& operator>>(istream& in, HitungStatistik& a)
{
cout << "Banyaknya data : ";
cin >> a.n;
for (int i = 0; i < a.n; i++)
{
cout << "Masukkan data ke- : " << i+1 << " > ";
cin >> a.A[i];
}
return in;
}

float HitungStatistik::rata()
{
float total=0;
for (int i = 0; i<n; i++) total = total + A[i];
return(total/n);
}

float HitungStatistik::STD ()
{ float rerata = rata();
float jumlah=0.0;
for (int i = 0; i<n; i++)
jumlah = jumlah + sqrt(A[i] - rerata);
return(sqrt (jumlah/(n-1)));
}

ostream& operator<<(ostream& out, HitungStatistik& a) {
cout << "Rata-rata dari " << a.n;
cout<< " bilangan adalah : " << a.rata() << endl;
cout << "Standar deviasi= " << a.STD();
return out;
}

int main() {
HitungStatistik run;
cin >> run;
cout << run;
return 0;
}

#kasus 6.1


Kasus 6.1 Rata-rata dari n bilangan bulat dengan menggunakan array.

Algoritma :











#include <iostream>
#include <cstdlib>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

using namespace std;

class HitungRATA {
friend ostream& operator<<(ostream&, HitungRATA&);
friend istream& operator>>(istream&, HitungRATA&);
public:
float rata();
private:
int n;
int A[20];
};

istream& operator>>(istream& in, HitungRATA& a) {
cout << "Banyaknya data : ";
in >> a.n;
for (int i = 0; i < a.n; i++) {
cout << "Masukkan data ke- : " << i+1 << " > ";
cin >> a.A[i];
}
return in;
}

float HitungRATA::rata() {
float total=0;
for (int i = 0; i<n; i++) total = total + A[i];
return(total/n);
}

ostream& operator<<(ostream& out, HitungRATA& a) {
cout << "Rata-rata dari " << a.n;
cout << " bilangan adalah : "<< a.rata();
return out;
}

main() {
HitungRATA run;
cin >> run;
cout << run;
return 0;
 }






Refleksi Singkat ALPRO (Algoritma dan Pemrograman) Minggu Ke #7




Refleksi Singkat ALPRO (Algoritma dan Pemrograman)  Minggu Ke #7
selasa tanggal 12 April 2016,jam 07.00-08.40 . ini adalah minggu ke tujuh masuk kuliah dengan pelajaran Alpro (Algoritma dan Pemrograman) dengan dosen Pak Wahyu Pujiono. Pada minggu ke tujuh  ini kita belajar tentang ARRAY. Kemudian pak wahyu menjelaskan tentang materi array dan member tugas tentang bab Array perkelompok dan individu . sebelum di suruh mengerjakan tugas pak wahyu menjelaskan terlebih dahulu materi materi yang menyangkut dengan tugas yang di berikan. 

Jumat, 08 April 2016

#ALPRO Pertemuan ke 6

bangun pagi buat ketemu ALPRO lagi
Seperti biasanya pada awal pertemuan kita dihadapi dengan kuis, yang tentunya luar biasa. Memang cuma ada 2 nomor tapi susahnya mintak ampun,butuh kesabaran ekstra... Kemudian kita sedikit membahas tentang iteratif dan rekursif.


dan kami sedikit membahas programnya:





Seperti itulah pertemuan kami diminggu ke 6. Good bye....

#Kasus 5.6

Diberikan deret Fibonacci sebagai berikut :
1, 1, 2, 3, 5, 8, …

Buatlah fungsi yang menghitung suku ke-n dari deret Fibonacci dengan menggunakan cara rekursif.

Interaktif

Rekursif


#Kasus 5.5

Buatlah fungsi faktorial secara rekursif untuk mencari n!



#Kasus 5.4

Buatlah fungsi perkalian 2 bilangan bulat dengan menggunakan operator penjumlahan.



#Kasus 5.3

Dengan menggunakan fungsi ln dan exp, buatlah fungsi untuk menghasilkan nilai xy



#BAB V

1. cetaklah bilangan 1 sampai dengan 4 menggunakan downto.



2. buatlah translasi dalam bahasa C untuk algoritma 4.5. Apakah diperlukan modifikasi
algoritma ?

Algoritma :

Deklarasi

Hari_ke           :int;
Hari     :string;
Deskripsi
            Read (hari_ke)
            Pilih(hari_ke)untuk
1 : hari ← |senin|;
2: hari ← |selasa|;
3: hari ← |Rabu|;
4: hari ← |Kamis|;
5: hari ← |Jumat|;
6: hari ← |Sabtu|;
7: hari ← |Minggu|;
End{pilih}
Write{hari}



3. Buatlah algoritma dan program untuk mencetak bilangan yang habis dibagi 3 dan 5
antara 1 sampai dengan 100.

Algoritma :


Deklarasi

i           : integer           {bilangan 1 sampai dengan 100}

Deskripsi
Read i
I ß 1 sampai dengan 100
for (int i=1; i<=100; i++)
if (i mod 3==0)
Write i
Else (i mod 5==0)
Write i


4. Hitunglah nilai dari :
1 1 1 1 12
3 4 n
􀀐 􀀎 􀀐 􀀎􀀖􀀎


5. Buatlah algoritma dan program untuk menghitung nilai dari permutasi dan kombinasi n
buah bola yang diambil r bola.
Petunjuk :
Rumus permutasi dan kombinasi adalah sebagai berikut :
( , ) !
( )!
P n r n
n r
􀀠
􀀐
dan ( , ) !
!( )!
C n r n
r n r
􀀠
􀀐
 
Algoritma :
Deklarasi

            hasil,n,k : integer
            proses[2],yesno[2]; character
. Deskripsi
            Read(n,k)
            if(n<k)
            then write("Nilai n tidak boleh lebih kecil dari k")
            else
            write"(Pilih P (permutasi) atau C (kombinasi))"
            if(proses[0]=='p' || proses[0]=='P')
            hasil = faktorial(n)/faktorial(n-k);
            then write("\n \n")
            then write(n,"P",k," : ",hasil)
           
            else if (proses[0]=='c' || proses[0]=='C')
            hasil = faktorial(n)/(faktorial(k) * faktorial(n-k));
            then write("\n \n")
            then write(n,"C",k," : ",hasil)
           
            else
            then write("\n\tAnda tidak memilih P atau C")
            then write("\n\tIngin mengulang? <y/n> ")
            Read(yesno[0])
            if (yesno[0]=='Y'||yesno[0]=='y')
            Y=1
            else if (yesno[0]=='N'||yesno[0]=='n'||yesno[0]!='Y'||yesno[0]!='y')
            Y=0







6. Buatlah algoritma dan program untuk mengkonversi bilangan desimal menjadi bilangan
biner. Petunjuk : Gunakan operator mod dan div !

Algoritma :
Deklarasi

            desimal, pembagi, bit : long
            pembagi=1073741824
 Deskripsi
            Read(desimal)
            while(pembagi>desimal)pembagi/=2
            do
            bit=desimal/pembagi
            then write(bit)
            desimal=desimal%pembagi
            pembagi/=2;
            while(pembagi>=1)
            write("\n")
7. Buatlah algoritma, flowchart dan program untuk menampilkan permutasi dari 3 huruf.
Misalnya diberikan : abc
output :
abc
bca
bac, dan seterusnya

   8.   Buatlah fungsi fibonacci dengan cara iteratif.


      9.     Buatlah fungsi fibonacci dengan 2 cara rekursif yang lain.

10. Algoritma perkalian dengan cara penjumlahan pada algoritma 5.3. belum sempurna karena belum mencakup semua kemungkinan, misalnya untuk harga b negatif. Buatlah fungsi perkalian dengan cara penjumlahan dengan menyempurnakan algoritma 5.3. di atas.
 
Algoritma
Deklarasi :
            x, y, i, hasil : integer
Deskripsi :
            read x
            read y
            hasil <- 0
            for i <- to y do
                        hasil <- hasil + x
            end for
            write hasil
            end
11.  Buatlah algoritma rekursif dari algoritma 5.3.