26 April, 2012

Menentukan Anagram Dengan C

Selamat datang di blog kodeprogramcpp. Pada postingan kali ini saya ingin berbagi kode program C++ menentukan Anagram dengan C++. Bagaimana menentukan dua buah string apakah merupakan string yang Anagram atau tidak pada C++? Mari lihat bersama-sama di kodeprogramcpp. Sebelum membuat programnya, kita perlu mengetahui apakah itu Anagram? Oke, mari lihat bersama-sama
pengertian  dari Anagram terlebih dahulu.

"Anagram adalah salah satu jenis permainan kata, dimana huruf-huruf di kata awal biasa diacak untuk membentuk kata lain atau sebuah kalimat. Anagram sering dipakai sebagai kode. Permainan yang menggunakan anagram antara lain adalah Scrabble dan Boggle."

Metode dari program ini adalah "program akan memeriksa kedua string yang telah diberikan user atau pengguna ke program, dimana string pertama merupakan string pokok dan string yang kedua merupakan string yang berupa karakter acakan dari string pertama".

Untuk pengimplementasiannya ke dalam program C++, teman-teman bisa lihat pada tabel kode program di bawah ini.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
/*
*Title of Program  : Menentukan Anagram suatu string
*Author            : Hendro Pramana Sinaga
*Date              : 26 April 2012
*/

#include <iostream>
#include <string>
using namespace std;

main (int)
{
    int panjang=0;
    char kalimat[20], pembanding[20];
    string salinan, newsalinan;
    bool Anagram = false;

    cout <<"Kalimat : ";
    cin.getline(kalimat, sizeof(kalimat));

    cout <<"Pembanding : ";
    cin.getline(pembanding, sizeof(pembanding));   


    if(strlen(kalimat) > strlen(pembanding))  
    panjang += strlen(kalimat);
    else
    panjang += strlen(pembanding);

     //pengurutan untuk array kalimat[]
    for(int i=0; i<panjang; i++)
    {
        for(int h=panjang-1; h>=0; h--) 
        {
            if(kalimat[h] < kalimat[h-1])
            {
                char tmp = kalimat[h];
                kalimat[h] = kalimat[h-1];  
                kalimat[h-1] = tmp;
            }

        }
    }


    // pengurutan untuk pembanding[]
    for(int i=0; i<panjang; i++)
    {
        for(int h=panjang-1; h>=0; h--)
        {
            if(pembanding[h] < pembanding[h-1])            
            {
                char tmp = pembanding[h];
                pembanding[h] = pembanding[h-1];    
                pembanding[h-1] = tmp;
            }

        }
    }
    //menyalin array ke dalam string
    salinan.assign(kalimat);
    newsalinan.assign(pembanding);


    if(salinan == newsalinan) string equals?
    {
        Anagram = true;
    }


    if(Anagram) //sama artinya dengan if(Anagram==true)      
    cout<<"Anagram"<<endl;
    else
    cout<<"Tidak Anagram"<<endl;

    system("pause");

  return 0;
}



Jika contoh kode program di atas kita eksekusi, maka hasil yang ditampilkan seperti gambar di bawah ini

Menentukan Anagaram Dengan C++

Pada hasil keluaran program yang ditampilkan di atas dapat kita lihat bahwa string kedua memang benar kumpulan karakter acak dari string pertama yang diberikan oleh user atau pengguna, sehingga menghasilkan bahwa kedua string itu adalah "Anagram".

Sekian dulu ya teman-teman untuk kali ini, semoga postingan ini bermanfaat bagi kita semua dalam mempelajari Bahasa C++.
Oke, Salam kodeprogramcpp

4 comments:

  1. Replies
    1. Konsepnya sama aje gan, yang berbeda hanya sintaks dan struktur nya saja. :D

      Delete
  2. perbedaan di syntax buat nahasa C gimana kak?

    ReplyDelete
    Replies
    1. @Gina: Perbedaan sintaksnya yang paling utama itu di bagian input data dari user, dan fungsi assign untuk menyalin array ke dalam string. Itu saja perbedaannya. :)

      Delete

Berikan komentar, Kritik dan saran teman-teman mengenai blog ini. Komentar, Kritik dan saran teman-teman sangat berarti untuk perkembangan Blog ini.
Salam Blogger, salam kodeprogramcpp.

Lihat Juga Berita Pilihan Ini