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();
}
#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
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;
}
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 <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;
}
#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;
}
#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;
}
#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;
}
#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;
}
#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
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
#BAB V
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
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.
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.
Misalnya
diberikan : abc
output
:
abc
bca
bac,
dan seterusnya
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
Langganan:
Postingan (Atom)