Minggu, 27 September 2026
21:43 WIB
TERKINI
Bola Lampard Gemilang dengan Coventry: Dari Championship ke Liga Primer, Dipuji Rekan Edukasi Moreno Sidharta: Otodidak Raih Medali Emas Olimpiade Matematika Internasional Bola Mantan Bintang Spanyol Dorong Haaland ke Barcelona: Cocok Gaya Main Flick Lampung Maulid Arbain Lampung Sembilan Tahun: Penguatan Akhlak dan SDM Jadi Prioritas Humaniora Ribuan Warga Hadiri Penutupan Maulid Arbain Lampung 2026: Perkuat Akhlak dan Anti Narkoba Cuaca Ratusan Titik Panas Terdeteksi di Lampung: Way Kanan Paling Banyak Disorot Bandar Lampung BMKG Ungkap Penyebab Kemarau Panjang di Lampung: El Nino Kuat dan Hujan Lokal Bandar Lampung Mantan Gubernur Lampung Disidang Korupsi PI 10 Persen, Begini Respons Uniknya Account Satu Akun, Berbagai Akses: Kemudahan Login Terpadu KG Media ID Bandar Lampung Semangat Anak Sawah: Harumkan Nama Lampung di Kancah Nasional Tanpa Dukungan Pemda Bola Lampard Gemilang dengan Coventry: Dari Championship ke Liga Primer, Dipuji Rekan Edukasi Moreno Sidharta: Otodidak Raih Medali Emas Olimpiade Matematika Internasional Bola Mantan Bintang Spanyol Dorong Haaland ke Barcelona: Cocok Gaya Main Flick Lampung Maulid Arbain Lampung Sembilan Tahun: Penguatan Akhlak dan SDM Jadi Prioritas Humaniora Ribuan Warga Hadiri Penutupan Maulid Arbain Lampung 2026: Perkuat Akhlak dan Anti Narkoba Cuaca Ratusan Titik Panas Terdeteksi di Lampung: Way Kanan Paling Banyak Disorot Bandar Lampung BMKG Ungkap Penyebab Kemarau Panjang di Lampung: El Nino Kuat dan Hujan Lokal Bandar Lampung Mantan Gubernur Lampung Disidang Korupsi PI 10 Persen, Begini Respons Uniknya Account Satu Akun, Berbagai Akses: Kemudahan Login Terpadu KG Media ID Bandar Lampung Semangat Anak Sawah: Harumkan Nama Lampung di Kancah Nasional Tanpa Dukungan Pemda

Elixir (bahasa pemrograman)

Bahasa Pemograman berkerja dalam Mesin Virtual Erlang

Elixir
ParadigmaBahasa pemrograman berparadigma jamak, Fungsional, Konkuren, Terdistribusi, dan Berorientasi proses.
Pertama kali muncul2011;15 tahun lalu (2011)
Tata tertib penjenisanpenulisan yan dinamis, Strong, dan duck-typing.
AnjunganErlang
LisensiApache License 2.0[1]
Ekstensi nama berkas.ex, .exs
Situs webelixir-lang.org
Dipengaruhi oleh
Clojure, Erlang, Ruby
Memengaruhi
LFE

Elixir adalah sebuah bahasa pemrograman fungsional, konkuren dan untuk berbagai keperluan yang berjalan dalam Mesin Virtual bahasa Erlang.[2][3] Elixir dibuat berdasarkan bahasa Erlang dan memiliki abstraksi yang sama dalam membangun aplikasi yang terdistribusi dan toleran atas kesalahan. Elixir juga menyediakan perkakas yang productif dan desain yang mudah dikembangkan. Kemudahan pengembangan tersebut diwujudkan melalui meta-programming saat proses kompilasi dengan makro dan polimorfisme dengan protokol-protokolnya.[4] Proses-proses di Elixir diawasi oleh sebuah Supervisor yang apabila terjadi satu proses yang gagal maka akan dibangkitkan proses baru sehingga tidak mengakibatkan kegagalan yang menggangu seluruh sistem, inilah keunggulan toleran atas kesalahan yang dimiliki oleh Elixir. Proses-proses seperti ini bisa mencapai jutaan proses dalam satu waktu.

telah digunakan bebrapa perusahaan semacam E-MetroTel, Pinterest[5] dan Moz.[6] Elixir juga digunakan entuk mengembangkan situs web, oleh perusahaan seperti Bleacher Report, Discord, dan Inverse,[7] and for building embedded systems.[8][9]

Sejarah

Pembuat bahasa Elixir adalah Jose Valim, Ia memaksudkan bahasa ini untuk dapat memiliki produktivitas dan kemampuan untuk mungkin berkembang yang tinggi pada mesin virtual Erlang dan tetap menjaga kecocokan terhadap ekosistem bahasa Erlang.[10][11]

