1 (edited by mico 28-07-2009 00:35:45)

Topic: Info: Jython dan IronPython

Sekedar info bahwa ada juga implementasi bahasa Python dalam bahasa pemrograman lain:
1. Jython: implementasi Python dalam bahasa pemrograman Java. Sehingga dapat 'run' di java Virtual Machine.  Keuntungan: dapat menggunakan kepustakaan Java. Website: http://www.jython.org
2. IronPython: implementasi Python dalam .NET. Keuntungan: dapat menggunakan kepustakaan .NET. Website: http://www.codeplex.com/IronPython

salam,

Mico

Re: Info: Jython dan IronPython

Rekan-rekan, mau share script sederhana dengan Jython (unjuk kemudahan Python/Jython) hehehe:

"""
Kamus Toba Indonesia Jython Version
"""

from javax.swing import JFrame, JMenuBar, JMenu, JMenuItem, JScrollPane
from javax.swing import JPanel, JOptionPane, JTextField, JButton, JTextArea
from java.lang import *
from java.awt import BorderLayout
import pickle

fileinput=open('entry.pickle', 'rb') #fileinput

class Kamus:
  
  def __init__(self):

    self.data = pickle.load(fileinput) #load data
    self.data_len = len(self.data)
    
    # Create frame
    self.frame = JFrame("kamus Toba-Indonesia")
    self.frame.setSize(200, 150)
    self.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
    self.frame.setLayout(BorderLayout())

    # Create menu
    menubar = JMenuBar()
    help_menu = JMenu("Bantuan")
    about_menuitem = JMenuItem('Tentang Program', actionPerformed=self.display_about)
    help_menu.add(about_menuitem)
    menubar.add(help_menu)

    # Set menubar
    self.frame.setJMenuBar(menubar)

    # Create Panel and add swing components and show it.
    pn1 = JPanel()
    pn1.setLayout(BorderLayout())
    self.textfield1 = JTextField('ketik kata bahasa toba', 15)
    pn1.add(self.textfield1, BorderLayout.NORTH)
    self.transButton = JButton('Terjemahkan',actionPerformed=self.trans_text)
    pn1.add(self.transButton, BorderLayout.CENTER)
    pn2 = JPanel()
    self.textfield2 = JTextArea('lalu klik terjemahkan', 6, 15, lineWrap=True, wrapStyleWord=True)
    self.scrollpane = JScrollPane(self.textfield2)
    pn2.add(self.scrollpane)

    # Add panels to frame
    self.frame.add(pn1, BorderLayout.WEST)
    self.frame.add(pn2, BorderLayout.EAST)
    self.frame.pack()
    self.frame.setVisible(True)

  def trans_text(self,event):
    try:
        self.textfield2.text = self.data[self.textfield1.text.capitalize()]
    except KeyError:
        self.textfield2.text = 'Kata tidak ditemukan!'

  def display_about(self, event): 
    about_pane = JOptionPane("Kamus Toba-Indonesia ver.%s\noleh: Mico Siahaan\nEntries: %s" % (__version__, self.data_len), JOptionPane.INFORMATION_MESSAGE)
    about_dialog = about_pane.createDialog(self.frame, "Tentang Program")
    about_dialog.setVisible(True)

# Start off
Kamus()

Simpel 'kan?

hasilnya:
http://lh6.ggpht.com/__JFl2idarik/Sm3ZSf8HcVI/AAAAAAAAAE8/bADS8Ci8z7k/s400/kamus.jpg