Pertemuan Ke-6, Kasus 6.6
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 palindrom.
Algoritma :
Deklarasi : integer i,pj;
Deskripsi : palindrom=true{diasumsikan benar,dibuktikan dengan penyangka}
pj=leght(s)
for i=1 to(pj div 2)do
if(s[i]<>s[pj-i+1])then palindrom=false;
Flowchart :
Program Dev C++ :
#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;
}
Sekian dan Terima Kasih, Semoga Bermanfaat.
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 palindrom.
Algoritma :
Deklarasi : integer i,pj;
Deskripsi : palindrom=true{diasumsikan benar,dibuktikan dengan penyangka}
pj=leght(s)
for i=1 to(pj div 2)do
if(s[i]<>s[pj-i+1])then palindrom=false;
Flowchart :
Program Dev C++ :
#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;
}
Sekian dan Terima Kasih, Semoga Bermanfaat.
Comments