Menentukan Dua Buah Kata Termasuk Anagram Atau Tidak Dengan Java

Anagram adalah salah satu jenis permainan kata yang huruf-huruf di kata awal biasanya diacak untuk membentuk kata lain atau sebuah kalimat. Anagram sering dipakai sebagai kode. Permainan yang menggunakan anagram antara lain adalah scrabble dan boggle. Dalam kedua permainan ini, pemain berusaha membentuk kata-kata dari huruf yang disediakan [source wiki]

Contohnya :

ABC  dengan BCA atau ACB atau BAC adalah Anagram

 
Kenapa demikian?

Karena setiap satu huruf di kata pertama, dimiliki oleh kata kedua dengan jumlah yang sama. Jadi jika kata pertama mengandung huruf A sebanyak 1, maka dikata kedua juga harus memiliki huruf A sebanyak 1. Jika dikata pertama mengandung huruf B sebanyak 2, maka dikata kedua juga harus memiliki huruf B sebanyak 2, begitu seterusnya.

ABC dengan BBA atau ABBC atau ABCA atau ABA atau BAA bukan merupakan Anagram

 
Kenapa demikian?

Seperti yang dijelaskan pada contoh kasus yang Anagram, pada contoh kasus yang kedua ini, huruf yang ada pada kata pertama dan kata kedua itu sama, namun jumlahnya berbeda (pasti ada yang berbeda jumlahnya). Itulah yang membedakan kenapa pada contoh kedua ini bukan merupakan Anagram

 

Mencari deret fibonacci dengan Java

Berikut ini saya akan berikan 2 method yang dapat digunakan untuk mencari apakan dua kata termasuk Anagram atau tidak.

 

Method I

Pada method ini yang pertama dilakukan adalah mengurutkan kata pertama dan kata kedua dari awal sampe akhir (urutan berdasarkan abjad a-z).

Yang digunakan untuk mengurutkan adalah kode Arrays.sort(chars1). Maka dari inputannya bca akan berubah menjadi abc. Tujuannya adalah biar program mundah mendeteksi berapa jumlah setiap hurufnya jika sudah di urutkan.

Jadinya akan begini :

CCABD dan BACD, setelah dilakukan sort maka akan menjadi ABCCD dan ABCA, maka sudah ketahuan kalau kedua kata itu bukan merupakan Anagram

Yang menetukan jumlahnya sama atau tidak adalah pada bagian if yaitu Arrays.equals(chars1, chars2). Paham kan ya?

Baca juga : Cara menampilkan gambar dari database MySQL menggunakan PHP

Method II

Pada method yang kedua ini saya rasa lebih kompleks dari pada method yang pertama karena lebih banyak main logic dari pada fungsi yang sudah ada di java.

Yang pertama adalah melakukan pengecekan jumlah kata pertama dan kata kedua harus sama jumlahnya, jika beda jumlahnya sudah dipastikan itu bukan Anagram.

Baca juga : Membuat kalkulator sederhana dengan Java Netbeans (Disertai penjelasan detail)

Yang kedua melakukan pengecekan setiap hurufnya antara kata pertama dan kata kedua, sebelum ditentukan apakah itu anagram atau bukan

Yang terakhir menentukan Anagram atau tidaknya. Pada method ini juga dapat mengetahui huruf mana saja yang menyebabkan dua buah kata itu tidak Anagram dan berapa jumlahnya.

Bagaimana jika ada huruf besar dan kecil?

Tidak masalah, jika kasus kalian mengharuskan antara huruf besar dan kecil adalah sama maka gunakan fungsi .toLowerCase().

Jika kasus kalian mengharuskan membedakan antara huruf besar dan kecil maka fungsi .toLowerCase() tidak perlu digunakan.

Cara Pemakaian Method

Hasilnya

 

Hasil yang Anagram

 

Hasil bukan Anagram

Sekian tutorial kali ini, kalian bisa gunakan yang mana saja boleh, keduanya sama dapat menentukan dua buah kata itu Anagram atau tidak.

(Visited 152 times, 1 visits today)



Baca juga :


About The Author

Related Posts

Add Comment

Berlangganan Artikel

Untuk mendaftarkan tutorial pemrograman terbaru dari putuguna[dot]com, silakan tuliskan email kalian dibawah ini