Workshop
1. Buatlah algoritma dan
subprogram yang cara kerjanya seperti procedure insert di atas.
Misalkan : kata1 = “Algoritma Pemrograman”
kata2 = “dan “
Outputnya :
kata3 = “Algoritma dan Pemrograman”
Coba lakukan secara manual huruf demi
huruf dari kata2 yang disisipkan ke kata1.
Perhatikan letak indeks dari kata1 yang
akan memperoleh tambahan kata2.
using namespace std;
int main(int argc, char** argv)
{
string
a,b;int c;
cout<<"kalimat
pertama : ";
getline(cin,
a);
cout<<"kalimat
kedua : ";
cin>>b;
cout<<a<<endl;
cout<<"Menyisipkan
kata pada karakter ke : ";cin>>c;
a.insert(c,
b+" ");
cout<<a;
return
0;
}
2. Buatlah algoritma dan program
untuk mengubah string menjadi bergantian huruf besar
dan kecil.
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();
}
3. Buatlah
algoritma dan program untuk menghitung jumlah kata dalam suatu kalimat.
using namespace std;
int main()
{
char kalimat[100];
int i, spasi=0;
cout << "\n\t\t - Program
Menghitung Kata Dalam Sebuah Kalimat -\n";
cout <<
"\t==================================================================\n\n";
cout << "\t Masukan Sebuah
Kalimat : ";
cin.getline(kalimat, sizeof(kalimat));
for(i=0; kalimat[i]; i++)
{
if(isspace (kalimat[i]) || ispunct
(kalimat[i]))
{
spasi++;
}
}
cout << "\t Jumlah Kata =
" << spasi +1 << "\n\n";
cout << "\t Kata yang anda
masukan adalah : \n";
cout << "\t ";
for(i=0; kalimat[i]; i++)
{
if(isspace (kalimat[i]) || ispunct
(kalimat[i]))
{
spasi++;
cout << "\n";
cout << "\t";
}
cout << kalimat[i];
}
cout << "\n";
cout <<
"\t==================================================================\n\n";
cout << "\n";
getchar();
}
4. Diberikan class Vektor berikut
ini.
class
Vektor {
friend
ostream& operator<<(ostream&, Vektor&);
friend
istream& operator>>(istream&, Vektor&);
friend
class SPL;
public:
Vektor();
void
penjumlahan_vektor(const Vektor& A, const Vektor& B);
void
perkalian_vektor(float k, const Vektor& A);
void
beri_nilaiBanyak(int);
private:
int
elemen[100];
int
banyak; };
Sebuah
vektor yang disimpan menggunakan array, dapat dipandang sebagai vektor baris
maupun
vektor kolom. Method penjumlahan_vektor didefinisikan sebagai penjumlahan
elemenelemen
Vektor
A dan Vektor B pada indeks yang sama. Method perkalian_vektor didefinisikan
sebagai
perkalian Vektor A dengan skalar k. Sementara method beri_nilaiBanyak
menunjukkan
berapa
banyak elemen dari suatu vektor. Lengkapi isi method di atas sehngga sesuai
dengan
definisi yang diberikan.
using namespace std;
class Vektor {
friend ostream&
operator<<(ostream&, Vektor&);
friend istream&
operator>>(istream&, Vektor&);
friend class SPL;
public:
Vektor();
void penjumlahan_vektor(const
Vektor& A, const Vektor& B);
void perkalian_vektor(float k, const
Vektor& A);
void beri_nilaiBanyak(int);
private:
int elemen[100];
int banyak; };
int main(int argc, char** argv) {
return
0;
}
Latihan
1. Buatlah algoritma dan subprogram yang cara
kerjanya seperti function pos di atas.
2. Buatlah algoritma dan function dalam bahasa C
untuk menggantikan strlen, yaitu
mengetahui panjang suatu string
using namespace std;
int main(int argc,
char** argv) {
string a;
cout<<"Masukkan
Kalimat : ";getline(cin,a);
cout<<a<<endl;
cout<<"Panjang
Karakter : "<<a.size();
return 0;
}
3. Buatlah algoritma dan function
untuk mengubah huruf besar menjadi huruf kecil,
kemudian buatlah function untuk mengubah
string menjadi string yang hurufnya huruf
besar semua.
using namespace std;
int main(int argc,
char** argv)
{
string a;
cout<<"masukkan
kalimat : ";
getline(cin,a);
int b =
a.length();
cout<<"dalam
bentuk kapital : ";
for(int
c=0;c<=b;c++)
{
a[c]=toupper(a[c]);
cout<<a[c];
}
cout<<endl;
cout<<"dalam
bentuk huruf kecil : ";
for(int
d=0;d<=b;d++)
{
a[d]=tolower(a[d]);
cout<<a[d];
}
cout<<endl;
return 0;
}
EmoticonEmoticon