LAMPIRAN
Petunjuk Penginstalan Erlang Windows Sama seperti menginstal program windows pada umumnya cukup dengan mendouble-click file .exe dan ikuti instruksi selanjutnya.
Gambar 2.1 Halaman utama Windows Installer
L1
Gambar 2.2 Lokasi Instal
L2
Gambar 2.3 Install Erlang Linux Untuk Linux file yang diberikan berekstension .tar.gz maka itu harus diekstrak terlebih dahulu dengan menggunakan perintah : $ tar –zxvf nm_file_erlang.tar.gz Kemudian masuk ke direktori Erlang dan jalankan perintah : $ ./configure $ make $ make install
L3
Mengkompile dan menjalankan Erlang Pada umumnya sistem operasi mempunyai command interpreter atau shell, Unix dan Linux memiliki beberapa, windows mempunyai command prompt dan Erlang mempunyai shell sendiri di mana kita dapat secara langsung menulis kode dan menjalankannya. Untuk memulai erlang pada Unix, Linux, atau Windows cukup dengan mengetikkan command erl pada shell atau command prompt. Lalu akan muncul tampilan sebagai berikut :
Gambar 3.1 Tampilan Erlang di Linux
L4
Gambar 3.2 tampilan Erlang di Windows Untuk windows Erlang dapat dijalankan pada window yaitu dengan mengetikkan command werl pada command prompt sehingga akan muncul shell tersendiri seperti tampilan berikut :
L5
Gambar 3.3 Tampilan window Erlang
Untuk keluar dari shell Erlang cukup dengan mengetikkan command “halt().” pada shell erlang. Program pada Erlang dapat ditulis dalam sebuah file atau beberapa file, dan untuk menjalankan program yang kita buat adalah dengan memberi perintah pada shell Erlang dengan format “nm_module:nm_fungsi.”. Perhatikan penggunaan tanda titik “.” untuk mengakhiri subuah baris perintah. Berikut contoh program perkalian :
L6
Simpan kode berikut dalam file dengan ekstension *.erl. Dalam contoh berikut disimpan dengan nama “perkalian.erl”.
-module(perkalian).
‘nama module harus sama dengan nama file’
-export([kali/1]).
‘agar fungsi dapat dipanggil diluar file’
kali(X) -> 2 * X. Setelah disimpan dalam file yang berekstension *.erl program harus dicompile terlebih dahulu dengan menggunakan perintah “c(nm_file)”. Dalam hal ini nama filenya adalah perkalian.erl. Setelah dicompile akan muncul file baru yang berekstension *.beam sebagai hasil dari kompilasi :
Gambar 3.4 Tampilan compile program
L7
Untuk menjalankannya gunakan perintah “perkalian:kali(10).” :
Gambar 3.5 Tampilan pemanggilan program
L8
Tipe Data Numerik Ada dua tipe numeric, integer dan float. Di samping notasi yang konvensional, ada dua notasi erlang yang spesifik yaitu : •
$char, nilai ASCII dari karakter char.
•
Base#value, Integer dengan dasar base, dimana integer yang dipakai diantara 2..36.
Contoh : 1> 42. 42 >
2> $A. 65 3> $\n. 10 >
4> 2#101. 5 >
5> 16#1f. 31 >
6> 2.3. 2.30000 >
7> 2.3e3. 2300.00 >
8> 2.3e-3. 2.30000e-3 >
Atom
L9
Atom adalah suatu yang harfiah, suatu konstanta dengan nama. Suatu atom harus berada di dalam tanda kutip tunggal (‘) jika tidak dimulai dengan huruf kecil atau dengan karakter lain selain karakter alphanumeric.
Contoh : hello phone number ’Monday’ ’phone number’
Pid Suatu
process
identifier
atau
Pid
mengidentifikasikan
sebuah
proses.
Spawn/1,2,3,4, spawn_link/1,2,3,4 dan spawn_opt/4 digunakan untuk membuat suatu proses, dan menghasilkan nilai sebagai alamat proses. Contoh : 1>spawn(m, f, []). 0.51.0 >
<
>
The BIF self() returns the pid of the calling process. Example: -module(m). -export([loop/0]). loop() -> receive who_are_ you -> io:format("I am ~p~n", [self()]), loop() end. 1>P = spawn(m, loop, []). 0.58.0 >
<
>
2> P ! who are you. I am 0.58.0 who are you >>
<
>
Tuple Menggabungkan beberapa tipe data agar lebih dimengerti. Bentuk umum: {Term1,…,TermN} L10
Setiap Term di dalam tuple disebut elemen. Jumlah dari elemen disebut ukuran dari tuple. Ada tiga BIF untuk memanipulasi tuple, contoh : 1> P = {adam,24,{july,29}}. {adam,24,{july,29}}g 2> element(1,P). adam 3> element(3,P). {july,29} 4>> P2 = setelement(2,P,25). {adam,25,{july,29}g 5> size(P). 3 6> size({}). 0 List Merupakan suatu kumpulan tipe data sebagai contoh kumpulan tuple. Bentuk umum : [Term1,…,TermN] Contoh : 18> [First |TheRest] = [1,2,3,4,5]. [1,2,3,4,5] 19> First. 1 20> TheRest. [2,3,4,5]
L11
String String berada diantara dua tanda kutip{“string”). Contoh : “string”
“42”
Sama dengan “string42” Record Record merupakan struktur data yang menyimpan beberapa elemen yang telah ditetapkan. Tetapi, record bukan tipe data yang murni dan record tidak dapat digunakan apabila tidak ada aksi khusus yang dilakukan. Contoh : -module(person). -export([new/2]). -record(person, {name, age}). new(Name, Age) -> #person{name=Name, age=Age}. 1> person:new(ernie, 44). {person,ernie,44}
Boolean Tidak ada tipe data Boolean di dalam Erlang. Sebagai gantinya mengggunakan atom true dan false. L12
Contoh : 1> 2=<3. True 2> true or false. true Escape Sequence Berikut ini table escape sequence yang dapat digunakan diantara string atau atom yang menggunakan tanda kutip. Sequence \b \d \e \f \n \r \s \t \v \XYZ, \YZ, \Z \^a...\^z \^A...\^Z \' \” \\
Description backspace delete escape form feed newline carriage return space tab vertical tab character with octal representation XYZ, YZ or Z control A to control Z single quote ble quote slash
Tabel 2.1 Tabel Escape Sequence
Ada beberapa konversi tipe dalam Erlang, contoh : 1> atom to list(hello). "hello" 2> list to atom("hello"). hello L13
3> binary to list(<<"hello">>). "hello" 4> binary to list(<<104,101,108,108,111>>). "hello" 5> list to binary("hello"). <<104,101,108,108,111>> 6> float to list(7.0). "7.00000000000000000000e+00" 7> list to float("7.000e+00"). 7.00000 8> integer to list(77). "77" 9> list to integer("77"). 77 10> tuple to list({a,b,c}). [a,b,c] 11> list to tuple([a,b,c]). {a,b,c} 12> term to binary({a,b,c}). <<131,104,3,100,0,1,97,100,0,1,98,100,0,1,99>> 13> binary to term(<<131,104,3,100,0,1,97,100,0,1,98,100,0,1,99>>). {a,b,c}
L14