waktu tersisa untuk klaim promo DISKON 40%. Klaim Promo
Lebih terarah belajar coding melalui Kelas Online dan Interactive Coding Lihat Materi Belajar

Belajar Membuat Aplikasi Text Editor Menggunakan Python Tkinter

Ditulis oleh ayu amaliyah, dipublikasi pada 13 Sep 2019 dalam kategori Tutorial
Belajar Membuat Aplikasi Text Editor Menggunakan Python Tkinter - CodePolitan.com

Hallo teman-teman jumpa lagi dengan penulis kali ini, penulis akan membuat sebuah artikel bagaimana membuat teks editor menggunakan Python Tkinter. Tkinter merupakan salah satu library Python yang berguna saat ingin membuat aplikasi.

Langsung saja untuk membahas bagaimana pembuatan aplikasi text editor ini. Editor yang akan kita buat sekarang memiliki fungsi yang sangat sederhana yaitu menulis teks, menyimpan, serta membuka file berisi teks. Di sini penulis akan menggunakan Pycharm, jika teman-teman belum menginstall aplikasi Pycharm, silahkan bisa langsung menginstallnya di website ini https://www.jetbrains.com/pycharm/download/#section=windows.

Text editor yang dibuat akan seperti ini tampilannya:

Mari kita mulai proses pembuatan aplikasinya. Teman-teman buka dulu IDE Pycharm jika sudah menginstallnya. Lalu untuk membuat project baru, klik File > New Project dan kita akan diarahkan untuk mengisi nama project lalu klik create.

Maka akan tampil seperti dibawah ini :

Setelah itu langsung untuk new dan pilih Python file, dan langsung mengisi nama projectnya teman-teman. maka akan tampil seperti gambar dibawah ini:

Pertama kita impor dulu kelas-kelas Tkinter yang diperlukan.

from tkinter import *
from tkinter import messagebox
from tkinter.filedialog   import asksaveasfilename
from tkinter import filedialog
import os
from tkinter.messagebox import askokcancel

Selanjutnya tulis kode untuk membuat class SimpleEditor dengan inheritence class Frame di Tkinter. Frame merupakan sebuah container yang berfungsi sebagai tempat untuk meletakkan kontrol-kontrol seperti halnya dengan teks label atau tombol. Kenapa memerlukan Frame? Karena kita akan dapat mengatur jendela aplikasi yang memiliki ukuran yang kita inginkan juga untuk meletakkan sebuah label yang sudah dibuat, seperti ini tampilan Frame-nya:

class SimpleEditor(Frame):
    def __init__(self, parent=None, file=None):
        Frame.__init__(self, parent)
        self.frm = Frame(parent)
        self.frm.pack(fill=X)
        self.layoutKolom = Frame(root)
        self.buatNamefile()
        parent.title("Text editor")
        self.buatTombol()
        self.kolomTeksUtama()
        self.indeks = 1.0
        self.path = ''

Setelah selesai, tuliskan kode berikut untuk metode membuat tombol open, save dan exit.

def buatTombol(self):
  Button(self.frm, text='Open',relief='flat',command=self.openFile).pack(side=LEFT)
  Button(self.frm, text='Save',relief='flat',command=self.perintahSimpan).pack(side=LEFT)
  Button(self.frm, text='Exit',relief='flat',command=self.perintahKeluar).pack(side=LEFT)
  • Kenapa harus menggunakan self.frm? Tujuannya dapat membuat frame seperti tempat untuk tombol atau toolbar, karena program disini akan memiliki tombol open, save dan exit di toolbar.
  • Lalu relief='flat' menjadikan tombol open, save, dan exit menjadi tombol yang datar.
  • command=self.openFile digunakan untuk memanggil fungsi dan menjalankan perintah openFile, Save, dan Exit.
  • Apa fungsi .pack(side=LEFT)? Tujuannya untuk membuat layout dengan mengatur tata letak ke sisi sebelah kiri.

Tulis source code dibawah untuk membuat metode kolom text utama dan scrollbar-nya.

def kolomTeksUtama(self):
   scroll = Scrollbar(self)
   kolomTeks = Text(self, relief=SUNKEN)
   scroll.config(command=kolomTeks.yview)
   kolomTeks.config(yscrollcommand=scroll.set)
   scroll.pack(side=RIGHT, fill=Y)
   kolomTeks.pack(side=LEFT, expand=YES, fill=BOTH)
   self.kolomTeks = kolomTeks
   self.pack(expand=YES, fill=BOTH)

