Kembali lagi pada seri tutorial latihan logika python. Pada pertemuan sebelumnya kita telah membahas cara mencari nilai maksimum dan minimum dari sebuah list.
Dan pada pertemuan kali ini, kita akan membuat program untuk menghitung jumlah huruf vokal yang terdapat pada suatu kata.
Skenario Kasus
Alur programnya kira-kira seperti ini:
- Kita akan minta user untuk memasukkan sebuah teks
- Kemudian kita akan menampilkan jumlah huruf vokal pada teks tersebut
Contoh Output
Contoh outputnya seperti ini:
Tuliskan teks; Indonesia Adalah Negeri Sejuta Pulau
Total karakter: 36
Total huruf vokal: 17
a -> 6
i -> 3
u -> 3
e -> 4
o -> 1
Skenario Solusi
Kita akan mencoba memecahkan kasus ini menggunakan dua cara:
-
Cara konvensional alias manual. Pada cara ini kita akan menggunakan perulangan for untuk memeriksa tiap karakter yang terdapat pada suatu teks.
- Setiap kali kita menemukan huruf vokal, kita akan mencatat jumlahnya.
- Pada akhir iterasi, kita akan mendapatkan jumlah keseluruhan huruf vokal.
-
Cara modern yang lebih “python”. Pada cara ini kita akan menggunakan fitur-fitur bawaan pada python yang jauh lebih singkat dan sederhana.
Sebelum Memulai Program
Agar bisa mengikuti tutorial ini dengan baik, pastikan kalian telah familiar dengan dasar-dasar python seperti:
Cara 1: Konvensional
Pada cara pertama ini, kita akan melakukan iterasi tiap karakter pada suatu teks. Kita bisa melakukannya dengan blok kode for sederhana seperti contoh berikut:
teks = 'Halo! π'
# melakukan perulangan pada tiap karakter
for karakter in teks:
print(karakter)
Output:
H
a
l
o
!
π
Nah, sebelum memulai ngoding inti logikanya, kita mulai dulu beberapa persiapan seperti:
- Meminta user untuk menginputkan sebuah teks kemudian mengubahnya menjadi huruf kecil.
- Menyiapkan variabel untuk menyimpan huruf vokal dan variabel pendukung lainnya.
teks = input('Tuliskan teks: ').lower()
huruf_vokal = {
'a': 0,
'i': 0,
'u': 0,
'e': 0,
'o': 0
}
total_huruf_vokal = 0
Buat Perulangan
Langkah selanjutnya adalah melakukan perulangan pada tiap karakter dari variabel teks
, lalu memeriksa apakah karakter tersebut termasuk dari huruf vokal atau bukan.
Kira-kira kode programnya seperti ini:
for karakter in teks:
if karakter in ['a', 'i', 'u', 'e', 'o']:
huruf_vokal[karakter] += 1
total_huruf_vokal += 1
Tampilkan hasil perhitungan:
print(f'Total karakter: {len(teks)}')
print(f'Total huruf vokal: {total_huruf_vokal}')
print(f"""\
a -> {huruf_vokal['a']}
i -> {huruf_vokal['i']}
u -> {huruf_vokal['u']}
e -> {huruf_vokal['e']}
o -> {huruf_vokal['o']}\
""")
Output:
Tuliskan teks: Indonesia Adalah Negeri Sejuta Pulau
Total karakter: 36
Total huruf vokal: 17
a -> 6
i -> 3
u -> 3
e -> 4
o -> 1
Cara 2: Menggunakan Fungsi string.count(), dictionary.keys() dan dictionary.values()
Pada cara kedua ini, kita akan memanfaatkan beberapa fungsi bawaan python. Fungsi inti yang kita gunakan adalah fungsi string.count()
.
Fungsi tersebut bertugas untuk menghitung berapa kali kemunculan suatu karakter/teks pada sebuah string.
Perhatikan contoh berikut:
# ada berapa huruf a dalam kata "Surabaya"?
print("Surabaya".count('a')) # output -> 3
# ada berapa teks "ta" pada string "rata-rata"?
print("rata-rata".count("ta")) # output -> 2
1. Persiapan
Pertama-tama, kita lakukan persiapan terlebih dahulu:
teks = input('Tuliskan teks: ').lower()
dictionary_huruf_vokal = {
'a': 0,
'i': 0,
'u': 0,
'e': 0,
'o': 0
}
2. Proses Inti
Kemudian, kita bikin proses intinya:
for huruf_vokal in dictionary_huruf_vokal.keys():
dictionary_huruf_vokal[huruf_vokal] = teks.count(huruf_vokal)
Penjelasan:
- Pada kode program di atas, kita tidak melakukan perulangan untuk tiap karakter dari variabel
teks
, tapi yang kita lakukan adalah melakukan perulangan dari karaktera
,i
,u
,e
,o
.- Fungsi
dictionary_huruf_vokal.keys()
akan mengembalikan sebuah list yang berisi setiap key dari dictionary tersebut.
- Fungsi
- Kemudian, kita menghitung jumlah kemunculan tiap huruf vokal dengan perintah
teks.count(huruf_vokal)
lalu menyimpan hasilnya pada variabeldictionary_huruf_vokal
.
3. Menghitung Jumlah Keseluruhan
Setelah menyimpan jumlah kemunculan dari masing-masing huruf vokal dalam sebuah dictionary, kita akan menghitung totalnya menggunakan gabungan fungsi sum()
dan list hasil kembalian dari fungsi dictionary.values()
.
total_huruf_vokal = sum(dictionary_huruf_vokal.values())
Fungsi dictionary.values()
adalah kebalikan dari dictionary.keys()
, gunanya adalah untuk mengambil setiap value dari dictionary yang bersangkutan dalam bentuk sebuah list.
Kemudian list tersebut kita totalkan menggunakan fungsi sum()
.
4. Tampilkan Output
Langkah berikutnya adalah menampilkan hasil perhitungan jumlah total huruf vokal pada teks tersebut:
print(f'Total karakter: {len(teks)}')
print(f'Total huruf vokal: {total_huruf_vokal}')
print(f"""\
a -> {dictionary_huruf_vokal['a']}
i -> {dictionary_huruf_vokal['i']}
u -> {dictionary_huruf_vokal['u']}
e -> {dictionary_huruf_vokal['e']}
o -> {dictionary_huruf_vokal['o']}\
""")
Contoh Output:
Tuliskan teks: Soekarno
Total karakter: 8
Total huruf vokal: 4
a -> 1
i -> 0
u -> 0
e -> 1
o -> 2
Kesimpulan
Kita telah membuat program untuk menghitung jumlah kemunculan huruf vokal pada suatu teks. Program yang kita buat ada 2:
- Yang pertama menggunakan cara konvensional atau manual.
- Dan cara yang kedua menggunakan beberapa fungsi bawaan python.
Meskipun berbeda, tetapi keduanya tetap menghasilkan output yang sama. Begitulah cara kerja logika pemrograman: kode dan alur tidak harus sama, asalkan outputnya sesuai yang diharapkan.
Kode Program Lengkap
Jika kalian ingin mendapatkan kode program lengkap dari pertemuan kali ini, kalian bisa mendapatkannya pada repositori python-latihan-logika di github.
Jangan lupa kasih star ya!βπ
Pertemuan Selanjutnya
Insyaallah pada pertemuan yang akan datang kita akan membuat program untuk mingibih hirif vikil pidi pythin!!
Gimana caranya?
Simak terus tutorial latihan logika python di jagongoding!
Jika ada pertanyaan atau sesuatu yang ingin didiskusikan, atau bahkan request tutorial, jangan sungkan-sungkan untuk berkomentar, ya! π
Terima kasih banyak!