Fitur-fitur

Contoh-contoh

Sintaksis bahasa Elixir banyak terinspirasi dari bahasa Ruby dan Erlang, sehingga relatif mudah dipahami. Jose Valim sendiri juga diketahui sebagai salah seorang pengguna bahasa Ruby. Berikut adalah contoh-contoh yang dapat dijalankan dalam 'iex shell' maupun disimpan ke dalam sebuah berkas dan dijalankan melalui Terminal dengan mengetikan elixir <filename>.

Contoh klasik program Hello world:

iex> IO.puts("Hello World!")
Hello World!

Komprehensi

iex> forn<-[1,2,3,4,5],rem(n,2)==1,do:n*n
[1, 9, 25]

Pencocokan pola (destructuring)

iex> [1,a]=[1,2]
iex> a
2

iex> {:ok,[hello:a]}={:ok,[hello:"world"]}
iex> a
"world"

Pencocokan Pola (Banyak klausul)

iex> caseFile.read("path/to/file")do
iex> {:ok,contents}->IO.puts("found file: #{contents}")
iex> {:error,reason}->IO.puts("missing file: #{reason}")
iex> end

Operator Pipa

iex> "1"|>String.to_integer()|>Kernel.*(2)
2

Modul-modul

defmoduleFundo
deffib(0),do:0
deffib(1),do:1
deffib(n),do:fib(n-2)+fib(n-1)
end

Mengembangkan ribuan proses secara sequential.

fornum<-1..1000,do:spawnfn->IO.puts("#{num*2}")end

Melakukan tugas secara tidak selaras (async)

task=Task.asyncfn->perform_complex_action()end
other_time_consuming_action()
Task.awaittask

Program-program Elixir yang menonjol

  • Absinthe ialah implementasi GraphQL untuk Elixir
  • Ecto adalah pembungkus basisdata dan query untuk Elixir
  • Mix adalah alat pembangun proyek otomatis untuk proyek-proyek Elixir.
  • Nerves adalah sebuah kerangka kerja dan landasan kerja untuk peranti lunak tertanam.
  • Phoenix adalah kerangka kerja pembangun situs web pada Elixir
  • Plug adalah sebuah spesifikasi dan alat untuk mempermudah dalam membuat modul antara aplikasi-aplikasi web.

Rujukan

  1. ↑ "elixir/LICENSE at master · elixir-lang/elixir · GitHub". GitHub.
  2. ↑ "Elixir: A Mini-Documentary". Diarsipkan dari asli tanggal 2018-07-12. Diakses tanggal 2018-07-12.
  3. ↑ "Most Popular Programming Languages of 2018 - Elite Infoworld Blog" (dalam bahasa American English). 2018-03-30. Diarsipkan dari asli tanggal 2018-05-09. Diakses tanggal 2018-05-08.
  4. ↑ "Elixir". José Valim. Diakses tanggal 2013-02-17.
  5. ↑ "Introducing new open-source tools for the Elixir community". Diakses tanggal 2016-08-01.
  6. ↑ com/devblog/moz-analytics-db-free/ "Unlocking New Features in Moz Pro with a Database-Free Architecture". Diakses tanggal 2016-08-01.{{cite web}}: Periksa nilai |url=[pranala nonaktif permanen]
  7. ↑ "What big projects use Elixir?". Diakses tanggal 2016-08-01.
  8. ↑ "Elixir in production interview: Garth Hitchens". Diakses tanggal 2016-08-01.
  9. ↑ "Nerves - Craft and deploy bulletproof embedded software in Elixir". Diakses tanggal 2016-08-01.
  10. ↑ Elixir - A modern approach to programming for the Erlang VM. Diakses tanggal 2013-02-17.
  11. ↑ José Valim - ElixirConf EU 2017 Keynote. Diakses tanggal 2017-07-14.
  12. 1 2 3 4 5 6 "Elixir". Diakses tanggal 2014-09-07.
  13. ↑ Loder, Wolfgang (12 Mei 2015). Erlang and Elixir for Imperative Programmers. "Chapter 16: Code Structuring Concepts", section title "Actor Model": Leanpub. Diakses tanggal 7 Juli 2015.{{cite book}}: Pemeliharaan CS1: Lokasi (link) Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  14. ↑ "Writing assertive code with Elixir". Diakses tanggal 2018-07-05.

Pranala luar

Konten disalin dari Wikipedia Bahasa Indonesia (lisensi CC BY-SA) Lihat versi asli di Wikipedia

Rekomendasi Pilihan