Setelah beberapa hari tidak aktif posting artikel baru, karena sibuk pekerjaan lain, hari ini saya ingin melanjutkan seri belajar python untuk tutorial menghitung jumlah kata di dalam string pada python.
Dalam kasus tertentu kadang kita di perhadapkan dengan kasus seperti ini, dimana perlu melakukan proses pencarian jumlah kata dalam suatu string, kalo tidak mengetahui caranya pasti akan membuat kita cukup kebingungan, padahal kalau tau caranya cukup mudah. Langsung saja simak pembahasannya berikut ini:
Program Python Menghitung Jumlah Kata pada String
Buat sebuah file python di teks editor dengan kode berikut:
import collections
string='PHP PYTHON JAVA PYTHON'
li=string.split(' ')
ambil=collections.Counter(li).most_common()
for kata in ambil:
print("%s\t: %d"%(kata[0],kata[1]))
Penjelasan Kode:
- import collections kode ini berfungsi untuk menginport modul collections karena kita akan menggunakan salah satu kelas di dalam modul tersebut yaitu kelas Counter.
- string=’PHP PYTHON JAVA PYTHON’ Sintak ini untuk membuat objek string dengan nilai yang ditampungnya.
- li=string.split(‘ ‘) Pada bagian ini kita akan memecah setiap kata di dalam string ke dalam list.
- ambil=collections.Counter(li).most_common() Sintak ini berfungsi untuk menghitung cacah atau banyaknya elemen di dalam suatu list. Dengan menggunakan metode most_common() yang merupakan method dari kelas Counter di dalam modul collections.
- Pada bagian akhir program kita menampilkan isi setiap elemen di dalam list ambil.
Hasil:

Dapat di lihat dari hasil output diatas program menunjukan kata ‘PYTHON‘ muncul sebanyak 2 kali ‘PHP‘ dan ‘JAVA‘ masing-masing satu kali sesuai dengan nilai string yang kita buat.
Contoh Lain
Pada contoh kedua kita buat program dengan menggunakan fungsi.
from collections import Counter
def hitungKata(kata, kalimat):
li = kalimat.split(' ')
katas = Counter(li).most_common()
d = {}
for w in katas:
d[w[0]] = w[1]
try:
print("%s : %d" % (kata, d[kata]))
except KeyError as d:
print("%s : 0" % kata)
def main():
kalimat = "Python PHP JAVA Javascript Node.js Python JAVA Node.js"
kata = input("Masukkan kata yang dicari: ")
# mencari jumlah kata
hitungKata(kata, kalimat)
if __name__ == "__main__":
main()
Konsepnya sama dengan program pertama hanya saja disini kata yang ingin di cari kita masukan lewat fungsi input() yang kemudian akan di proses pada fungsi hitungKata(). Untuk mengantisipasi program dapat berjalan dengan baik saat kata yang dimasukan pengguna tidak di temukan di dalam kalimat string maka kita gunakan eksepsi engan blok try … except.

Perhatikan pada contoh output diatas, saya memasukan kata yang di cari adalah ‘Node.js’ maka program akan menampilkan hasilnya bahwa kata tersebut berjumlah 2. Pada percobaan kedua saya memasukan kata ‘HTML’ dan menampilkan nilai 0 karena kata HTML tidak ada di dalam string kalimat.