Code highlighting merupakan suatu proses pada teks editor untuk memunculkan highlight tiap lexeme sesuai dengan jenis besaran leksiknya. Tugas
yang dilakukan pada Code highlighting: 1. Membaca masukan dengan merunut karakter demi karakter.
2. Memisahkan lexeme. 3. Mengenali jenis besaran leksik, karakter whitespace, dan komentar.
4. Mengubah font style dari lexeme sesuai dengan jenisnya.
2.5 Algoritma Kriptografi Klasik: Caesar Cipher
Sebelum komputer ada, kriptografi dilakukan dengan menggunakan pensil dan kertas. Algoritma kriptografi cipher yang digunakan saat itu, dinamakan juga algoritma
kriptografi klasik dan berbasis karakter, yaitu enkripsi dan dekripsi dilakukan pada setiap karakter informasi. Semua algoritma klasik termasuk ke dalam sistem
kriptografi simetri dan digunakan jauh sebelum sistem kriptografi kunci publik ditemukan.
Pada dasarnya, algoritma kriptografi klasik dapat dikelompokkan ke dalam dua macam cipher:
1. Cipher substitusi substitution cipher 2. Cipher transposisi transposition cipher
Di dalam cipher substitusi, setiap unit plainteks disubstitusikan dengan satu unit cipherteks. Satu “unit” bisa berarti satu huruf, pasangan huruf, atau kelompok
lebih dari dua huruf. Algoritma substitusi tertua yang diketahui adalah Caesar cipher yang digunakan oleh kaisar Romawi, Julius Caesar, untuk menyandikan pesan yang ia
kirim kepada para gubernurnya. Pada Caesar cipher, tiap huruf disubstitusi dengan huruf ke-k berikutnya
dari susunan alfabet yang sama. Dalam hal ini, kunci k adalah jumlah pergeseran huruf. Pada Tabel 2.1 diperlihatkan susunan alfabet setelah digeser sejauh 3 huruf
k=3.
Jefri Umar : Analisis Perancangan Perangkat Lunak Ide Integrated Development Environment Fortran G77, 2009.
Tabel 2.1 Tabel Substitusi dengan Pergeseran Sejauh 3 Huruf Plainteks
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Cipherteks
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
Berdasarkan Tabel 2.1, proses enkripsi dan dekripsi dapat dilakukan dengan menggantikan tiap huruf plainteks dengan huruf ciperteks, dan sebaliknya.
Contoh: Plainteks
PROGRAM HELLO
Cipherteks
SURJUDP KHOOR
2.6 Fortran
Fortran merupakan bahasa yang mendominasi pemrograman pada awal bahasa pemrograman tingkat tinggi diperkenalkan. Fortran telah dipergunakan secara kontinu
selama lebih dari setengah abad dalam perhitungan intensif seperti prakiraan cuaca numerik numerical weather prediction, analisis elemen berhingga finite element
analysis, fluida dinamis komputasional computational fluid dynamics, fisika komputasional computational physics, dan kimia komputasional computational
chemistry. Fortran merupakan satu diantara bahasa pemrograman yang terkenal, yang digunakan untuk melakukan komputasi dengan unjuk kerja yang tinggi dan program-
program untuk mengukur dan meranking superkomputer tercepat di dunia ditulis dengan bahasa Fortran.
2.6.1 Sejarah Fortran
Pada akhir tahun 1953, John W. Backus mengajukan proposal kepada atasannya untuk mengembangkan sebuah alternatif yang lebih efisien dibandingkan dengan bahasa
rakitan untuk memrogram mainframe IBM 704. Spesifikasi kasar untuk IBM Mathematical Formula Translating System diselesaikan pada pertengahan tahun 1954.
Manual untuk FORTRAN diterbitkan pada Oktober 1956, dan compiler FORTRAN
Jefri Umar : Analisis Perancangan Perangkat Lunak Ide Integrated Development Environment Fortran G77, 2009.
yang pertama mulai digunakan pada April 1957. Compiler ini merupakan compiler untuk menjanjikan, hal ini dikarenakan pengguna hanya menggunakan bahasa
pemrograman tingkat tinggi jika terdapat compiler yang mampu membangkitkan kode dengan unjuk kerja yang setara dengan kode bahasa rakitan yang ditulis secara manual.
Perkembangan berikutnya, FORTRAN diterima secara luas oleh para ilmuwan untuk menulis program yang intensif numerik. Akibatnya pengembang
compiler semakin tergerak untuk menghasilkan compiler yang dapat menghasilkan kode yang lebih cepat dan efisien. Penambahan tipe data complex ke dalam bahasa,
membuat FORTRAN secara khusus sesuai dengan pemanfaatan teknik. Pada tahun 1960, popularitas FORTRAN semakin meluas. Sehingga,
perusahaan komputer saingan juga berusaha menyediakan compiler FORTRAN untuk mesin mereka. Pada tahun 1963 terdapat lebih dari 40 compiler FORTRAN.
Dikarenakan alasan ini, FORTRAN dianggap sebagai bahasa pemrograman pertama yang digunakan secara luas yang didukung banyak arsitektur komputer.
Perkembangan Fortran sejalan dengan awal evolusi teknologi compiler. Bahkan, banyak diantara perkembangan teori dan rancangan compiler merupakan
akibat dari persaingan untuk menghasilkan kode program Fortran yang efisien. Berikutnya, tiap versi Fortran dievolusikan untuk menambah ekstensi bahasa dengan
tetap mempertahankan kesesuaian dengan versi-versi sebelumnya. Versi suksesif Fortran diantaranya, menambahkan dukungan terhadap pemrosesan data berbasis
karakter FORTRAN 77, pemrograman larik, pemrograman berbasis modul dan objek Fortran 9095, pemrograman berorientasi objek, dan pemrograman generik
Fortran 2003.
2.6.2 Himpunan Karakter pada Fortran
Himpunan karakter pada Fortran terdiri dari terdiri atas 26 karakter huruf besar, 26 karakter huruf kecil karakter alphabet, karakter angka 0 sampai 9, karakter khusus,
Jefri Umar : Analisis Perancangan Perangkat Lunak Ide Integrated Development Environment Fortran G77, 2009.
dan karakter alphabet tambahan. Tabel 2.2 dan Tabel 2.3 menampilkan himpunan karakter Fortran secara lengkap.
Tabel 2.2 Himpunan Karakter Alphabet dan Karakter Angka Huruf
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
Angka
0 1 2 3 4 5 6 7 8 9
Tabel 2.3 Himpunan Karakter Khusus dan Karakter Alphabet Tambahan Nama Karakter
Karakter
Blank Equal
=
Plus
+
Minus
-
Asterisk Slash
Left parenthesis Right parenthesis
Comma
,
Decimal point
.
Currency symbol Apostrophe
‘
Colon
:
Exclamation point Quotation Mark
“
Underscore
_
2.6.3 Tipe Data pada Fortran
Secara umum, terdapat tiga jenis entitas yang memiliki tipe data, yaitu: konstanta, variabel, dan fungsi. Tipe data yang dikenali Fortran, diantaranya:
1.
INTEGER
– bilangan bulat positif dan negatif dan nol. 2.
REAL
– bilangan pecahan positif dan negatif dan nol. 3.
DOUBLE PRECISION
– mirip dengan
REAL
, hanya saja
DOUBLE PRECISION
menggunakan memory dua kali lebih banyak dibandingkan
REAL
, dengan presisi yang lebih baik.
4.
COMPLEX
– pasangan data
REAL
dan komponen imajiner. 5.
DOUBLE CO MPLEX
– pasangan data
DOUBLE PRECISION
dan komponen imajiner.
Jefri Umar : Analisis Perancangan Perangkat Lunak Ide Integrated Development Environment Fortran G77, 2009.
6.
LOGICAL
– data Boolean, merepresentasikan true dan false. 7.
CHARACTER
– untaian karakter. 8.
HOLLERITH
– tipe data historikal untuk definisi karakter.
2.6.4 Nama Simbol pada Fortran
Nama simbol merupakan deretan karakter yang mengacu pada lokasi memory dan mempunyai arti khusus dalam program Fortran. Sebuah nama simbol dapat terdiri atas
karakter alphabet, numerik, dan karakter garis bawah _. Karakter pertama nama simbol harus merupakan karakter alphabet. Nama simbol pada Fortran dapat
mengandung sejumlah karakter, tetapi hanya 32 karakter pertama standar FORTRAN 77 hanya mengizinkan 6 karakter yang menentukan dan membedakan antara nama
simbol yang satu dan yang lainnya. Nama simbol yang digunakan secara eksternal nama program, nama subrutin, nama fungsi, dan nama common block dibatasi
sampai 32 karakter penting. Contoh nama simbol yang benar:
CASH C3PO
R2D2 LONG_NAME
Contoh nama simbol yang salah:
X4
Mengandung karakter khusus
3CASH
Tidak diawali dengan karakter alphabet
2.6.5 Pernyataan pada Fortran
Semua pernyataan statement pada Fortran dimulai dengan sebuah kata kunci keyword, kecuali pernyataan penugasan, pernyataan fungsi, dan pernyataan label.
Kata kunci merupakan sederetan karakter yang mempunyai arti khusus dan digunakan untuk mengidentifikasi tipe pernyataan.
Jefri Umar : Analisis Perancangan Perangkat Lunak Ide Integrated Development Environment Fortran G77, 2009.
Tipe pernyataan pada Fortran: 1. Pernyataan label statement labels
Dengan pernyataan label, dimungkinkan untuk mengacu pada sebuah pernyataan Fortran. Sebuah pernyataan label terdiri atas 1 sampai 5 digit, ditempatkan pada
kolom 1 sampai 5 pada baris inisial. Tiap pernyataan label pada program harus unik.
2. Pernyataan yang dapat dieksekusi executable statements Pernyataan executable menspesifikasikan suatu aksi yang dapat dikenali dan
merupakan bagian dari sekuens eksekusi dalam sebuah program. Pernyataan executable terdiri atas pernyataan penugasan assignment statements, pernyataan
kendali control statements, pernyataan masukankeluaran IO statements. 3. Pernyataan yang tidak dapat dieksekusi non-executable statements
Pernyataan yang non-executable merupakan pernyataan yang bukan merupakan bagian dari sekuens eksekusi. Beberapa fungsi yang dilakukan oleh pernyataan
yang non-executable,
diantaranya mendefinisikan
pernyataan fungsi,
menspesifikasikan entry points dari subprogram, memuat informasi penyuntingan dan pengaturan, menspesifikasikan unit-unit program, menspesifikasikan
penyertaan pernyataan tambahan dari sumber lain, menspesifikasikan karakteristik, pengaturan penyimpanan, dan nilai awal dari data.
2.6.6 Struktur Baris pada Fortran
Pada Fortran dengan format fixed form, tiap baris program sumber mempunyai jenis masing-masing. Jenis baris pada Fortran diantaranya, baris komentar, baris inisial, dan
baris sambungan. Baris komentar adalah baris yang digunakan secara utuh untuk kegunaan
dokumentasi dan baris komentar tidak mempengaruhi eksekusi program. Seperti tampak pada Gambar 2.4, baris komentar mempunyai karakteristik yaitu karakter pada
kolom ke-1 adalah ‘C’ atau ‘’. Tiap baris pada program Fortran dibatasi 72 karakter secara default, artinya karakter pada kolom ke 73 sampai akhir baris akan diabaikan.
Jika panjang baris termasuk karakter dari kolom 1 sampai 6 melebihi 72 karakter,
Jefri Umar : Analisis Perancangan Perangkat Lunak Ide Integrated Development Environment Fortran G77, 2009.
maka dapat diorganisasikan menjadi baris sambungan. Baris sambungan ditandai dengan adanya karakter selain spasi dan ‘0’ pada kolom ke-6. Baris sambungan
menandakan bahwa baris tersebut adalah sambungan dari baris sebelumnya. Sedangkan, baris inisial adalah baris selain baris komentar dan baris sambungan. Tiap
baris inisial pada Fortran dapat mengandung pernyataan label statement label pada kolom 1 sampai 5.
Gambar 2.4 Struktur Baris pada Fortran
2.6.7 Struktur Program pada Fortran
Program Fortran dapat mengandung satu atau lebih unit program. Unit program terdiri atas sekuens pernyataan dan baris komentar yang optional. Unit program
mendefinisikan lingkup scope dari nama simbol dan pernyataan label. Program Fortran dapat berupa:
1. Program utama Program utama merupakan unit program yang pertama kali menerima kendali
eksekusi. Program utama tidak dapat dipanggil dari subprogram atau dari dirinya sendiri.
2. Subprogram Subprogram merupakan bagian independen dari kode yang dirancang untuk
melakukan suatu tugas tertentu. Subprogram menerima kendali eksekusi ketika direferensikandipanggil oleh sebuah pernyataan dari program utama atau
C atau pada kolom 1
menandakan komentar
pernyataan label terletak
pada kolom 1-5
pernyataan terletak pada kolom 7-72 kolom 73 dan
seterusnya diabaikan
Karakter selain 0 dan spasi pada kolom 6 menandakan sambungan dari baris sebelumnya
Jefri Umar : Analisis Perancangan Perangkat Lunak Ide Integrated Development Environment Fortran G77, 2009.
subprogram. Subprogram dapat berupa fungsi function, subrutin subroutine, blok data.
2.7 Interaksi Pengguna dengan Fortran
Gambaran umum interaksi antara pengguna dengan Fortran tanpa adanya suatu lingkungan pengembangan terpadu integrated development environment adalah:
1. Menjalankan aplikasi editor teks, misalnya Notepad. 2. Ide dan atau gagasan pengguna dituangkan menjadi kode sumber melalui aplikasi
editor teks tersebut, seperti diperlihatkan pada Gambar 2.5.
Gambar 2.5 Mengolah Kode Sumber Melalui Notepad
3. Menyimpan kode sumber tersebut ke dalam suatu berkas kode sumber dengan ekstensi berkas kode sumber Fortran .for, .f, .f77. .f90.
4. Menjalankan Command Prompt untuk memanggil wrapper, seperti diperlihatkan pada Gambar 2.6, atau untuk memanggil compiler, assembler, dan linker.
Gambar 2.6 Memanggil Wrapper
Jefri Umar : Analisis Perancangan Perangkat Lunak Ide Integrated Development Environment Fortran G77, 2009.
5. Menjalankan executable hasil kompilasi, seperti diperlihatkan pada Gambar 2.7.
Gambar 2.7 Menjalankan Executable
Jefri Umar : Analisis Perancangan Perangkat Lunak Ide Integrated Development Environment Fortran G77, 2009.
BAB 3 ANALISIS DAN PERANCANGAN PERANGKAT LUNAK
3.1 Analisis Bahasa Fortran
Analisis bahasa Fortran mencakup kata tercadang, konstanta, dan opsi-opsi Fortran yang akan disertakan ke dalam perangkat lunak IDE yang akan dibangun.
3.1.1 Kata Tercadang pada Fortran
Kata tercadang reserved word atau disebut juga dengan kata kunci keyword, merupakan kata yang mempunyai arti khusus dan digunakan secara eksklusif oleh
suatu bahasa. Fortran memiliki 82 kata tercadang, kata tercadang tersebut digunakan secara khusus di dalam Fortran sebagai pernyataan atau bagian pernyataan yang
executable maupun yang non-executable. Pada Tabel 3.1, ditampilkan daftar kata tercadang pada Fortran.
Jefri Umar : Analisis Perancangan Perangkat Lunak Ide Integrated Development Environment Fortran G77, 2009.