Created
May 27, 2016 10:50
-
-
Save pebbie/f7117c4f3c1151605e5e2d3867187be8 to your computer and use it in GitHub Desktop.
database glossarium.db unduh di https://goo.gl/rKb4EB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- 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). Pengembangan 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