[Python Tkinter]: Membalik Suatu Kata (Reverse String)

Halo PythonMania, apa kabar hari ini?
Tak terasa kita ketemu lagi di hari Senin CERIA ini. Untuk Anda yang masih sekolah, saatnya siap-siap berangkat karena aktivitas sekolah sudah kembali normal lagi. Sebagai kado terindah buat Anda di hari ini, kami akan menyajikan sebuah tips Python yang sangat DAHSYAT, yaitu “Bagaimana Membalikkan Suatu Kata pada Program Python?”. So…Langsung aja ke TeKaPe!

Reverse Python

Reverse Python

Soal Algoritma:
Tulislah program untuk membalik suatu string. Sebagai contoh, masukan ‘algoritma’ harus dibalik menjadi ‘amtirogla’.
Masukan dari program ini adalah suatu string. Keluaran dari program ini adalah hasil pembalikan string di atas.
(sumber: Algoritma dan Pemrograman, Antony Pranata, 2000)

Inilah Jawabannya

Python mempunyai 3 (tiga) cara untuk membalikkan suatu kata atau kalimat, yaitu:

  1. Menggunakan slice String.
  2. Menggunakan fungsi reverse()
  3. Menggunakan fungsi reversed(word)

1. Menggunakan slice (=perpotongan) String.
Berikut caranya:
>>> teks = 'algoritma'
>>> teks[::-1]
'amtirogla'

2. Menggunakan fungsi reverse().
String diubah menjadi List dahulu, kemudian dibalik urutannya menggunakan fungsi reverse(). Setelah itu, kita gabung dengan menggunakan fungsi join(). Berikut caranya:
>>> teks = 'algoritma'
>>> balikan = list(teks)
>>> balikan.reverse()
>>> print ''.join(balikan)
amtirogla

3. Menggunakan fungsi reversed(iterator).
Fungsi reversed(iterator) –> akan mengembalikan suatu iterator. Berikut caranya:
>>> teks = 'algoritma'
>>> print ''.join(reversed(teks))
amtirogla

Wow! Ternyata SANGAT MUDAH ya. Dengan Python, membalikkan suatu kata/kalimat sama mudahnya dengan membalikkan tangan kita…hehehe. Untuk versi GUI-nya, silahkan simak koding di bawah ini.

Kode Program:

# file: BalikKata.py
# Deskripsi: program membalik suatu string.
# 		
# Python ver. 2.6
# Sistem Operasi: Debian 6 (squeeze)
# Tgl pembuatan: 7 Januari 2013 @ 06.05 WIB
# Penulis: KlinikPython.wordpress.com
#

from Tkinter import *


class DemoBalikKata:
	def __init__(self, induk, judul):
		self.induk = induk
		
		self.induk.title(judul)
		self.induk.protocol("WM_DELETE_WINDOW", self.tutup)
		self.induk.resizable(False, False)
		
		self.aturKomponen()
		
		self.entInput.focus_set()
		
	def aturKomponen(self):
		# atur frame utama
		mainFrame = Frame(self.induk)
		mainFrame.pack(fill=BOTH, expand=YES)
		
		## atur frame data
		fr_data = Frame(mainFrame, bd=10)
		fr_data.pack(fill=BOTH, expand=YES)
		
		# atur komponen input teks
		self.entInput = Entry(fr_data)
		self.entInput.pack(side=LEFT, expand=YES)
		
		# atur tombol balik kata
		self.btnBalik = Button(fr_data, text='Balik Kata -->',
				command=self.balikKata)
		self.btnBalik.pack(side=LEFT, expand=YES, padx=5)
		
		# atur komponen output teks
		self.entOutput = Entry(fr_data)
		self.entOutput.pack(side=LEFT, expand=YES)
		
		# atur statusbar
		Label(mainFrame, text='www.KlinikPython.wordpress.com',
				bd=1, relief=RIDGE, foreground='blue').pack(
				side=BOTTOM, fill=X)
				
	def balikKata(self, event=None):
		kata = self.entInput.get()
		
		balikan = ''.join(reversed(kata))
		
		self.entOutput.delete(0, END)
		self.entOutput.insert(END, balikan)
		
	def tutup(self, event=None):
		self.induk.destroy()
		
if __name__ == '__main__':
	root = Tk()
	
	app = DemoBalikKata(root, ":: Demo Balik Kata (Reverse String) ::")
	
	root.mainloop()

Tampilan Program:

Tampilan Program Balik Kata.

Tampilan Program Balik Kata.

Woke!…Semoga Bermanfaat dan Salam PythonMania!

About these ads

One comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s