HASIL DAN PEMBAHASAN
4.1 Antarmuka cryptIDE
Pada Gambar 4.1 diperlihatkan jendela utama cryptIDE. Jendela utama terdiri atas menu bar, toolbar, tab page code editor, dan status bar.
Gambar 4.1 Jendela Utama cryptIDE
Menu bar jendela utama terdiri atas tujuh menu, yaitu: File, Edit, Search, Execute, Tools, Window, Help. Shortcut perintah-perintah dapat berupa kombinasi kunci pada papan kunci (keyboard) dan atau berupa tombol (button), dimana setiap tombol dikelompokkan ke dalam toolbox pada toolbar. Pada cryptIDE, berkas kode
sumber yang terbuka diorganisasikan ke dalam tab page. Status bar cryptIDE terdiri atas 4 bagian, yaitu:
1. Status posisi baris dan kolom dari kursor. 2. Status penyimpanan berkas kode sumber. 3. Status penyisipan.
4. Status banyak baris berkas kode sumber.
Gambar 4.2 Menu File
Gambar 4.2 mengilustrasikan daftar submenu File. Menu File terdiri atas submenu New, Open, Recent, Save, Save As, Save All, Close, Close All, dan Exit. Submenu New digunakan untuk membuka berkas kode sumber yang baru pada tab page code editor. Submenu Open digunakan untuk memanggil jendela Open. Gambar 4.3 menampilkan jendela Open. Melalui jendela Open, pengguna dapat menelusuri direktori, kemudian memilih berkas kode sumber yang hendak dibuka. Berkas kode sumber yang dibuka akan dimuat pada tab page code editor yang baru. Submenu Recent digunakan untuk membuka kembali berkas kode sumber yang pernah dibuka sebelumnya.
Submenu Save digunakan untuk memutakhirkan berkas kode sumber pada media penyimpanan dengan berkas kode sumber aktif pada tab page. Jika berkas pada tab page belum pernah disimpan ke berkas media penyimpanan, maka jendela Save As akan dipanggil. Jendela Save As ditampilkan pada Gambar 4.4. Submenu Save As digunakan untuk menyimpan berkas kode sumber aktif pada tab page ke berkas lain
pada media penyimpanan. Submenu Save All digunakan untuk menyimpan semua berkas kode sumber pada tab page.
Gambar 4.3 Jendela Open
Submenu Close digunakan untuk menutup berkas kode sumber aktif pada tab page. Jika berkas yang akan ditutup belum disimpan, maka akan ditampilkan jendela Confirm, seperti pada Gambar 4.5, untuk melakukan konfirmasi penutupan berkas kode sumber pada tab page. Jika pengguna memilih ‘Yes’, maka berkas tab page akan ditutup dan berkas pada media penyimpanan tidak akan dimutakhirkan. Jika pengguna memilih ‘No’, maka penutupan berkas kode sumber tab page akan dibatalkan. Submenu Close All digunakan untuk menutup semua berkas kode sumber pada tab page. Jika terdapat berkas yang belum disimpan, maka akan muncul jendela konfirmasi untuk tiap berkas yang belum disimpan.
Gambar 4.5 Jendela Confirm
Submenu Exit digunakan untuk menutup cryptIDE. Jika terdapat berkas pada tab page yang belum disimpan, maka akan muncul jendela Warning, seperti tampak pada Gambar 4.6, untuk memperingatkan pengguna. Jika pengguna memilih ‘Yes’, maka cryptIDE akan ditutup dan perubahan berkas kode sumber yang belum disimpan akan diabaikan. Jika pengguna memilih ‘No’, maka penutupan cryptIDE akan dibatalkan.
Gambar 4.6 Jendela Warning (1)
Gambar 4.7 mengilustrasikan daftar submen Edit. Menu Edit terdiri atas submenu Cut, Copy, Paste, dan Select All. Submenu Cut digunakan untuk memindahkan teks terseleksi ke clipboard. Submenu Copy digunakan untuk
menggandakan teks terseleksi ke clipboard. Submenu Paste digunakan untuk menyisipkan teks pada clipboard ke berkas kode sumber aktif tab page pada posisi kursor. Submenu Select All digunakan untuk menyeleksi semua isi dari berkas kode sumber aktif tab page.
Gambar 4.7 Menu Edit
Pada Gambar 4.8 diperlihatkan daftar submenu dari menu Search. Menu Search terdiri atas submenu Find, Replace, dan Search Again. Submenu Find digunakan untuk memanggil jendela Find Text.
Gambar 4.8 Menu Search
Gambar 4.9 Jendela Find Text
Gambar 4.9 mengilustrasikan jendela Find Text. Pada jendela Find Text, pengguna dapat merinci teks yang hendak ditemukan pada berkas aktif tab page (Text to Find) dan opsi pencarian. Opsi Case Sensitive menentukan teks yang dicari adalah persis sama dengan Text to Find. Opsi Whole Words Only menentukan teks yang
dicari adalah teks utuh yang sama dengan Text to Find. Opsi From Cursor menentukan posisi pencarian adalah dari posisi kursor sampai akhir berkas. Opsi Entire Scope menentukan posisi pencarian adalah dari awal sampai akhir berkas. Tombol ‘Find’ digunakan untuk memulai pencarian.
Submenu Replace digunakan untuk memanggil jendela Replace Text, seperti terlihat pada Gambar 4.10. Pada jendela Replace Text, pengguna dapat merinci teks yang hendak diganti pada berkas aktif tab page (Text to Find), teks pengganti (Replace with), dan opsi pencarian. Opsi pencarian jendela Replace Text sama dengan Opsi pencarian jendela Find Text. Tombol ‘Replace’ digunakan untuk memulai pencarian teks (Text to Find) dan mengganti teks yang ditemukan dengan teks pengganti (Replace with).
Gambar 4.10 Jendela Replace Text
Submenu Search Again digunakan untuk melanjutkan pencarian (Find atau Replace) sebelumnya.
Gambar 4.11 Menu Execute
Gambar 4.11 memperlihatkan submenu dari menu Execute. Menu Execute terdiri atas submenu Compile, Run, dan Compile Run. Submenu Compile digunakan
untuk memanggil jendela Compile Progress, seperti yang diperlihatkan pada Gambar 4.12. Ketika jendela Compile Progress dipanggil, maka jendela Compile Progress akan memanggil compiler, assembler, dan linker, untuk menghasilkan executable. Jika tombol ‘Cancel’ ditekan, maka proses kompilasi akan dihentikan. Submenu Run digunakan untuk memanggil executable yang dihasilkan pada proses kompilasi. Submenu Compile Run digunakan untuk memanggil jendela Compile Progress, kemudian memanggil executable hasil kompilasi.
Gambar 4.12 Jendela Compile Progress
Jika direktori dari compiler, assembler, dan atau linker tidak dispesifikasikan dengan benar, maka proses kompilasi akan dibatalkan dan jendela Warning, seperti tampak pada Gambar 4.13, akan ditampilkan. Solusi terhadap masalah ini adalah dengan menspesifikasikan direktori compiler, assembler, dan linker dengan benar.
Gambar 4.14 Menu Tools
Gambar 4.14 memperlihatkan submenu dari menu Tools. Menu Tools terdiri atas submenu Compiler Options, Environment Options, Editor Options, Configure Toolbars, dan Register. Submenu Compiler Options digunakan untuk memanggil jendela Compiler Options. Pada jendela Compiler Options opsi-opsi compiler diorganisasikan ke dalam tab page Dialect (tampak pada Gambar 4.15) dan tab page Optimization (tampak pada Gambar 4.16). Jika tombol ‘OK’ ditekan, maka pilihan opsi-opsi tersebut akan disimpan ke dalam berkas konfigurasi compiler (CompOpt.cfg). Jika tombol ‘Cancel’ ditekan, maka pilihan opsi-opsi tersebut akan diabaikan. Jika tombol ‘Default’ ditekan, maka pilihan opsi-opsi dari berkas konfigurasi default compiler (CompOpt.dft) akan dimuat ke jendela Compiler Options.
Gambar 4.16 Jendela Compiler Options: Optimization
Daftar Opsi compiler pada jendela Compiler Options ditampilkan pada Tabel 4.1.
Tabel 4.1 Daftar Opsi Compiler pada Jendela Compiler Options
Opsi Compiler Ekivalensi
Program is written in Fortran-90-ish free form -ffree-form
Program is written in Fortran-90-ish dialect -ff90
Allow ‘$’ in symbol names -fdollar-ok
Backslashes ‘\’ in character/hollerith constants not special
-fno-backslash
Take at least one trip through each iterative DO loops
-fonetrip
Set the maximum line length to gth-<n> -ffixed-line-len
Reject all ‘ugly’ construct -fno-ugly
Allow ‘ugly’ passing arguments -fugly-args
Allow ‘ugly’ assignments -fugly-assign
Allow ‘ugly’ assumed array dimension -fugly-assumed
Allow ‘ugly’ comma -fugly-comma
Allow ‘ugly’ complex expressions -fugly-complex
Allow ‘ugly’ initialization -fugly-init
Allow ‘ugly’ LOGICAL and INTEGER as potential stand-in
-fugly-logint
Optimize for space rather than speed -Os
Tabel 4.1 Daftar Opsi Compiler pada Jendela Compiler Options (Lanjutan)
Opsi Compiler Ekivalensi
Generate code for functions even if they are fully inlined
-fkeep-inline-fu nctions
Integrater simple function into their callers ns -finline-functio
Allow function addresses to be held in registers -ffunction-cse
Perform the Global Common Subexpression Elimination
-fgcse
Run CSE pass after loop optimizations r-loop -frerun-cse-afte
Run the loop optimizer twice -frerun-loop-opt
Do not use hardware FP -msoft-float
Use hardware FP -m80837
Submenu Environment Options digunakan untuk memanggil jendela Environment Options. Jendela Environment Options mengorganisasikan opsi-opsi yang tersedia ke dalam tab page Compiler (tampak pada Gambar 4.17), Assembler (tampak pada Gambar 4.18), Linker (tampak pada Gambar 4.19), Warning (tampak pada Gambar 4.20), dan Directories (tampak pada Gambar 4.21). Jika tombol ‘OK’ ditekan, maka pilihan opsi-opsi pada tab page Compiler dan Warning akan disimpan ke dalam berkas konfigurasi compiler (CompOpt.cfg), opsi-opsi pada tab page Assembler akan disimpan ke dalam berkas konfigurasi assembler (AssOpt.cfg), opsi- opsi pada tab page Linker akan disimpan ke dalam berkas konfigurasi linker (LinkOpt.cfg), dan opsi-opsi tab page Directories akan disimpan ke dalam berkas konfigurasi direktori (DirOpt.cfg). Jika tombol ‘Cancel’ ditekan, maka pilihan opsi- opsi tersebut akan diabaikan. Jika tombol ‘Default’ ditekan, maka pilihan opsi-opsi dari berkas-berkas konfigurasi default (*.dft) akan dimuat ke jendela Environment Options. Daftar Opsi environment pada jendela Environment Options ditampilkan pada Tabel 4.2.
Gambar 4.17 Jendela Environment Options: Compiler
Gambar 4.19 Jendela Environment Options: Linker
Gambar 4.21 Jendela Environment Options: Directories
Tabel 4.2 Opsi Environment pada Jendela Environment Options
Opsi Environment Ekivalensi
Initialize local variables and arrays to zero zero -finit-local-
Check for syntax errors, then stop -fsyntax-only
Generate code to check every memory access y-usage -fcheck-memor
Insert stack checking code into the program -fstack-check
Add extra commentary to assembler output -fverbose-asm
Print internal debugging-related info -fxyzzy
Emit special debugging information for COMMON and EQUIVALENCE
-fdebug-kludg e
Generate code to check subscript and substring bounds
-fbounds-chec k
Enable exception handling -fexceptions
Support asynchronous exceptions s-exceptions -fasynchronou
Use the new model for exception handling ons -fnew-excepti
Suppress warnings -W
Generate object file even after errors -Z
Create an output file even if errors occur xec --noinhibit-e
Suppress warnings -w
Enable extra warnings -W
Warn when an inlined function cannot be inlined -Winline
Warn about uninitialized automatic variables ed -Wuninitializ
Submenu Editor Options digunakan untuk memanggil jendela Editor Options. Opsi-opsi pada jendela Editor Options diorganisasikan ke dalam tab page General (tampak pada Gambar 4.22) dan tab page Syntax (tampak pada Gambar 4.23). Jika tombol ‘OK’ ditekan, maka pilihan opsi-opsi tersebut akan disimpan ke dalam berkas konfigurasi editor (EdtOpt.cfg). Jika tombol ‘Cancel’ ditekan, maka pilihan opsi-opsi tersebut akan diabaikan. Jika tombol ‘Default’ ditekan, maka pilihan opsi- opsi dari berkas konfigurasi default editor (EdtOpt.dft) akan dimuat ke jendela Editor Options.
Gambar 4.22 Jendela Editor Options: General
Gambar 4.23 Jendela Editor Options: Syntax
Submenu Register digunakan untuk memanggil jendela Register, seperti diperlihatkan pada Gambar 4.24. Setelah pengguna melakukan registrasi, maka akan
muncul jendela Information, seperti tampak pada Gambar 4.25, dan informasi registrasi pengguna akan disimpan ke dalam berkas konfigurasi registrasi (reg.cfg).
Gambar 4.24 Jendela Register
Gambar 4.25 Jendela Information (1)
Jika pengguna belum melakukan registrasi, maka pengguna tidak dapat menggunakan fasilitas cryptIDE, yaitu membuka dan menyimpan berkas kode sumber terenkripsi (Fortran Encrypted Source Code). Selain itu, pengguna akan mendapatkan jendela Information, seperti tampak pada Gambar 4.26, ketika akan membuka dan memyimpan berkas kode sumber terenkripsi (*.4esc).
Gambar 4.26 Jendela Information (2)
Gambar 4.27 memperlihatkan submenu dari menu Window. Menu Window terdiri atas submenu Previous dan Next. Submenu Previous digunakan untuk berpindah ke tab page sebelah kiri tab page berkas kode sumber aktif. Submenu Next
digunakan untuk berpindah ke tab page sebelah kanan tab page berkas kode sumber aktif.
Gambar 4.27 Menu Window
Ketika toolbar cryptIDE di-klik kanan, maka akan muncul menu popup, seperti diperlihatkan Gambar 4.28. Menu popup tersebut terdiri atas submenu Main, Edit, Search, Execute, dan Window. Pada menu popup tersebut didaftarkan toolbox yang ditampilkan. Pengguna dapat memilih untuk menampilkan atau tidak menampilkan toolbox tertentu dengan cara memberi atau menghilangkan tanda centang pada submenu tersebut.
Gambar 4.28 Menu Popup Toolbar
Ketika tab page code editor cryptIDE di-klik kanan, maka akan muncul menu popup, seperti diperlihatkan Gambar 4.29. Menu popup tersebut terdiri atas
submenu Save, Save As, Save All, Close, Close All, Close All Except This, Cut, Copy, Paste, dan Select All.
Gambar 4.29 Menu Popup Tab Code Editor