Fortran G77 Analisis Bahasa Fortran

{‘0’|..|’9’} {‘.’}{‘0’|..|’9’} + {’D’|’E’|’d’| ’e’}{‘+’|’-‘|’’} {‘0’|.. |’9’} + | {‘0’|..|’9’} + {‘.’}{‘0’|..| ’9’}| {‘0’|..|’9’} + {‘.’}{‘0’|..| ’9’}{’D’|’E’|’d’|’e’}{‘+’|’-‘|’’} {‘0’|.. |’9’} + } Contoh konstanta bilangan pecahan yang valid: 123.45 -.123 123.E45 Konstanta untai karakter merupakan konstanta yang terdiri atas satu atau lebih karakter, yang dapat direpresentasikan oleh prosesor. Tiap karakter dalam konstanta untai karakter dinomori secara terurut dari 1. Konstanta untai karakter diawali dengan karakter ‘”’ atau ‘’’, dan diakhiri dengan karakter yang sama dengan karakter awal. Karakter yang mungkin dikandung pada konstanta untai karakter adalah semua karakter ASCII. {‘”’}{0..25 5} + {‘”’}| {‘’’}{0..25 5}+{‘’’} Contoh konstanta untai karakter yang valid: “abcdefghij k lmnopq, r’stuvw. Xyz” ‘1234’’’

3.1.3 Fortran G77