Fungsi kolomTeksUtama digunakan untuk menampung semua text program yang telah dibuat oleh teman-teman, bisa di lihat tampilan yang dibuat oleh kolomTeksUtama seperti berikut:

Lalu untuk perintah menyimpan file, masukkan source code seperti dibawah:

def perintahSimpan(self):
  print(self.path)
  if self.path:
      alltext = self.gettext()
      open(self.path, 'w').write(alltext)
      messagebox.showinfo('Berhasil', 'Selamat File telah tersimpan ! ')
   else:
     tipeFile = [('Text file', '*.txt'),('Python file', '*asdf.py'),('All files', '.*')]
     filename = asksaveasfilename(filetypes=(tipeFile),initialfile=self.kolomJudul.get())
     if filename:
         alltext = self.gettext()
         open(filename, 'w').write(alltext)
         self.path = filename

Tuliskan source code berikut untuk perintah exit jika ingin keluar dari text editor. Perintah Frame.quit(self) berfungsi untuk menutup jendela Tkinter.

def perintahKeluar(self):
    ans = askokcancel('Exit', "anda yakin ingin keluar?")
    if ans: Frame.quit(self)

Setelah selesai, sekarang tuliskan source code dibawah agar dapat membaca isi file dan menampilkannya ke dalam jendela aplikasi.

def settext(self, text='', file=None):
    if file:
            text = open(file, 'r').read()
    self.kolomTeks.delete('1.0', END)
    self.kolomTeks.insert('1.0', text)
    self.kolomTeks.mark_set(INSERT, '1.0')
    self.kolomTeks.focus()
def gettext(self):
    return self.kolomTeks.get('1.0', END+'-1c')

Tuliskan source code membuat label "Nama file: ", fungsinya agar dapat membaca nama file yang telah di open tadi dan menampilkannya.

def buatNamefile(self):
    self.layoutKolom.pack(fill=BOTH, expand=1, padx=17, pady=5)
    judul = Label(self.layoutKolom, text="Nama file : ")
    judul.pack(side="left")
    self.kolomJudul = Entry(self.layoutKolom)
    self.kolomJudul.pack(side="left")

Selanjutnya tuliskan source code berikut agar dapat membuka file yang akan di open:

 def openFile(self):
    extensiFile = [ ('All files', '*'), ('Text files', '*.txt'),('Python files', '*.py')]
    open = filedialog.askopenfilename(filetypes = extensiFile)
    if open != '':
       text = self.readFile(open)
       if text:
          self.path = open
          nama = os.path.basename(open)
          self.kolomJudul.delete(0, END)
          self.kolomJudul.insert(END, nama)
          self.kolomTeks.delete('0.1',END)
          self.kolomTeks.insert(END, text)

Untuk membuka file, membaca teks file dan mengembalikan teks file, teman-teman perlu menuliskan kode seperti dibawah ini:

def readFile(self, filename):
    try:
        f = open(filename, "r")
        text = f.read()
        return text
    except:
        messagebox.showerror("Error!!")
        return None

Langkah terakhir tuliskan kode berikut untuk menampilkan aplikasi Tkinter. Fungsi mainloop() bertugas untuk mencegah jendela aplikasi langsung ditutup.

root = Tk()
SimpleEditor(root)
mainloop()

Jika teman-teman Run programnya, makan akan tampil output seperti berikut

Sekarang jika teman-teman klik open, save dan exit makan akan tampil seperti dibawah :

Selamat mencoba yah teman-teman :)

Referensi :

https://www.youtube.com/watch?v=7PGFin30c4o

https://www.youtube.com/watch?v=D24Vx3_IM8U

[http://repository.unpas.ac.id/28589/9/_III%20-%20BAB%20III%20EXPLORASI.pdf](http://repository.unpas.ac.id/28589/9/_III - BAB III EXPLORASI.pdf)

https://www.tutorialspoint.com/python/tk_relief.htm


background

Gabung CodePolitan Membership

Ingin belajar coding secara online dengan lebih terarah? Gabung sekarang dalam program Premium Membership di CodePolitan. Dapatkan ratusan modul belajar pemrograman premium dalam beragam format dengan materi silabus lengkap dan tersusun rapi dari awal hingga mahir.

LIHAT MATERI BELAJAR GABUNG MEMBERSHIP