SNPPTI 2010
ISSN: 2086-2156
Implementasi QRCode pada Resep Dokter Nur Ani1 , Rolies Deby2, Program Studi Sistem Informasi Fakultas Ilmu Komputer Universitas Mercu Buana1 Program Studi Teknik Informatika Fakultas Ilmu Komputer Universitas Mercu Buana2 E-mail :
[email protected],
[email protected] dua dimensi. Penulis memilih barcode dua dimensi dengan type QR Code (Quick Response Code). Tujuan dari penelitian ini adalah melihat proses pengubahan bentuk resep dokter konvensional kedalam bentuk QR Code dan mengubah kembali bentuk QR Code kedalam bentuk resep konvensional. Mempermudah apotek dalam pengarsipan dan pencarian resep jika diperlukan. Adapun pembahasan dalam penulisan ini hanya meliputi bagaimana cara menuliskan resep ke dalam bentuk digital dan apa saja yang diperlukan untuk membaca hasil dari resep digital tersebut. Bentuk media resep dokter yang dihasilkan berupa bentuk digital, yaitu berupa gambar digital. Gambar digital dapat dikirim ke media penyimpanan sementara seperti flashdisk, memory stick, dikirimkan ke telepon genggam dengan media Bluetooth, atau dikirim dengan menggunakan media surat elektronik. Aplikasi ini merupakan pengembangan dari library decode/encode yang didapat dari situs http://qrcode.sourceforge.jp/ dan http://www.swetake.com Algoritma yang digunakan adalah algoritma berdasarkan file dokumen ISO QR Code symbology specification dimana algoritma yang dipilih menggunakan hanya satu jenis yaitu alphanumerik. Aplikasi berbasis web dengan menggunakan bahasa pemrograman PHP. Operating system yang dijadikan sebagai web server adalah Linux Ubuntu atau turunannya.
Abstrak-- Dalam era ini informasi menjadi hal yang sangat penting lebih dari sekedar menyampaikan informasi kepada orang lain, namun lebih cenderung kepada bagaimana penyampaian informasi dengan lebih aman dan efektif dari segala sisi. Resep dokter adalah salah satu contoh informasi yang harus disampaikan dengan aman dan sedikit kesalahan. Untuk mencapai hal tersebut dapat dijawab dengan menggunakan kode dua dimensi. Kode dua dimensi yang dapat memenuhi kebutuhan ini adalah kode dua dimensi dengan tipe QR Code (Quick Response Code). Penulisan ini akan menjelaskan bagaimana cara encode resep dokter konvensional dan mengubahnya menjadi symbol QR Code sebagai resep obat digital, batasannya adalah bagaimana cara membuat symbol QR Code dan membaca symbol QR Code dengan encoder dan decoder untuk QR Code, dan semua hal itu akan menjadi aplikasi berbasis web untuk resep obat digital. Kata Kunci : Resep Obat Digital, Kode Dua Dimensi, Quick Response Code I. PENDAHULUAN Sebagai salah satu bentuk informasi, resep obat merupakan permintaan tertulis dokter kepada apoteker untuk menyiapkan obat tertentu.. Sering kali resep ditulis dengan tulisan yang lebih jelas untuk menghindari salahnya pemberian obat di apotek namun ini juga berarti pasien dapat melihat informasi yang terdapat diresep tersebut. Salah satu alasan kenapa banyak resep ditulis dengan tulisan yang lebih jelas adalah karena kini produk obat sudah semakin beragam. Kesamaan nama produk nyaris tak terhindarkan. Resiko bahaya timbul jika obat yang namanya serupa disalah artikan karena tidak jelasnya tulisan dalam resep. Dengan perkembangan teknologi saat ini maka bukanlah hal yang mustahil untuk merubah bentuk resep ke dalam bentuk digital sehingga kesalahan dalam pembacaan informasi resep dapat diminimalisir, dan lebih ringkas dalam menampilkan informasi resep. Salah satu cara meringkas dan mengefisienkan informasi ini adalah dengan cara merubah informasi kedalam bentuk barcode, namun tidak semua bentuk barcode dapat menyimpan informasi dalam kapasitas yang besar terutama barcode satu dimensi atau kode batang, oleh karena itu penulis menggunakan barcode
II. METODOLOGI PENELITIAN Dalam melakukan pengimplementasian ini penulis menerapkan metode Rekayasa Perangkat Lunak SDLC (System Development Life Cycle), ada pun tahapan – tahapannya adalah sebagai berikut: Analisis, menganalisa kebutuhan program yang akan dibuat. Pada tahap ini dilakukan pengumpulan data yang didapat dengan cara mempelajari prosedure dalam teknik pembuatan QR Code. Desain. Memperoleh spesifikasi rancangan program untuk menulis dan membaca resep secara digital. Pemrograman. Membuat aplikasi untuk menulis dan membaca resep obat secara digital. Pengujian. Mengevaluasi kemampuan program yang telah dibuat. Implementasi. Mengimplementasikan aplikasi resep obat digital yang telah dibuat.
27
SNPPTI 2010
ISSN: 2086-2156
III. ANALISIS DAN PERANCANGAN
data ”ABCDE123” menjadi sebuah simbol QR Code dengan versi 1-H.
A. Analisis Permasalahan Berdasarkan latar belakang yang telah dipaparkan pada pendahuluan, penulis mencoba menerapkan untuk mengubah data resep yang akan diberikan ke pasien kedalam bentuk symbol, dalam hal ini penulis menggunakan QR Code atau kode 2 dimensi, sehingga apoteker dapat mengetahui dengan tepat obat yang tertulis dalam copy resep dengan tingkat kesalahan yang relative sangat kecil. Resep dapat diartikan atau dibaca dengan menggunakan decoder QR Code, hal ini juga menghindari pasien melihat resep secara langsung tanpa menggunakan decoder dari QR Code itu sendiri sehingga sedapat mungkin pasien tidak mengulangi penggunaan obat yang sama.
a. Pertama data akan dipisah – pisahkan menjadi kelompok yang beranggotakan 2 karakter. Hasil : (A, B) (C, D) (E, 1) (2, 3) b. Setiap karakter data yang ada pada tiap kelompok dikonversi kedalam nilai yang tercantum di tabel 1. Hasil : (10, 11) (12, 13) (14, 1) (2, 3) c. Selanjutnya setiap kelompok yang mempresentasikan nilai dari setiap karakter akan diubah menjadi angka binari dengan panjang 11 bit per kelompok. Setiap kelompok akan diubah terlebih dahulu kedalam bentuk desimal dengan rumus Dec = (A x 45) + B, lalu hasilnya akan dikonversi kedalam bentuk binari. (10, 11)=> (10 x 45) + 1
B. Analisa Transformasi Data Berdasarkan file dokumen ISO QR Code symbology specification yang menjelaskan tahapan – tahapan dari penyusunan dan struktur QR Code penulis mencoba menjabarkan setiap tahapan yang ada di BAB 2 dengan menggunakan sampel data sebagai contoh untuk dirubah kedalam bentuk QR Code, dalam hal ini penulis hanya menggunakan mode alphanumerik saja.
a. b. c.
=> 450 + 11
=> 540 + 13
=> 461
=> 553
=> 00111001101
=> 01000101001
(14, 1) => (14 x 45) + 1
Dalam tipe data alphanumerik terdapat 45 karakter berbeda yang dikenali oleh QR Code yaitu diantaranya :
(12, 13) => (12 x 45) + 13
(2, 3)
=> (2 x 45) + 3
=> 630 + 1
=> 90 + 3
=> 631
=> 93
=> 01001110111
=> 00001011101
diurutkan menjadi 00111001101 01001110111 00001011101
10 karakter digit angka yaitu angka 0 sampai dengan 9 dengan nilai byte data dimulai dari 30HEX hingga 39HEX. 26 karakter huruf alphabet yaitu huruf A-Z dengan nilai byte dimulai dari 41HEX sampai dengan 5AHEX. 9 karakter tanda baca yaitu ” ”, ”$”, ”%”, ”*”, ”+”, ”-”, ”.”, ”/”, dan ”:” dengan nilai byte 20HEX, 24HEX, 25HEX, 2AHEX, 2BHEX, 2DHEX, 2EHEX, 2FHEX, dan 3AHEX.
01000101001
d. Konversi indikator jumlah data kedalam bentuk bilangan binari dengan panjang 9 bit untuk versi 1H. Hasil : 8 = 000001000 Digabung menjadi 000001000 00111001101 01000101001 01001110111 00001011101. e. Tambahkan indikator mode alphanumerik yaitu 0010. Hasil : 0010 000001000 00111001101 01000101001 01001110111 00001011101
Tabel 1. Tabel Konversi untuk karakter alphanumerik
f. Tambahkan indikator terminator data sepanjang 4 bit pada akhir urutan binari. Apabila panjang data sudah memenuhi jumlah data maksimal yang dapat ditampung oleh versi QR Code maka terminator tidak dibutuhkan. Hasil : 0010 000001000 00111001101 01000101001 01001110111 00001011101 0000
Encoding Pada mode alpha numerik ini standarnya setiap dua karakter dipresentasikan dengan panjang 11 bit. Misalkan data yang akan diproses adalah ”ABC123” maka data akan dipresentasikan ”AB”, ”C1”, dan ”23” dengan panjang masing – masing 11 bit. Tapi jika jumlah karakter yang akan diproses jumlahnya ganjil, maka 1 karakter akhir akan dipresentasikan dengan panjang 6 bit. Sebagai contoh penulis akan mengubah
g. Ubah data kedalam kelompok – kelompok bit data yang memiliki panjang 8 bit, jika kelompok data terakhir jumlahnya kurang dari 8 bit maka ditambahkan dengan angka nol pada bagian belakang hingga memiliki panjang 8 bit. Hasil : 00100000 01000001 11001101 01000101 00101001 11011100 00101110 10000000
28
SNPPTI 2010
ISSN: 2086-2156
h. Kelompok – kelompok yang terdiri dari 8 bit disebut dengan kode kata. Jika jumlah kode kata kurang dari kapasitas yang dapat ditampung dalam versi tersebut maka sebagai alternatif akan ditambahkan "11101100" dan "00010001" hingga memenuhi kapasitas. Untuk versi 1-H memiliki kapasitas 9 seperti yang ada di table 2.2. Karena kode data yang ada saat ini memiliki panjang 8 kode kata maka akan ditambahkan dengan "11101100". Hasil : 00100000 01000001 11001101 01000101
Hasil :
00101001 11011100 00101110 10000000 11101100
i. Data yang sudah memenuhi kapasitas tersebut diubah kembali kedalam bentuk desimal dan diubah per kode kata. Hasil :
32 => 00100000
244 => 11110100
65 => 01000001
169 => 10101001
205 => 11001101
239 => 11101111
69 => 01000101
150 => 10010110
41 => 00101001
138 => 10001010
220 => 11011100
70 => 01000110
46 => 00101110
237 => 11101101
128 => 10000000
85 => 01010101
236 => 11101100
224 => 11100000
42 => 00101010
96 => 01100000
159 => 10011111
74 => 01001010
00100000 => 32
11011100 => 220
74 => 01001010
219 => 11011011
01000001 => 65
00101110 => 46
221 => 11011101
61 => 00111101
11001101 => 205
10000000 => 128
l.
01000101 => 69
11101100 => 236
00101001 => 41
j. Dalam tahapan ini barisan kode data akan ditambahkan dan diproses dengan error correction code. Pada tabel 2.3 tertulis bahwa untuk versi 1-H memiliki jumlah Block RS (Reed Solomon) 1. Fungsi g(x) yang ada di tabel 2.7 dan sesuai dengan versi 1-H yaitu : g(x) = x17+α43x16+α139x15+α206x14+α78x13+α43x12
Kode data yang sudah berbentuk binari kemudian akan dimasukan kedalam simbol QR Code dalam bentuk module – module yang terdiri dari 2 warna yaitu terang dan gelap. Sesuai dengan file dokumen ISO QR Code symbology specification bahwa ukuran simbol QR Code yang digunakan adalah simbol yang berukuran 21 modul x 21 modul seperti yang terlihat pada gambar 1.
+α239x11+α123x10+α206x9+α214x8+α147x7+ α24x6 +α99x5 +α150x4+ α39x3+ α243x2 +α163x+α136 fungsi g(x) diatas adalah bentuk dasar dari elemen GF(28), fitur dari GF(28) diantaranya adalah : - Mendukung fungsi aritmatik dengan 4 operasi - α255 adalah sama dengan 1 - bilangan eksponensial α dapat dikonversi kedalam bentuk integer menggunakan table konversi eksponensial α yang ada di lampiran. Setelah diproses dengan menggunakan algoritma reed solomon maka akan menghasilkan urutan kode kata sebagai berikut :
Gambar 1 Ukuran simbol yang digunakan pada versi 1-H QR Code versi 1 memiliki 26 blok module dan pada setiap blok memiliki 8 modul yang mewakili panjang bit data pada setiap kode kata. Setiap simbol memiliki kordinat yang dapat digambarkan dengan (x, y) dimana x adalah kolom dan y adalah baris, untuk QR Code versi 1 sendiri memiliki kordinat dari (0, 0) yaitu di posisi pojok kanan bawah sampai (20, 20) yaitu di pojok kiri atas. Adapun untuk memasukan data kedalam simbol QR Code harus mengikuti aturan dan standar yang sudah dibuat, diantaranya adalah :
32 65 205 69 41 220 46 128 236 42 159 74 221 244 169 239 150 138 70 237 85 224 96 74 219 61 k. Hasil kode kata yang merupakan bilangan integer dirubah kembali menjadi bilangan binary dengan panjang 8 bit.
- Data mulai dimasukan dari kordinat (0, 0) atau dari blok module kanan bawah. - Untuk pengisian pada setiap blok ada dua arah yaitu dengan arah pengisian ke bawah dan ke atas. - Jika pertama yaitu blok paling kanan bawah sudah penuh maka dilanjutkan ke blok diatasnya, jika sudah mencapai blok terakhir dalam 1 kolom maka pindah ke kolom sebelah kiri tapi dengan arah
29
SNPPTI 2010
ISSN: 2086-2156
berbeda yaitu dari atas ke bawah seperti yang digambarkan pada gambar 3. (a) (c) (b) 8
7
6
5
4
3
2
1
8 7 6 5 4 2
2 4 6 8
1 3 5 7
3 1
Gambar 2 Cara pengisian data ke dalam blok data,(a) Pengisian normal dengan arah ke atas, (b) Pengisian normal dengan arah ke bawah, (c) Pengisian data jika blok bertindihan dengan pola struktur QR Code.
Indikator mask pattern
Kondisi
000
(i+j) mod 2 = 0
001
i mod 2 = 0
010
j mod 3 = 0
011
(i+j) mod 3 = 0
100
((i div 2) + (j div 3)) mod 2 = 0
101
(ij) mod 2 + (ij) mod 3 = 0
110
((ij) mod 2 +(ij) mod 3) mod 2 = 0
111
((ij)mod 3 + (i+j) mod 2) mod 2 = 0
Rumus atau formula dari mask pattern itu sendiri diterapkan untuk setiap kordinat yang ada pada symbol QR Code. Contoh cara penggunaan mask pattern jika menggunakan mask pattern dengan indikator 000 : - Pada kordinat (20, 20) : (20+20) mod 2 = 0 - Pada kordinat (19, 20) : (19+20) mod 2 = 1 Bit asli akan diproses dengan XOR dengan data bit yang didapatkan sesuai dengan kordinatnya. Pada prakteknya tidak terlalu penting untuk memilih mask pattern yang tepat, karena menurut beberapa sumber dalam hal ini didapat dari www.swetake.com bahwa terdapat beberapa perbedaan hasil dari Japan Industrial Standar atau JIS X0510(1999) appendix 8 dengan JIS X0510(2004) appendix G pada sample data yang sama. Pada sample data kali ini penulis akan menggunakan mask pattern “011”.
Gambar 3. Arah urutan pengisian blok data pada versi 2-M. Hasil gambar simbol QR Code setelah dimasukan barisan kode kata yang sebelumnya sudah diubah kedalam bentuk binari terlihat pada gambar 4.
Gambar 4. Hasil sementara QR Code yang sudah dimasukan data.(www.swetake.com; diakses pada tanggal 23-10-2009) m. Jika salah satu warna lebih dominan atau jika motif pada simbol menyerupai motif struktur QR Code seperti finder pattern dan lain – lain maka akan membuat pembacaan QR Code menjadi kabur atau salah pengartian kode itu sendiri. Untuk menghindari hal tersebut maka pada simbol QR Code akan dimasukan struktur mask pattern untuk menghindari terjadinya hal – hal yang disebutkan sebelumnya. Area yang akan diberikan mask pattern adalah kode kata yang ada di simbol tidak termasuk didalamnya finder pattern, timming pattern, dan lain – lain.
Gambar 5 Pattern mask pada symbol versi 1 n.
Tabel 2. Daftar Mask Pattern
30
Format informasi yang ada pada simbol QR Code adalah format yang berisi data – data informasi mengenai QR Code itu sendiri. Dalam format informasi itu sendiri terdapat keterangan error correction level yang digunakan dan indikator mask pattern sepanjang 15 bit. 2 bit pertama adalah error correction level yang ada pada tabel 3.
SNPPTI 2010
ISSN: 2086-2156
Tabel 3. Daftar indikator error correction level error correction level
Indicator
L
01
M
00
Q
11
H
10
Gambar 7. Ilustrasi format informasi yang sudah dimasukan kedalam simbol QR Code
Karena versi QR Code yang digunakan pada sample data adalah versi 1-H maka indikator yang digunakan adalah ”10” . 3 bit berikutnya adalah indikator mask pattern yang dipilih pada bagian sebelumnya yaitu ”011”. Hasil : 10 011 o.
p.
q.
Gambar 8 Hasil akhir dari QR Code untuk ” ABCDE123” (www.swetake.com; diakses pada tanggal 23-10-2009)
Untuk 10 bit sisanya adalah bit – bit untuk error correction level dari 5 bit sebelumnya. Setelah memproses ”10011” dengan algoritma error correction level maka akan menghasilkan ”0111000010” dan jika digabung dengan 5 data sebelumnya maka akan menjadi ”10011 0111000010”. Untuk mencegah agar format informasi tidak memunculkan angka 0 semua maka format informasi yang sudah ada diproses XOR dengan ”101010000010010” maka format informasi menjadi ”001100111010000”. Cara untuk meletakan format informasi kedalam simbol QR Code juga tidak sembarangan karena ada aturan dan urutan yang harus dilalui seperti yang terlihat pada gambar 6.
Decoding Proses decoding dari bentuk simbol QR Code kembali kedalam bentuk kalimat atau data asli hanyalah sebuah pembalikan dari proses – proses decoding yang sudah dibahas sebelumnya. Adapun langkah – langkah dari decoding itu sendiri dapat diuraikan secara ringkas sebagai berikut : a.
b. c. d.
Alat pembaca atau scanner melakukan pencitraan gambar simbol yang akan didecode kembali menjadi data asli. Pada saat pembacaan yang akan dicari pertama kali adalah finder pattern atau pola pencari yang berada di posisi kanan atas, kiri atas, dan kiri bawah. Mendeteksi perputaran simbol dan kemiringan simbol dengan berpatokan kepada finder pattern. Mendeteksi pajang modul dengan mengukur jarak antara finder pattern dengan rumus X = (WUL + WUR) / 14. Memperkirakan versi dari simbol dengan rumus V = [(D/X) – 10] / 4. Jika hasilnya adalah kurang dari 6 atau sama dengan 6 maka hasil ini dipakai sebagai data versi yang valid.
Gambar 6. Ilustrasi urutan dari pengisian format informasi (www.swetake.com; diakses pada tanggal 23-10-2009) Urutan yang terlihat pada gambar adalah urutan yang menghitung mundur jadi bukan angka 0 yang menjadi awal memasukan format informasi tapi format informasi dimasukan dimulai dari posisi 14. Hasil dari format informasi yang dimasukan kedalam simbol QR Code dapat dilihat pada gambar 7. r.
Gambar 9 ilustrasi pengukuran simbol e.
Hasil akhir dari simbol QR Code adalah simbol yang sudah diberikan format informasi dan kode kata yang sudah diproses dengan mask pattern dapat dilihat pada gambar 8.
31
Jika versi yang dihasilkan lebih dari 6 maka akan dilakukan pembacaan sebagai berikut : - Membagi lebar dari WUR yang berada di pojok kanan atas dengan angka 7 untuk mengkalkulasi ukuran modul. - Mendeteksi garis bantuan antara finder patter A ke finder pattern B dan finder pattern A ke finder patter C.
SNPPTI 2010 -
ISSN: 2086-2156 IV. KESIMPULAN Berdasarkan implementasi dan analisis dari hasil pengujian yang telah dilakukan, kesimpulan yang dihasilkan adalah : 1. Symbol kode 2 dimensi atau QR Code dapat menampung data lebih besar namun tidak memerlukan banyak tempat karena ukurannya yang lebih simple. 2. Penggunaan symbol QR Code dapat lebih efektif dalam memecahkan masalah tulisan dokter yang sulit dibaca sehingga apoteker dapat mengurangi bahkan menghilangkan kesalahan dalam pengartian isi dari copy resep. 3. Pada aplikasi encoding akan menghasilkan symbol QR Code yang sudah diberikan flag berupa string “DPQR” yang menjadikannya hanya bisa dibaca oleh aplikasi decoding yang dibuat oleh penulis. 4. Aplikasi decoding yang dibangun oleh penulis hanya dapat membaca symbol QR Code yang memiliki flag “DPQR”.
Membaca informasi format yang tersimpan disamping pada simbol.
Gambar 10 ilustrasi penghubungan antar finder pattern dan letak format informasi. f.
g.
h. i.
j.
Setelah mendapatkan format informasi dan sudah diartikan isinya maka lakukan fungsi XOR dengan rumus data masking yang sesuai dengan indikator mask pattern yang ada di format informasi. Setelah data masking dihilangkan maka data dirangkai kembali menjadi bit – bit dengan cara membalik urutan saat memasukan data pada proses encoding. Lakukan pendeteksian error correction pada data. Kembalikan rangkaian data kedalam bentuk awal dari aliran data tersebut dengan menyusun kembali kedalam rangkaian blok – blok data dengan panjang yang sesuai dengan indikator – indikator yang ada pada informasi format. Mengembaikan data aslinya dengan melakukan kebalikan proses dari perubahan data menjadi bit.
V. DAFTAR PUSTAKA Joint Technical Committee ISO/IEC JTC 1. 2005. ISO/IEC CD 18004 Information Technology – Automatic Identification and data capture techniques – QR Code 2005 barcode symbology specification. Diakses pada 10 September 2009. Artikel non-personal, 17 Oktober 2009, QR Code, Wikipedia The Free Encyclopedia, http://en.wikipedia.org/wiki/QR_Code, diakses 10 November 2009 Artikel non-personal, 5 Oktober 2009, System Development Life Cycle, Wikipedia The Free Encyclopedia, http://en.wikipedia.org/wiki/Systems_Developme nt _Life_Cycle, diakses 10 November 2009 Artikel non-personal, 7 Oktober 2009, Ubuntu, Wikipedia bahasa Indonesia, http://id.wikipedia.org/wiki/Ubuntu, diakses 10 November 2009 Artikel non-personal, 6 Oktober 2009, Unified Modeling Language, Wikipedia The Free Encyclopedia, http://en.wikipedia.org/wiki/Unified_Modeling_L anguage, diakses 10 November 2009 Artikel non-personal, 22 September 2009, PHP, Wikipedia bahasa Indonesia, http://id.wikipedia.org/wiki/PHP, diakses 10 November 2009 Yanbe Yusuke, QR Code, http://qrcode.sourceforge.jp/, diakses 11 November 2009
C. Analisa Perangkat Lunak Dalam pembuatan encoder untuk resep obat digital ini penulis menggunakan script yang tersedia pada www.swetake.com yang merupakan salah satu situs pengembangan QR Code, script ini ditulis dengan menggunakan bahasa pemrograman PHP yang berbasis web sehingga dapat digunakan pada setiap komputer yang terhubung pada jaringan tidak hanya pada sebuah komputer saja, sedangkan untuk decode menggunakan decoder dengan bahasa pemrograman JAVA yang dijalankan dengan menggunakan PHP. Saat penulis membuat media encoder dan decoder dari QR Code ini menggunakan PHP 5 yang dijalankan dengan sistem operasi Linux Ubuntu atau Turunan dari Debian lainnya. Perangkat lunak yang penulis gunakan untuk implementasi aplikasi resep obat digital ini adalah perangkat lunak open source yang bisa didapatkan pada situs resmi dari masing – masing situs pengembangnya. Adapun perangkat lunak yang penulis gunakan diantaranya adalah : a. b. c. d. e.
Linux Mint yang merupakan turunan dari Ubuntu sebagai sistem operasi. Web server Apache V2.2. Interpreter PHP V5.2. Java Runtime Environtment untuk Linux. Mozilla Firefox untuk menampilkan interface.
32