Sunday - July 20, 2008

Home | Site Map | Channels | Profile | Press Room | Services | Contact 

currently 7 user(s) online

search 

   Latest News

»

sony-ak.com Luncurkan Kamus Teknologi Informasi (May 27, 2006)

»

sony-ak.com Luncurkan IT Event Calendar (May 20, 2006)

»

Web Chat Berbasis AJAX dari sony-ak.com (May 09, 2006)

»

sony-ak.com Advertising Program (May 01, 2006)

»

Sony AK di Tabloid PCplus (April 18, 2006)

news archives » 


   Random Article

»

Mengenal Bourne Shell (1648)

»

ADSL: Teknologi Jaringan Internet Broadband Berbasis Multimedia (11313)

»

Membuat dan Memanfaatkan DLL (Dynamic Link Library) dengan Borland Delphi (4703)

»

Tips SQL Server: Memeriksa Permission untuk Setiap Tabel, View dan Stored Procedure (1423)

»

Jaringan Komputer Nirkabel dan Tipe-Tipenya (8904)

   Newsletter

Join our newsletter, you will get alert about content updates

powered by Yahoo! Groups















Nedstat Basic - Free web site statistics

 
 
Mengenal Bahasa Pemrograman Erlang

Author: Ariesa Rahardjo
Published: September 24, 2005
Visits: 2776 - Category: Erlang
 
     
 

Erlang merupakan bahasa pemrograman untuk keperluan umum yang sifatnya konkuren. Subset dari Erlang merupakan bahasa yang fungsional, dengan strict evaluation, single assignment dan juga dynamic typing. Bahasa ini didesain oleh perusahaan Ericsson untuk mendukung aplikasi yang terdistribusi, fault-tolerant, soft-real-time dan juga non-stop. Bahasa ini juga mendukung hot swapping, dimana kode bisa dirubah tanpa harus menghentikan jalannya aplikasi atau sistem. Erlang memang awalnya merupakan bahasa proprietary di dalam lingkungan Ericsson, tetapi akhirnya dikeluarkan secara open source pada tahun 1998. Implementasi Erlang oleh Ericsson secara utama sifatnya interpreter, tetapi ia juga dilengkapi dengan kompiler yang bernama HiPE (tetapi tidak didukung oleh setiap platform).

Membuat dan mengatur proses di dalam Erlang merupakan hal yang sangat mudah, dimana terkadang threads sering dianggap sebagai sesuatu yang rumit pada beberapa bahasa pemrograman yang lainnya.

Erlang berasal dari nama A. K. Erlang. Hal ini sering kali menimbulkan salah kaprah dimana orang sering berpikir Erlang adalah singkatan dari Ericsson Language. Wajar saja, karena memang Erlang adalah bahasa yang digunakan secara intensif di kalangan Ericsson.

Functional language
Coba perhatikan kode berikut ini:

module(fact).
-export([fac/1]).

fac(0) -> 1;
fac(N) where N > 0 -> N * fac(N-1).

Berikut ini adalah contoh dalam implementasi algoritma Quicksort.

%% quicksort(List)
%% Sort a list of items
-module(quicksort).
-export([qsort/1]).

qsort([]) -> [];
qsort([Pivot|Rest]) ->
qsort([ X || X <- Rest, X < Pivot]) ++ [Pivot] ++ qsort([ Y || Y <- Rest, Y >= Pivot]).

Contoh di atas secara rekursif akan memanggil fungsi qsort sampai tidak ada lagi elemen yang harus disort. Ekspresi [ X || X <- Rest, X < Pivot] dapat dibaca sebagai "pilih semua X dimana X adalah anggota dari Rest dan X kurang dari Pivot", hal ini akan menghasilkan sesuatu yang mudah dalam menghandle Lists. Karena Anda dapat mengevaluasi ekspresi boolean apapun di antara dua buah tipe data yang berbeda, maka proses evaluasi akan berlangsung secara langsung, misalnya 1 < a akan menghasilkan nilai true.

Concurrency oriented language
Kekuatan utama dari Erlang adalah mendukung konkurensi. Dia memiliki fungsi-fungsi yang kecil tapi sangat berguna dalam membuat proses dan berkomunikasi antar proses-proses tersebut. Model proses ini berdasarkan pada Communicating Sequential Processes dari C.A.R. Hoare.

Berikut ini adalah contoh kodenya:

Pid = spawn(Mod, Func, Args) % execute function Func as new process
Pid ! a_message % send message to the process (asynchronously)
receive % receive message sent to this process
  a_message -> do_something
end.

Konkurensi mendukung fungsi utama yaitu error-handling di dalam Erlang. Jika suatu proses mengalami crash, maka dia akan segera keluar dan akan mengirimkan pesan kepada yang mengontrol proses dan kemudian bisa diambil tindakan selanjutnya. Metode error-handling seperti ini dapat meningkatkan proses pemeliharaan dan juga mengurangi kompleksitas dari kode yang ada.

Distribusi
Erlang dirilis oleh Ericsson secara open source dengan tujuan agar produk tersebut sifatnya independen dari suatu vendor tertentu dan juga untuk lebih mengenalkan Erlang ini kepada khalayak luas. Distribusi dari bahasa ini disertai pula dengan library dan juga distributed database yang real-time yang bernama (Mnesia) dan dikenal sebagai Open Telecom Platform atau OTP. Ericsson dan juga beberapa perusahaan lainnya menawarkan dukungan teknis secara komersial yang berhubungan dengan Erlang.

Sejak dirilis sebagai open source pada tahun 1998, Erlang semakin dikenal dan juga digunakan oleh perusahaan kelas dunia lainnya, misalnya Nortel dan T-Mobile. Namun demikian, Erlang belum menjadi suatu bahasa pemrograman yang dikenal dan populer dibandingkan yang lainnya.

Sejak tahun 2005, Erlang dikembangkan secara intensif dengan dikeluarkannya rilis-rilis baru secara reguler. Erlang juga tersedia untuk beberapa sistem operasi yang "Unix-like" dan juga Microsoft Windows.

Ada beberapa produk yang dibuat berbasis Erlang diantaranya adalah:

  • ejabberd, yaitu instant messaging server yang ditulis dalam bahasa Erlang.
  • Wings 3D, yaitu 3D modeller yang ditulis dalam Erlang
  • Yet another web server, atau disingkat dengan YAWS, yaitu web server yang ditulis juga dengan Erlang.

Referensi

  • Erlang - Wikipedia - http://en.wikipedia.org/

Demikian tulisan sederhana mengenai pengenalan bahasa pemrograman Erlang. Jika ada komentar atau saran bisa dikirimkan melalui ariesa.rahardjo@gmail.com. Untuk membaca tulisan menarik lainnya silakan menuju ke situs Sony AK Knowledge Center dengan alamat di www.sony-ak.com.

Terima kasih.




 Recommended articles
 

»

Penggunaan Kartu PPI 8255 dengan Borland Delphi (9146)

»

Pengantar Google PageRank (1358)

»

Lima Hal yang "Masih" Benar Tentang Bisnis di Internet (2432)

»

Instalasi PHP dan Apache Web Server pada Windows (4925)

»

Tips Visual Basic: Membuat Kontrol TextBox Anda Menjadi Flat Dengan Windows API (3855)

 Send your comments or suggestions
Full Name :
E-mail :
Comments :
 
 

  Privacy | Site Map | Advertise

  Copyright © 2003 - 2006 Sony AK Knowledge Center - all rights reserved

  info@sony-ak.com