Elixir
Pengenalan Elixir
Pengertian Elixir, bahasa functional yang berjalan di Erlang VM (BEAM), dirancang untuk sistem concurrent & fault-tolerant.
Variabel & Pattern Matching Dasar
Tanda = di Elixir bukan assignment biasa, melainkan match operator — dasar dari pattern matching.
Tipe Data Dasar di Elixir
Tipe data dasar Elixir: atom, integer, float, string, dan boolean (yang sebenarnya adalah atom :true/:false).
Tuple di Elixir
Tuple untuk mengelompokkan sejumlah tetap nilai, sering dipakai bersama atom :ok/:error untuk hasil operasi.
List di Elixir
List sebagai struktur data urutan di Elixir, dibangun dari head dan tail, operator penggabungan ++.
Map di Elixir
Map sebagai struktur data key-value di Elixir, dibuat dengan %{}, diakses lewat [] atau dot notation untuk key atom.
String & Interpolation di Elixir
Manipulasi string di Elixir dan string interpolation dengan sintaks #{ekspresi}.
Operator & Pipe Operator (|>)
Operator dasar Elixir, dan pipe operator |> yang meneruskan hasil satu ekspresi jadi argumen pertama ekspresi berikutnya.
Percabangan: case, cond, if
case untuk pattern matching, cond untuk banyak kondisi boolean, dan if untuk kondisi sederhana.
Module & Fungsi di Elixir
Mengelompokkan fungsi dalam module dengan defmodule, mendefinisikan fungsi publik (def) dan privat (defp).
Pattern Matching di Function Head
Mendefinisikan fungsi dengan beberapa clause berbeda berdasarkan bentuk parameter, dicocokkan Elixir secara berurutan.
Guard Clauses di Elixir
Kondisi tambahan (when) pada function head atau case untuk mempersempit pattern matching lebih jauh.
Fungsi Anonim & Capture Operator (&)
Membuat fungsi tanpa nama dengan fn...end, dan bentuk pendeknya memakai capture operator &.
Enum Module: map, filter, reduce
Modul Enum sebagai kumpulan fungsi standar untuk mengolah collection (list, map, range) di Elixir.
Rekursi di Elixir
Rekursi sebagai pengganti loop di Elixir (karena immutability), dengan base case dan recursive case.
Struct di Elixir
Struct sebagai map dengan struktur & default value tetap, dibuat lewat defstruct di dalam module.
Process Dasar: spawn, send, receive
Concurrency ringan di Elixir lewat process BEAM: membuat proses dengan spawn, mengirim pesan dengan send, menerima dengan receive.
Tugas Akhir
Latihan akhir menggabungkan struct, pattern matching, Enum, dan pipe operator dalam satu program Elixir.