G77 merupakan paket compiler Fortran 77 yang dikembangkan oleh GNU. Versi G77 yang digunakan adalah 2.95. Paket G77 terdiri atas wrapper g77.exe, compiler f771.exe, assembler as.exe, dan linker ld.exe. Wrapper dipanggil dengan menyertakan parameter yang terdiri atas opsi wrapper, opsi compiler, opsi assembler, opsi linker, dan direktori kode sumber program. Daftar beberapa opsi wrapper ditampilkan pada Tabel 3.3. Ketika wrapper Jefri Umar : Analisis Perancangan Perangkat Lunak Ide Integrated Development Environment Fortran G77, 2009. dipanggil dengan suatu parameter yang sesuai, maka wrapper akan memanggil compiler terlebih dahulu untuk mengkompilasi kode sumber Fortran menjadi kode sumber rakitan. Apabila compiler tidak mengembalikan pesan kesalahan, maka wrapper akan memanggil assembler untuk menerjemahkan kode program rakitan menjadi kode objek. Apabila assembler juga tidak mengembalikan pesan kesalahan, maka berikutnya linker akan dipanggil. Linker akan menggabungkan kode objek hasil penerjemahan assembler dengan kode objek yang tersimpan pada pustaka library Fortran, untuk menghasilkan executable program apabila tidak terdapat kesalahan pada proses penggabungan linking. Tabel 3.3 Daftar Opsi Wrapper Parameter Fungsi --help Menampilkan dokumentasi bantuan help untuk g77. -dumpspecs Menampilkan semua string spesifikasi built-in. -dumpversion Menampilkan versi compiler. -dumpmachine Menampilkan prosesor tujuan dari compiler. -Wa,options Melewatkan options kepada assembler. -Wp,options Melewatkan options kepada preprocessor. -Wl,options Melewatkan options kepada linker. -Xlinker arg Melewatkan arg kepada linker. -save-temps Mempertahankan berkas assembler dan berkas objek. -v Menampilkan program yang dipanggil oleh g77. -E Hanya melakukan praproses. -S Hanya melakukan kompilasi. -c Hanya melakukan kompilasi dan perakitan. -o file Menghasilkan keluaran pada file . Proses penerjemahan kode sumber program Fortran menjadi executable program, juga dapat dilakukan secara manual tanpa menggunakan wrapper. Compiler mula-mula dipanggil dengan menyertakan parameter berupa opsi compiler dan direktori kode sumber program. Beberapa opsi compiler yang umum digunakan, ditampilkan pada Tabel 3.4. Apabila pemanggilan compiler berhasil tidak mengembalikan pesan kesalahan, maka akan dihasilkan kode sumber rakitan. Selanjutnya, assembler dengan menyertakan parameter berupa opsi assembler dan direktori kode sumber rakitan. Beberapa opsi assembler yang umum digunakan, ditampilkan Tabel 3.5. Apabila pemanggilan assembler berhasil, maka akan dihasilkan kode objek dan proses dapat dilanjutkan dengan pemanggilan linker. Jefri Umar : Analisis Perancangan Perangkat Lunak Ide Integrated Development Environment Fortran G77, 2009. Parameter yang diberikan pada pemanggilan linker, terdiri atas opsi linker, direktori kode objek, dan daftar pustaka yang digunakan. Beberapa opsi linker yang umum digunakan, ditampilkan pada Tabel 3.6. Jika pemanggilan linker berhasil, maka akan dihasilkan executable yang siap untuk dijalankan. Tabel 3.4 Daftar Opsi Compiler Parameter Fungsi -ffree-form Mengizinkan format program bebas. -ff90 Menandakan program ditulis dengan dialek Fortran 90. -fdollar-ok Mengizinkan ‘’ untuk digunakan sebagai nama simbol. -fno-backslash Memperlakukan ‘\’ sebagai karakter biasa. -fonetrip Menjalankan iteratif DO minimal sekali. -ffixed-line-len gth-n Mengatur panjang maksimum baris menjadi n . -fno-ugly Menolak semua struktur yang ‘buruk’. -fugly-args Mengizinkan konstanta tidak bertipe dan konstanta Hollerith dilewatkan sebagai argumen. -fugly-assign Mengizinkan penugasan biasa terhadap variabel yang ditugaskan dengan perintah ASSIGN . -fugly-assumed Mengasumsikan dummy array menjadi array 1. -fugly-comma Menganggap koma pada akhir baris pemanggilan prosedur sebagai penanda argumen null. -fugly-complex Mengizinkan struktur kompleks yang buruk. -fugly-init Mengizinkan struktur inisialisasi yang buruk. -fugly-logint Mengizinkan INTEGER dan LOGICAL untuk dipertukarkan. -Os Mengoptimasi memory daripada kecepatan. -ffast-math Meningkatkan kecepatan pemrosesan FP. -fkeep-inline-fu nctions Mempertahankan kode fungsi walupun telah tersedia fungsi baris. -finline-functio ns Mengintegrasikan fungsi sederhana pada pemanggil. -ffunction-cse Mengizinkan alamat fungsi ditempatkan pada register. -fgcse Menjalankan Global Common Subexpression Elimination. -frerun-cse-afte r-loop Menjalankan CSE setelah optimisasi perulangan loop. -frerun-loop-opt Menjalankan loop optimiser dua kali. -msoft-float Menghindari penggunaan perangkat keras FP. -m80837 Menggunakan perangkat keras FP. -finit-local-zer o Menginisialisasi variabel dan array lokal dengan nilai 0. -fsyntax-only Memeriksa hanya sintaks. Jefri Umar : Analisis Perancangan Perangkat Lunak Ide Integrated Development Environment Fortran G77, 2009. Tabel 3.4 Daftar Opsi Compiler Lanjutan Parameter Fungsi -fcheck-memory-u sage Memeriksa setiap pengaksesan memory. -fstack-check Memeriksa stack. -fverbose-asm Menghasilkan informasi tambahan. -fxyzzy Menampilkan informasi internal terkait yang dengan debugging. -fdebug-kludge Menghasilkan informasi tambahan untuk COMMON dan EQUIVALENC E . -fbounds-check Memeriksa batasan subskrip dan substring. -fexceptions Mengizinkan penanganan eksepsi exception. -fasynchronous-e xceptions Mendukung eksepsi yang asinkron. -fnew-exceptions Menggunakan penanganan eksepsi model baru. -w Mengabaikan peringatan warning. -W Memungkinkan peringatan tambahan. -Winline Memperingati fungsi baris yang tidak valid. -Wuninitialized Memperingati variabel yang tidak diinisialisasi. -Wunused Memperingati variabel yang tidak digunakan. Tabel 3.5 Daftar Opsi Assembler Parameter Fungsi -W Mengabaikan peringatan warning. -Z Menghasilkan kode objek walaupun terdapat kesalahan. -o file Mengatur nama kode objek keluaran. --statistics Menampilkan ukuran statistik dari eksekusi. --version Menampilkan versi assembler. Tabel 3.6 Daftar Opsi Linker Parameter Fungsi --noinhibit-e xec Menghasilkan keluaran walaupun ditemukan kesalahan. -l libname Mencari pustaka dengan nama libname . -L dir Menambah dir ke dalam direktori pencarian pustaka. -o file Mengatur nama executable keluaran. --version Menampilkan informasi versi linker. --stats Menampilkan statistik penggunaan memory. --verbose Menghasilkan informasi lebih selama linking. --support-old -code Mendukung kode lama. Jefri Umar : Analisis Perancangan Perangkat Lunak Ide Integrated Development Environment Fortran G77, 2009.

3.2 Diagram Aliran Data Data Flow Diagram Kamus Data