Skip to content

Instantly share code, notes, and snippets.

@pebbie
Created May 27, 2016 10:50
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save pebbie/f7117c4f3c1151605e5e2d3867187be8 to your computer and use it in GitHub Desktop.
Save pebbie/f7117c4f3c1151605e5e2d3867187be8 to your computer and use it in GitHub Desktop.
database glossarium.db unduh di https://goo.gl/rKb4EB
# -*- coding: utf-8 -*-
"""
Aplikasi Glosarium Bahasa Inggris - Bahasa Indonesia
ditulis ulang berdasarkan data dari aplikasi Glosarium versi Pusat Bahasa (Windows only) thn 2006
oleh Peb Ruswono Aryan (2016)
bergantung pada paket : PySide
"""
kata_pengantar = """
KATA PENGANTAR
KEPALA PUSAT BAHASA
Perkembangan ilmu dan teknologi yang begitu pesat memacu
perkembangan bahasa, khususnya mutu daya ungkap bahasa Indonesia.
Peningkatan mutu daya ungkap itu dilakukan melalui pengembangan
peristilahan bahasa Indonesia dalam berbagai bidang ilmu. Untuk itu, Pusat
Bahasa telah mengembangkan istilah bidang ilmu dasar yang meliputi (1)
Biologi, Fisika, Kimia, Matematika; (2) ilmu terapan meliputi: Farmasi,
Kedokteran, Kedokteran Hewan, Perhutanan, Perikanan, Pertanian,
Peternakan, Teknik Automotif, Teknik Dirgantara, Teknik Kapal Terbang,
Teknik Kimia, Teknik Mesin, Teknik Pertambangan, Teknik Sipil, Teknologi
Informasi; (3) ilmu humaniora meliputi: Agama Islam, Antropologi,
Arkeologi, Ekonomi, Filsafat, Fotografi dan Film, Ilmu Politik, Keuangan,
Komunikasi Massa, Linguistik, Pendidikan, Sastra, dan Sosiologi .
Himpunan istilah ini merupakan hasil pembakuan istilah bersama
Brunei Darussalam, Indonesia, dan Malaysia dalam wadah Majelis Bahasa
Brunei Darussalam-Indonesia-Malaysia (Mabbim). Pengembang­an istilah itu
melibatkan ratusan pakar bidang ilmu dari berbagai lembaga pemerintah
ataupun swasta, bersama pakar bahasa, dalam memadankan istilah asing
setiap bidang ilmu ke dalam bahasa Indonesia. Semua istilah dalam berbagai
bidang ilmu tersebut disatukan dan diselaraskan. Penyelarasan itu dilakukan
antarsubbidang ilmu dalam satu bidang ilmu dan antarilmu. Dari hasil
penyelarasan itu terjadi penyusutan sehingga glosarium pada edisi ini hanya
memuat 182.415 istilah.
Glosarium ini diharapkan dapat mempermudah masyarakat dalam
mencari padanan istilah dari bahasa Inggris ke dalam bahasa Indonesia untuk
keperluan ekspresi dan komunikasi ilmiah Indonesia. Pengayaan bahasa
Indonesia melalui pengembangan istilah ini diharapkan dapat mengangkat
bahasa Indonesia sejajar dengan bahasa utama dunia.
Jakarta, 31 Oktober 2006 Dr. Dendy Sugono
"""
daftar_penyusun = """
Kimia
Dr. Ir. Suminar S. Achmadi
Dra. Patimah Murwani
Dra. Susilawati
Drs. Agus Taufiq
Prof. Dr. Soekeni Soedigdo
dr. Budi Sampurna
dr. Siswandi Budiono
dr. Djaja Suryatmadja
Dr. Ir. Dedi Ferdiaz
Dr. Ir. M.S. Saeni
Dr. Padmono
Drs. Hendra Setiawan
Prof. Dr. Nur Mandsyuriah Surdia
Prof. Dr. P. Sudigdo
Prof. Dr. Djokosudarmo
Dr. Ir. M.S. Saeni
Dr. Haryoto
Drs. Hendra Setiawan
Drs. Triyanto Hadisoemarto, M.Sc.
Drs. Nabil Makarim, M.P.A.
Dra. Susilowati
Dra. Nuk Milyarwani
dr. Ardi Kaptiningsih
Ir. Sanjaya
Ir. Wanto Edi Purwono
Dr. Ir. Sarwono Hardjowigeno
Fisika
Prof. Dr. H. Yohannes
Prof. Dr. Liek Wilardjo
Prof. Dr. Sumartono Prawirasusanto
Dr. Suwarto Martosudirjo
Prof. Dr. Herman Yohannes
Drs. H.C.Yohannes
Dr. Muslim
Dr. Anggraita Pramudita
Prof. Dr. A. Baiquni
Dr. Dimsiki Hadi
Dr. Nilyardi Kahar
Dr. Karyono
Dr. Suwarto Martosudirdjo
Dr. Peter Soedojo
Dr. Kirbandi Brotopuspito
Dr. Adhi Susanto
Dr. Waluyo
Ir. Sutanto, M.Sc.
Dr. Sutrisno
Matematika
Dr. Bana Kartasasmita
Dr. Belawati Widjaja
Dr. Djati Kerami
Prof. Dr. Andi Hakim Nasoetion
Prof. Dr. M. Ansjar
Ir. Itasia Dina
Dr. Sutawanir Darwis
Dra. Kiki Ariyanti, M.Sc.
Dra. Bevina D.H., M.Sc.
Dra. Harlili W.S. Budhi
Drs. Koko Martono
Drs. Woro Setya Budhi
Drs. Yusuf Yahya, M.A.T.
Drs. Gatot Fatwanto, M.Sc.
Drs. Hendrisman Rahim, M.Sc.
Drs. Sapto Trilaksono, M.Sc.
Dr. Aunuddin
Siswandi, Ph.D.
Frederik M. Poyk, M.Sc.
Nachrawi, M.Sc.
Ir. Krishna Murti Hasibuan, M. Biomath.
Ir. Itasia Dina
Dra. Irawati
Prof. Dr. Barizi
Biologi
Prof. Dr. Indrawati Gandjar
Dr. Ir. Ratna Siri Hadioetomo
Prof. Dr. Mien A. Rifai
Dr. Atmadja Hardjamulia
Dr. Soenartono Adisoemarto
Prof. Dr. Achmad Baihaki
Prof. Dr. Dakimah Dwidjoseputro
Prof. Dr. Edi Guhardja
Dr. Elizabeth A. Widjaja
Prof. Ir. Gembong Tjitrosoepomo
Prof. Dr. Ir. Sutrisno Hadi
Dra. Ibkar Hasiana Kramadibrata
Prof. Dr. Sukaya Somadikarta
Dr. Kartono Muhamad
Dr. Singgih Sigit
Dra. Sri Hajati Widodo
Dr. Djoko Iskandar
Prof. Dr. Ir. Sitti Soetarmi
Prof. Dr. Nawangsari Sugiri
Prof. Dr. S. Somadikarta
Pertanian
Dr. Ir. Bambang Purwoko
Dr. Ir. Sudirman Yahya
Dr. Muhamad Jazuli
Dr. Ir. Amir Sumintapura
Dr. Hary Hardjakusuma
Ir. Siti Nurisyah
Ir. Qodarian Pramukanto
Dr. Aunu Rauf
Dr. Tarkus Suganda
Dr. Abdul Karim Makarim
Dr. Sudarsono
Keuangan
Drs. Jan Hoesada, M.M.
Drs. Sumarso S.R.
Drs. Herwidiyatmo
Drs. M. Hassan Potabuga
Mikael R. Budisatrio, S.E.
Drs. Sumarso, S.R.
Hinsa Siahaan, S.E.
T. Roslyana Siahaan, S.E.
Drs. Ladiman Djaiz
I Nyoman Tjager, S.H., M.A.
T. Baringin Gultom, S.E.
Linguistik
Dr. Abdul Wahab
Prof. Dr. T.A. Ridwan
Dr. Myrna Laksman
Prof. Dr. T. Fatimah Djajasudarma
Prof. Dr. Basuki Suhardi
Teknologi Informasi
Dr. Ir. Titon Dutono, M.Eng.
Dr. Onno W. Purbo
Ir. Gunarso
Rully Soelaiman, S.Kom.
Farmasi
Prof. Dr. Goeswin Agoes
Prof. Dr. Achmad Mursyidi, M.Sc., Apt.
Prof. Dr. Elin Yulinah
Dra. Sabarijah WittoEng, S.K.M.
Perhutanan
Ir. Haryanto
Prof. Dr. Ir. Achmad Sulthoni
Dr. Ir. A. Machmud Thohari
Dr. Ir. Cahyo Wibowo, M.Sc.
Dr. Ir. Wasrin Syafii, M.Agr.
Ir. Yoyo Untario
Kedokteran Hewan
Prof. Dr. Emir A. Siregar
Prof. Dr. Soesanto Mangkoewidjojo
drh. Wirasmono Soekotjo
Peternakan
Dr. Ir. Sri Supraptini Mansjoer
Ir. Sriharini
Dr. Ir. Kustantinah, D.E.A.
Perikanan
Dr. Ir. M. Zairin Jr.
Dr. Ir. Wisnu Gunarso
Prof. Dr. Kamiso N.
Ir. Fredinand Yulianda, M.Sc.
Ir. Gatot Yulianto, M.Sc.
Dr. Ir. Sukaya Sastrawibawa
Teknik Mesin
Prof. Dr. Ir. Darmawan Harsokoesoemo
Ir. Arief Darmawan
Ir. Budi Utomo Kukuh Widodo, M.E.
Teknik Kapal Terbang
Dr. Ir. Ing- Putu M. Santika
Dr. Ir. Ing- Darwin Sebayang
Ir. Rudi Ruslandi
Ir. Pramandoro
Teknik Automotif
Dr. Ir. I Made Suardjaja, M.Sc.
Ir. Arief Darmawan
Ir. Budi Utomo Kukuh Widodo, M.E.
Teknik Dirgantara
Prof. Dr. Harijono Djojodihardjo
Dr. Rika Andiarti
Dipl. Ing- Djakaria Wiradisurya
Teknik Listrik
Dr. Ir. Rekario
Dr. Ir. Titon Dutono, M.Eng
Ekonomi
Dr. Faisal Basri, S.E., M.A.
Ninasapti Triaswati, Ph.D.
Imam Rasyidi, S.E.
Dr. Karyaman Muchtar
Setio Anggoro Dewo, S.E., M.B.A.
Dr. Usman Hardi
R.H. Ahmadi, S.E., M.Sc.
Antropologi
Prof. Dr. T. Jacob
Drs. Jajang Gunawijaya
Drs. Ph. Subroto
Sosiologi
Prof. Dr. Kamanto Sunarto
Dr. Muhtar Mas'oed
Dr. Gumilar R. Sumantri
Politik
Drs. Haryadi, M.Si.
Drs. Soegiono, M.A.
Drs. Arry Bainus, M.A.
Dr. Andi A. Malarangeng
Dr. Chusnul Mariyah
Dra. Nuri Suseno
Drs. A.A.G. Wisnumurti, M.Si.
Prof. Dr. Rusadi Kantaprawira
Drs. H. Thabrani, M.A.
Kedokteran
Dr. T. Triyatmo Rachimhadi
Prof. Dr. Sidarta Ilyas
dr. Sugito Wonodirekso
dr. Menaldi Rasmin
Prof. Dr. Nurul Akbar
dr. Sumarni A. Adjung
Prof. Dr. dr. Sudigdo S.A.
dr. Gentur Sudjatmika
dr. Dohar A.L. Tobing, Sp. B.O.
dr. Peni
Prof. Dr. dr. Nurbaiti Iskandar
dr. Angela T.
Komunikasi Massa
Drs. Lilik Arifin, M.A.
Drs. Soleh Sumirat, M.A.
Drs. Ana Nadya Abrar
Dra. Anna
Drs. Iswanto Yarman
Drs. Sunarto Prayitno, M.A.
Hartono, B.A.
Teknik Pertambangan
Prof. Ir. Partanto Prodjosoemarto
Dr. Eng. Prabowo, M.Eng
Fotografi dan Film
Harun Suwardi, S.Sn.
Drs. Muhammad Jufry, M.Si.
Filsafat
Dr. Sugeng Hardianto
Dr. J. Sudarminta
Dr. Antonius Sudiardja
Arkeologi
Prof. Dr. Timbul Haryono
Dr. Agus Aris Munandar
Drs. Machi Suhadi
Pendidikan
Prof. Dr. Ki Supriyoko
Prof. Dr. Munandir
Prof. Dr. Nana M. Fatah
Prof. Dr. Anah Suhaenah
Prof. Dr. Dali S. Naga
Dr. Zainal Rafli, M.Pd.
Drs. Hirmana Wargahadibrata, M.Sc.Ed.
Dra. Netty Hartati, M.Psi.
Dr. Hermana Somantri, M.A.
Prof. Dr. Tb. Abin Sjamsudin Makmun, M.A
Agama Islam
Prof. Dr. H.M. Amin Suma, M.A., S.H.
Prof. Dr. Syamsul Anwar, M.A.
Dr. Asep Usman Ismail, M.A.
Drs. H. M. Amiur Nuruddin, M.A.
Drs. H. Afifi Abbas Fauzi, M.A.
Drs. H.M. Hidayat, M.B.A.
Dr. Mulyadi Kartanegara, M.A.
Prof. Dr. Sirajuddin Zar, M.A.
Dr. Yusuf Rahman
Prof. Dr. H.M. Natzir, M.A.
Dr. Asep Usman Ismail, M.A.
Teknik Kimia
Ir. Syamsuddin Affandi, S.U.
Ir. Panut Mulyono
Teknik Sipil
Prof. Dr. B.S. Suwondo
Prof. Ir. Sidarta S. Kamarwan
Ir. Marthaleni Siregar
Sastra
Prof. Dr. Sapardi Djoko Damono
Dr. Edwar Djamaris
Prof. Dr. Budi Darma
Prof. Dr. Rachmat Djoko Pradopo
Prof. Dr. Yus Rusyana
Dr. Faruk H.T.
Dr. Melani Budianta
Drs. Yacob Sumardjo
"""
import os
import sys
from PySide import QtCore, QtGui
import sqlite3
try:
from HTMLParser import HTMLParser
except:
from html.parser import HTMLParser
h = HTMLParser()
class FormWidget(QtGui.QWidget):
def __init__(self, parent=None):
super(self.__class__, self).__init__(parent)
self.initComponents()
self.db = None
self.dbname = "glossarium.db"
self.openDatabase()
self.listKategori()
if not os.path.exists(self.dbname):
mbox = QtGui.QMessageBox()
mbox.setText("glossarium.db tidak ditemukan")
sys.exit(mbox.exec_())
def initComponents(self):
main_layout = QtGui.QVBoxLayout()
sublayout = QtGui.QHBoxLayout()
label = QtGui.QLabel("Bidang")
sublayout.addWidget(label)
self.katCombo = QtGui.QComboBox()
self.katCombo.addItem(u"Semua")
sublayout.addWidget(self.katCombo)
main_layout.addLayout(sublayout)
sublayout = QtGui.QHBoxLayout()
self.full = QtGui.QRadioButton("Persis")
self.full.toggle()
self.starts = QtGui.QRadioButton("Diawali")
self.ends = QtGui.QRadioButton("Diakhiri")
self.has = QtGui.QRadioButton("Memuat")
sublayout.addWidget(self.full)
sublayout.addWidget(self.starts)
sublayout.addWidget(self.ends)
sublayout.addWidget(self.has)
main_layout.addLayout(sublayout)
sublayout = QtGui.QHBoxLayout()
self.langCombo = QtGui.QComboBox()
self.langCombo.addItem(u"Kata Asing")
self.langCombo.addItem(u"Kata Indonesia")
#label = QtGui.QLabel("istilah")
#sublayout.addWidget(label)
sublayout.addWidget(self.langCombo)
self.edit_en = QtGui.QLineEdit()
sublayout.addWidget(self.edit_en)
btn = QtGui.QPushButton("Cari")
sublayout.addWidget(btn)
btn.clicked.connect(self.cari)
main_layout.addLayout(sublayout)
self.resultTab = QtGui.QTableWidget()
self.resultTab.setColumnCount(3)
self.resultTab.setRowCount(0)
hheader = QtGui.QHeaderView(QtCore.Qt.Orientation.Horizontal)
hheader.setResizeMode(QtGui.QHeaderView.ResizeToContents)
self.resultTab.setHorizontalHeader(hheader)
self.resultTab.setHorizontalHeaderLabels([u"English", u"Indonesia", u"Kategori"])
main_layout.addWidget(self.resultTab)
self.setLayout(main_layout)
self.show()
def listKategori(self):
self.katmap = {}
cursor = self.db.cursor()
cursor.execute("SELECT id, name from category WHERE 1 ORDER BY name")
all_rows = cursor.fetchall()
for row in all_rows:
self.katmap[row[1]] = row[0]
self.katCombo.addItem(row[1])
def cari(self):
extra_clause = ''
ktext = self.katCombo.currentText()
if ktext in self.katmap:
extra_clause = 'AND c.id={0}'.format(self.katmap[ktext])
if self.langCombo.currentText()==u"Kata Asing":
col = "english"
else:
col = "indonesia"
pre = ''
post = ''
if self.starts.isChecked():
post = '%'
elif self.ends.isChecked():
pre = '%'
elif self.has.isChecked():
pre = '%'
post = '%'
kata_asing = self.edit_en.text()
cursor = self.db.cursor()
q = "SELECT g.english, g.indonesia, c.name FROM glossarium AS g, category as c WHERE {4} LIKE '{1}{0}{2}' AND g.category=c.id {3} ORDER BY c.name".format(kata_asing, pre, post, extra_clause, col)
#print q
cursor.execute(q)
all_rows = cursor.fetchall()
if self.parent() is not None:
self.parent().statusBar().showMessage("{0} istilah ditemukan".format(len(all_rows)))
self.resultTab.setRowCount(len(all_rows))
for i,ap in enumerate(all_rows):
#print ap
for j,v in enumerate(ap):
item = QtGui.QTableWidgetItem(h.unescape(v))
self.resultTab.setItem(i, j, item)
def openDatabase(self):
self.db = sqlite3.connect(self.dbname)
self.db.text_factory = unicode
def closeDatabase(self):
self.db.close()
class MainForm(QtGui.QMainWindow):
def __init__(self):
super(self.__class__, self).__init__()
self.initComponents()
self.statusBar().showMessage("siap")
self.show()
def initComponents(self):
self.setWindowTitle("Glosarium English-Indonesia")
self.setMinimumSize(QtCore.QSize(640,480))
self.setCentralWidget(FormWidget(self))
self.createMenus()
def createMenus(self):
menuBar = self.menuBar()
informasi = menuBar.addMenu(u'&Perihal')
pengantar = QtGui.QAction(u'Kata &Pengantar', self)
penyusun = QtGui.QAction(u'&Tajuk Penyusun', self)
informasi.addAction(pengantar)
informasi.addAction(penyusun)
pengantar.triggered.connect(self.showPengantar)
penyusun.triggered.connect(self.showPenyusun)
def showPengantar(self):
mbox = QtGui.QMessageBox()
mbox.setText('KATA PENGANTAR')
mbox.setInformativeText('KEPALA PUSAT BAHASA')
mbox.setDetailedText(kata_pengantar)
mbox.exec_()
def showPenyusun(self):
mbox = QtGui.QMessageBox()
mbox.setText('Informasi')
mbox.setInformativeText('Tajuk Penyusun')
mbox.setDetailedText(daftar_penyusun)
mbox.exec_()
def cari(kata_asing):
if not os.path.exists("glossarium.db"):
print "glossarium.db tidak ditemukan"
sys.exit(1)
db = sqlite3.connect("glossarium.db")
db.text_factory = str
cursor = db.cursor()
cursor.execute("SELECT g.english, g.indonesia, c.name FROM glossarium AS g, category as c WHERE english LIKE '{0}' AND g.category=c.id".format(kata_asing))
all_rows = cursor.fetchall()
for row in all_rows:
yield row
db.close()
#return all_rows
def gui_main():
app = QtGui.QApplication(sys.argv)
mainform = MainForm()
sys.exit(app.exec_())
if __name__=="__main__":
if len(sys.argv)>1:
for row in cari(sys.argv[1]):
print row
else:
gui_main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment