Menguasai operator dan expression di PowerShell: aritmatika dengan pembagian dan modulasi, perbandingan berbasis kata seperti -eq, -like, dan -match, logika -and, -or, dan -not, assignment, redirection ke file, serta operator khusus seperti dot-sourcing, call, range, format, -join, dan -split yang akan dipakai di hampir setiap script.

Di episode 3 kalian menguasai cara menyimpan data — variabel dan tipe. Episode 4 ini melengkapi dengan cara mengolah data: operator dan expression. Jika variabel adalah kotak berisi nilai, operator adalah mesin yang membaca nilai-nilai itu dan menghasilkan nilai baru — menjumlahkan, membandingkan, menggabungkan, dan memutuskan.
Satu perbedaan budaya yang wajib diingat sejak sekarang: kebanyakan bahasa memakai simbol (==, !=, &&), sedangkan PowerShell memakai kata-kata (-eq, -ne, -and). Coba jalankan 5 -gt 3 di console kalian — hasilnya $true, dan perhatikan betapa kata-katanya terbaca seperti kalimat. Terasa asing di awal, tapi justru inilah yang membuat script PowerShell terbaca seperti bahasa manusia — dan nanti menjadi bagian dari identitasnya.
| Operator | Fungsi | Contoh | Hasil |
|---|---|---|---|
+ | Penjumlahan | 5 + 3 | 8 |
- | Pengurangan | 5 - 3 | 2 |
* | Perkalian | 5 * 3 | 15 |
/ | Pembagian | 5 / 2 | 2.5 |
% | Modulus (sisa bagi) | 5 % 2 | 1 |
++ | Tambah satu | $i++ | menambah $i |
-- | Kurang satu | $i-- | mengurangi $i |
Perhatikan pembagian: 5 / 2 menghasilkan 2.5 (bukan 2) karena PowerShell membagi sesuai tipe data yang dilibatkan. % (modulus) sangat berguna — misalnya menentukan genap/ganjil atau memproses tiap item ke-N dalam loop:
$total = 10 * 4 + 2
$sisa = 17 % 5
$angka = 3
$angka++
Write-Host "Total: $total, Sisa: $sisa, Angka: $angka"Ini operator yang paling sering dipakai dalam kondisi. Ingat: semua perbandingan string di PowerShell tidak peka huruf besar/kecil secara default.
| Operator | Makna | Operator | Makna |
|---|---|---|---|
-eq | Sama dengan | -ne | Tidak sama dengan |
-gt | Lebih besar dari | -lt | Lebih kecil dari |
-ge | Lebih besar atau sama | -le | Lebih kecil atau sama |
-like | Cocok dengan wildcard | -notlike | Tidak cocok wildcard |
-match | Cocok dengan regex | -notmatch | Tidak cocok regex |
-contains | Koleksi memuat nilai | -notcontains | Koleksi tidak memuat nilai |
-in | Nilai ada di koleksi | -notin | Nilai tidak ada di koleksi |
-like memakai wildcard (*, ?), sedangkan -match memakai regular expression — pola yang lebih kuat. -contains dan -in memeriksa keanggotaan, dengan posisi yang berkebalikan: -contains membaca "koleksi berisi nilai", -in membaca "nilai berada di koleksi". Ingat-ingat pasangan ini, karena di episode 5 ia menjadi bahan bakar if.
"PowerShell" -eq "powershell"
"server01" -like "server*"
"invoice-2026" -match "^invoice-\d"
$daftar = @("A", "B", "C")
$daftar -contains "B"
"D" -in $daftarBandingkan hasilnya: $true untuk yang cocok, $false untuk yang tidak. Nanti di episode 5, hasil perbandingan ini menjadi bahan bakar if.
Operator logika menggabungkan beberapa kondisi menjadi satu keputusan:
| Operator | Makna | Contoh |
|---|---|---|
-and | Keduanya harus benar | A -and B |
-or | Salah satu benar cukup | A -or B |
-not | Membalik kebenaran | -not A |
! | Singkatan -not | !A |
-xor | Tepat satu benar (eksklusif) | A -xor B |
$usia = 25
$punyaSIM = $true
$bisaMenyetir = ($usia -ge 17) -and $punyaSIM
$bukanAnakAnak = -not ($usia -lt 17)
Write-Host "Bisa menyetir: $bisaMenyetir"
Write-Host "Bukan anak-anak: $bukanAnakAnak"Gunakan tanda kurung untuk membuat urutan evaluasi eksplisit — ini menjaga niat script terbaca jelas dan mencegah kejutan.
Operator assignment menyimpan nilai, termasuk gabungan dengan operasi:
| Operator | Makna | Contoh | Setara Dengan |
|---|---|---|---|
= | Menetapkan nilai | $x = 5 | $x = 5 |
+= | Tambah lalu simpan | $x += 2 | $x = $x + 2 |
-= | Kurang lalu simpan | $x -= 2 | $x = $x - 2 |
*= | Kali lalu simpan | $x *= 2 | $x = $x * 2 |
/= | Bagi lalu simpan | $x /= 2 | $x = $x / 2 |
%= | Modulus lalu simpan | $x %= 2 | $x = $x % 2 |
$skor = 0
$skor += 10
$skor += 5
$skor *= 2
Write-Host "Skor akhir: $skor"+= juga dipakai untuk menambah elemen ke array, seperti yang kalian lihat di episode 3.
PowerShell memisahkan tiga aliran output: stdout (hasil normal), stderr (error), dan aliran lainnya seperti warning dan verbose. Redirection mengarahkan aliran ini ke file:
| Operator | Mengarahkan |
|---|---|
> | stdout ke file (menimpa) |
>> | stdout ke file (menambahkan) |
2> | stderr (error) ke file |
*> | semua aliran ke file |
Get-Process > proses.txt
Get-Process pwsh >> proses.txt
Get-Process yang-tidak-ada 2> error.txtContoh di atas menulis hasil ke file sekaligus mengumpulkan error secara terpisah — pola yang berguna untuk logging di script produksi.
Selain kelompok di atas, PowerShell punya operator istimewa yang sering menjadi penentu keanggunan script:
| Operator | Fungsi |
|---|---|
. | Dot-sourcing: menjalankan script di scope saat ini |
& | Call: menjalankan perintah atau script |
:: | Mengakses member statis .NET |
, | Membuat array |
.. | Rentang angka |
-f | Format string |
-join | Menggabung array menjadi string |
-split | Memecah string menjadi array |
$rentang = 1..5
$daftar = ,"satu"
$kata = "api-key-2026"
$bagian = $kata -split "-"
$gabung = $bagian -join "/"
[math]::Pow(2, 10)1..5 menghasilkan array 1 2 3 4 5 — dasar dari loop nanti.-split memecah string menjadi array; -join melakukan kebalikannya.:: memanggil method statis — [math]::Pow(2, 10) menghitung 2 pangkat 10.& akan dibahas mendalam di episode fungsi dan script execution.Tip
Operator -split dan -join adalah pasangan yang saling membalik: "a-b-c" -split "-" menghasilkan a b c, dan @("a","b","c") -join "/" mengembalikannya menjadi a/b/c. Kuasai keduanya, dan pengolahan teks di script kalian akan terasa jauh lebih bersih.
Episode 4 ini melengkapi "mesin" pengolahan data: aritmatika dengan pembagian dan modulus, perbandingan berbasis kata dari -eq hingga -in, logika -and, -or, dan -not, assignment gabungan, redirection output untuk logging, serta operator khusus yang memberi kekuatan ekstra — range, split-join, format, hingga member statis.
Inti yang harus kalian bawa:
-eq, -and) bukan simbol (==, &&) — baca seperti bahasa manusia.-like untuk wildcard, -match untuk regex, -contains/-in untuk keanggotaan.-and/-or dan gunakan tanda kurung agar jelas.> dan 2> memisahkan hasil normal dari error — fondasi logging.1..5, -split, -join, dan :: adalah alat kecil dengan dampak besar.Di episode 5 selanjutnya kita memakai semua operator ini untuk hal yang paling praktis: conditional logic — if, else, dan switch — bagaimana script mengambil keputusan berdasarkan keadaan sistem, dan fitur modern ternary serta null-coalescing di PowerShell 7. Sampai jumpa di episode 5!